IT: migrate RequestTimeout test to Rust using proxy - #493
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: QUIET Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
📝 WalkthroughWalkthroughThe PR adds a proxy-based Rust integration test for execution-profile request timeouts. The test covers statements and batches, validates server errors for unprofiled requests, and validates client timeout errors for profiled requests. It registers the test module and adds the test to the default Scylla and Cassandra filters. The previous C++ test documents the migration and CI exclusion. Sequence Diagram(s)sequenceDiagram
participant Test
participant CDriver
participant ScyllaProxy
participant Cluster
Test->>CDriver: Configure cluster and execution profile
CDriver->>ScyllaProxy: Send statement and batch requests
ScyllaProxy->>Cluster: Forward handshakes and metadata requests
ScyllaProxy-->>CDriver: Return server errors or drop frames
CDriver-->>Test: Report server errors or request timeouts
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
There was a problem hiding this comment.
Note
Quiet mode is enabled, so only the most important comments were posted inline. Other review comments are grouped below.
🟡 Other comments (1)
tests/src/integration/tests/test_exec_profile.cpp-248-250 (1)
248-250: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winCorrect the migration path.
Line 249 omits the
integrationdirectory. Usescylla-rust-wrapper/tests/integration/request_timeout.rs.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/src/integration/tests/test_exec_profile.cpp` around lines 248 - 250, Update the migration note in test_exec_profile.cpp to reference scylla-rust-wrapper/tests/integration/request_timeout.rs, preserving the existing statement about the test’s relocation and CI status.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Other comments:
In `@tests/src/integration/tests/test_exec_profile.cpp`:
- Around line 248-250: Update the migration note in test_exec_profile.cpp to
reference scylla-rust-wrapper/tests/integration/request_timeout.rs, preserving
the existing statement about the test’s relocation and CI status.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: QUIET
Plan: Pro Plus
Run ID: fb2582fa-2cdf-40a2-8ab5-229be7a5ea3c
📒 Files selected for processing (4)
Makefilescylla-rust-wrapper/tests/integration/main.rsscylla-rust-wrapper/tests/integration/request_timeout.rstests/src/integration/tests/test_exec_profile.cpp
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
scylladb/scylladb(auto-detected)
There was a problem hiding this comment.
Pull request overview
Migrates the flaky request-timeout coverage to a deterministic Rust proxy test without requiring a real cluster.
Changes:
- Adds statement and batch execution-profile timeout tests using dropped proxy responses.
- Registers the Rust test module.
- Excludes the legacy C++ test from CI cluster runs.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
tests/src/integration/tests/test_exec_profile.cpp |
Documents the test migration. |
scylla-rust-wrapper/tests/integration/request_timeout.rs |
Adds deterministic proxy-based timeout coverage. |
scylla-rust-wrapper/tests/integration/main.rs |
Registers the new test module. |
Makefile |
Excludes the flaky legacy test from cluster suites. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The ExecutionProfileTest.RequestTimeout has been flaky in the CI for long. This commit rewrites it using scylla-proxy in a reliable way, avoiding races. It's now run as a "unit test", because it no longer needs the real cluster. The original test is left as-is, but it's no longer run in the CI.
6a73724 to
d6fa73b
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Fixes: #309
The ExecutionProfileTest.RequestTimeout has been flaky in the CI for long. This commit rewrites it using scylla-proxy in a reliable way, avoiding races. It's now run as a "unit test", because it no longer needs the real cluster. The original test is left as-is, but it's no longer run in the CI.
Pre-review checklist
[ ] I have provided docstrings for the public items that I want to introduce.[ ] I have adjusted the documentation in./docs/source/.Makefilein{SCYLLA,CASSANDRA}_(NO_VALGRIND_)TEST_FILTER. -> disabled the replaced test.Fixes:annotations to PR description.