Hey Jeet, I think it is a case of "it seemed like a good idea at the time". Some things about the current layout do work well: one is that there is actually a lot of common query engine code between anything that handles queries. That's historical, broker, peon, and indexer. That common query engine code today is mostly in "core" and "processing". Another is that Druid SQL is architected as a layer that sits atop the native query system, and it's all cleanly separated into its own "sql" module. Outside of the query engine code, there is a bunch of historical, broker, and coordinator specific stuff in the "server" module that could be broken out into 3 separate modules, but I suppose the appropriate cost/benefit hasn't been there for someone to actually do that.
On Mon, Aug 16, 2021 at 7:07 AM Jeet Patel <jp707...@gmail.com> wrote: > Hello, > > A question about how druid directory structure came into existence. Druid > has processes like historical, coordinator, overlord, broker, etc. > > We see that the current project root level directories are like > > druid > |- indexing-service > |- services > |- sql > |- core > ... > ... > > Can someone explain why this directory structure was formed instead of > having something like following and place the code/modules related to the > processes in their respective folders? > > druid > |- historical > |- broker > |- coordinator > |- extensions > ... > ... > > It would be great to know the background of this topic. > > Thank you :) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org > For additional commands, e-mail: dev-h...@druid.apache.org > >