imbajin commented on code in PR #3313:
URL: https://github.com/apache/hugegraph/pull/3313#discussion_r4245000640
##########
hugegraph-store/hg-store-client/src/main/java/org/apache/hugegraph/store/client/grpc/KvPageScanner.java:
##########
@@ -319,6 +321,13 @@ public void onError(Throwable t) {
} catch (Exception e) {
log.warn("failed to invoke requestObserver.onCompleted(),
reason:", e.getMessage());
}
+ // Retire the failed pool before publishing the original iterator
error,
+ // so immediate retries cannot reuse it. Cancellation or protocol
errors
+ // must not evict healthy nodes, and stale notices preserve
replacements.
+ if (Status.fromThrowable(t).getCode() == Status.Code.UNAVAILABLE) {
+ new NotifyingExecutor(session.getGraphName(),
+ HgStoreNodeManager.getInstance(),
session).handleErr(t);
Review Comment:
Rechecked at 6c9a272561b15aa578d7f2ccf33e7bd537400ea9: this specific P1 is
addressed in the current source.
serverScan() now stops outgoing requests without closing the receive buffer,
leaving terminal publication to the response callback after retirement and
error storage. I independently reran the bounded Java extraction model against
both control flows: the earlier version returned false EOF during blocked
retirement, while the updated version kept the consumer waiting and then
delivered the original UNAVAILABLE after retirement. The new
testReceiverEnteringDuringRetirementDoesNotSeeEof regression covers exactly the
missing ordering, including no additional outgoing request and retry with a new
channel.
I also checked the final-page completion-exception guard and its regression;
it prevents a request-side completion exception from dropping the last page.
This is independent source/model verification, not a fresh full Maven or
deployed gRPC run. Current-head CI, coverage and the original
deployment-recovery acceptance remain separate; no earlier green result is
inherited. The previous 7/10 assessment and P1 finding apply to the earlier
revision, not this repaired head.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]