villebro commented on PR #2462:
URL: 
https://github.com/apache/datafusion-ballista/pull/2462#issuecomment-5718107295

   @milenkovicm good point. Looking closer, I think there is an existing naming 
mismatch here. Executor identity and executor routing are separate today: 
executors autogenerate an opaque `executor_id` at process start, but the 
scheduler calls them using `ExecutorMetadata { host, grpc_port, ... }`. For 
schedulers, the value currently called `scheduler_id` is not equivalent to 
`executor_id`. It is produced by `SchedulerConfig::scheduler_name()` as 
`external_host:bind_port`, and executors use it directly as the callback 
endpoint. I assume the reason for this has been to keep scheduler id more 
tangible on logs etc.
   
   To align with executor behavior, I think we should split these, so it would 
be
   - `scheduler_id` is an opaque id, like it is for executors.
   - introduce `scheduler_host` + `scheduler_port`, or 
`scheduler_grpc_endpoint` as a routable callback address used by executors.
   
   ..or something similar. That would make history entries a bit less 
immediately tangible because they would carry an opaque scheduler id instead of 
`host:port`, but I think it is probably the cleaner long-term model: it matches 
executor semantics and avoids exposing internal routing details in history/API 
state. Operators could still correlate via the scheduler startup log and 
`/api/state`, which would expose the generated `scheduler_id`.
   
    Thoughts?


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