Open
Description
DatabaseError: Invalid OperationHandle: OperationHandle [opType=EXECUTE_STATEMENT,
getHandleIdentifier()=...]
Not seen with databricks-sql-connector 4.0.3 and before. Fails every time with 4.0.4.
import os
from databricks import sql
with sql.connect(
server_hostname=os.getenv('DATABRICKS_SERVER_HOSTNAME'),
http_path=os.getenv('DATABRICKS_HTTP_PATH'),
access_token=os.getenv('DATABRICKS_TOKEN'),
) as connection:
with connection.cursor() as cursor:
cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param": "foo"})
result = cursor.fetchall()
for row in result:
print(row)
Result:
Row(RESULT_DATE_LOCAL_TS=datetime.datetime(2025, 6, 18, 15, 6, 7,
...
Exception during cursor close in __exit__: Invalid OperationHandle: OperationHandle [opType=EXECUTE_STATEMENT, getHandleIdentifier()=03497672-2e05-4a80-8072-a9a61f98f92c]
Traceback (most recent call last):
File "...\temp.py", line 22, in <module>
with connection.cursor() as cursor:
~~~~~~~~~~~~~~~~~^^
File "...\.conda\envs\135\Lib\site-packages\databricks\sql\client.py", line 473, in __exit__
self.close()
~~~~~~~~~~^^
File "...\.conda\envs\135\Lib\site-packages\databricks\sql\client.py", line 1204, in close
self._close_and_clear_active_result_set()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "...\.conda\envs\135\Lib\site-packages\databricks\sql\client.py", line 616, in _close_and_clear_active_result_set
self.active_result_set.close()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "...\.conda\envs\135\Lib\site-packages\databricks\sql\client.py", line 1534, in close
self.thrift_backend.close_command(self.command_id)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "...\.conda\envs\135\Lib\site-packages\databricks\sql\thrift_backend.py", line 1095, in close_command
resp = self.make_request(self._client.CloseOperation, req)
File "...\.conda\envs\135\Lib\site-packages\databricks\sql\thrift_backend.py", line 486, in make_request
ThriftBackend._check_response_for_error(response)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "...\.conda\envs\135\Lib\site-packages\databricks\sql\thrift_backend.py", line 263, in _check_response_for_error
raise DatabaseError(response.status.errorMessage)
databricks.sql.exc.DatabaseError: Invalid OperationHandle: OperationHandle [opType=EXECUTE_STATEMENT, getHandleIdentifier()=...]
Metadata
Metadata
Assignees
Labels
No labels