Package org.apache.bookkeeper.meta
Class LedgerMetadataSerDe
java.lang.Object
org.apache.bookkeeper.meta.LedgerMetadataSerDe
Serialization and deserialization for LedgerMetadata.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intText based manual serialization.static final intProtobuf based, serialized using TextFormat.static final intProtobuf based, serialized in binary format. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionparseConfig(byte[] bytes, long ledgerId, Optional<Long> metadataStoreCtime) Parses a given byte array and transforms into a LedgerConfig object.byte[]serialize(LedgerMetadata metadata)
-
Field Details
-
METADATA_FORMAT_VERSION_1
public static final int METADATA_FORMAT_VERSION_1Text based manual serialization. Available from v4.0.x onwards.- See Also:
-
METADATA_FORMAT_VERSION_2
public static final int METADATA_FORMAT_VERSION_2Protobuf based, serialized using TextFormat. Available from v4.2.x onwards. Can contain ctime or not, but if it contains ctime it can only be parse by v4.4.x onwards.- See Also:
-
METADATA_FORMAT_VERSION_3
public static final int METADATA_FORMAT_VERSION_3Protobuf based, serialized in binary format. Available from v4.9.x onwards.- See Also:
-
MAXIMUM_METADATA_FORMAT_VERSION
public static final int MAXIMUM_METADATA_FORMAT_VERSION- See Also:
-
CURRENT_METADATA_FORMAT_VERSION
public static final int CURRENT_METADATA_FORMAT_VERSION- See Also:
-
-
Constructor Details
-
LedgerMetadataSerDe
public LedgerMetadataSerDe()
-
-
Method Details
-
serialize
- Throws:
IOException
-
parseConfig
public LedgerMetadata parseConfig(byte[] bytes, long ledgerId, Optional<Long> metadataStoreCtime) throws IOException Parses a given byte array and transforms into a LedgerConfig object.- Parameters:
bytes- byte array to parsemetadataStoreCtime- metadata store creation time, used for legacy ledgers- Returns:
- LedgerConfig
- Throws:
IOException- if the given byte[] cannot be parsed
-