-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/46546/
-----------------------------------------------------------

(Updated April 22, 2016, 12:08 a.m.)


Review request for samza, Navina Ramesh, Jagadish Venkatraman, Xinyu Liu, and 
Yi Pan (Data Infrastructure).


Bugs: SAMZA-940
    https://issues.apache.org/jira/browse/SAMZA-940


Repository: samza


Description (updated)
-------

SAMZA-940 TestProcessJob.testProcessJobKillShouldWork fails occasionally

It looks like this has been a problem since Java 8. Java 8 changed the meaning 
of Process.destroy(). It used to forcibly destroy the process, but now it is a 
"normal termination" and destroyForcibly() is the method that force-kills the 
process. 

Since destroyForcibly() was only introduced in Java 8, the best solution I 
found was to use reflection to call that method if it exists. 

References:
https://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#destroy()
https://docs.oracle.com/javase/8/docs/api/java/lang/Process.html#destroy--

Java 9 docs are a bit clearer
http://download.java.net/jdk9/docs/api/java/lang/Process.html#destroy--


Diffs
-----

  samza-core/src/main/java/org/apache/samza/job/util/ProcessKiller.java 
PRE-CREATION 
  samza-core/src/main/scala/org/apache/samza/job/local/ProcessJob.scala 
66618165d27aa916238cc86b27631c5db3435c6a 

Diff: https://reviews.apache.org/r/46546/diff/


Testing (updated)
-------

Ran the test a number of times and haven't seen the assertion fail.


Thanks,

Jake Maes

Reply via email to