GitHub user hsaputra opened a pull request:

    https://github.com/apache/incubator-twill/pull/58

    [TWILL-145] Potential race condition when restart all is called for a 
TwillRunnable

    If restart all instances is requested for a TwillRunnable then there could 
be race condition to check
    provisioned and container requests that could exit the TwillApplication.
    
    This PR containes changes:
    -) Change the container requests to be ConcurrentLinkedQueue since it is 
accessed by multiple threads.
    -) Add new volatile flag in RunnableContainerRequest to indicate whether it 
is ready to be provisioned.
    -) Move up adding container requests for restart before removing.
    -) Remove execution of restart to thread in the add instances executor.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/hsaputra/incubator-twill 
TWILL-145_race_condition_all_restarts

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-twill/pull/58.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #58
    
----
commit e8fc957e2a60c6e42e851cd69a24bbaca736f465
Author: hsaputra <[email protected]>
Date:   2015-07-29T23:34:12Z

    [TWILL-145] Potential race condition when restart all is called for a Twill 
runnable.
    
    If restart all instances is requested for a TwillRunnable then there could 
be race condition to check
    provisioned and container requests that could exit the TwillApplication.
    
    This PR containes changes:
    -) Change the container requests to be ConcurrentLinkedQueue since it is 
accessed by multiple threads.
    -) Add new volatile flag in RunnableContainerRequest to indicate whether it 
is ready to be provisioned.
    -) Move up adding container requests for restart before removing.
    -) Remove execution of restart to thread in the add instances executor.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to