/** * Release the read lock acquired by {@link #lockForRead} before qualification * if the previous row was not qualified by higher layers. */ public static boolean releaseLockForReadOnPreviousEntry( final RegionEntry currEntry, final TXState localTXState, final TXId txId, final LockingPolicy lockPolicy, final LockMode readLockMode, final GemFireContainer container, final LocalRegion currentDataRegion, final Object lockContext) { // release lock since higher layer has not qualified the current row final LocalRegion dataRegion = localTXState.removeReadLockForScan(currEntry, lockContext); if (dataRegion != null) { assert currentDataRegion == null || dataRegion == currentDataRegion: "unexpected mismatch of dataRegion, provided=" + currentDataRegion + ", recorded=" + dataRegion; unlockEntryAfterRead(txId, lockPolicy, readLockMode, currEntry, container, dataRegion); return true; } return false; }
/** * Release the read lock acquired by {@link #lockForRead} before qualification * if the previous row was not qualified by higher layers. */ public static boolean releaseLockForReadOnPreviousEntry( final RegionEntry currEntry, final TXState localTXState, final TXId txId, final LockingPolicy lockPolicy, final LockMode readLockMode, final GemFireContainer container, final LocalRegion currentDataRegion, final Object lockContext) { // release lock since higher layer has not qualified the current row final LocalRegion dataRegion = localTXState.removeReadLockForScan(currEntry, lockContext); if (dataRegion != null) { assert currentDataRegion == null || dataRegion == currentDataRegion: "unexpected mismatch of dataRegion, provided=" + currentDataRegion + ", recorded=" + dataRegion; unlockEntryAfterRead(txId, lockPolicy, readLockMode, currEntry, container, dataRegion); return true; } return false; }
/** * Release the read lock acquired by {@link #lockForRead} before qualification * if the previous row was not qualified by higher layers. */ public static boolean releaseLockForReadOnPreviousEntry( final RegionEntry currEntry, final TXState localTXState, final TXId txId, final LockingPolicy lockPolicy, final LockMode readLockMode, final GemFireContainer container, final LocalRegion currentDataRegion, final Object lockContext) { // release lock since higher layer has not qualified the current row final LocalRegion dataRegion = localTXState.removeReadLockForScan(currEntry, lockContext); if (dataRegion != null) { assert currentDataRegion == null || dataRegion == currentDataRegion: "unexpected mismatch of dataRegion, provided=" + currentDataRegion + ", recorded=" + dataRegion; unlockEntryAfterRead(txId, lockPolicy, readLockMode, currEntry, container, dataRegion); return true; } return false; }
final TXState tx = this.localTXState; final RegionEntry entry = rl.getUnderlyingRegionEntry(); final LocalRegion dataRegion = tx.removeReadLockForScan(entry, this.lockContext);
final TXState tx = this.localTXState; final RegionEntry entry = rl.getUnderlyingRegionEntry(); final LocalRegion dataRegion = tx.removeReadLockForScan(entry, this.lockContext);
final TXState tx = this.localTXState; final RegionEntry entry = rl.getUnderlyingRegionEntry(); final LocalRegion dataRegion = tx.removeReadLockForScan(entry, this.lockContext);