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

test: add negative test to detect replication failures #1445

Merged
merged 4 commits into from
Oct 14, 2024

Commits on Oct 11, 2024

  1. test: add negative test to detect replication failures

    Previously, our integration tests were written assuming consistent
    reads. To avoid false positives caused by stale reads in low-latency
    environments, we enforced consistent reads by setting the consistent
    read header. While this reduced noise from false positives, it also
    meant we lacked test coverage for replica reads and replication behavior.
    
    To address this gap, we've added a negative test that detects
    replication failures by verifying that no stale reads occur after the
    expected replication delay.
    
    The new test suite `replica-reads` implements a test that runs 10
    trials in parallel. Each trial performs the following steps:
    - Set: Writes a random key-value pair to the cache using
    `cacheClientWithBalancedReadConcern`.
    - Wait: 1 second for reads to propagate
    - Get: Reads the value for the key.
    - Assert: Confirms that the retrieved value matches the value set
    earlier.
    
    Trials are started with slight delays between them to distribute
    load (delayBetweenTrials and a small random offset).
    malandis committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    2ce9055 View commit details
    Browse the repository at this point in the history
  2. chore: twiddle comments

    malandis committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    aaa8cbb View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2024

  1. Configuration menu
    Copy the full SHA
    f2ab706 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. refactor: extract trial function from promise creation

    Previously we had a separate function in the inner loop of promise
    creation. Instead there is a single trial function that is
    parameterized by the trial number.
    
    We refactor the test to pull out the trial function and build the
    promise in the loop.
    malandis committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    70981d8 View commit details
    Browse the repository at this point in the history