apple / foundationdb

FoundationDB - the open source, distributed, transactional key-value store
https://apple.github.io/foundationdb/
Apache License 2.0
14.2k stars 1.3k forks source link

Throw errors in getConsistentReadVersion #11311

Closed jzhou77 closed 2 months ago

jzhou77 commented 3 months ago

In the current code, errors are retried in getConsistentReadVersion, so it's possible that the client has cancelled the GRV request, but readVersionBatcher continue retrying, which can lead to many clients DDoS GRV proxies, especially when the database has become unavailable for a while and clients are issuing many GRV requests.

20240417-171921-jzhou-e8ea0f89556204b8

Code-Reviewer Section

The general pull request guidelines can be found here.

Please check each of the following things and check all boxes before accepting a PR.

For Release-Branches

If this PR is made against a release-branch, please also check the following:

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-clang-ide on Linux CentOS 7

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-macos on macOS Ventura 13.x

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-clang on Linux CentOS 7

foundationdb-ci commented 3 months ago

Result of foundationdb-pr on Linux CentOS 7

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-clang-ide on Linux CentOS 7

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-cluster-tests on Linux CentOS 7

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-macos on macOS Ventura 13.x

foundationdb-ci commented 3 months ago

Result of foundationdb-pr-clang on Linux CentOS 7

foundationdb-ci commented 3 months ago

Result of foundationdb-pr on Linux CentOS 7