new commitfest transition guidance

Started by Peter Eisentrautabout 1 year ago50 messages
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

During the developer meeting at FOSDEM last Thursday, there was strong
consensus that we should no longer move patches to the next commitfest
in a semi-automatic, mechanical way, has commitfest managers have
traditionally done. Patches should only be moved forward by someone
involved in the patch who knows that the patch is actually being worked
on. That way, there is a higher likelihood that the patches arriving in
the next commitfest actually have someone currently invested in them.

My interpretation of this is that patches should be moved forward by
either an author, possibly a reviewer, possibly a committer signed up
for the patch, or maybe even a colleague of an author who knows that the
author is on vacation and will get back to it in a couple of weeks, or
some similar situation.

CF 2025-01 has just ended, so I suggest that everyone try this now. We
can check in perhaps two weeks whether this results in lots of stuff
falling through the cracks or still too much stuff with unclear status
being moved forward, and then see what that might mean going forward.

#2Aleksander Alekseev
aleksander@timescale.com
In reply to: Peter Eisentraut (#1)
Re: new commitfest transition guidance

Hi Peter,

CF 2025-01 has just ended, so I suggest that everyone try this now. We
can check in perhaps two weeks whether this results in lots of stuff
falling through the cracks or still too much stuff with unclear status
being moved forward, and then see what that might mean going forward.

This doesn't work unfortunately.

When I try to move my patches from CF 2025-01 to CF 2025-03 I get an error:

"""
The status of this patch cannot be changed in this commitfest. You
must modify it in the one where it's open!
"""

--
Best regards,
Aleksander Alekseev

#3Aleksander Alekseev
aleksander@timescale.com
In reply to: Aleksander Alekseev (#2)
Re: new commitfest transition guidance

Hi,

This doesn't work unfortunately.

When I try to move my patches from CF 2025-01 to CF 2025-03 I get an error:

"""
The status of this patch cannot be changed in this commitfest. You
must modify it in the one where it's open!
"""

Ooops, never mind. The application asked me to log in and I didn't
notice that when I did it also moved the patch to the next CF. This
was the actual reason why I got an error.

Sorry for the noise.

--
Best regards,
Aleksander Alekseev

#4Jelte Fennema-Nio
postgres@jeltef.nl
In reply to: Aleksander Alekseev (#3)
Re: new commitfest transition guidance

On Mon, 3 Feb 2025 at 13:56, Aleksander Alekseev
<aleksander@timescale.com> wrote:

"""
The status of this patch cannot be changed in this commitfest. You
must modify it in the one where it's open!
"""

Ooops, never mind.

I also thought that error was pretty silly. So it will be changed in
the next release[1]/messages/by-id/CAGECzQTbHhaZMY-=Y=OGMU_jik4MqCfsc7rDf6AnT=Aq-B6cZA@mail.gmail.com of the commitfest app by this commit[2]https://github.com/postgres/pgcommitfest/commit/013eeb1befa3cf3f38b7ccb7977881f2c7c0f38d.

[1]: /messages/by-id/CAGECzQTbHhaZMY-=Y=OGMU_jik4MqCfsc7rDf6AnT=Aq-B6cZA@mail.gmail.com
[2]: https://github.com/postgres/pgcommitfest/commit/013eeb1befa3cf3f38b7ccb7977881f2c7c0f38d

#5Michail Nikolaev
michail.nikolaev@gmail.com
In reply to: Jelte Fennema-Nio (#4)
Re: new commitfest transition guidance

Hello!

I think it is a good idea to sent notification (at least once) to the
authors of entries. Because it is easy to miss that thread.

Best regards,
Mikhail.

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#1)
Re: new commitfest transition guidance

Peter Eisentraut <peter@eisentraut.org> writes:

During the developer meeting at FOSDEM last Thursday,

BTW, are there minutes available from that meeting? In past years
some notes have been posted on the wiki, but I'm failing to find
anything right now.

regards, tom lane

#7Daniel Gustafsson
daniel@yesql.se
In reply to: Tom Lane (#6)
Re: new commitfest transition guidance

On 4 Feb 2025, at 06:50, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Peter Eisentraut <peter@eisentraut.org> writes:

During the developer meeting at FOSDEM last Thursday,

BTW, are there minutes available from that meeting? In past years
some notes have been posted on the wiki, but I'm failing to find
anything right now.

They will be on the wiki shortly, I've taken notes of all discussions and am
busy tidying them up to be able to publish them once the participants have
proofread to ensure noone is misattributed.

--
Daniel Gustafsson

#8Jeff Davis
pgsql@j-davis.com
In reply to: Peter Eisentraut (#1)
Re: new commitfest transition guidance

On Mon, 2025-02-03 at 12:22 +0100, Peter Eisentraut wrote:

My interpretation of this is that patches should be moved forward by
either an author, possibly a reviewer, possibly a committer signed up
for the patch, or maybe even a colleague of an author who knows that
the
author is on vacation and will get back to it in a couple of weeks,
or
some similar situation.

I also suggested: when someone does move a patch forward, that they
summarize the current state if that's not obvious from recent messages
on the thread.

There was some concern that it would clutter up -hackers with unhelpful
status messages. I still like the idea: if someone is writing an
unhelpful status message (e.g. no clear next steps or blockers), that's
a sign that they aren't close enough to the patch and someone else
needs to carry it forward. Also, we don't need to decorate the message
with "This is an official end-of-fest patch status message" -- the
message should flow with the rest of the conversation.

Regards,
Jeff Davis

#9Tomas Vondra
tomas.vondra@2ndquadrant.com
In reply to: Jeff Davis (#8)
Re: new commitfest transition guidance

On 2/4/25 21:11, Jeff Davis wrote:

On Mon, 2025-02-03 at 12:22 +0100, Peter Eisentraut wrote:

My interpretation of this is that patches should be moved forward by
either an author, possibly a reviewer, possibly a committer signed up
for the patch, or maybe even a colleague of an author who knows that
the
author is on vacation and will get back to it in a couple of weeks,
or
some similar situation.

I also suggested: when someone does move a patch forward, that they
summarize the current state if that's not obvious from recent messages
on the thread.

There was some concern that it would clutter up -hackers with unhelpful
status messages. I still like the idea: if someone is writing an
unhelpful status message (e.g. no clear next steps or blockers), that's
a sign that they aren't close enough to the patch and someone else
needs to carry it forward. Also, we don't need to decorate the message
with "This is an official end-of-fest patch status message" -- the
message should flow with the rest of the conversation.

I didn't have an opinion on this during the developer meeting, but after
thinking about it I think having an up to date status for the patch is a
reasonable requirement.

It wouldn't need to be very long / detailed, it could even point to an
earlier message in the thread, if it's still accurate.

How did you propose to submit/track the status? Would it be sent to the
mailing list, or would it be entered into the CF app while adding the
patch to the next commitfest? (The latter wouldn't have the problem of
cluttering the mailing list, but the information would be "split".)

regards

--
Tomas Vondra

#10Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tomas Vondra (#9)
Re: new commitfest transition guidance

Tomas Vondra <tomas@vondra.me> writes:

I didn't have an opinion on this during the developer meeting, but after
thinking about it I think having an up to date status for the patch is a
reasonable requirement.

It wouldn't need to be very long / detailed, it could even point to an
earlier message in the thread, if it's still accurate.

How did you propose to submit/track the status? Would it be sent to the
mailing list, or would it be entered into the CF app while adding the
patch to the next commitfest? (The latter wouldn't have the problem of
cluttering the mailing list, but the information would be "split".)

I am very strong -1 on the idea of requiring a status email before a
entry can be pushed to the next CF. The whole activity is make-work
already from the patch submitter's viewpoint, and you're proposing
to at least double the cost of doing it (probably a lot more than
double it, considering the effort of writing an email vs. the effort
of clicking a button). And totally aside from the submitter's effort,
this will result in clogging pgsql-hackers yet more with emails that
in most cases won't carry any very useful info.

I could see asking people to type a sentence or so into the CF app
itself when they are making the change, but I wouldn't put a lot of
faith in getting valuable information that way either.

As of right now, I see that 79 CF entries have been manually pushed to
2025-03 (but it's hard to tell how many of those were moved before
2025-01 closed). 180 live entries are still in 2025-01, including
20 RfC ones. I think this experiment is already proving to be a
failure, and if you increase the cost of compliance substantially,
people just won't do it at all.

(Of course, if the idea is to drastically prune the set of active
patches, maybe losing two-thirds of them isn't a "failure". But
we're going to lose track of some good stuff this way.)

regards, tom lane

#11Jeff Davis
pgsql@j-davis.com
In reply to: Tomas Vondra (#9)
Re: new commitfest transition guidance

On Wed, 2025-02-05 at 01:38 +0100, Tomas Vondra wrote:

How did you propose to submit/track the status? Would it be sent to
the
mailing list, or would it be entered into the CF app while adding the
patch to the next commitfest? (The latter wouldn't have the problem
of
cluttering the mailing list, but the information would be "split".)

The former: sent to -hackers as a normal message in the thread. I don't
think we should make it overly formal. It should flow with the rest of
the conversation as a periodic patch summary, which many authors
already do when threads start to get too long.

And if it would add zero information, no need to send it.

Regards,
Jeff Davis

#12Jeff Davis
pgsql@j-davis.com
In reply to: Tom Lane (#10)
Re: new commitfest transition guidance

On Tue, 2025-02-04 at 20:10 -0500, Tom Lane wrote:

I am very strong -1 on the idea of requiring a status email before a
entry can be pushed to the next CF.

OK, I retract the idea.

Regards,
Jeff Davis

In reply to: Tom Lane (#10)
Re: new commitfest transition guidance

On Tue, Feb 4, 2025 at 8:10 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:

As of right now, I see that 79 CF entries have been manually pushed to
2025-03 (but it's hard to tell how many of those were moved before
2025-01 closed). 180 live entries are still in 2025-01, including
20 RfC ones. I think this experiment is already proving to be a
failure, and if you increase the cost of compliance substantially,
people just won't do it at all.

Evidently this new policy is why my skip scan patch series wasn't
being tested by CI.

I just don't think that this new policy makes sense. At least not as
implemented. Do we all now need to set ourselves reminders to re-enter
patches to each CF, lest we be accused of abandoning patches due to a
lack of interest?

--
Peter Geoghegan

#14Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Geoghegan (#13)
Re: new commitfest transition guidance

Peter Geoghegan <pg@bowt.ie> writes:

Evidently this new policy is why my skip scan patch series wasn't
being tested by CI.

Well no, the reason CI wasn't testing anything was the cfbot was
broken. See nearby "CFBot is broken" thread.

I just don't think that this new policy makes sense. At least not as
implemented.

I'm a little dubious about it too, but let's not conflate this
question with plain ol' infrastructure bugs.

regards, tom lane

#15Jelte Fennema-Nio
postgres@jeltef.nl
In reply to: Tom Lane (#14)
Re: new commitfest transition guidance

On Thu, 6 Feb 2025 at 01:29, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Peter Geoghegan <pg@bowt.ie> writes:

Evidently this new policy is why my skip scan patch series wasn't
being tested by CI.

Well no, the reason CI wasn't testing anything was the cfbot was
broken. See nearby "CFBot is broken" thread.

That's not entirely true. CFBot never runs on patches that are only in
closed commitfests. So even if it had been working fine, it would have
not picked up Peter G's skip scan patch until after he moved the patch
to the new commitfest.

I definitely agree with Peter G that that's a problem i.e. having
CFBot not run on patches for ~X days until the author notices they
were not moved and moves them. Ofcourse the CFBot could be changed to
behave differently, but then the question becomes how should it behave
then? When do we want to stop running CFBot on patches?

Related: What do we do in general with patches that have been moved?
And when do we do that?

#16Jeff Davis
pgsql@j-davis.com
In reply to: Peter Geoghegan (#13)
Re: new commitfest transition guidance

On Wed, 2025-02-05 at 19:14 -0500, Peter Geoghegan wrote:

I just don't think that this new policy makes sense. At least not as
implemented.

Perhaps the answer is to go in the other direction, and the CF app
would just be a patch tracker without specific start and stop dates
(aside from a few deadlines like the feature submission deadline or the
feature freeze deadline)? We very briefly discussed that at the
meeting, as well.

It seems weird to have "new" commitfests but just bring over all of the
patches.

Regards,
Jeff Davis

#17Jacob Brazeal
jacob.brazeal@gmail.com
In reply to: Jelte Fennema-Nio (#15)
Re: new commitfest transition guidance

That's not entirely true. CFBot never runs on patches that are only in
closed commitfests.

Ofcourse the CFBot could be changed to
behave differently, but then the question becomes how should it behave
then? When do we want to stop running CFBot on patches?

Related: What do we do in general with patches that have been moved?
And when do we do that?

It seems clear that if new patches are pushed to a message thread that was
registered with commitfest at some point, we'd like CFBot to run on them.

What if we automatically move any patches to the current commitfest if new
patch attachments are sent to the corresponding message thread? Heck,
perhaps if there are any new messages *at all* in the message thread, and
the commitfest entry has not been closed already, we should move it to the
current commitfest. We could even have commitfest respond to the message
thread to inform when automated actions of this nature have been taken.

#18Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jacob Brazeal (#17)
Re: new commitfest transition guidance

Jacob Brazeal <jacob.brazeal@gmail.com> writes:

What if we automatically move any patches to the current commitfest if new
patch attachments are sent to the corresponding message thread? Heck,
perhaps if there are any new messages *at all* in the message thread, and
the commitfest entry has not been closed already, we should move it to the
current commitfest.

+1 ... this would go a long way towards reducing the manual effort
needed to maintain these things.

We could even have commitfest respond to the message
thread to inform when automated actions of this nature have been taken.

Dunno that we need automated mail about it though.

(I don't care for the other idea of not having dated CFs at all.
That would mean that an entry never disappears unless manual action
is taken to remove it. Making untouched threads silently age out
seems like the better path forward.)

regards, tom lane

#19Aleksander Alekseev
aleksander@timescale.com
In reply to: Tom Lane (#18)
Re: new commitfest transition guidance

Hi,

What if we automatically move any patches to the current commitfest if new
patch attachments are sent to the corresponding message thread? Heck,
perhaps if there are any new messages *at all* in the message thread, and
the commitfest entry has not been closed already, we should move it to the
current commitfest.

+1 ... this would go a long way towards reducing the manual effort
needed to maintain these things.

We could even have commitfest respond to the message
thread to inform when automated actions of this nature have been taken.

Dunno that we need automated mail about it though.

(I don't care for the other idea of not having dated CFs at all.
That would mean that an entry never disappears unless manual action
is taken to remove it. Making untouched threads silently age out
seems like the better path forward.)

Perhaps we should consider the other way around. All the patches are
moved to the next CF automatically, as we did before. Except for the
cases when there were no updates for a certain amount of time (e.g. a
few months). In this case the application sends an email to the
corresponding thread notifying that the CF entry was closed due to
inactivity, but if this was done by mistake feel free moving it by
hand to the upcoming CF.

I believe this would be more productive / convenient. In certain cases
it may take a couple of months to get attention from the reviewers and
the patch doesn't necessarily need a rebase during this time period.
This is a normal situation. However if there was no activity in the
thread for several months this indeed is a good indicator that
something is off.

Even if the application closes an entry by mistake few of the authors
have dozens of simultaneously open entries, so reopening an entry or
two several times a year doesn't take too much effort. In all other
respects the proposed approach is not worse than what we did until
now.

--
Best regards,
Aleksander Alekseev

#20Jelte Fennema-Nio
postgres@jeltef.nl
In reply to: Aleksander Alekseev (#19)
Re: new commitfest transition guidance

Since the next commitfest is starting soon, I think for now we should
move all entries still open in the January commitfest to the March
commitfest. There's a bunch that are still not moved, that I know
should be moved. For example[1]https://commitfest.postgresql.org/patch/5117/ which we discussed at FOSDEM and seems
to have a reasonable chance of even being committed. I've moved that
specific one already, but there's a bunch more. Unless someone feels
like actually going over the list, I think we should just move it.
Then we can try a new flow for the new development cycle.

On Fri, 7 Feb 2025 at 11:48, Aleksander Alekseev
<aleksander@timescale.com> wrote:

Perhaps we should consider the other way around. All the patches are
moved to the next CF automatically, as we did before. Except for the
cases when there were no updates for a certain amount of time (e.g. a
few months). In this case the application sends an email to the
corresponding thread notifying that the CF entry was closed due to
inactivity, but if this was done by mistake feel free moving it by
hand to the upcoming CF.

I think this sounds much more reasonable than what's happening now.
But I think we need to make the flow a bit more clear:
1. Add a "no interest" reason for closing.
2. Add a label[2]https://github.com/postgres/pgcommitfest/issues/11/column that specifies that an entry will be closed
as "no interest" automatically at the end of this CF, e.g. a "pending
no interest" label.
3. If at the end of a commitfest a patch has had 3 or more months
without any emails, it automatically gets that "pending no interest"
label.
4. Anyone subscribed to emails for this patch will get notified about
that change.
5. If a patch is Ready for Committer and has a committer assigned,
never add this label.
6. At the end of the commitfest, move all patches without that label.
And close all patches with such a label.

[1]: https://commitfest.postgresql.org/patch/5117/
[2]: https://github.com/postgres/pgcommitfest/issues/11

#21Aleksander Alekseev
aleksander@timescale.com
In reply to: Jelte Fennema-Nio (#20)
#22Daniel Gustafsson
daniel@yesql.se
In reply to: Jelte Fennema-Nio (#20)
#23Robert Haas
robertmhaas@gmail.com
In reply to: Daniel Gustafsson (#22)
#24Aleksander Alekseev
aleksander@timescale.com
In reply to: Robert Haas (#23)
#25Tom Lane
tgl@sss.pgh.pa.us
In reply to: Aleksander Alekseev (#24)
#26Aleksander Alekseev
aleksander@timescale.com
In reply to: Tom Lane (#25)
#27Jelte Fennema-Nio
postgres@jeltef.nl
In reply to: Daniel Gustafsson (#22)
#28Daniel Gustafsson
daniel@yesql.se
In reply to: Aleksander Alekseev (#26)
#29David G. Johnston
david.g.johnston@gmail.com
In reply to: Jelte Fennema-Nio (#27)
#30Robert Haas
robertmhaas@gmail.com
In reply to: Jelte Fennema-Nio (#27)
#31Maciek Sakrejda
maciek@pganalyze.com
In reply to: Robert Haas (#30)
#32Jelte Fennema-Nio
postgres@jeltef.nl
In reply to: Robert Haas (#30)
#33Jelte Fennema-Nio
postgres@jeltef.nl
In reply to: Daniel Gustafsson (#28)
#34Andrew Dunstan
andrew@dunslane.net
In reply to: Jelte Fennema-Nio (#32)
#35Daniel Gustafsson
daniel@yesql.se
In reply to: Jelte Fennema-Nio (#33)
#36Magnus Hagander
magnus@hagander.net
In reply to: Jelte Fennema-Nio (#33)
#37Daniel Gustafsson
daniel@yesql.se
In reply to: Magnus Hagander (#36)
#38Michael Paquier
michael@paquier.xyz
In reply to: Peter Eisentraut (#1)
#39Andrew Dunstan
andrew@dunslane.net
In reply to: Michael Paquier (#38)
#40Robert Haas
robertmhaas@gmail.com
In reply to: Michael Paquier (#38)
#41Tom Lane
tgl@sss.pgh.pa.us
In reply to: Robert Haas (#40)
#42Robert Haas
robertmhaas@gmail.com
In reply to: Tom Lane (#41)
#43jian he
jian.universality@gmail.com
In reply to: Daniel Gustafsson (#7)
#44Daniel Gustafsson
daniel@yesql.se
In reply to: jian he (#43)
#45Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Daniel Gustafsson (#44)
#46Daniel Gustafsson
daniel@yesql.se
In reply to: Alvaro Herrera (#45)
#47jian he
jian.universality@gmail.com
In reply to: Daniel Gustafsson (#46)
In reply to: Peter Geoghegan (#13)
#49Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Geoghegan (#48)
In reply to: Tom Lane (#49)