eBay / HomeStore

Storage Engine for block and key/value stores.
Apache License 2.0
23 stars 21 forks source link

Issue: 498 meta service long run fix #523

Closed yamingk closed 3 months ago

yamingk commented 3 months ago

Problem Desc:

We have a limitation on max chunk size (uint32_t) which is 4GB, which will be carved into portions in blk allocator with each portion maps to tens of thousands of nblks available for each portion. This specific test case specifiy max io size to to limitation that is larger than the portion total nblks and during the test, the io size is randomized and when it comes to larger than the limit, it can't find available allocation in any chunk so return failed.

Fix:

  1. adjust the test case to not exceed limitation
  2. refactor the code a little to get max chunk size from Chunk class.

Test:

Specific failed test (previously failing consistently) can pass with this.

codecov-commenter commented 3 months ago

:warning: Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 67.38%. Comparing base (1a0cef8) to head (82be2d8). Report is 49 commits behind head on master.

Files Patch % Lines
src/lib/device/virtual_dev.cpp 0.00% 1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #523 +/- ## =========================================== + Coverage 56.51% 67.38% +10.86% =========================================== Files 108 109 +1 Lines 10300 10424 +124 Branches 1402 1398 -4 =========================================== + Hits 5821 7024 +1203 + Misses 3894 2718 -1176 - Partials 585 682 +97 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.