Does Ray support invoking overriding Java functions from Python worker?

How severe does this issue affect your experience of using Ray?

  • Medium: It contributes to significant difficulty to complete my task, but I can work around it.

When I tried to invoke an overriding Java method from Python, I got the following error:

ERROR TaskExecutor [main]: Failed to execute task 768b039378573ee14aadd993a80c69b41d30779f01000000 . rayFunction is null , argument types are null
(pid=3163) java.lang.RuntimeException: RayFunction com.myorg.myproj.MyOperator.execute is overloaded, the signature can't be empty.
(pid=3163) 	at io.ray.runtime.task.TaskExecutor.getRayFunction(TaskExecutor.java:66) ~[ray_dist.jar:?] [repeated 3x across cluster]
(pid=3163) 	at io.ray.runtime.runner.worker.DefaultWorker.main(DefaultWorker.java:15) [ray_dist.jar:?] [repeated 3x across cluster]
(pid=3163) 	at io.ray.runtime.RayNativeRuntime.nativeRunTaskExecutor(Native Method) ~[ray_dist.jar:?]

From this post, it seems Ray doesn’t support invoking overloaded Java methods from Python. But our use case is an overriding method, and from the error message, it is mistaken for overloading. Wondering if this is a bug?

From the discussion in the issue you found, I think we don’t support the overriding methods now.