Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PostgreSQL 17 not supported #2111

Open
JamesInform opened this issue Sep 15, 2024 · 38 comments
Open

PostgreSQL 17 not supported #2111

JamesInform opened this issue Sep 15, 2024 · 38 comments
Labels
enhancement New request feature request New feature

Comments

@JamesInform
Copy link

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 JamesInform added the bug Something isn't working label Sep 15, 2024
@jrgemignani jrgemignani added enhancement New request feature request New feature and removed bug Something isn't working labels Sep 16, 2024
@jrgemignani
Copy link
Contributor

@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.

@uhayat
Copy link
Contributor

uhayat commented Sep 27, 2024

@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?

@df7cb
Copy link
Contributor

df7cb commented Oct 28, 2024

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.

@jrgemignani
Copy link
Contributor

@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
Copy link
Contributor

@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
Copy link
Contributor

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

@df7cb
Copy link
Contributor

df7cb commented Oct 28, 2024

@jrgemignani thanks for the honest info.

@uhayat
Copy link
Contributor

uhayat commented Oct 29, 2024

@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.

@jirutka
Copy link

jirutka commented Oct 31, 2024

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

algitbot pushed a commit to alpinelinux/aports that referenced this issue Nov 1, 2024
AGE doesn't support PostgreSQL 17 yet and it's not even on the roadmap.
apache/age#2111
@uhayat
Copy link
Contributor

uhayat commented Nov 7, 2024

Hi,
A new PR is create (#2130) for PG 17 support and tested locally on multiple environment.
Feedback would be appreciated.

@df7cb
Copy link
Contributor

df7cb commented Nov 7, 2024

@uhayat works excellently, thanks!

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

@uhayat
Copy link
Contributor

uhayat commented Nov 11, 2024

@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.

@grmkris
Copy link

grmkris commented Dec 5, 2024

thanks you @uhayat

@nicholasveloso
Copy link

@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?

@knutole
Copy link

knutole commented Feb 4, 2025

@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."

@thomastthai
Copy link

@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.

@grmkris
Copy link

grmkris commented Feb 7, 2025

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

@df7cb
Copy link
Contributor

df7cb commented Feb 7, 2025

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

@jirutka
Copy link

jirutka commented Feb 7, 2025

And for Alpine Linux package as well.

@knutole
Copy link

knutole commented Feb 7, 2025

@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: bitnine-oss/agensgraph#663 (comment)

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

@thomastthai
Copy link

thomastthai commented Feb 7, 2025

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.

@jrgemignani
Copy link
Contributor

@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
Copy link
Contributor

@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
Copy link
Contributor

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.

@knutole
Copy link

knutole commented Feb 7, 2025

@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
Copy link

knutole commented Feb 7, 2025

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

@knutole
Copy link

knutole commented Feb 7, 2025

@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.

@jrgemignani
Copy link
Contributor

jrgemignani commented Feb 7, 2025

@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
Copy link
Contributor

@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

@knutole
Copy link

knutole commented Feb 7, 2025

Thanks a lot for the good info @jrgemignani 👍

@thomastthai
Copy link

@knutole, thanks for the minutes from the committee. I went to the same link you shared previously and got mostly a blank page with a link and button. The link led to ASF's minutes, not the AGE committee's.

Image

Good to know ASF and AGEDB worked things out.

~12 PMC members having write access. With the staleness of responses to PRs and Issues for the project in the last ~6 months, one wonders about the engagement and/or effectiveness of AGE PMC members.

It's reasonable for ASF to want control over the quality of the project. If the committee is the bottleneck, changes are needed to rectify the situation.

It sucks all the core members were let go. I hope they are doing ok. It'll be nice to have them back, but they have more pressing matters to deal with. Even without them, the lack of activities from most of the PMC members is curious. Thankfully, @jrgemignani is active. It's a lot of work for one person though.

I'm curious how involved Jeff Jirsa, AGE Committee Chair, has been since their appointment in July 2024.

@jrgemignani
Copy link
Contributor

@thomastthai Unfortunately, the following is not true and is still ongoing -

Good to know ASF and AGEDB worked things out.

The Apache AGE PMC, in particular the chair (Jeff J.) and the ASF, are still working to bring the above mentioned issues to a resolution. I mention this because -

I'm curious how involved Jeff Jirsa, AGE Committee Chair, has been since their appointment in July 2024.

Jeff has spent a lot of time, as have the other ASF and PMC members, (through approved Apache channels) since said date to attempt to bring said issues to a resolution. Unfortunately, engagement on these issues takes valuable time away from many other activities. As these channels are not privy to all, don't let appearances suggest a lack of involvement or engagement.

Also, please remember the following -

  • but everyone is a volunteer, so best effort and no promises of timelines

Each Apache member has their own schedule and level of engagement. This was something we (Apache AGE) learned through incubation and is the Apache way.

@thomastthai
Copy link

@jrgemignani, thank you for shedding additional light on the matter. Some issues can take a lot of time and resources to resolve. I appreciate the volunteer effort.

Clarity is a gift and perception can be people's reality. If a summary of what you typed above was shared and pinned months ago to add context, people would feel sympathy or empathy for what's happening versus wondering, "Is this project dead?" That's a fair ask, IMHO.

My email was forwarded to Jeff. He said he'll reply tomorrow.

@nicholasveloso
Copy link

Sincerely, I hope the problems will be sorted out sooner rather than later, and that the project continues.

At our startup we had reached an agreement to use AGE as the graph database of choice to use for our products, just a couple days before it was posted that the core developer meant team had been dismissed and the project would have no active development for the foreseeable future.

Since then we kind of froze our work towards graph database implementations, because without any certainty fo the Apache AGE project would continue and after analyzing the other solutions, we concluded that ifwe go for something like Neo4j or AWS Neptune, which have very steep costs, our company would not be able shoulder th costs without a good revenue stream for it.

We are still probing if our current clients would be willing to agree to an increase of price on their current contracts for the additional capabilities. Specialy since thr need for Graph DBs was identified based on their suggestions and requests for new functionalities of current products.

If they aren't willing absorb the cost, it would be hard to get it going with a non open source solution, so AGE was practically our only choice, but if the amount of time without active development goes on, it would be ever harder to use AGE as time passes, as the landscape of solutions in need for Graph DBs widens and get ever more sofisticated.

@jrgemignani
Copy link
Contributor

@thomastthai Issues, like this one about PG17, are not really the correct forum for subjects, or summaries, like internal Apache discussions.

I initially added to this thread to give everyone a heads up for future development. My follow up was only to let others know that we are currently working on issues in the background.

@jrgemignani
Copy link
Contributor

@nicholasveloso I am working with a few others to get PG17 support for version 1.5.0, hopefully, by the end of the month; maybe only as a branch and not an official release. Full releases take a lot of work and PMC input and can only be done by members with specific access.

  • but everyone is a volunteer, so best effort and no promises of timelines

As to future development, some of us are working on what can be done. Again, -

  • but everyone is a volunteer, so best effort and no promises of timelines

I cannot stress this last point enough.

@thomastthai
Copy link

thomastthai commented Feb 8, 2025

@jrgemignani, agreed that Issues isn't the place to discuss subjects, or summaries, like internal Apache discussions. The discussion from "PostgreSQL 17 not supported" evolved organically and your added context added clarity. A summary posted on Discussions would clarify for others who've not read this issue. Thank you again for your input and ongoing volunteer work.

Update:

@jamestiotio-oss
Copy link

Just commenting to prevent closure of the issue since it is one that I am also tracking!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New request feature request New feature
Projects
None yet
Development

No branches or pull requests

10 participants