@Override public void run() { if (count++ < 3) { try { ((HACoordinationRecordTableHandler) recordTableHandler).setAsActive(); } catch (ConnectionUnavailableException e) { log.error("HA Deployment: Error in connecting to table " + ((HACoordinationRecordTableHandler) recordTableHandler).getTableId() + " while changing from passive" + " state to active, will retry in " + backoffRetryCounter.getTimeInterval(), e); backoffRetryCounter.increment(); scheduledExecutorService.schedule(new RetryRecordTableConnection(backoffRetryCounter, recordTableHandler, scheduledExecutorService), backoffRetryCounter.getTimeIntervalMillis(), TimeUnit.MILLISECONDS); } } else { log.error("Error reconnecting to " + ((HACoordinationRecordTableHandler) recordTableHandler). getTableId() + ". Passive node may not be in sync with active node"); } } }
((HACoordinationRecordTableHandler) recordTableHandler).setAsActive(); } catch (Throwable e) { backoffRetryCounter.reset(); log.error("HA Deployment: Error in connecting to table " + ((HACoordinationRecordTableHandler) recordTableHandler).getTableId() + " while changing from passive" + " state to active, will retry in " + backoffRetryCounter.getTimeInterval(), e); ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); backoffRetryCounter.increment(); scheduledExecutorService.schedule(new RetryRecordTableConnection(backoffRetryCounter, recordTableHandler, scheduledExecutorService), backoffRetryCounter.getTimeIntervalMillis(), TimeUnit.MILLISECONDS);
backoffRetryCounter.reset(); log.error("HA Deployment: Error in connecting to table " + recordTableHandler.getTableId() + " while changing from passive state to active, will retry in " + backoffRetryCounter.getTimeInterval(), e); ScheduledExecutorService scheduledExecutorService = Executors. newSingleThreadScheduledExecutor(); backoffRetryCounter.increment(); scheduledExecutorService.schedule(new RetryRecordTableConnection(backoffRetryCounter, table.getHandler(), scheduledExecutorService), backoffRetryCounter.getTimeIntervalMillis(), TimeUnit.MILLISECONDS);