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]

Reply via email to