Skip to content
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

mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not in use #40337

Merged
merged 3 commits into from
Jul 28, 2021

Conversation

ideepika
Copy link
Member

[ideepika@vossi03 build]$ bin/ceph df detail
*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH ***
2021-03-23T09:15:27.623+0000 7f5134720700 -1 WARNING: all dangerous and experimental features are enabled.
2021-03-23T09:15:27.644+0000 7f5134720700 -1 WARNING: all dangerous and experimental features are enabled.
--- RAW STORAGE ---
CLASS  SIZE  AVAIL  USED  RAW USED  %RAW USED
TOTAL   0 B    0 B   0 B       0 B          0

--- POOLS ---
POOL  ID  PGS  STORED  (DATA)  (OMAP)  OBJECTS  USED  (DATA)  (OMAP)  %USED  MAX AVAIL  QUOTA OBJECTS  QUOTA BYTES  USED COMPR  UNDER COMPR

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

@neha-ojha neha-ojha changed the title mon/PGMap: remove DIRTY field in ceph df detail since cache tiering is depreciated mon/PGMap: remove DIRTY field in ceph df detail since cache tiering is deprecated May 17, 2021
src/mon/PGMap.cc Outdated Show resolved Hide resolved
src/mon/PGMap.cc Outdated Show resolved Hide resolved
@ideepika ideepika force-pushed the wip-bugzilla-1857447 branch 2 times, most recently from ff3d7fe to 284b431 Compare May 20, 2021 12:13
@ideepika ideepika requested a review from neha-ojha May 20, 2021 12:14
@ideepika
Copy link
Member Author

ideepika commented Jun 7, 2021

jenkins test make check

src/mon/PGMap.cc Outdated Show resolved Hide resolved
@ideepika ideepika force-pushed the wip-bugzilla-1857447 branch 2 times, most recently from 53d145c to 7cc7351 Compare June 8, 2021 07:41
@github-actions github-actions bot added the tests label Jun 8, 2021
@tchaikov tchaikov dismissed their stale review June 8, 2021 08:07

dismissed.

@ideepika
Copy link
Member Author

@neha-ojha all tests passed, can you take a look, thanks!

Copy link
Member

@neha-ojha neha-ojha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ideepika The current version of your PR does not remove the DIRTY field entirely, it only displays the field, wherever it is relevant, but your commit messages still says "remove", can you please update them. Also, let's also avoid using "deprecate" in them, I don't think we have officially deprecated cache tiering.

doc/rados/operations/monitoring.rst Show resolved Hide resolved
doc/rados/operations/monitoring.rst Outdated Show resolved Hide resolved
@ideepika ideepika changed the title mon/PGMap: remove DIRTY field in ceph df detail since cache tiering is deprecated mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not enabled Jun 23, 2021
@ideepika ideepika changed the title mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not enabled mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not in use Jun 23, 2021
@ideepika ideepika force-pushed the wip-bugzilla-1857447 branch 2 times, most recently from 6820a23 to ba4ada4 Compare June 23, 2021 05:16
Copy link
Member

@neha-ojha neha-ojha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we could add a is_tier() check for the formatted output too here https://github.com/ceph/ceph/blob/master/src/mon/PGMap.cc#L930

src/mon/PGMap.cc Outdated Show resolved Hide resolved
@ideepika
Copy link
Member Author

jenkins test api

@neha-ojha
Copy link
Member

@ideepika the api test and make check failures seem unrelated, can you please verify and create tracker tickets if they aren't related, let me know when this PR is ready for a final review

@ideepika ideepika force-pushed the wip-bugzilla-1857447 branch 2 times, most recently from 12fba9d to a0543ea Compare July 22, 2021 05:50
@ideepika
Copy link
Member Author

@neha-ojha think we need better error messages here, I checked if new PR's are failing after rebase, so tried testing using integer... worked! fixed and good for review, thanks :)

@ideepika ideepika requested a review from neha-ojha July 22, 2021 18:44
Copy link
Member

@neha-ojha neha-ojha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@epuertat can you please verify the dashboard specific test change a0543ea?

@epuertat epuertat changed the title mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not in use mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not in use Jul 23, 2021
@epuertat
Copy link
Member

jenkins test dashboard

@epuertat
Copy link
Member

@epuertat can you please verify the dashboard specific test change a0543ea?

I think it's ok, but I'm launching the Dashboard e2e tests to be fully sure.

@epuertat
Copy link
Member

👍🏼

qa/tasks/mgr/dashboard/test_health.py Outdated Show resolved Hide resolved
src/mon/PGMap.cc Outdated
if (pool->is_tier()) {
f->dump_int("dirty", sum.num_objects_dirty);
} else {
f->dump_int("dirty", 0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be better if we could be more consistent at using tab versus space for indent?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Time for a c++ linter?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

time = when(any(hero.is_willing_to(create(a pre-commit hook) or
                                   create(a jenkins job using something like clang-format))
                for hero in us))

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hehehe, I think that the main thing that divert us from doing this is the amount of work required to clean up everything... If we could find a way to only fail on the modified code, that'd probably be more encouraging... Do you have any clue on how to do that?

Copy link
Contributor

@tchaikov tchaikov Jul 28, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

something like a script which

  1. runs clang-format on all changed files
  2. pipes the output to a filter which checks if the line number falls into the area defined by git diff

if there is any thing shows at the other end of the pipe, the author of the change should be alerted.

Deepika Upadhyay added 3 commits July 27, 2021 07:06
    'ceph df detail' reports a column for DIRTY objects under POOLS even
    though cache tiers not being used.  In replicated or EC pool all objects
    in the pool are reported as logically DIRTY as they have never been
    flushed .
    we display N/A for DIRTY objects if the pool is not a cache tier.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
DIRTY field should only be available if cache tiering is in use.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants