pan3793 opened a new issue, #6146:
URL: https://github.com/apache/kyuubi/issues/6146

   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   
   
   ### Search before asking
   
   - [X] I have searched in the 
[issues](https://github.com/apache/kyuubi/issues) and found no similar issues.
   
   
   ### Describe the proposal
   
   ### Background
   
   Currently, we extend `org.apache.hive:hive-beeline:3.1.3` to implement 
Kyuubi-specific features, this way has certain drawbacks. Hive has horrible 
dependencies hell(and some involve CVEs), we have put a lot of effort 
previously into making the Hive deps manageable, while it still has a chance in 
corner cases that trigger class link issues
   
   ```
   root@hadoop-master1:/opt/kyuubi# bin/beeline -u 
'jdbc:hive2://hadoop-master1.orb.local:10009/'
   Warn: Not find kyuubi environment file /etc/kyuubi/conf/kyuubi-env.sh, using 
default ones...
   Connecting to jdbc:hive2://hadoop-master1.orb.local:10009/
   Connected to: Spark SQL (version 3.4.2)
   Driver: Kyuubi Project Hive JDBC Client (version 1.8.0)
   Beeline version 1.8.0 by Apache Kyuubi
   0: jdbc:hive2://hadoop-master1.orb.local:1000>
   ```
   
   ```
   root@hadoop-master1:/opt/kyuubi# bin/beeline --version
   Warn: Not find kyuubi environment file /etc/kyuubi/conf/kyuubi-env.sh, using 
default ones...
   java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy
   ```
   
   Another example is https://github.com/apache/kyuubi/issues/5918
   
   ### proposal
   
   Fork beeline module from Apache Hive 3.1.3, and drop dependency 
org.apache.hive:hive-beeline:3.1.3, then gradually cut Hive transitive deps 
step by step, like Spark did in 
https://github.com/apache/spark/tree/master/sql/hive-thriftserver/src/main/java/org/apache/hive/service
   
   To be clear, we should do our best to minimize the change on the forked 
code, to make it easy to backport patches from upstream in the future.
   
   BTW, we already get benefits in the Kyuubi Hive JDBC module by forking the 
code.
   
   ### Task list
   
   - #6109
   
   ### Are you willing to submit PR?
   
   - [X] Yes. I would be willing to submit a PR with guidance from the Kyuubi 
community to improve.
   - [ ] No. I cannot submit a PR at this time.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to