final Iterator<Map.Entry<Long, CompletedProcedureRetainer<TEnvironment>>> it = completed.entrySet().iterator(); while (it.hasNext() && store.isRunning()) { final Map.Entry<Long, CompletedProcedureRetainer<TEnvironment>> entry = it.next(); final CompletedProcedureRetainer<TEnvironment> retainer = entry.getValue();
releaseLock(proc, false); boolean abortRollback = lockState != LockState.LOCK_ACQUIRED; abortRollback |= !isRunning() || !store.isRunning();
if (!store.isRunning()) { return;
while (it.hasNext() && store.isRunning()) { final Map.Entry<Long, CompletedProcedureRetainer> entry = it.next(); final CompletedProcedureRetainer retainer = entry.getValue();
public void periodicExecute(final TEnvironment env) { if (completed.isEmpty()) { if (LOG.isTraceEnabled()) { LOG.trace("No completed procedures to cleanup."); } return; } final long evictTtl = conf.getInt(EVICT_TTL_CONF_KEY, DEFAULT_EVICT_TTL); final long evictAckTtl = conf.getInt(EVICT_ACKED_TTL_CONF_KEY, DEFAULT_ACKED_EVICT_TTL); long now = EnvironmentEdgeManager.currentTime(); Iterator<Map.Entry<Long, ProcedureInfo>> it = completed.entrySet().iterator(); while (it.hasNext() && store.isRunning()) { Map.Entry<Long, ProcedureInfo> entry = it.next(); ProcedureInfo result = entry.getValue(); // TODO: Select TTL based on Procedure type if ((result.hasClientAckTime() && (now - result.getClientAckTime()) >= evictAckTtl) || (now - result.getLastUpdate()) >= evictTtl) { if (LOG.isDebugEnabled()) { LOG.debug("Evict completed procedure " + entry.getKey()); } store.delete(entry.getKey()); it.remove(); NonceKey nonceKey = result.getNonceKey(); if (nonceKey != null) { nonceKeysToProcIdsMap.remove(nonceKey); } } } }
final Iterator<Map.Entry<Long, CompletedProcedureRetainer<TEnvironment>>> it = completed.entrySet().iterator(); while (it.hasNext() && store.isRunning()) { final Map.Entry<Long, CompletedProcedureRetainer<TEnvironment>> entry = it.next(); final CompletedProcedureRetainer<TEnvironment> retainer = entry.getValue();
abortRollback |= !isRunning() || !store.isRunning();
if (!store.isRunning()) return;
abortRollback |= !isRunning() || !store.isRunning();
releaseLock(proc, false); boolean abortRollback = lockState != LockState.LOCK_ACQUIRED; abortRollback |= !isRunning() || !store.isRunning();
if (!store.isRunning()) { return;
if (!store.isRunning()) { return;