age icon indicating copy to clipboard operation
age copied to clipboard

PostgreSQL 17 not supported

Open JamesInform opened this issue 1 year ago • 58 comments

Hi all

I built age for PostgreSQL 17. Basically compiling worked without errors.

But when I try to create the extension I get the following error:

image

When will a PostgreSQL 17 compatible version of age be available?

Cheers, James

JamesInform avatar Sep 15 '24 18:09 JamesInform

@JamesInform Right now, PG 17 isn't in our roadmap. This could change in the future, but due to current resources, it is considered lower priority.

jrgemignani avatar Sep 16 '24 19:09 jrgemignani

@JamesInform I created a PR (2118) to resolve this issue. Currently there is no separate branch for branch for PG17, so I added PG17 version number check.

@jrgemignani do we have a plan when should be create a separate branch, or who could create separate branch, or should this PR merged to master as is?

uhayat avatar Sep 27 '24 08:09 uhayat

It's not ready for PG17 yet. Running the regression tests against PG17:

2024-10-28 09:43:48.644 UTC client backend[346252] pg_regress/expr ERROR:  labels() argument must be a vertex
2024-10-28 09:43:48.644 UTC client backend[346252] pg_regress/expr STATEMENT:  SELECT * from cypher('list', $$RETURN labels("string")$$) as (Labels agtype);
TRAP: failed Assert("HeapTupleIsValid(proctup)"), File: "src/backend/utils/ag_func.c", Line: 48, PID: 346252
postgres: myon contrib_regression [local] SELECT(ExceptionalCondition+0x75) [0x555e07a0fe45]
/usr/lib/postgresql/17/lib/age.so(+0x5be85) [0x7f0b17033e85]
/usr/lib/postgresql/17/lib/age.so(+0x2a04b) [0x7f0b1700204b]
postgres: myon contrib_regression [local] SELECT(range_table_entry_walker_impl+0x26) [0x555e077458b6]
postgres: myon contrib_regression [local] SELECT(range_table_walker_impl+0x6a) [0x555e07745a2a]
/usr/lib/postgresql/17/lib/age.so(+0x2ac0f) [0x7f0b17002c0f]
postgres: myon contrib_regression [local] SELECT(parse_analyze_fixedparams+0xac) [0x555e075f4a2c]
postgres: myon contrib_regression [local] SELECT(pg_analyze_and_rewrite_fixedparams+0x2a) [0x555e078b2b4a]
postgres: myon contrib_regression [local] SELECT(+0x55b193) [0x555e078b3193]
postgres: myon contrib_regression [local] SELECT(PostgresMain+0x161f) [0x555e078b4ccf]
postgres: myon contrib_regression [local] SELECT(BackendMain+0x51) [0x555e078af321]
postgres: myon contrib_regression [local] SELECT(postmaster_child_launch+0xc8) [0x555e07805bf8]
postgres: myon contrib_regression [local] SELECT(+0x4b1d0a) [0x555e07809d0a]
postgres: myon contrib_regression [local] SELECT(PostmasterMain+0xe8c) [0x555e0780bb9c]
postgres: myon contrib_regression [local] SELECT(main+0x20a) [0x555e074d12aa]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d68) [0x7f0b22c33d68]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7f0b22c33e25]
postgres: myon contrib_regression [local] SELECT(_start+0x21) [0x555e074d1871]
2024-10-28 09:43:50.074 UTC postmaster[346211] LOG:  server process (PID 346252) was terminated by signal 6: Aborted
2024-10-28 09:43:50.074 UTC postmaster[346211] DETAIL:  Failed process was running: SELECT * FROM json('1');

AGE is one of the last PostgreSQL packages in Debian not yet supporting PG17 yet, so getting this fixed would be appreciated. Thanks.

df7cb avatar Oct 28 '24 09:10 df7cb

@uhayat

This is the problem with attempting to add fixes to a version (PG16 in this case) to allow it to run on another version (PG17 in this case) without checking to see if it actually fixes the newer version. I mistakenly assumed that this was done.

jrgemignani avatar Oct 28 '24 15:10 jrgemignani

@JamesInform @df7cb Currently, there isn't an eta for, nor a roadmap to, an Apache AGE version for PG17 or any continuing support. The core R&D team that was driving Apache AGE (paid to work on this project) was eliminated earlier this month.

