[KYUUBI-SHADED #28] Step 1/2: Overwrite SnapStream to remove deps of snappy in ZK client 3.6

### _Why are the changes needed?_

This PR aims to tackle https://github.com/apache/kyuubi-shaded/pull/10 with another approach.

Though we can add the snappy deps into ZK client 3.6 to address it, as the snappy has native libs that are not able to be relocated, thus there will be potential conflict issues, this approach also increases the size of `kyuubi-relocated-zookeeper-3.6`.

Actually, `org.apache.zookeeper.server.persistence.SnapStream` is only used on the server side, in terms of Kyuubi's usage, the embedded ZK feature is mostly for testing purposes, overwriting the `SnapStream` to drop the Snappy support should be OK.

To gain a clear change history, I purpose to split the change into 2 PRs,

1. copy `org.apache.zookeeper.server.persistence.SnapStream` from [Apache Zookeeper v3.6.4](https://raw.githubusercontent.com/apache/zookeeper/release-3.6.4/zookeeper-server/src/main/java/org/apache/zookeeper/server/persistence/SnapStream.java) as-is
2. remove the Snappy support (simply throw `UnsupportedOperationException`) in `org.apache.zookeeper.server.persistence.SnapStream` and snappy deps

### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #28 from pan3793/snappy-1.

2aa4995 [Cheng Pan] style
164f5f5 [Cheng Pan] Step 1/2: Overwrite SnapStream to remove deps of snappy in ZK client 3.6

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2 files changed
tree: d517b0e7b41b34b5ccb7565504267a1430df18d2
  1. .github/
  2. build/
  3. dev/
  4. kyuubi-relocated-force-shading/
  5. kyuubi-relocated-hive-service-rpc/
  6. kyuubi-relocated-zookeeper-parent/
  7. .asf.yaml
  8. .gitattributes
  9. .gitignore
  10. .rat-excludes
  11. LICENSE
  12. NOTICE
  13. pom.xml
  14. README.md
README.md

Apache Kyuubi Shaded Dependencies

This project packages relocated third-party libraries used by Apache Kyuubi.

All relocated classes is under the package org.apache.kyuubi.shaded, and the binary artifacts' name start with kyuubi-relocated-.

DISCLAIMER

This project is for Apache Kyuubi internal use. Included libs and/or their versions are subject to change at the dictate of Kyuubi without regard to the concern of others!

About

Apache Kyuubi is an open source project of The Apache Software Foundation (ASF).