Skip to content

Improve gc#3845

Merged
jolestar merged 3 commits into
mainfrom
gc_improve_v2
Dec 4, 2025
Merged

Improve gc#3845
jolestar merged 3 commits into
mainfrom
gc_improve_v2

Conversation

@jolestar

@jolestar jolestar commented Dec 4, 2025

Copy link
Copy Markdown
Contributor

Summary

Summary about this PR

  • Closes #issue

Copilot AI review requested due to automatic review settings December 4, 2025 06:34
@vercel

vercel Bot commented Dec 4, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
rooch-portal-v2.1 Ready Ready Preview Comment Dec 4, 2025 0:33am
test-portal Ready Ready Preview Comment Dec 4, 2025 0:33am
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
rooch Ignored Ignored Preview Dec 4, 2025 0:33am

@github-actions

github-actions Bot commented Dec 4, 2025

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the garbage collection system by adding configurable RocksDB performance options, introducing a marker strategy selection mechanism, and refactoring child node extraction logic for better maintainability.

  • Adds three new RocksDB configuration options: compaction_readahead_size, allow_mmap_reads, and advise_random_on_open
  • Introduces a marker strategy enum (Atomic vs Locked) with command-line configuration support
  • Refactors node child extraction into a unified extract_child_nodes function with comprehensive test coverage

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
moveos/raw-store/src/rocks/mod.rs Adds RocksDB configuration storage and applies new performance options (compaction readahead, mmap, advise random)
moveos/moveos-config/src/store_config.rs Defines three new RocksDB configuration fields with defaults
crates/rooch/src/utils.rs Updates RocksDB initialization to pass configuration to column family options
crates/rooch/src/commands/db/commands/gc.rs Adds marker strategy command-line option and conversion logic
crates/rooch-pruner/src/util.rs Introduces extract_child_nodes function with comprehensive test coverage
crates/rooch-pruner/src/reachability.rs Refactors to use new extract_child_nodes function, removing duplicated logic
crates/rooch-pruner/src/marker.rs Defines MarkerStrategy enum with Display and serialization support, updates create_marker signature
crates/rooch-pruner/src/garbage_collector.rs Implements marker auto-sizing with cap, strategy-based marker creation, and improved logging
crates/rooch-pruner/src/config.rs Adds marker_strategy field to GC configuration with default
crates/rooch-pruner/Cargo.toml Adds prometheus dependency for test utilities
crates/rooch-config/src/store_config.rs Propagates new RocksDB fields through configuration builder
crates/rooch-benchmarks/benches/bench_gc.rs Updates benchmark to use tuned batch size variable
Cargo.lock Reflects prometheus dependency addition

@github-actions

github-actions Bot commented Dec 4, 2025

Copy link
Copy Markdown

Docker images for this PR are available:

  • ghcr.io/rooch-network/rooch:pr-3845
  • ghcr.io/rooch-network/rooch:pr-3845-e2fe59c
  • ghcr.io/rooch-network/rooch:pr-3845_debug
  • ghcr.io/rooch-network/rooch:pr-3845-e2fe59c_debug

Pull commands:

  • docker pull ghcr.io/rooch-network/rooch:pr-3845
  • docker pull ghcr.io/rooch-network/rooch:pr-3845-e2fe59c
  • docker pull ghcr.io/rooch-network/rooch:pr-3845_debug
  • docker pull ghcr.io/rooch-network/rooch:pr-3845-e2fe59c_debug

@jolestar jolestar merged commit db13f9f into main Dec 4, 2025
17 checks passed
@jolestar jolestar deleted the gc_improve_v2 branch December 4, 2025 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants