Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
All txns in this batch has this same type. Can either be SINGLE_HOME or MULTI_HOME. LOCK_ONLY txns are also considered SINGLE_HOME.
For recording the event time for all transactions in this batch simultaneously
Used in:
Used in:
* The schema of a configuration file.
Protocol for the zmq sockets in the broker. Use "tcp" for normal running and "icp" for unit and integration tests
Region groups. Each group has a list of machine addresses with the size equal to number of partitions
Port for the zmq sockets in the broker. Each value will create a new broker thread
Port for the server
Port for the forwarder
Port for the sequencer
Port for clock synchronizer. Set to 0 to disable clock synchronization
Number of partitions per replica
Partitioning scheme
Number of worker threads for processing the transactions
Number of log manager threads. The logs are distributed evenly among these threads
How long the mh orderer waits for batching
How long the forwarder waits for batching
How long the sequencer waits for batching
How big can a batch be in number of txns
By default, a sequencer sticks to a single partition of a region to send the batch to. If this option is true, the partitions are selected in a round-robin manner (rrr: round-robin replication).
Number of regions that need to be synchronously replicated to
Order of regions for synchronous replication. This is a list of strings each of which corresponds to a region. Each string is an ordered comma-separated list of region ids that the current replica will synchronously replicate to based on replication order. The current region will be ignored if exists in the list. For example, ['1,2', '2,1,0', ''] means that, with a replication factor of 3, region 0 will synchronously replicate to 1 and 2, region 1 will replicate to 2 and 0, and region 2 will not synchronously replicate to anywhere.
Replication of txn batches will be delayed to simulate uneven network latency
Do not record specified events
For multi-home txn, send lock-only txns directly to the regions, skipping the global orderer
Skip check when bypass mh orderer
Deadlock checking/resolving interval in ms. Set to 0 to disable deadlock resolving thread
Pin each module to a cpu
Transaction execution type
For each MH transaction, the involved regions will wait in such a way that their respective lock-only txns are put into the batches at approximately the same time
Options for metrics
The forwarder sends probes to the sequencer to measure latency between current region and other regions on a set interval. This interval is in ms.
Interval in ms for clock synchronizer to send messages
A txn is assigned a future timestamp, which will be equal to current time + latency to the furthest region. When a txn arrives at a region, we want it to wait for a bit so that it can see other txns with lower timestamp and get ordered after them. However, clocks are not perfectly synchronized and latency estimation may be off. The txn may arrive at a region A when time at A has already passed the txn's timestamp. This value is thus used to extend the time a txn might be buffered at a region.
Rolling window size used to average the latency measurement
Kernel receiving buffer size (bytes) of a broker socket
Kernel sending buffer size (bytes) of long-distance sockets (e.g. those in the Forwarder and Sequencer)
Transaction admission rate limit at each server
Used in:
Used in:
Used in:
Used in:
Machine that generated the batch
Batches generated by the same machine need to follow the order of creation. This field is used to number the batches following that order. It always start from 0 and increment by 1
Used in:
Used in:
Used in:
Used in:
* With hash partitioning, each key is interpreted as a byte string. The keys are distributed to the partitions based on their hash values. Initial data can be loaded from an external file.
Used in:
Number of prefix bytes of a key to use for partitioning
Used in:
Used in:
Used in:
Used in: , , ,
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
generator is the machine that the batch is generated from
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
* For debugging and testing purposes
Used in:
Used in:
List of all server addresses in the system. This list must have the size equal to number of partitions If protocol is "tcp", these are IP addresses. If protocol is "icp", these are filesystem paths.
AWS public addresses for the servers. This field is only used by the admin tool. If not specified, the addresses field is used instead.
List of machines used for benchmarking. This field is only used by the admin tool
Comma-separated string of region id (e.g "1,3,2") ordered from closest region to furthest region, not including this region. This field is only used by the admin tool.
Number of replicas in this region. The number of addresses in this region must equal to num_replicas * num_partitions. The addresses list is split into num_replicas groups. Each group has num_partitions addresses.
Use synchronous replication across all replicas
Reduce the resources of MH orderer to simulate resource constraint
Used in:
Used in:
Used in:
Percent of batches that are delayed
Average duration of delay in milliseconds
* The first message of a communication between two entities is always a Request. Some types of Request needs a Response (e.g. LookUpMasterRequest); names of these requests end with "Request". Some others are one-way requests (e.g. PaxosPropose) and do not end with "Request".
Used in:
Janus
* A response is always preceeded by a Request
Used in:
Janus
* Generic signal message
Used in:
(message has no fields)
* With simple partitioning, each key is assumed to be a number. The keys are distributed to the partitions based on key values modulo the number of partitions. Initial data cannot be loaded from an external file but can be generated at startup. The following is an example of home and partition assignment of the generated data with 3 partitions and 4 regions. home | 0 1 2 3 0 1 2 3 0 ... ------------|------------------------------- partition 0 | 0 3 6 9 12 15 18 21 24 ... partition 1 | 1 4 7 10 13 16 19 22 25 ... partition 2 | 2 5 8 11 14 17 20 23 26 ... ------------|------------------------------- | keys
Used in:
Number of records to generate
Size of a generated record in bytes
* With simple partitioning, each key is assumed to be a number. The keys are distributed to the regions based on key values modulo the number of regions. Initial data cannot be loaded from an external file but can be generated at startup. The following is an example of home and partition assignment of the generated data with 3 partitions and 4 regions. partition | 0 1 2 3 0 1 2 3 0 ... ------------|------------------------------- home 0 | 0 3 6 9 12 15 18 21 24 ... home 1 | 1 4 7 10 13 16 19 22 25 ... home 2 | 2 5 8 11 14 17 20 23 26 ... ------------|------------------------------- | keys
Used in:
Number of records to generate
Size of a generated record in bytes
Used in:
Used in:
* Similar to simple partitioning but instead of using the whole key, only the warehouse id portion of the key is used for partitioning.
Used in:
Number of warehouses