Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
9be59c9
adapter: inline collection ttl metadata
bootjp Jul 7, 2026
0ce0342
adapter: add inline hll ttl
bootjp Jul 7, 2026
158778c
adapter: migrate inline ttl anchors
bootjp Jul 7, 2026
50d34a5
adapter: sync inline collection ttl updates
bootjp Jul 7, 2026
607ee9c
redis: keep collection TTL anchors current
bootjp Jul 8, 2026
9b26fd2
redis: cover ttl inline migration gaps
bootjp Jul 8, 2026
cd45d8c
redis: prefer hll ttl over stale collection meta
bootjp Jul 8, 2026
b1b3251
Fix inline TTL ownership handling
bootjp Jul 8, 2026
2b83179
Merge main into TTL inline metadata
bootjp Jul 8, 2026
963f6c5
Reserve removed RawKV proto fields
bootjp Jul 8, 2026
c552cc1
Merge latest main into TTL inline metadata
bootjp Jul 8, 2026
f33957e
Merge origin/main into TTL inline metadata
bootjp Jul 10, 2026
8c9c166
adapter: fix inline TTL creation paths
bootjp Jul 10, 2026
dfea1eb
adapter: preserve inline TTL rewrite metadata
bootjp Jul 10, 2026
62e29c2
redis: fix inline ttl edge cases
bootjp Jul 10, 2026
aceb441
redis: preserve inline ttl restore semantics
bootjp Jul 10, 2026
66d868c
redis: harden inline ttl edge cases
bootjp Jul 10, 2026
30c54f9
redis: harden collection ttl replacement paths
bootjp Jul 10, 2026
248ae10
Stabilize stream XREAD latency test
bootjp Jul 10, 2026
751f054
redis: preserve ttl migration semantics
bootjp Jul 11, 2026
3b39744
redis: clean expired inline collections on recreate
bootjp Jul 11, 2026
c2e451e
redis: cover truncated collection TTL failures
bootjp Jul 11, 2026
74f6102
redis: clear expired stream TTL indexes
bootjp Jul 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions adapter/redis.go
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,11 @@ type RedisServer struct {
// reads on hot keys faster than the regular compaction interval.
compactor *DeltaCompactor

// disableLegacyTTLReadFallback removes !redis|ttl| from the authoritative
// read path after the inline TTL migrator has rewritten all anchors. The
// default keeps the fallback enabled for rolling upgrades.
disableLegacyTTLReadFallback bool

// connIDSeq hands out monotonically increasing per-connection
// identifiers. The zero value is never returned (atomic.AddUint64
// returns 1 on first call) so clients can treat 0 as "unset".
Expand Down Expand Up @@ -269,6 +274,17 @@ func WithRedisCompactor(c *DeltaCompactor) RedisServerOption {
}
}

// WithRedisLegacyTTLReadFallback controls whether pre-inline !redis|ttl|
// entries are still consulted after the anchor-specific TTL probes miss.
// Leave this enabled during rolling upgrades; disable it only after the
// background inline TTL migrator has completed for the cluster and legacy bare
// string keys have been separately ruled out or rewritten.
func WithRedisLegacyTTLReadFallback(enabled bool) RedisServerOption {
return func(r *RedisServer) {
r.disableLegacyTTLReadFallback = !enabled
}
}

// WithRedisRequestObserver enables Prometheus-compatible request metrics.
func WithRedisRequestObserver(observer monitoring.RedisRequestObserver) RedisServerOption {
return func(r *RedisServer) {
Expand Down
Loading
Loading