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); } }
public void updateTempStatement(String sessionId, String statementId, String statement) throws IOException { try (AutoLock l = lock.lockForWrite()) { TempStatementEntity entity = new TempStatementEntity(sessionId, statementId, statement); entity = prepareToOverwrite(entity, getTempStatEntity(sessionId, statementId)); updateTempStatementWithRetry(entity, 0); } }
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); } }
public void updateTempStatement(String sessionId, String statementId, String statement) throws IOException { try (AutoLock l = lock.lockForWrite()) { TempStatementEntity entity = new TempStatementEntity(sessionId, statementId, statement); entity = prepareToOverwrite(entity, getTempStatEntity(sessionId, statementId)); updateTempStatementWithRetry(entity, 0); } }