+1 for option 2
On 2022/05/18 13:30:57 zhaomin1423 wrote: > +1 > > > > ---- Replied Message ---- > | From | Fei Wang<feiw...@apache.org> | > | Date | 05/18/2022 15:05 | > | To | dev@kyuubi.apache.org<dev@kyuubi.apache.org> | > | Cc | | > | Subject | Re: [DISCUSS] Kyuubi Hive JDBC shaded client and development > experience | > +1 for separating Kyuubi Hive JDBC shaded client to an independent Git repo. > > Regards, > Fei > > On 2022/05/18 05:45:00 Cheng Pan wrote: > > Hi Kyuubi developers, > > > > Recently, we notice that many new contributors are confused about > > Kyuubi's development and debugging process, because they can not run > > `mvn test` or run test on IDE(e.g. Jetbrains IDEA) directly like most > > maven based Java projects, instead, they should run `mvn install` > > before doing that. > > > > The root cause is Kyuubi Hive JDBC shaded client. We introduce this > > module because the upstream Hive JDBC client has lots of transitive > > dependencies which may pollute the user classpath and cause class > > conflict. The Kyuubi Hive JDBC shaded client shaded and relocated all > > Hive transitive classes to make it friendly to downstream projects and > > users. > > > > The problem is, Maven and IDEA[1] do not work well with shaded > > modules, the current workaround requires the developer to run `mvn > > install` before testing. > > > > I have 2 ideas to solve the problem. > > > > 1. Some Kyuubi modules use Kyuubi Hive JDBC shaded client for testing, > > we let them depend on the latest released version of Kyuubi Hive JDBC > > shaded client rather than the project module, and introduce a profile > > to switch back on CI environment for verification. > > > > 2. Separate the Kyuubi Hive JDBC shaded client to an independent Git > > repo, and make it have an independent release cycle with the Kyuubi > > main project. > > > > Further, now the Kyuubi Hive JDBC shaded client has room to improve, > > i.e. it's easy to deserialize the metadata and record from thrift > > format to Java format directly, we don't need to use Hive serde to do > > such things, then we can drop those Hive dependencies rather than > > shade them; as Kyuubi proposes to support etcd as service discover > > server, we also need to support that in Kyuubi Hive JDBC client. > > > > What do you guys think of that? > > > > [1] https://youtrack.jetbrains.com/issue/IDEA-126596 > > > > Thanks, > > Cheng Pan > > >