-
Notifications
You must be signed in to change notification settings - Fork 34
feat: add Redis Vector Set support #356
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
Merged
Merged
Changes from all commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
542b8c0
feat(storage): add vector data column family
happy-v587 3b309f6
feat(storage): add vector codecs
happy-v587 e822cab
feat(storage): persist vector set members
happy-v587 6837573
feat(storage): add flat vector similarity search
happy-v587 0152520
feat(storage): route and clean up vector sets
happy-v587 f55e74e
feat(cmd): add redis vector set commands
happy-v587 53ee9b0
fix(resp): downgrade vector scores for resp2
happy-v587 e02d043
fix(resp): encode nulls with native protocol type
happy-v587 e0d72be
test: cover redis vector set commands
happy-v587 dfd841f
test: skip vector set commands when server is unavailable
happy-v587 ede10cd
test: use unique test db path helpers in vector storage tests
happy-v587 049f9c0
refactor(storage): adapt vector set to engine removal
happy-v587 05148c0
docs: split cargo test filters and specify monotonic vector generation
happy-v587 20a5b8b
fix(vector): prevent stale members and protocol regressions
happy-v587 5e0e972
feat(vector): enable raft cluster mode and add metric/search abstract…
happy-v587 1ffceef
fix(cmd): keep MODULE_NO_CLUSTER flag definition
happy-v587 4ce0aed
refactor(vector,resp): address CodeRabbit review comments on PR #356
happy-v587 c3a9d78
Merge branch 'lh/feat/redis-vector' into feat/redis-vector
happy-v587 ea4eb2a
refactor(resp): inline encode_resp_data_inner into encode_resp_data
happy-v587 4bbe201
Merge remote-tracking branch 'origin/main' into feat/redis-vector
happy-v587 5a35356
feat(vector): add quantization framework (NOQUANT/BIN/Q8)
happy-v587 d65d7fa
feat(vector): parse VADD options and split per-command parsing
happy-v587 b9edac1
fix(vector): enforce phase one protocol semantics
happy-v587 9f1e37e
feat: extend vector lifecycle and admin capabilities
happy-v587 36b8e12
merge: resolve origin/main conflicts
happy-v587 24ce43b
Merge remote-tracking branch 'origin/main' into HEAD
happy-v587 61c30cc
fix: address vector PR review and CI failures
happy-v587 f3af349
fix: tombstone vector sets on DEL
happy-v587 f1f8d75
test: use public vector metadata assertions
happy-v587 b0db91f
fix: harden snapshot tests on Windows
happy-v587 6d57a5b
fix: avoid dynamic command gate allocations
happy-v587 8c294ea
test: cover vector gate precedence
happy-v587 b8d8735
merge: resolve origin/main conflicts
happy-v587 c16c3ef
fix(cmd): avoid zero-sized requirepass providers
happy-v587 9a446c5
test(cmd): cover hello provider storage
happy-v587 e8c8faf
fix(storage): avoid zero-sized cache callbacks
happy-v587 e249191
fix(cmd): avoid zero-sized test streams
happy-v587 76ec03f
ci: symbolize sanitizer leak reports
happy-v587 a766008
ci: install sanitizer symbolizer
happy-v587 dd97d54
ci: locate sanitizer symbolizer reliably
happy-v587 b8878d8
ci: isolate cmd leak sanitizer run
happy-v587 e8677dc
ci: reproduce leak with parallel cmd tests
happy-v587 de69291
ci: test cmd raft sanitizer combination
happy-v587 df1f552
ci: restore full leak sanitizer validation
happy-v587 f3af06e
ci: compare leak sanitizer without debug info
happy-v587 897e904
ci: repeat leak sanitizer validation
happy-v587 945e7ed
ci: restore single leak sanitizer run
happy-v587 c3dda2b
fix(storage): sync manifest copy via write handle
happy-v587 e932aac
test(storage): assert gate membership in compaction filter test
happy-v587 41eb636
fix(sdd): drop stale WP0 git-diff artifact gate
happy-v587 2bac06f
fix(raft): normalize admin.proto to LF line endings
happy-v587 2427ba9
Revert "fix(sdd): drop stale WP0 git-diff artifact gate"
happy-v587 f4571a1
Merge remote-tracking branch 'origin/main' into HEAD
happy-v587 aa04484
fix(storage): harden vector snapshot migration
happy-v587 14dd68d
fix(cluster): enforce vector readiness gates
happy-v587 3087a70
fix(vector): align command semantics with Redis 8.8.1
happy-v587 f83a4cf
test(compat): register vector differences and oracle gate
happy-v587 e43759c
test(storage): make mid-scan VSIM cancel test deterministic
happy-v587 920a0ff
chore(security): gate rkyv audit advisory via .cargo/audit.toml
happy-v587 e46b3e0
test(python): validate malformed VSIM options on a populated key
happy-v587 743a52c
test(resp): reset allocation-count flag on panic; drop stray shebang
happy-v587 09a0578
fix(compat): close VectorSet review gaps
happy-v587 4e404b6
fix(vector): align duplicate options and VDIM contract
happy-v587 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| # Copyright (c) 2024-present, arana-db Community. All rights reserved. | ||
| # | ||
| # Licensed to the Apache Software Foundation (ASF) under one or more | ||
| # contributor license agreements. See the NOTICE file distributed with | ||
| # this work for additional information regarding copyright ownership. | ||
| # The ASF licenses this file to You under the Apache License, Version 2.0 | ||
| # (the "License"); you may not use this file except in compliance with | ||
| # the License. You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
| # | ||
| # cargo audit configuration. This complements the [advisories] ignore | ||
| # governance kept in deny.toml. Every ignored advisory must carry a reason | ||
| # and a remove_when condition (documented in the comment next to it) and must | ||
| # be re-audited once that condition is met. | ||
|
|
||
| [advisories] | ||
| ignore = [ | ||
| # RUSTSEC-2026-0235: rkyv 0.7.46 is a transitive dependency of openraft | ||
| # 0.9.25 (Raft wire serialization); no safe in-scope upgrade exists below a | ||
| # breaking openraft bump. The advisory requires a maliciously crafted | ||
| # archive with Rc/Arc and is not reachable from the cluster's own binlog | ||
| # writes. Remove this exception once openraft pulls rkyv >= 0.8.17. | ||
| "RUSTSEC-2026-0235", | ||
| ] | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P1] 让安全豁免随真实 feature 可达性自动失效
exact Head 上
cargo tree --locked --target all -i rkyv@0.7.46没有依赖路径;cargo tree --locked --target all -e features -i rust_decimal@1.40.0只显示openraft -> byte-unit -> rust_decimal(std),没有启用rkyv。因此这里的“Raft wire serialization / cluster binlog 不可达”不是当前依赖事实;rkyv只是rust_decimal留在 lockfile 中的可选依赖。按 advisory ID 全局 ignore 后,未来任何 feature 真正启用有漏洞的 rkyv 0.7,cargo audit仍会继续绿色,而“等 openraft 拉取 rkyv >= 0.8.17”也没有监控真实的rust_decimal/rkyv可达性。请按实际 feature graph 修正理由,并增加 CI 断言使 rkyv 一旦进入 resolve/feature graph 就立即失败;做不到自动失效时不要保留这个全局豁免。