postgresqlPackages.vectorchord: init at 0.4.2#392710
Conversation
Titaniumtown
left a comment
There was a problem hiding this comment.
diff LGTM besides the comments made by others. I think we should hold off merging this until an immich release actually uses this. Thanks for the proactive PR @diogotcorreia !
4a077c6 to
2d149c7
Compare
|
VectorChord 0.3.0 has been released, but there's a major blocker to updating. Many functions related to avx have been marked as safe in rust nightly, but are still unsafe on rust stable (even 1.86): rust-lang/stdarch#1714
My guess is that this would land on 1.87, which will be released in the 15th of May, and likely take a few weeks to hit master. For now I think I'll wait until Immich moves to vectorchord, and then if Rust 1.87 is still not available on master at that time I'll make a patch to add unsafe blocks around these calls to unsafe functions. If anyone has a better idea, I'd appreciate some guidance. Related upstream commit: supervc-stack/VectorChord@dc12d84 |
Ma27
left a comment
There was a problem hiding this comment.
Sorry, I had this tab open for too long without paying attention. What's the status here?
|
@Ma27 I think we're waiting for Immich to migrate before merging. However, considering what I wrote in my previous comment (#392710 (comment)), upgrading this to 0.3.0 would not be easy and would require extensive patching afaik (EDIT: it seems like the aforementioned changes will be in Rust 1.87, so if Immich doesn't upgrade in the next month or two it should be fine). There have also been talks about handling dependencies between extensions (#392710 (comment)), but I've unfortunately not had much time to look into this EDIT: I also realized I haven't updated this PR after #394089 has been merged, so I'll do that |
|
Update: Immich is already working on this, so it might be released soon: immich-app/immich#18042 |
2d149c7 to
d33602c
Compare
|
Rebased on master, refactored to use |
|
Immich dev here! Just a heads up that we plan to switch to VectorChord in a release this week, with 0.3.0 as the minimum supported version. We'll remove pgvecto.rs support later in the coming months, so it's recommended to switch when possible. That being said, pgvecto.rs will still work for now without any manual intervention, so it's okay if you can't make the switch right away. |
|
@mertalev Thanks a lot for the heads up! Rustc in nixpkgs has been updated to 1.87.0 in #407444, so we should be able to update this PR to 0.3.0 in the coming weeks, once the rustc update hits master.
Do you have any estimate for how long you're going to support pgvecto.rs? Afaik rustc won't be updated in NixOS 25.05, so we won't be able to get vectorchord (without extensive patching like I mentioned in previous comments) in the NixOS stable channel until the end of November (for NixOS 25.11). |
|
The current plan is to remove pgvecto.rs support around the time of the stable release, which I'd say is unlikely to happen before August. Would supporting VectorChord 0.2.2 make things easier for you? |
Doing so wouldn't be a problem. EDIT: I don't mean updating but adding a |
diogotcorreia
left a comment
There was a problem hiding this comment.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 392710
Commit: 564ed3e9f89f768af9b1f6dcb956a1a4b099f1a5
x86_64-linux
✅ 7 packages built:
- cargo-pgrx
- cargo-pgrx_0_12_6
- postgresql13Packages.vectorchord
- postgresql14Packages.vectorchord
- postgresql15Packages.vectorchord
- postgresql16Packages.vectorchord
- postgresql17Packages.vectorchord
|
Please rename the first commit to |
|
564ed3e to
54f182d
Compare
|
Am I correct in thinking that this is the sole factor blocking an Immich update to 1.135? |
@tecosaur Hasn't Immich been updated a while ago already? #417977 #418220 Immich still supports pgvecto-rs, so this is not blocking anything at the moment (except PostgreSQL 17 support, since pgvecto-rs does not support that). They will deprecate support for it soon tho, so we should migrate sooner than later |
|
@wolfgangwalther are you okay with merging this ? You suggested an improvement which i think is good. Just thinking we can potentially keep it as a future improvement to integrate this change. Does anyone else want to delay merging to look at it more ? |
wolfgangwalther
left a comment
There was a problem hiding this comment.
No blockers from my side, except for meta.platforms, I think.
|
@happysalada I'm not sure if the allocation issues have been fully discussed: #392710 (comment) cc @dotlambda |
54f182d to
ab82f5a
Compare
Since the linked issue wasn't entirely clear about finding the root cause of this, given that the allocator is changed in the next version anyway and that all passthru tests pass on both linux platforms (see below), I'd say we're good here.
|
|
Am I overlooking something or is there no PR yet moving the Immich module to vectorchord? |
|
@dotlambda correct, I belive no one has done that PR yet |
|
For reference since I needed this to migrate from the docker version I have the following in my module: |
|
I have opened a PR for supporting VectorChord in Immich. As it can do most of the migration automatically, this is mostly just some enablement and a test: #428568 |
|
I kinda forgot, but it likely makes sense to do a backport of this, so that we can backport #428568 later Will do that manually soon, since it requires adding rust_1_88 I believe |
With compound licenses[1] recently merged, we can now properly represent dual licensed packages without affecting its non-free status. See NixOS#392710 (comment) [1]: NixOS#468378
With compound licenses[1] recently merged, we can now properly represent dual licensed packages without affecting its non-free status. See NixOS#392710 (comment) [1]: NixOS#468378
With compound licenses[1] recently merged, we can now properly represent dual licensed packages without affecting its non-free status. See NixOS#392710 (comment) [1]: NixOS#468378
https://github.com/tensorchord/VectorChord
Closes #392680
Probably going to be needed for Immich soon.
Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.