You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by GitBox <gi...@apache.org> on 2020/04/01 00:09:17 UTC

[GitHub] [drill] paul-rogers commented on issue #1892: DRILL-7437: Storage Plugin for Generic HTTP REST API

paul-rogers commented on issue #1892: DRILL-7437: Storage Plugin for Generic HTTP REST API
URL: https://github.com/apache/drill/pull/1892#issuecomment-606952406
 
 
   To '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:
users@infra.apache.org


With regards,
Apache Git Services