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

roachtest: enable DistSender circuit breakers in failover/partial/lease-leader #133214

Merged

Commits on Oct 23, 2024

  1. roachtest: enable DistSender circuit breakers in failover/partial/lea…

    …se-leader
    
    DistSender circuit breakers are useful in this test to avoid
    artificially inflated latencies due to the way the test measures
    failover time (pMax, no timeouts). Without circuit breakers, a request
    stuck on the partitioned leaseholder will get blocked indefinitely,
    despite the range recovering on the other side of the partition and
    becoming available to all new traffic. As a result, the test won't
    differentiate between temporary and permanent range unavailability. We
    have other tests which demonstrate the benefit of DistSender circuit
    breakers (especially when applications do not use statement timeouts),
    so we don't need to test them here.
    
    With this change, the test's failover time drops from:
    
    | lease=epoch (ms) | lease=expiration (ms) | lease=leader (ms) |
    |-----------------:|----------------------:|------------------:|
    | 60,129           | 60,129                | 60,129            |
    
    down to:
    
    | lease=epoch (ms) | lease=expiration (ms) | lease=leader (ms) |
    |-----------------:|----------------------:|------------------:|
    | 60,129           | 22,549                | 31,139            |
    
    Notice that expiration and leader leases now recover, while epoch leases
    remain unavailable indefinitely.
    
    Epic: None
    Release note: None
    nvanbenschoten committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    9b08a1e View commit details
    Browse the repository at this point in the history