Package org.apache.hadoop.hbase.client
Class RegistryEndpointsRefresher
java.lang.Object
org.apache.hadoop.hbase.client.RegistryEndpointsRefresher
Thread safe utility that keeps registry end points used by
ConnectionRegistry up to date.
By default the refresh happens periodically (configured via intervalSecsConfigName). The
refresh can also be triggered on demand via refreshNow(). To prevent a flood of
on-demand refreshes we expect that any attempts two should be spaced at least
minIntervalSecsConfigName seconds apart.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final longprivate static final org.slf4j.Loggerprivate static final intprivate final longprivate static final intprivate final longprivate final RegistryEndpointsRefresher.Refresherprivate booleanprivate booleanprivate final Thread -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateRegistryEndpointsRefresher(long initialDelayMs, long periodicRefreshMs, long minTimeBetweenRefreshesMs, RegistryEndpointsRefresher.Refresher refresher) -
Method Summary
Modifier and TypeMethodDescription(package private) static RegistryEndpointsRefreshercreate(org.apache.hadoop.conf.Configuration conf, String initialDelaySecsConfigName, String intervalSecsConfigName, String minIntervalSecsConfigName, RegistryEndpointsRefresher.Refresher refresher) Create aRegistryEndpointsRefresher.private longgetRefreshIntervalMs(boolean firstRefresh) private voidmainLoop()(package private) voidNotifies the refresher thread to refresh the configuration.(package private) voidstop()
-
Field Details
-
LOG
-
PERIODIC_REFRESH_INTERVAL_SECS_DEFAULT
- See Also:
-
MIN_SECS_BETWEEN_REFRESHES_DEFAULT
- See Also:
-
thread
-
refresher
-
initialDelayMs
-
periodicRefreshMs
-
minTimeBetweenRefreshesMs
-
refreshNow
-
stopped
-
-
Constructor Details
-
RegistryEndpointsRefresher
private RegistryEndpointsRefresher(long initialDelayMs, long periodicRefreshMs, long minTimeBetweenRefreshesMs, RegistryEndpointsRefresher.Refresher refresher)
-
-
Method Details
-
stop
void stop() -
getRefreshIntervalMs
-
mainLoop
-
refreshNow
void refreshNow()Notifies the refresher thread to refresh the configuration. This does not guarantee a refresh. See class comment for details. -
create
static RegistryEndpointsRefresher create(org.apache.hadoop.conf.Configuration conf, String initialDelaySecsConfigName, String intervalSecsConfigName, String minIntervalSecsConfigName, RegistryEndpointsRefresher.Refresher refresher) Create aRegistryEndpointsRefresher. If the interval secs configured viaintervalSecsConfigNameis less than zero, will return null here, which means disable refreshing of endpoints.
-