PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verwalten eines weiteren PostgreSQL-Commitfests

Ich habe bereits über die Verwaltung eines PostgreSQL-Commitfests geschrieben.

Während des Entwicklungszyklus von PostgreSQL 13 habe ich es erneut getan. Dieses Mal habe ich eine andere Strategie angewandt, vor allem weil ich das Gefühl hatte, dass es eine übermäßige Anhäufung sehr alter Patches gab, die unzureichende Aufmerksamkeit erhalten hatten. Abgesehen von Bugfixes (die immer Sonderfälle sind), konzentrierte ich mich also auf Patches, die schon länger in der Warteschlange saßen.

Eine Sache, die mir aufgefallen ist, ist, dass einige Patches nicht per Feedback oder per Bit-Rotting aktualisiert wurden, selbst nach wiederholtem Anstoßen von früheren Commitfest-Managern. Sie werden ohne weitere Aktivität von einem Commitfest zum anderen verschoben. Einige davon stammen von Leuten, die die PostgreSQL-Entwicklung hinter sich gelassen haben; andere könnten aufgegebene Projekte sein. Meiner Meinung nach macht es keinen Sinn, sie zu behalten, wenn nichts passiert, also habe ich sie geschlossen und eine Liste bereitgestellt, damit andere einen Blick darauf werfen und Besitz ergreifen können, wenn sie dies wünschen. (Ein Folgebeitrag enthält einige mehr). Ich hoffe, dass jemand, der an diesen Funktionen interessiert ist, die Patches abholt und erneut einreicht, nachdem er auf Feedback und Bit-Rot eingegangen ist.

Eine andere Sache, die immer häufiger vorkommt, ist, dass viele Patches mit wenig Überprüfung verweilen – oder manchmal sogar mit umfangreicher Überprüfung, sie kommen nie an den Punkt, an dem ein Committer sie aufgreift. In einigen dieser Fälle bestand mein Ansatz darin, bestimmte Personen anzustacheln, von denen ich dachte, dass sie bei der Überprüfung helfen könnten; in anderen Fällen habe ich die Patches einfach selbst überprüft. Manchmal scheint es ausgereicht zu haben, einfach eine Frage zu stellen, um andere in die Diskussion einzubeziehen, sodass selbst ein kleiner direkter Beitrag eine nützliche größere Wirkung hat.

Ich habe mich auch selbst als Reviewer/Committer für einige Patches angemeldet. Ich war dabei mäßig erfolgreich und endete mit 24 Commits und 10 Commitfest-Einträgen, die als Committed markiert wurden … oder ungefähr 25% der Gesamtzahl der Commitfest-Einträge Commited. Nicht schlecht, oder?

In meiner Abschlussbericht-E-Mail habe ich diese Tabelle gepostet:

Status Woche1 Woche2 Woche3 Woche4 endgültig
Überprüfung erforderlich 165 138 116 118 0
Warten auf Autor 30 44 51 44 0
Bereit für Committer 11 5 8 11 0
Rückgabe mit Feedback 1 4 5 5 28
Zur nächsten CF verschoben 2 4 4 4 191
Verpflichtet 14 23 32 34 42
Abgelehnt 1 1 1 1 1
Zurückgezogen 4 9 11 11 12

Bemerkenswert ist, dass „returned with feedback“ die ganze Zeit über ziemlich niedrig blieb und erst ganz am Ende und um eine größere Zahl nach oben sprang. Eine Übung, die ich zukünftigen CFMs vorschlage, besteht darin, inaktive Bit-Rot-Patches am Ende ihres Mandats gesund zu schließen, anstatt solche Patches auf das nächste Commitfest zu verschieben. Letzterer Vorgang sollte Patches vorbehalten bleiben, die während der CF aktiv waren, noch gelten oder erst kürzlich auf die Autoren gewartet haben. Die andere bemerkenswerte Sache ist die Anzahl der übernommenen Patches … oder besser gesagt, wie langsam sie gestiegen ist. Einige Committer wurden durch abgelenkt Unterstützung bei der Veröffentlichung von Postgres 12; andere waren sehr aktiv in Patches, die nicht waren Teil des Commitfestes. Ich gehe davon aus, dass einige Committer das nächste Mal mehr Aufmerksamkeit schenken werden, und dann werden wir einige tatsächliche Fortschritte sehen.

Der Commitfest-Bot von Thomas Munro ist ein unschätzbares Werkzeug; Patch-Autoren sollten dem mehr Aufmerksamkeit schenken. Es wäre viel besser, diesen Dienst in unsere Community-Commitfest-Infrastruktur zu integrieren; Ich denke, das erfordert nur ein paar runde Tuits.

Einige Dinge, die ich gerne gehabt hätte:

  • ein aktualisierter pg_dump der Commitfest-Daten für lokale Abfragen.
  • Ich habe wöchentlich Dumps erhalten, indem ich die richtige Person gefragt habe, und einige grobe Abfragen geschrieben. Wir könnten die Ergebnisse (verbesserter Versionen) solcher Abfragen vielleicht als Berichte in den Apps bereitstellen.
  • Einige verbesserte Filterung in der Commitfest-App wäre auch willkommen.
  • Der Akt des Verschiebens von Patches en masse zum nächsten CF könnte besser automatisiert werden.

Alles in allem war dies ein sehr zufriedenstellender Monat und ich hoffe, er war wertvoll für die PostgreSQL-Entwicklung. Ich bin dankbar, dass 2ndQuadrant mir die Gelegenheit gegeben hat, diesen Monat damit zu verbringen … aber trotzdem freue ich mich darauf, zu meinen regulären Aufgaben zurückzukehren.