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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]