dabla commented on issue #54350: URL: https://github.com/apache/airflow/issues/54350#issuecomment-3244869975
I've patched code as follow in KiotaRequestAdapterHook: ``` async def get_async_connection(self, conn_id: str) -> Connection: if hasattr(BaseHook, "aget_connection"): print("BaseHook has aget_connection!") return await BaseHook.aget_connection(conn_id=conn_id) print("BaseHook has no aget_connection!") return await sync_to_async(BaseHook.get_connection)(conn_id=conn_id) async def get_async_conn(self) -> RequestAdapter: print("Patched get_async_conn") """Initiate a new RequestAdapter connection asynchronously.""" if not self.conn_id: raise AirflowException("Failed to create the KiotaRequestAdapterHook. No conn_id provided!") connection = await self.get_async_connection(conn_id=self.conn_id) api_version, request_adapter = self._build_request_adapter(connection) self.api_version = api_version return request_adapter ``` I'm still getting same error, here is the stacktrace: ``` 025-09-02 11:07:27 [info ] Traceback (most recent call last): [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/airflow/plugins/infrabel/operators/msgraph.py", line 85, in run [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] response = await self.hook.run( [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] ^^^^^^^^^^^^^^^^^^^^ [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/lib/python3.12/site-packages/airflow/providers/microsoft/msgraph/hooks/msgraph.py", line 437, in run [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] response = await self.send_request( [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] ^^^^^^^^^^^^^^^^^^^^^^^^ [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/lib/python3.12/site-packages/airflow/providers/microsoft/msgraph/hooks/msgraph.py", line 455, in send_request [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] conn = await self.get_async_conn() [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/airflow/plugins/infrabel/operators/msgraph.py", line 162, in get_async_conn [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] api_version, request_adapter = self._build_request_adapter(connection) [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/lib/python3.12/site-packages/airflow/providers/microsoft/msgraph/hooks/msgraph.py", line 253, in _build_request_adapter [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] config = connection.extra_dejson if connection.extra else {} [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] ^^^^^^^^^^^^^^^^^^^^^^^ [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/lib/python3.12/site-packages/airflow/sdk/definitions/connection.py", line 162, in extra_dejson [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] mask_secret(extra) [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/lib/python3.12/site-packages/airflow/sdk/execution_time/secrets_masker.py", line 134, in mask_secret [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] comms.send(MaskSecret(value=secret, name=name)) [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/lib/python3.12/site-packages/airflow/jobs/triggerer_job_runner.py", line 740, in send [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] return async_to_sync(self.asend)(msg) [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 186, in __call__ [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] raise RuntimeError( [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] RuntimeError: You cannot use AsyncToSync in the same thread as an async event loop - just await the async function directly. [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:27 [info ] [airflow.jobs.triggerer_job_runner] chan=stdout 2025-09-02 11:07:28 [info ] Handle event for trigger 32 [airflow.jobs.triggerer_job_runner] 2025-09-02 11:07:28 [info ] Event submitted for trigger 32: {'status': 'failure', 'message': "You cannot use AsyncToSync in the same thread as an async event loop - just await the async function directly. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org