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

Reply via email to