Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-5752

Error during session reset in avatica go driver

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.34.0
    • avatica-go-5.3.0
    • avatica-go
    • None

    Description

      In Go sql package when an idle connection is picked from the pool, ResetSession method is called on the connection. In the drivers implementation of this method here, registerConn method is called which actually does an OpenConnectionRequest with the existing connectionId. On the Druid side it actually throws an exception here saying the connection is already open. I checked other driver implementations like postgres and mysql for ResetSession method and they actually don't open a new connection. So not sure about the reason for doing this here. Any thoughts on this ? Example exception stack trace -

      2023-05-22T19:24:47,357 ERROR [qtp411114562-140] org.apache.druid.sql.avatica.DruidMeta - Connection [fcf73260-cb72-b867-154b-e39a19569c5e] already open.
      org.apache.druid.java.util.common.ISE: Connection [fcf73260-cb72-b867-154b-e39a19569c5e] already open.
          at org.apache.druid.sql.avatica.DruidMeta.openDruidConnection(DruidMeta.java:823) ~[classes/:?]
          at org.apache.druid.sql.avatica.DruidMeta.openConnection(DruidMeta.java:208) ~[classes/:?]
          at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:285) ~[avatica-core-1.17.0.jar:1.17.0]
          at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1770) ~[avatica-core-1.17.0.jar:1.17.0]
          at org.apache.calcite.avatica.remote.Service$OpenConnectionRequest.accept(Service.java:1750) ~[avatica-core-1.17.0.jar:1.17.0]
          at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94) ~[avatica-core-1.17.0.jar:1.17.0]
          at org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46) ~[avatica-core-1.17.0.jar:1.17.0]
          at org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:126) ~[avatica-server-1.17.0.jar:1.17.0]
          at org.apache.druid.sql.avatica.DruidAvaticaProtobufHandler.handle(DruidAvaticaProtobufHandler.java:61) ~[classes/:?] 

      Attachments

        Issue Links

          Activity

            People

              francischuang Francis Chuang
              pjain16 Parag Jain
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h