ReplicaFetcherBlockingSend
ReplicaFetcherBlockingSend is…FIXME
ReplicaFetcherBlockingSend uses NetworkClient to send requests for…FIXME
ReplicaFetcherBlockingSend uses replica.socket.timeout.ms configuration property when sending a request to the partition leader broker.
Creating ReplicaFetcherBlockingSend Instance
ReplicaFetcherBlockingSend takes the following when created:
ReplicaFetcherBlockingSend initializes the internal registries and counters.
Sending Client Request and Waiting for Response — sendRequest Method
sendRequest(requestBuilder: Builder[_ <: AbstractRequest]): ClientResponse
sendRequest requests NetworkClientUtils to wait until the connection is ready to the source broker node (in replica.socket.timeout.ms).
sendRequest requests NetworkClient to create a new client request to the source broker.
sendRequest requests NetworkClientUtils to send the client request and wait for a response.
|
Note
|
sendRequest is a blocking operation (i.e. blocks the current thread) and polls for responses until the one arrives or a disconnection or a version mismatch happens.
|
In case NetworkClientUtils found the broker node unavailable, sendRequest reports a SocketTimeoutException:
Failed to connect to [sourceNode] within [socketTimeout] ms
|
Note
|
sendRequest is used when ReplicaFetcherThread earliestOrLatestOffset and fetchEpochsFromLeader.
|