[ 
https://issues.apache.org/jira/browse/CASSSIDECAR-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yifan Cai reassigned CASSSIDECAR-368:
-------------------------------------

    Assignee: Yifan Cai

> CachedAuthorizationHandler could continue the execution on the wrong thread
> ---------------------------------------------------------------------------
>
>                 Key: CASSSIDECAR-368
>                 URL: https://issues.apache.org/jira/browse/CASSSIDECAR-368
>             Project: Sidecar for Apache Cassandra
>          Issue Type: Bug
>            Reporter: Yifan Cai
>            Assignee: Yifan Cai
>            Priority: Major
>
> CachedAuthorizationHandler leverages Caffeine AsyncCache to perform the authZ 
> operations in async. When the operations completes, the continuation runs in 
> the AsyncCache thread. It is problematic, as it violates Vertx's threading 
> model, leading to the subsequent handling running in a different thread, 
> causing race conditions. Vertx expects all handlers running in the same 
> context/event-loop thread.   
> The proposed fix is to ensure the continuation is scheduled back to the 
> original context. (Note: not the RoutingContext, but Context). 
> In addition, we could move away from using AsyncCache and use Cache with 
> Future being cached. It would simplifies the code and thread pool management 
> a bit. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to