blob: 6591d651ebd5fa459f24a21a1574f48fb11da815 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
option java_package = "org.apache.bookkeeper.proto";
option optimize_for = SPEED;
/**
* Metadata format for storing ledger information
*/
message LedgerMetadataFormat {
required int32 quorumSize = 1;
required int32 ensembleSize = 2;
required int64 length = 3;
optional int64 lastEntryId = 4;
enum State {
OPEN = 1;
IN_RECOVERY = 2;
CLOSED = 3;
}
required State state = 5 [default = OPEN];
message Segment {
repeated string ensembleMember = 1;
required int64 firstEntryId = 2;
}
repeated Segment segment = 6;
enum DigestType {
CRC32 = 1;
HMAC = 2;
CRC32C = 3;
DUMMY = 4;
}
optional DigestType digestType = 7;
optional bytes password = 8;
optional int32 ackQuorumSize = 9;
optional int64 ctime = 10;
message cMetadataMapEntry {
optional string key = 1;
optional bytes value = 2;
}
repeated cMetadataMapEntry customMetadata = 11;
optional int64 cToken = 12;
}
message LedgerRereplicationLayoutFormat {
required string type = 1;
required int32 version = 2;
}
message UnderreplicatedLedgerFormat {
repeated string replica = 1;
optional int64 ctime = 2;
}
/**
* Cookie format for storing cookie information
*/
message CookieFormat {
required string bookieHost = 1;
required string journalDir = 2;
required string ledgerDirs = 3;
optional string instanceId = 4;
}
/**
* Debug information for locks
*/
message LockDataFormat {
optional string bookieId = 1;
}
/**
* Debug information for auditor votes
*/
message AuditorVoteFormat {
optional string bookieId = 1;
}
/**
* information of checkAllLedgers execution
*/
message CheckAllLedgersFormat {
optional int64 checkAllLedgersCTime = 1;
}
/**
* information of PlacementPolicyCheck execution
*/
message PlacementPolicyCheckFormat {
optional int64 placementPolicyCheckCTime = 1;
}
/**
* information of ReplicasCheck execution
*/
message ReplicasCheckFormat {
optional int64 replicasCheckCTime = 1;
}