Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cut out Hive JDBC and Hive Service deps in beeline module #6153

Closed
wants to merge 3 commits into from

Conversation

pan3793
Copy link
Member

@pan3793 pan3793 commented Mar 11, 2024

🔍 Description

Issue References 🔗

This is the next step of #6146, cutting out most Hive deps(excepting hive-common) and recovering the skipped tests via minor code tunning.

Describe Your Solution 🔧

  • Drop hive-jdbc, hive-service, hive-service-rpc deps in the beeline module.
  • Migrate from commons-lang to commons-lang3 in the beeline module.
  • Recover the skipped test TestClientCommandHookFactory#connectHook

Types of changes 🔖

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪

Pass GA, and manually test to ensure the following error has gone.

Before

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

After

root@hadoop-master1:/opt/kyuubi# bin/beeline --version
Connecting to jdbc:hive2://hadoop-master1.orb.local:10000/default;password=hive;user=hive
Connected to: Apache Hive (version 2.3.9)
Driver: Kyuubi Project Hive JDBC Client (version 1.9.0-SNAPSHOT)
Beeline version 1.9.0-SNAPSHOT by Apache Kyuubi
0: jdbc:hive2://hadoop-master1.orb.local:1000>

Checklist 📝

Be nice. Be informative.

@github-actions github-actions bot added kind:infra license, community building, project builds, asf infra related, etc. module:hive module:ctl kind:build labels Mar 11, 2024
@pan3793 pan3793 requested review from ulysses-you and cfmcgrady and removed request for ulysses-you March 11, 2024 06:14
@pan3793 pan3793 self-assigned this Mar 11, 2024
@pan3793 pan3793 added this to the v1.9.0 milestone Mar 11, 2024
@@ -40,7 +41,7 @@
* <client-principal>
*/
public class ProxyAuthTest {
private static final String driverName = "org.apache.hive.jdbc.HiveDriver";
private static final String driverName = "org.apache.kyuubi.jdbc.KyuubiHiveDriver";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we still support org.apache.hive.jdbc.HiveDriver right ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have no such guarantee, the internally used JDBC driver is not user-faced stuff, we only need to ensure that user could smoothly migrate from Hive Beeline to Kyuubi Beeline without changing the JDBC URL.

@ulysses-you
Copy link
Contributor

lgtm if tests pass

@pan3793
Copy link
Member Author

pan3793 commented Mar 11, 2024

Thanks, merged to master

@pan3793 pan3793 closed this in 9fd392b Mar 11, 2024
zhaohehuhu pushed a commit to zhaohehuhu/incubator-kyuubi that referenced this pull request Mar 21, 2024
…ne module

# 🔍 Description
## Issue References 🔗

This is the next step of apache#6146, cutting out most Hive deps(excepting `hive-common`) and recovering the skipped tests via minor code tunning.

## Describe Your Solution 🔧

- Drop `hive-jdbc`, `hive-service`, `hive-service-rpc` deps in the beeline module.
- Migrate from `commons-lang` to `commons-lang3` in the beeline module.
- Recover the skipped test `TestClientCommandHookFactory#connectHook`

## Types of changes 🔖

- [x] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

## Test Plan 🧪

Pass GA, and manually test to ensure the following error has gone.

Before
```
roothadoop-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
```

After
```
roothadoop-master1:/opt/kyuubi# bin/beeline --version
Connecting to jdbc:hive2://hadoop-master1.orb.local:10000/default;password=hive;user=hive
Connected to: Apache Hive (version 2.3.9)
Driver: Kyuubi Project Hive JDBC Client (version 1.9.0-SNAPSHOT)
Beeline version 1.9.0-SNAPSHOT by Apache Kyuubi
0: jdbc:hive2://hadoop-master1.orb.local:1000>
```

---

# Checklist 📝

- [x] This patch was not authored or co-authored using [Generative Tooling](https://www.apache.org/legal/generative-tooling.html)

**Be nice. Be informative.**

Closes apache#6153 from pan3793/beeline-2.

Closes apache#6153

8cd52e5 [Cheng Pan] notice
d03c729 [Cheng Pan] minor
5d16bf4 [Cheng Pan] beeline test pass

Authored-by: Cheng Pan <[email protected]>
Signed-off-by: Cheng Pan <[email protected]>
@pan3793 pan3793 deleted the beeline-2 branch June 6, 2024 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:build kind:infra license, community building, project builds, asf infra related, etc. module:ctl module:hive
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants