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

Aleksandr Polovtcev updated IGNITE-21848:
-----------------------------------------
    Reviewer: Aleksandr Polovtcev  (was: Aleksandr Polovtsev)

> Move thread hijack protection to wrappers
> -----------------------------------------
>
>                 Key: IGNITE-21848
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21848
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Public APIs that return CompletableFuture instances need protection that 
> would not allow users to execute their code in Ignite internal threads (in 
> which the futures get completed). This is done by switching to an 'async 
> continuation executor' upon completion of such futures (by default the common 
> FJP is used as such an executor).
> But when we use the same public APIs internally, we don't need this 
> protection (Thin client handler is an example). So we need a separate 'entry' 
> to use the same APIs without this protection.
> This can be achieved easily by moving the anti-hijack logic to wrappers (aka 
> decorators) that are only applied when going through the public APIs. The 
> internal components can use under-the-hood implementations directly, thus 
> bypassing the wrappers.



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

Reply via email to