Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add observable timestamp to TX_BEGIN operation

...

Response
4 bytesMagic number 49 47 4E 49, or "IGNI". Helps to identify misconfigured SSL or different server on the port.
intPayload length
intServer version major
intServer version minor
intServer version patch
intError code (0 for success)
stringError message (when error code is not 0)
intWhen error code is 0: Server idle timeout
stringWhen error code is 0: Server node id
string When error code is 0: Server node name (consistent id)
binWhen error code is 0: Server features (bitmask)
map (string → any)When error code is 0: Extensions (auth, attributes, etc). Client can skip unknown extension data (when server is newer).

...

Request
intOperation code
intRequest id, generated by client and returned as-is in response
...Operation-specific data


Error message (when error code is not 0
Response
intType = 0
intRequest id
intFlags (1 = partition assignment changed)Error code (0 for success)
longObservable timestamp (causality token)
uuid or nullTrace id (null for success)
intError code (when trace id is not null)
stringError message (when trace id is not null)
string or nullError stack trace (when trace id is not null)
map or nullError details (when trace id is not nullstring)
...Operation-specific data (when trace id is null)

Request or response without operation-specific data is called basic request or basic response below.

...

Response
boolwhether a tuple with the given key exists

TX_BEGIN = 43

...

Request
boolRead-only tx flag
longObservable timestamp (value from server - see standard response header)


Response
intTransaction ID

TX_COMMIT = 44

Request
intTransaction ID

Basic response

TX_ROLLBACK = 45

Request
intTransaction ID

Basic response

Risks and Assumptions

...