----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/12477/ -----------------------------------------------------------
Review request for helix, Kishore Gopalakrishna and Shi Lu. Repository: helix-git Description ------- changes includes: 1) create a separate TimerTask class for each helix timer task. During handleNewSession() we need to cancel existing timers/timer-tasks (because we might not need to start them again; e.g. a controller fails to become leader and we don't need to start HealthStatsAggregation timer task any more) and restart a new timer/timer-tasks if necessary. Once a TimerTask instance is canceled, it can't be reused, so we need a separate TimerTask class to wrap up the real timer task logic. 2) fix some problems in canceling executor thread pool. reverse the logic of canceling thread pool and reset state models 3) remove unnecessary locks in HelixTaskExecutor/HelixStateTransitionHandler, preventing deadlock situation in canceling executor thread pool. 4) add a couple of test cases for handling session expiry Diffs ----- helix-core/src/main/java/org/apache/helix/HelixTimerTask.java 203bb54 helix-core/src/main/java/org/apache/helix/healthcheck/HealthStatsAggregationTask.java 4b5fe92 helix-core/src/main/java/org/apache/helix/healthcheck/HealthStatsAggregator.java e69de29 helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportCollectorImpl.java 14c12de helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportTask.java e69de29 helix-core/src/main/java/org/apache/helix/manager/zk/AbstractManager.java 165f639 helix-core/src/main/java/org/apache/helix/manager/zk/ControllerManager.java 43fa149 helix-core/src/main/java/org/apache/helix/manager/zk/DistributedControllerManager.java 92b4f66 helix-core/src/main/java/org/apache/helix/manager/zk/ParticipantManager.java fc54f08 helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java eec38aa helix-core/src/main/java/org/apache/helix/messaging/handling/HelixStateTransitionHandler.java fc09070 helix-core/src/main/java/org/apache/helix/messaging/handling/HelixTaskExecutor.java cb07494 helix-core/src/test/java/org/apache/helix/TestParticipantHealthReportCollectorImpl.java 6187b93 helix-core/src/test/java/org/apache/helix/healthcheck/TestAddDropAlert.java 7c82c13 helix-core/src/test/java/org/apache/helix/healthcheck/TestAlertActionTriggering.java 9c197d0 helix-core/src/test/java/org/apache/helix/healthcheck/TestAlertFireHistory.java 24607f6 helix-core/src/test/java/org/apache/helix/healthcheck/TestExpandAlert.java 5151898 helix-core/src/test/java/org/apache/helix/healthcheck/TestSimpleAlert.java b681ecc helix-core/src/test/java/org/apache/helix/healthcheck/TestSimpleWildcardAlert.java 177948f helix-core/src/test/java/org/apache/helix/healthcheck/TestStalenessAlert.java 1bdb038 helix-core/src/test/java/org/apache/helix/healthcheck/TestWildcardAlert.java 20f0c13 helix-core/src/test/java/org/apache/helix/integration/TestSessionExpiryInTransition.java e70c3ca helix-core/src/test/java/org/apache/helix/integration/manager/MockParticipantManager.java e69de29 helix-core/src/test/java/org/apache/helix/integration/manager/TestAbstractManager.java e69de29 helix-core/src/test/java/org/apache/helix/integration/manager/TestParticipantManager.java efa3138 Diff: https://reviews.apache.org/r/12477/diff/ Testing ------- all existing and new tests pass locally Thanks, Zhen Zhang
