End Point

News

Welcome to End Point's blog

Ongoing observations by End Point people.

Postgres Bug Tracking - Help Wanted!

Once again there is talk in the Postgres community about adopting the use of a bug tracker. The latest thread, on pgsql-hackers, was started by someone asking about the status of their patch. Or rather, asking an even better meta-question about how one finds out the status of a PostgreSQL bug report or patch. Sadly, the answer is that there is no standard way, other than sending emails until someone replies one way or another. The current process works something like this:

  1. Someone finds a bug
  2. They send an email to pgsql-bugs@postgresql.org OR they use the web form, which grabs a sequential number and mails the report to pgsql-bugs@postgresql.org. Nothing else is done/stored, it just sends the email.
  3. Someone replies about the bug OR nobody replies about the bug.
  4. After a fix is found, which may involve some emails on other mailing lists, someone replies that the bug is fixed on the original thread. Maybe.

As you can see, there is some room for improvement there. Some of the most major and glaring holes in the current system:

  • No way to search previous / existing bugs
  • No way to tell the status of a bug
  • No way to categorize and group bugs (per version, per platform, per component, per severity, etc.)
  • No way to know who is working on a bug
  • No way to prevent things from slipping through the cracks

Luckily, the above problems have been solved for many many years now but a wide variety of bug tracking software. There have traditionally been three problems to getting a bug tracker working for the Postgres project:

Inertia

The current system is, in a very literal sense, "good enough", so it's hard to impose the inevitable short-term pain of a new system when there always seem to be more pressing matters to attend to.

Doesn't Make Julienne Fries

Everyone wants a different set of features, and getting all the hackers involved to agree on even a simple subset of desired features is pretty difficult. This is sort of similar to the crusade by myself and others to get git as the replacement version control system; there were some strong voices for competing systems (e.g. mercurial).

Who Will Put the Bell on the Cat?

Everyone talks about the problem, and there have even been some attempts over the years to implement some sort of system, but the problem remains that setting up such a system, getting it smoothly integrated into the project's work flow, and then maintaining said system is a non-trivial task. Especially when you can't be assured of buy-in from some of the major players.

I'm hopeful that the recent thread indicates a slight shift of late in global acceptance of the need for a bug tracking system. The question is, which one, and who is going to take the time to write something? I'm really hoping someone who has been lurking in the background will step up and help create something wonderful (okay, we can start with 'decent' :) Perhaps even someone with experience setting up bug tracking systems. Certainly Postgres must be one of the last major open source projects without a bug tracker; there is plenty of hard-won experience out there to be learned from. It would also be ideal if the person or persons was *not* a Postgres hacker of any sort, as taking the time to build and maintain this system would definitely take time away from their other hacking tasks. On the other hand, one could argue that a bug tracker is a vital piece of project infrastructure that is potentially as important as any other work that goes on. I certainly think so.

12 comments:

Anonymous said...

With regards to "building": Atlassian Jira is a very good and stable ticket system, runs well with PostgreSQL (we actually migrated it from MySQL to PostgreSQL last year) and is free for open source projects.

Maybe that's worth having a look at?

Sebastiaan Stok said...
This comment has been removed by the author.
Sebastiaan Stok said...

PosgreSQL already has an offical Github mirror https://github.com/postgres/postgres

So maybe you can use that one? Plus you can have pull requests for bug fixes. Nothing new to create, easy to use, and free :)

Anonymous said...

AFAIK Atlassian uses PostgreSQL on their own JIRA instances an recommends it officially to customers.

MySQL, Oracle and MSSQL are also supported but PostgreSQL seems to be their favorite database.


From my own experience i can confirm that JIRA runs very well with PostgreSQL though due to company policy we still have to use MySQL.

We use JIRA not only for bugtracking but also for tracking all kinds of issues like open items, to do lists and many other tasks one usually would do with Outlook or Excel. I wish some day cooperation between Atlassian and the PostgreSQL community could lead to a professional ready-to-use JIRA version with a bundled PostgreSQL instead of HSQL

Regina said...

I'm happy to see PostgreSQL is again thinking about instituting a bug tracker. To be fair I'm really surprised how well you guys have done without one.

If PostGIS didn't have a bug tracker, I'd personally go nuts. Not familiar with JIRA or github's bug tracker. I assume at least github has capability to reference git code revisions? Does JIRA have that too?

Greg Sabino Mullane said...

Anon/Sebastian: It's not as simple as just picking an existing one. We'd need to populate existing bugs, make it so items emailed to pgsql-bugs get added, figure out what categories/divisions to use, etc.

Regina: github definitely does, and I think JIRA does as well. I expect its a fairly standard feature in this day and age.

Martin said...

Agree with both anonymous. Atlassian JIRA is pretty powerful, stable and feature-rich, the license for open source projects is free and Atlassians themselves have been strong propopents and users of Postgres over the years.. I am sure they would be thrilled to "power" bugtracking for Postgres. Definitely voting for JIRA.

Fabrízio de Royes Mello said...

IMHO the bug tracking system is the least of the problems because there are several excellent tools.

The biggest challenge will be to change the current process that is based on mailing lists and has worked well for a long time.

I think a good alternative is to adopt a bug tracking tool and create some integration with the mailing lists to automatically capture the content and add / modify tickets.

It may not be a permanent solution, but may be a way to make the transition to using a bug tracking tool.

Bruce Momjian said...

I think the big problem is not the bug tracking software but keeping the bug content current. I continually ask to see one bug tracker that isn't populated by a majority of duplicate/meaningless items, and no one has shown me one yet.

Regina said...

Bruce,

I think the PostGIS bug tracker is pretty decent. I don't think we have anything I would consider meaningless in there. We use trac, but I think keeping meaningless stuff out has more to do with the people than the bug tracker you put in place.

For example if someone submits some stupid request that we never plan to execute, one of us immediately closes it out as won't fix. If someone puts in something that is nice to have but unclear whether we would ever get to it, then we push it to PostGIS Future. So everyone knows our lofty dreams are in PostGIS Future and everything else is slated for some release. Also makes release management easier since everything we want to appear in release -- we have instituted putting in a keywork history (so we can pull for release)

All our bugs get emailed to our devel email list. Like I think someone mentioned -- the nice thing about a bug trac system is its setup more like a relational database so a bit easier to search than a mailing list as its easier to put in tags -- assign things, auto assign things based on category etc.

I think ability for a bug trac system to use has more to do with the people and management - so if you are diligent about keeping junk out of your system -- which it sounds like you will be, I wouldn't compare your case with others.

I admit PostgreSQL is a much larger project than PostGIS so what works for us may not work for PostgreSQL.

Joshua Tolley said...

The pgsql-bugs mailing list is just as full of duplicate and meaningless reports as any substantial project's bug tracker.

Josh Berkus said...

All,

Atlassan has been offering us a free license for Jira since they launched as a company. However, there is a legitimate concern about using closed-source software in the infrastructure of an open-source project. I also don't think that Jira, as nice as it is, offers the level of email integration we want in our project.

What the PostgreSQL project really wants is a bug tracker which is driven entirely by e-mail. I'm not sure why RT isn't in the current running with debbugs.