Nikolay Izhikov created IGNITE-28717:
----------------------------------------

             Summary: 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


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.



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

Reply via email to