Skip to content

Conversation

@artemananiev
Copy link
Contributor

Fix summary:

  • When HDHM buckets are processed, a check if added if a bucket has really been updated or not
  • If a bucket is not updated, the corresponding StoreBucketTask is not scheduled, the bucket is just closed
  • A new unit test is added for a corner case, when there are some dirty leaves during flush, but all of them are at the same path

Fixes: #21954
Signed-off-by: Artem Ananev [email protected]

@artemananiev artemananiev added this to the v0.69 milestone Nov 1, 2025
@artemananiev artemananiev self-assigned this Nov 1, 2025
@artemananiev artemananiev added Performance Issues related to performance concerns. Platform Virtual Map labels Nov 1, 2025
@artemananiev artemananiev requested a review from a team as a code owner November 1, 2025 02:42
@artemananiev artemananiev added the Platform Tickets pertaining to the platform label Nov 1, 2025
@lfdt-bot
Copy link

lfdt-bot commented Nov 1, 2025

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@codecov
Copy link

codecov bot commented Nov 1, 2025

Codecov Report

❌ Patch coverage is 79.59184% with 10 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...m/swirlds/merkledb/files/hashmap/ParsedBucket.java 12.50% 7 Missing ⚠️
...ava/com/swirlds/merkledb/files/hashmap/Bucket.java 70.00% 3 Missing ⚠️

Impacted file tree graph

@@             Coverage Diff              @@
##               main   #21960      +/-   ##
============================================
- Coverage     70.82%   70.81%   -0.02%     
- Complexity    24397    24398       +1     
============================================
  Files          2667     2667              
  Lines        104233   104249      +16     
  Branches      10948    10954       +6     
============================================
- Hits          73825    73823       -2     
- Misses        26359    26382      +23     
+ Partials       4049     4044       -5     
Files with missing lines Coverage Δ Complexity Δ
...swirlds/merkledb/files/hashmap/BucketMutation.java 95.65% <100.00%> (-0.27%) 18.00 <3.00> (ø)
...wirlds/merkledb/files/hashmap/HalfDiskHashMap.java 77.21% <100.00%> (+0.33%) 51.00 <2.00> (+3.00)
...ava/com/swirlds/merkledb/files/hashmap/Bucket.java 86.29% <70.00%> (-0.19%) 57.00 <0.00> (+1.00) ⬇️
...m/swirlds/merkledb/files/hashmap/ParsedBucket.java 71.91% <12.50%> (-1.19%) 23.00 <0.00> (ø)

... and 11 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@codacy-production
Copy link

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
-0.02% (target: -1.00%) 79.59%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (96ee3ef) 104138 77829 74.74%
Head commit (80250f4) 104154 (+16) 77822 (-7) 74.72% (-0.02%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#21960) 49 39 79.59%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@artemananiev artemananiev merged commit 15d522d into main Nov 3, 2025
74 of 75 checks passed
@artemananiev artemananiev deleted the 21954-M-hdhm-skip-unchanged-buckets branch November 3, 2025 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Performance Issues related to performance concerns. Platform Virtual Map Platform Tickets pertaining to the platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HDHM should skip writing unchanged buckets to disk

6 participants