Skip to content

mds: QuiesceDbManager: mark next retry event during bootstrap#57946

Merged
leonid-s-usov merged 1 commit intomainfrom
wip-lusov-qdb-bootstrap-event
Jun 20, 2024
Merged

mds: QuiesceDbManager: mark next retry event during bootstrap#57946
leonid-s-usov merged 1 commit intomainfrom
wip-lusov-qdb-bootstrap-event

Conversation

@leonid-s-usov
Copy link
Contributor

Fixes: https://tracker.ceph.com/issues/66406

Checklist

  • Tracker (select at least one)
    • References tracker ticket
  • Component impact
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • No doc update is appropriate
  • Tests (select at least one)
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 dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows
  • jenkins test rook e2e

@github-actions github-actions bot added cephfs Ceph File System tests labels Jun 9, 2024
@leonid-s-usov leonid-s-usov force-pushed the wip-lusov-qdb-bootstrap-event branch from a98ff4a to b3edbba Compare June 9, 2024 16:54
@leonid-s-usov leonid-s-usov requested a review from batrick June 9, 2024 16:55
@leonid-s-usov
Copy link
Contributor Author

jenkins test make check

@leonid-s-usov
Copy link
Contributor Author

jenkins test api

3 similar comments
@leonid-s-usov
Copy link
Contributor Author

jenkins test api

@leonid-s-usov
Copy link
Contributor Author

jenkins test api

@leonid-s-usov
Copy link
Contributor Author

jenkins test api

@leonid-s-usov leonid-s-usov requested a review from a team June 18, 2024 08:05
@leonid-s-usov
Copy link
Contributor Author

@leonid-s-usov
Copy link
Contributor Author

jenkins test api

@leonid-s-usov
Copy link
Contributor Author

@leonid-s-usov leonid-s-usov merged commit dbfe23e into main Jun 20, 2024
@leonid-s-usov leonid-s-usov deleted the wip-lusov-qdb-bootstrap-event branch June 20, 2024 04:56
} else {
// not yet there. Put the acks and requests back onto the queue and wait for updates
// We should mark the next event age in case we get caught up in the sleep above
next_event_at_age = db.get_age() + bootstrap_delay;
Copy link
Contributor

@dparmar18 dparmar18 Jun 24, 2024

Choose a reason for hiding this comment

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

I'm finding it hard to understand this, where is this modified val being used? next_event_at_age is being updated in the else blocks, and then the QuiesceDbManager::quiesce_db_thread_main() doesn't make use of it anywhere, am i missing something?

Copy link
Contributor

Choose a reason for hiding this comment

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

another (dumb) question, if the next_event_at_age is already max(), we're adding some duration to it here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

next_event_at_age is used here and here. It will cause the main thread to make a pass at or after the designated age.

This var is initialized with max() to denote "no time-based events are pending", which will make the main thread sleep until the submit condition is triggered.
However, in the body of the main thread loop the next_event_at_age is updated with the output of the various subroutines, e.g. at the line you commented on.

Copy link
Contributor

Choose a reason for hiding this comment

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

If the db thread has some work, and the boostrap_interval is non-zero, what happens in that case?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cephfs Ceph File System tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants