You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

IDIEP-115
Author
Sponsor
Created 08.02.2024
Status
DRAFT


Motivation

Currently, byte[] → BinaryObject → POJO logic, BinaryMarshaller logic are highly coupled with Ignite core codebase.

This restricts Ignite improvement in the following ways:

  • Hard to improve, fix any aspect of serdes process. As an example of complexity to add any new BinaryType one can look into BinaryArray implementation
  • Can't deliver thin client as tiny jar. Thin client included in ignite-code  module, because, binary infrastracture inside of core.

To unlock further improvements of Ignite in this aspects and possibly provide a way to plugin different implementation of Binary serdes (msgpack as an example) we must to refactor Ignite and extract all Binary related classes to separate module

providing clear abstractions and default implementaion.

Description

Two new modules must be created:

  • ignite-binary-object-api  - "public" interfaces to be used in ignite code. Here we use term "public" in a sense that other part of Ignite codebase know about those classes, but don't know anything about implementation.
  • ignite-binary-object-impl  - implementation of binary infrastructure.

Risks and Assumptions

IEP concentrated on code structure only and must not break any public benavior or API.

Discussion Links

Tickets

key summary type created updated due assignee reporter priority status resolution

JQL and issue key arguments for this macro require at least one Jira application link to be configured

  • No labels