Project

General

Profile

Actions

Bug #38795

closed

fsck on mkfs breaks ObjectStore/StoreTestSpecificAUSize.BlobReuseOnOverwrite

Added by Igor Fedotov about 5 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
Low
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

if bluestore_fsck_on_mkfs is enabled the test case fails in Mimic and Luminous:
[ RUN ] ObjectStore/StoreTestSpecificAUSize.BlobReuseOnOverwrite/2
/home/if/mimic/src/test/objectstore/store_test.cc:6016: Failure
Expected: logger->get(l_bluestore_blobs)
Which is: 0
To be equal to: 1u
Which is: 1

The root cause is somewhere within cache autotuner stuff that improperly(?) calculates "data_alloc' and 'meta_alloc' after fsck is completed:
2019-03-18 15:08:31.137 7fb829f8d700 20 bluestore.MempoolThread(0x5625de4c4b08) _trim_shards cache_size: 2841609829 kv_alloc: 114085068 kv_used: 523 meta_all
oc: 13421772 meta_used: 0 data_alloc: 6710886 data_used: 0
...
2019-03-18 15:08:31.609 7fb8359e4600 1 bluestore(bluestore.test_temp_dir) _fsck <<<FINISH>>> with 0 errors, 0 repaired, 0 remaining in 0.536012 seconds
...
2019-03-18 15:08:31.621 7fb830f9b700 5 bluestore.MempoolThread(0x5625de4c4b08) _trim_shards cache_size: 2841547775 kv_alloc: 134217728 kv_used: 523 meta_alloc: 0 meta_used: 0 data_alloc: 0 data_used: 0

Note zero values for the parameters.

As a result unneeded cache trim takes place and breaks UT expectation.

Nautilus+ releases doesn't have the issue which is probably related to modifications of BlueStore::MempoolThread::_trim_shards which introduces different calculation for meta|data_alloc parameters.

Not sure we should fix the issue, I'm creating the ticket primarily for information purposes


Related issues 1 (0 open1 closed)

Copied to bluestore - Backport #39638: luminous: fsck on mkfs breaks ObjectStore/StoreTestSpecificAUSize.BlobReuseOnOverwriteResolvedIgor FedotovActions
Actions #1

Updated by Igor Fedotov about 5 years ago

The issue persist till the second cache rebalance occurs after fsck completion. So a workaround for UT might be to wait for "bluestore_cache_autotune_interval" prior to sensitive code execution.

Actions #2

Updated by Igor Fedotov about 5 years ago

  • Status changed from 12 to Fix Under Review
  • Pull request ID set to 27055
Actions #3

Updated by Igor Fedotov about 5 years ago

  • Assignee set to Igor Fedotov
Actions #4

Updated by Yuri Weinstein almost 5 years ago

Igor Fedotov wrote:

https://github.com/ceph/ceph/pull/27055

merged

Actions #5

Updated by Igor Fedotov almost 5 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #6

Updated by Igor Fedotov almost 5 years ago

  • Backport set to luminous
Actions #7

Updated by Igor Fedotov almost 5 years ago

  • Copied to Backport #39638: luminous: fsck on mkfs breaks ObjectStore/StoreTestSpecificAUSize.BlobReuseOnOverwrite added
Actions #8

Updated by Igor Fedotov over 4 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF