-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugUnwanted / harmful behaviorUnwanted / harmful behavior
Description
Using pydantic 2.12.0 throws following error when running the Text AI notebook:
Caught exception during cleanup after an exception.
Traceback (most recent call last):
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/python_query_handler_runner.py", line 64, in run
result = self._handle_continue(result)
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/python_query_handler_runner.py", line 84, in _handle_continue
_result = self._state.query_handler.handle_query_result(input_query_result)
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/audit/audit_query_handler.py", line 108, in handle_query_result
action = self._child.query_handler.handle_query_result(query_result)
File "exasol/ai/text/impl/orchestrator/orchestrator_query_handler.py", line 117, in exasol.ai.text.impl.orchestrator.orchestrator_query_handler.OrchestratorQueryHandler.handle_query_result
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/graph/stage/sql/execution/query_handler.py", line 58, in handle_query_result
result = self._run_until_continue_or_last_stage_finished()
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/graph/stage/sql/execution/query_handler.py", line 68, in _run_until_continue_or_last_stage_finished
result = handler.start()
File "exasol/ai/text/impl/stage_graph/query_handlers/udf_algo_query_handler.py", line 501, in exasol.ai.text.impl.stage_graph.query_handlers.udf_algo_query_handler.UDFAlgoQueryHandler.start
File "exasol/ai/text/impl/stage_graph/query_handlers/udf_algo_query_handler.py", line 292, in exasol.ai.text.impl.stage_graph.query_handlers.udf_algo_query_handler.UDFAlgoQueryHandler.create_udf_query
File "exasol/ai/text/impl/nlp/udf_factory.py", line 52, in exasol.ai.text.impl.nlp.udf_factory.UDFFactory.create_udf_query
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/pydantic/main.py", line 528, in model_dump_json
return self.__pydantic_serializer__.to_json(
pydantic_core._pydantic_core.PydanticSerializationError: Unable to serialize unknown type: <class 'sortedcontainers_pydantic.SortedSet'>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/python_query_handler_runner.py", line 72, in run
self._handle_finish()
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/python_query_handler_runner.py", line 105, in _handle_finish
self._state.top_level_query_handler_context.release()
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/context/top_level_query_handler_context.py", line 127, in release
self._check_if_children_released()
File "/home/jupyter/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/context/top_level_query_handler_context.py", line 311, in _check_if_children_released
raise ChildContextNotReleasedError(
exasol.analytics.query_handler.context.top_level_query_handler_context.ChildContextNotReleasedError: The following child contexts were not released,
please release all contexts to avoid ressource leakage:
- <exasol.analytics.query_handler.context.top_level_query_handler_context._ChildQueryHandlerContext object at 0x785ebed02e00>
- <exasol.analytics.query_handler.context.top_level_query_handler_context._ChildQueryHandlerContext object at 0x785e1f6a2d10>
- <exasol.analytics.query_handler.context.top_level_query_handler_context._ChildQueryHandlerContext object at 0x785e1f6f4f40>
---------------------------------------------------------------------------
PydanticSerializationError Traceback (most recent call last)
File ~/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/python_query_handler_runner.py:64, in PythonQueryHandlerRunner.run(self)
63 while isinstance(result, Continue):
---> 64 result = self._handle_continue(result)
65 if isinstance(result, Finish):
File ~/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/python_query_handler_runner.py:84, in PythonQueryHandlerRunner._handle_continue(self, result)
83 input_query_result = self._run_input_query(result)
---> 84 _result = self._state.query_handler.handle_query_result(input_query_result)
85 return _result
File ~/jupyterenv/lib/python3.10/site-packages/exasol/analytics/audit/audit_query_handler.py:108, in AuditQueryHandler.handle_query_result(self, query_result)
107 if self._phase == Phase.MAIN:
--> 108 action = self._child.query_handler.handle_query_result(query_result)
109 return self._handle_action(action)
File exasol/ai/text/impl/orchestrator/orchestrator_query_handler.py:117, in exasol.ai.text.impl.orchestrator.orchestrator_query_handler.OrchestratorQueryHandler.handle_query_result()
File ~/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/graph/stage/sql/execution/query_handler.py:58, in SQLStageGraphExecutionQueryHandler.handle_query_result(self, query_result)
55 elif (
56 result_handler_return_value == ResultHandlerReturnValue.CONTINUE_PROCESSING
57 ):
---> 58 result = self._run_until_continue_or_last_stage_finished()
59 else:
File ~/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/graph/stage/sql/execution/query_handler.py:68, in SQLStageGraphExecutionQueryHandler._run_until_continue_or_last_stage_finished(self)
67 handler = self._state.get_current_query_handler()
---> 68 result = handler.start()
69 result_handler_return_value = self._state.handle_result(result)
File exasol/ai/text/impl/stage_graph/query_handlers/udf_algo_query_handler.py:501, in exasol.ai.text.impl.stage_graph.query_handlers.udf_algo_query_handler.UDFAlgoQueryHandler.start()
File exasol/ai/text/impl/stage_graph/query_handlers/udf_algo_query_handler.py:292, in exasol.ai.text.impl.stage_graph.query_handlers.udf_algo_query_handler.UDFAlgoQueryHandler.create_udf_query()
File exasol/ai/text/impl/nlp/udf_factory.py:52, in exasol.ai.text.impl.nlp.udf_factory.UDFFactory.create_udf_query()
File ~/jupyterenv/lib/python3.10/site-packages/pydantic/main.py:528, in BaseModel.model_dump_json(self, indent, ensure_ascii, include, exclude, context, by_alias, exclude_unset, exclude_defaults, exclude_none, exclude_computed_fields, round_trip, warnings, fallback, serialize_as_any)
499 """!!! abstract "Usage Documentation"
500 [`model_dump_json`](../concepts/serialization.md#json-mode)
501
(...)
526 A JSON string representation of the model.
527 """
--> 528 return self.__pydantic_serializer__.to_json(
529 self,
530 indent=indent,
531 ensure_ascii=ensure_ascii,
532 include=include,
533 exclude=exclude,
534 context=context,
535 by_alias=by_alias,
536 exclude_unset=exclude_unset,
537 exclude_defaults=exclude_defaults,
538 exclude_none=exclude_none,
539 exclude_computed_fields=exclude_computed_fields,
540 round_trip=round_trip,
541 warnings=warnings,
542 fallback=fallback,
543 serialize_as_any=serialize_as_any,
544 ).decode()
PydanticSerializationError: Unable to serialize unknown type: <class 'sortedcontainers_pydantic.SortedSet'>
The above exception was the direct cause of the following exception:
RuntimeError Traceback (most recent call last)
File <timed eval>:1
Cell In[22], line 2, in run_text_ai_preprocessing()
1 def run_text_ai_preprocessing():
----> 2 extraction.run(ai_lab_config)
File ~/jupyterenv/lib/python3.10/site-packages/exasol/nb_connector/text_ai_extension_wrapper.py:246, in Extraction.run(self, conf)
244 with open_pyexasol_connection(conf, compression=True) as connection:
245 connection.execute(query=activation_sql)
--> 246 TextAiExtraction(
247 extractor=self.extractor,
248 output=self.output,
249 defaults=defaults,
250 ).run(
251 pyexasol_con=connection,
252 temporary_db_object_schema=conf.db_schema,
253 language_alias=LANGUAGE_ALIAS,
254 )
File exasol/ai/text/extraction/extraction.py:29, in exasol.ai.text.extraction.extraction.Extraction.run()
File exasol/ai/text/extraction/extraction.py:31, in exasol.ai.text.extraction.extraction.Extraction.run()
File exasol/ai/text/impl/orchestrator/python_extraction_runner.py:94, in exasol.ai.text.impl.orchestrator.python_extraction_runner.PythonExtractionRunner.run()
File ~/jupyterenv/lib/python3.10/site-packages/exasol/analytics/query_handler/python_query_handler_runner.py:75, in PythonQueryHandlerRunner.run(self)
73 except Exception as e1:
74 LOGGER.exception("Caught exception during cleanup after an exception.")
---> 75 raise RuntimeError(
76 f"Execution of query handler {self._state.query_handler} failed."
77 ) from e
RuntimeError: Execution of query handler <exasol.analytics.audit.audit_query_handler.AuditQueryHandler object at 0x785ebed02ec0> failed.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugUnwanted / harmful behaviorUnwanted / harmful behavior