[
https://issues.apache.org/jira/browse/IGNITE-28717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikolay Izhikov updated IGNITE-28717:
-------------------------------------
Description:
Currently, thin client api and implementation in ignite-core module.
It leads to the following disadvantages:
# Thin client API use many internal ignite classes.
# Thin client must be compiled to the same java version as ignite-core. We
can't easily update java version for server classes and keep thin client more
conserative.
# Thin client depends on unsafe and can't be used without many --add-opens
flags.
# User must have relatively huge ignite-core.jar in classpath to use thin
client.
To overcome this we want to:
# Extract thin client API to module that don't depend on ignite-core.
# Extract thin client implementation to module that don't depend on
ignite-core.
# For thin client classes rewrite unsafe code to the public java API.
# Prepare separate ignite-thin-client jar for users. This step need to be
clarified with backward compatibility in mind, after other work will be done.
This epic focused on the first sped - extraction of the API, e.g classes in
`org.apache.ignite.client` package.
was:
Currently, thin client api and implementation in ignite-core module.
It leads to the following disadvantages:
1. Thin client API use many internal ignite classes.
2. Thin client must be compiled to the same java version as ignite-core. We
can't easily update java version for server classes and keep thin client more
conserative.
3. Thin client depends on unsafe and can't be used without many --add-opens
flags.
4. User must have relatively huge ignite-core.jar in classpath to use thin
client.
To overcome this we want to:
1. Extract thin client API to module that don't depend on ignite-core.
2. Extract thin client implementation to module that don't depend on
ignite-core.
2. For thin client classes rewrite unsafe code to the public java API.
3. Prepare separate ignite-thin-client jar for users. This step need to be
clarified with backward compatibility in mind, after other work will be done.
This epic focused on the first sped - extraction of the API, e.g classes in
`org.apache.ignite.client` package.
> Extraction of thin client API to module
> ---------------------------------------
>
> Key: IGNITE-28717
> URL: https://issues.apache.org/jira/browse/IGNITE-28717
> Project: Ignite
> Issue Type: Epic
> Reporter: Nikolay Izhikov
> Assignee: Nikolay Izhikov
> Priority: Major
> Labels: IEP-119, ise
>
> Currently, thin client api and implementation in ignite-core module.
> It leads to the following disadvantages:
> # Thin client API use many internal ignite classes.
> # Thin client must be compiled to the same java version as ignite-core. We
> can't easily update java version for server classes and keep thin client more
> conserative.
> # Thin client depends on unsafe and can't be used without many --add-opens
> flags.
> # User must have relatively huge ignite-core.jar in classpath to use thin
> client.
> To overcome this we want to:
> # Extract thin client API to module that don't depend on ignite-core.
> # Extract thin client implementation to module that don't depend on
> ignite-core.
> # For thin client classes rewrite unsafe code to the public java API.
> # Prepare separate ignite-thin-client jar for users. This step need to be
> clarified with backward compatibility in mind, after other work will be done.
> This epic focused on the first sped - extraction of the API, e.g classes in
> `org.apache.ignite.client` package.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)