Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
716cb39
feat(watch) #196: Implement client Watch gRPC streaming service
JoshuaChi Dec 6, 2025
5a5675e
fix(test) #197: Integration tests not executed in make test-all
JoshuaChi Dec 6, 2025
c58341c
fix(tests) #197: fix integration test failures and improve reliability
JoshuaChi Dec 7, 2025
6d2dd16
refactor(client) #197: Add explicit read consistency APIs and update …
JoshuaChi Dec 7, 2025
b4fd383
feat #198: Introduce Committed Vote mechanism for linear consistence …
JoshuaChi Dec 7, 2025
98a3edb
test #197: Fix failing integration and example tests
JoshuaChi Dec 7, 2025
56c5264
fix #200: Allow leader self-removal in cluster configuration changes
JoshuaChi Dec 9, 2025
ad87887
refactor #201: Separate static membership from dynamic leader state
JoshuaChi Dec 9, 2025
a41d4b4
test #203: Add current_leader_id lifecycle integration tests and fix …
JoshuaChi Dec 9, 2025
7e66f73
perf #196: Add benchmark report for 2025-12-09
JoshuaChi Dec 9, 2025
0922535
test #196: Fix port allocation race condition and enable parallel tests
JoshuaChi Dec 10, 2025
0723628
fix #196: Release TCP listeners before server bind in parallel tests
JoshuaChi Dec 10, 2025
3944db9
perf #194: Replace DashMap::is_empty() with AtomicUsize for O(1) watc…
JoshuaChi Dec 10, 2025
d2f4bcf
fix #196: Fix lease deadlock in get_expired_keys and test_scale_singl…
JoshuaChi Dec 11, 2025
ced41d0
refactor #196: Simplify TTL API from Option<u64> to u64
JoshuaChi Dec 11, 2025
9ba3295
test #196: Fix flaky watch and scale tests with proper configuration
JoshuaChi Dec 11, 2025
a193409
fix #196: Fix test compilation and concurrency issues
JoshuaChi Dec 11, 2025
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
28 changes: 28 additions & 0 deletions .claudeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

node_modules/
vendor/
.venv/
venv/


dist/
build/
out/
target/


.git/
.svn/


*.log
*.pdf
*.zip
*.tar.gz
*.mp4
*.mp3


.DS_Store
*.pyc
__pycache__/
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,4 @@ lcov.info

CONTEXT
*.bak*
.claudeignore
2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ exclude = [
"examples/three-nodes-cluster",
"examples/single-node-expansion",
"examples/quick-start",
"examples/service-discovery-standalone",
"examples/service-discovery-embedded",
"benches/d-engine-bench",
]

Expand Down
28 changes: 17 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ RUST_LOG_LEVEL ?= d_engine_server=debug,d_engine_core=debug,d_engine_client=debu
RUST_BACKTRACE ?= 1

# Workspace member crates
WORKSPACE_MEMBERS := d-engine-proto d-engine-core d-engine-client d-engine-server d-engine-docs
WORKSPACE_MEMBERS := d-engine-proto d-engine-core d-engine-client d-engine-server d-engine-docs d-engine

