-
Notifications
You must be signed in to change notification settings - Fork 537
HDDS-10374. Make container scanner generate merkle trees during the scan #7490
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
Draft
errose28
wants to merge
63
commits into
apache:HDDS-10239-container-reconciliation
Choose a base branch
from
errose28:HDDS-10374-scanner-builds-mt
base: HDDS-10239-container-reconciliation
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 1 commit
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
a8b8dbc
Merge branch 'HDDS-10239-container-reconciliation' into HDDS-10374-sc…
errose28 999a913
Add code to build and write the tree from the data scanners
errose28 b0d1ba9
Update todo in acceptance test
errose28 382bce2
Add unit tests for tree generation by scanners based on container state
errose28 28b1889
Add initial (failing) unit test for KeyValueContaienrCheck
errose28 dc182e8
Update container data checksum when building the tree
errose28 a3401a9
Fix handling of fully truncated block of 0 size
errose28 a25d44d
Add unit tests for new addBlock method in tree
errose28 7550a3c
Test that SCM gets a checksum with the container report
errose28 847f8d8
Add (failing) tests that SCM sees updated checksums
errose28 452c294
Update acceptance test
errose28 dc45eca
Add javadoc for tree generation from metadata
errose28 1cb291f
Data integration tests passing
errose28 d6b21d2
Don't generate tree from metadata for unhealthy container
errose28 2a2dbbd
Checkstyle
errose28 c9a077c
Marking container unhealthy should not write a merkle tree (test fix)
errose28 0bbbdc5
Checkstyle
errose28 7b971a9
Address review comments
errose28 15d6848
Merge branch 'HDDS-10239-container-reconciliation' into HDDS-10374-sc…
errose28 0989881
Initial use of on demand scan in TestKeyValueHandler
errose28 834be96
Make on-demand scanner a normal instance
errose28 e73757e
Register on-demand scan callback in ContainerSet
errose28 f0d8efe
Migrate scanContainer usage in prod code
errose28 4cb054c
Switch terminology from error to scan. Add existence checks
errose28 8abedb6
Update tests
errose28 577a075
Add unit test for ContainerSet
errose28 4c8d843
Checkstyle
errose28 0bd4127
Improve comments and test
errose28 61fae12
Merge branch 'non-static-on-demand-scan' into HDDS-10374-scanner-buil…
errose28 61f30f3
WIP migrate reconciliation unit tests
errose28 192eb7b
Most tests passing
errose28 0cf79f6
Improve logging in test and prod code
errose28 8b30f54
Fix tree tracking during reconcile process
errose28 9c74f4b
Use mixin to standardize scanner operations, log checksum changes in …
errose28 d550669
Logging improvements
errose28 97e02ea
Add checksum validation, generate readable data
errose28 22b41b8
Use tree writer between peer updates. All tests pass
errose28 f49a9dd
Wait for on-demand scans to complete in test
errose28 f5d4dbf
Improve char data generation, reset scan metrics
errose28 1140c90
Update test name
errose28 e0aa7cb
Checkstyle
errose28 62d7794
Merge branch 'HDDS-10239-container-reconciliation' into HDDS-10374-sc…
errose28 9c3b87c
Merge branch 'reconcile-unit-test-framework' into HDDS-10374-scanner-…
errose28 9322b4a
Fix TODOs dependent on this patch
errose28 9b75957
Rename container scan helper
errose28 f615275
Add comment on failure type
errose28 dadc829
Fix checkstyle unique to this PR
errose28 076a82e
Merge branch 'HDDS-10239-container-reconciliation' into HDDS-10374-sc…
errose28 cc55527
Fix sending ICR when only checksum changes (pending test)
errose28 35879b4
Updates after reviewing diff
errose28 1ab8c14
Add unit test for KeyValueHandler#updateContainerChecksum
errose28 6c8be07
Improve and update scanner integration tests
errose28 60a1a6e
Add unit tests that checksum update failure does not stop container s…
errose28 d035c17
Checkstyle
errose28 53336ae
Fix scan gap for unit test
errose28 56e7ed4
Merge branch 'HDDS-10239-container-reconciliation' into HDDS-10374-sc…
errose28 2504638
Fix metadata scan test
errose28 4be9992
Update based on review
errose28 c0b89dd
pmd
errose28 e24a24e
Update ContainerData checksum info after reconcile with each peer
errose28 dc27f74
Support bypassing scan gap (tests are failing)
errose28 e2974b4
Checkstyle
errose28 34b4b9a
Fix scan gap bug. All tests expected to pass
errose28 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Fix handling of fully truncated block of 0 size
- Loading branch information
commit a3401a93835e59193feedf0f3528dd9cd398c1a5
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,9 +32,10 @@ public enum FailureType { | |
MISSING_METADATA_DIR, | ||
MISSING_CONTAINER_FILE, | ||
MISSING_CHUNKS_DIR, | ||
MISSING_CHUNK_FILE, | ||
MISSING_DATA_FILE, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. qq: Is this for the cases when There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes. I changed the name so it is agnostic of container layout. |
||
CORRUPT_CONTAINER_FILE, | ||
CORRUPT_CHUNK, | ||
MISSING_CHUNK, | ||
INCONSISTENT_CHUNK_LENGTH, | ||
INACCESSIBLE_DB, | ||
WRITE_FAILURE, | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.