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

Reply via email to