private void updateTempStatementWithRetry(TempStatementEntity entity, int retry) throws IOException { try { crud.save(entity); } catch (WriteConflictException ise) { logger.warn("Write conflict to update temp statement" + entity.statementId + " at try " + retry + ", will retry..."); if (retry >= 7) { logger.error("Retried 7 times till got error, abandoning...", ise); throw ise; } TempStatementEntity reload = crud.reload(entity.resourceName()); entity = prepareToOverwrite(entity, reload); updateTempStatementWithRetry(entity, ++retry); } }
private void updateTempStatementWithRetry(TempStatementEntity entity, int retry) throws IOException { try { crud.save(entity); } catch (WriteConflictException ise) { logger.warn("Write conflict to update temp statement" + entity.statementId + " at try " + retry + ", will retry..."); if (retry >= 7) { logger.error("Retried 7 times till got error, abandoning...", ise); throw ise; } TempStatementEntity reload = crud.reload(entity.resourceName()); entity = prepareToOverwrite(entity, reload); updateTempStatementWithRetry(entity, ++retry); } }
/** * Get the key to localmapping * @return */ public String getMapKey() { return resourceName(); }
public void removeTempStatement(String session, String statementId) throws IOException { try (AutoLock l = lock.lockForWrite()) { crud.delete(TempStatementEntity.resourceName(session, statementId)); } }
public TempStatementEntity getTempStatEntity(String sessionId, String statementId) { try (AutoLock l = lock.lockForRead()) { return tmpStatMap.get(TempStatementEntity.resourceName(sessionId, statementId)); } }
public void removeTempStatement(String session, String statementId) throws IOException { try (AutoLock l = lock.lockForWrite()) { crud.delete(TempStatementEntity.resourceName(session, statementId)); } }
/** * Get the key to localmapping * @return */ public String getMapKey() { return resourceName(); }
public TempStatementEntity getTempStatEntity(String sessionId, String statementId) { try (AutoLock l = lock.lockForRead()) { return tmpStatMap.get(TempStatementEntity.resourceName(sessionId, statementId)); } }