@@ -97,18 +97,23 @@ public int getStoreHealthIndicator() {
9797
9898 @ Override
9999 public int getDataSourceHealthIndicator () {
100- if (this .dataSource instanceof HikariDataSource ) {
101- final HikariDataSource hds = (HikariDataSource ) this .dataSource ;
102- final HikariPoolMXBean hikariPoolMXBean = hds .getHikariPoolMXBean ();
103- final int idleConnections = hikariPoolMXBean .getIdleConnections ();
104- final int activeConnections = hikariPoolMXBean .getActiveConnections ();
100+ try {
101+ if (this .dataSource instanceof HikariDataSource ) {
102+ final HikariDataSource hds = (HikariDataSource ) this .dataSource ;
103+ final HikariPoolMXBean hikariPoolMXBean = hds .getHikariPoolMXBean ();
104+ final int idleConnections = hikariPoolMXBean .getIdleConnections ();
105+ final int activeConnections = hikariPoolMXBean .getActiveConnections ();
106+ }
107+ final Health health = this .dataSourceHealthIndicator .getHealth (true );
108+ final Map <String , Object > details = health .getDetails ();
109+ // TODO check what is in details
110+ final Status status = health .getStatus ();
111+ // TODO
112+ return 0 ;
113+ } catch (Exception e ) {
114+ log .warn ("Failed to check data source health: {}" , e .getMessage ());
115+ return 10 ;
105116 }
106- final Health health = this .dataSourceHealthIndicator .getHealth (true );
107- final Map <String , Object > details = health .getDetails ();
108- // TODO check what is in details
109- final Status status = health .getStatus ();
110- // TODO
111- return 0 ;
112117 }
113118
114119 @ Override
@@ -117,33 +122,34 @@ public int getOverallLoadIndicator() {
117122 return simulateHealthIssue ;
118123 }
119124
120- final int uploadHealthIndicator = getUploadHealthIndicator ();
121- final int downloadHealthIndicator = getDownloadHealthIndicator ();
122- final int storeHealthIndicator = getStoreHealthIndicator ();
123- final int dataSourceHealthIndicator = getDataSourceHealthIndicator ();
124125
125- if (log .isDebugEnabled ()) {
126- long now = Utils .getMillisecondsNow ();
127- if (now - debug_log_last_log_time > debug_log_time_interval ) {
128- debug_log_last_log_time = now ;
129- if (uploadHealthIndicator > 0 ) {
130- log .info ("uploadHealthIndicator: {}" , uploadHealthIndicator );
131- }
132- if (downloadHealthIndicator > 0 ) {
133- log .info ("downloadHealthIndicator: {}" , downloadHealthIndicator );
134- }
135- if (storeHealthIndicator > 0 ) {
136- log .info ("storeHealthIndicator: {}" , storeHealthIndicator );
137- }
138- if (dataSourceHealthIndicator > 0 ) {
139- log .info ("dataSourceHealthIndicator: {}" , dataSourceHealthIndicator );
126+ final int uploadHealthIndicator = getUploadHealthIndicator ();
127+ final int downloadHealthIndicator = getDownloadHealthIndicator ();
128+ final int storeHealthIndicator = getStoreHealthIndicator ();
129+ final int dataSourceHealthIndicator = getDataSourceHealthIndicator ();
130+
131+ if (log .isDebugEnabled ()) {
132+ long now = Utils .getMillisecondsNow ();
133+ if (now - debug_log_last_log_time > debug_log_time_interval ) {
134+ debug_log_last_log_time = now ;
135+ if (uploadHealthIndicator > 0 ) {
136+ log .info ("uploadHealthIndicator: {}" , uploadHealthIndicator );
137+ }
138+ if (downloadHealthIndicator > 0 ) {
139+ log .info ("downloadHealthIndicator: {}" , downloadHealthIndicator );
140+ }
141+ if (storeHealthIndicator > 0 ) {
142+ log .info ("storeHealthIndicator: {}" , storeHealthIndicator );
143+ }
144+ if (dataSourceHealthIndicator > 0 ) {
145+ log .info ("dataSourceHealthIndicator: {}" , dataSourceHealthIndicator );
146+ }
140147 }
141148 }
142- }
143-
144- return Math .max (
145- Math .max (uploadHealthIndicator , downloadHealthIndicator ),
146- Math .max (storeHealthIndicator , dataSourceHealthIndicator ));
149+
150+ return Math .max (
151+ Math .max (uploadHealthIndicator , downloadHealthIndicator ),
152+ Math .max (storeHealthIndicator , dataSourceHealthIndicator ));
147153 }
148154
149155 // map size between THREAD_POOL_SIZE_INDICATOR_MAP_MIN ... THREAD_POOL_SIZE_INDICATOR_MAP_MAX to 0 ... HEALTH_INDICATOR_MAX
0 commit comments