Can we start actors in a different namespace than the Ray driver in Ray’s Java API?
For context, in Python, we can set an actor’s namespace in the @remote
decorator:
ray.init(namespace="driver-namespace")
@ray.remote(namespace="actor-namespace")
class ExampleActor:
...
# Starts ExampleActor in the
# "actor-namespace" namespace
ExampleActor.remote()
or the .options()
call:
ray.init(namespace="driver-namespace")
# Starts ExampleActor in the
# "actor-namespace" namespace
ExampleActor.options(namespace="actor-namespace").remote()
From my understanding, in Java, the ActorCreatorOptions class lists all the potential actor options we can set. I don’t see a namespace
option there:
public final String name;
public ActorLifetime lifetime;
public final int maxRestarts;
public final List<String> jvmOptions;
public final int maxConcurrency;
public final PlacementGroup group;
public final int bundleIndex;
public final List<ConcurrencyGroup> concurrencyGroups;
public final String serializedRuntimeEnv;
public final int maxPendingCalls;
Does this mean all Java Ray actors must start in the driver’s namespace?
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.