1.7/apidocs/org/apache/accumulo/core/data/doc-files/mutation-serialization.html [1:192]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The Mutation class supports two serialization formats.
While it only currently serializes to the newer version 2 format, it
can read both version 1 and version 2 serialized forms.
Mutation data serialized in the version 1 format has the following layout.
| data location | description |
|---|---|
| bytes 0 through 3 | 4-byte integer for length of row ID |
| next n bytes | row ID |
| next integer | data length |
| next n bytes | data (see below) |
| next integer | number of entries |
| next boolean | values present flag |
| next integer | number of values (only if values present flag is set) |
| next n sets of integers and byte arrays | n value lengths and value data bytes (only if values present flag is set) |
The "data" block noted above has the following layout for each entry.
| first integer and byte array | column family length and bytes |
| next integer and byte array | column qualifier length and bytes |
| next integer and byte array | column visibility length and bytes |
| next boolean | has timestamp flag |
| next long | timestamp |
| next boolean | deleted flag |
| next integer | value length; if negative, value bytes are the same as those for already-read value (-length - 1) |
| next n bytes | value bytes (only if value length is non-negative) |
Mutation data serialized in the version 2 format has the following layout. This format uses variable length encoding for integers and longs.
| data location | description |
|---|---|
| byte 0 | control byte: top bit = 1 for version 2; bottom bit = values present flag |
| next integer | length of row ID |
| next n bytes | row ID |
| next integer | data length |
| next n bytes | data (see below) |
| next integer | number of entries |
| next integer | number of values (only if values present flag is set) |
| next n sets of integers and byte arrays | n value lengths and value data bytes (only if values present flag is set) |
The "data" block noted above has the following layout for each entry.
| first long and byte array | column family length and bytes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next long and byte array | column qualifier length and bytes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next long and byte array | column visibility length and bytes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next boolean | has timestamp flag | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next long | timestamp (only present if timestamp flag is set) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next boolean | deleted flag | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next long | value length; if negative, value bytes are the same as those for already-read value (-length - 1) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next n bytes | value bytes (only if value length is non-negative) | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1.9/apidocs/org/apache/accumulo/core/data/doc-files/mutation-serialization.html [1:192]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| data location | description |
|---|---|
| bytes 0 through 3 | 4-byte integer for length of row ID |
| next n bytes | row ID |
| next integer | data length |
| next n bytes | data (see below) |
| next integer | number of entries |
| next boolean | values present flag |
| next integer | number of values (only if values present flag is set) |
| next n sets of integers and byte arrays | n value lengths and value data bytes (only if values present flag is set) |
The "data" block noted above has the following layout for each entry.
| first integer and byte array | column family length and bytes |
| next integer and byte array | column qualifier length and bytes |
| next integer and byte array | column visibility length and bytes |
| next boolean | has timestamp flag |
| next long | timestamp |
| next boolean | deleted flag |
| next integer | value length; if negative, value bytes are the same as those for already-read value (-length - 1) |
| next n bytes | value bytes (only if value length is non-negative) |
Mutation data serialized in the version 2 format has the following layout. This format uses variable length encoding for integers and longs.
| data location | description |
|---|---|
| byte 0 | control byte: top bit = 1 for version 2; bottom bit = values present flag |
| next integer | length of row ID |
| next n bytes | row ID |
| next integer | data length |
| next n bytes | data (see below) |
| next integer | number of entries |
| next integer | number of values (only if values present flag is set) |
| next n sets of integers and byte arrays | n value lengths and value data bytes (only if values present flag is set) |
The "data" block noted above has the following layout for each entry.
| first long and byte array | column family length and bytes |
| next long and byte array | column qualifier length and bytes |
| next long and byte array | column visibility length and bytes |
| next boolean | has timestamp flag |
| next long | timestamp (only present if timestamp flag is set) |
| next boolean | deleted flag |
| next long | value length; if negative, value bytes are the same as those for already-read value (-length - 1) |
| next n bytes | value bytes (only if value length is non-negative) | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -