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

Reply via email to