@@ -390,31 +390,24 @@ protected void runTask(UpdateTask task) {
390390 newClusterState = task .apply (previousClusterState );
391391 } catch (Exception e ) {
392392 TimeValue executionTime = TimeValue .timeValueMillis (Math .max (0 , TimeValue .nsecToMSec (currentTimeInNanos () - startTimeNS )));
393- if (logger .isTraceEnabled ()) {
394- logger .trace (() -> new ParameterizedMessage (
395- "failed to execute cluster state applier in [{}], state:\n version [{}], source [{}]\n {}{}{}" ,
396- executionTime ,
397- previousClusterState .version (),
398- task .source ,
399- previousClusterState .nodes (),
400- previousClusterState .routingTable (),
401- previousClusterState .getRoutingNodes ()),
402- e );
403- }
393+ logger .trace (() -> new ParameterizedMessage (
394+ "failed to execute cluster state applier in [{}], state:\n version [{}], source [{}]\n {}" ,
395+ executionTime , previousClusterState .version (), task .source , previousClusterState ), e );
404396 warnAboutSlowTaskIfNeeded (executionTime , task .source );
405397 task .listener .onFailure (task .source , e );
406398 return ;
407399 }
408400
409401 if (previousClusterState == newClusterState ) {
410- task .listener .onSuccess (task .source );
411402 TimeValue executionTime = TimeValue .timeValueMillis (Math .max (0 , TimeValue .nsecToMSec (currentTimeInNanos () - startTimeNS )));
412403 logger .debug ("processing [{}]: took [{}] no change in cluster state" , task .source , executionTime );
413404 warnAboutSlowTaskIfNeeded (executionTime , task .source );
405+ task .listener .onSuccess (task .source );
414406 } else {
415407 if (logger .isTraceEnabled ()) {
416- logger .trace ("cluster state updated, source [{}]\n {}" , task .source , newClusterState );
417- } else if (logger .isDebugEnabled ()) {
408+ logger .debug ("cluster state updated, version [{}], source [{}]\n {}" , newClusterState .version (), task .source ,
409+ newClusterState );
410+ } else {
418411 logger .debug ("cluster state updated, version [{}], source [{}]" , newClusterState .version (), task .source );
419412 }
420413 try {
@@ -424,20 +417,19 @@ protected void runTask(UpdateTask task) {
424417 executionTime , newClusterState .version (),
425418 newClusterState .stateUUID ());
426419 warnAboutSlowTaskIfNeeded (executionTime , task .source );
420+ task .listener .onSuccess (task .source );
427421 } catch (Exception e ) {
428422 TimeValue executionTime = TimeValue .timeValueMillis (Math .max (0 , TimeValue .nsecToMSec (currentTimeInNanos () - startTimeNS )));
429- final long version = newClusterState .version ();
430- final String stateUUID = newClusterState .stateUUID ();
431- final String fullState = newClusterState .toString ();
432- logger .warn (() -> new ParameterizedMessage (
433- "failed to apply updated cluster state in [{}]:\n version [{}], uuid [{}], source [{}]\n {}" ,
434- executionTime ,
435- version ,
436- stateUUID ,
437- task .source ,
438- fullState ),
439- e );
440- // TODO: do we want to call updateTask.onFailure here?
423+ if (logger .isTraceEnabled ()) {
424+ logger .warn (new ParameterizedMessage (
425+ "failed to apply updated cluster state in [{}]:\n version [{}], uuid [{}], source [{}]\n {}" ,
426+ executionTime , newClusterState .version (), newClusterState .stateUUID (), task .source , newClusterState ), e );
427+ } else {
428+ logger .warn (new ParameterizedMessage (
429+ "failed to apply updated cluster state in [{}]:\n version [{}], uuid [{}], source [{}]" ,
430+ executionTime , newClusterState .version (), newClusterState .stateUUID (), task .source ), e );
431+ }
432+ task .listener .onFailure (task .source , e );
441433 }
442434 }
443435 }
@@ -454,17 +446,14 @@ private void applyChanges(UpdateTask task, ClusterState previousClusterState, Cl
454446 }
455447 }
456448
449+ logger .trace ("connecting to nodes of cluster state with version {}" , newClusterState .version ());
457450 nodeConnectionsService .connectToNodes (newClusterState .nodes ());
458451
459- logger .debug ("applying cluster state version {}" , newClusterState .version ());
460- try {
461- // nothing to do until we actually recover from the gateway or any other block indicates we need to disable persistency
462- if (clusterChangedEvent .state ().blocks ().disableStatePersistence () == false && clusterChangedEvent .metaDataChanged ()) {
463- final Settings incomingSettings = clusterChangedEvent .state ().metaData ().settings ();
464- clusterSettings .applySettings (incomingSettings );
465- }
466- } catch (Exception ex ) {
467- logger .warn ("failed to apply cluster settings" , ex );
452+ // nothing to do until we actually recover from the gateway or any other block indicates we need to disable persistency
453+ if (clusterChangedEvent .state ().blocks ().disableStatePersistence () == false && clusterChangedEvent .metaDataChanged ()) {
454+ logger .debug ("applying settings from cluster state with version {}" , newClusterState .version ());
455+ final Settings incomingSettings = clusterChangedEvent .state ().metaData ().settings ();
456+ clusterSettings .applySettings (incomingSettings );
468457 }
469458
470459 logger .debug ("apply cluster state with version {}" , newClusterState .version ());
@@ -476,18 +465,12 @@ private void applyChanges(UpdateTask task, ClusterState previousClusterState, Cl
476465 state .set (newClusterState );
477466
478467 callClusterStateListeners (clusterChangedEvent );
479-
480- task .listener .onSuccess (task .source );
481468 }
482469
483470 private void callClusterStateAppliers (ClusterChangedEvent clusterChangedEvent ) {
484471 clusterStateAppliers .forEach (applier -> {
485- try {
486- logger .trace ("calling [{}] with change to version [{}]" , applier , clusterChangedEvent .state ().version ());
487- applier .applyClusterState (clusterChangedEvent );
488- } catch (Exception ex ) {
489- logger .warn ("failed to notify ClusterStateApplier" , ex );
490- }
472+ logger .trace ("calling [{}] with change to version [{}]" , applier , clusterChangedEvent .state ().version ());
473+ applier .applyClusterState (clusterChangedEvent );
491474 });
492475 }
493476
0 commit comments