drcrallen commented on a change in pull request #6953: Move GCP to a core
extension
URL: https://github.com/apache/incubator-druid/pull/6953#discussion_r263125953
##########
File path: server/pom.xml
##########
@@ -42,6 +42,11 @@
<artifactId>druid-aws-common</artifactId>
<version>${project.parent.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.druid</groupId>
+ <artifactId>druid-gcp-common</artifactId>
Review comment:
I'll get a list of dependencies via the maven dependency tree here.
As far as transitive dependency, this goes back to "an extension can't
depend on another extension" problem, where the implementation in an extension
classloader is not accessible from any other extension. So if I put the AWS
injectables in an extension, there is no other extension that can use those.
All the overrides must be in the same extension.
As written elsewhere, the only place this does not apply is for things used
in the hadoop world, where everything is mangled onto the same ClassLoader
(often leading to all kinds of version problems). Since things in the hadoop
world get mangled all together, they all can reach each other in the same
classloader.
The only "real" solution I can think of for this is to have an Extension
Class Loader, whereby an extension can declare a class as "exported" and have
that classloader make sure any other extensions can use that common exported
class from a single classloader.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]