Thread: Re: Tags in the commitfest app: How to use them and what tags to add?

Re: Tags in the commitfest app: How to use them and what tags to add?

From
Jacob Champion
Date:
On Mon, Jun 23, 2025 at 1:17 AM Jelte Fennema-Nio <me@jeltef.nl> wrote:
> The tags that are currently available are some default ones that I
> thought might be useful. If you're missing certain tags or don't like
> the default ones, please respond to this thread. If you have the right
> permissions, you can even create missing tags yourself in the admin
> panel.^1 But if you do, I think it would be useful to post here which
> ones you added for discussion purposes.

Initial thoughts:
- "dblink" seems overly specific compared to the others.
- "Backport" seems strange. That's what the Version column is for, no?
- "Comments Only" feels somehow... standoffish? defensive? How about
"Comments [Requested/Needed]" or something similar?

> ^1: I don't know who can do this, as I myself currently don't have
> that permission, nor the permission to look at permissions...

Hmm, should we grant the CFM group the ability to maintain the tags? I
don't currently have that permission either. (Who added the existing
ones?)

--Jacob



Re: Tags in the commitfest app: How to use them and what tags to add?

From
Jacob Champion
Date:
On Mon, Jun 23, 2025 at 11:52 AM Jelte Fennema-Nio <me@jeltef.nl> wrote:
> On Mon, 23 Jun 2025 at 18:29, Jacob Champion
> <jacob.champion@enterprisedb.com> wrote:
> > - "dblink" seems overly specific compared to the others.
>
> It seemed roughly as specific as postgres_fdw to me. Maybe we should
> make sure they are grouped more alphabetically.

Oh, I actually missed that postgres_fdw was in the list. Originally
the tags dropdown menu showed no scrollbar for me, so all I could see
or search were the first six or so... I'm not sure what happened, but
that changed sometime today.

So... we have a lot more tags than I thought we did. I'll have to give
the current list some more thought.

> > - "Backport" seems strange. That's what the Version column is for, no?
>
> I still don't know how I'm supposed to use the version column (e.g.
> what is the difference between stable and pg19), and it seems out of
> date or not filled in half of the time. So I'd rather have it replaced
> with tags with clear intent. Maybe have backport tags for each
> Postgres version instead of "Backport - PG16" etc. The assumption
> being, if it doesn't have a backport tag, then it should go into
> master.

Personally, I would much rather that information be coded separately
from the tags system. I don't want the CF page filled with a bazillion
"Backport - 15" "Backport - 16" "Backport - 17" tags... I'd like the
tags to convey immediately useful information that we can't currently
get somewhere else, and I'd also like them not to rot over time.

> > - "Comments Only" feels somehow... standoffish? defensive? How about
> > "Comments [Requested/Needed]" or something similar?
>
> I meant this as "This patch changes only comments", the hover text
> also explains that once selected.

Oh, I hadn't realized that was hoverable. I'm not sure that's very
discoverable at the moment.

--Jacob



Re: Tags in the commitfest app: How to use them and what tags to add?

From
Jacob Champion
Date:
On Mon, Jun 23, 2025 at 12:01 PM David G. Johnston
<david.g.johnston@gmail.com> wrote:
>
> Yes, categories, and give each category its own line in the table.

I'm headed in the opposite direction. Let me elaborate with some very
strong opinions about the existing tags. (No one has to share my
strong opinions.)

- Help - Bikeshedding
- Good First Review
- Missing Tests

This category of tag is the best. It is completely new information,
not captured anywhere else in the UI, that is useful at the top level
and helps drive reviews forward by helping the community find
interesting things.

- Bugfix
- Security

I'm not excited about these tags, but in the absence of a bug tracker,
I'm glad we have them. Now it doesn't matter what "section" your patch
is in; if you realize it needs to be treated as a bug fix, or it gains
some sort of security caveat, you can tag them as such.

- dblink
- PL/Perl
- postgres_fdw

I don't like these at all. You can already search the patches with the
search box, so introducing a community norm that adds a bunch of
"which code did I touch" tags serves to clutter the UI and give new
CFMs an excuse to spend a bunch of time categorizing as opposed to
moving patches forward. Put the target of your patch in the entry
title somewhere -- and if it touches ten sections, I didn't really
want to see ten tags anyways.

- Backport

