pkuwm commented on a change in pull request #1362:
URL: https://github.com/apache/helix/pull/1362#discussion_r490754564



##########
File path: 
helix-core/src/test/java/org/apache/helix/messaging/handling/TestHelixTaskExecutor.java
##########
@@ -232,11 +248,29 @@ public HelixTaskResult handleMessage() throws 
InterruptedException {
       @Override
       public void onError(Exception e, ErrorCode code, ErrorType type) {
       }
+
+      @Override
+      public void precheckForStaleMessage() throws Exception {
+        if (_testIsMessageStaled) {
+          super.precheckForStaleMessage();
+        }
+      }
     }
 
     @Override
     public MessageHandler createHandler(Message message, NotificationContext 
context) {
-      return new TestStateTransitionMessageHandler(message, context);
+      if (message.getResourceName()!="testStaledMessageResource") {

Review comment:
       `equals()` should be used to check the string names are the same.
   `!=` checks if they are the **same** object: same memory address, etc..

##########
File path: 
helix-core/src/test/java/org/apache/helix/messaging/handling/TestHelixTaskExecutor.java
##########
@@ -212,18 +213,33 @@ public TestStateTransitionHandlerFactory(String msgType, 
long delay) {
       _delay = delay;
     }
 
-    class TestStateTransitionMessageHandler extends MessageHandler {
+    class TestStateTransitionMessageHandler extends 
HelixStateTransitionHandler {
+      boolean _testIsMessageStaled;
+
       public TestStateTransitionMessageHandler(Message message, 
NotificationContext context) {
-        super(message, context);
+        super(null, null, message, context, null);
+        _testIsMessageStaled = false;
+      }
+
+      public TestStateTransitionMessageHandler(Message message, 
NotificationContext context,
+          CurrentState currentStateDelta) {
+        super(null, null, message, context, currentStateDelta);
+        _testIsMessageStaled = true;
+
+
       }
 
       @Override
-      public HelixTaskResult handleMessage() throws InterruptedException {
+      public HelixTaskResult handleMessage() {
         HelixTaskResult result = new HelixTaskResult();
         _processedMsgIds.put(_message.getMsgId(), _message.getMsgId());
         if (_delay > 0) {
           System.out.println("Sleeping..." + _delay);
-          Thread.sleep(_delay);
+          try{
+            Thread.sleep(_delay);
+          } catch (Exception e) {
+            assert (false);

Review comment:
       Can you help understand why we need to assert instead of throwing an 
`InterruptedException`?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to