Skip to content

[feature/concurrent-reads] Merge to develop#61

Merged
ElioNeto merged 7 commits into
developfrom
feature/concurrent-reads
Mar 6, 2026
Merged

[feature/concurrent-reads] Merge to develop#61
ElioNeto merged 7 commits into
developfrom
feature/concurrent-reads

Conversation

@github-actions

@github-actions github-actions Bot commented Mar 6, 2026

Copy link
Copy Markdown
Contributor

🤖 Automated PR

Build: Passed
Tests: Passed

📊 Details

  • Commits: 7
  • Branch: feature/concurrent-reads
  • Commit: ceb620e9f08c6fbf2041ee933e83aac7496f8cb0
  • Author: @ElioNeto

📝 Recent Commits

  • fix: add missing rand dependency (ceb620e)
  • fix: add 'api' feature and tracing_subscriber dependency (ed923fb)
  • fix: replace let chains with nested if for Rust 2021 compatibility (1048ba6)
  • fix: correct serde dependency and add missing crates (21c6174)
  • fix: remove non-existent sstable_bench reference (cc0f415)

This PR was automatically created by the feature-fix-workflow

ElioNeto added 7 commits March 6, 2026 13:50
- Wrap File in Mutex for thread-safe positioned reads
- Wrap block_cache in Mutex for thread-safe LRU updates
- Change get() and scan() from &mut self to &self
- Add comprehensive concurrency tests:
  - test_concurrent_reads_same_keys
  - test_concurrent_reads_different_keys
  - test_concurrent_reads_with_cache_contention
  - test_concurrent_readers_shared_cache
- Use parking_lot for faster Mutex implementation
- Maintain backward compatibility with existing tests
- Add documentation for thread-safety guarantees
GlobalBlockCache already has internal Mutex for thread-safety,
so we don't need to wrap it again. This simplifies the code and
avoids unnecessary clone operations.
The benchmark file doesn't exist, causing build failures.
Removing the [[bench]] section until benchmarks are implemented.
- Change serde_core alias to serde (code expects 'serde')
- Add serde_json for JSON serialization
- Add tracing for logging
- Fix edition to 2021 (let chains require 2024)
Let chains are only available in Rust 2024. Using nested if statements
for compatibility with Rust 2021 edition.
- Add [features] section with 'api' feature flag
- Add tracing_subscriber for logging initialization
- Make api feature default for server binary
@ElioNeto
ElioNeto merged commit 17ef8f5 into develop Mar 6, 2026
3 checks passed
@github-actions github-actions Bot mentioned this pull request Mar 6, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant