• Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.14.0
    • Fix Version/s: 0.14.0
    • Component/s: HiveServer2, JDBC
    • Labels:


      To support Rolling Upgrade / HA, we need a mechanism by which a JDBC client can dynamically resolve an HiveServer2 to connect to.

      High Level Design:
      Whether, dynamic service discovery is supported or not, can be configured by setting HIVE_SERVER2_SUPPORT_DYNAMIC_SERVICE_DISCOVERY. ZooKeeper is used to support this.

      • When an instance of HiveServer2 comes up, it adds itself as a znode to ZooKeeper under a configurable namespace (HIVE_SERVER2_ZOOKEEPER_NAMESPACE).
      • A JDBC/ODBC client now specifies the ZooKeeper ensemble in its connection string, instead of pointing to a specific HiveServer2 instance. The JDBC driver, uses the ZooKeeper ensemble to pick an instance of HiveServer2 to connect for the entire session.
      • When an instance is removed from ZooKeeper, the existing client sessions continue till completion. When the last client session completes, the instance shuts down.
      • All new client connection pick one of the available HiveServer2 uris from ZooKeeper.


        1. HIVE-7935.1.patch
          47 kB
          Vaibhav Gumashta
        2. HIVE-7935.2.patch
          81 kB
          Vaibhav Gumashta
        3. HIVE-7935.3.patch
          83 kB
          Vaibhav Gumashta
        4. HIVE-7935.4.patch
          84 kB
          Vaibhav Gumashta
        5. HIVE-7935.5.patch
          89 kB
          Vaibhav Gumashta
        6. HIVE-7935.6.patch
          96 kB
          Vaibhav Gumashta
        7. HIVE-7935.7.patch
          98 kB
          Vaibhav Gumashta
        8. HIVE-7935.8.patch
          98 kB
          Vaibhav Gumashta

          Issue Links



              • Assignee:
                vgumashta Vaibhav Gumashta
                vgumashta Vaibhav Gumashta
              • Votes:
                0 Vote for this issue
                7 Start watching this issue


                • Created: