return Flow.NO_MORE_STATE; } catch (ReplicationException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn("{} failed to call prePeerModification for peer {}, sleep {} secs", getClass().getName(), peerId, backoff / 1000, e); updatePeerStorage(env); } catch (ReplicationException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn("{} update peer storage for peer {} failed, sleep {} secs", getClass().getName(), peerId, backoff / 1000, e); reopenRegions(env); } catch (Exception e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn("{} reopen regions for peer {} failed, sleep {} secs", getClass().getName(), peerId, backoff / 1000, e); updateLastPushedSequenceIdForSerialPeer(env); } catch (Exception e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn("{} set last sequence id for peer {} failed, sleep {} secs", getClass().getName(), peerId, backoff / 1000, e); enablePeer(env); } catch (ReplicationException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn("{} enable peer before finish for peer {} failed, sleep {} secs", getClass().getName(), peerId, backoff / 1000, e);
@Test public void testGetBackoffTimeMs() { for (int i = 30; i < 1000; i++) { assertEquals(TimeUnit.MINUTES.toMillis(10), ProcedureUtil.getBackoffTimeMs(30)); } long backoffTimeMs = ProcedureUtil.getBackoffTimeMs(0); assertTrue(backoffTimeMs >= 1000); assertTrue(backoffTimeMs <= 1000 * 1.01f); backoffTimeMs = ProcedureUtil.getBackoffTimeMs(1); assertTrue(backoffTimeMs >= 2000); assertTrue(backoffTimeMs <= 2000 * 1.01f); backoffTimeMs = ProcedureUtil.getBackoffTimeMs(5); assertTrue(backoffTimeMs >= 32000); assertTrue(backoffTimeMs <= 32000 * 1.01f); }
switchThrottleState(env, rpcThrottleEnabled); } catch (IOException e) { long backoff = ProcedureUtil.getBackoffTimeMs(this.attempts++); LOG.warn("Failed to store rpc throttle value {}, sleep {} secs and retry", rpcThrottleEnabled, backoff / 1000, e);
insertNamespaceToMeta(env.getMasterServices().getConnection(), SYSTEM_NAMESPACE); } catch (IOException e) { long backoff = ProcedureUtil.getBackoffTimeMs(this.attempts++); LOG.warn("Failed to init default and system namespaces, suspend {}secs", backoff, e); setTimeout(Math.toIntExact(backoff));
finished = syncReplicationReplayWALManager.isReplayWALFinished(wals.get(0)); } catch (IOException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn("Failed to check whether replay wals {} finished for peer id={}" + ", sleep {} secs and retry", wals, peerId, backoff / 1000, e);
long backoff = ProcedureUtil.getBackoffTimeMs(this.attempt++); LOG.info( "There are still {} region(s) which need to be reopened for table {} are in " +
long backoff = ProcedureUtil.getBackoffTimeMs(this.attempt++); LOG.warn( "Failed transition, suspend {}secs {}; {}; waiting on rectified condition fixed " +
setPeerNewSyncReplicationState(env); } catch (ReplicationException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn( "Failed to update peer storage for peer {} when starting transiting sync " + setLastPushedSequenceId(env, env.getReplicationPeerManager().getPeerConfig(peerId).get()); } catch (Exception e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn( "Failed to update last pushed sequence id for peer {} when transiting sync " + removeAllReplicationQueues(env); } catch (ReplicationException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn( "Failed to remove all replication queues peer {} when starting transiting" + transitPeerSyncReplicationState(env); } catch (ReplicationException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn( "Failed to update peer storage for peer {} when ending transiting sync " + enablePeer(env); } catch (ReplicationException e) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts); LOG.warn( "Failed to set peer enabled for peer {} when transiting sync replication peer " +
finished = splitWALManager.isSplitWALFinished(walPath); } catch (IOException ioe) { long backoff = ProcedureUtil.getBackoffTimeMs(attempts++); LOG.warn( "Failed to check whether splitting wal {} success, wait {} seconds to retry",
@Test public void testGetBackoffTimeMs() { for (int i = 30; i < 1000; i++) { assertEquals(TimeUnit.MINUTES.toMillis(10), ProcedureUtil.getBackoffTimeMs(30)); } long backoffTimeMs = ProcedureUtil.getBackoffTimeMs(0); assertTrue(backoffTimeMs >= 1000); assertTrue(backoffTimeMs <= 1000 * 1.01f); backoffTimeMs = ProcedureUtil.getBackoffTimeMs(1); assertTrue(backoffTimeMs >= 2000); assertTrue(backoffTimeMs <= 2000 * 1.01f); backoffTimeMs = ProcedureUtil.getBackoffTimeMs(5); assertTrue(backoffTimeMs >= 32000); assertTrue(backoffTimeMs <= 32000 * 1.01f); }