This means that future features, updates, bug fixes, etc. will be at a lot slower pace, if at all. Unfortunately, I cannot coerce or hold volunteers to any particular schedule.

jrgemignani avatar Oct 28 '24 15:10 jrgemignani

I was thinking of closing this issue, but I will leave it open for comments or inquiries.

jrgemignani avatar Oct 28 '24 15:10 jrgemignani

@jrgemignani thanks for the honest info.

df7cb avatar Oct 28 '24 15:10 df7cb

@jrgemignani thanks for the review. I agree that PR only fixed the compilation problem mention in the ticket but does not cover the whole PG 17 support. I will see if i can come up with full support. Based on the change we can see if it needs a separate branch for PG 17 or not. I will update here.

uhayat avatar Oct 29 '24 00:10 uhayat

This means I have to drop postgresql-age from the upcoming Alpine Linux v3.21. :(

jirutka avatar Oct 31 '24 15:10 jirutka

Hi, A new PR is create (https://github.com/apache/age/pull/2130) for PG 17 support and tested locally on multiple environment. Feedback would be appreciated.

uhayat avatar Nov 07 '24 07:11 uhayat

@uhayat works excellently, thanks!

https://pgdgbuild.dus.dg-i.net/job/postgresql-16-age-binaries/12/ (PG16+17, despite the name)

df7cb avatar Nov 07 '24 10:11 df7cb

@df7cb nice to see that. I wish there is similar setup for PGDG Yum as well. I see there is directory for age in rpm repo but never seen live RPMs. I guess I need to contact Devrim to check status. if there is any blocker or some patch I may provide. I will create a separate issue for tracking.

uhayat avatar Nov 11 '24 09:11 uhayat

thanks you @uhayat

grmkris avatar Dec 05 '24 09:12 grmkris

@JamesInform @df7cb Currently, there isn't an eta for, nor a roadmap to, an Apache AGE version for PG17 or any continuing support. The core R&D team that was driving Apache AGE (paid to work on this project) was eliminated earlier this month.

This means that future features, updates, bug fixes, etc. will be at a lot slower pace, if at all. Unfortunately, I cannot coerce or hold volunteers to any particular schedule.

Is there any new news about this issue? Is Apache AGE project dead?

nicholasveloso avatar Dec 19 '24 17:12 nicholasveloso

@jrgemignani What is happening with this project? It would be good to get some proper information about your statement "The core R&D team that was driving Apache AGE (paid to work on this project) was eliminated earlier this month."

knutole avatar Feb 04 '25 06:02 knutole

@knutole, @jrgemignani's statement was clear. The team paid to work on AGE was let go — most likely because funding ran out or shifted to other priorities. Whatever the reason, he summarized the future direction below:

Currently, there isn't an eta for, nor a roadmap to, an Apache AGE version for PG17 or any continuing support.

Paid work for an open source can accelerate a project until the money, passion, or time runs out. It sucks, as AGE is one of the more exciting projects for PostgreSQL.

thomastthai avatar Feb 07 '25 08:02 thomastthai

ai coding agents can't come soon enough... 🫡 🤣

grmkris avatar Feb 07 '25 09:02 grmkris

As said above, including #2130 will make the 16 branch support 17 as well. That's what we did for the Debian packages.

df7cb avatar Feb 07 '25 09:02 df7cb

And for Alpine Linux package as well.

jirutka avatar Feb 07 '25 11:02 jirutka

@knutole, @jrgemignani's statement was clear. The team paid to work on AGE was let go — most likely because funding ran out or shifted to other priorities. Whatever the reason, he summarized the future direction below:

Currently, there isn't an eta for, nor a roadmap to, an Apache AGE version for PG17 or any continuing support.

Paid work for an open source can accelerate a project until the money, passion, or time runs out. It sucks, as AGE is one of the more exciting projects for PostgreSQL.

I don't accept that an open source Apache project, which many people use and contribute to, can just "shut down" without proper explanation and future planning.

It seems that the main contributor @jrgemignani was made redundant at BitNine, and Apache Committee which "owns" the repo (and thus the write access) has not passed the torch to someone else. More info here: https://github.com/bitnine-oss/agensgraph/issues/663#issuecomment-2642724649

Seems that the Apache AGE Committee should be called upon to pass the torch on this project.

knutole avatar Feb 07 '25 12:02 knutole

I couldn't find the minutes from the Apache AGE committee meetings or a way to contact the committee members. I emailed their listed data maintainer, Eya Badal, to get support. If the situation is unchanged after this month, the next step is to contact the Apache Foundation and their sponsors. The Apache AGE repo needs additional active contributors with write access to move the project forward.

Update 1

Unable to find the Apache AGE committee meeting minutes, I look at the Apache Foundation minutes for July 17, 2024. The relevant section of those minutes is:

7. Special Orders

    A. Change the Apache Age Project Chair

       WHEREAS, the Board of Directors heretofore appointed Eya Badal (eya) 
       to the office of Vice President, Apache Age, and

       WHEREAS, it is the Board's belief that the Apache Age
       project requires careful monitoring and guidance at this time;

       NOW, THEREFORE, BE IT RESOLVED, that Eya Badal is relieved and 
       discharged from the duties and responsibilities of the office 
       of Vice President, Apache Age, and

       BE IT FURTHER RESOLVED, that Jeff Jirsa (jjirsa) be and hereby is 
       appointed to the office of Vice President, Apache Age, to serve in 
       accordance with and subject to the direction of the Board of Directors 
       and the Bylaws of the Foundation until death, resignation, retirement, 
       removal or disqualification, or until a successor is appointed.

       Special Order 7A, Change the Apache Age Project Chair, Sander
       and Jeff abstain, JB votes no, remaining vote yes; vote passes.

That change has made little impact on the maintenance of the Apache AGE project. I'll look for Jeff Jirsa's (@jeffjirsa) email and check on their active involvement. If you know their email address, feel free to reach out to them.

thomastthai avatar Feb 07 '25 17:02 thomastthai

@knutole The core team wasn't made redundant at Bitnine/AGEDB, they eliminated the entire core team of developers. This has changed the priorities of many of the core developers, as most can understand.

Additionally, there are ongoing Apache and Apache AGE PMC issues with Bitnine/AGEDB that I can't go into here.

jrgemignani avatar Feb 07 '25 17:02 jrgemignani

@jirutka @thomastthai @df7cb @uhayat I have created a branch, based off of the current master, called PG17_prepare.

Please apply your PRs, to allow AGE for PG17 to compile, to that branch. When we can validate that PG17_prepare compiles cleanly, I can make it PG17.

Btw, it will take me a moment to set up Docker for the above changes.

jrgemignani avatar Feb 07 '25 17:02 jrgemignani

I should note that there will need to be initial PRs to adjust the CI and build environment for PG17_prepare. So, it may be a week before this branch is ready to take PRs. Well, before additonal PRs will build properly.

jrgemignani avatar Feb 07 '25 18:02 jrgemignani

@thomastthai That's great!

I found the minutes (scroll down on the linked page). Project went from "super healthy" in May 2024 to "stagnant" in November 2024, although they do not state any reason for the stagnation. Next meeting is scheduled for February 2025. Would probably be good to file a proper request for expanding write access to more groups by then.

As for ongoing issues between Apache AGE and BitNine, there are mentions in the minutes to some copyright conflict, regarding use of name and logo, and per minutes it was being resolved. Anyway, if BitNine eliminated their team working on Apache AGE, I guess they're not the ones who will continue development here.

Minutes from last three meetings:

20 Nov 2024 [Jeff Jirsa]

Description:

The mission of Apache AGE is the creation and maintenance of software related to a multi-model database that enables graph and relational models built on PostgreSQL

Project Status:

Current project status: Ongoing, but with reducing velocity Issues for the board: None

Membership Data:

Apache AGE was founded 2022-05-17 (2 years ago) There are currently 18 committers and 12 PMC members in this project. The Committer-to-PMC ratio is 3:2.

Community changes, past quarter:

  • No new PMC members. Last addition was Rafsun Masud on 2024-01-28.
  • No new committers. Last addition was Zainab Saad on 2024-01-31.

Project Activity:

Project activity is at a local minimum - there have been zero commits to the project since September. While GitHub issues are being opened, actual project activity (bug fixes, PR merging) has begun to stagnate.

Community Health:

While GitHub issues are being opened, actual project activity (bug fixes, PR merging) has begun to stagnate.

21 Aug 2024 [Jeff Jirsa / Rich]

Description:

The mission of Apache AGE is the creation and maintenance of software related to a multi-model database that enables graph and relational models built on PostgreSQL

Project Status:

Current project status: Ongoing

Issues for the board: Acknowledging for the record that the PMC chair was changed by Board resolution in June 2024. The new PMC chair is coming up to speed.

Membership Data:

Apache AGE was founded 2022-05-17 (2 years ago) There are currently 19 committers and 12 PMC members in this project. The Committer-to-PMC ratio is roughly 3:2.

Community changes, past quarter:

  • No new PMC members. Last addition was Rafsun Masud on 2024-01-28.
  • No new committers. Last addition was Zainab Saad on 2024-01-31.

Project Activity:

Recent releases: PG11-1.5.0 was released on 2024-03-19. PG12-1.5.0 was released on 2024-03-11. PG13-1.5.0 was released on 2024-02-29. PG14-1.5.0 was released on 2024-02-16. PG15-1.5.0 was released on 2024-02-06. PG16-1.5.0 was released on 2024-01-26.

Community Health:

Contributions remain consistent at a quarter-by-quarter view, with approximately 40-50 code commits per quarter, though contributions tend to be cyclical, and local-minima are observed. There exists a sufficient number of PMC members replying to emails to manage the project.

15 May 2024 [Eya Badal / Jeff]

Description:

The mission of Apache AGE is the creation and maintenance of software related to a multi-model database that enables graph and relational models built on PostgreSQL.

Project Status:

Current project status: Ongoing with high activity.

Issues for the board: There are some trademark issues that PMCs are currently trying to resolve. An official email has been sent to the AGEDB team and there have been a couple of attempts to fix the issues. The AGEDB team has already fixed a few of the issues and is currently working with the ASF trademark team to resolve the remaining problems such as the logo, name and others. In their response (tradmeark CC ed), they mentioned that they have already started and initiated the official process of renaming the company from AGEDB.

Membership Data:

Apache AGE was founded 2022-05-17 (2 years ago) There are currently 20 committers and 14 PMC members in this project. The Committer-to-PMC ratio is roughly 5:4.

Community changes, past quarter:

  • No new PMC members. Last addition was Rafsun Masud on 2024-01-28.
  • No new committers. Last addition was Zainab Saad on 2024-01-31.

Project Activity:

Recent releases: PG11-1.5.0 was released on 2024-03-19. PG12-1.5.0 was released on 2024-03-11. PG13-1.5.0 was released on 2024-02-29. PG14-1.5.0 was released on 2024-02-16.

We submitted a couple of papers for different conferences.

Community Health:

The project is super healthy. The [email protected] had a 112% increase in traffic in the past quarter (660 emails compared to 310). Community Health Score (Chi): 9.60 (Super Healthy) @Justin: follow up with AGE PMC about corporate branding issue

@Justin: follow up with Docker distribution

knutole avatar Feb 07 '25 18:02 knutole

@jrgemignani Do you know who and how many people currently have write access?

knutole avatar Feb 07 '25 18:02 knutole

@knutole The core team wasn't made redundant at Bitnine/AGEDB, they eliminated the entire core team of developers. This has changed the priorities of many of the core developers, as most can understand.

Additionally, there are ongoing Apache and Apache AGE PMC issues with Bitnine/AGEDB that I can't go into here.

I don't really understand, who are "they" in "they eliminated"? And what's the difference between "core team was made redundant at Bitnine/AGEDB" and "eliminated entire core team"?

All the while @uhayat, who apparently works at Bitnine, laments not having write access. It's all a bit confusing tbh.

knutole avatar Feb 07 '25 18:02 knutole

@knutole Any Apache committer can submit a PR for review. Only PMC and core members can merge it after approvals, and not the submitter of said PR. Basic controls to protect the Apache AGE repository's integrity.

jrgemignani avatar Feb 07 '25 19:02 jrgemignani

@knutole I'm copying/pasting this from the Apache AGE Chair -

  • asf projects grant committer status to individual who have established trust and merit as judged by the PMC
  • we don’t grant write access to companies just because they happen to be building a product based on the project
  • if the PMC determines that individuals - regardless of company - exhibit ability and trustworthiness, the PMC can and should invite them into the project
  • but everyone is a volunteer, so best effort and no promises of timelines

jrgemignani avatar Feb 07 '25 19:02 jrgemignani

Thanks a lot for the good info @jrgemignani 👍

knutole avatar Feb 07 '25 19:02 knutole