[
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)