void cleanup(LocalRegion r) { if (this.cleanedUp) return; this.cleanedUp = true; Iterator it = this.entryMods.values().iterator(); while (it.hasNext()) { TXEntryState es = (TXEntryState)it.next(); es.cleanup(r); } this.region.setInUseByTransaction(false); } int getChanges() {
/** * If the entry is not dirty (read only) then clean it up. * @return true if this entry is not dirty. */ boolean cleanupNonDirty(LocalRegion r) { if (isDirty()) { return false; } else { cleanup(r); return true; } }
@Override protected final void cleanup(final TXState txState, final LocalRegion r, final LockingPolicy lockPolicy, final LockMode writeMode, final boolean removeFromList, final boolean removeFromMap, final Boolean forCommit) { // unique index replace should happen for each entry and is not a global // call so should not be in cleanupIndexes (#43761) if (this.replacedEntriesForUniqIndexes != null) { cleanupReplacedUniqEntries(); } super.cleanup(txState, r, lockPolicy, writeMode, removeFromList, removeFromMap, forCommit); // update numRows estimate (#47914) if (forCommit != null && forCommit.booleanValue()) { int change = entryCountMod(); if (change != 0) { getBaseContainer().updateNumRows(change < 0); } } }
@Override protected final void cleanup(final TXState txState, final LocalRegion r, final LockingPolicy lockPolicy, final LockMode writeMode, final boolean removeFromList, final boolean removeFromMap, final Boolean forCommit) { // unique index replace should happen for each entry and is not a global // call so should not be in cleanupIndexes (#43761) if (this.replacedEntriesForUniqIndexes != null) { cleanupReplacedUniqEntries(); } super.cleanup(txState, r, lockPolicy, writeMode, removeFromList, removeFromMap, forCommit); // update numRows estimate (#47914) if (forCommit != null && forCommit.booleanValue()) { int change = entryCountMod(); if (change != 0) { getBaseContainer().updateNumRows(change < 0); } } }
@Override protected final void cleanup(final TXState txState, final LocalRegion r, final LockingPolicy lockPolicy, final LockMode writeMode, final boolean removeFromList, final boolean removeFromMap, final Boolean forCommit) { // unique index replace should happen for each entry and is not a global // call so should not be in cleanupIndexes (#43761) if (this.replacedEntriesForUniqIndexes != null) { cleanupReplacedUniqEntries(); } super.cleanup(txState, r, lockPolicy, writeMode, removeFromList, removeFromMap, forCommit); // update numRows estimate (#47914) if (forCommit != null && forCommit.booleanValue()) { int change = entryCountMod(); if (change != 0) { getBaseContainer().updateNumRows(change < 0); } } }
numChanges++; txes.cleanup(tx, rgn, lockPolicy, writeMode, removeFromList, false, forCommit); } catch (Throwable t) {
tx.cleanup(this, region, lockPolicy, lockPolicy.getWriteLockMode(), true, true, null);