-
Notifications
You must be signed in to change notification settings - Fork 458
ci(read unfinalized objects): Extends (add md-cache and file-cache configs) and refactors rapid_appends e2e tests #3539
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
base: master
Are you sure you want to change the base?
Conversation
d6c295a
to
64978d8
Compare
64978d8
to
c9bf214
Compare
c9bf214
to
ce5273f
Compare
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request extends the e2e tests for rapid appends to cover more scenarios, including different combinations of metadata and file caching. The changes are well-structured, using a scenario-based approach in TestMain
to run tests against multiple configurations. This makes the test suite more robust and easier to extend in the future.
0e72f62
to
3d71359
Compare
3d71359
to
232b85c
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3539 +/- ##
==========================================
- Coverage 79.68% 0 -79.69%
==========================================
Files 142 0 -142
Lines 18971 0 -18971
==========================================
- Hits 15117 0 -15117
+ Misses 3342 0 -3342
+ Partials 512 0 -512
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Pull request was converted to draft
Converted to draft, as I am refactoring this code based on my discussion with @vadlakondaswetha . Will reopen for review soon. |
0e59df9
to
764f166
Compare
/gemini summary |
/gemini review |
/gemini summary |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request refactors the rapid_appends
integration tests, introducing a suite-based structure that improves organization and maintainability. The separation into RapidAppendsSuite
, SingleMountRapidAppendsSuite
, and DualMountRapidAppendsSuite
handles different test scenarios effectively. The tests are extended to cover various metadata and file cache configurations. I have provided feedback on a potential bug in a test assertion, some redundant code, and minor style issues.
tools/integration_tests/rapid_appends/reads_after_appends_test.go
Outdated
Show resolved
Hide resolved
This comment was marked as resolved.
This comment was marked as resolved.
86cc6fd
to
6cadf98
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added few comments, PTAL.
tools/integration_tests/rapid_appends/reads_after_appends_test.go
Outdated
Show resolved
Hide resolved
85d2290
to
c36da0b
Compare
- add test configurations for metadata cache enable/disable - split test suite between single and dual mounts add configurable options in test change to prefix-check for metadata cache enabled test add more test scenarios pure refactor pure refactor pure refactor pure refactor some cosmetic changes based on self-review fix rebase issue restructure primaryMount and secondaryMount remove unwanted code refactor minor cleanup minor cleanup minor fixes address self-review comments Restrict secondary mount to RapidAppendsSuite This restricts primary mount to TestMain and secondary mount to RapidAppendsSuite class. minor code cleanup split RapidAppendsSuite into SingleMount and DualMount cleanup minor refactor refactor code and clean-up Move testdir creation to after mount for primary mount move saving primary mount logfile to TestMain Revert "move saving primary mount logfile to TestMain" This reverts commit de1b76d. address a review comment Address a self-review comment hasSecondaryMount -> enableSecondaryMount Address another review comment Split RapidAppendsSuite into single-mount and dual-mount. check read content size before and after metadata cache ttl expiry address some review comments Refactor rapid_appends tests cleanup further refactor wip stable passing point clear up fmt printf calls minor refactor another minor refactor more refactor Switch one of the tests from DualMount to SingleMount address gemini comments
fix a rebase issue fix another rebase issue fix another rebase issue
c36da0b
to
2415fe2
Compare
@vadlakondaswetha @meet2mky please review. I have addressed all your comments. |
Description
This pull request significantly enhances the e2e test package rapid_appends functionality in GCSFuse. The primary focus is on expanding test coverage to include various metadata and file cache configurations (b/433142062), ensuring correct read behavior for unfinalized objects, especially around metadata cache expiry (b/433143404). Concurrently, the test suite structure has undergone a substantial refactoring (b/433143407) to improve maintainability and provide more granular control over test environments.
Highlights
rapid_appends
test package, specifically enabling and disabling metadata and file caches. This ensures comprehensive validation of read operations on unfinalized objects under different caching scenarios.rapid_appends
test package has been refactored into three distinct test suites:RapidAppendsSuite
(base),SingleMountRapidAppendsSuite
, andDualMountRapidAppendsSuite
. This new structure allows each test to control its own mount flag sets, improving test isolation and management.Changelog
RapidAppendsSuite
and its helper methods, along with theTestAppendsAndRead
function.TestAppendSessionInvalidatedByAnotherClientUponTakeover
andTestContentAppendedInNonAppendModeNotVisibleTillClose
to run with various cache configurations, managing mount points within the test logic.TestAppendsAndReads
to specifically validate read consistency after appends across different metadata and file cache settings, including checks for metadata TTL expiry.TestMain
function, delegating mount setup to the new test suites.RapidAppendsSuite
(base),SingleMountRapidAppendsSuite
, andDualMountRapidAppendsSuite
to manage test environments and mount configurations more effectively.What is planned in next PR(s):
Link to the issue in case of a bug fix.
b/433142062
b/433143407
b/433143404
Testing details
Any backward incompatible change? If so, please explain.