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

Reply via email to