reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geon-Woo Kim (JIRA)" <>
Subject [jira] [Commented] (REEF-1040) Fix a bug in WatcherTest
Date Fri, 19 Feb 2016 03:48:18 GMT


Geon-Woo Kim commented on REEF-1040:

[~afchung90] Thank you for the comment and good suggestions!

As you pointed out, changing when to send {{INIT}} to after a task thread started would be
a better solution, but there are some subtle problems. Actually {{}} not only
calls a custom task function but fires {{TaskStart}} and {{TaskStop}} events. Letting {{INIT}}
be sent before {{TaskStart}} does not fully solve the problem since it just reduces the probability
of the race condition (hanging on {{TaskStart}} event handlers will cause the same situation).
Between {{TaskStart}} and {{}} is also not an appropriate place because our system's
behaviors are changed if there is an exception in a {{TaskStart}} event handler. Indeed, it
makes another test failure on {{FailTaskTest#testFailTaskStart}}.

I think one of the most strange things of {{isFirstRunningMessage}} is that {{RunningTask}}
events are executed without a state transition but with a conditional logic. Thus, adding
a {{STARTED}} state, to change driver-side transitions to {{INIT}} --> {{STARTED}} -->
{{RUNNING}} and to fire {{RunningTask}} events after entering {{RUNNING}} might look better,
but we cannot add a new state to {{State}} which is a "DriverSide representation of ReefServiceProtos.State."

I agree with creating a new issue to carefully rethink and specify the exact meaning of the
states later. Thank you.

> Fix a bug in WatcherTest
> ------------------------
>                 Key: REEF-1040
>                 URL:
>             Project: REEF
>          Issue Type: Sub-task
>          Components: REEF-IO
>            Reporter: Geon-Woo Kim
>            Priority: Blocker
> Watcher tests sporadically fails especially in Travis CI. The bug should be fixed.

This message was sent by Atlassian JIRA

View raw message