paul-rogers edited a comment on issue #1892: DRILL-7437: Storage Plugin for Generic HTTP REST API URL: https://github.com/apache/drill/pull/1892#issuecomment-606952406 To @ihuzenko 's earlier comment, Drill seems to include multiple HTTP clients: * `org.apache.httpcomponents:httpclient:jar:4.5.6` * `org.apache.httpcomponents:httpclient:jar:4.4.1` * `com.squareup.okhttp:okhttp:jar:2.7.5` * `com.squareup.okhttp3:okhttp:jar:3.3.0` * `org.apache.httpcomponents:httpasyncclient:jar:4.1.4` * `commons-httpclient:commons-httpclient:jar:3.1` That said, it appears that HDFS uses the Square client: ``` +- org.apache.hadoop:hadoop-client:jar:3.2.1:compile | +- org.apache.hadoop:hadoop-hdfs-client:jar:3.2.1:compile | | \- com.squareup.okhttp:okhttp:jar:2.7.5:compile ``` Looks like other plugins have transitive dependency on OK HTTP3: ``` +- org.apache.drill.contrib:drill-opentsdb-storage:jar:1.18.0-SNAPSHOT:compile | +- com.squareup.retrofit2:retrofit:jar:2.1.0:compile | | \- com.squareup.okhttp3:okhttp:jar:3.3.0:compile ``` So, while we should clean up our HTTP client use, looks like the Square client is the preferred one. An issue is the HDFS dependency on the OkHttp 2.x series while the HTTP plugin depends on the newer "okhtt3" version. Fortunately, the package names are different, but we still have to load both into memory. In general, each plugin depends on far too much stuff: we probably should not expose the Hadoop and HDFS classes to format plugins. But, that is an improvement for later.
---------------------------------------------------------------- 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
