Expose `org.apache.drill.test` artifact so that end-users can use `ClusterFixtureBuilder` to create embedded Drill applications
- Dominant language
- Java
- Stars
- 2k
- Forks
- 990
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 5
Description
Hello, I would like to embed Drill in a JVM application, running as a single node in-memory.
I will feed it Calcite `RelNode` relational expressions to execute that my application is generating.
Browsing the code to try to find out how best to go about this, I found in `ClusterFixtureBuilder.java`:
(If this isn't the best/easiest way to embed a single Drill node please let me know and I will delete this issue 😅)
https://github.com/apache/drill/blob/2decae18b85eeda51816e92d5a9e9e6e2f9ce8d5/exec/java-exec/src/test/java/org/apache/drill/test/ClusterFixtureBuilder.java#L29-L43
https://github.com/apache/drill/blob/2decae18b85eeda51816e92d5a9e9e6e2f9ce8d5/exec/java-exec/src/test/java/org/apache/drill/test/ClusterFixtureBuilder.java#L279-L301
But it looks like there is no Maven artifact or `.jar` to download to include this functionality as an end user =/
I tried to copy-paste the primary classes, but there is a spiderweb of dependencies through out the `org.apache.drill.test` and `org.apache.drill.exec.testing` packages.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading ClusterFixtureBuilder.java under exec/java-exec/src/test/java/org/apache/drill/test/, especially the referenced builder sections, and trace its dependencies through org.apache.drill.test and org.apache.drill.exec.testing. Determine the Maven packaging needed to expose this functionality to end users, then verify that an embedded single-node application can consume the resulting artifact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100