public class LedgerMetadata extends Object
It provides parsing and serialization methods of such metadata.
Modifier and Type | Field and Description |
---|---|
static int |
CURRENT_METADATA_FORMAT_VERSION |
(package private) ArrayList<org.apache.bookkeeper.net.BookieSocketAddress> |
currentEnsemble |
(package private) static org.slf4j.Logger |
LOG |
static int |
LOWEST_COMPAT_METADATA_FORMAT_VERSION |
(package private) org.apache.bookkeeper.versioning.Version |
version |
static String |
VERSION_KEY |
Constructor and Description |
---|
LedgerMetadata(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
BookKeeper.DigestType digestType,
byte[] password) |
LedgerMetadata(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
BookKeeper.DigestType digestType,
byte[] password,
Map<String,byte[]> customMetadata) |
LedgerMetadata(LedgerMetadata other)
Copy Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addEnsemble(long startEntryId,
ArrayList<org.apache.bookkeeper.net.BookieSocketAddress> ensemble) |
static boolean |
areByteArrayValMapsEqual(Map<String,byte[]> first,
Map<String,byte[]> second)
Routine to compare two Map
|
(package private) void |
close(long entryId) |
int |
getAckQuorumSize() |
long |
getCtime()
Get the creation timestamp of the ledger
|
Map<String,byte[]> |
getCustomMetadata() |
(package private) BookKeeper.DigestType |
getDigestType() |
(package private) ArrayList<org.apache.bookkeeper.net.BookieSocketAddress> |
getEnsemble(long entryId) |
SortedMap<Long,ArrayList<org.apache.bookkeeper.net.BookieSocketAddress>> |
getEnsembles()
Get the Map of bookie ensembles for the various ledger fragments
that make up the ledger.
|
int |
getEnsembleSize() |
long |
getLastEntryId() |
long |
getLength() |
(package private) long |
getNextEnsembleChange(long entryId)
the entry id greater than the given entry-id at which the next ensemble change takes
place
|
(package private) byte[] |
getPassword() |
(package private) org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State |
getState() |
org.apache.bookkeeper.versioning.Version |
getVersion()
Returns the last version.
|
int |
getWriteQuorumSize() |
(package private) boolean |
hasPassword()
In versions 4.1.0 and below, the digest type and password were not
stored in the metadata.
|
boolean |
isClosed() |
(package private) boolean |
isConflictWith(LedgerMetadata newMeta)
Is the metadata conflict with new updated metadata.
|
boolean |
isInRecovery() |
(package private) boolean |
isNewerThan(LedgerMetadata newMeta)
Is the metadata newer than given newMeta.
|
(package private) void |
markLedgerInRecovery() |
(package private) void |
mergeEnsembles(SortedMap<Long,ArrayList<org.apache.bookkeeper.net.BookieSocketAddress>> newEnsembles) |
static LedgerMetadata |
parseConfig(byte[] bytes,
org.apache.bookkeeper.versioning.Version version,
com.google.common.base.Optional<Long> msCtime)
Parses a given byte array and transforms into a LedgerConfig object
|
(package private) static LedgerMetadata |
parseVersion1Config(LedgerMetadata lc,
BufferedReader reader) |
byte[] |
serialize()
Generates a byte array of this object
|
(package private) void |
setCustomMetadata(Map<String,byte[]> customMetadata) |
(package private) void |
setEnsembles(SortedMap<Long,ArrayList<org.apache.bookkeeper.net.BookieSocketAddress>> ensembles) |
(package private) void |
setLength(long length) |
(package private) void |
setState(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State state) |
void |
setVersion(org.apache.bookkeeper.versioning.Version v)
Updates the version of this metadata.
|
String |
toString() |
static final org.slf4j.Logger LOG
public static final int LOWEST_COMPAT_METADATA_FORMAT_VERSION
public static final int CURRENT_METADATA_FORMAT_VERSION
public static final String VERSION_KEY
ArrayList<org.apache.bookkeeper.net.BookieSocketAddress> currentEnsemble
volatile org.apache.bookkeeper.versioning.Version version
public LedgerMetadata(int ensembleSize, int writeQuorumSize, int ackQuorumSize, BookKeeper.DigestType digestType, byte[] password, Map<String,byte[]> customMetadata)
public LedgerMetadata(int ensembleSize, int writeQuorumSize, int ackQuorumSize, BookKeeper.DigestType digestType, byte[] password)
LedgerMetadata(LedgerMetadata other)
public SortedMap<Long,ArrayList<org.apache.bookkeeper.net.BookieSocketAddress>> getEnsembles()
void setEnsembles(SortedMap<Long,ArrayList<org.apache.bookkeeper.net.BookieSocketAddress>> ensembles)
public int getEnsembleSize()
public int getWriteQuorumSize()
public long getCtime()
public int getAckQuorumSize()
boolean hasPassword()
byte[] getPassword()
BookKeeper.DigestType getDigestType()
public long getLastEntryId()
public long getLength()
void setLength(long length)
public boolean isClosed()
public boolean isInRecovery()
org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State getState()
void setState(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State state)
void markLedgerInRecovery()
void close(long entryId)
public void addEnsemble(long startEntryId, ArrayList<org.apache.bookkeeper.net.BookieSocketAddress> ensemble)
ArrayList<org.apache.bookkeeper.net.BookieSocketAddress> getEnsemble(long entryId)
long getNextEnsembleChange(long entryId)
entryId
- public byte[] serialize()
public static LedgerMetadata parseConfig(byte[] bytes, org.apache.bookkeeper.versioning.Version version, com.google.common.base.Optional<Long> msCtime) throws IOException
bytes
- byte array to parseversion
- version of the ledger metadatamsCtime
- metadata store creation time, used for legacy ledgersIOException
- if the given byte[] cannot be parsedstatic LedgerMetadata parseVersion1Config(LedgerMetadata lc, BufferedReader reader) throws IOException
IOException
public void setVersion(org.apache.bookkeeper.versioning.Version v)
v
- Versionpublic org.apache.bookkeeper.versioning.Version getVersion()
boolean isNewerThan(LedgerMetadata newMeta)
newMeta
- the metadata to comparepublic static boolean areByteArrayValMapsEqual(Map<String,byte[]> first, Map<String,byte[]> second)
first
- The first mapsecond
- The second map to compare withboolean isConflictWith(LedgerMetadata newMeta)
newMeta
- Re-read metadataCopyright © 2011–2017 The Apache Software Foundation. All rights reserved.