anton-vinogradov commented on code in PR #13095:
URL: https://github.com/apache/ignite/pull/13095#discussion_r3579354905
##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java:
##########
@@ -296,6 +293,25 @@ private boolean isFlag(int mask) {
return U.safeAbs(version().hashCode());
}
+ /** {@inheritDoc} */
Review Comment:
It is marshal-prep, and the hook is exactly "where it is necessary": master
passed this bit as a *marshalling argument* (`marshalTx` read the message-level
`transferExpiryPolicy()` override and called `e.marshal(ctx, transferExpiry)`)
— entries were never mutated outside marshalling. With generated recursion
there's no per-call argument channel, so the message-level bit must be primed
onto the entries right before their marshal — which is what this hook
guarantees: ordered before the generated recursion, once per instance, and only
when the message is actually marshalled (loopback delivery skips it, same as
master where `marshalTx` never ran locally). Priming from the constructor or
the send site would flag shared tx entries even for local deliveries — a
divergence from master.
--
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]