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]

Reply via email to