os/bluestore: improve cache_onode and cache_buffer mempool accounting#40066
os/bluestore: improve cache_onode and cache_buffer mempool accounting#40066
Conversation
8b053cb to
1085a31
Compare
27c1d56 to
15c7c87
Compare
|
15c7c87 to
b377542
Compare
tchaikov
left a comment
There was a problem hiding this comment.
/home/jenkins-build/build/workspace/ceph-pr-docs/doc/dev/mempool_accounting.rst:32: WARNING: Unexpected indentation.
looking for now-outdated files... none found
pickling environment... done
f1db451 to
f5ce81f
Compare
|
@tchaikov @neha-ojha should we merge this? |
barring one nit, looks good to go with tests passing |
92e719f to
a57b0cb
Compare
|
jenkins test make check |
0b3d9b2 to
7e987d1
Compare
7e987d1 to
6c88d9a
Compare
|
@ideepika please confirm if this PR caused this failure |
|
@kamoltat looks related to me, i will test and work on a fix for this during the weekend, thanks for the mention! |
Thank you, Deepika 😊 |
|
sorry, have to delay on this a bit, i will try to finish by this week, thanks! |
3c81399 to
7d82664
Compare
src/test/objectstore/store_test.cc
Outdated
| ASSERT_TRUE(bl_eq(expected, bl)); | ||
| ASSERT_EQ(logger->get(l_bluestore_blobs), 1u); | ||
| ASSERT_EQ(logger->get(l_bluestore_extents), 2u); | ||
| ASSERT_EQ(mempool::bluestore_blob::allocated_items(), 1u); |
There was a problem hiding this comment.
@ideepika - do you have any ideas how this modification could fix the following issue @kamoltat shared before:
g057e8043/rpm/el8/BUILD/ceph-18.0.0-88-g057e8043/src/test/objectstore/store_test.cc:7165: Failure
2022-09-28T06:47:07.984 INFO:teuthology.orchestra.run.smithi050.stdout:Expected equality of these values:
2022-09-28T06:47:07.984 INFO:teuthology.orchestra.run.smithi050.stdout: mempool::bluestore_blob::allocated_items()
2022-09-28T06:47:07.984 INFO:teuthology.orchestra.run.smithi050.stdout: Which is: 9
2022-09-28T06:47:07.985 INFO:teuthology.orchestra.run.smithi050.stdout: 1u
2022-09-28T06:47:07.985 INFO:teuthology.orchestra.run.smithi050.stdout: Which is: 1
2022-09-28T06:47:08.498 INFO:teuthology.orchestra.run.smithi050.stdout:==> rm -r bluestore.test_temp_dir
To me this rather looks like some volatile behavior which causes mempool stats to vary. Wouldn't be more reliable to get rid of these stats instead?
There was a problem hiding this comment.
I think it is due to onode_cache_shard vector which is where we are accounting for onodes in this PR
I checked as well this seem to be true:
https://github.com/ceph/ceph/pull/40066/files#diff-157b0c4b175141aba18fe37a72d49ca9175e01f69a266595d495df86b5240e86R7010
@ifed01 is there a way we can shift this accounting to some point later?
There was a problem hiding this comment.
@ideepika - not sure I understand your point/question :( The above error was referring to bluestore_blob mempool. onode_cache_shard looks irrelevant in this case...
Anyway my suggestion is just not introduce these two new assertions for bluestore_blob and
bluestore_extent mempools. And hence avoid this unclear failure which we don't know root cause for yet.
There was a problem hiding this comment.
sure, updated the changes
* move physical extent to mempool bluestore_extent from cache_other * move bluestore_shared_blob_t from cache_other to shared_blob mempool Signed-off-by: Deepika Upadhyay <deepika@koor.tech>
7d82664 to
0bf3519
Compare
|
jenkins make check arm64 |
|
jenkins test make check arm64 |
|
Rados suite review: https://pulpito.ceph.com/?branch=wip-yuri-testing-2022-12-06-1204 Failures, unrelated: Details: |
Signed-off-by: Deepika Upadhyay dupadhya@redhat.com
Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume tox