wernerdv commented on code in PR #13554:
URL: https://github.com/apache/ignite/pull/13554#discussion_r4393198448


##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java:
##########
@@ -2731,6 +2778,8 @@ protected long nextPartitionCounter(IgniteInternalTx tx, 
@Nullable Long updateCn
         }
         finally {
             unlockEntry();
+
+            releaseReserved(reserved);

Review Comment:
   Agreed that it was inconsistent. I didn't move the reservation to the call 
site, though: the read-through caller in GridDhtCacheAdapter works with 
GridCacheEntryEx, so that would require adding reserve/release to the entry 
interface. Instead I merged it back into a single `versionedValue` with the 
original signature. It now reserves before taking the entry lock and releases 
in its own finally, like the other update methods. The reservation is skipped 
when the caller already holds the entry lock (the atomic reload path in 
GridDhtAtomicCache).



-- 
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