mirror of https://github.com/apache/kafka.git
According to the recent changes in KIP-932, when the share session cache is full and a broker receives a Share Fetch request with Initial Share Session Epoch (0), then the error code `SHARE_SESSION_LIMIT_REACHED` is returned after a delay of maxWaitMs. This PR implements this logic. In order to add a delay between subsequent share fetch requests, the timer is delayed operation purgatory is used. A new `IdleShareFetchTimeTask` has been added which takes in a CompletableFuture<Void>. Upon the expiration, this future is completed with null. When the future is completes, a response is sent back to the client with the error code `SHARE_SESSION_LIMIT_REACHED` Reviewers: Andrew Schofield <aschofield@confluent.io>, Apoorv Mittal <apoorvmittal10@gmail.com> |
||
---|---|---|
.. | ||
.scalafmt.conf | ||
checkstyle.xml | ||
import-control-clients-integration-tests.xml | ||
import-control-coordinator-common.xml | ||
import-control-core.xml | ||
import-control-examples.xml | ||
import-control-group-coordinator.xml | ||
import-control-jmh-benchmarks.xml | ||
import-control-metadata.xml | ||
import-control-server-common.xml | ||
import-control-server.xml | ||
import-control-share-coordinator.xml | ||
import-control-storage.xml | ||
import-control-test-common-internal-api.xml | ||
import-control-test-common-runtime.xml | ||
import-control-test-common-util.xml | ||
import-control-transaction-coordinator.xml | ||
import-control.xml | ||
java.header | ||
suppressions.xml |