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

Read sometimes not cached in functional tests. #212

Open
KamilLepek opened this issue Jun 28, 2019 · 2 comments
Open

Read sometimes not cached in functional tests. #212

KamilLepek opened this issue Jun 28, 2019 · 2 comments
Milestone

Comments

@KamilLepek
Copy link
Contributor

LOGS from pyocf
Test name: test_start_read_first_and_check_mode

I encountered this several times, however it is very sporadic. Seems like it isn't related to hardware configuration.

@jfckm
Copy link

jfckm commented Sep 20, 2019

If OCF encounters a read miss it:

  1. Reads data from core device
  2. Copies over data to separate buffer
  3. Completes original IO to exported object with original data
  4. Inserts data copied in step 2 into cache

The IO is completed at step 3, execution of test continues and assertion fails because step 4 wasn't executed yet.

We gotta think of some way to wait for backfill or drop assertions which check each and every time if data that should be inserted is inserted. Maybe split it out to dedicated tests which make sure bf run, and don't bother with it in other tests?

@arutk
Copy link
Contributor

arutk commented Feb 3, 2022

We plan to implement a utility to settle OCF to make sure there is no outstanding activity after I/O is completed. Initial version of this feature is available here:
4d7d968
Once the settle mechanism is in place, we'll be able to update tests and fix this issue.

@jfckm jfckm added this to the Future milestone Mar 7, 2022
@jfckm jfckm modified the milestones: Future, 22.9 Jul 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants