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

Compare with Current View Page History

« Previous Version 6 Next »

IDIEP-76
Author
Sponsor
Created

  

Status
DRAFT


Motivation

Thin client protocol will be the primary way to interact with Ignite 3.0 from code.

Description

Adapt Ignite 2.x protocol for Ignite 3.0. Main differences are:

TCP Socket

  • Every Ignite node listens on a TCP port. Thin client implementations connect to any node in the cluster (possibly multiple nodes) through a TCP socket and perform Ignite operations using a well-defined binary protocol.
  • Server-side connection parameters are defined in ClientConnectorConfiguration class.
    • Default port is 10800.
    • Connector is enabled by default, no configuration changes needed.
  • Netty is used on the server for network IO.

Data Format

MsgPack is used for data serialization.

Data Types Mapping

Ignite data types defined in IEP-54 map to MsgPack data types the following way:

Ignite Type

Size

MsgPack TypeNotes
Bitmask(n)n/8 bytesbin8 / bin16 / bin32
IntX, UintX1-8 bytesfixint / intX / uintX
Float4 bytesfloat32
Double8 bytesfloat64
Number([n])Variableext16Extension 1
DecimalVariableext16Extension 2
UUID16 bytesfixext16Extension 3
StringVariablestr
Date3 bytes

Time4 bytes

Datetime7 bytes

Timestamp8 bytes

BinaryVariable


NameFormat
UUID

Decimal

TODO: Dates

Handshake

TODO: Magic word, features as map (question)

Risks and Assumptions

TODO

Discussion Links

  • TODO

Reference 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