-
Notifications
You must be signed in to change notification settings - Fork 285
Fix ss leak main #22669
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
Fix ss leak main #22669
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||
User description
What type of PR is this?
Which issue(s) this PR fixes:
issue #22666
What this PR does / why we need it:
Fix ss leak main
PR Type
Bug fix, Enhancement
Description
Implement unified GC scheduler to consolidate multiple goroutines into single scheduler
Replace manual snapshot partition management with new SnapshotManager for better lifecycle control
Add LRU eviction and age-based garbage collection for snapshot partitions
Introduce comprehensive metrics tracking for snapshot cache performance and GC operations
Diagram Walkthrough
File Walkthrough
tracked_partitions.go
New snapshot manager with LRU and age-based GCpkg/vm/engine/disttae/tracked_partitions.go
partition lifecycle management
eviction
strategies
observability
engine.go
Integrate unified GC scheduler into enginepkg/vm/engine/disttae/engine.go
goroutines into single scheduler
collection
logtail_consumer.go
Remove individual GC goroutines from push clientpkg/vm/engine/disttae/logtail_consumer.go
types.go
Replace manual snapshot map with managerpkg/vm/engine/disttae/types.go
disttae_engine.go
Start GC scheduler in test engine initializationpkg/vm/engine/test/testutil/disttae_engine.go
setup
distributed_tae.go
Start unified GC scheduler in servicepkg/cnservice/distributed_tae.go
initialization
tracked_partitions_test.go
Complete test coverage for snapshot managerpkg/vm/engine/disttae/tracked_partitions_test.go
SnapshotManager
metrics tracking
db.go
Refactor snapshot partition caching to use managerpkg/vm/engine/disttae/db.go
SnapshotManager.Find/Add calls
failures