# Color codes for formatted output
RED := \033[0;31m
Expand Down Expand Up @@ -234,7 +234,7 @@ build-release: check check-workspace
test: install-tools check-workspace
@echo "$(BLUE)Running tests on all targets...$(NC)"
@RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test --workspace --lib --bins --tests --examples --no-fail-fast -- --test-threads=1 --nocapture
$(CARGO) test --workspace --lib --bins --tests --examples --features d-engine-server/rocksdb --no-fail-fast -- --nocapture
Comment thread
JoshuaChi marked this conversation as resolved.
@echo "$(GREEN)✓ All tests passed$(NC)"

## test-detailed Run tests with detailed failure output for each crate
Expand All @@ -244,15 +244,21 @@ test-detailed: install-tools check-workspace
@echo "$(BLUE)Running tests with detailed output per crate...$(NC)"
@for member in $(WORKSPACE_MEMBERS); do \
echo "$(CYAN)Testing crate: $$member$(NC)"; \
RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test -p $$member --lib --tests --no-fail-fast -- --test-threads=1 --nocapture || \
{ echo "$(RED)✗ Tests failed in crate: $$member$(NC)"; exit 1; }; \
if [ "$$member" = "d-engine-server" ]; then \
RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test -p $$member --lib --tests --features rocksdb --no-fail-fast -- --nocapture || \
{ echo "$(RED)✗ Tests failed in crate: $$member$(NC)"; exit 1; }; \
else \
RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test -p $$member --lib --tests --no-fail-fast -- --nocapture || \
{ echo "$(RED)✗ Tests failed in crate: $$member$(NC)"; exit 1; }; \
fi; \
echo "$(GREEN)✓ Tests passed for crate: $$member$(NC)"; \
echo ""; \
done
@echo "$(BLUE)Running examples tests...$(NC)"
@RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test --workspace --examples --no-fail-fast -- --test-threads=1 --nocapture || \
$(CARGO) test --workspace --examples --features d-engine-server/rocksdb --no-fail-fast -- --nocapture || \
{ echo "$(RED)✗ Examples tests failed$(NC)"; exit 1; }
@echo "$(GREEN)✓ All examples tests passed$(NC)"
@echo "$(GREEN)✓ All tests passed with detailed output$(NC)"
Expand All @@ -268,7 +274,7 @@ test-unit: install-tools check-workspace
test-integration: install-tools check-workspace
@echo "$(BLUE)Running integration tests...$(NC)"
@RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test --workspace --tests --no-fail-fast
$(CARGO) test --workspace --tests --features d-engine-server/rocksdb --no-fail-fast -- --nocapture
@echo "$(GREEN)✓ Integration tests passed$(NC)"

## test-doc Run documentation tests only
Expand All @@ -281,7 +287,7 @@ test-doc: install-tools check-workspace
test-examples: install-tools check-workspace
@echo "$(BLUE)Running examples tests...$(NC)"
@RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test --workspace --examples --no-fail-fast -- --test-threads=1 --nocapture
$(CARGO) test --workspace --examples --features d-engine-server/rocksdb --no-fail-fast -- --nocapture
@echo "$(GREEN)✓ Examples tests passed$(NC)"

## test-crate Run tests for a specific crate (usage: make test-crate CRATE=d-engine)
Expand All @@ -292,7 +298,7 @@ ifndef CRATE
endif
@echo "$(BLUE)Running tests for crate: $(CRATE)$(NC)"
@RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test -p $(CRATE) --lib --tests --no-fail-fast -- --test-threads=1 --nocapture --show-output
$(CARGO) test -p $(CRATE) --lib --tests --no-fail-fast -- --nocapture --show-output
@echo "$(GREEN)✓ All tests passed for crate: $(CRATE)$(NC)"

## test-all Run all tests: unit + integration + doc + benchmarks + clippy checks
Expand All @@ -301,9 +307,9 @@ test-all: clippy test-detailed test-doc bench

## test-verbose Run tests with verbose output and single-threaded execution
test-verbose: install-tools check-workspace
@echo "$(BLUE)Running tests (verbose, single-threaded)...$(NC)"
@echo "$(BLUE)Running tests (verbose)...$(NC)"
@RUST_LOG=$(RUST_LOG_LEVEL) RUST_BACKTRACE=$(RUST_BACKTRACE) \
$(CARGO) test --workspace --lib --tests --no-fail-fast --test-threads=1 --show-output
$(CARGO) test --workspace --lib --tests --features d-engine-server/rocksdb --no-fail-fast --show-output
@echo "$(GREEN)✓ Verbose test run completed$(NC)"

# ============================================================================
Expand Down
20 changes: 10 additions & 10 deletions benches/d-engine-bench/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading