JulianJaffePinterest commented on PR #12159:
URL: https://github.com/apache/druid/pull/12159#issuecomment-1168123015

   @paul-rogers a public external task API could certainly be something worth 
integrating with! I foresee a couple of solvable problems but I'd be happy to 
integrate if the new API meets the connector's needs.
   
   - I think there would need to be scalability improvements to the overlord - 
suddenly dumping thousands of tasks on to the overlord while it's also running 
real time ingestion has caused me trouble in the past. I'd also be a little 
worried about the history footprint for these external tasks.
    - I'd also be a little concerned about the change in model for failure 
recovery - right now, if a Spark job hard crashes and doesn't clean up after 
itself, at worst it will have left some orphaned files in deep storage that can 
be easily cleared. If the job has obtained locks with Druid now a lot of 
business logic needs to go in to figure out how to recover (should Spark as a 
whole be re-entrant? That solves the daily batch workflow where a retry is 
usually the first recovery approach but fails for something like an hourly 
workflow where there may be time overruns. What about multiple jobs etc.?) 
These are obviously solvable problems but they will introduce a fair amount of 
orchestration complexity without an obvious place to abstract it away. If we 
want to heartbeat from Spark we'll need to support a variety of network 
topologies and permissions structures or else the connectors won't be useful 
for a lot of people (heartbeating from Spark to an external service is a tricky 
propo
 sition with a lot of gotchas in my experience, and that's for single-site 
uses).
   
   Finally, as a broader note the effort to add Spark connectors to Druid is 
now over two years old. I wouldn't worry too much on your side if the concerns 
I've highlighted are too onerous to solve on your side or aren't where you 
imagine the proposed API heading - it's unlikely these connectors will ever be 
part of the main Druid code base and so I'm not sure how much effort you should 
expend building against their requirements.


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