private final void noFailRefreshEndMetricsReporting ( ConsumerRefreshMetrics refreshMetrics ) { try { refreshEndMetricsReporting ( refreshMetrics ) ; } catch ( Exception e ) { // Metric reporting is not considered critical to consumer refresh. Log exceptions and continue. log . log ( Level . SEVERE , "Encountered an exception in reporting consumer refresh metrics, ignoring exception and continuing with consumer refresh" , e ) ; } }
Metrics reporting implementation is provided by the extending subclass . If exceptions are not gracefully handled in the extending subclass then an exception there can fail the consumer refresh even though metrics reporting might not be mission critical . This method protects against that scenario by catching all exceptions logging that there was an exception and continuing with the consumer refresh .