-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move web-console dependency declaration from druid-server to druid-distribution #12501
Conversation
@FrankChen021, thanks for making this fix: the revised dependency looks right: it should be Adding an IT is usually a Good Thing. There is, however, a big cost to adding a test group in the current setup: we build the entire Druid stack for each test group. I've been chipping away at First cut at restructuring the integration tests to make the ITs simpler and faster: your new test is a good candidate to port. In the mean while, can the IT be added to an existing group? It can just piggy-back on any one of the existing clusters, can't it? |
@paul-rogers Thanks for the review. I need to make some changes to the CI. Since the web-console is moved to |
Since #12776 has moved web-console e2e test to phase 1, there's no need to an IT test anymore, revert these changes. |
Hello @clintropolis @vogievetsky Could you review this PR? |
By this adjustment, the building speed with |
Hello @clintropolis Any update on this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for the delay, forgot about this one.
I confirmed that everything still works, so this seems fine to me 👍
Thank you @clintropolis |
hmm, I think this might have broken how I was debugging druid services in intellij using run configurations (similar to https://github.com/apache/druid/blob/master/dev/intellij-setup.md#coordinatorxml), since the web-console is no longer working for me. I haven't verified that it is this change yet, but it seems pretty likely given that the above setup is not using the distribution packaging at all. |
confirmed it is related to this change, I'll see if I can find a solution to my debugger problem, since I use that method of debugging fairly frequently... |
Hello @clintropolis Sorry to hear that. I didn't use debug from Intelli to launch process, instead I usually use 'attach' to an existing running process. Since web-console is served by router, do you mean you debug router in this way? |
I'm wondering if we can use 'profile' to include the web-console in the server/pom.xml and active such profile from intellij when debugging? |
I think it's possible. Intellij provides a profile panel that allows us to active specific profiles. We can keep that newly added profile selected from Intellij. @clintropolis Do you have any other ideas? |
Glad to hear it works. Sorry for the inconvenience caused by this change. @clintropolis |
Description
This is a follow up of #12486
#12486 removes the web-console dependency from druid-server module because the dependency check reports that it's not used in druid-server module.
Because druid-server module is referenced by many other modules, the existence of web-console dependency in druid-server module makes that module to be compiled after the web-console module. However, building of web-console module usually takes a long time. If the whole module is built in parallel with
-T
mvn parameter, this dependency makes the building slower.After #12486 is merged, @vogievetsky found that this dependency must be there or the web-console module won't be shipped in the distribution package(#12486 (comment))
The druid distribution package is packaged by the
mvn-assembly-plugin
referenced in thedruid-distribution
module.druid/distribution/pom.xml
Lines 256 to 258 in 0206a2d
This plugin is also configured to copy all dependencies declared in the pom of
druid-distribution
to thelib
directory as below.druid/distribution/src/assembly/assembly.xml
Lines 126 to 129 in 0206a2d
So, we can move the dependency declaration from the druid-server module to the druid-distribution module so that we still gain the building speed up as well as the package integrity.
This PR has: