HTHou opened a new pull request, #1577: URL: https://github.com/apache/ratis/pull/1577
## What changes were proposed in this pull request? Add an optional `Consumer<GrpcDataTransferEvent>` for observing sender-side outcomes of gRPC peer data transfers. The listener reports: - timestamp - source and destination `RaftPeerId` - protection method (`TLS` or `NONE`) - result (`SUCCESS` or `FAILURE`) - the original error for failures Events are emitted for `AppendEntries` requests containing state machine entries and for logical `InstallSnapshot` transfers. Heartbeats, configuration-only appends, and snapshot notification-only requests are excluded. Listener exceptions are isolated from the replication path, and the listener is documented as non-blocking. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/RATIS-2681 ## How was this patch tested? - `./mvnw -pl ratis-test -am -Dtest=TestGrpcDataTransferEventListener -DfailIfNoTests=false test` - `./mvnw -pl ratis-grpc -am -DskipTests compile checkstyle:check` - `./mvnw -pl ratis-grpc,ratis-test -am -DskipTests apache-rat:check` - `./mvnw -pl ratis-grpc -am -DskipTests -Djacoco.skip test-compile spotbugs:check` The tests cover plaintext and TLS append success, append failure and retry, listener exception isolation, one failure event per failed attempt, and successful snapshot transfer to a newly added peer. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
