Resolve merge conflicts between feature and root branches#13
Merged
BryceWayne merged 6 commits intofeature/metrics-and-batch-ops-8871551962453094290from Dec 31, 2025
Merged
Conversation
Added SetMulti and GetMulti methods for efficient batch operations. Added StoreMetrics struct and GetMetrics method to expose cache statistics (hits, misses, evictions, item count). Updated Set, Get, and cleanupExpiredItems to track these metrics. Added unit tests for new functionality.
…871551962453094290 Add batch operations and metrics monitoring
Refactored `MemoryStore` to use a sharded map approach (Concurrent Map pattern) with 256 shards. This reduces lock contention significantly compared to the previous single global lock design. Changes: - Replaced `mu` and `store` with `shards` slice in `MemoryStore`. - Implemented `shard` struct with individual mutex and map. - Added `getShard` method using FNV-1a hashing. - Updated `Set`, `Get`, `Delete` to operate on specific shards. - Optimized `SetMulti` and `GetMulti` to group keys by shard. - Updated `cleanupExpiredItems` to iterate and lock shards individually, preventing "stop-the-world" pauses. - Preserved lifecycle management using a dedicated `lifecycleMu`. - Updated `GetMetrics` to aggregate stats from all shards.
…13428490407117788011 Refactor MemoryStore to use sharded storage
- Kept agnostic PubSub interface (In-Memory & GCP support) - Preserved batch operations and metrics features - Maintained comprehensive documentation - Merged improved documentation structure from root
Copilot
AI
changed the title
[WIP] Fix merge conflicts in metrics and batch operations
Resolve merge conflicts between feature and root branches
Dec 31, 2025
7464de5
into
feature/metrics-and-batch-ops-8871551962453094290
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PR #12 had merge conflicts with the root branch due to divergent PubSub implementations. The feature branch introduced an agnostic PubSub interface supporting both In-Memory and GCP backends, while root had a pattern-based implementation.
Resolution Strategy
PubSubClientinterface and implementationsThe merged codebase maintains the advanced feature set while improving documentation completeness.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.