[ 
https://issues.apache.org/jira/browse/MESOS-9274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16630527#comment-16630527
 ] 

Alexander Rukletsov edited comment on MESOS-9274 at 10/4/18 9:01 AM:
---------------------------------------------------------------------

I see several possible solutions here:
* Ensure the JAVA scheduler library is not destructed after {{TEARDOWN}} is 
sent. This is out of our control hence does not seem like a good solution or 
user experience
* Add {{sleep(5)}} in 
[{{V1Mesos::finalize()}}|https://github.com/apache/mesos/blob/270c4cb62f5680bcf952bfb7ec8dfc10843f21e0/src/java/jni/org_apache_mesos_v1_scheduler_V1Mesos.cpp#L258].
 This is a hacky solution but it [_follows the 
pattern_|https://github.com/apache/mesos/blob/86653356d763fee79e9467cf7b07bebb449e8aff/src/launcher/default_executor.cpp#L1082]
 ;).
* Use {{Mesos::call()}} instead of {{Mesos::send()}} and wait for the response 
in {{v1Mesos::send()}}. This seems like the cleanest solution.


was (Author: alexr):
I see several possible solutions here:
* Ensure the JAVA scheduler library is not destructed after {{TEARDOWN}} is 
sent. This is out of our control hence does not seem like a good solution or 
user experience
* Add {{sleep(5)}} in 
[{{V1Mesos::finalize()}}|https://github.com/apache/mesos/blob/270c4cb62f5680bcf952bfb7ec8dfc10843f21e0/src/java/jni/org_apache_mesos_v1_scheduler_V1Mesos.cpp#L258].
 This is a hacky solution but it [_follows the 
pattern_|https://github.com/apache/mesos/blob/86653356d763fee79e9467cf7b07bebb449e8aff/src/launcher/default_executor.cpp#L1082]
 ;).
* Use {[Mesos::call()}} instead of {{Mesos::send()}} and wait for the response 
in {{v1Mesos::send()}}. This seems like the cleanest solution.

> v1 JAVA scheduler library can drop TEARDOWN upon destruction.
> -------------------------------------------------------------
>
>                 Key: MESOS-9274
>                 URL: https://issues.apache.org/jira/browse/MESOS-9274
>             Project: Mesos
>          Issue Type: Bug
>          Components: java api, scheduler driver
>            Reporter: Alexander Rukletsov
>            Assignee: Alexander Rukletsov
>            Priority: Major
>              Labels: api, mesosphere, scheduler
>
> Currently the v1 JAVA scheduler library neither ensures {{Call}} s are sent 
> to the master nor waits for responses. This can be problematic if the library 
> is destroyed (or garbage collected) right after sending a {{TEARDOWN}} call: 
> destruction of the underlying {{Mesos}} actor races with sending the call.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to