I am completely against this tag in particular. We have this
information already in its own Version column (though it's kind of sad
it's not sortable). If that column isn't working for people now, I
really doubt that moving the information to tags is going to help in
any way; we can either clarify the Version labels or make the meaning
discoverable.

--Jacob



Re: Tags in the commitfest app: How to use them and what tags to add?

From
Jacob Champion
Date:
On Mon, Jun 30, 2025 at 1:20 PM Jacob Champion
<jacob.champion@enterprisedb.com> wrote:
> This category of tag is the best. It is completely new information,
> not captured anywhere else in the UI, that is useful at the top level
> and helps drive reviews forward by helping the community find
> interesting things.

Oh, and while I'm thinking about it, I'd like to propose two new tags
in this vein:

- "help, I'm stuck in perma-rebase hell"
- "this is my first contribution to the project"

I would also like to request that CFMs be given the ability to add and
edit (but maybe not delete?) tags.

--Jacob



Jacob Champion <jacob.champion@enterprisedb.com> writes:
> I'm headed in the opposite direction. Let me elaborate with some very
> strong opinions about the existing tags. (No one has to share my
> strong opinions.)

I do ... in particular,

> - dblink
> - PL/Perl
> - postgres_fdw
> 
> I don't like these at all.

As an example of why these aren't too helpful, a patch that adds
a new kind of expression node is likely to touch a large subset
of any such code-area-based tags.

            regards, tom lane



Re: Tags in the commitfest app: How to use them and what tags to add?

From
Jelte Fennema-Nio
Date:
On Mon, 30 Jun 2025 at 22:20, Jacob Champion
<jacob.champion@enterprisedb.com> wrote:
>
> On Mon, Jun 23, 2025 at 12:01 PM David G. Johnston
> <david.g.johnston@gmail.com> wrote:
> >
> > Yes, categories, and give each category its own line in the table.
>
> I'm headed in the opposite direction. Let me elaborate with some very
> strong opinions about the existing tags.

I definitely agree with your general ranking of usefulness.

> - dblink
> - PL/Perl
> - postgres_fdw
>
> I don't like these at all. You can already search the patches with the
> search box

Honestly I had never used this search box before you mentioned it
(initially, I even thought you meant the one on the homepage, and that
one IS pretty useless for these kind of searches). I think maybe we
should show the search/filter bar by default, because I keep
forgetting it exists and I continue to use regular Ctrl+F instead.

> "which code did I touch" tags serves to clutter the UI and give new
> CFMs an excuse to spend a bunch of time categorizing as opposed to
> moving patches forward. Put the target of your patch in the entry
> title somewhere -- and if it touches ten sections, I didn't really
> want to see ten tags anyways.

I'm not so sure I like these either. I think the main reason I added
these was because I wanted to see what it's like to replace the
"Topic" system with tags. And I tried adding a few more to gauge what
level of depth would still be useful. I agree that this level is too
much.

I quite dislike the current topic system. Partially because it's
impossible to filter by a topic (like you can now do with tags), but
primarily because the actual available topics very often overlap, and
a patch ends up in a random one. For instance patches related to
vacuum end up in 6 distinct topics[1]

Part of the reason for the overlap seems to be that there are multiple
purposes topics are used for:
1. My change is impacting this code area/featureset: SQL commands,
Replication & Recovery, System Administration, Monitoring & Control,
Clients, Procedural languages
2. I'm improving existing code: Bugfix, Security, Performance
3. This doesn't change behaviour: Docs, Comments, Testing, Refactoring
4. None of the oher topics really fit, but I was required to pick one:
Server features, Miscellaneous

Obviously 1 often overlaps with 2 or 3. It's even quite common for 2
and 3 to overlap internally. So I think replacing those to be tags
makes a lot of sense.

Regarding 1 I do feel we miss a bunch of broad categories here. At the
very least "Extensibility" would be useful imo, but I think there's
other topics that would be nice too, like "Vacuum" or "Planner".

Regarding 4 I don't really see a point in having them, and definitely
not in having 2 of them.

[1]: https://commitfest.postgresql.org/53/?text=vacuum&status=-1&targetversion=-1&author=-1&reviewer=-1&sortkey=

> - Backport
>
> I am completely against this tag in particular. We have this
> information already in its own Version column (though it's kind of sad
> it's not sortable). If that column isn't working for people now, I
> really doubt that moving the information to tags is going to help in
> any way; we can either clarify the Version labels or make the meaning
> discoverable.

I think this is fair. I think being able to sort by the version column
would help a lot, but to me the main problem is that it's unclear what
the version there is actually supposed to mean. Primarily because
afaict people currently use the same version in at least four
different ways depending on the dev cycle:

1. During PG18 dev cycle, someone might add the PG19 version to a
patch they want to have in the cf app, but don't intend to be
shippable.
2. During the PG19 cycle, it means "something I intend to push through
this cycle"
3. During the PG20 cycle, it means "something I want to backport to PG19"
4. Once committed, the version might be changed to the lowest version
that the patch was committed to.

Unsurprisingly, people don't always update this version throughout the
years. So a label that was meant one way, might suddenly start to mean
something completely else.

Then there's "stable", which afaict is a way of saying something needs
to be backported? But it's currently unknown yet how far exactly.

And finally there's a lot without a version. Does that mean "the
current" cycle, or does it mean the author didn't choose one because
it was unclear which one to choose?

So a PROPOSAL to clarify the version column:
1. Rename "stable" to "backport"
2. Add some info to the help page, and the label
3. Introduce a "current" and a "next" version, those might still
reflect an outdated state, but at least they don't start to mean
different things when they are not being updated.
4. Only add a new version to the list once it's a version that can be
backported. So after the feature freeze (it should be easy to create
these automatically now).
5. Start requiring a version, and replace existing nulls with "current".
6. (optional) capitalize the versions so "PG18" instead of "pg18" and
"Backport" instead of "backport"