-----------------------------------------------------------
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

Reply via email to