FrankChen021 opened a new issue, #13057:
URL: https://github.com/apache/druid/issues/13057

   #12839 introduces a script `run-java` to start the peon tasks, and this 
script requires bash to execute it.
   
   However, the busybox that docker images installs does not ship bash but sh, 
so when a task is launched by middle manager, following exception is thrown.
   
   ```bash
   middlemanager    | java.io.IOException: Cannot run program "bin/run-java": 
error=2, No such file or directory
   middlemanager    |      at 
java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) ~[?:?]
   middlemanager    |      at 
java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) ~[?:?]
   middlemanager    |      at 
org.apache.druid.indexing.overlord.ForkingTaskRunner.runTaskProcess(ForkingTaskRunner.java:491)
 ~[druid-indexing-service-25.0.0-SNAPSHOT.jar:25.0.0-SNAPSHOT]
   middlemanager    |      at 
org.apache.druid.indexing.overlord.ForkingTaskRunner$1.call(ForkingTaskRunner.java:390)
 ~[druid-indexing-service-25.0.0-SNAPSHOT.jar:25.0.0-SNAPSHOT]
   middlemanager    |      at 
org.apache.druid.indexing.overlord.ForkingTaskRunner$1.call(ForkingTaskRunner.java:153)
 ~[druid-indexing-service-25.0.0-SNAPSHOT.jar:25.0.0-SNAPSHOT]
   middlemanager    |      at 
java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
   middlemanager    |      at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
~[?:?]
   middlemanager    |      at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
~[?:?]
   middlemanager    |      at java.lang.Thread.run(Thread.java:829) ~[?:?]
   middlemanager    | Caused by: java.io.IOException: error=2, No such file or 
directory
   middlemanager    |      at java.lang.ProcessImpl.forkAndExec(Native Method) 
~[?:?]
   middlemanager    |      at 
java.lang.ProcessImpl.<init>(ProcessImpl.java:340) ~[?:?]
   middlemanager    |      at java.lang.ProcessImpl.start(ProcessImpl.java:271) 
~[?:?]
   middlemanager    |      at 
java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) ~[?:?]
   ```
   
   
   The solution is:
   1. replace the directive of `#!/bin/bash -eu` of `run-java` file to 
`#!/bin/sh`
   2. Or install bash to docker
   
   I think the 2nd alternative is better.
   
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

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