Skip to content

tentacle: test/librados/aio_cxx: skip EIO boundary assertion when no in-flight I/Os#64242

Merged
NitzanMordhai merged 2 commits intoceph:tentaclefrom
NitzanMordhai:wip-71867-tentacle
Jul 6, 2025
Merged

tentacle: test/librados/aio_cxx: skip EIO boundary assertion when no in-flight I/Os#64242
NitzanMordhai merged 2 commits intoceph:tentaclefrom
NitzanMordhai:wip-71867-tentacle

Conversation

@NitzanMordhai
Copy link
Copy Markdown
Contributor

backport tracker: https://tracker.ceph.com/issues/71867


backport of #63177
parent tracker: https://tracker.ceph.com/issues/70852

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/main/src/script/ceph-backport.sh

…I/Os

In the PoolEIOFlag test we now track whether any async writes were still
in flight at the moment we flipped the pool’s `eio=true` flag using an
atomic `missed_eio` flag set inside the helper thread.  If we never
actually overlapped any in-flight AIOs (we completed all aio successfully)
with the flag flip, we `GTEST_SKIP()` the final `max_success+1 == min_failed`
boundary assertion, avoiding spurious failures when all writes complete
before EIO takes effect.

Fixes: https://tracker.ceph.com/issues/70852
Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
(cherry picked from commit 07319d9)
@NitzanMordhai NitzanMordhai added this to the tentacle milestone Jun 29, 2025
…lEIOFlag

GTEST_SKIP() does not return and causes early test exit, which
skips any following cleanup logic.
In this case, the test skipped before releasing my_lock, causing
pthread_mutex_destroy() to fail with EBUSY and trigger a ceph_assert()
in the mutex debug wrapper.
Fix by explicitly unlocking the mutex before calling GTEST_SKIP().

Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
(cherry picked from commit 26e7bbf)
@NitzanMordhai NitzanMordhai requested a review from Matan-B June 29, 2025 06:30
Copy link
Copy Markdown
Contributor

@Matan-B Matan-B left a comment

Choose a reason for hiding this comment

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

There were no instances of this issue in T, do we still need to backport this? Assuming yes since this test wasn't changed since.

@NitzanMordhai
Copy link
Copy Markdown
Contributor Author

There were no instances of this issue in T, do we still need to backport this? Assuming yes since this test wasn't changed since.

right, that PR include both, the test and the fix for the mutex release

@NitzanMordhai
Copy link
Copy Markdown
Contributor Author

@NitzanMordhai
Copy link
Copy Markdown
Contributor Author

jenkins test make check

@NitzanMordhai NitzanMordhai merged commit 90d34f1 into ceph:tentacle Jul 6, 2025
11 checks passed
@NitzanMordhai NitzanMordhai deleted the wip-71867-tentacle branch July 6, 2025 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants