kfaraz opened a new pull request, #18391:
URL: https://github.com/apache/druid/pull/18391

   ### Description
   
   Druid MSQ engine offers a very convenient method of performing SQL-based 
batch ingestion, export, etc.
   
   Given the importance and heavy adoption of MSQ, this patch converts MSQ into 
a core capability of Druid
   rather than an extension, as was always intended.
   
   ### Changes
   
   - Move all MSQ classes to `services` module without renaming the package
   - Move the module loader file `org.apache.druid.guice.DruidModule` to 
`services/src/main/resources/META-INF/services`
     - This effectively means that the modules listed in this file will always 
be loaded on all Druid services as desired
   - Update dependencies as needed
   - Remove mentions of extension from properties
   
   ### Alternative
   
   The alternative was to simply move the `multi-stage-query` module into a 
top-level module but that would
   lead to cyclic dependencies between `services` and `multi-stage-query` since:
   a) multi-stage-query depends on services for various classes
   b) services is the entry point and must depend on all the core modules that 
need to be on the classpath
   
   ### Pending
   
   - Once initial feedback is received, the docs will also be updated to remove 
mentions of the multi-stage-query extension.
   
   ### Future
   
   - Over time, various MSQ classes may be moved out of `services` module into 
more appropriate modules such as
   `processing`, `server`, `indexing-service` or `sql` as applicable.
   
   ### Release note
   
   - Multi-stage-query (MSQ engine) is now a core capability of Druid rather 
than an extension.
   - Remove `druid-multi-stage-query` from `druid.extensions.loadList` in 
`common.runtime.properties`.
   
   ### Upgrade notes
   
   While upgrading, the extension `druid-multi-stage-query` must be removed 
from `druid.extensions.loadList`.
   Otherwise, Druid services would fail to start as they would not be able to 
locate this extension.
   
   
   <hr>
   
   This PR has:
   
   - [ ] been self-reviewed.
      - [ ] using the [concurrency 
checklist](https://github.com/apache/druid/blob/master/dev/code-review/concurrency.md)
 (Remove this item if the PR doesn't have any relation to concurrency.)
   - [ ] added documentation for new or modified features or behaviors.
   - [ ] a release note entry in the PR description.
   - [ ] added Javadocs for most classes and all non-trivial methods. Linked 
related entities via Javadoc links.
   - [ ] added or updated version, license, or notice information in 
[licenses.yaml](https://github.com/apache/druid/blob/master/dev/license.md)
   - [ ] added comments explaining the "why" and the intent of the code 
wherever would not be obvious for an unfamiliar reader.
   - [ ] added unit tests or modified existing tests to cover new code paths, 
ensuring the threshold for [code 
coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md)
 is met.
   - [ ] added integration tests.
   - [ ] been tested in a test Druid cluster.
   


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