diff --git a/apidocs b/apidocs index 13ee069948..adbf499b9f 120000 --- a/apidocs +++ b/apidocs @@ -1 +1 @@ -releases/1.17.0/apidocs \ No newline at end of file +releases/1.17.1/apidocs \ No newline at end of file diff --git a/cpp-client-api b/cpp-client-api index c03b899e4a..37b47f6e7c 120000 --- a/cpp-client-api +++ b/cpp-client-api @@ -1 +1 @@ -releases/1.17.0/cpp-client-api \ No newline at end of file +releases/1.17.1/cpp-client-api \ No newline at end of file diff --git a/docs b/docs index 89743874ec..1924cb51ea 120000 --- a/docs +++ b/docs @@ -1 +1 @@ -releases/1.17.0/docs \ No newline at end of file +releases/1.17.1/docs \ No newline at end of file diff --git a/releases/1.17.1/apidocs/allclasses-frame.html b/releases/1.17.1/apidocs/allclasses-frame.html new file mode 100644 index 0000000000..c4449d3fb1 --- /dev/null +++ b/releases/1.17.1/apidocs/allclasses-frame.html @@ -0,0 +1,102 @@ + + + + + +All Classes + + + + +

All Classes

+
+ +
+ + diff --git a/releases/1.17.1/apidocs/allclasses-noframe.html b/releases/1.17.1/apidocs/allclasses-noframe.html new file mode 100644 index 0000000000..cc024231d6 --- /dev/null +++ b/releases/1.17.1/apidocs/allclasses-noframe.html @@ -0,0 +1,102 @@ + + + + + +All Classes + + + + +

All Classes

+
+ +
+ + diff --git a/releases/1.17.1/apidocs/constant-values.html b/releases/1.17.1/apidocs/constant-values.html new file mode 100644 index 0000000000..005646a0a0 --- /dev/null +++ b/releases/1.17.1/apidocs/constant-values.html @@ -0,0 +1,391 @@ + + + + + +Constant Field Values + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Constant Field Values

+

Contents

+ +
+
+ + +

org.apache.*

+ + + +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/deprecated-list.html b/releases/1.17.1/apidocs/deprecated-list.html new file mode 100644 index 0000000000..9c4c962da2 --- /dev/null +++ b/releases/1.17.1/apidocs/deprecated-list.html @@ -0,0 +1,287 @@ + + + + + +Deprecated List + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Deprecated API

+

Contents

+ +
+
+ + + + + + + +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/help-doc.html b/releases/1.17.1/apidocs/help-doc.html new file mode 100644 index 0000000000..d4b59da43b --- /dev/null +++ b/releases/1.17.1/apidocs/help-doc.html @@ -0,0 +1,222 @@ + + + + + +API Help + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+ +This help file applies to API documentation generated using the standard doclet.
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/index-all.html b/releases/1.17.1/apidocs/index-all.html new file mode 100644 index 0000000000..2bf33a7e30 --- /dev/null +++ b/releases/1.17.1/apidocs/index-all.html @@ -0,0 +1,3987 @@ + + + + + +Index + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A B C D E F G H I J K L M N O P R S T U V W  + + +

A

+
+
Aborted(String) - Static method in class org.apache.kudu.client.Status
+
 
+
Aborted(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
AbstractKuduScannerBuilder<S extends AbstractKuduScannerBuilder<? super S,T>,T> - Class in org.apache.kudu.client
+
+
Abstract class to extend in order to create builders for scanners.
+
+
addBinary(int, byte[]) - Method in class org.apache.kudu.client.PartialRow
+
+
Add binary data with the specified value.
+
+
addBinary(int, ByteBuffer) - Method in class org.apache.kudu.client.PartialRow
+
+
Add binary data with the specified value, from the current ByteBuffer's position to its limit.
+
+
addBinary(String, byte[]) - Method in class org.apache.kudu.client.PartialRow
+
+
Add binary data with the specified value.
+
+
addBinary(String, ByteBuffer) - Method in class org.apache.kudu.client.PartialRow
+
+
Add binary data with the specified value, from the current ByteBuffer's position to its limit.
+
+
addBoolean(int, boolean) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a boolean for the specified column.
+
+
addBoolean(String, boolean) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a boolean for the specified column.
+
+
addByte(int, byte) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a byte for the specified column.
+
+
addByte(String, byte) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a byte for the specified column.
+
+
addColumn(ColumnSchema) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Add a new column.
+
+
addColumn(String, Type, Object) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Add a new column that's not nullable.
+
+
addColumnRangePredicate(ColumnRangePredicate) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+ +
+
addColumnRangePredicatesRaw(byte[]) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+ +
+
addDate(int, Date) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a sql.Date for the specified column.
+
+
addDate(String, Date) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a Date for the specified column.
+
+
addDecimal(int, BigDecimal) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a Decimal for the specified column.
+
+
addDecimal(String, BigDecimal) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a Decimal for the specified column.
+
+
addDouble(int, double) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an double for the specified column.
+
+
addDouble(String, double) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an double for the specified column.
+
+
addFloat(int, float) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an float for the specified column.
+
+
addFloat(String, float) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an float for the specified column.
+
+
addHashPartitions(List<String>, int) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Add a set of hash partitions to the table.
+
+
addHashPartitions(List<String>, int, int) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Add a set of hash partitions to the table.
+
+
addHashPartitions(List<String>, int, int) - Method in class org.apache.kudu.client.RangePartitionWithCustomHashSchema
+
+
Add a level of hash sub-partitioning for this range partition.
+
+
addInt(int, int) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an int for the specified column.
+
+
addInt(String, int) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an int for the specified column.
+
+
addLong(int, long) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an long for the specified column.
+
+
addLong(String, long) - Method in class org.apache.kudu.client.PartialRow
+
+
Add an long for the specified column.
+
+
addNullableColumn(String, Type) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Add a new column that's nullable and has no default value.
+
+
addNullableColumn(String, Type, Object) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Add a new column that's nullable.
+
+
addObject(String, Object) - Method in class org.apache.kudu.client.PartialRow
+
+
Add the specified column's value as an Object.
+
+
addObject(int, Object) - Method in class org.apache.kudu.client.PartialRow
+
+
Add the specified column's value as an Object.
+
+
addPredicate(KuduPredicate) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Adds a predicate to the scan.
+
+
addRangePartition(PartialRow, PartialRow) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Add a range partition to the table with an inclusive lower bound and an exclusive upper bound.
+
+
addRangePartition(PartialRow, PartialRow, RangePartitionBound, RangePartitionBound) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Add a range partition to the table with a lower bound and upper bound.
+
+
addRangePartition(PartialRow, PartialRow, String, RangePartitionBound, RangePartitionBound) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Add a range partition to the table with dimension label.
+
+
addRangePartition(RangePartitionWithCustomHashSchema) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Similar to the other addRangePartition() methods, but instead of adding a + range with table-wide hash schema, this method adds a range with + custom hash schema.
+
+
addRangePartition(PartialRow, PartialRow) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Add a range partition to the table with an inclusive lower bound and an + exclusive upper bound.
+
+
addRangePartition(PartialRow, PartialRow, RangePartitionBound, RangePartitionBound) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Add a range partition partition to the table with a lower bound and upper + bound.
+
+
addRangePartition(RangePartitionWithCustomHashSchema) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Add range partition with custom hash schema.
+
+
addShort(int, short) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a short for the specified column.
+
+
addShort(String, short) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a short for the specified column.
+
+
addSplitRow(PartialRow) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Add a range partition split.
+
+
addString(int, String) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a String for the specified column.
+
+
addString(String, String) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a String for the specified column.
+
+
addStringUtf8(int, byte[]) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a String for the specified value, encoded as UTF8.
+
+
addStringUtf8(String, byte[]) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a String for the specified value, encoded as UTF8.
+
+
addTimestamp(int, Timestamp) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a Timestamp for the specified column.
+
+
addTimestamp(String, Timestamp) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a Timestamp for the specified column.
+
+
addVarchar(int, String) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a VARCHAR for the specified column.
+
+
addVarchar(String, String) - Method in class org.apache.kudu.client.PartialRow
+
+
Add a VARCHAR for the specified column.
+
+
after() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
AlreadyPresent(String) - Static method in class org.apache.kudu.client.Status
+
 
+
AlreadyPresent(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
alterExtraConfigs(Map<String, String>) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the table's extra configuration properties.
+
+
alterTable(String, AlterTableOptions) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Alter a table on the cluster as specified by the builder.
+
+
alterTable(String, AlterTableOptions) - Method in class org.apache.kudu.client.KuduClient
+
+
Alter a table on the cluster as specified by the builder.
+
+
AlterTableOptions - Class in org.apache.kudu.client
+
+
This builder must be used to alter a table.
+
+
AlterTableOptions() - Constructor for class org.apache.kudu.client.AlterTableOptions
+
 
+
AlterTableResponse - Class in org.apache.kudu.client
+
 
+
apply(Operation) - Method in class org.apache.kudu.client.AsyncKuduSession
+
+
Apply the given operation.
+
+
apply(Operation) - Method in class org.apache.kudu.client.KuduSession
+
+
Apply a given Operation to Kudu as part of this session.
+
+
apply(Statement, Description) - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
asyncGetTabletsLocations(long) - Method in class org.apache.kudu.client.KuduTable
+
+
Deprecated. +
use the KuduScanToken API
+
+
+
asyncGetTabletsLocations(byte[], byte[], long) - Method in class org.apache.kudu.client.KuduTable
+
+
Deprecated. +
use the KuduScanToken API
+
+
+
AsyncKuduClient - Class in org.apache.kudu.client
+
+
A fully asynchronous and thread-safe client for Kudu.
+
+
AsyncKuduClient.AsyncKuduClientBuilder - Class in org.apache.kudu.client
+
+
Builder class to use in order to connect to Kudu.
+
+
AsyncKuduClientBuilder(String) - Constructor for class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Creates a new builder for a client that will connect to the specified masters.
+
+
AsyncKuduClientBuilder(List<String>) - Constructor for class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Creates a new builder for a client that will connect to the specified masters.
+
+
AsyncKuduScanner - Class in org.apache.kudu.client
+
+
Creates a scanner to read data from Kudu.
+
+
AsyncKuduScanner.AsyncKuduScannerBuilder - Class in org.apache.kudu.client
+
+
A Builder class to build AsyncKuduScanner.
+
+
AsyncKuduScanner.ReadMode - Enum in org.apache.kudu.client
+
+
The possible read modes for scanners.
+
+
AsyncKuduScanner.RowDataFormat - Enum in org.apache.kudu.client
+
+
Expected row data format in scanner result set.
+
+
AsyncKuduSession - Class in org.apache.kudu.client
+
+
An AsyncKuduSession belongs to a specific AsyncKuduClient, and represents a + context in which all write data access should take place.
+
+
AutoIncrementingColumnSchemaBuilder() - Constructor for class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Constructor with default parameter values for ColumnSchema.
+
+
AutoIncrementingColumnSchemaBuilder() - Constructor for class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Constructor with default parameter values for ColumnSchema.
+
+
+ + + +

B

+
+
batchSizeBytes(int) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets the maximum number of bytes returned by the scanner, on each batch.
+
+
before() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
BigLinkedListCommon - Class in org.apache.kudu.spark.tools
+
+
Static constants, helper methods, and utility classes for BigLinkedList + implementations.
+
+
BloomFilter - Class in org.apache.kudu.util
+
+
An space-efficient filter which offers an approximate containment check.
+
+
bossCount(int) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Deprecated. +
the bossExecutor is no longer used and will have no effect if provided
+
+
+
bossCount(int) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Deprecated. +
the bossExecutor is no longer used and will have no effect if provided
+
+
+
build() - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
 
+
build() - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Creates a new client that connects to the masters.
+
+
build() - Method in class org.apache.kudu.client.AsyncKuduScanner.AsyncKuduScannerBuilder
+
+
Builds an AsyncKuduScanner using the passed configurations.
+
+
build() - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Creates a new client that connects to the masters.
+
+
build() - Method in class org.apache.kudu.client.KuduPartitioner.KuduPartitionerBuilder
+
+
Builds a KuduPartitioner using the passed configurations.
+
+
build() - Method in class org.apache.kudu.client.KuduScanner.KuduScannerBuilder
+
+
Builds a KuduScanner using the passed configurations.
+
+
build() - Method in class org.apache.kudu.client.KuduScanToken.KuduScanTokenBuilder
+
 
+
build() - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Builds a ColumnSchema for auto-incrementing column with passed parameters.
+
+
build() - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Builds a ColumnSchema for auto-incrementing column with passed parameters.
+
+
build() - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Builds a ColumnSchema using the passed parameters.
+
+
build() - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Builds a ColumnSchema using the passed parameters.
+
+
build() - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
+
Builds a ColumnTypeAttributes using the passed parameters.
+
+
build() - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
+
Builds a ColumnTypeAttributes using the passed parameters.
+
+
buildTimeout(long) - Method in class org.apache.kudu.client.KuduPartitioner.KuduPartitionerBuilder
+
+
Set the timeout used for building the KuduPartitioner.
+
+
byCount(int) - Static method in class org.apache.kudu.util.BloomFilter
+
+
Generate bloom filter, default hashing is Murmur2 and false positive rate is 0.01.
+
+
byCountAndFPRate(int, double) - Static method in class org.apache.kudu.util.BloomFilter
+
+
Generate bloom filter, default hashing is Murmur2.
+
+
byCountAndFPRate(int, double, BloomFilter.HashFunction) - Static method in class org.apache.kudu.util.BloomFilter
+
+
Generate bloom filter.
+
+
bySize(int) - Static method in class org.apache.kudu.util.BloomFilter
+
+
Generate bloom filter, default hashing is Murmur2 and false positive rate is 0.01.
+
+
bySizeAndFPRate(int, double) - Static method in class org.apache.kudu.util.BloomFilter
+
+
Generate bloom filter, default hashing is Murmur2.
+
+
bySizeAndFPRate(int, double, BloomFilter.HashFunction) - Static method in class org.apache.kudu.util.BloomFilter
+
+
Generate bloom filter.
+
+
+ + + +

C

+
+
cacheBlocks(boolean) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets the block caching policy for the scanner.
+
+
changeComment(String, String) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the comment for the column.
+
+
changeCompressionAlgorithm(String, ColumnSchema.CompressionAlgorithm) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the compression used for a column.
+
+
changeDefault(String, Object) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the default value for a column.
+
+
changeDesiredBlockSize(String, int) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the block size of a column's storage.
+
+
changeEncoding(String, ColumnSchema.Encoding) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the encoding used for a column.
+
+
changeImmutable(String, boolean) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the immutable attribute for the column.
+
+
checkNull(int) - Method in class org.apache.kudu.client.RowResult
+
 
+
checkType(int, Type...) - Method in class org.apache.kudu.client.RowResult
+
 
+
checkValidColumn(int) - Method in class org.apache.kudu.client.RowResult
+
 
+
close() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Invokes AsyncKuduClient.shutdown() and waits.
+
+
close() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Closes this scanner (don't forget to call this when you're done with it!).
+
+
close() - Method in class org.apache.kudu.client.AsyncKuduSession
+
+
Flushes the buffered operations and marks this session as closed.
+
+
close() - Method in class org.apache.kudu.client.KuduClient
+
+
Analogous to KuduClient.shutdown().
+
+
close() - Method in class org.apache.kudu.client.KuduScanner
+
+
Closes this scanner (don't forget to call this when you're done with it!).
+
+
close() - Method in class org.apache.kudu.client.KuduSession
+
+
Blocking call that flushes the buffers (see KuduSession.flush()) and closes the sessions.
+
+
close() - Method in class org.apache.kudu.client.KuduTransaction
+
+
Stop keepalive heartbeating, if any was in progress for this transaction + handle.
+
+
collectErrors(List<OperationResponse>) - Static method in class org.apache.kudu.client.OperationResponse
+
+
Utility method that collects all the row errors from the given list of responses.
+
+
COLUMN_CLIENT - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
+
identifier of the mapred task that generated this row.
+
+
COLUMN_CLIENT_IDX - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_KEY_ONE - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
+
Row key, two times 8 bytes.
+
+
COLUMN_KEY_ONE_IDX - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_KEY_TWO - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_KEY_TWO_IDX - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_PREV_ONE - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
+
Link to the id of the prev node in the linked list, two times 8 bytes.
+
+
COLUMN_PREV_ONE_IDX - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_PREV_TWO - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_PREV_TWO_IDX - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_ROW_ID - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
+
the id of the row within the same client.
+
+
COLUMN_ROW_ID_IDX - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
COLUMN_UPDATE_COUNT - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
+
The number of times this row was updated.
+
+
COLUMN_UPDATE_COUNT_IDX - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
ColumnRangePredicate - Class in org.apache.kudu.client
+
+
Deprecated. +
use the KuduPredicate class instead.
+
+
+
ColumnRangePredicate(ColumnSchema) - Constructor for class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Create the predicate on the specified column
+
+
ColumnSchema - Class in org.apache.kudu
+
+
Represents a Kudu Table column.
+
+
ColumnSchema - Class in org.apache.kudu
+
+
Represents a Kudu Table column.
+
+
ColumnSchema.AutoIncrementingColumnSchemaBuilder - Class in org.apache.kudu
+
+
Builder for ColumnSchema of the auto-incrementing column.
+
+
ColumnSchema.AutoIncrementingColumnSchemaBuilder - Class in org.apache.kudu
+
+
Builder for ColumnSchema of the auto-incrementing column.
+
+
ColumnSchema.ColumnSchemaBuilder - Class in org.apache.kudu
+
+
Builder for ColumnSchema.
+
+
ColumnSchema.ColumnSchemaBuilder - Class in org.apache.kudu
+
+
Builder for ColumnSchema.
+
+
ColumnSchema.CompressionAlgorithm - Enum in org.apache.kudu
+
+
Specifies the compression algorithm of data for a column on disk.
+
+
ColumnSchema.CompressionAlgorithm - Enum in org.apache.kudu
+
+
Specifies the compression algorithm of data for a column on disk.
+
+
ColumnSchema.Encoding - Enum in org.apache.kudu
+
+
Specifies the encoding of data for a column on disk.
+
+
ColumnSchema.Encoding - Enum in org.apache.kudu
+
+
Specifies the encoding of data for a column on disk.
+
+
ColumnSchemaBuilder(String, Type) - Constructor for class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Constructor for the required parameters.
+
+
ColumnSchemaBuilder(ColumnSchema) - Constructor for class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Constructor to copy an existing columnSchema
+
+
ColumnSchemaBuilder(String, Type) - Constructor for class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Constructor for the required parameters.
+
+
ColumnSchemaBuilder(ColumnSchema) - Constructor for class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Constructor to copy an existing columnSchema
+
+
ColumnTypeAttributes - Class in org.apache.kudu
+
+
Represents a Kudu Table column's type attributes.
+
+
ColumnTypeAttributes - Class in org.apache.kudu
+
+
Represents a Kudu Table column's type attributes.
+
+
ColumnTypeAttributes.ColumnTypeAttributesBuilder - Class in org.apache.kudu
+
+
Builder for ColumnTypeAttributes.
+
+
ColumnTypeAttributes.ColumnTypeAttributesBuilder - Class in org.apache.kudu
+
+
Builder for ColumnTypeAttributes.
+
+
ColumnTypeAttributesBuilder() - Constructor for class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
 
+
ColumnTypeAttributesBuilder() - Constructor for class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
 
+
comment(String) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the comment for this column.
+
+
comment(String) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the comment for this column.
+
+
comment(String) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the comment for this column.
+
+
comment(String) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the comment for this column.
+
+
commit() - Method in class org.apache.kudu.client.KuduTransaction
+
+
Commit the multi-row distributed transaction represented by this handle.
+
+
compareTo(KuduScanToken) - Method in class org.apache.kudu.client.KuduScanToken
+
 
+
compressionAlgorithm(ColumnSchema.CompressionAlgorithm) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the compression algorithm for this column.
+
+
compressionAlgorithm(ColumnSchema.CompressionAlgorithm) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the compression algorithm for this column.
+
+
compressionAlgorithm(ColumnSchema.CompressionAlgorithm) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the compression algorithm for this column.
+
+
compressionAlgorithm(ColumnSchema.CompressionAlgorithm) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the compression algorithm for this column.
+
+
ConfigurationError(String) - Static method in class org.apache.kudu.client.Status
+
 
+
ConfigurationError(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
connectionNegotiationTimeoutMs(long) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Sets the default timeout used for connection negotiation.
+
+
connectionNegotiationTimeoutMs(long) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Sets the default timeout used for connection negotiation.
+
+
Corruption(String) - Static method in class org.apache.kudu.client.Status
+
 
+
Corruption(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
countPendingErrors() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
countPendingErrors() - Method in class org.apache.kudu.client.KuduSession
+
 
+
countPendingErrors() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Return the number of errors which are pending.
+
+
createJwtFor(String, String, boolean) - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
createTable(String, Schema, CreateTableOptions) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Create a table on the cluster with the specified name, schema, and table configurations.
+
+
createTable(String, Schema, CreateTableOptions) - Method in class org.apache.kudu.client.KuduClient
+
+
Create a table on the cluster with the specified name, schema, and table configurations.
+
+
CreateTableOptions - Class in org.apache.kudu.client
+
+
This is a builder class for all the options that can be provided while creating a table.
+
+
CreateTableOptions() - Constructor for class org.apache.kudu.client.CreateTableOptions
+
 
+
currentRow - Variable in class org.apache.kudu.client.RowResultIterator
+
 
+
currentTablet() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns the RemoteTablet currently being scanned, if any.
+
+
+ + + +

D

+
+
DEFAULT_HEADS_TABLE_NAME - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
DEFAULT_KEEP_ALIVE_PERIOD_MS - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
DEFAULT_NEGOTIATION_TIMEOUT_MS - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
DEFAULT_OPERATION_TIMEOUT_MS - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
DEFAULT_SLEEP - Static variable in class org.apache.kudu.test.KuduTestHarness
+
 
+
DEFAULT_TABLE_NAME - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
defaultAdminOperationTimeoutMs(long) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Sets the default timeout used for administrative operations (e.g.
+
+
defaultAdminOperationTimeoutMs(long) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Sets the default timeout used for administrative operations (e.g.
+
+
defaultOperationTimeoutMs(long) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Sets the default timeout used for user operations (using sessions and scanners).
+
+
defaultOperationTimeoutMs(long) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Sets the default timeout used for user operations (using sessions and scanners).
+
+
defaultSocketReadTimeoutMs(long) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Deprecated. +
this option no longer has any effect
+
+
+
defaultSocketReadTimeoutMs(long) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Deprecated. +
socket read timeouts are no longer used
+
+
+
defaultValue(Object) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Sets the default value that will be read from the column.
+
+
defaultValue(Object) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Sets the default value that will be read from the column.
+
+
Delete - Class in org.apache.kudu.client
+
+
Class of Operation for whole row removals.
+
+
DeleteIgnore - Class in org.apache.kudu.client
+
+
Class of Operation for whole row removals ignoring missing rows.
+
+
deleteTable(String, int) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Delete a table with the specified name.
+
+
deleteTable(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Delete a table with the specified name.
+
+
deleteTable(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Delete a table on the cluster with the specified name.
+
+
deleteTable(String, int) - Method in class org.apache.kudu.client.KuduClient
+
+
SoftDelete a table on the cluster with the specified name, the table will be + reserved for reserveSeconds before being purged.
+
+
DeleteTableResponse - Class in org.apache.kudu.client
+
 
+
deserialize(Schema, byte[]) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Serializes a list of KuduPredicate into a byte array.
+
+
deserialize(byte[], AsyncKuduClient) - Static method in class org.apache.kudu.client.KuduTransaction
+
+
Re-create KuduTransaction object given its serialized representation.
+
+
deserializeIntoScanner(byte[], KuduClient) - Static method in class org.apache.kudu.client.KuduScanToken
+
+
Deserializes a KuduScanToken into a KuduScanner.
+
+
deserializeIntoScannerBuilder(byte[], KuduClient) - Static method in class org.apache.kudu.client.KuduScanToken
+
+
Deserializes a KuduScanToken into a KuduScanner.KuduScannerBuilder.
+
+
desiredBlockSize(int) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the desired block size for this column.
+
+
desiredBlockSize(int) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the desired block size for this column.
+
+
desiredBlockSize(int) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the desired block size for this column.
+
+
desiredBlockSize(int) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the desired block size for this column.
+
+
diffScan(long, long) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets the start timestamp and end timestamp for a diff scan.
+
+
disableStatistics() - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Disable this client's collection of statistics.
+
+
disableStatistics() - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Disable this client's collection of statistics.
+
+
dropColumn(String) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Drop a column.
+
+
dropRangePartition(PartialRow, PartialRow) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Drop the range partition from the table with the specified inclusive lower bound and exclusive + upper bound.
+
+
dropRangePartition(PartialRow, PartialRow, RangePartitionBound, RangePartitionBound) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Drop the range partition from the table with the specified lower bound and upper bound.
+
+
+ + + +

E

+
+
empty() - Static method in class org.apache.kudu.client.RowResultIterator
+
 
+
EMPTY_ARRAY - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
encodePrimaryKey() - Method in class org.apache.kudu.client.PartialRow
+
+
Returns the encoded primary key of the row.
+
+
encoding(ColumnSchema.Encoding) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the block encoding for this column.
+
+
encoding(ColumnSchema.Encoding) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Set the block encoding for this column.
+
+
encoding(ColumnSchema.Encoding) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the block encoding for this column.
+
+
encoding(ColumnSchema.Encoding) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the block encoding for this column.
+
+
encryptionPolicy(AsyncKuduClient.EncryptionPolicy) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Require encryption for the connection to a remote server.
+
+
encryptionPolicy(AsyncKuduClient.EncryptionPolicy) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Require encryption for the connection to a remote server.
+
+
EndOfFile(String) - Static method in class org.apache.kudu.client.Status
+
 
+
EndOfFile(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
equals(Object) - Method in class org.apache.kudu.client.KuduPredicate
+
 
+
equals(Object) - Method in class org.apache.kudu.client.KuduScanToken
+
 
+
equals(Object) - Method in class org.apache.kudu.ColumnSchema
+
 
+
equals(Object) - Method in class org.apache.kudu.ColumnSchema
+
 
+
equals(Object) - Method in class org.apache.kudu.ColumnTypeAttributes
+
 
+
equals(Object) - Method in class org.apache.kudu.ColumnTypeAttributes
+
 
+
equals(Object) - Method in class org.apache.kudu.Schema
+
 
+
equals(Object) - Method in class org.apache.kudu.Schema
+
 
+
exclusiveUpperBound(PartialRow) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Add an upper bound (exclusive) primary key for the scan.
+
+
exclusiveUpperBoundRaw(byte[]) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+ +
+
exportAuthenticationCredentials() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Export serialized authentication data that may be passed to a different + client instance and imported to provide that client the ability to connect + to the cluster.
+
+
exportAuthenticationCredentials() - Method in class org.apache.kudu.client.KuduClient
+
+
Export serialized authentication data that may be passed to a different + client instance and imported to provide that client the ability to connect + to the cluster.
+
+
ExternalConsistencyMode - Enum in org.apache.kudu.client
+
+
The possible external consistency modes on which Kudu operates.
+
+
+ + + +

F

+
+
findLeaderMasterServer() - Method in class org.apache.kudu.client.KuduClient
+
 
+
findLeaderMasterServer() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Find the host and port of the leader master.
+
+
findLeaderTabletServer(LocatedTablet) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Finds the RPC port of the given tablet's leader tserver.
+
+
flush() - Method in class org.apache.kudu.client.AsyncKuduSession
+
+
Flush buffered writes.
+
+
flush() - Method in class org.apache.kudu.client.KuduSession
+
+
Blocking call that force flushes this session's buffers.
+
+
fromPB(Schema, Common.ColumnPredicatePB) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Convert a column predicate protobuf message into a predicate.
+
+
+ + + +

G

+
+
get() - Method in class org.apache.kudu.client.ResourceMetrics
+
+
Returns a copy of this ResourceMetrics's underlying map of metric name to + metric value.
+
+
getAsyncClient() - Method in class org.apache.kudu.client.KuduTable
+
+
Get the async client that created this instance.
+
+
getAsyncClient() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
getAuthzTokenCache() - Method in class org.apache.kudu.client.AsyncKuduClient
+
 
+
getAutoIncrementingColumnName() - Static method in class org.apache.kudu.Schema
+
+
Get the name of the auto-incrementing column
+
+
getAutoIncrementingColumnName() - Static method in class org.apache.kudu.Schema
+
+
Get the name of the auto-incrementing column
+
+
getAutoIncrementingColumnType() - Static method in class org.apache.kudu.Schema
+
+
Get the type of the auto-incrementing column
+
+
getAutoIncrementingColumnType() - Static method in class org.apache.kudu.Schema
+
+
Get the type of the auto-incrementing column
+
+
getBaseClusterBuilder() - Static method in class org.apache.kudu.test.KuduTestHarness
+
+
Returns the base MiniKuduClusterBuilder used when creating a + KuduTestHarness with the default constructor.
+
+
getBatchSizeBytes() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Returns the maximum number of bytes returned by the scanner, on each batch.
+
+
getBatchSizeBytes() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns the maximum number of bytes returned by the scanner, on each batch.
+
+
getBinary(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's binary data.
+
+
getBinary(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's binary data.
+
+
getBinary(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's binary data.
+
+
getBinary(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's binary data.
+
+
getBinaryCopy(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get a copy of the specified column's binary data.
+
+
getBinaryCopy(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get a copy of the specified column's binary data.
+
+
getBinaryCopy(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get a copy of the specified column's binary data.
+
+
getBinaryCopy(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get a copy of the specified column's binary data.
+
+
getBitSet() - Method in class org.apache.kudu.util.BloomFilter
+
+
Get the internal bit set in bytes.
+
+
getBoolean(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's boolean
+
+
getBoolean(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's boolean
+
+
getBoolean(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's boolean
+
+
getBoolean(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's boolean
+
+
getByte(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's byte
+
+
getByte(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's byte
+
+
getByte(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's byte
+
+
getByte(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's byte
+
+
getCacheBlocks() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Returns if this scanner was configured to cache data blocks or not.
+
+
getCacheBlocks() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns if this scanner was configured to cache data blocks or not.
+
+
getClient() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
getClientStatistic(Statistics.Statistic) - Method in class org.apache.kudu.client.Statistics
+
+
Get the statistic count of the whole client.
+
+
getClusterCACertDer() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
getClusterId() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Returns the ID of the cluster that this client is connected to.
+
+
getClusterId() - Method in class org.apache.kudu.client.KuduClient
+
+
Returns the ID of the cluster that this client is connected to.
+
+
getClusterRoot() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
getColumn() - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Get the column used by this predicate
+
+
getColumn(String) - Method in class org.apache.kudu.Schema
+
+
Get the column associated with the specified name
+
+
getColumn(String) - Method in class org.apache.kudu.Schema
+
+
Get the column associated with the specified name
+
+
getColumnByIndex(int) - Method in class org.apache.kudu.Schema
+
+
Get the column at the specified index in the original list
+
+
getColumnByIndex(int) - Method in class org.apache.kudu.Schema
+
+
Get the column at the specified index in the original list
+
+
getColumnCount() - Method in class org.apache.kudu.Schema
+
+
Get the count of columns in this schema
+
+
getColumnCount() - Method in class org.apache.kudu.Schema
+
+
Get the count of columns in this schema
+
+
getColumnId(String) - Method in class org.apache.kudu.Schema
+
+
Get the internal column ID for a column name.
+
+
getColumnId(String) - Method in class org.apache.kudu.Schema
+
+
Get the internal column ID for a column name.
+
+
getColumnIndex(String) - Method in class org.apache.kudu.Schema
+
+
Get the index for the provided column name.
+
+
getColumnIndex(int) - Method in class org.apache.kudu.Schema
+
+
Get the column index of the column with the provided ID.
+
+
getColumnIndex(String) - Method in class org.apache.kudu.Schema
+
+
Get the index for the provided column name.
+
+
getColumnIndex(int) - Method in class org.apache.kudu.Schema
+
+
Get the column index of the column with the provided ID.
+
+
getColumnOffset(int) - Method in class org.apache.kudu.Schema
+
+
Get the index at which this column can be found in the backing byte array
+
+
getColumnOffset(int) - Method in class org.apache.kudu.Schema
+
+
Get the index at which this column can be found in the backing byte array
+
+
getColumnProjection() - Method in class org.apache.kudu.client.RowResult
+
+
Get the schema used for this scanner's column projection.
+
+
getColumns() - Method in class org.apache.kudu.Schema
+
+
Get the list of columns used to create this schema
+
+
getColumns() - Method in class org.apache.kudu.Schema
+
+
Get the list of columns used to create this schema
+
+
getColumnType(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the type of a column in this result.
+
+
getColumnType(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the type of a column in this result.
+
+
getComment() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's comment.
+
+
getComment() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the comment for the column.
+
+
getComment() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the comment for the column.
+
+
getCompressionAlgorithm() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the compression algorithm of this column, or null if it is not known.
+
+
getCompressionAlgorithm() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the compression algorithm of this column, or null if it is not known.
+
+
getCreateTableOptions(Schema, int, int, int) - Static method in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
getDataType() - Method in enum org.apache.kudu.Type
+
+ +
+
getDataType(ColumnTypeAttributes) - Method in enum org.apache.kudu.Type
+
+
Get the data type from the common's pb
+
+
getDataType() - Method in enum org.apache.kudu.Type
+
+ +
+
getDataType(ColumnTypeAttributes) - Method in enum org.apache.kudu.Type
+
+
Get the data type from the common's pb
+
+
getDate(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's Date.
+
+
getDate(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's Date.
+
+
getDate(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's Date.
+
+
getDate(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's Date.
+
+
getDecimal(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's BigDecimal
+
+
getDecimal(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's Decimal.
+
+
getDecimal(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's Decimal.
+
+
getDecimal(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's Decimal.
+
+
getDefaultAdminOperationTimeoutMs() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get the timeout used for admin operations.
+
+
getDefaultAdminOperationTimeoutMs() - Method in class org.apache.kudu.client.KuduClient
+
+
Get the timeout used for admin operations.
+
+
getDefaultOperationTimeoutMs() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get the timeout used for operations on sessions and scanners.
+
+
getDefaultOperationTimeoutMs() - Method in class org.apache.kudu.client.KuduClient
+
+
Get the timeout used for operations on sessions and scanners.
+
+
getDefaultSocketReadTimeoutMs() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Deprecated. +
socket read timeouts are no longer used
+
+
+
getDefaultValue() - Method in class org.apache.kudu.ColumnSchema
+
+
The Java object representation of the default value that's read
+
+
getDefaultValue() - Method in class org.apache.kudu.ColumnSchema
+
+
The Java object representation of the default value that's read
+
+
getDeferred() - Method in exception org.apache.kudu.client.PleaseThrottleException
+
+
Returns a deferred one can wait on before retrying the failed RPC.
+
+
getDesiredBlockSize() - Method in class org.apache.kudu.ColumnSchema
+
+
Gets the desired block size for this column.
+
+
getDesiredBlockSize() - Method in class org.apache.kudu.ColumnSchema
+
+
Gets the desired block size for this column.
+
+
getDimensionLabel() - Method in class org.apache.kudu.client.LocatedTablet.Replica
+
 
+
getDouble(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's double
+
+
getDouble(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's double
+
+
getDouble(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's double
+
+
getDouble(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's double
+
+
getEncoding() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the encoding of this column, or null if it is not known.
+
+
getEncoding() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the encoding of this column, or null if it is not known.
+
+
getEndKey() - Method in class org.apache.kudu.client.LocatedTablet
+
+
Deprecated. + +
+
+
getErrorStatus() - Method in class org.apache.kudu.client.RowError
+
+
Get the status code and message of the row error.
+
+
getExtraConfig() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's extra configuration properties.
+
+
getFailedRpc() - Method in interface org.apache.kudu.client.HasFailedRpcException
+
+
Returns the RPC that caused this exception.
+
+
getFailedRpc() - Method in exception org.apache.kudu.client.PleaseThrottleException
+
+
The RPC that was made to fail with this exception.
+
+
getFloat(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's float
+
+
getFloat(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's float
+
+
getFloat(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's float
+
+
getFloat(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's float
+
+
getFlushMode() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
getFlushMode() - Method in class org.apache.kudu.client.KuduSession
+
 
+
getFlushMode() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Get the current flush mode.
+
+
getFormattedRangePartitions(long) - Method in class org.apache.kudu.client.KuduTable
+
+
Retrieves a formatted representation of this table's range partitions.
+
+
getFormattedRangePartitionsWithHashSchema(long) - Method in class org.apache.kudu.client.KuduTable
+
+
Retrieves a formatted representation of this table's range partitions along + with hash schema output for each range.
+
+
getHashFunctionName() - Method in class org.apache.kudu.util.BloomFilter
+
+
Get the name of hashing used when updating or checking containment.
+
+
getHeadsTableSchema() - Static method in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
getHiveMetastoreConfig() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get the Hive Metastore configuration of the most recently connected-to leader master, or + null if the Hive Metastore integration is not enabled.
+
+
getHiveMetastoreConfig() - Method in class org.apache.kudu.client.KuduClient
+
+
Returns the Hive Metastore configuration of the cluster.
+
+
getInt(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's integer
+
+
getInt(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's integer
+
+
getInt(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's integer
+
+
getInt(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's integer
+
+
getInternalPbType() - Method in enum org.apache.kudu.ColumnSchema.CompressionAlgorithm
+
 
+
getInternalPbType() - Method in enum org.apache.kudu.ColumnSchema.CompressionAlgorithm
+
 
+
getInternalPbType() - Method in enum org.apache.kudu.ColumnSchema.Encoding
+
 
+
getInternalPbType() - Method in enum org.apache.kudu.ColumnSchema.Encoding
+
 
+
getIsDeletedIndex() - Method in class org.apache.kudu.Schema
+
 
+
getIsDeletedIndex() - Method in class org.apache.kudu.Schema
+
 
+
getKeepAlivePeriodMs() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
 
+
getLastPropagatedTimestamp() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Returns the last timestamp received from a server.
+
+
getLastPropagatedTimestamp() - Method in class org.apache.kudu.client.KuduClient
+
+
Returns the last timestamp received from a server.
+
+
getLeaderReplica() - Method in class org.apache.kudu.client.LocatedTablet
+
+
Return the current leader, or null if there is none.
+
+
getLength() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns the length;
+
+
getLength() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns the length;
+
+
getLimit() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Returns the maximum number of rows that this scanner was configured to return.
+
+
getLimit() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns the maximum number of rows that this scanner was configured to return.
+
+
getLiveRowCount() - Method in class org.apache.kudu.client.KuduTableStatistics
+
+
Get the table's live row count, this statistic is pre-replication.
+
+
getLocationString() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Returns a string representation of this client's location.
+
+
getLocationString() - Method in class org.apache.kudu.client.KuduClient
+
+
Returns a string representation of this client's location.
+
+
getLong(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's long + + If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds + since midnight, January 1, 1970 UTC.
+
+
getLong(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's long + + If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds + since midnight, January 1, 1970 UTC.
+
+
getLong(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's long + + If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds + since midnight, January 1, 1970 UTC.
+
+
getLong(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's long + + If this is a UNIXTIME_MICROS column, the long value corresponds to a number of microseconds + since midnight, January 1, 1970 UTC.
+
+
getLowerBound() - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Get the lower bound in its raw representation
+
+
getMasterAddressesAsString() - Method in class org.apache.kudu.client.AsyncKuduClient
+
 
+
getMasterAddressesAsString() - Method in class org.apache.kudu.client.KuduClient
+
 
+
getMasterAddressesAsString() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Return the comma-separated list of "host:port" pairs that describes the master + config for this cluster.
+
+
getMasterServers() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
getMessage() - Method in class org.apache.kudu.client.RowError
+
+
Deprecated. +
Please use getErrorStatus() instead. Will be removed in a future version.
+
+
+
getMetric(String) - Method in class org.apache.kudu.client.ResourceMetrics
+
+
Returns the value of the metric named by 'name', or 0 if there is no such metric.
+
+
getName() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's name.
+
+
getName() - Method in class org.apache.kudu.ColumnSchema
+
+
Get the column's name
+
+
getName() - Method in class org.apache.kudu.ColumnSchema
+
+
Get the column's name
+
+
getName() - Method in enum org.apache.kudu.Type
+
+
Get the string representation of this type
+
+
getName() - Method in enum org.apache.kudu.Type
+
+
Get the string representation of this type
+
+
getNumHashes() - Method in class org.apache.kudu.util.BloomFilter
+
+
Get the number of hashing times when updating or checking containment.
+
+
getNumReplicas() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's replication factor.
+
+
getNumRows() - Method in class org.apache.kudu.client.RowResultIterator
+
 
+
getObject(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's value as an Object.
+
+
getObject(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's value as an Object.
+
+
getObject(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's value as an Object.
+
+
getObject(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's value as an Object.
+
+
getOnDiskSize() - Method in class org.apache.kudu.client.KuduTableStatistics
+
+
Get the table's on disk size, this statistic is pre-replication.
+
+
getOperation() - Method in class org.apache.kudu.client.RowError
+
+
Get the Operation that failed.
+
+
getOwner() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's owner.
+
+
getPartition() - Method in class org.apache.kudu.client.LocatedTablet
+
 
+
getPartitionSchema() - Method in class org.apache.kudu.client.KuduTable
+
+
Gets the table's partition schema.
+
+
getPendingErrors() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
getPendingErrors() - Method in class org.apache.kudu.client.KuduSession
+
 
+
getPendingErrors() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Return any errors from previous calls.
+
+
getPosixCode() - Method in class org.apache.kudu.client.Status
+
+
Get the posix code associated with the error.
+
+
getPrecision() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Return the precision;
+
+
getPrecision() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Return the precision;
+
+
getPrimaryKeyColumnCount() - Method in class org.apache.kudu.Schema
+
+
Get the count of columns that are part of the primary key.
+
+
getPrimaryKeyColumnCount() - Method in class org.apache.kudu.Schema
+
+
Get the count of columns that are part of the primary key.
+
+
getPrimaryKeyColumns() - Method in class org.apache.kudu.Schema
+
+
Get the primary key columns.
+
+
getPrimaryKeyColumns() - Method in class org.apache.kudu.Schema
+
+
Get the primary key columns.
+
+
getPrincipal() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
getProjectionSchema() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Returns the projection schema of this scanner.
+
+
getProjectionSchema() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns the projection schema of this scanner.
+
+
getRangePartitions(long) - Method in class org.apache.kudu.client.KuduTable
+
+
Retrieves this table's range partitions.
+
+
getRangePartitionsWithTableHashSchema(long) - Method in class org.apache.kudu.client.KuduTable
+
+
Only retrieves this table's range partitions that contain the table wide hash schema.
+
+
getReadMode() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Returns the ReadMode for this scanner.
+
+
getReadMode() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns the ReadMode for this scanner.
+
+
getReplicas() - Method in class org.apache.kudu.client.LocatedTablet
+
 
+
getResourceMetrics() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Returns the ResourceMetrics for this scanner.
+
+
getResourceMetrics() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns the resource metrics of this scanner.
+
+
getRole() - Method in class org.apache.kudu.client.LocatedTablet.Replica
+
 
+
getRow() - Method in class org.apache.kudu.client.Operation
+
+
Get the underlying row to modify.
+
+
getRowError() - Method in class org.apache.kudu.client.OperationResponse
+
+
Returns a row error.
+
+
getRowErrors() - Method in class org.apache.kudu.client.RowErrorsAndOverflowStatus
+
+
Get the collected row errors.
+
+
getRowKeyProjection() - Method in class org.apache.kudu.Schema
+
+
Get a schema that only contains the columns which are part of the key
+
+
getRowKeyProjection() - Method in class org.apache.kudu.Schema
+
+
Get a schema that only contains the columns which are part of the key
+
+
getRowSize() - Method in class org.apache.kudu.Schema
+
+
Get the size a row built using this schema would be
+
+
getRowSize() - Method in class org.apache.kudu.Schema
+
+
Get the size a row built using this schema would be
+
+
getRpcHost() - Method in class org.apache.kudu.client.LocatedTablet.Replica
+
 
+
getRpcPort() - Method in class org.apache.kudu.client.LocatedTablet.Replica
+
 
+
getScale() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Return the scale;
+
+
getScale() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Return the scale;
+
+
getScanRequestTimeout() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Returns the scan request timeout for this scanner.
+
+
getScanRequestTimeout() - Method in class org.apache.kudu.client.KuduScanner
+
+
Returns the current value of the scanner's scan request timeout.
+
+
getSchema() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's schema, as of the moment this instance was created.
+
+
getSchema() - Method in class org.apache.kudu.client.PartialRow
+
+
Get the schema used for this row.
+
+
getSchema() - Method in class org.apache.kudu.client.RowResult
+
+
Get the schema associated with this result.
+
+
getShort(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's short
+
+
getShort(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's short
+
+
getShort(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's short
+
+
getShort(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's short
+
+
getSize() - Method in enum org.apache.kudu.Type
+
+ +
+
getSize(ColumnTypeAttributes) - Method in enum org.apache.kudu.Type
+
+
The size of this type on the wire
+
+
getSize() - Method in enum org.apache.kudu.Type
+
+ +
+
getSize(ColumnTypeAttributes) - Method in enum org.apache.kudu.Type
+
+
The size of this type on the wire
+
+
getSoftDeletedTablesList() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get the list of all the soft deleted tables.
+
+
getSoftDeletedTablesList() - Method in class org.apache.kudu.client.KuduClient
+
+
Get the list of all the soft deleted tables.
+
+
getSoftDeletedTablesList(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Get list of soft deleted table names.
+
+
getStartKey() - Method in class org.apache.kudu.client.LocatedTablet
+
+
Deprecated. + +
+
+
getStatistics() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get the statistics object of this client.
+
+
getStatistics() - Method in class org.apache.kudu.client.KuduClient
+
+
Get the statistics object of this client.
+
+
getStatus() - Method in exception org.apache.kudu.client.KuduException
+
+
Get the Status object for this exception.
+
+
getStatus() - Method in class org.apache.kudu.client.RowError
+
+
Deprecated. +
Please use getErrorStatus() instead. Will be removed in a future version.
+
+
+
getString(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's string.
+
+
getString(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's string.
+
+
getString(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's string.
+
+
getString(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's string.
+
+
getTableId() - Method in class org.apache.kudu.client.AlterTableResponse
+
 
+
getTableId() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's unique identifier.
+
+
getTableInfosList() - Method in class org.apache.kudu.client.ListTablesResponse
+
+
Get the list of tables as specified in the request.
+
+
getTableName(String) - Method in class org.apache.kudu.client.Statistics
+
+
Get table name of the given tablet id.
+
+
getTableSchema() - Static method in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
getTableSet() - Method in class org.apache.kudu.client.Statistics
+
+
Get the set of tables which have been written into by this client, + which have statistics information.
+
+
getTablesList() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get the list of all the regular (i.e.
+
+
getTablesList(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get a list of regular table names.
+
+
getTablesList(String, boolean) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get a list of table names.
+
+
getTablesList() - Method in class org.apache.kudu.client.KuduClient
+
+
Get the list of all the regular tables.
+
+
getTablesList(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Get a list of regular table names.
+
+
getTablesList() - Method in class org.apache.kudu.client.ListTablesResponse
+
+
Get the list of tables as specified in the request.
+
+
getTableStatistic(String, Statistics.Statistic) - Method in class org.apache.kudu.client.Statistics
+
+
Get the statistic count of this table.
+
+
getTableStatistics(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get table's statistics from master.
+
+
getTableStatistics(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Get table's statistics from master.
+
+
getTableStatistics() - Method in class org.apache.kudu.client.KuduTable
+
+
Get this table's statistics.
+
+
getTablet() - Method in class org.apache.kudu.client.KuduScanToken
+
+
Returns the tablet which the scanner created from this token will access.
+
+
getTabletId() - Method in class org.apache.kudu.client.LocatedTablet
+
 
+
getTabletMap() - Method in class org.apache.kudu.client.KuduPartitioner
+
 
+
getTabletServers() - Method in class org.apache.kudu.test.KuduTestHarness
+
 
+
getTabletServersCount() - Method in class org.apache.kudu.client.ListTabletServersResponse
+
+
Get the count of tablet servers as reported by the master.
+
+
getTabletServersList() - Method in class org.apache.kudu.client.ListTabletServersResponse
+
+
Get the list of tablet servers, as represented by their hostname.
+
+
getTabletSet() - Method in class org.apache.kudu.client.Statistics
+
+
Get the set of tablets which have been written into by this client, + which have statistics information.
+
+
getTabletsLocations(long) - Method in class org.apache.kudu.client.KuduTable
+
+
Deprecated. +
use the KuduScanToken API
+
+
+
getTabletsLocations(byte[], byte[], long) - Method in class org.apache.kudu.client.KuduTable
+
+
Deprecated. +
use the KuduScanToken API
+
+
+
getTabletStatistic(String, Statistics.Statistic) - Method in class org.apache.kudu.client.Statistics
+
+
Get the statistic count of this tablet.
+
+
getTimeoutMillis() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
getTimeoutMillis() - Method in class org.apache.kudu.client.KuduSession
+
 
+
getTimeoutMillis() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Get the current timeout.
+
+
getTimestamp(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's Timestamp.
+
+
getTimestamp(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's Timestamp.
+
+
getTimestamp(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's Timestamp.
+
+
getTimestamp(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's Timestamp.
+
+
getTsUUID() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
 
+
getTsUUID() - Method in class org.apache.kudu.client.RowError
+
+
Get the identifier of the tablet server that sent the error.
+
+
getType() - Method in class org.apache.kudu.ColumnSchema
+
+
Get the column's Type
+
+
getType() - Method in class org.apache.kudu.ColumnSchema
+
+
Get the column's Type
+
+
getTypeAttributes() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the column type attributes for the column, or null if it is not known.
+
+
getTypeAttributes() - Method in class org.apache.kudu.ColumnSchema
+
+
Return the column type attributes for the column, or null if it is not known.
+
+
getTypeForDataType(Common.DataType) - Static method in enum org.apache.kudu.Type
+
+
Convert the pb DataType to a Type
+
+
getTypeForDataType(Common.DataType) - Static method in enum org.apache.kudu.Type
+
+
Convert the pb DataType to a Type
+
+
getTypeForName(String) - Static method in enum org.apache.kudu.Type
+
+
Create a Type from its name
+
+
getTypeForName(String) - Static method in enum org.apache.kudu.Type
+
+
Create a Type from its name
+
+
getTypeSize() - Method in class org.apache.kudu.ColumnSchema
+
+
The size of this type in bytes on the wire.
+
+
getTypeSize() - Method in class org.apache.kudu.ColumnSchema
+
+
The size of this type in bytes on the wire.
+
+
getUpperBound() - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Get the upper bound in its raw representation
+
+
getVarchar(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's VARCHAR.
+
+
getVarchar(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get the specified column's VARCHAR.
+
+
getVarchar(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's varchar.
+
+
getVarchar(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get the specified column's varchar.
+
+
getVarLengthColumnCount() - Method in class org.apache.kudu.Schema
+
+
Get the count of columns with variable length (BINARY/STRING) in + this schema.
+
+
getVarLengthColumnCount() - Method in class org.apache.kudu.Schema
+
+
Get the count of columns with variable length (BINARY/STRING) in + this schema.
+
+
getVarLengthData(int) - Method in class org.apache.kudu.client.RowResult
+
 
+
getWireType() - Method in class org.apache.kudu.ColumnSchema
+
+
Get the column's underlying DataType.
+
+
getWireType() - Method in class org.apache.kudu.ColumnSchema
+
+
Get the column's underlying DataType.
+
+
getWriteOpMetrics() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
getWriteOpMetrics() - Method in class org.apache.kudu.client.KuduSession
+
 
+
getWriteOpMetrics() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Return cumulative write operation metrics since the beginning of the session.
+
+
getWriteTimestampRaw() - Method in class org.apache.kudu.client.OperationResponse
+
+
Gives the write timestamp that was returned by the Tablet Server.
+
+
+ + + +

H

+
+
hasAutoIncrementingColumn() - Method in class org.apache.kudu.Schema
+
+
Tells if there's auto-incrementing column
+
+
hasAutoIncrementingColumn() - Method in class org.apache.kudu.Schema
+
+
Tells if there's auto-incrementing column
+
+
hasColumn(String) - Method in class org.apache.kudu.Schema
+
+
Returns true if the column exists.
+
+
hasColumn(String) - Method in class org.apache.kudu.Schema
+
+
Returns true if the column exists.
+
+
hasColumnIds() - Method in class org.apache.kudu.Schema
+
+
Tells whether this schema includes IDs for columns.
+
+
hasColumnIds() - Method in class org.apache.kudu.Schema
+
+
Tells whether this schema includes IDs for columns.
+
+
HasFailedRpcException - Interface in org.apache.kudu.client
+
+
Interface implemented by KuduExceptions that can tell you which + RPC failed.
+
+
hashCode() - Method in class org.apache.kudu.client.KuduPredicate
+
 
+
hashCode() - Method in class org.apache.kudu.client.KuduScanToken
+
 
+
hashCode() - Method in class org.apache.kudu.ColumnSchema
+
 
+
hashCode() - Method in class org.apache.kudu.ColumnSchema
+
 
+
hashCode() - Method in class org.apache.kudu.ColumnTypeAttributes
+
 
+
hashCode() - Method in class org.apache.kudu.ColumnTypeAttributes
+
 
+
hashCode() - Method in class org.apache.kudu.Schema
+
 
+
hashCode() - Method in class org.apache.kudu.Schema
+
 
+
hasImmutableColumns() - Method in class org.apache.kudu.Schema
+
+
Tells if there's at least one immutable column
+
+
hasImmutableColumns() - Method in class org.apache.kudu.Schema
+
+
Tells if there's at least one immutable column
+
+
hasIsDeleted() - Method in class org.apache.kudu.client.RowResult
+
 
+
hasIsDeleted() - Method in class org.apache.kudu.Schema
+
 
+
hasIsDeleted() - Method in class org.apache.kudu.Schema
+
 
+
hasLastPropagatedTimestamp() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Checks if the client received any timestamps from a server.
+
+
hasLastPropagatedTimestamp() - Method in class org.apache.kudu.client.KuduClient
+
+
Checks if the client received any timestamps from a server.
+
+
hasLength() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns true if the length is set;
+
+
hasLength() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns true if the length is set;
+
+
hasMoreRows() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Tells if there is data to scan, including both rpc or cached rpc result.
+
+
hasMoreRows() - Method in class org.apache.kudu.client.KuduScanner
+
+
Tells if the last rpc returned that there might be more rows to scan.
+
+
hasNext(KuduScannerIterator.NextRowsCallback) - Method in class org.apache.kudu.client.KuduScannerIterator
+
+
Special implementation of hasNext that calls a callback each time + KuduScanner.nextRows() is called.
+
+
hasNext() - Method in class org.apache.kudu.client.KuduScannerIterator
+
 
+
hasNext() - Method in class org.apache.kudu.client.RowResultIterator
+
 
+
hasNullableColumns() - Method in class org.apache.kudu.Schema
+
+
Tells if there's at least one nullable column
+
+
hasNullableColumns() - Method in class org.apache.kudu.Schema
+
+
Tells if there's at least one nullable column
+
+
hasPendingOperations() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
hasPendingOperations() - Method in class org.apache.kudu.client.KuduSession
+
 
+
hasPendingOperations() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Check if there are operations that haven't been completely applied.
+
+
hasPrecision() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns true if the precision is set;
+
+
hasPrecision() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns true if the precision is set;
+
+
hasRowError() - Method in class org.apache.kudu.client.OperationResponse
+
+
Tells if this operation response contains a row error.
+
+
hasScale() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns true if the scale is set;
+
+
hasScale() - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Returns true if the scale is set;
+
+
HEADS_TABLE_NAME_KEY - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
+ + + +

I

+
+
IllegalState(String) - Static method in class org.apache.kudu.client.Status
+
 
+
IllegalState(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
Immutable(String) - Static method in class org.apache.kudu.client.Status
+
 
+
Immutable(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
immutable(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Marks the column as immutable or not.
+
+
immutable(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Marks the column as immutable or not.
+
+
importAuthenticationCredentials(byte[]) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Import data allowing this client to authenticate to the cluster.
+
+
importAuthenticationCredentials(byte[]) - Method in class org.apache.kudu.client.KuduClient
+
+
Import data allowing this client to authenticate to the cluster.
+
+
includeTableMetadata(boolean) - Method in class org.apache.kudu.client.KuduScanToken.KuduScanTokenBuilder
+
+
If the table metadata is included on the scan token a GetTableSchema + RPC call to the master can be avoided when deserializing each scan token + into a scanner.
+
+
includeTabletMetadata(boolean) - Method in class org.apache.kudu.client.KuduScanToken.KuduScanTokenBuilder
+
+
If the tablet metadata is included on the scan token a GetTableLocations + RPC call to the master can be avoided when scanning with a scanner constructed + from a scan token.
+
+
Incomplete(String) - Static method in class org.apache.kudu.client.Status
+
 
+
Incomplete(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
index - Variable in class org.apache.kudu.client.RowResult
+
 
+
INDEX_RESET_LOCATION - Static variable in class org.apache.kudu.client.RowResult
+
 
+
Insert - Class in org.apache.kudu.client
+
+
Represents a single row insert.
+
+
InsertIgnore - Class in org.apache.kudu.client
+
+
Represents a single row insert ignoring duplicate rows.
+
+
intoScanner(KuduClient) - Method in class org.apache.kudu.client.KuduScanToken
+
+
Creates a KuduScanner from this scan token.
+
+
INVALID_TXN_ID - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
InvalidArgument(String) - Static method in class org.apache.kudu.client.Status
+
 
+
InvalidArgument(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
IOError(String) - Static method in class org.apache.kudu.client.Status
+
 
+
IOError(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
isAborted() - Method in class org.apache.kudu.client.Status
+
 
+
isAlreadyPresent() - Method in class org.apache.kudu.client.Status
+
 
+
isAlterTableDone(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Check whether a previously issued alterTable() is done.
+
+
isAlterTableDone(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Waits for all of the tablets in a table to be altered, or until the + default admin operation timeout is reached.
+
+
IsAlterTableDoneResponse - Class in org.apache.kudu.client
+
+
Response to a isAlterTableDone command to use to know if an alter table is currently running on + the specified table.
+
+
isAutoIncrementing() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column is auto-incrementing column
+
+
isAutoIncrementing() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column is auto-incrementing column
+
+
isClosed() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
 
+
isClosed() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
isClosed() - Method in class org.apache.kudu.client.KuduScanner
+
 
+
isClosed() - Method in class org.apache.kudu.client.KuduSession
+
 
+
isClosed() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Returns true if this session has already been closed.
+
+
isCommitComplete() - Method in class org.apache.kudu.client.KuduTransaction
+
+
Check whether the commit phase for a transaction is complete.
+
+
isConfigurationError() - Method in class org.apache.kudu.client.Status
+
 
+
isCorruption() - Method in class org.apache.kudu.client.Status
+
 
+
isCovered(PartialRow) - Method in class org.apache.kudu.client.KuduPartitioner
+
+
Determine if the given row falls into a valid partition.
+
+
isCreateTableDone(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Check whether a previously issued createTable() is done.
+
+
isCreateTableDone(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Waits for all of the tablets in a table to be created, or until the + default admin operation timeout is reached.
+
+
IsCreateTableDoneResponse - Class in org.apache.kudu.client
+
+
Response to an isCreateTableDone command.
+
+
isDeleted() - Method in class org.apache.kudu.client.RowResult
+
 
+
isDone() - Method in class org.apache.kudu.client.IsAlterTableDoneResponse
+
+
Tells if the table is done being altered or not.
+
+
isDone() - Method in class org.apache.kudu.client.IsCreateTableDoneResponse
+
+
Returns whether the table is done being created.
+
+
isEndOfFile() - Method in class org.apache.kudu.client.Status
+
 
+
isFixedSize() - Method in enum org.apache.kudu.Type
+
 
+
isFixedSize() - Method in enum org.apache.kudu.Type
+
 
+
isIgnoreAllDuplicateRows() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
isIgnoreAllDuplicateRows() - Method in class org.apache.kudu.client.KuduSession
+
 
+
isIgnoreAllDuplicateRows() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Tells if the session is currently ignoring row errors when the whole list returned by a tablet + server is of the AlreadyPresent type.
+
+
isIgnoreAllNotFoundRows() - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
isIgnoreAllNotFoundRows() - Method in class org.apache.kudu.client.KuduSession
+
 
+
isIgnoreAllNotFoundRows() - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Tells if the session is currently ignoring row errors when the whole list returned by a tablet + server is of the NotFound type.
+
+
isIllegalState() - Method in class org.apache.kudu.client.Status
+
 
+
isImmutable() - Method in class org.apache.kudu.client.Status
+
 
+
isImmutable() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column is immutable
+
+
isImmutable() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column is immutable
+
+
isIncomplete() - Method in class org.apache.kudu.client.Status
+
 
+
isInvalidArgument() - Method in class org.apache.kudu.client.Status
+
 
+
isIOError() - Method in class org.apache.kudu.client.Status
+
 
+
isKey() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column part of the key
+
+
isKey() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column part of the key
+
+
isKeyUnique() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the key is unique
+
+
isKeyUnique() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the key is unique
+
+
isNetworkError() - Method in class org.apache.kudu.client.Status
+
 
+
isNotAuthorized() - Method in class org.apache.kudu.client.Status
+
 
+
isNotFound() - Method in class org.apache.kudu.client.Status
+
 
+
isNotSupported() - Method in class org.apache.kudu.client.Status
+
 
+
isNull(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get if the specified column is NULL
+
+
isNull(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get if the specified column is NULL
+
+
isNull(String) - Method in class org.apache.kudu.client.RowResult
+
+
Get if the specified column is NULL
+
+
isNull(int) - Method in class org.apache.kudu.client.RowResult
+
+
Get if the specified column is NULL
+
+
isNullable() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column can be set to null
+
+
isNullable() - Method in class org.apache.kudu.ColumnSchema
+
+
Answers if the column can be set to null
+
+
isOverflowed() - Method in class org.apache.kudu.client.RowErrorsAndOverflowStatus
+
+
Check if the error collector had an overflow and had to discard row errors.
+
+
isPrimaryKeyUnique() - Method in class org.apache.kudu.Schema
+
+
Answers if the primary key is unique for the table
+
+
isPrimaryKeyUnique() - Method in class org.apache.kudu.Schema
+
+
Answers if the primary key is unique for the table
+
+
isRemoteError() - Method in class org.apache.kudu.client.Status
+
 
+
isRuntimeError() - Method in class org.apache.kudu.client.Status
+
 
+
isServiceUnavailable() - Method in class org.apache.kudu.client.Status
+
 
+
isSet(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Get if the specified column has been set
+
+
isSet(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Get if the specified column has been set
+
+
isStatisticsEnabled() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Check if statistics collection is enabled for this client.
+
+
isStatisticsEnabled() - Method in class org.apache.kudu.client.KuduClient
+
+
Check if statistics collection is enabled for this client.
+
+
isTimedOut() - Method in class org.apache.kudu.client.Status
+
 
+
isUninitialized() - Method in class org.apache.kudu.client.Status
+
 
+
iterator() - Method in class org.apache.kudu.client.KuduScanner
+
 
+
iterator() - Method in class org.apache.kudu.client.RowResultIterator
+
 
+
+ + + +

J

+
+
jwt(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Set JWT (JSON Web Token) to authenticate the client to a server.
+
+
jwt(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Set JWT (JSON Web Token) to authenticate the client to a server.
+
+
+ + + +

K

+
+
kdestroy() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Removes all credentials for all principals from the Kerberos credential cache.
+
+
keepAlive() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Keep the current remote scanner alive.
+
+
keepAlive() - Method in class org.apache.kudu.client.KuduScanner
+
+
Keep the current remote scanner alive.
+
+
keepAlivePeriodMs(long) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Set the period at which to send keep-alive requests to the tablet + server to ensure that this scanner will not time out.
+
+
key(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Sets if the column is part of the row key.
+
+
key(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Sets if the column is part of the row key.
+
+
killAllMasterServers() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Kills all the master servers.
+
+
killAllTabletServers() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Kills all the tablet servers.
+
+
killLeaderMasterServer() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Helper method to easily kill the leader master.
+
+
killTabletLeader(KuduTable) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Helper method to easily kill a tablet server that serves the given table's only tablet's + leader.
+
+
killTabletLeader(RemoteTablet) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Helper method to kill a tablet server that hosts the given tablet's leader + replica.
+
+
killTabletLeader(LocatedTablet) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Helper method to kill a tablet server that serves the given tablet's leader + replica.
+
+
kinit(String) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Re-initialize Kerberos credentials for the given username, writing them + into the Kerberos credential cache.
+
+
KuduClient - Class in org.apache.kudu.client
+
+
A synchronous and thread-safe client for Kudu.
+
+
KuduClient.KuduClientBuilder - Class in org.apache.kudu.client
+
+
Builder class to use in order to connect to Kudu.
+
+
KuduClientBuilder(String) - Constructor for class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Creates a new builder for a client that will connect to the specified masters.
+
+
KuduClientBuilder(List<String>) - Constructor for class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Creates a new builder for a client that will connect to the specified masters.
+
+
KuduException - Exception in org.apache.kudu.client
+
+
The parent class of all exceptions sent by the Kudu client.
+
+
KuduException.OriginalException - Class in org.apache.kudu.client
+
+
When exceptions are thrown by the asynchronous Kudu client, the stack trace is + typically deep within the internals of the Kudu client and/or Netty.
+
+
KuduPartitioner - Class in org.apache.kudu.client
+
+
A KuduPartitioner allows clients to determine the target partition of a + row without actually performing a write.
+
+
KuduPartitioner(PartitionSchema, Map<String, Partition>) - Constructor for class org.apache.kudu.client.KuduPartitioner
+
 
+
KuduPartitioner.KuduPartitionerBuilder - Class in org.apache.kudu.client
+
+
A Builder class to build KuduPartitioner.
+
+
KuduPartitionerBuilder(KuduTable) - Constructor for class org.apache.kudu.client.KuduPartitioner.KuduPartitionerBuilder
+
 
+
KuduPredicate - Class in org.apache.kudu.client
+
+
A predicate which can be used to filter rows based on the value of a column.
+
+
KuduPredicate.ComparisonOp - Enum in org.apache.kudu.client
+
+
The comparison operator of a predicate.
+
+
KuduScanner - Class in org.apache.kudu.client
+
+
Synchronous version of AsyncKuduScanner.
+
+
KuduScanner.KuduScannerBuilder - Class in org.apache.kudu.client
+
+
A Builder class to build KuduScanner.
+
+
KuduScannerIterator - Class in org.apache.kudu.client
+
+
An iterator for the RowResults of a KuduScanner.
+
+
KuduScanToken - Class in org.apache.kudu.client
+
+
A scan token describes a partial scan of a Kudu table limited to a single + contiguous physical location.
+
+
KuduScanToken.KuduScanTokenBuilder - Class in org.apache.kudu.client
+
+
Builds a sequence of scan tokens.
+
+
KuduSession - Class in org.apache.kudu.client
+
+
Synchronous version of AsyncKuduSession.
+
+
KuduTable - Class in org.apache.kudu.client
+
+
A KuduTable represents a table on a particular cluster.
+
+
KuduTableStatistics - Class in org.apache.kudu.client
+
+
Represent statistics belongs to a specific kudu table.
+
+
KuduTestHarness - Class in org.apache.kudu.test
+
+
A Junit Rule that manages a Kudu cluster and clients for testing.
+
+
KuduTestHarness(MiniKuduCluster.MiniKuduClusterBuilder) - Constructor for class org.apache.kudu.test.KuduTestHarness
+
 
+
KuduTestHarness() - Constructor for class org.apache.kudu.test.KuduTestHarness
+
 
+
KuduTransaction - Class in org.apache.kudu.client
+
+
A handle for a multi-row transaction in Kudu.
+
+
+ + + +

L

+
+
length(int) - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
 
+
length(int) - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
 
+
limit(long) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets a limit on the number of rows that will be returned by the scanner.
+
+
ListTablesResponse - Class in org.apache.kudu.client
+
 
+
listTabletServers() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Get the list of running tablet servers.
+
+
listTabletServers() - Method in class org.apache.kudu.client.KuduClient
+
+
Get the list of running tablet servers.
+
+
ListTabletServersResponse - Class in org.apache.kudu.client
+
 
+
LocatedTablet - Class in org.apache.kudu.client
+
+
Information about the locations of tablets in a Kudu table.
+
+
LocatedTablet(RemoteTablet) - Constructor for class org.apache.kudu.client.LocatedTablet
+
 
+
LocatedTablet.Replica - Class in org.apache.kudu.client
+
+
One of the replicas of the tablet.
+
+
LOG - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
LOG - Static variable in class org.apache.kudu.client.AsyncKuduSession
+
 
+
lowerBound(PartialRow) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Add a lower bound (inclusive) primary key for the scan.
+
+
lowerBoundRaw(byte[]) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+ +
+
+ + + +

M

+
+
mayContain(byte[]) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(boolean) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(byte) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(short) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(int) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(long) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(float) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(double) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
mayContain(String) - Method in class org.apache.kudu.util.BloomFilter
+
 
+
+ + + +

N

+
+
NetworkError(String) - Static method in class org.apache.kudu.client.Status
+
 
+
NetworkError(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
newAsyncKuduSession() - Method in class org.apache.kudu.client.KuduTransaction
+
+
Create a new AsyncKuduSession based on this transaction.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, boolean) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new KuduPredicate on a boolean column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, long) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on an integer or timestamp column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, BigDecimal) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a Decimal column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, Timestamp) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a timestamp column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, Date) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a date column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, float) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a float column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, double) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a double column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, String) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a string column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, byte[]) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a binary column.
+
+
newComparisonPredicate(ColumnSchema, KuduPredicate.ComparisonOp, Object) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new comparison predicate on a column.
+
+
newDelete() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new delete configured with this table's schema.
+
+
newDeleteIgnore() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new delete ignore configured with this table's schema.
+
+
newInListPredicate(ColumnSchema, List<T>) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new IN list predicate.
+
+
newInsert() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new insert configured with this table's schema.
+
+
newInsertIgnore() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new insert ignore configured with this table's schema.
+
+
newIsNotNullPredicate(ColumnSchema) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new IS NOT NULL predicate.
+
+
newIsNullPredicate(ColumnSchema) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Creates a new IS NULL predicate.
+
+
newKuduSession() - Method in class org.apache.kudu.client.KuduTransaction
+
+
Create a new KuduSession based on this transaction.
+
+
newPartialRow() - Method in class org.apache.kudu.Schema
+
+
Creates a new partial row for the schema.
+
+
newPartialRow() - Method in class org.apache.kudu.Schema
+
+
Creates a new partial row for the schema.
+
+
newRemoteTabletFromTabletMetadata(Client.TabletMetadataPB, String, Partition) - Static method in class org.apache.kudu.client.KuduScanToken
+
+
create a new RemoteTablet from TabletMetadata
+
+
newScannerBuilder(KuduTable) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Creates a new AsyncKuduScanner.AsyncKuduScannerBuilder for a particular table.
+
+
newScannerBuilder(KuduTable) - Method in class org.apache.kudu.client.KuduClient
+
+
Creates a new KuduScanner.KuduScannerBuilder for a particular table.
+
+
newScanTokenBuilder(KuduTable) - Method in class org.apache.kudu.client.KuduClient
+
+
Creates a new KuduScanToken.KuduScanTokenBuilder for a particular table.
+
+
newSession() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Create a new session for interacting with the cluster.
+
+
newSession() - Method in class org.apache.kudu.client.KuduClient
+
+
Create a new session for interacting with the cluster.
+
+
newTransaction() - Method in class org.apache.kudu.client.KuduClient
+
+
Start a new multi-row distributed transaction.
+
+
newUpdate() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new update configured with this table's schema.
+
+
newUpdateIgnore() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new update ignore configured with this table's schema.
+
+
newUpsert() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new upsert configured with this table's schema.
+
+
newUpsertIgnore() - Method in class org.apache.kudu.client.KuduTable
+
+
Get a new upsert ignore configured with this table's schema.
+
+
next() - Method in class org.apache.kudu.client.KuduScannerIterator
+
 
+
nextRows() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Scans a number of rows.
+
+
nextRows() - Method in class org.apache.kudu.client.KuduScanner
+
+
Scans a number of rows.
+
+
nioExecutor(Executor) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Set the executor which will be used for the embedded Netty workers.
+
+
nioExecutor(Executor) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Set the executor which will be used for the embedded Netty workers.
+
+
nioExecutors(Executor, Executor) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Deprecated. +
the bossExecutor is no longer used and will have no effect if provided
+
+
+
nioExecutors(Executor, Executor) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Deprecated. +
the bossExecutor is no longer used and will have no effect if provided
+
+
+
NO_SOFT_DELETED_STATE_RESERVED_SECONDS - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
NO_TIMESTAMP - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
NO_TIMESTAMP - Static variable in class org.apache.kudu.client.KuduClient
+
 
+
nonUniqueKey(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Sets if the column is part of the row non unique key.
+
+
nonUniqueKey(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Sets if the column is part of the row non unique key.
+
+
NotAuthorized(String) - Static method in class org.apache.kudu.client.Status
+
 
+
NotAuthorized(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
NotFound(String) - Static method in class org.apache.kudu.client.Status
+
 
+
NotFound(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
NotSupported(String) - Static method in class org.apache.kudu.client.Status
+
 
+
NotSupported(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
nullable(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Marks the column as allowing null values.
+
+
nullable(boolean) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Marks the column as allowing null values.
+
+
numPartitions() - Method in class org.apache.kudu.client.KuduPartitioner
+
 
+
numRows - Variable in class org.apache.kudu.client.RowResultIterator
+
 
+
+ + + +

O

+
+
OK() - Static method in class org.apache.kudu.client.Status
+
 
+
ok() - Method in class org.apache.kudu.client.Status
+
 
+
openTable(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Open the table with the given name.
+
+
openTable(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Open the table with the given name.
+
+
Operation - Class in org.apache.kudu.client
+
+
Base class for the RPCs that related to WriteRequestPB.
+
+
OperationResponse - Class in org.apache.kudu.client
+
 
+
org.apache.kudu - package org.apache.kudu
+
 
+
+ + + +

P

+
+
PartialRow - Class in org.apache.kudu.client
+
+
Class used to represent parts of a row along with its schema.
+
+
PartialRow(Schema) - Constructor for class org.apache.kudu.client.PartialRow
+
+
This is not a stable API, prefer using Schema.newPartialRow() + to create a new partial row.
+
+
partitionKey() - Method in class org.apache.kudu.client.Operation
+
 
+
partitionRow(PartialRow) - Method in class org.apache.kudu.client.KuduPartitioner
+
+
Determine the partition index that the given row falls into.
+
+
pauseLeaderMaster() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Finds and pauses the leader master.
+
+
pauseMaster(HostAndPort) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Pauses the specified master.
+
+
pbVersion() - Method in enum org.apache.kudu.client.AsyncKuduScanner.ReadMode
+
 
+
pbVersion() - Method in enum org.apache.kudu.client.ExternalConsistencyMode
+
 
+
PleaseThrottleException - Exception in org.apache.kudu.client
+
+
This exception notifies the application to throttle its use of Kudu.
+
+
precision(int) - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
+
Set the precision.
+
+
precision(int) - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
+
Set the precision.
+
+
prefetching(boolean) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Enables prefetching of rows for the scanner, i.e.
+
+
put(byte[]) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a byte[].
+
+
put(boolean) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a boolean.
+
+
put(byte) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a byte.
+
+
put(short) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a short.
+
+
put(int) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a int.
+
+
put(long) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a long.
+
+
put(float) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a float.
+
+
put(double) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a double.
+
+
put(String) - Method in class org.apache.kudu.util.BloomFilter
+
+
Update bloom filter with a String.
+
+
+ + + +

R

+
+
RangePartitionBound - Enum in org.apache.kudu.client
+
+
Specifies whether a range partition bound is inclusive or exclusive.
+
+
RangePartitionWithCustomHashSchema - Class in org.apache.kudu.client
+
+
This class represents a range partition with custom hash bucketing schema.
+
+
RangePartitionWithCustomHashSchema(PartialRow, PartialRow, RangePartitionBound, RangePartitionBound) - Constructor for class org.apache.kudu.client.RangePartitionWithCustomHashSchema
+
 
+
readMode(AsyncKuduScanner.ReadMode) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets the read mode, the default is to read the latest values.
+
+
recallDeletedTable(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Recall a soft-deleted table on the cluster with the specified id
+
+
recallDeletedTable(String, String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Recall a soft-deleted table on the cluster with the specified id
+
+
recallDeletedTable(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Recall a deleted table on the cluster with the specified table id
+
+
recallDeletedTable(String, String) - Method in class org.apache.kudu.client.KuduClient
+
+
Recall a deleted table on the cluster with the specified table id + and give the recalled table the new table name
+
+
RecallDeletedTableResponse - Class in org.apache.kudu.client
+
 
+
RemoteError(String) - Static method in class org.apache.kudu.client.Status
+
 
+
RemoteError(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
remove() - Method in class org.apache.kudu.client.RowResultIterator
+
 
+
removeDefault(String) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Remove the default value for a column.
+
+
renameColumn(String, String) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change the name of a column.
+
+
renameTable(String) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change a table's name.
+
+
replicaSelection(ReplicaSelection) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets the replica selection mechanism for this scanner.
+
+
ReplicaSelection - Enum in org.apache.kudu.client
+
+
Policy with which to choose amongst multiple replicas.
+
+
requireAuthentication(boolean) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Require authentication for the connection to a remote server.
+
+
requireAuthentication(boolean) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Require authentication for the connection to a remote server.
+
+
resetClients() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Resets the clients so that their state is completely fresh, including meta + cache, connections, open tables, sessions and scanners, and propagated timestamp.
+
+
ResourceMetrics - Class in org.apache.kudu.client
+
+
A container for scanner resource metrics.
+
+
ResourceMetrics() - Constructor for class org.apache.kudu.client.ResourceMetrics
+
 
+
restartLeaderMaster() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Kills and restarts the leader master.
+
+
restartTabletServer(KuduTable) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Picks at random a tablet server that serves tablets from the passed table and restarts it.
+
+
restartTabletServer(RemoteTablet) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Kills a tablet server that serves the given tablet's leader and restarts it.
+
+
resumeMaster(HostAndPort) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Resumes the specified master.
+
+
rollback() - Method in class org.apache.kudu.client.KuduTransaction
+
+
Rollback the multi-row distributed transaction represented by this object.
+
+
RowError - Class in org.apache.kudu.client
+
+
Wrapper class for a single row error.
+
+
RowErrorsAndOverflowStatus - Class in org.apache.kudu.client
+
+
Container class used as a response when retrieving pending row errors.
+
+
RowResult - Class in org.apache.kudu.client
+
+
RowResult represents one row from a scanner.
+
+
RowResultIterator - Class in org.apache.kudu.client
+
+
Class that contains the rows sent by a tablet server, exhausting this iterator only means + that all the rows from the last server response were read.
+
+
rowToString() - Method in class org.apache.kudu.client.RowResult
+
+
Return the actual data from this row in a stringified key=value + form.
+
+
RuntimeError(String) - Static method in class org.apache.kudu.client.Status
+
 
+
RuntimeError(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
+ + + +

S

+
+
saslProtocolName(String) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Set the SASL protocol name.
+
+
saslProtocolName(String) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Set the SASL protocol name.
+
+
scale(int) - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
+
Set the scale.
+
+
scale(int) - Method in class org.apache.kudu.ColumnTypeAttributes.ColumnTypeAttributesBuilder
+
+
Set the scale.
+
+
scanRequestTimeout(long) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets how long each scan request to a server can last.
+
+
schema - Variable in class org.apache.kudu.client.RowResult
+
 
+
schema - Variable in class org.apache.kudu.client.RowResultIterator
+
 
+
Schema - Class in org.apache.kudu
+
+
Represents table's schema which is essentially a list of columns.
+
+
Schema - Class in org.apache.kudu
+
+
Represents table's schema which is essentially a list of columns.
+
+
Schema(List<ColumnSchema>) - Constructor for class org.apache.kudu.Schema
+
+
Constructs a schema using the specified columns and does some internal accounting
+
+
Schema(List<ColumnSchema>, List<Integer>) - Constructor for class org.apache.kudu.Schema
+
+
Constructs a schema using the specified columns and IDs.
+
+
Schema(List<ColumnSchema>) - Constructor for class org.apache.kudu.Schema
+
+
Constructs a schema using the specified columns and does some internal accounting
+
+
Schema(List<ColumnSchema>, List<Integer>) - Constructor for class org.apache.kudu.Schema
+
+
Constructs a schema using the specified columns and IDs.
+
+
serialize(List<KuduPredicate>) - Static method in class org.apache.kudu.client.KuduPredicate
+
+
Serializes a list of KuduPredicate into a byte array.
+
+
serialize() - Method in class org.apache.kudu.client.KuduScanToken
+
+
Serializes this KuduScanToken into a byte array.
+
+
serialize(KuduTransaction.SerializationOptions) - Method in class org.apache.kudu.client.KuduTransaction
+
+
Export information on the underlying transaction in a serialized form.
+
+
serialize() - Method in class org.apache.kudu.client.KuduTransaction
+
+
A shortcut for the KuduTransaction.serialize(SerializationOptions) + method invoked with default-constructed KuduTransaction.SerializationOptions.
+
+
ServiceUnavailable(String) - Static method in class org.apache.kudu.client.Status
+
 
+
ServiceUnavailable(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
SessionConfiguration - Interface in org.apache.kudu.client
+
+
Interface that defines the methods used to configure a session.
+
+
SessionConfiguration.FlushMode - Enum in org.apache.kudu.client
+
 
+
setComment(String) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change a table's comment.
+
+
setComment(String) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Set the table comment.
+
+
setDimensionLabel(String) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Sets the dimension label for all tablets created at table creation time.
+
+
setErrorCollectorSpace(int) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setErrorCollectorSpace(int) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setErrorCollectorSpace(int) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Set the number of errors that can be collected.
+
+
setExternalConsistencyMode(ExternalConsistencyMode) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setExternalConsistencyMode(ExternalConsistencyMode) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setExternalConsistencyMode(ExternalConsistencyMode) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Set the new external consistency mode for this session.
+
+
setExtraConfigs(Map<String, String>) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Sets the table's extra configuration properties.
+
+
setFaultTolerant(boolean) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Make scans resumable at another tablet server if current server fails if + isFaultTolerant is true.
+
+
setFlushInterval(int) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setFlushInterval(int) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setFlushInterval(int) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Set the flush interval, which will be used for the next scheduling decision.
+
+
setFlushMode(SessionConfiguration.FlushMode) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setFlushMode(SessionConfiguration.FlushMode) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setFlushMode(SessionConfiguration.FlushMode) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Set the new flush mode for this session.
+
+
setIgnoreAllDuplicateRows(boolean) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setIgnoreAllDuplicateRows(boolean) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setIgnoreAllDuplicateRows(boolean) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.
+
+
setIgnoreAllNotFoundRows(boolean) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setIgnoreAllNotFoundRows(boolean) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setIgnoreAllNotFoundRows(boolean) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Configures the option to ignore all the row errors if they are all of the NotFound type.
+
+
setLowerBound(boolean) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a boolean for the lower bound
+
+
setLowerBound(byte) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a byte for the lower bound
+
+
setLowerBound(short) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a short for the lower bound
+
+
setLowerBound(int) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set an int for the lower bound
+
+
setLowerBound(long) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a long for the lower bound + + If 'lowerBound' is a timestamp see PartialRow.addLong(String, long) for the + format.
+
+
setLowerBound(String) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a string for the lower bound
+
+
setLowerBound(byte[]) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a binary value for the lower bound
+
+
setLowerBound(float) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a float for the lower bound
+
+
setLowerBound(double) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a double for the lower bound
+
+
setLowerBound(BigDecimal) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a BigDecimal for the lower bound
+
+
setMutationBufferLowWatermark(float) - Method in class org.apache.kudu.client.AsyncKuduSession
+
+
Deprecated.
+
+
setMutationBufferLowWatermark(float) - Method in class org.apache.kudu.client.KuduSession
+
+
Deprecated. 
+
+
setMutationBufferLowWatermark(float) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Deprecated. +
The low watermark no longer has any effect.
+
+
+
setMutationBufferSpace(int) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setMutationBufferSpace(int) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setMutationBufferSpace(int) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Set the number of operations that can be buffered.
+
+
setNull(int) - Method in class org.apache.kudu.client.PartialRow
+
+
Set the specified column to null
+
+
setNull(String) - Method in class org.apache.kudu.client.PartialRow
+
+
Set the specified column to null
+
+
setNumReplicas(int) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Sets the number of replicas that each tablet will have.
+
+
setOwner(String) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Change a table's owner.
+
+
setOwner(String) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Set the table owner as the provided username.
+
+
setProjectedColumnIndexes(List<Integer>) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Set which columns will be read by the Scanner.
+
+
setProjectedColumnNames(List<String>) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Set which columns will be read by the Scanner.
+
+
setRangePartitionColumns(List<String>) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Set the columns on which the table will be range-partitioned.
+
+
setReuseRowResult(boolean) - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
If set to true, the RowResult object returned by the RowResultIterator + will be reused with each call to Iterator.next().
+
+
setReuseRowResult(boolean) - Method in class org.apache.kudu.client.KuduScanner
+
+
If set to true, the RowResult object returned by the RowResultIterator + will be reused with each call to Iterator.next().
+
+
setRow(PartialRow) - Method in class org.apache.kudu.client.Operation
+
+
Set the underlying row.
+
+
setRowDataFormat(AsyncKuduScanner.RowDataFormat) - Method in class org.apache.kudu.client.AsyncKuduScanner
+
+
Optionally set expected row data format.
+
+
setRowDataFormat(AsyncKuduScanner.RowDataFormat) - Method in class org.apache.kudu.client.KuduScanner
+
+
Optionally set expected row data format.
+
+
setSplitSizeBytes(long) - Method in class org.apache.kudu.client.KuduScanToken.KuduScanTokenBuilder
+
+
Sets the data size of key range.
+
+
setTimeout(long) - Method in class org.apache.kudu.client.KuduScanToken.KuduScanTokenBuilder
+
+
Sets a timeout value to use when building the list of scan tokens.
+
+
setTimeoutMillis(long) - Method in class org.apache.kudu.client.AsyncKuduSession
+
 
+
setTimeoutMillis(long) - Method in class org.apache.kudu.client.KuduSession
+
 
+
setTimeoutMillis(long) - Method in interface org.apache.kudu.client.SessionConfiguration
+
+
Sets the timeout for the next applied operations.
+
+
setUpperBound(boolean) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a boolean for the upper bound
+
+
setUpperBound(byte) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a byte for the upper bound
+
+
setUpperBound(short) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a short for the upper bound
+
+
setUpperBound(int) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set an int for the upper bound
+
+
setUpperBound(long) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a long for the upper bound + + If 'upperBound' is a timestamp see PartialRow.addLong(String, long) for the + format.
+
+
setUpperBound(String) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a string for the upper bound
+
+
setUpperBound(byte[]) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a binary value for the upper bound
+
+
setUpperBound(float) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a float for the upper bound
+
+
setUpperBound(double) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a double for the upper bound
+
+
setUpperBound(BigDecimal) - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Set a BigDecimal for the upper bound
+
+
setWait(boolean) - Method in class org.apache.kudu.client.AlterTableOptions
+
+
Whether to wait for the table to be fully altered before this alter + operation is considered to be finished.
+
+
setWait(boolean) - Method in class org.apache.kudu.client.CreateTableOptions
+
+
Whether to wait for the table to be fully created before this create + operation is considered to be finished.
+
+
shutdown() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Performs a graceful shutdown of this instance.
+
+
shutdown() - Method in class org.apache.kudu.client.KuduClient
+
+
Performs a graceful shutdown of this instance.
+
+
SLEEP_TIME - Static variable in class org.apache.kudu.client.AsyncKuduClient
+
 
+
snapshotTimestampMicros(long) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets the timestamp the scan must be executed at, in microseconds since the Unix epoch.
+
+
snapshotTimestampRaw(long) - Method in class org.apache.kudu.client.AbstractKuduScannerBuilder
+
+
Sets a previously encoded HT timestamp as a snapshot timestamp, for tests.
+
+
startAllMasterServers() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Starts all the master servers.
+
+
startAllTabletServers() - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Starts all the tablet servers.
+
+
startCommit() - Method in class org.apache.kudu.client.KuduTransaction
+
+
Start committing the multi-row distributed transaction represented by + this handle.
+
+
startMaster(HostAndPort) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Start master which has previously been registered at the specified + host and port.
+
+
startTabletServer(HostAndPort) - Method in class org.apache.kudu.test.KuduTestHarness
+
+
Start tablet server which has previously been registered at the specified + host and port.
+
+
Statistics - Class in org.apache.kudu.client
+
+
A Statistics belongs to a specific AsyncKuduClient.
+
+
Statistics() - Constructor for class org.apache.kudu.client.Statistics
+
 
+
Statistics.Statistic - Enum in org.apache.kudu.client
+
+
The statistic enum to pass when querying.
+
+
Status - Class in org.apache.kudu.client
+
+
Representation of an error code and message.
+
+
stringifyRowKey() - Method in class org.apache.kudu.client.PartialRow
+
+
Transforms the row key into a string representation where each column is in the format: + "type col_name=value".
+
+
stringifySerializedToken(byte[], KuduClient) - Static method in class org.apache.kudu.client.KuduScanToken
+
+
Formats the serialized token for debug printing.
+
+
supportsIgnoreOperations() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Sends a request to the master to check if the cluster supports ignore operations, including + InsertIgnore, UpdateIgnore and DeleteIgnore operations.
+
+
supportsIgnoreOperations() - Method in class org.apache.kudu.client.KuduClient
+
+
Sends a request to the master to check if the cluster supports ignore operations, including + InsertIgnore, UpdateIgnore and DeleteIgnore operations.
+
+
syncClient() - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Returns a synchronous KuduClient which wraps this asynchronous client.
+
+
+ + + +

T

+
+
TABLE_NAME_KEY - Static variable in class org.apache.kudu.spark.tools.BigLinkedListCommon
+
 
+
tableExists(String) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Test if a table exists.
+
+
tableExists(String) - Method in class org.apache.kudu.client.KuduClient
+
+
Test if a table exists.
+
+
TimedOut(String) - Static method in class org.apache.kudu.client.Status
+
 
+
TimedOut(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
toByteArray(List<ColumnRangePredicate>) - Static method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Converts a list of predicates into an opaque byte array.
+
+
toKuduPredicate() - Method in class org.apache.kudu.client.ColumnRangePredicate
+
+
Deprecated.
+
Convert this column range predicate into a KuduPredicate.
+
+
toPB() - Method in class org.apache.kudu.client.KuduPredicate
+
+
Convert the predicate to the protobuf representation.
+
+
toPB() - Method in class org.apache.kudu.client.RangePartitionWithCustomHashSchema
+
 
+
toString() - Method in class org.apache.kudu.client.AsyncKuduScanner
+
 
+
toString() - Method in class org.apache.kudu.client.KuduPredicate
+
 
+
toString() - Method in class org.apache.kudu.client.LocatedTablet.Replica
+
 
+
toString() - Method in class org.apache.kudu.client.LocatedTablet
+
 
+
toString() - Method in class org.apache.kudu.client.PartialRow
+
toString() - Method in class org.apache.kudu.client.RowError
+
 
+
toString() - Method in class org.apache.kudu.client.RowErrorsAndOverflowStatus
+
 
+
toString() - Method in class org.apache.kudu.client.Statistics
+
 
+
toString() - Method in class org.apache.kudu.client.Status
+
+
Get a human-readable version of the Status message fit for logging or display.
+
+
toString() - Method in class org.apache.kudu.ColumnSchema
+
 
+
toString() - Method in class org.apache.kudu.ColumnSchema
+
 
+
toString() - Method in class org.apache.kudu.ColumnTypeAttributes
+
 
+
toString() - Method in class org.apache.kudu.ColumnTypeAttributes
+
 
+
toString() - Method in enum org.apache.kudu.Type
+
 
+
toString() - Method in enum org.apache.kudu.Type
+
 
+
toString() - Method in class org.apache.kudu.util.BloomFilter
+
 
+
toStringForType(Type) - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Return a string representation appropriate for `type`.
+
+
toStringForType(Type) - Method in class org.apache.kudu.ColumnTypeAttributes
+
+
Return a string representation appropriate for `type`.
+
+
toStringLongFormat() - Method in class org.apache.kudu.client.RowResult
+
 
+
trustedCertificates(List<ByteString>) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Mark the given CA certificates (in DER format) as the trusted ones for the + client.
+
+
trustedCertificates(List<ByteString>) - Method in class org.apache.kudu.client.KuduClient
+
+
Mark the given CA certificates (in DER format) as the trusted ones for the + client.
+
+
Type - Enum in org.apache.kudu
+
+
Describes all the types available to build table schemas.
+
+
Type - Enum in org.apache.kudu
+
+
Describes all the types available to build table schemas.
+
+
typeAttributes(ColumnTypeAttributes) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the column type attributes for this column.
+
+
typeAttributes(ColumnTypeAttributes) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Set the column type attributes for this column.
+
+
+ + + +

U

+
+
Uninitialized(String) - Static method in class org.apache.kudu.client.Status
+
 
+
Uninitialized(String, int) - Static method in class org.apache.kudu.client.Status
+
 
+
Update - Class in org.apache.kudu.client
+
+
Operation to update columns on an existing row.
+
+
UpdateIgnore - Class in org.apache.kudu.client
+
+
Represents a single row update ignoring missing rows errors and + errors on updating immutable cells.
+
+
updateLastPropagatedTimestamp(long) - Method in class org.apache.kudu.client.AsyncKuduClient
+
+
Updates the last timestamp received from a server.
+
+
updateLastPropagatedTimestamp(long) - Method in class org.apache.kudu.client.KuduClient
+
+
Updates the last timestamp received from a server.
+
+
Upsert - Class in org.apache.kudu.client
+
+
Represents a single row upsert.
+
+
UpsertIgnore - Class in org.apache.kudu.client
+
+
Represents a single row upsert ignoring errors on updating + immutable cells.
+
+
+ + + +

V

+
+
valueOf(String) - Static method in enum org.apache.kudu.client.AsyncKuduScanner.ReadMode
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.client.AsyncKuduScanner.RowDataFormat
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.client.ExternalConsistencyMode
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.client.KuduPredicate.ComparisonOp
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.client.RangePartitionBound
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.client.ReplicaSelection
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.client.SessionConfiguration.FlushMode
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.client.Statistics.Statistic
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.ColumnSchema.CompressionAlgorithm
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.ColumnSchema.CompressionAlgorithm
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.ColumnSchema.Encoding
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.ColumnSchema.Encoding
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.Type
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum org.apache.kudu.Type
+
+
Returns the enum constant of this type with the specified name.
+
+
values() - Static method in enum org.apache.kudu.client.AsyncKuduScanner.ReadMode
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.client.AsyncKuduScanner.RowDataFormat
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.client.ExternalConsistencyMode
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.client.KuduPredicate.ComparisonOp
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.client.RangePartitionBound
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.client.ReplicaSelection
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.client.SessionConfiguration.FlushMode
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.client.Statistics.Statistic
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.ColumnSchema.CompressionAlgorithm
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.ColumnSchema.CompressionAlgorithm
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.ColumnSchema.Encoding
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.ColumnSchema.Encoding
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.Type
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum org.apache.kudu.Type
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
+ + + +

W

+
+
wireType(Common.DataType) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Allows an alternate Common.DataType to override the Type + when serializing the ColumnSchema on the wire.
+
+
wireType(Common.DataType) - Method in class org.apache.kudu.ColumnSchema.AutoIncrementingColumnSchemaBuilder
+
+
Allows an alternate Common.DataType to override the Type + when serializing the ColumnSchema on the wire.
+
+
wireType(Common.DataType) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Allows an alternate Common.DataType to override the Type + when serializing the ColumnSchema on the wire.
+
+
wireType(Common.DataType) - Method in class org.apache.kudu.ColumnSchema.ColumnSchemaBuilder
+
+
Allows an alternate Common.DataType to override the Type + when serializing the ColumnSchema on the wire.
+
+
workerCount(int) - Method in class org.apache.kudu.client.AsyncKuduClient.AsyncKuduClientBuilder
+
+
Set the maximum number of Netty worker threads.
+
+
workerCount(int) - Method in class org.apache.kudu.client.KuduClient.KuduClientBuilder
+
+
Set the maximum number of worker threads.
+
+
+A B C D E F G H I J K L M N O P R S T U V W 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/index.html b/releases/1.17.1/apidocs/index.html new file mode 100644 index 0000000000..6ed0808704 --- /dev/null +++ b/releases/1.17.1/apidocs/index.html @@ -0,0 +1,75 @@ + + + + + +Generated Documentation (Untitled) + + + + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.AutoIncrementingColumnSchemaBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.AutoIncrementingColumnSchemaBuilder.html new file mode 100644 index 0000000000..29804120f1 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.AutoIncrementingColumnSchemaBuilder.html @@ -0,0 +1,352 @@ + + + + + +ColumnSchema.AutoIncrementingColumnSchemaBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Class ColumnSchema.AutoIncrementingColumnSchemaBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html new file mode 100644 index 0000000000..d8d714af8d --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html @@ -0,0 +1,534 @@ + + + + + +ColumnSchema.ColumnSchemaBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Class ColumnSchema.ColumnSchemaBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.CompressionAlgorithm.html b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.CompressionAlgorithm.html new file mode 100644 index 0000000000..d57a36c87c --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.CompressionAlgorithm.html @@ -0,0 +1,393 @@ + + + + + +ColumnSchema.CompressionAlgorithm + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Enum ColumnSchema.CompressionAlgorithm

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.Encoding.html b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.Encoding.html new file mode 100644 index 0000000000..5351401181 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.Encoding.html @@ -0,0 +1,419 @@ + + + + + +ColumnSchema.Encoding + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Enum ColumnSchema.Encoding

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.html b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.html new file mode 100644 index 0000000000..a62795c705 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/ColumnSchema.html @@ -0,0 +1,581 @@ + + + + + +ColumnSchema + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Class ColumnSchema

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html new file mode 100644 index 0000000000..4e7cf396d2 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html @@ -0,0 +1,327 @@ + + + + + +ColumnTypeAttributes.ColumnTypeAttributesBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Class ColumnTypeAttributes.ColumnTypeAttributesBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/ColumnTypeAttributes.html b/releases/1.17.1/apidocs/org/apache/kudu/ColumnTypeAttributes.html new file mode 100644 index 0000000000..966845e9b6 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/ColumnTypeAttributes.html @@ -0,0 +1,416 @@ + + + + + +ColumnTypeAttributes + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Class ColumnTypeAttributes

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/Schema.html b/releases/1.17.1/apidocs/org/apache/kudu/Schema.html new file mode 100644 index 0000000000..ccd84d187e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/Schema.html @@ -0,0 +1,767 @@ + + + + + +Schema + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Class Schema

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/Type.html b/releases/1.17.1/apidocs/org/apache/kudu/Type.html new file mode 100644 index 0000000000..15b54a1db8 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/Type.html @@ -0,0 +1,667 @@ + + + + + +Type + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu
+

Enum Type

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AbstractKuduScannerBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AbstractKuduScannerBuilder.html new file mode 100644 index 0000000000..142556fdf0 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AbstractKuduScannerBuilder.html @@ -0,0 +1,712 @@ + + + + + +AbstractKuduScannerBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AbstractKuduScannerBuilder<S extends AbstractKuduScannerBuilder<? super S,T>,T>

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AlterTableOptions.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AlterTableOptions.html new file mode 100644 index 0000000000..ee7be208c6 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AlterTableOptions.html @@ -0,0 +1,940 @@ + + + + + +AlterTableOptions + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AlterTableOptions

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AlterTableResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AlterTableResponse.html new file mode 100644 index 0000000000..9a1d555a2a --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AlterTableResponse.html @@ -0,0 +1,283 @@ + + + + + +AlterTableResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AlterTableResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html new file mode 100644 index 0000000000..daa8b77b38 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html @@ -0,0 +1,605 @@ + + + + + +AsyncKuduClient.AsyncKuduClientBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AsyncKuduClient.AsyncKuduClientBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduClient.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduClient.html new file mode 100644 index 0000000000..9fc6f0ba91 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduClient.html @@ -0,0 +1,1449 @@ + + + + + +AsyncKuduClient + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AsyncKuduClient

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html new file mode 100644 index 0000000000..5cc518e93a --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html @@ -0,0 +1,263 @@ + + + + + +AsyncKuduScanner.AsyncKuduScannerBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AsyncKuduScanner.AsyncKuduScannerBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.ReadMode.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.ReadMode.html new file mode 100644 index 0000000000..c5fa506906 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.ReadMode.html @@ -0,0 +1,398 @@ + + + + + +AsyncKuduScanner.ReadMode + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum AsyncKuduScanner.ReadMode

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html new file mode 100644 index 0000000000..3cb0bcd9b4 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.RowDataFormat.html @@ -0,0 +1,359 @@ + + + + + +AsyncKuduScanner.RowDataFormat + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum AsyncKuduScanner.RowDataFormat

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.html new file mode 100644 index 0000000000..dfada4d0da --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduScanner.html @@ -0,0 +1,631 @@ + + + + + +AsyncKuduScanner + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AsyncKuduScanner

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduSession.html b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduSession.html new file mode 100644 index 0000000000..cb91edf661 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/AsyncKuduSession.html @@ -0,0 +1,857 @@ + + + + + +AsyncKuduSession + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class AsyncKuduSession

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/ColumnRangePredicate.html b/releases/1.17.1/apidocs/org/apache/kudu/client/ColumnRangePredicate.html new file mode 100644 index 0000000000..6ffbe3eb7d --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/ColumnRangePredicate.html @@ -0,0 +1,836 @@ + + + + + +ColumnRangePredicate + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class ColumnRangePredicate

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/CreateTableOptions.html b/releases/1.17.1/apidocs/org/apache/kudu/client/CreateTableOptions.html new file mode 100644 index 0000000000..7cdf4047c5 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/CreateTableOptions.html @@ -0,0 +1,642 @@ + + + + + +CreateTableOptions + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class CreateTableOptions

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Delete.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Delete.html new file mode 100644 index 0000000000..de977e68ec --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Delete.html @@ -0,0 +1,238 @@ + + + + + +Delete + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class Delete

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/DeleteIgnore.html b/releases/1.17.1/apidocs/org/apache/kudu/client/DeleteIgnore.html new file mode 100644 index 0000000000..a09b6ada11 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/DeleteIgnore.html @@ -0,0 +1,238 @@ + + + + + +DeleteIgnore + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class DeleteIgnore

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/DeleteTableResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/DeleteTableResponse.html new file mode 100644 index 0000000000..ca5144316e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/DeleteTableResponse.html @@ -0,0 +1,266 @@ + + + + + +DeleteTableResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class DeleteTableResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/ExternalConsistencyMode.html b/releases/1.17.1/apidocs/org/apache/kudu/client/ExternalConsistencyMode.html new file mode 100644 index 0000000000..c9a0fe265e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/ExternalConsistencyMode.html @@ -0,0 +1,343 @@ + + + + + +ExternalConsistencyMode + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum ExternalConsistencyMode

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/HasFailedRpcException.html b/releases/1.17.1/apidocs/org/apache/kudu/client/HasFailedRpcException.html new file mode 100644 index 0000000000..ae400f0d94 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/HasFailedRpcException.html @@ -0,0 +1,229 @@ + + + + + +HasFailedRpcException + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Interface HasFailedRpcException

+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Insert.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Insert.html new file mode 100644 index 0000000000..f80582d747 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Insert.html @@ -0,0 +1,237 @@ + + + + + +Insert + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class Insert

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/InsertIgnore.html b/releases/1.17.1/apidocs/org/apache/kudu/client/InsertIgnore.html new file mode 100644 index 0000000000..62616e0b0a --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/InsertIgnore.html @@ -0,0 +1,237 @@ + + + + + +InsertIgnore + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class InsertIgnore

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/IsAlterTableDoneResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/IsAlterTableDoneResponse.html new file mode 100644 index 0000000000..03d2a6fbab --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/IsAlterTableDoneResponse.html @@ -0,0 +1,288 @@ + + + + + +IsAlterTableDoneResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class IsAlterTableDoneResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/IsCreateTableDoneResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/IsCreateTableDoneResponse.html new file mode 100644 index 0000000000..2f4e82c840 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/IsCreateTableDoneResponse.html @@ -0,0 +1,288 @@ + + + + + +IsCreateTableDoneResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class IsCreateTableDoneResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html new file mode 100644 index 0000000000..5bd2aabdd3 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduClient.KuduClientBuilder.html @@ -0,0 +1,605 @@ + + + + + +KuduClient.KuduClientBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduClient.KuduClientBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduClient.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduClient.html new file mode 100644 index 0000000000..6902c8e129 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduClient.html @@ -0,0 +1,1171 @@ + + + + + +KuduClient + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduClient

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduException.OriginalException.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduException.OriginalException.html new file mode 100644 index 0000000000..fca79f8c9e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduException.OriginalException.html @@ -0,0 +1,227 @@ + + + + + +KuduException.OriginalException + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduException.OriginalException

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduException.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduException.html new file mode 100644 index 0000000000..f079a5dd3e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduException.html @@ -0,0 +1,304 @@ + + + + + +KuduException + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduException

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html new file mode 100644 index 0000000000..44917a6940 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPartitioner.KuduPartitionerBuilder.html @@ -0,0 +1,306 @@ + + + + + +KuduPartitioner.KuduPartitionerBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduPartitioner.KuduPartitionerBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPartitioner.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPartitioner.html new file mode 100644 index 0000000000..881ac6d89e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPartitioner.html @@ -0,0 +1,361 @@ + + + + + +KuduPartitioner + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduPartitioner

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPredicate.ComparisonOp.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPredicate.ComparisonOp.html new file mode 100644 index 0000000000..7be0659cdc --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPredicate.ComparisonOp.html @@ -0,0 +1,381 @@ + + + + + +KuduPredicate.ComparisonOp + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum KuduPredicate.ComparisonOp

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPredicate.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPredicate.html new file mode 100644 index 0000000000..907d170f81 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduPredicate.html @@ -0,0 +1,647 @@ + + + + + +KuduPredicate + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduPredicate

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html new file mode 100644 index 0000000000..a29da9b821 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html @@ -0,0 +1,349 @@ + + + + + +KuduScanToken.KuduScanTokenBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduScanToken.KuduScanTokenBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanToken.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanToken.html new file mode 100644 index 0000000000..5bb3f5945a --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanToken.html @@ -0,0 +1,497 @@ + + + + + +KuduScanToken + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduScanToken

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html new file mode 100644 index 0000000000..657f87d939 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html @@ -0,0 +1,263 @@ + + + + + +KuduScanner.KuduScannerBuilder + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduScanner.KuduScannerBuilder

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanner.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanner.html new file mode 100644 index 0000000000..cd752ece6f --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScanner.html @@ -0,0 +1,584 @@ + + + + + +KuduScanner + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduScanner

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScannerIterator.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScannerIterator.html new file mode 100644 index 0000000000..2d5c0c05e6 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduScannerIterator.html @@ -0,0 +1,274 @@ + + + + + +KuduScannerIterator + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduScannerIterator

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduSession.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduSession.html new file mode 100644 index 0000000000..eb4de31c28 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduSession.html @@ -0,0 +1,788 @@ + + + + + +KuduSession + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduSession

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTable.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTable.html new file mode 100644 index 0000000000..2cfda23961 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTable.html @@ -0,0 +1,721 @@ + + + + + +KuduTable + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduTable

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTableStatistics.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTableStatistics.html new file mode 100644 index 0000000000..50e3965d6a --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTableStatistics.html @@ -0,0 +1,264 @@ + + + + + +KuduTableStatistics + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduTableStatistics

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTransaction.html b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTransaction.html new file mode 100644 index 0000000000..fb7db2965e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/KuduTransaction.html @@ -0,0 +1,525 @@ + + + + + +KuduTransaction + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class KuduTransaction

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/ListTablesResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/ListTablesResponse.html new file mode 100644 index 0000000000..b170913bdc --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/ListTablesResponse.html @@ -0,0 +1,306 @@ + + + + + +ListTablesResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class ListTablesResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/ListTabletServersResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/ListTabletServersResponse.html new file mode 100644 index 0000000000..012333f1f9 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/ListTabletServersResponse.html @@ -0,0 +1,306 @@ + + + + + +ListTabletServersResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class ListTabletServersResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/LocatedTablet.Replica.html b/releases/1.17.1/apidocs/org/apache/kudu/client/LocatedTablet.Replica.html new file mode 100644 index 0000000000..43e9ec14b4 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/LocatedTablet.Replica.html @@ -0,0 +1,297 @@ + + + + + +LocatedTablet.Replica + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class LocatedTablet.Replica

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/LocatedTablet.html b/releases/1.17.1/apidocs/org/apache/kudu/client/LocatedTablet.html new file mode 100644 index 0000000000..622c1bba25 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/LocatedTablet.html @@ -0,0 +1,379 @@ + + + + + +LocatedTablet + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class LocatedTablet

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Operation.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Operation.html new file mode 100644 index 0000000000..60767c91d2 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Operation.html @@ -0,0 +1,335 @@ + + + + + +Operation + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class Operation

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/OperationResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/OperationResponse.html new file mode 100644 index 0000000000..5d5c70677d --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/OperationResponse.html @@ -0,0 +1,328 @@ + + + + + +OperationResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class OperationResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/PartialRow.html b/releases/1.17.1/apidocs/org/apache/kudu/client/PartialRow.html new file mode 100644 index 0000000000..ce582fc5a0 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/PartialRow.html @@ -0,0 +1,2229 @@ + + + + + +PartialRow + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class PartialRow

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/PleaseThrottleException.html b/releases/1.17.1/apidocs/org/apache/kudu/client/PleaseThrottleException.html new file mode 100644 index 0000000000..687af4d3de --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/PleaseThrottleException.html @@ -0,0 +1,348 @@ + + + + + +PleaseThrottleException + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class PleaseThrottleException

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/RangePartitionBound.html b/releases/1.17.1/apidocs/org/apache/kudu/client/RangePartitionBound.html new file mode 100644 index 0000000000..e8c4ab94d6 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/RangePartitionBound.html @@ -0,0 +1,347 @@ + + + + + +RangePartitionBound + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum RangePartitionBound

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/RangePartitionWithCustomHashSchema.html b/releases/1.17.1/apidocs/org/apache/kudu/client/RangePartitionWithCustomHashSchema.html new file mode 100644 index 0000000000..85f9727a42 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/RangePartitionWithCustomHashSchema.html @@ -0,0 +1,332 @@ + + + + + +RangePartitionWithCustomHashSchema + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class RangePartitionWithCustomHashSchema

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/RecallDeletedTableResponse.html b/releases/1.17.1/apidocs/org/apache/kudu/client/RecallDeletedTableResponse.html new file mode 100644 index 0000000000..2ddb8930a8 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/RecallDeletedTableResponse.html @@ -0,0 +1,266 @@ + + + + + +RecallDeletedTableResponse + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class RecallDeletedTableResponse

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/ReplicaSelection.html b/releases/1.17.1/apidocs/org/apache/kudu/client/ReplicaSelection.html new file mode 100644 index 0000000000..230b16e1aa --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/ReplicaSelection.html @@ -0,0 +1,351 @@ + + + + + +ReplicaSelection + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum ReplicaSelection

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/ResourceMetrics.html b/releases/1.17.1/apidocs/org/apache/kudu/client/ResourceMetrics.html new file mode 100644 index 0000000000..814b928029 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/ResourceMetrics.html @@ -0,0 +1,305 @@ + + + + + +ResourceMetrics + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class ResourceMetrics

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/RowError.html b/releases/1.17.1/apidocs/org/apache/kudu/client/RowError.html new file mode 100644 index 0000000000..cc294cfe56 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/RowError.html @@ -0,0 +1,347 @@ + + + + + +RowError + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class RowError

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/RowErrorsAndOverflowStatus.html b/releases/1.17.1/apidocs/org/apache/kudu/client/RowErrorsAndOverflowStatus.html new file mode 100644 index 0000000000..7b642d06e5 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/RowErrorsAndOverflowStatus.html @@ -0,0 +1,281 @@ + + + + + +RowErrorsAndOverflowStatus + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class RowErrorsAndOverflowStatus

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/RowResult.html b/releases/1.17.1/apidocs/org/apache/kudu/client/RowResult.html new file mode 100644 index 0000000000..2689d1502b --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/RowResult.html @@ -0,0 +1,1335 @@ + + + + + +RowResult + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class RowResult

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/RowResultIterator.html b/releases/1.17.1/apidocs/org/apache/kudu/client/RowResultIterator.html new file mode 100644 index 0000000000..95e68571b1 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/RowResultIterator.html @@ -0,0 +1,426 @@ + + + + + +RowResultIterator + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class RowResultIterator

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/SessionConfiguration.FlushMode.html b/releases/1.17.1/apidocs/org/apache/kudu/client/SessionConfiguration.FlushMode.html new file mode 100644 index 0000000000..9e1fbffcca --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/SessionConfiguration.FlushMode.html @@ -0,0 +1,394 @@ + + + + + +SessionConfiguration.FlushMode + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum SessionConfiguration.FlushMode

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/SessionConfiguration.html b/releases/1.17.1/apidocs/org/apache/kudu/client/SessionConfiguration.html new file mode 100644 index 0000000000..bd05f2716e --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/SessionConfiguration.html @@ -0,0 +1,631 @@ + + + + + +SessionConfiguration + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Interface SessionConfiguration

+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Statistics.Statistic.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Statistics.Statistic.html new file mode 100644 index 0000000000..88922dc4f4 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Statistics.Statistic.html @@ -0,0 +1,398 @@ + + + + + +Statistics.Statistic + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Enum Statistics.Statistic

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Statistics.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Statistics.html new file mode 100644 index 0000000000..4fb40a30a7 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Statistics.html @@ -0,0 +1,446 @@ + + + + + +Statistics + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class Statistics

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Status.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Status.html new file mode 100644 index 0000000000..545ec33917 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Status.html @@ -0,0 +1,1070 @@ + + + + + +Status + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class Status

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Update.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Update.html new file mode 100644 index 0000000000..401bc19887 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Update.html @@ -0,0 +1,237 @@ + + + + + +Update + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class Update

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/UpdateIgnore.html b/releases/1.17.1/apidocs/org/apache/kudu/client/UpdateIgnore.html new file mode 100644 index 0000000000..d1a9cbf389 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/UpdateIgnore.html @@ -0,0 +1,238 @@ + + + + + +UpdateIgnore + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class UpdateIgnore

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/Upsert.html b/releases/1.17.1/apidocs/org/apache/kudu/client/Upsert.html new file mode 100644 index 0000000000..f355ba8eca --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/Upsert.html @@ -0,0 +1,236 @@ + + + + + +Upsert + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class Upsert

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/UpsertIgnore.html b/releases/1.17.1/apidocs/org/apache/kudu/client/UpsertIgnore.html new file mode 100644 index 0000000000..c6bb1ca2da --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/UpsertIgnore.html @@ -0,0 +1,238 @@ + + + + + +UpsertIgnore + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.client
+

Class UpsertIgnore

+
+
+ +
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/package-frame.html b/releases/1.17.1/apidocs/org/apache/kudu/client/package-frame.html new file mode 100644 index 0000000000..11efb3b4b4 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/package-frame.html @@ -0,0 +1,91 @@ + + + + + +org.apache.kudu.client + + + + +

org.apache.kudu.client

+
+

Interfaces

+ +

Classes

+ +

Enums

+ +

Exceptions

+ +
+ + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/package-summary.html b/releases/1.17.1/apidocs/org/apache/kudu/client/package-summary.html new file mode 100644 index 0000000000..c568fb4737 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/package-summary.html @@ -0,0 +1,547 @@ + + + + + +org.apache.kudu.client + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Package org.apache.kudu.client

+
+
+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/client/package-tree.html b/releases/1.17.1/apidocs/org/apache/kudu/client/package-tree.html new file mode 100644 index 0000000000..5771fb4948 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/client/package-tree.html @@ -0,0 +1,240 @@ + + + + + +org.apache.kudu.client Class Hierarchy + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For Package org.apache.kudu.client

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +

Enum Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/package-frame.html b/releases/1.17.1/apidocs/org/apache/kudu/package-frame.html new file mode 100644 index 0000000000..4b4cfb8ea9 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/package-frame.html @@ -0,0 +1,30 @@ + + + + + +org.apache.kudu + + + + +

org.apache.kudu

+
+

Classes

+ +

Enums

+ +
+ + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/package-summary.html b/releases/1.17.1/apidocs/org/apache/kudu/package-summary.html new file mode 100644 index 0000000000..0c8206d98c --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/package-summary.html @@ -0,0 +1,200 @@ + + + + + +org.apache.kudu + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Package org.apache.kudu

+
+
+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/package-tree.html b/releases/1.17.1/apidocs/org/apache/kudu/package-tree.html new file mode 100644 index 0000000000..766016807f --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/package-tree.html @@ -0,0 +1,153 @@ + + + + + +org.apache.kudu Class Hierarchy + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For Package org.apache.kudu

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Enum Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html new file mode 100644 index 0000000000..0b18a485a4 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/BigLinkedListCommon.html @@ -0,0 +1,617 @@ + + + + + +BigLinkedListCommon + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.spark.tools
+

Class BigLinkedListCommon

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-frame.html b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-frame.html new file mode 100644 index 0000000000..255bb242cc --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-frame.html @@ -0,0 +1,19 @@ + + + + + +org.apache.kudu.spark.tools + + + + +

org.apache.kudu.spark.tools

+
+

Classes

+ +
+ + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-summary.html b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-summary.html new file mode 100644 index 0000000000..41d22f7f1f --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-summary.html @@ -0,0 +1,142 @@ + + + + + +org.apache.kudu.spark.tools + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Package org.apache.kudu.spark.tools

+
+
+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-tree.html b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-tree.html new file mode 100644 index 0000000000..db32cdbee7 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/spark/tools/package-tree.html @@ -0,0 +1,134 @@ + + + + + +org.apache.kudu.spark.tools Class Hierarchy + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For Package org.apache.kudu.spark.tools

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/test/KuduTestHarness.html b/releases/1.17.1/apidocs/org/apache/kudu/test/KuduTestHarness.html new file mode 100644 index 0000000000..d6f1dd58df --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/test/KuduTestHarness.html @@ -0,0 +1,1071 @@ + + + + + +KuduTestHarness + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.test
+

Class KuduTestHarness

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/test/package-frame.html b/releases/1.17.1/apidocs/org/apache/kudu/test/package-frame.html new file mode 100644 index 0000000000..fd8473bcac --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/test/package-frame.html @@ -0,0 +1,19 @@ + + + + + +org.apache.kudu.test + + + + +

org.apache.kudu.test

+
+

Classes

+ +
+ + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/test/package-summary.html b/releases/1.17.1/apidocs/org/apache/kudu/test/package-summary.html new file mode 100644 index 0000000000..ffd6d545a4 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/test/package-summary.html @@ -0,0 +1,141 @@ + + + + + +org.apache.kudu.test + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Package org.apache.kudu.test

+
+
+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/test/package-tree.html b/releases/1.17.1/apidocs/org/apache/kudu/test/package-tree.html new file mode 100644 index 0000000000..c3fdee6b22 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/test/package-tree.html @@ -0,0 +1,138 @@ + + + + + +org.apache.kudu.test Class Hierarchy + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For Package org.apache.kudu.test

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/util/BloomFilter.html b/releases/1.17.1/apidocs/org/apache/kudu/util/BloomFilter.html new file mode 100644 index 0000000000..4f9f58399b --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/util/BloomFilter.html @@ -0,0 +1,607 @@ + + + + + +BloomFilter + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
org.apache.kudu.util
+

Class BloomFilter

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/util/package-frame.html b/releases/1.17.1/apidocs/org/apache/kudu/util/package-frame.html new file mode 100644 index 0000000000..92605cc9ad --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/util/package-frame.html @@ -0,0 +1,19 @@ + + + + + +org.apache.kudu.util + + + + +

org.apache.kudu.util

+
+

Classes

+ +
+ + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/util/package-summary.html b/releases/1.17.1/apidocs/org/apache/kudu/util/package-summary.html new file mode 100644 index 0000000000..49ccfc5218 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/util/package-summary.html @@ -0,0 +1,141 @@ + + + + + +org.apache.kudu.util + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Package org.apache.kudu.util

+
+
+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/org/apache/kudu/util/package-tree.html b/releases/1.17.1/apidocs/org/apache/kudu/util/package-tree.html new file mode 100644 index 0000000000..581c3f36a6 --- /dev/null +++ b/releases/1.17.1/apidocs/org/apache/kudu/util/package-tree.html @@ -0,0 +1,134 @@ + + + + + +org.apache.kudu.util Class Hierarchy + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For Package org.apache.kudu.util

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/overview-frame.html b/releases/1.17.1/apidocs/overview-frame.html new file mode 100644 index 0000000000..79263ae3cb --- /dev/null +++ b/releases/1.17.1/apidocs/overview-frame.html @@ -0,0 +1,24 @@ + + + + + +Overview List + + + + +
All Classes
+
+

Packages

+ +
+

 

+ + diff --git a/releases/1.17.1/apidocs/overview-summary.html b/releases/1.17.1/apidocs/overview-summary.html new file mode 100644 index 0000000000..26ff6118b5 --- /dev/null +++ b/releases/1.17.1/apidocs/overview-summary.html @@ -0,0 +1,148 @@ + + + + + +Overview + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Packages 
PackageDescription
org.apache.kudu 
org.apache.kudu.client 
org.apache.kudu.spark.tools 
org.apache.kudu.test 
org.apache.kudu.util 
+
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/overview-tree.html b/releases/1.17.1/apidocs/overview-tree.html new file mode 100644 index 0000000000..de20e9104c --- /dev/null +++ b/releases/1.17.1/apidocs/overview-tree.html @@ -0,0 +1,260 @@ + + + + + +Class Hierarchy + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +

Enum Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/package-list b/releases/1.17.1/apidocs/package-list new file mode 100644 index 0000000000..c724a2b186 --- /dev/null +++ b/releases/1.17.1/apidocs/package-list @@ -0,0 +1,5 @@ +org.apache.kudu +org.apache.kudu.client +org.apache.kudu.spark.tools +org.apache.kudu.test +org.apache.kudu.util diff --git a/releases/1.17.1/apidocs/script.js b/releases/1.17.1/apidocs/script.js new file mode 100644 index 0000000000..b346356931 --- /dev/null +++ b/releases/1.17.1/apidocs/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[key] & type) != 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) +{ + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} diff --git a/releases/1.17.1/apidocs/serialized-form.html b/releases/1.17.1/apidocs/serialized-form.html new file mode 100644 index 0000000000..fa6e95f3e5 --- /dev/null +++ b/releases/1.17.1/apidocs/serialized-form.html @@ -0,0 +1,155 @@ + + + + + +Serialized Form + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Serialized Form

+
+
+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/releases/1.17.1/apidocs/stylesheet.css b/releases/1.17.1/apidocs/stylesheet.css new file mode 100644 index 0000000000..98055b22d6 --- /dev/null +++ b/releases/1.17.1/apidocs/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} diff --git a/releases/1.17.1/cpp-client-api/annotated.html b/releases/1.17.1/cpp-client-api/annotated.html new file mode 100644 index 0000000000..6132620fc0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/annotated.html @@ -0,0 +1,143 @@ + + + + + + + +Kudu C++ client API: Class List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Nkudu
 Nclient
 Ninternal
 CAsyncLeaderMasterRpc
 CAsyncRandomTxnManagerRpc
 CKuduLoggingCallbackThe interface for all logging callbacks
 CKuduLoggingMemberCallbackThe logging callback that invokes a member function of an object
 CKuduLoggingFunctionCallbackThe logging callback that invokes a function by pointer with a single argument
 CKuduStatusCallbackThe interface for all status callbacks
 CKuduStatusMemberCallbackThe status callback that invokes a member function of an object
 CKuduStatusFunctionCallbackThe status callback that invokes a function by pointer with a single argument
 CKuduClientBuilderA "factory" for KuduClient objects
 CKuduTransaction
 CSerializationOptions
 CKuduClientA handle for a connection to a cluster
 CKuduTabletServerIn-memory representation of a remote tablet server
 CKuduReplicaIn-memory representation of a remote tablet's replica
 CKuduTabletIn-memory representation of a remote tablet
 CKuduTableCreatorA helper class to create a new table with the desired options
 CKuduRangePartition
 CKuduTableStatisticsIn-memory statistics of table
 CKuduTableA representation of a table on a particular cluster
 CKuduTableAltererAlters an existing table based on the provided steps
 CKuduErrorThis class represents an error which occurred in a write operation
 CKuduSessionRepresentation of a Kudu client session
 CKuduScannerThis class is a representation of a single scan
 CKuduScanTokenA scan descriptor limited to a single physical contiguous location
 CKuduScanTokenBuilderBuilds scan tokens for a table
 CKuduPartitionerBuilderBuilder for Partitioner instances
 CKuduPartitioner
 CKuduColumnarScanBatchA batch of columnar data returned from a scanner
 CResourceMetricsA generic catalog of simple metrics
 CKuduScanBatchA batch of zero or more rows returned by a scan operation
 CKuduPredicateA representation of comparison predicate for Kudu queries
 CKuduBloomFilterBloom filter to be used with IN Bloom filter predicate
 CKuduBloomFilterBuilderBuilder class to help build KuduBloomFilter to be used with IN Bloom filter predicate
 CKuduColumnTypeAttributesRepresentation of column type attributes
 CKuduColumnStorageAttributesRepresentation of column storage attributes
 CKuduColumnSchemaRepresentation of the column schema
 CKuduColumnSpecBuilder API for specifying or altering a column within a table schema
 CKuduSchemaBuilderBuilder API for constructing a KuduSchema object
 CKuduSchemaA representation of a table's schema
 CKuduValueA constant cell value with a specific type
 CKuduWriteOperationA single-row write operation to be sent to a Kudu table
 CKuduInsertA single row insert to be sent to the cluster
 CKuduInsertIgnoreA single row insert ignore to be sent to the cluster, duplicate row errors are ignored
 CKuduUpsertA single row upsert to be sent to the cluster
 CKuduUpsertIgnoreA single row upsert ignore to be sent to the cluster, errors on updating immutable cells are ignored
 CKuduUpdateA single row update to be sent to the cluster
 CKuduUpdateIgnoreA single row update ignore to be sent to the cluster, missing row errors and errors on updating immutable cells are ignored
 CKuduDeleteA single row delete to be sent to the cluster
 CKuduDeleteIgnoreA single row delete ignore to be sent to the cluster
 Ninternal_logging
 CNullLogA helper for the nil log sink
 CCerrLogA helper for stderr log sink
 CMonoDeltaA representation of a time interval
 CMonoTimeRepresentation of a particular point in time
 CSliceA wrapper around externally allocated data
 CComparatorComparator struct, useful for ordered collections (like STL maps)
 CSliceMapSTL map whose keys are Slices
 CStatusA representation of an operation's outcome
 CKuduPartialRowA row which may only contain values for a subset of the columns
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/bc_s.png b/releases/1.17.1/cpp-client-api/bc_s.png new file mode 100644 index 0000000000..224b29aa98 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/bc_s.png differ diff --git a/releases/1.17.1/cpp-client-api/bdwn.png b/releases/1.17.1/cpp-client-api/bdwn.png new file mode 100644 index 0000000000..940a0b9504 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/bdwn.png differ diff --git a/releases/1.17.1/cpp-client-api/callbacks_8h_source.html b/releases/1.17.1/cpp-client-api/callbacks_8h_source.html new file mode 100644 index 0000000000..c3b693c9da --- /dev/null +++ b/releases/1.17.1/cpp-client-api/callbacks_8h_source.html @@ -0,0 +1,276 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/callbacks.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
callbacks.h
+
+
+
1 // Licensed to the Apache Software Foundation (ASF) under one
+
2 // or more contributor license agreements. See the NOTICE file
+
3 // distributed with this work for additional information
+
4 // regarding copyright ownership. The ASF licenses this file
+
5 // to you under the Apache License, Version 2.0 (the
+
6 // "License"); you may not use this file except in compliance
+
7 // with the License. You may obtain a copy of the License at
+
8 //
+
9 // http://www.apache.org/licenses/LICENSE-2.0
+
10 //
+
11 // Unless required by applicable law or agreed to in writing,
+
12 // software distributed under the License is distributed on an
+
13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
14 // KIND, either express or implied. See the License for the
+
15 // specific language governing permissions and limitations
+
16 // under the License.
+
17 #ifndef KUDU_CLIENT_CALLBACKS_H
+
18 #define KUDU_CLIENT_CALLBACKS_H
+
19 
+
20 #ifdef KUDU_HEADERS_NO_STUBS
+
21 #include "kudu/gutil/macros.h"
+
22 #include "kudu/gutil/port.h"
+
23 #else
+
24 #include "kudu/client/stubs.h"
+
25 #endif
+
26 #include "kudu/util/kudu_export.h"
+
27 
+
28 namespace kudu {
+
29 
+
30 class Status;
+
31 
+
32 namespace client {
+
33 
+
34 
+
36 enum KuduLogSeverity {
+
37  SEVERITY_INFO,
+
38  SEVERITY_WARNING,
+
39  SEVERITY_ERROR,
+
40  SEVERITY_FATAL
+
41 };
+
42 
+
44 class KUDU_EXPORT KuduLoggingCallback {
+
45  public:
+ +
47  }
+
48 
+
49  virtual ~KuduLoggingCallback() {
+
50  }
+
51 
+
68  virtual void Run(KuduLogSeverity severity,
+
69  const char* filename,
+
70  int line_number,
+
71  const struct ::tm* time,
+
72  const char* message,
+
73  size_t message_len) = 0;
+
74 
+
75  private:
+
76  DISALLOW_COPY_AND_ASSIGN(KuduLoggingCallback);
+
77 };
+
78 
+
80 template <typename T>
+
81 class KUDU_EXPORT KuduLoggingMemberCallback : public KuduLoggingCallback {
+
82  public:
+
84  typedef void (T::*MemberType)(
+
85  KuduLogSeverity severity,
+
86  const char* filename,
+
87  int line_number,
+
88  const struct ::tm* time,
+
89  const char* message,
+
90  size_t message_len);
+
91 
+
98  KuduLoggingMemberCallback(T* object, MemberType member)
+
99  : object_(object),
+
100  member_(member) {
+
101  }
+
102 
+
104  virtual void Run(KuduLogSeverity severity,
+
105  const char* filename,
+
106  int line_number,
+
107  const struct ::tm* time,
+
108  const char* message,
+
109  size_t message_len) OVERRIDE {
+
110  (object_->*member_)(severity, filename, line_number, time,
+
111  message, message_len);
+
112  }
+
113 
+
114  private:
+
115  T* object_;
+
116  MemberType member_;
+
117 };
+
118 
+
121 template <typename T>
+ +
123  public:
+
125  typedef void (*FunctionType)(T arg,
+
126  KuduLogSeverity severity,
+
127  const char* filename,
+
128  int line_number,
+
129  const struct ::tm* time,
+
130  const char* message,
+
131  size_t message_len);
+
132 
+
139  KuduLoggingFunctionCallback(FunctionType function, T arg)
+
140  : function_(function),
+
141  arg_(arg) {
+
142  }
+
143 
+
145  virtual void Run(KuduLogSeverity severity,
+
146  const char* filename,
+
147  int line_number,
+
148  const struct ::tm* time,
+
149  const char* message,
+
150  size_t message_len) OVERRIDE {
+
151  function_(arg_, severity, filename, line_number, time,
+
152  message, message_len);
+
153  }
+
154 
+
155  private:
+
156  FunctionType function_;
+
157  T arg_;
+
158 };
+
159 
+
161 class KUDU_EXPORT KuduStatusCallback {
+
162  public:
+ +
164  }
+
165 
+
166  virtual ~KuduStatusCallback() {
+
167  }
+
168 
+
173  virtual void Run(const Status& s) = 0;
+
174 
+
175  private:
+
176  DISALLOW_COPY_AND_ASSIGN(KuduStatusCallback);
+
177 };
+
178 
+
180 template <typename T>
+
181 class KUDU_EXPORT KuduStatusMemberCallback : public KuduStatusCallback {
+
182  public:
+
184  typedef void (T::*MemberType)(const Status& s);
+
185 
+
192  KuduStatusMemberCallback(T* object, MemberType member)
+
193  : object_(object),
+
194  member_(member) {
+
195  }
+
196 
+
198  virtual void Run(const Status& s) OVERRIDE {
+
199  (object_->*member_)(s);
+
200  }
+
201 
+
202  private:
+
203  T* object_;
+
204  MemberType member_;
+
205 };
+
206 
+
209 template <typename T>
+
210 class KUDU_EXPORT KuduStatusFunctionCallback : public KuduStatusCallback {
+
211  public:
+
213  typedef void (*FunctionType)(T arg, const Status& s);
+
214 
+
222  KuduStatusFunctionCallback(FunctionType function, T arg)
+
223  : function_(function),
+
224  arg_(arg) {
+
225  }
+
226 
+
228  virtual void Run(const Status& s) OVERRIDE {
+
229  function_(arg_, s);
+
230  }
+
231 
+
232  private:
+
233  FunctionType function_;
+
234  T arg_;
+
235 };
+
236 
+
237 } // namespace client
+
238 } // namespace kudu
+
239 
+
240 #endif
+
A representation of an operation's outcome.
Definition: status.h:165
+
The interface for all logging callbacks.
Definition: callbacks.h:44
+
virtual void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)=0
+
The logging callback that invokes a function by pointer with a single argument.
Definition: callbacks.h:122
+
KuduLoggingFunctionCallback(FunctionType function, T arg)
Definition: callbacks.h:139
+
virtual void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE
Definition: callbacks.h:145
+
The logging callback that invokes a member function of an object.
Definition: callbacks.h:81
+
virtual void Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE
Definition: callbacks.h:104
+
KuduLoggingMemberCallback(T *object, MemberType member)
Definition: callbacks.h:98
+
The interface for all status callbacks.
Definition: callbacks.h:161
+
virtual void Run(const Status &s)=0
+
The status callback that invokes a function by pointer with a single argument.
Definition: callbacks.h:210
+
KuduStatusFunctionCallback(FunctionType function, T arg)
Definition: callbacks.h:222
+
virtual void Run(const Status &s) OVERRIDE
Definition: callbacks.h:228
+
The status callback that invokes a member function of an object.
Definition: callbacks.h:181
+
virtual void Run(const Status &s) OVERRIDE
Definition: callbacks.h:198
+
KuduStatusMemberCallback(T *object, MemberType member)
Definition: callbacks.h:192
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classKuduPartialRow-members.html b/releases/1.17.1/cpp-client-api/classKuduPartialRow-members.html new file mode 100644 index 0000000000..5ceb7e13e0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classKuduPartialRow-members.html @@ -0,0 +1,162 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
KuduPartialRow Member List
+
+
+ +

This is the complete list of members for KuduPartialRow, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AllColumnsSet() constKuduPartialRow
EncodeRowKey(std::string *encoded_key) constKuduPartialRow
GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULTKuduPartialRow
GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULTKuduPartialRow
GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULTKuduPartialRow
GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULTKuduPartialRow
GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULTKuduPartialRow
GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULTKuduPartialRow
GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULTKuduPartialRow
GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULTKuduPartialRow
GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULTKuduPartialRow
GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetSerial(const Slice &col_name, uint64_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetSerial(int col_idx, uint64_t *val) const WARN_UNUSED_RESULTKuduPartialRow
GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULTKuduPartialRow
GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULTKuduPartialRow
GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULTKuduPartialRow
GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULTKuduPartialRow
GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULTKuduPartialRow
GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULTKuduPartialRow
IsAutoIncrementingColumnSet() constKuduPartialRow
IsColumnSet(const Slice &col_name) constKuduPartialRow
IsColumnSet(int col_idx) constKuduPartialRow
IsKeySet() constKuduPartialRow
IsNonUniqueKeySet() constKuduPartialRow
IsNull(const Slice &col_name) constKuduPartialRow
IsNull(int col_idx) constKuduPartialRow
KuduPartialRow(const Schema *schema)KuduPartialRowexplicit
KuduPartialRow(const KuduPartialRow &other)KuduPartialRow
operator=(KuduPartialRow other)KuduPartialRow
schema() constKuduPartialRowinline
SetBinary(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetBinary(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetBinaryCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetBinaryCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetBinaryNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetBinaryNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetBool(const Slice &col_name, bool val) WARN_UNUSED_RESULTKuduPartialRow
SetBool(int col_idx, bool val) WARN_UNUSED_RESULTKuduPartialRow
SetDate(const Slice &col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULTKuduPartialRow
SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULTKuduPartialRow
SetDouble(const Slice &col_name, double val) WARN_UNUSED_RESULTKuduPartialRow
SetDouble(int col_idx, double val) WARN_UNUSED_RESULTKuduPartialRow
SetFloat(const Slice &col_name, float val) WARN_UNUSED_RESULTKuduPartialRow
SetFloat(int col_idx, float val) WARN_UNUSED_RESULTKuduPartialRow
SetInt16(const Slice &col_name, int16_t val) WARN_UNUSED_RESULTKuduPartialRow
SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULTKuduPartialRow
SetInt32(const Slice &col_name, int32_t val) WARN_UNUSED_RESULTKuduPartialRow
SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULTKuduPartialRow
SetInt64(const Slice &col_name, int64_t val) WARN_UNUSED_RESULTKuduPartialRow
SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULTKuduPartialRow
SetInt8(const Slice &col_name, int8_t val) WARN_UNUSED_RESULTKuduPartialRow
SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULTKuduPartialRow
SetNull(const Slice &col_name) WARN_UNUSED_RESULTKuduPartialRow
SetNull(int col_idx) WARN_UNUSED_RESULTKuduPartialRow
SetSerial(const Slice &col_name, uint64_t val) WARN_UNUSED_RESULTKuduPartialRow
SetSerial(int col_idx, uint64_t val) WARN_UNUSED_RESULTKuduPartialRow
SetString(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetString(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetStringCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetStringCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetStringNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetStringNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetUnixTimeMicros(const Slice &col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULTKuduPartialRow
SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULTKuduPartialRow
SetVarchar(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetVarchar(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetVarcharNoCopyUnsafe(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
SetVarcharNoCopyUnsafe(int col_idx, const Slice &val) WARN_UNUSED_RESULTKuduPartialRow
ToEncodedRowKeyOrDie() constKuduPartialRow
ToString() constKuduPartialRow
Unset(const Slice &col_name) WARN_UNUSED_RESULTKuduPartialRow
Unset(int col_idx) WARN_UNUSED_RESULTKuduPartialRow
~KuduPartialRow() (defined in KuduPartialRow)KuduPartialRowvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classKuduPartialRow.html b/releases/1.17.1/cpp-client-api/classKuduPartialRow.html new file mode 100644 index 0000000000..f571f27d4e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classKuduPartialRow.html @@ -0,0 +1,3170 @@ + + + + + + + +Kudu C++ client API: KuduPartialRow Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+Public Member Functions | +List of all members
+
+
KuduPartialRow Class Reference
+
+
+ +

A row which may only contain values for a subset of the columns. + More...

+ +

#include <partial_row.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 KuduPartialRow (const Schema *schema)
 
 KuduPartialRow (const KuduPartialRow &other)
 
KuduPartialRowoperator= (KuduPartialRow other)
 
Status SetVarchar (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Status SetVarchar (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Status SetNull (const Slice &col_name) WARN_UNUSED_RESULT
 
Status SetNull (int col_idx) WARN_UNUSED_RESULT
 
Status Unset (const Slice &col_name) WARN_UNUSED_RESULT
 
Status Unset (int col_idx) WARN_UNUSED_RESULT
 
bool IsColumnSet (const Slice &col_name) const
 
bool IsColumnSet (int col_idx) const
 
bool IsNull (const Slice &col_name) const
 
bool IsNull (int col_idx) const
 
Status EncodeRowKey (std::string *encoded_key) const
 
std::string ToEncodedRowKeyOrDie () const
 
bool IsKeySet () const
 
bool IsNonUniqueKeySet () const
 
bool IsAutoIncrementingColumnSet () const
 
bool AllColumnsSet () const
 
std::string ToString () const
 
const Schema * schema () const
 
Setters for integral type columns by name.
Status SetBool (const Slice &col_name, bool val) WARN_UNUSED_RESULT
 
Status SetInt8 (const Slice &col_name, int8_t val) WARN_UNUSED_RESULT
 
Status SetInt16 (const Slice &col_name, int16_t val) WARN_UNUSED_RESULT
 
Status SetInt32 (const Slice &col_name, int32_t val) WARN_UNUSED_RESULT
 
Status SetInt64 (const Slice &col_name, int64_t val) WARN_UNUSED_RESULT
 
Status SetSerial (const Slice &col_name, uint64_t val) WARN_UNUSED_RESULT
 
Status SetUnixTimeMicros (const Slice &col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT
 
Status SetDate (const Slice &col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT
 
Status SetFloat (const Slice &col_name, float val) WARN_UNUSED_RESULT
 
Status SetDouble (const Slice &col_name, double val) WARN_UNUSED_RESULT
 
Setters for integral type columns by index.

These setters are the same as corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Status SetBool (int col_idx, bool val) WARN_UNUSED_RESULT
 
Status SetInt8 (int col_idx, int8_t val) WARN_UNUSED_RESULT
 
Status SetInt16 (int col_idx, int16_t val) WARN_UNUSED_RESULT
 
Status SetInt32 (int col_idx, int32_t val) WARN_UNUSED_RESULT
 
Status SetInt64 (int col_idx, int64_t val) WARN_UNUSED_RESULT
 
Status SetSerial (int col_idx, uint64_t val) WARN_UNUSED_RESULT
 
Status SetUnixTimeMicros (int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT
 
Status SetDate (int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT
 
Status SetFloat (int col_idx, float val) WARN_UNUSED_RESULT
 
Status SetDouble (int col_idx, double val) WARN_UNUSED_RESULT
 
Setters for binary/string columns by name (copying).
Status SetBinary (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Status SetString (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Status SetBinaryCopy (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Status SetStringCopy (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Setters for binary/string columns by index (copying).
Status SetBinary (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Status SetString (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Status SetStringCopy (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Status SetBinaryCopy (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Setters for binary/string columns by name (non-copying).
Status SetBinaryNoCopy (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Status SetStringNoCopy (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Advanced/Unstable API

There are no guarantees that the validation performed by these methods for 'val' will not change.

+
Status SetVarcharNoCopyUnsafe (const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
 
Status SetVarcharNoCopyUnsafe (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Setters for binary/string columns by index (non-copying).
Status SetBinaryNoCopy (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Status SetStringNoCopy (int col_idx, const Slice &val) WARN_UNUSED_RESULT
 
Getters for integral type columns by column name.
Status GetBool (const Slice &col_name, bool *val) const WARN_UNUSED_RESULT
 
Status GetInt8 (const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT
 
Status GetInt16 (const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT
 
Status GetInt32 (const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT
 
Status GetInt64 (const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT
 
Status GetSerial (const Slice &col_name, uint64_t *val) const WARN_UNUSED_RESULT
 
Status GetUnixTimeMicros (const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
 
Status GetDate (const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
 
Status GetFloat (const Slice &col_name, float *val) const WARN_UNUSED_RESULT
 
Status GetDouble (const Slice &col_name, double *val) const WARN_UNUSED_RESULT
 
Getters for column of integral type by column index.

These getters are the same as the corresponding column-name-based getters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Status GetBool (int col_idx, bool *val) const WARN_UNUSED_RESULT
 
Status GetInt8 (int col_idx, int8_t *val) const WARN_UNUSED_RESULT
 
Status GetInt16 (int col_idx, int16_t *val) const WARN_UNUSED_RESULT
 
Status GetInt32 (int col_idx, int32_t *val) const WARN_UNUSED_RESULT
 
Status GetInt64 (int col_idx, int64_t *val) const WARN_UNUSED_RESULT
 
Status GetSerial (int col_idx, uint64_t *val) const WARN_UNUSED_RESULT
 
Status GetUnixTimeMicros (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
 
Status GetDate (int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
 
Status GetFloat (int col_idx, float *val) const WARN_UNUSED_RESULT
 
Status GetDouble (int col_idx, double *val) const WARN_UNUSED_RESULT
 
Getters for string/binary/varchar column by column name.
Status GetString (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
 
Status GetBinary (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
 
Status GetVarchar (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
 
Getters for string/binary/varchar column by column index.
Status GetString (int col_idx, Slice *val) const WARN_UNUSED_RESULT
 
Status GetBinary (int col_idx, Slice *val) const WARN_UNUSED_RESULT
 
Status GetVarchar (int col_idx, Slice *val) const WARN_UNUSED_RESULT
 
+

Detailed Description

+

A row which may only contain values for a subset of the columns.

+

This object contains a normal contiguous row, plus a bitfield indicating which columns have been set. Additionally, this type may optionally own copies of indirect data for variable length columns.

+

Constructor & Destructor Documentation

+ +

◆ KuduPartialRow() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
KuduPartialRow::KuduPartialRow (const Schema * schema)
+
+explicit
+
+
Parameters
+ + +
[in]schemaSchema to use for the row. The given Schema object must remain valid for the lifetime of this row.
+
+
+ +
+
+ +

◆ KuduPartialRow() [2/2]

+ +
+
+ + + + + + + + +
KuduPartialRow::KuduPartialRow (const KuduPartialRowother)
+
+

Create a copy of KuduPartialRow instance.

+
Parameters
+ + +
[in]otherKuduPartialRow instance to copy from.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ AllColumnsSet()

+ +
+
+ + + + + + + +
bool KuduPartialRow::AllColumnsSet () const
+
+
Returns
true if all column values have been set.
+ +
+
+ +

◆ EncodeRowKey()

+ +
+
+ + + + + + + + +
Status KuduPartialRow::EncodeRowKey (std::string * encoded_key) const
+
+

Encode a row key.

+

The result is suitable for use as a tablet split key, an encoded key range, etc.

+
Precondition
All of the key columns must be set.
+
Parameters
+ + +
[out]encoded_keyThe encoded key (i.e. the result of the encoding).
+
+
+
Returns
Operation result status. In particular, this method returns InvalidArgument if not all the key columns are set.
+ +
+
+ +

◆ GetBinary() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetBinary (const Slice & col_name,
Slice * val 
) const
+
+

Get the string/binary/varchar value for a column by its name.

+
Parameters
+ + + +
[in]col_nameName of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetBinary() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetBinary (int col_idx,
Slice * val 
) const
+
+

Get the string/binary/varchar value for a column by its index.

+

These methods are faster than their name-based counterparts since they use indices to avoid hashmap lookups, so index-based getters should be preferred in performance-sensitive code.

+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetBool() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetBool (const Slice & col_name,
bool * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetBool() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetBool (int col_idx,
bool * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDate() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetDate (const Slice & col_name,
int32_t * days_since_unix_epoch 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]days_since_unix_epochThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDate() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetDate (int col_idx,
int32_t * days_since_unix_epoch 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]days_since_unix_epochThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDouble() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetDouble (const Slice & col_name,
double * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDouble() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetDouble (int col_idx,
double * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetFloat() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetFloat (const Slice & col_name,
float * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetFloat() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetFloat (int col_idx,
float * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt16() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt16 (const Slice & col_name,
int16_t * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt16() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt16 (int col_idx,
int16_t * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt32() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt32 (const Slice & col_name,
int32_t * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt32() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt32 (int col_idx,
int32_t * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt64() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt64 (const Slice & col_name,
int64_t * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt64() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt64 (int col_idx,
int64_t * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt8() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt8 (const Slice & col_name,
int8_t * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt8() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetInt8 (int col_idx,
int8_t * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetSerial() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetSerial (const Slice & col_name,
uint64_t * val 
) const
+
+

Get value of the column specified by name.

+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]valThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetSerial() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetSerial (int col_idx,
uint64_t * val 
) const
+
+

Get value of a column of integral type by column index.

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]valThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetString() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetString (const Slice & col_name,
Slice * val 
) const
+
+

Get the string/binary/varchar value for a column by its name.

+
Parameters
+ + + +
[in]col_nameName of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetString() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetString (int col_idx,
Slice * val 
) const
+
+

Get the string/binary/varchar value for a column by its index.

+

These methods are faster than their name-based counterparts since they use indices to avoid hashmap lookups, so index-based getters should be preferred in performance-sensitive code.

+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetUnixTimeMicros() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetUnixTimeMicros (const Slice & col_name,
int64_t * micros_since_utc_epoch 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the column.
[out]micros_since_utc_epochThe value of the column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetUnixTimeMicros() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetUnixTimeMicros (int col_idx,
int64_t * micros_since_utc_epoch 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[out]micros_since_utc_epochThe value of the target column.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetVarchar() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetVarchar (const Slice & col_name,
Slice * val 
) const
+
+

Get the string/binary/varchar value for a column by its name.

+
Parameters
+ + + +
[in]col_nameName of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetVarchar() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::GetVarchar (int col_idx,
Slice * val 
) const
+
+

Get the string/binary/varchar value for a column by its index.

+

These methods are faster than their name-based counterparts since they use indices to avoid hashmap lookups, so index-based getters should be preferred in performance-sensitive code.

+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ IsAutoIncrementingColumnSet()

+ +
+
+ + + + + + + +
bool KuduPartialRow::IsAutoIncrementingColumnSet () const
+
+
Returns
true if auto-incrementing column has been set for this mutation.
+ +
+
+ +

◆ IsColumnSet() [1/2]

+ +
+
+ + + + + + + + +
bool KuduPartialRow::IsColumnSet (const Slice & col_name) const
+
+

Check whether the specified column is set for the row.

+
Parameters
+ + +
[in]col_nameName of the column.
+
+
+
Returns
true iff the given column has been specified.
+ +
+
+ +

◆ IsColumnSet() [2/2]

+ +
+
+ + + + + + + + +
bool KuduPartialRow::IsColumnSet (int col_idx) const
+
+

Check whether the specified column is set for the row.

+
Parameters
+ + +
[in]col_idxThe index of the column.
+
+
+
Returns
true iff the given column has been specified.
+ +
+
+ +

◆ IsKeySet()

+ +
+
+ + + + + + + +
bool KuduPartialRow::IsKeySet () const
+
+
Returns
true if all key column values have been set for this mutation.
+ +
+
+ +

◆ IsNonUniqueKeySet()

+ +
+
+ + + + + + + +
bool KuduPartialRow::IsNonUniqueKeySet () const
+
+
Returns
true if all non-unique key column values have been set for this mutation.
+ +
+
+ +

◆ IsNull() [1/2]

+ +
+
+ + + + + + + + +
bool KuduPartialRow::IsNull (const Slice & col_name) const
+
+

Check whether the specified column is NULL for the row.

+
Parameters
+ + +
[in]col_nameName of the target column.
+
+
+
Returns
true iff the given column's value is NULL.
+ +
+
+ +

◆ IsNull() [2/2]

+ +
+
+ + + + + + + + +
bool KuduPartialRow::IsNull (int col_idx) const
+
+

Check whether the specified column is NULL for the row.

+
Parameters
+ + +
[in]col_idxThe index of the column.
+
+
+
Returns
true iff the given column's value is NULL.
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
KuduPartialRow& KuduPartialRow::operator= (KuduPartialRow other)
+
+

Overwrite this KuduPartialRow instance with data from other instance.

+
Parameters
+ + +
[in]otherKuduPartialRow instance to assign from.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ schema()

+ +
+
+ + + + + +
+ + + + + + + +
const Schema* KuduPartialRow::schema () const
+
+inline
+
+
Returns
The schema object for the partial row.
+ +
+
+ +

◆ SetBinary() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBinary (const Slice & col_name,
const Slice & val 
)
+
+

Set the binary/string value for a column by name, copying the specified data immediately.

+
Note
The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like KuduPartialRow::SetStringNoCopy() and KuduPartialRow::SetBinaryNoCopy() correspondingly.
+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBinary() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBinary (int col_idx,
const Slice & val 
)
+
+

Set the binary/string value for a column by index, copying the specified data immediately.

+

These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Note
The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like KuduPartialRow::SetStringNoCopy() and KuduPartialRow::SetBinaryNoCopy() correspondingly.
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBinaryCopy() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBinaryCopy (const Slice & col_name,
const Slice & val 
)
+
+

Set the binary/string value for a column by name, copying the specified data immediately.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBinaryCopy() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBinaryCopy (int col_idx,
const Slice & val 
)
+
+

Set the binary/string value for a column by index, copying the specified data immediately.

+

These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Note
The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like KuduPartialRow::SetStringNoCopy() and KuduPartialRow::SetBinaryNoCopy() correspondingly.
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBinaryNoCopy() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBinaryNoCopy (const Slice & col_name,
const Slice & val 
)
+
+

Set the binary/string value for a column by name, not copying the specified data.

+
Note
The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).
+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBinaryNoCopy() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBinaryNoCopy (int col_idx,
const Slice & val 
)
+
+

Set the binary/string value for a column by index, not copying the specified data.

+

These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Note
The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBool() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBool (const Slice & col_name,
bool val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBool() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetBool (int col_idx,
bool val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetDate() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetDate (const Slice & col_name,
int32_t days_since_unix_epoch 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]days_since_unix_epochThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetDate() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetDate (int col_idx,
int32_t days_since_unix_epoch 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]days_since_unix_epochThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetDouble() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetDouble (const Slice & col_name,
double val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetDouble() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetDouble (int col_idx,
double val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetFloat() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetFloat (const Slice & col_name,
float val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetFloat() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetFloat (int col_idx,
float val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt16() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt16 (const Slice & col_name,
int16_t val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt16() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt16 (int col_idx,
int16_t val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt32() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt32 (const Slice & col_name,
int32_t val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt32() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt32 (int col_idx,
int32_t val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt64() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt64 (const Slice & col_name,
int64_t val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt64() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt64 (int col_idx,
int64_t val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt8() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt8 (const Slice & col_name,
int8_t val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetInt8() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetInt8 (int col_idx,
int8_t val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetNull() [1/2]

+ +
+
+ + + + + + + + +
Status KuduPartialRow::SetNull (const Slice & col_name)
+
+

Set column value to NULL; the column is identified by its name.

+

This will only succeed on nullable columns. Use Unset() to restore column value to its default.

+
Parameters
+ + +
[in]col_nameName of the target column.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetNull() [2/2]

+ +
+
+ + + + + + + + +
Status KuduPartialRow::SetNull (int col_idx)
+
+

Set column value to NULL; the column is identified by its index.

+

This will only succeed on nullable columns. Use Unset() to restore column value to its default.

+
Parameters
+ + +
[in]col_idxThe index of the target column.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetSerial() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetSerial (const Slice & col_name,
uint64_t val 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetSerial() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetSerial (int col_idx,
uint64_t val 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetString() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetString (const Slice & col_name,
const Slice & val 
)
+
+

Set the binary/string value for a column by name, copying the specified data immediately.

+
Note
The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like KuduPartialRow::SetStringNoCopy() and KuduPartialRow::SetBinaryNoCopy() correspondingly.
+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetString() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetString (int col_idx,
const Slice & val 
)
+
+

Set the binary/string value for a column by index, copying the specified data immediately.

+

These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Note
The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like KuduPartialRow::SetStringNoCopy() and KuduPartialRow::SetBinaryNoCopy() correspondingly.
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetStringCopy() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetStringCopy (const Slice & col_name,
const Slice & val 
)
+
+

Set the binary/string value for a column by name, copying the specified data immediately.

+
Note
The copying behavior is new for these methods starting Kudu 0.10. Prior to Kudu 0.10, these methods behaved like KuduPartialRow::SetStringNoCopy() and KuduPartialRow::SetBinaryNoCopy() correspondingly.
+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetStringCopy() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetStringCopy (int col_idx,
const Slice & val 
)
+
+

Set the binary/string value for a column by index, copying the specified data immediately.

+

These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetStringNoCopy() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetStringNoCopy (const Slice & col_name,
const Slice & val 
)
+
+

Set the binary/string value for a column by name, not copying the specified data.

+
Note
The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).
+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetStringNoCopy() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetStringNoCopy (int col_idx,
const Slice & val 
)
+
+

Set the binary/string value for a column by index, not copying the specified data.

+

These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Note
The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetUnixTimeMicros() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetUnixTimeMicros (const Slice & col_name,
int64_t micros_since_utc_epoch 
)
+
+

Set value for a column by name.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]micros_since_utc_epochThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetUnixTimeMicros() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetUnixTimeMicros (int col_idx,
int64_t micros_since_utc_epoch 
)
+
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]micros_since_utc_epochThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetVarchar() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetVarchar (const Slice & col_name,
const Slice & val 
)
+
+

Set the varchar value for a column by name, copying the specified data immediately.

+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetVarchar() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetVarchar (int col_idx,
const Slice & val 
)
+
+

Set the varchar value for a column by index, copying the specified data immediately.

+

These setters are the same as the corresponding column-name-based setters, but with numeric column indexes. These are faster since they avoid hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetVarcharNoCopyUnsafe() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetVarcharNoCopyUnsafe (const Slice & col_name,
const Slice & val 
)
+
+

This method expects the values to be truncated already and they only do a basic validation that the data is not larger than the maximum column length (as indicated by the schema) multiplied by 4, as that's the upper limit if only 4-byte UTF8 characters are used. This is subject to change in the future.

+
Note
The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).
+
Warning
Unstable API
+
Parameters
+ + + +
[in]col_nameName of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetVarcharNoCopyUnsafe() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status KuduPartialRow::SetVarcharNoCopyUnsafe (int col_idx,
const Slice & val 
)
+
+

This method expects the values to be truncated already and they only do a basic validation that the data is not larger than the maximum column length (as indicated by the schema) multiplied by 4, as that's the upper limit if only 4-byte UTF8 characters are used. This is subject to change in the future.

+

This setter is the same as the corresponding column-name-based setter, but with numeric column indexes. This is faster since it avoids hashmap lookups, so should be preferred in performance-sensitive code (e.g. bulk loaders).

+
Note
The specified data must remain valid until the corresponding RPC calls are completed to be able to access error buffers, if any errors happened (the errors can be fetched using the KuduSession::GetPendingErrors() method).
+
Warning
Unstable API
+
Parameters
+ + + +
[in]col_idxThe index of the target column.
[in]valThe value to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ ToEncodedRowKeyOrDie()

+ +
+
+ + + + + + + +
std::string KuduPartialRow::ToEncodedRowKeyOrDie () const
+
+

Convenience method which is similar to EncodeRowKey.

+

This is equivalent to the EncodeRowKey, but triggers a FATAL error on failure.

+
Returns
The encoded key.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string KuduPartialRow::ToString () const
+
+
Returns
String representation for the partial row.
+ +
+
+ +

◆ Unset() [1/2]

+ +
+
+ + + + + + + + +
Status KuduPartialRow::Unset (const Slice & col_name)
+
+

Unset the given column by name, restoring its default value.

+
Note
This is different from setting it to NULL.
+
Parameters
+ + +
[in]col_nameName of the target column.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ Unset() [2/2]

+ +
+
+ + + + + + + + +
Status KuduPartialRow::Unset (int col_idx)
+
+

Unset the given column by index, restoring its default value.

+
Note
This is different from setting it to NULL.
+
Parameters
+ + +
[in]col_idxThe index of the target column.
+
+
+
Returns
Operation result status.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classes.html b/releases/1.17.1/cpp-client-api/classes.html new file mode 100644 index 0000000000..a70661a247 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classes.html @@ -0,0 +1,101 @@ + + + + + + + +Kudu C++ client API: Class Index + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
A | C | K | M | N | R | S
+
+
+
A
+
AsyncLeaderMasterRpc (kudu::client::internal)
AsyncRandomTxnManagerRpc (kudu::client::internal)
+
+
C
+
CerrLog (kudu::internal_logging)
Slice::Comparator (kudu)
+
+
K
+
KuduBloomFilter (kudu::client)
KuduBloomFilterBuilder (kudu::client)
KuduClient (kudu::client)
KuduClientBuilder (kudu::client)
KuduColumnarScanBatch (kudu::client)
KuduColumnSchema (kudu::client)
KuduColumnSpec (kudu::client)
KuduColumnStorageAttributes (kudu::client)
KuduColumnTypeAttributes (kudu::client)
KuduDelete (kudu::client)
KuduDeleteIgnore (kudu::client)
KuduError (kudu::client)
KuduInsert (kudu::client)
KuduInsertIgnore (kudu::client)
KuduLoggingCallback (kudu::client)
KuduLoggingFunctionCallback (kudu::client)
KuduLoggingMemberCallback (kudu::client)
KuduPartialRow
KuduPartitioner (kudu::client)
KuduPartitionerBuilder (kudu::client)
KuduPredicate (kudu::client)
KuduRangePartition (kudu::client)
KuduReplica (kudu::client)
KuduScanBatch (kudu::client)
KuduScanner (kudu::client)
KuduScanToken (kudu::client)
KuduScanTokenBuilder (kudu::client)
KuduSchema (kudu::client)
KuduSchemaBuilder (kudu::client)
KuduSession (kudu::client)
KuduStatusCallback (kudu::client)
KuduStatusFunctionCallback (kudu::client)
KuduStatusMemberCallback (kudu::client)
KuduTable (kudu::client)
KuduTableAlterer (kudu::client)
KuduTableCreator (kudu::client)
KuduTableStatistics (kudu::client)
KuduTablet (kudu::client)
KuduTabletServer (kudu::client)
KuduTransaction (kudu::client)
KuduUpdate (kudu::client)
KuduUpdateIgnore (kudu::client)
KuduUpsert (kudu::client)
KuduUpsertIgnore (kudu::client)
KuduValue (kudu::client)
KuduWriteOperation (kudu::client)
+
+
M
+
MonoDelta (kudu)
MonoTime (kudu)
+
+
N
+
NullLog (kudu::internal_logging)
+
+
R
+
ResourceMetrics (kudu::client)
+
+
S
+
KuduTransaction::SerializationOptions (kudu::client)
Slice (kudu)
SliceMap (kudu)
Status (kudu)
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1MonoDelta-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoDelta-members.html new file mode 100644 index 0000000000..d6d7ac2ae8 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoDelta-members.html @@ -0,0 +1,106 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::MonoDelta Member List
+
+
+ +

This is the complete list of members for kudu::MonoDelta, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
Equals(const MonoDelta &rhs) constkudu::MonoDelta
FromMicroseconds(int64_t us)kudu::MonoDeltastatic
FromMilliseconds(int64_t ms)kudu::MonoDeltastatic
FromNanoseconds(int64_t ns)kudu::MonoDeltastatic
FromSeconds(double seconds)kudu::MonoDeltastatic
Initialized() constkudu::MonoDelta
LessThan(const MonoDelta &rhs) constkudu::MonoDelta
MonoDelta()kudu::MonoDelta
MoreThan(const MonoDelta &rhs) constkudu::MonoDelta
NanosToTimeSpec(int64_t nanos, struct timespec *ts)kudu::MonoDeltastatic
operator+(const MonoDelta &, const MonoDelta &)kudu::MonoDeltafriend
operator+=(const MonoDelta &delta)kudu::MonoDelta
operator- (defined in kudu::MonoDelta)kudu::MonoDeltafriend
operator-(const MonoDelta &, const MonoDelta &)kudu::MonoDeltafriend
operator-=(const MonoDelta &delta)kudu::MonoDelta
ToMicroseconds() constkudu::MonoDelta
ToMilliseconds() constkudu::MonoDelta
ToNanoseconds() constkudu::MonoDelta
ToSeconds() constkudu::MonoDelta
ToString() constkudu::MonoDelta
ToTimeSpec(struct timespec *ts) constkudu::MonoDelta
ToTimeVal(struct timeval *tv) constkudu::MonoDelta
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1MonoDelta.html b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoDelta.html new file mode 100644 index 0000000000..d2f2f3c38c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoDelta.html @@ -0,0 +1,629 @@ + + + + + + + +Kudu C++ client API: kudu::MonoDelta Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::MonoDelta Class Reference
+
+
+ +

A representation of a time interval. + More...

+ +

#include <monotime.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 MonoDelta ()
 
bool Initialized () const
 
bool LessThan (const MonoDelta &rhs) const
 
bool MoreThan (const MonoDelta &rhs) const
 
bool Equals (const MonoDelta &rhs) const
 
std::string ToString () const
 
void ToTimeVal (struct timeval *tv) const
 
void ToTimeSpec (struct timespec *ts) const
 
Converters into seconds representation (and ubiquitous SI prefixes).
double ToSeconds () const
 
int64_t ToMilliseconds () const
 
int64_t ToMicroseconds () const
 
int64_t ToNanoseconds () const
 
Syntactic sugar: increment/decrement operators for MonoDelta.
MonoDeltaoperator+= (const MonoDelta &delta)
 
MonoDeltaoperator-= (const MonoDelta &delta)
 
+ + + + + + + + + + + + +

+Static Public Member Functions

static void NanosToTimeSpec (int64_t nanos, struct timespec *ts)
 
Converters from seconds representation (and ubiquitous SI prefixes).
static MonoDelta FromSeconds (double seconds)
 
static MonoDelta FromMilliseconds (int64_t ms)
 
static MonoDelta FromMicroseconds (int64_t us)
 
static MonoDelta FromNanoseconds (int64_t ns)
 
+

Detailed Description

+

A representation of a time interval.

+

The MonoDelta class represents an elapsed duration of time – i.e. the delta between two MonoTime instances.

+

Constructor & Destructor Documentation

+ +

◆ MonoDelta()

+ +
+
+ + + + + + + +
kudu::MonoDelta::MonoDelta ()
+
+

Build a MonoDelta object.

+
Note
A MonoDelta instance built with the this default constructor is "uninitialized" and may not be used for any operation.
+ +
+
+

Member Function Documentation

+ +

◆ Equals()

+ +
+
+ + + + + + + + +
bool kudu::MonoDelta::Equals (const MonoDeltarhs) const
+
+

Check whether this time interval has the same duration as the specified one.

+
Parameters
+ + +
[in]rhsA time interval for comparison.
+
+
+
Returns
true iff this time interval has the same duration as the the specified one.
+ +
+
+ +

◆ FromMicroseconds()

+ +
+
+ + + + + +
+ + + + + + + + +
static MonoDelta kudu::MonoDelta::FromMicroseconds (int64_t us)
+
+static
+
+
Parameters
+ + +
[in]usTime interval representation in seconds (with ubiquitous SI prefixes).
+
+
+
Returns
The resulting MonoDelta object initialized in accordance with the specified parameter.
+ +
+
+ +

◆ FromMilliseconds()

+ +
+
+ + + + + +
+ + + + + + + + +
static MonoDelta kudu::MonoDelta::FromMilliseconds (int64_t ms)
+
+static
+
+
Parameters
+ + +
[in]msTime interval representation in seconds (with ubiquitous SI prefixes).
+
+
+
Returns
The resulting MonoDelta object initialized in accordance with the specified parameter.
+ +
+
+ +

◆ FromNanoseconds()

+ +
+
+ + + + + +
+ + + + + + + + +
static MonoDelta kudu::MonoDelta::FromNanoseconds (int64_t ns)
+
+static
+
+
Parameters
+ + +
[in]nsTime interval representation in seconds (with ubiquitous SI prefixes).
+
+
+
Returns
The resulting MonoDelta object initialized in accordance with the specified parameter.
+ +
+
+ +

◆ FromSeconds()

+ +
+
+ + + + + +
+ + + + + + + + +
static MonoDelta kudu::MonoDelta::FromSeconds (double seconds)
+
+static
+
+
Parameters
+ + +
[in]secondsTime interval representation in seconds (with ubiquitous SI prefixes).
+
+
+
Returns
The resulting MonoDelta object initialized in accordance with the specified parameter.
+ +
+
+ +

◆ Initialized()

+ +
+
+ + + + + + + +
bool kudu::MonoDelta::Initialized () const
+
+
Returns
true iff this object is initialized.
+ +
+
+ +

◆ LessThan()

+ +
+
+ + + + + + + + +
bool kudu::MonoDelta::LessThan (const MonoDeltarhs) const
+
+

Check whether this time interval is shorter than the specified one.

+
Parameters
+ + +
[in]rhsA time interval for comparison.
+
+
+
Returns
true iff this time interval is strictly shorter than the specified one.
+ +
+
+ +

◆ MoreThan()

+ +
+
+ + + + + + + + +
bool kudu::MonoDelta::MoreThan (const MonoDeltarhs) const
+
+

Check whether this time interval is longer than the specified one.

+
Parameters
+ + +
[in]rhsA time interval for comparison.
+
+
+
Returns
true iff this time interval is strictly longer than the specified one.
+ +
+
+ +

◆ NanosToTimeSpec()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void kudu::MonoDelta::NanosToTimeSpec (int64_t nanos,
struct timespec * ts 
)
+
+static
+
+

Convert a nanosecond value to a timespec.

+
Parameters
+ + + +
[in]nanosRepresentation of a relative point in time in nanoseconds.
[out]tsPlaceholder for the resulting timespec representation.
+
+
+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + + + + +
MonoDelta& kudu::MonoDelta::operator+= (const MonoDeltadelta)
+
+

Add a delta to current time interval.

+
Parameters
+ + +
[in]deltaThe delta to add.
+
+
+
Returns
Reference to the modified object.
+ +
+
+ +

◆ operator-=()

+ +
+
+ + + + + + + + +
MonoDelta& kudu::MonoDelta::operator-= (const MonoDeltadelta)
+
+

Substract a delta from current time interval.

+
Parameters
+ + +
[in]deltaThe delta to substract.
+
+
+
Returns
Reference to the modified object.
+ +
+
+ +

◆ ToMicroseconds()

+ +
+
+ + + + + + + +
int64_t kudu::MonoDelta::ToMicroseconds () const
+
+
Returns
Representation of the time interval in appropriate SI units.
+ +
+
+ +

◆ ToMilliseconds()

+ +
+
+ + + + + + + +
int64_t kudu::MonoDelta::ToMilliseconds () const
+
+
Returns
Representation of the time interval in appropriate SI units.
+ +
+
+ +

◆ ToNanoseconds()

+ +
+
+ + + + + + + +
int64_t kudu::MonoDelta::ToNanoseconds () const
+
+
Returns
Representation of the time interval in appropriate SI units.
+ +
+
+ +

◆ ToSeconds()

+ +
+
+ + + + + + + +
double kudu::MonoDelta::ToSeconds () const
+
+
Returns
Representation of the time interval in appropriate SI units.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::MonoDelta::ToString () const
+
+
Returns
String representation of this interval's duration (in seconds).
+ +
+
+ +

◆ ToTimeSpec()

+ +
+
+ + + + + + + + +
void kudu::MonoDelta::ToTimeSpec (struct timespec * ts) const
+
+

Represent this time interval as a timespec structure, with nanosecond accuracy.

+
Parameters
+ + +
[out]tsPlaceholder for the result value.
+
+
+ +
+
+ +

◆ ToTimeVal()

+ +
+
+ + + + + + + + +
void kudu::MonoDelta::ToTimeVal (struct timeval * tv) const
+
+

Represent this time interval as a timeval structure, with microsecond accuracy.

+
Parameters
+ + +
[out]tvPlaceholder for the result value.
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1MonoTime-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoTime-members.html new file mode 100644 index 0000000000..5f33363390 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoTime-members.html @@ -0,0 +1,103 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::MonoTime Member List
+
+
+ +

This is the complete list of members for kudu::MonoTime, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
AddDelta(const MonoDelta &delta)kudu::MonoTime
ComesBefore(const MonoTime &rhs) constkudu::MonoTime
Earliest(const MonoTime &a, const MonoTime &b)kudu::MonoTimestatic
Equals(const MonoTime &other) constkudu::MonoTime
GetDeltaSince(const MonoTime &rhs) constkudu::MonoTime
Initialized() constkudu::MonoTime
kMicrosecondsPerSecondkudu::MonoTimestatic
kNanosecondsPerMicrosecondkudu::MonoTimestatic
kNanosecondsPerMillisecondkudu::MonoTimestatic
kNanosecondsPerSecondkudu::MonoTimestatic
Max()kudu::MonoTimestatic
Min()kudu::MonoTimestatic
MonoTime() KUDU_MONOTIME_NOEXCEPTkudu::MonoTime
Now()kudu::MonoTimestatic
operator+=(const MonoDelta &delta)kudu::MonoTime
operator-(const MonoTime &, const MonoTime &)kudu::MonoTimefriend
operator-=(const MonoDelta &delta)kudu::MonoTime
ToString() constkudu::MonoTime
ToTimeSpec(struct timespec *ts) constkudu::MonoTime
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1MonoTime.html b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoTime.html new file mode 100644 index 0000000000..ae5ad89382 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1MonoTime.html @@ -0,0 +1,515 @@ + + + + + + + +Kudu C++ client API: kudu::MonoTime Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::MonoTime Class Reference
+
+
+ +

Representation of a particular point in time. + More...

+ +

#include <monotime.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 MonoTime () KUDU_MONOTIME_NOEXCEPT
 
bool Initialized () const
 
MonoDelta GetDeltaSince (const MonoTime &rhs) const
 
void AddDelta (const MonoDelta &delta)
 
bool ComesBefore (const MonoTime &rhs) const
 
std::string ToString () const
 
void ToTimeSpec (struct timespec *ts) const
 
bool Equals (const MonoTime &other) const
 
Syntactic sugar: increment/decrement operators for MonoTime.
MonoTimeoperator+= (const MonoDelta &delta)
 
MonoTimeoperator-= (const MonoDelta &delta)
 
+ + + + + + + + + +

+Static Public Member Functions

static MonoTime Now ()
 
static MonoTime Max ()
 
static MonoTime Min ()
 
static const MonoTimeEarliest (const MonoTime &a, const MonoTime &b)
 
+ + + + + + + + + + + + + + +

+Static Public Attributes

Conversion constants for ubiquitous time units.
+static const int64_t kNanosecondsPerSecond = 1000000000L
 Nanoseconds per second.
 
+static const int64_t kNanosecondsPerMillisecond = 1000000L
 Nanoseconds per millisecond.
 
+static const int64_t kNanosecondsPerMicrosecond = 1000L
 Nanoseconds per microseconds.
 
+static const int64_t kMicrosecondsPerSecond = 1000000L
 Microseconds per second.
 
+

Detailed Description

+

Representation of a particular point in time.

+

The MonoTime class represents a particular point in time, relative to some fixed but unspecified reference point.

+

This time is monotonic, meaning that if the user changes his or her system clock, the monotime does not change.

+

Constructor & Destructor Documentation

+ +

◆ MonoTime()

+ +
+
+ + + + + + + +
kudu::MonoTime::MonoTime ()
+
+

Build a MonoTime object. The resulting object is not initialized and not ready to use.

+ +
+
+

Member Function Documentation

+ +

◆ AddDelta()

+ +
+
+ + + + + + + + +
void kudu::MonoTime::AddDelta (const MonoDeltadelta)
+
+

Advance this object's time specification by the specified interval.

+
Parameters
+ + +
[in]deltaThe time interval to add.
+
+
+ +
+
+ +

◆ ComesBefore()

+ +
+
+ + + + + + + + +
bool kudu::MonoTime::ComesBefore (const MonoTimerhs) const
+
+

Check whether the point in time specified by this object is earlier than the specified one.

+
Parameters
+ + +
[in]rhsThe other MonoTime object to compare with.
+
+
+
Returns
true iff the point in time represented by this MonoTime object is earlier then the point in time represented by the parameter.
+ +
+
+ +

◆ Earliest()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static const MonoTime& kudu::MonoTime::Earliest (const MonoTimea,
const MonoTimeb 
)
+
+static
+
+

Select the earliest between the specified time points.

+
Deprecated:
Use use std::min() instead.
+
Parameters
+ + + +
[in]aThe first MonoTime object to select from.
[in]bThe second MonoTime object to select from.
+
+
+
Returns
The earliest (minimum) of the two monotimes.
+ +
+
+ +

◆ Equals()

+ +
+
+ + + + + + + + +
bool kudu::MonoTime::Equals (const MonoTimeother) const
+
+

Check whether this object represents the same point in time as the other.

+
Parameters
+ + +
[in]otherThe other MonoTime object to compare.
+
+
+
Returns
true iff the point in time represented by this MonoTime object is the same as the one represented by the other.
+ +
+
+ +

◆ GetDeltaSince()

+ +
+
+ + + + + + + + +
MonoDelta kudu::MonoTime::GetDeltaSince (const MonoTimerhs) const
+
+

Compute time interval between the point in time specified by this and the specified object.

+
Deprecated:
Use kudu::operator-(const MonoTime&, const MonoTime&) instead.
+
Parameters
+ + +
[in]rhsThe object that corresponds to the left boundary of the time interval, where this object corresponds to the right boundary of the interval.
+
+
+
Returns
The resulting time interval represented as a MonoDelta object.
+ +
+
+ +

◆ Initialized()

+ +
+
+ + + + + + + +
bool kudu::MonoTime::Initialized () const
+
+
Returns
true iff the object is initialized.
+ +
+
+ +

◆ Max()

+ +
+
+ + + + + +
+ + + + + + + +
static MonoTime kudu::MonoTime::Max ()
+
+static
+
+
Returns
MonoTime equal to farthest possible time into the future.
+ +
+
+ +

◆ Min()

+ +
+
+ + + + + +
+ + + + + + + +
static MonoTime kudu::MonoTime::Min ()
+
+static
+
+
Returns
MonoTime equal to farthest possible time into the past.
+ +
+
+ +

◆ Now()

+ +
+
+ + + + + +
+ + + + + + + +
static MonoTime kudu::MonoTime::Now ()
+
+static
+
+

Get current time in MonoTime representation.

+
Returns
Time specification for the moment of the method's invocation.
+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + + + + +
MonoTime& kudu::MonoTime::operator+= (const MonoDeltadelta)
+
+

Add a delta to the point in time represented by the object.

+
Parameters
+ + +
[in]deltaThe delta to add.
+
+
+
Returns
Reference to the modified object.
+ +
+
+ +

◆ operator-=()

+ +
+
+ + + + + + + + +
MonoTime& kudu::MonoTime::operator-= (const MonoDeltadelta)
+
+

Substract a delta from the point in time represented by the object.

+
Parameters
+ + +
[in]deltaThe delta to substract.
+
+
+
Returns
Reference to the modified object.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::MonoTime::ToString () const
+
+
Returns
String representation of the object (in seconds).
+ +
+
+ +

◆ ToTimeSpec()

+ +
+
+ + + + + + + + +
void kudu::MonoTime::ToTimeSpec (struct timespec * ts) const
+
+

Represent this point in time as a timespec structure, with nanosecond accuracy.

+
Parameters
+ + +
[out]tsPlaceholder for the result value.
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1Slice-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1Slice-members.html new file mode 100644 index 0000000000..00134a403a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1Slice-members.html @@ -0,0 +1,104 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::Slice Member List
+
+
+ +

This is the complete list of members for kudu::Slice, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
check_size(size_t expected_size) constkudu::Slice
clear()kudu::Sliceinline
compare(const Slice &b) constkudu::Sliceinline
data() constkudu::Sliceinline
empty() constkudu::Sliceinline
mutable_data()kudu::Sliceinline
operator==(const Slice &x, const Slice &y)kudu::Slicefriend
operator[](size_t n) constkudu::Sliceinline
relocate(uint8_t *d)kudu::Sliceinline
remove_prefix(size_t n)kudu::Sliceinline
size() constkudu::Sliceinline
Slice()kudu::Sliceinline
Slice(const uint8_t *d, size_t n)kudu::Sliceinline
Slice(const char *d, size_t n)kudu::Sliceinline
Slice(const std::string &s)kudu::Sliceinline
Slice(const char *s)kudu::Sliceinline
starts_with(const Slice &x) constkudu::Sliceinline
ToDebugString(size_t max_len=0) constkudu::Slice
ToString() constkudu::Slice
truncate(size_t n)kudu::Sliceinline
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1Slice.html b/releases/1.17.1/cpp-client-api/classkudu_1_1Slice.html new file mode 100644 index 0000000000..601a587c3b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1Slice.html @@ -0,0 +1,689 @@ + + + + + + + +Kudu C++ client API: kudu::Slice Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Public Member Functions | +List of all members
+
+
kudu::Slice Class Reference
+
+
+ +

A wrapper around externally allocated data. + More...

+ +

#include <slice.h>

+ + + + + +

+Classes

struct  Comparator
 Comparator struct, useful for ordered collections (like STL maps). More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Slice ()
 Create an empty slice.
 
 Slice (const uint8_t *d, size_t n)
 
 Slice (const char *d, size_t n)
 
 Slice (const std::string &s)
 
 Slice (const char *s)
 
const uint8_t * data () const
 
uint8_t * mutable_data ()
 
size_t size () const
 
bool empty () const
 
const uint8_t & operator[] (size_t n) const
 
+void clear ()
 Change this slice to refer to an empty array.
 
void remove_prefix (size_t n)
 
void truncate (size_t n)
 
Status check_size (size_t expected_size) const
 
std::string ToString () const
 
std::string ToDebugString (size_t max_len=0) const
 
int compare (const Slice &b) const
 
bool starts_with (const Slice &x) const
 
void relocate (uint8_t *d)
 
+

Detailed Description

+

A wrapper around externally allocated data.

+

Slice is a simple structure containing a pointer into some external storage and a size. The user of a Slice must ensure that the slice is not used after the corresponding external storage has been deallocated.

+

Multiple threads can invoke const methods on a Slice without external synchronization, but if any of the threads may call a non-const method, all threads accessing the same Slice must use external synchronization.

+

Slices can be built around faststrings and StringPieces using constructors with implicit casts. Both StringPieces and faststrings depend on a great deal of gutil code.

+

Constructor & Destructor Documentation

+ +

◆ Slice() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
kudu::Slice::Slice (const uint8_t * d,
size_t n 
)
+
+inline
+
+

Create a slice that refers to a uint8_t byte array.

+
Parameters
+ + + +
[in]dThe input array.
[in]nNumber of bytes in the array.
+
+
+ +
+
+ +

◆ Slice() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
kudu::Slice::Slice (const char * d,
size_t n 
)
+
+inline
+
+

Create a slice that refers to a char byte array.

+
Parameters
+ + + +
[in]dThe input array.
[in]nNumber of bytes in the array.
+
+
+ +
+
+ +

◆ Slice() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::Slice::Slice (const std::string & s)
+
+inline
+
+

Create a slice that refers to the contents of the given string.

+
Parameters
+ + +
[in]sThe input string.
+
+
+ +
+
+ +

◆ Slice() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::Slice::Slice (const char * s)
+
+inline
+
+

Create a slice that refers to a C-string s[0,strlen(s)-1].

+
Parameters
+ + +
[in]sThe input C-string.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ check_size()

+ +
+
+ + + + + + + + +
Status kudu::Slice::check_size (size_t expected_size) const
+
+

Check that the slice has the expected size.

+
Parameters
+ + +
[in]expected_size
+
+
+
Returns
Status::Corruption() iff size() != expected_size
+ +
+
+ +

◆ compare()

+ +
+
+ + + + + +
+ + + + + + + + +
int kudu::Slice::compare (const Sliceb) const
+
+inline
+
+

Do a three-way comparison of the slice's data.

+
Parameters
+ + +
[in]bThe other slice to compare with.
+
+
+
Returns
Values are
    +
  • < 0 iff "*this" < "b"
  • +
  • == 0 iff "*this" == "b"
  • +
  • > 0 iff "*this" > "b"
  • +
+
+ +
+
+ +

◆ data()

+ +
+
+ + + + + +
+ + + + + + + +
const uint8_t* kudu::Slice::data () const
+
+inline
+
+
Returns
A pointer to the beginning of the referenced data.
+ +
+
+ +

◆ empty()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Slice::empty () const
+
+inline
+
+
Returns
true iff the length of the referenced data is zero.
+ +
+
+ +

◆ mutable_data()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t* kudu::Slice::mutable_data ()
+
+inline
+
+
Returns
A mutable pointer to the beginning of the referenced data.
+ +
+
+ +

◆ operator[]()

+ +
+
+ + + + + +
+ + + + + + + + +
const uint8_t& kudu::Slice::operator[] (size_t n) const
+
+inline
+
+
Precondition
n < size()
+
Parameters
+ + +
[in]nThe index of the byte.
+
+
+
Returns
the n-th byte in the referenced data.
+ +
+
+ +

◆ relocate()

+ +
+
+ + + + + +
+ + + + + + + + +
void kudu::Slice::relocate (uint8_t * d)
+
+inline
+
+

Relocate/copy the slice's data into a new location.

+
Parameters
+ + +
[in]dThe new location for the data. If it's the same location, then no relocation is done. It is assumed that the new location is large enough to fit the data.
+
+
+ +
+
+ +

◆ remove_prefix()

+ +
+
+ + + + + +
+ + + + + + + + +
void kudu::Slice::remove_prefix (size_t n)
+
+inline
+
+

Drop the first "n" bytes from this slice.

+
Precondition
n <= size()
+
Note
Only the base and bounds of the slice are changed; the data is not modified.
+
Parameters
+ + +
[in]nNumber of bytes that should be dropped from the beginning.
+
+
+ +
+
+ +

◆ size()

+ +
+
+ + + + + +
+ + + + + + + +
size_t kudu::Slice::size () const
+
+inline
+
+
Returns
The length (in bytes) of the referenced data.
+ +
+
+ +

◆ starts_with()

+ +
+
+ + + + + +
+ + + + + + + + +
bool kudu::Slice::starts_with (const Slicex) const
+
+inline
+
+

Check whether the slice starts with the given prefix.

Parameters
+ + +
[in]xThe slice in question.
+
+
+
Returns
true iff "x" is a prefix of "*this"
+ +
+
+ +

◆ ToDebugString()

+ +
+
+ + + + + + + + +
std::string kudu::Slice::ToDebugString (size_t max_len = 0) const
+
+

Get printable representation of the data in the slice.

+
Parameters
+ + +
[in]max_lenThe maximum number of bytes to output in the printable format; 0 means no limit.
+
+
+
Returns
A string with printable representation of the data.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::Slice::ToString () const
+
+
Returns
A string that contains a copy of the referenced data.
+ +
+
+ +

◆ truncate()

+ +
+
+ + + + + +
+ + + + + + + + +
void kudu::Slice::truncate (size_t n)
+
+inline
+
+

Truncate the slice to the given number of bytes.

+
Precondition
n <= size()
+
Note
Only the base and bounds of the slice are changed; the data is not modified.
+
Parameters
+ + +
[in]nThe new size of the slice.
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1Status-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1Status-members.html new file mode 100644 index 0000000000..84e72d79af --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1Status-members.html @@ -0,0 +1,137 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::Status Member List
+
+
+ +

This is the complete list of members for kudu::Status, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Aborted(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
AlreadyPresent(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
CloneAndAppend(const Slice &msg) constkudu::Status
CloneAndPrepend(const Slice &msg) constkudu::Status
CodeAsString() constkudu::Status
ConfigurationError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
Corruption(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
EndOfFile(const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)kudu::Statusinlinestatic
IllegalState(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
Immutable(const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)kudu::Statusinlinestatic
Incomplete(const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)kudu::Statusinlinestatic
InvalidArgument(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
IOError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
IsAborted() constkudu::Statusinline
IsAlreadyPresent() constkudu::Statusinline
IsConfigurationError() constkudu::Statusinline
IsCorruption() constkudu::Statusinline
IsDiskFailure() constkudu::Statusinline
IsEndOfFile() constkudu::Statusinline
IsIllegalState() constkudu::Statusinline
IsImmutable() constkudu::Statusinline
IsIncomplete() constkudu::Statusinline
IsInvalidArgument() constkudu::Statusinline
IsIOError() constkudu::Statusinline
IsNetworkError() constkudu::Statusinline
IsNotAuthorized() constkudu::Statusinline
IsNotFound() constkudu::Statusinline
IsNotSupported() constkudu::Statusinline
IsRemoteError() constkudu::Statusinline
IsRuntimeError() constkudu::Statusinline
IsServiceUnavailable() constkudu::Statusinline
IsTimedOut() constkudu::Statusinline
IsUninitialized() constkudu::Statusinline
memory_footprint_excluding_this() constkudu::Status
memory_footprint_including_this() constkudu::Status
message() constkudu::Status
NetworkError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
NotAuthorized(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
NotFound(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
NotSupported(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
ok() constkudu::Statusinline
OK()kudu::Statusinlinestatic
operator=(const Status &s)kudu::Statusinline
posix_code() constkudu::Status
RemoteError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
RuntimeError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
ServiceUnavailable(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
Status()kudu::Statusinline
Status(const Status &s)kudu::Statusinline
TimedOut(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
ToString() constkudu::Status
Uninitialized(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)kudu::Statusinlinestatic
~Status() (defined in kudu::Status)kudu::Statusinline
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1Status.html b/releases/1.17.1/cpp-client-api/classkudu_1_1Status.html new file mode 100644 index 0000000000..ef1a73fb57 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1Status.html @@ -0,0 +1,1983 @@ + + + + + + + +Kudu C++ client API: kudu::Status Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::Status Class Reference
+
+
+ +

A representation of an operation's outcome. + More...

+ +

#include <status.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Status ()
 Create an object representing success status.
 
 Status (const Status &s)
 
Statusoperator= (const Status &s)
 
bool ok () const
 
bool IsNotFound () const
 
bool IsCorruption () const
 
bool IsNotSupported () const
 
bool IsIOError () const
 
bool IsInvalidArgument () const
 
bool IsAlreadyPresent () const
 
bool IsRuntimeError () const
 
bool IsNetworkError () const
 
bool IsIllegalState () const
 
bool IsNotAuthorized () const
 
bool IsAborted () const
 
bool IsRemoteError () const
 
bool IsServiceUnavailable () const
 
bool IsTimedOut () const
 
bool IsUninitialized () const
 
bool IsConfigurationError () const
 
bool IsIncomplete () const
 
bool IsEndOfFile () const
 
bool IsImmutable () const
 
bool IsDiskFailure () const
 
std::string ToString () const
 
std::string CodeAsString () const
 
Slice message () const
 
int16_t posix_code () const
 
Status CloneAndPrepend (const Slice &msg) const
 
Status CloneAndAppend (const Slice &msg) const
 
size_t memory_footprint_excluding_this () const
 
size_t memory_footprint_including_this () const
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static Status OK ()
 
Methods to build status objects for various types of errors.
static Status NotFound (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status Corruption (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status NotSupported (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status InvalidArgument (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status IOError (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status AlreadyPresent (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status RuntimeError (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status NetworkError (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status IllegalState (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status NotAuthorized (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status Aborted (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status RemoteError (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status ServiceUnavailable (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status TimedOut (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status Uninitialized (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status ConfigurationError (const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
 
static Status Incomplete (const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)
 
static Status EndOfFile (const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)
 
static Status Immutable (const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)
 
+

Detailed Description

+

A representation of an operation's outcome.

+

Constructor & Destructor Documentation

+ +

◆ Status()

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::Status::Status (const Statuss)
+
+inline
+
+

Copy the specified status.

+
Parameters
+ + +
[in]sThe status object to copy from.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Aborted()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::Aborted (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ AlreadyPresent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::AlreadyPresent (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ CloneAndAppend()

+ +
+
+ + + + + + + + +
Status kudu::Status::CloneAndAppend (const Slicemsg) const
+
+

Clone this status and add the specified suffix to the message.

+

If this status is OK, then an OK status will be returned.

+
Parameters
+ + +
[in]msgThe message to append.
+
+
+
Returns
A new Status object with the same state plus an additional trailing message.
+ +
+
+ +

◆ CloneAndPrepend()

+ +
+
+ + + + + + + + +
Status kudu::Status::CloneAndPrepend (const Slicemsg) const
+
+

Clone this status and add the specified prefix to the message.

+

If this status is OK, then an OK status will be returned.

+
Parameters
+ + +
[in]msgThe message to prepend.
+
+
+
Returns
A new Status object with the same state plus an additional leading message.
+ +
+
+ +

◆ CodeAsString()

+ +
+
+ + + + + + + +
std::string kudu::Status::CodeAsString () const
+
+
Returns
A string representation of the status code, without the message text or POSIX code information.
+ +
+
+ +

◆ ConfigurationError()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::ConfigurationError (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ Corruption()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::Corruption (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ EndOfFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::EndOfFile (const Slicemsg,
const Slicemsg2 = Slice(),
int64_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ IllegalState()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::IllegalState (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ Immutable()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::Immutable (const Slicemsg,
const Slicemsg2 = Slice(),
int64_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ Incomplete()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::Incomplete (const Slicemsg,
const Slicemsg2 = Slice(),
int64_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ InvalidArgument()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::InvalidArgument (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ IOError()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::IOError (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ IsAborted()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsAborted () const
+
+inline
+
+
Returns
true iff the status indicates an Aborted error.
+ +
+
+ +

◆ IsAlreadyPresent()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsAlreadyPresent () const
+
+inline
+
+
Returns
true iff the status indicates an AlreadyPresent error.
+ +
+
+ +

◆ IsConfigurationError()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsConfigurationError () const
+
+inline
+
+
Returns
true iff the status indicates ConfigurationError.
+ +
+
+ +

◆ IsCorruption()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsCorruption () const
+
+inline
+
+
Returns
true iff the status indicates a Corruption error.
+ +
+
+ +

◆ IsDiskFailure()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsDiskFailure () const
+
+inline
+
+
Returns
true iff the status indicates a disk failure.
+ +
+
+ +

◆ IsEndOfFile()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsEndOfFile () const
+
+inline
+
+
Returns
true iff the status indicates end of file.
+ +
+
+ +

◆ IsIllegalState()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsIllegalState () const
+
+inline
+
+
Returns
true iff the status indicates an IllegalState error.
+ +
+
+ +

◆ IsImmutable()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsImmutable () const
+
+inline
+
+
Returns
true iff the status indicates immutable.
+ +
+
+ +

◆ IsIncomplete()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsIncomplete () const
+
+inline
+
+
Returns
true iff the status indicates Incomplete.
+ +
+
+ +

◆ IsInvalidArgument()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsInvalidArgument () const
+
+inline
+
+
Returns
true iff the status indicates an InvalidArgument error.
+ +
+
+ +

◆ IsIOError()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsIOError () const
+
+inline
+
+
Returns
true iff the status indicates an IOError.
+ +
+
+ +

◆ IsNetworkError()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsNetworkError () const
+
+inline
+
+
Returns
true iff the status indicates a NetworkError.
+ +
+
+ +

◆ IsNotAuthorized()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsNotAuthorized () const
+
+inline
+
+
Returns
true iff the status indicates a NotAuthorized error.
+ +
+
+ +

◆ IsNotFound()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsNotFound () const
+
+inline
+
+
Returns
true iff the status indicates a NotFound error.
+ +
+
+ +

◆ IsNotSupported()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsNotSupported () const
+
+inline
+
+
Returns
true iff the status indicates a NotSupported error.
+ +
+
+ +

◆ IsRemoteError()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsRemoteError () const
+
+inline
+
+
Returns
true iff the status indicates a RemoteError.
+ +
+
+ +

◆ IsRuntimeError()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsRuntimeError () const
+
+inline
+
+
Returns
true iff the status indicates a RuntimeError.
+ +
+
+ +

◆ IsServiceUnavailable()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsServiceUnavailable () const
+
+inline
+
+
Returns
true iff the status indicates ServiceUnavailable.
+ +
+
+ +

◆ IsTimedOut()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsTimedOut () const
+
+inline
+
+
Returns
true iff the status indicates TimedOut.
+ +
+
+ +

◆ IsUninitialized()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::IsUninitialized () const
+
+inline
+
+
Returns
true iff the status indicates Uninitialized.
+ +
+
+ +

◆ memory_footprint_excluding_this()

+ +
+
+ + + + + + + +
size_t kudu::Status::memory_footprint_excluding_this () const
+
+
Returns
The memory usage of this object without the object itself. Should be used when embedded inside another object.
+ +
+
+ +

◆ memory_footprint_including_this()

+ +
+
+ + + + + + + +
size_t kudu::Status::memory_footprint_including_this () const
+
+
Returns
The memory usage of this object including the object itself. Should be used when allocated on the heap.
+ +
+
+ +

◆ message()

+ +
+
+ + + + + + + +
Slice kudu::Status::message () const
+
+

This is similar to ToString, except that it does not include the stringified error code or POSIX code.

+
Note
The returned Slice is only valid as long as this Status object remains live and unchanged.
+
Returns
The message portion of the Status. For OK statuses, this returns an empty string.
+ +
+
+ +

◆ NetworkError()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::NetworkError (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ NotAuthorized()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::NotAuthorized (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ NotFound()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::NotFound (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ NotSupported()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::NotSupported (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ OK()

+ +
+
+ + + + + +
+ + + + + + + +
static Status kudu::Status::OK ()
+
+inlinestatic
+
+
Returns
A success status.
+ +
+
+ +

◆ ok()

+ +
+
+ + + + + +
+ + + + + + + +
bool kudu::Status::ok () const
+
+inline
+
+
Returns
true iff the status indicates success.
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + +
+ + + + + + + + +
Status & kudu::Status::operator= (const Statuss)
+
+inline
+
+

Assign the specified status.

+
Parameters
+ + +
[in]sThe status object to assign from.
+
+
+
Returns
The reference to the modified object.
+ +
+
+ +

◆ posix_code()

+ +
+
+ + + + + + + +
int16_t kudu::Status::posix_code () const
+
+
Returns
The POSIX code associated with this Status object, or -1 if there is none.
+ +
+
+ +

◆ RemoteError()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::RemoteError (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ RuntimeError()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::RuntimeError (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ ServiceUnavailable()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::ServiceUnavailable (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ TimedOut()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::TimedOut (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::Status::ToString () const
+
+
Returns
A string representation of this status suitable for printing. Returns the string "OK" for success.
+ +
+
+ +

◆ Uninitialized()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::Status::Uninitialized (const Slicemsg,
const Slicemsg2 = Slice(),
int16_t posix_code = -1 
)
+
+inlinestatic
+
+
Parameters
+ + + + +
[in]msgThe informational message on the error.
[in]msg2Additional information on the error (optional).
[in]posix_codePOSIX error code, if applicable (optional).
+
+
+
Returns
The error status of an appropriate type.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html new file mode 100644 index 0000000000..0b958623d6 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter-members.html @@ -0,0 +1,86 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduBloomFilter Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduBloomFilter, including all inherited members.

+ + + +
Insert(const Slice &key)kudu::client::KuduBloomFilter
~KuduBloomFilter() (defined in kudu::client::KuduBloomFilter)kudu::client::KuduBloomFilter
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html new file mode 100644 index 0000000000..2f953aad59 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilter.html @@ -0,0 +1,129 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduBloomFilter Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduBloomFilter Class Reference
+
+
+ +

Bloom filter to be used with IN Bloom filter predicate. + More...

+ +

#include <scan_predicate.h>

+ + + + +

+Public Member Functions

void Insert (const Slice &key)
 
+

Detailed Description

+

Bloom filter to be used with IN Bloom filter predicate.

+

A Bloom filter is a space-efficient probabilistic data-structure used to test set membership with a possibility of false positive matches.

+

Create a new KuduBloomFilter using KuduBloomFilterBuilder class and populate column values that need to be scanned using KuduBloomFilter::Insert() function.

+

Supply the populated KuduBloomFilter to KuduTable::NewInBloomFilterPredicate() to create an IN Bloom filter predicate.

+

Member Function Documentation

+ +

◆ Insert()

+ +
+
+ + + + + + + + +
void kudu::client::KuduBloomFilter::Insert (const Slicekey)
+
+

Insert key to the Bloom filter.

+
Parameters
+ + +
[in]keyColumn value as a Slice to insert into the Bloom filter.
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html new file mode 100644 index 0000000000..e39787756d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder-members.html @@ -0,0 +1,90 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduBloomFilterBuilder Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduBloomFilterBuilder, including all inherited members.

+ + + + + + + +
Build(KuduBloomFilter **bloom_filter)kudu::client::KuduBloomFilterBuilder
false_positive_probability(double fpp)kudu::client::KuduBloomFilterBuilder
hash_algorithm(HashAlgorithm hash_algorithm)kudu::client::KuduBloomFilterBuilder
hash_seed(uint32_t hash_seed)kudu::client::KuduBloomFilterBuilder
KuduBloomFilterBuilder(size_t num_keys)kudu::client::KuduBloomFilterBuilderexplicit
~KuduBloomFilterBuilder() (defined in kudu::client::KuduBloomFilterBuilder)kudu::client::KuduBloomFilterBuilder
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html new file mode 100644 index 0000000000..d62fbbb22a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduBloomFilterBuilder.html @@ -0,0 +1,244 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduBloomFilterBuilder Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduBloomFilterBuilder Class Reference
+
+
+ +

Builder class to help build KuduBloomFilter to be used with IN Bloom filter predicate. + More...

+ +

#include <scan_predicate.h>

+ + + + + + + + + + + + +

+Public Member Functions

 KuduBloomFilterBuilder (size_t num_keys)
 
KuduBloomFilterBuilderfalse_positive_probability (double fpp)
 
KuduBloomFilterBuilderhash_algorithm (HashAlgorithm hash_algorithm)
 
KuduBloomFilterBuilderhash_seed (uint32_t hash_seed)
 
Status Build (KuduBloomFilter **bloom_filter)
 
+

Detailed Description

+

Builder class to help build KuduBloomFilter to be used with IN Bloom filter predicate.

+

Constructor & Destructor Documentation

+ +

◆ KuduBloomFilterBuilder()

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::client::KuduBloomFilterBuilder::KuduBloomFilterBuilder (size_t num_keys)
+
+explicit
+
+
Parameters
+ + +
[in]num_keysExpected number of elements to be inserted in the Bloom filter.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Build()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduBloomFilterBuilder::Build (KuduBloomFilter ** bloom_filter)
+
+

Build a new Bloom filter to be used with IN Bloom filter predicate.

+
Parameters
+ + +
[out]bloom_filterOn success, the created Bloom filter raw pointer. Caller owns the Bloom filter until it's passed to KuduTable::NewInBloomFilterPredicate().
+
+
+
Returns
On success, Status::OK() with the created Bloom filter in bloom_filter output parameter. On failure to allocate memory or invalid arguments, corresponding error status.
+ +
+
+ +

◆ false_positive_probability()

+ +
+
+ + + + + + + + +
KuduBloomFilterBuilder& kudu::client::KuduBloomFilterBuilder::false_positive_probability (double fpp)
+
+
Parameters
+ + +
[in]fppDesired false positive probability between 0.0 and 1.0. If not provided, defaults to 0.01.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ hash_algorithm()

+ +
+
+ + + + + + + + +
KuduBloomFilterBuilder& kudu::client::KuduBloomFilterBuilder::hash_algorithm (HashAlgorithm hash_algorithm)
+
+
Parameters
+ + +
[in]hash_algorithmHash algorithm used to hash keys before inserting to the Bloom filter. If not provided, defaults to FAST_HASH.
+
+
+
Note
Currently only FAST_HASH is supported.
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ hash_seed()

+ +
+
+ + + + + + + + +
KuduBloomFilterBuilder& kudu::client::KuduBloomFilterBuilder::hash_seed (uint32_t hash_seed)
+
+
Parameters
+ + +
[in]hash_seedSeed used with hash algorithm to hash the keys before inserting to the Bloom filter. If not provided, defaults to 0.
+
+
+
Returns
Reference to the updated object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html new file mode 100644 index 0000000000..2178578e9f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient-members.html @@ -0,0 +1,111 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduClient Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduClient, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CLOSEST_REPLICA enum valuekudu::client::KuduClient
connection_negotiation_timeout() constkudu::client::KuduClient
default_admin_operation_timeout() constkudu::client::KuduClient
default_rpc_timeout() constkudu::client::KuduClient
DeleteTable(const std::string &table_name)kudu::client::KuduClient
ExportAuthenticationCredentials(std::string *authn_creds) constkudu::client::KuduClient
FIRST_REPLICA enum valuekudu::client::KuduClient
GetLatestObservedTimestamp() constkudu::client::KuduClient
GetTableSchema(const std::string &table_name, KuduSchema *schema)kudu::client::KuduClient
IsAlterTableInProgress(const std::string &table_name, bool *alter_in_progress)kudu::client::KuduClient
IsCreateTableInProgress(const std::string &table_name, bool *create_in_progress)kudu::client::KuduClient
IsMultiMaster() constkudu::client::KuduClient
kNoTimestampkudu::client::KuduClientstatic
LEADER_ONLY enum valuekudu::client::KuduClient
ListSoftDeletedTables(std::vector< std::string > *tables, const std::string &filter="")kudu::client::KuduClient
ListTables(std::vector< std::string > *tables, const std::string &filter="")kudu::client::KuduClient
ListTabletServers(std::vector< KuduTabletServer * > *tablet_servers)kudu::client::KuduClient
NewSession()kudu::client::KuduClient
NewTableAlterer(const std::string &table_name)kudu::client::KuduClient
NewTableCreator()kudu::client::KuduClient
NewTransaction(sp::shared_ptr< KuduTransaction > *txn) WARN_UNUSED_RESULTkudu::client::KuduClient
OpenTable(const std::string &table_name, sp::shared_ptr< KuduTable > *table)kudu::client::KuduClient
ReplicaSelection enum namekudu::client::KuduClient
SetLatestObservedTimestamp(uint64_t ht_timestamp)kudu::client::KuduClient
SoftDeleteTable(const std::string &table_name, uint32_t reserve_seconds=0)kudu::client::KuduClient
TableExists(const std::string &table_name, bool *exists)kudu::client::KuduClient
~KuduClient() (defined in kudu::client::KuduClient)kudu::client::KuduClient
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient.html new file mode 100644 index 0000000000..4422e4906b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient.html @@ -0,0 +1,821 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduClient Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Static Public Attributes | +List of all members
+
+
kudu::client::KuduClient Class Reference
+
+
+ +

A handle for a connection to a cluster. + More...

+ +

#include <client.h>

+
+Inheritance diagram for kudu::client::KuduClient:
+
+
+ +
+ + + + + +

+Public Types

enum  ReplicaSelection { LEADER_ONLY +, CLOSEST_REPLICA +, FIRST_REPLICA + }
 Policy with which to choose amongst multiple replicas. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

KuduTableCreatorNewTableCreator ()
 
Status IsCreateTableInProgress (const std::string &table_name, bool *create_in_progress)
 
Status DeleteTable (const std::string &table_name)
 
Status SoftDeleteTable (const std::string &table_name, uint32_t reserve_seconds=0)
 
KuduTableAltererNewTableAlterer (const std::string &table_name)
 
Status IsAlterTableInProgress (const std::string &table_name, bool *alter_in_progress)
 
Status GetTableSchema (const std::string &table_name, KuduSchema *schema)
 
Status ListTabletServers (std::vector< KuduTabletServer * > *tablet_servers)
 
Status ListTables (std::vector< std::string > *tables, const std::string &filter="")
 
Status ListSoftDeletedTables (std::vector< std::string > *tables, const std::string &filter="")
 
Status TableExists (const std::string &table_name, bool *exists)
 
Status OpenTable (const std::string &table_name, sp::shared_ptr< KuduTable > *table)
 
sp::shared_ptr< KuduSessionNewSession ()
 
Status NewTransaction (sp::shared_ptr< KuduTransaction > *txn) WARN_UNUSED_RESULT
 
bool IsMultiMaster () const
 
const MonoDeltadefault_admin_operation_timeout () const
 
const MonoDeltadefault_rpc_timeout () const
 
MonoDelta connection_negotiation_timeout () const
 
uint64_t GetLatestObservedTimestamp () const
 
void SetLatestObservedTimestamp (uint64_t ht_timestamp)
 
Status ExportAuthenticationCredentials (std::string *authn_creds) const
 
+ + + +

+Static Public Attributes

static const uint64_t kNoTimestamp
 
+

Detailed Description

+

A handle for a connection to a cluster.

+

The KuduClient class represents a connection to a cluster. From the user perspective, they should only need to create one of these in their application, likely a singleton – but it is not a singleton in Kudu in any way. Different KuduClient objects do not interact with each other – no connection pooling, etc. With the exception of common properties managed by free (non-member) functions in the kudu::client namespace, each KuduClient object is sandboxed with no global cross-client state.

+

In the implementation, the client holds various pieces of common infrastructure which is not table-specific:

+

In order to actually write data to the cluster, callers must first create a KuduSession object using NewSession(). A KuduClient may have several associated sessions.

+
Note
This class is thread-safe.
+
Todo:
Cluster administration functions are likely to be in this class as well.
+

Member Enumeration Documentation

+ +

◆ ReplicaSelection

+ +
+
+ +

Policy with which to choose amongst multiple replicas.

+ + + + +
Enumerator
LEADER_ONLY 

Select the LEADER replica.

+
CLOSEST_REPLICA 

Select the closest replica to the client. Local replicas are considered the closest, followed by replicas in the same location as the client, followed by all other replicas. If there are multiple closest replicas, one is chosen randomly.

+
FIRST_REPLICA 

Select the first replica in the list.

+
+ +
+
+

Member Function Documentation

+ +

◆ connection_negotiation_timeout()

+ +
+
+ + + + + + + +
MonoDelta kudu::client::KuduClient::connection_negotiation_timeout () const
+
+
Returns
Timeout for connection negotiation to a remote server.
+ +
+
+ +

◆ default_admin_operation_timeout()

+ +
+
+ + + + + + + +
const MonoDelta& kudu::client::KuduClient::default_admin_operation_timeout () const
+
+
Returns
Default timeout for admin operations.
+ +
+
+ +

◆ default_rpc_timeout()

+ +
+
+ + + + + + + +
const MonoDelta& kudu::client::KuduClient::default_rpc_timeout () const
+
+
Returns
Default timeout for RPCs.
+ +
+
+ +

◆ DeleteTable()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduClient::DeleteTable (const std::string & table_name)
+
+

Delete/drop a table without reserving. The deleted table may turn to soft-deleted status with the flag –default_deleted_table_reserve_seconds set to nonzero on the master side.

+

The delete operation or drop operation means that the service will directly delete the table after receiving the instruction. Which means that once we delete the table by mistake, we have no way to recall the deleted data. We have added a new SoftDeleteTable API to allow the deleted data to be reserved for a period of time, which means that the wrongly deleted data may be recalled. In order to be compatible with the previous versions, this interface will continue to directly delete tables without reserving the table.

+

Refer to SoftDeleteTable for detailed usage examples.

+
Parameters
+ + +
[in]table_nameName of the table to drop.
+
+
+
Returns
Operation status.
+ +
+
+ +

◆ ExportAuthenticationCredentials()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduClient::ExportAuthenticationCredentials (std::string * authn_creds) const
+
+

Export the current authentication credentials from this client. This includes the necessary credentials to authenticate to the cluster, as well as to authenticate the cluster to the client.

+

The resulting binary string may be passed into a new C++ client via the KuduClientBuilder::import_authentication_credentials method, or into a new Java client via KuduClient::importAuthenticationCredentials.

+
Parameters
+ + +
[out]authn_credsThe resulting binary authentication credentials.
+
+
+
Returns
Status object for the operation.
+ +
+
+ +

◆ GetLatestObservedTimestamp()

+ +
+
+ + + + + + + +
uint64_t kudu::client::KuduClient::GetLatestObservedTimestamp () const
+
+

Get the highest HybridTime timestamp observed by the client.

+

This is useful when retrieving timestamp from one client and forwarding it to another to enforce external consistency when using KuduSession::CLIENT_PROPAGATED external consistency mode.

+
Note
This method is experimental and will either disappear or change in a future release.
+
Returns
Highest HybridTime timestamp observed by the client.
+ +
+
+ +

◆ GetTableSchema()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::GetTableSchema (const std::string & table_name,
KuduSchemaschema 
)
+
+

Get table's schema.

+
Parameters
+ + + +
[in]table_nameName of the table.
[out]schemaRaw pointer to the schema object; caller gets ownership.
+
+
+
Returns
Operation status.
+ +
+
+ +

◆ IsAlterTableInProgress()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::IsAlterTableInProgress (const std::string & table_name,
bool * alter_in_progress 
)
+
+

Check if table alteration is in-progress.

+
Parameters
+ + + +
[in]table_nameName of the table.
[out]alter_in_progressThe value is set only in case of success; it is true iff the operation is in progress.
+
+
+
Returns
Operation status.
+ +
+
+ +

◆ IsCreateTableInProgress()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::IsCreateTableInProgress (const std::string & table_name,
bool * create_in_progress 
)
+
+

Check whether a create table operation is in-progress.

+
Parameters
+ + + +
[in]table_nameName of the table.
[out]create_in_progressThe value is set only in case of success; it is true iff the operation is in progress.
+
+
+
Returns
Operation status.
+ +
+
+ +

◆ IsMultiMaster()

+ +
+
+ + + + + + + +
bool kudu::client::KuduClient::IsMultiMaster () const
+
+
Returns
true iff client is configured to talk to multiple Kudu master servers.
+ +
+
+ +

◆ ListSoftDeletedTables()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::ListSoftDeletedTables (std::vector< std::string > * tables,
const std::string & filter = "" 
)
+
+

List soft-deleted tables only those names pass a substring with names matching the specified filter.

+
Parameters
+ + + +
[out]tablesThe placeholder for the result. Appended only on success.
[in]filterSubstring filter to use; empty sub-string filter matches all tables.
+
+
+
Returns
Status object for the operation.
+ +
+
+ +

◆ ListTables()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::ListTables (std::vector< std::string > * tables,
const std::string & filter = "" 
)
+
+

List non-soft-deleted tables whose names pass a substring match on filter.

+
Parameters
+ + + +
[out]tablesThe placeholder for the result. Appended only on success.
[in]filterSubstring filter to use; empty sub-string filter matches all tables.
+
+
+
Returns
Status object for the operation.
+ +
+
+ +

◆ ListTabletServers()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduClient::ListTabletServers (std::vector< KuduTabletServer * > * tablet_servers)
+
+

Get information on current tablet servers.

+
Parameters
+ + +
[out]tablet_serversThe placeholder for the result. The caller takes ownership of the container's elements.
+
+
+
Returns
Operation status.
+ +
+
+ +

◆ NewSession()

+ +
+
+ + + + + + + +
sp::shared_ptr<KuduSession> kudu::client::KuduClient::NewSession ()
+
+

Create a new session for interacting with the cluster.

+

This is a fully local operation (no RPCs or blocking).

+
Returns
A new session object; caller is responsible for destroying it.
+ +
+
+ +

◆ NewTableAlterer()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduClient::NewTableAlterer (const std::string & table_name)
+
+

Create a KuduTableAlterer object.

+
Parameters
+ + +
[in]table_nameName of the table to alter.
+
+
+
Returns
Pointer to newly created object: it is the caller's responsibility to free it.
+ +
+
+ +

◆ NewTableCreator()

+ +
+
+ + + + + + + +
KuduTableCreator* kudu::client::KuduClient::NewTableCreator ()
+
+

Create a KuduTableCreator object.

+
Returns
Pointer to newly created object; it is the caller's responsibility to free it.
+ +
+
+ +

◆ NewTransaction()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduClient::NewTransaction (sp::shared_ptr< KuduTransaction > * txn)
+
+

Start a multi-row transaction.

+

This method results in an RPC sent to a Kudu cluster to begin a multi-row distributed transaction. In case of success, the resulting transaction handle is output into the 'txn' parameter. That handle can be used to create a new KuduSession using the NewSession(const sp::shared_ptr<KuduSession>&) method. To commit or rollback all single-row write operations performed in the context of the newly created transaction, use KuduTransaction::Commit() and KuduTransaction::Rollback() methods correspondingly.

+
Note
The newly created object starts sending keep-alive messages for the newly opened transaction as required by the keep-alive interval assigned to the transaction by the system. To keep the heartbeating, the newly created KuduTransaction should be kept in scope.
+
Warning
This method is experimental and may change or disappear in future.
+
Parameters
+ + +
txn[out] The resulting KuduTransaction object wrapped into a smart pointer. This 'out' parameter is populated iff the operation to begin a transaction was successful.
+
+
+
Returns
The status of underlying "begin transaction" operation.
+ +
+
+ +

◆ OpenTable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::OpenTable (const std::string & table_name,
sp::shared_ptr< KuduTable > * table 
)
+
+

Open table with the given name.

+

This method does an RPC to ensure that the table exists and looks up its schema.

+
Note
New range partitions created by other clients will immediately be available after opening the table.
+
Parameters
+ + + +
[in]table_nameName of the table.
[out]tableThe result table.
+
+
+
Returns
Operation status.
+
Todo:

Should we offer an async version of this as well?

+

Probably should have a configurable timeout in KuduClientBuilder?

+
+ +
+
+ +

◆ SetLatestObservedTimestamp()

+ +
+
+ + + + + + + + +
void kudu::client::KuduClient::SetLatestObservedTimestamp (uint64_t ht_timestamp)
+
+

Sets the latest observed HybridTime timestamp.

+

This is only useful when forwarding timestamps between clients to enforce external consistency when using KuduSession::CLIENT_PROPAGATED external consistency mode.

+

The HybridTime encoded timestamp should be obtained from another client's KuduClient::GetLatestObservedTimestamp() method.

+
Note
This method is experimental and will either disappear or change in a future release.
+
Parameters
+ + +
[in]ht_timestampTimestamp encoded in HybridTime format.
+
+
+ +
+
+ +

◆ SoftDeleteTable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::SoftDeleteTable (const std::string & table_name,
uint32_t reserve_seconds = 0 
)
+
+

Soft delete/drop a table.

+

Usage Example1: Equal to DeleteTable(table_name) and the table will not be reserved.

client->SoftDeleteTable(table_name);
+

Usage Example2: The table will be reserved for 600s after delete operation. We can recall the table in time after the delete.

client->SoftDeleteTable(table_name, false, 600);
+
client->RecallTable(table_id);
+
Parameters
+ + + +
[in]table_nameName of the table to drop.
[in]reserve_secondsReserve seconds after being deleted.
+
+
+
Returns
Operation status.
+ +
+
+ +

◆ TableExists()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduClient::TableExists (const std::string & table_name,
bool * exists 
)
+
+

Check if the table given by 'table_name' exists.

+
Parameters
+ + + +
[in]table_nameName of the table.
[out]existsSet only on success; set to true iff table exists.
+
+
+
Returns
Status object for the operation.
+ +
+
+

Member Data Documentation

+ +

◆ kNoTimestamp

+ +
+
+ + + + + +
+ + + + +
const uint64_t kudu::client::KuduClient::kNoTimestamp
+
+static
+
+

Value for the latest observed timestamp when none has been observed or set.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient.png new file mode 100644 index 0000000000..322f4ebeb0 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClient.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html new file mode 100644 index 0000000000..40b3754a1e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder-members.html @@ -0,0 +1,104 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduClientBuilder Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduClientBuilder, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
add_master_server_addr(const std::string &addr)kudu::client::KuduClientBuilder
Build(sp::shared_ptr< KuduClient > *client)kudu::client::KuduClientBuilder
clear_master_server_addrs()kudu::client::KuduClientBuilder
connection_negotiation_timeout(const MonoDelta &timeout)kudu::client::KuduClientBuilder
default_admin_operation_timeout(const MonoDelta &timeout)kudu::client::KuduClientBuilder
default_rpc_timeout(const MonoDelta &timeout)kudu::client::KuduClientBuilder
encryption_policy(EncryptionPolicy encryption_policy)kudu::client::KuduClientBuilder
EncryptionPolicy enum namekudu::client::KuduClientBuilder
import_authentication_credentials(std::string authn_creds)kudu::client::KuduClientBuilder
jwt(const std::string &jwt)kudu::client::KuduClientBuilder
KuduClientBuilder() (defined in kudu::client::KuduClientBuilder)kudu::client::KuduClientBuilder
master_server_addrs(const std::vector< std::string > &addrs)kudu::client::KuduClientBuilder
num_reactors(int num_reactors)kudu::client::KuduClientBuilder
OPTIONAL enum valuekudu::client::KuduClientBuilder
require_authentication(bool require_authentication)kudu::client::KuduClientBuilder
REQUIRED enum valuekudu::client::KuduClientBuilder
REQUIRED_REMOTE enum valuekudu::client::KuduClientBuilder
sasl_protocol_name(const std::string &sasl_protocol_name)kudu::client::KuduClientBuilder
trusted_certificate(const std::string &cert_pem)kudu::client::KuduClientBuilder
~KuduClientBuilder() (defined in kudu::client::KuduClientBuilder)kudu::client::KuduClientBuilder
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html new file mode 100644 index 0000000000..04a4c79526 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduClientBuilder.html @@ -0,0 +1,535 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduClientBuilder Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduClientBuilder Class Reference
+
+
+ +

A "factory" for KuduClient objects. + More...

+ +

#include <client.h>

+ + + + + +

+Public Types

enum  EncryptionPolicy { OPTIONAL +, REQUIRED_REMOTE +, REQUIRED + }
 Policy for on-the-wire encryption. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

KuduClientBuilderclear_master_server_addrs ()
 
KuduClientBuildermaster_server_addrs (const std::vector< std::string > &addrs)
 
KuduClientBuilderadd_master_server_addr (const std::string &addr)
 
KuduClientBuilderdefault_admin_operation_timeout (const MonoDelta &timeout)
 
KuduClientBuilderdefault_rpc_timeout (const MonoDelta &timeout)
 
KuduClientBuilderconnection_negotiation_timeout (const MonoDelta &timeout)
 
KuduClientBuilderjwt (const std::string &jwt)
 
KuduClientBuilderimport_authentication_credentials (std::string authn_creds)
 
KuduClientBuildertrusted_certificate (const std::string &cert_pem)
 
KuduClientBuildernum_reactors (int num_reactors)
 Set the number of reactors for the RPC messenger. More...
 
KuduClientBuildersasl_protocol_name (const std::string &sasl_protocol_name)
 
KuduClientBuilderrequire_authentication (bool require_authentication)
 
KuduClientBuilderencryption_policy (EncryptionPolicy encryption_policy)
 
Status Build (sp::shared_ptr< KuduClient > *client)
 
+

Detailed Description

+

A "factory" for KuduClient objects.

+

This class is used to create instances of the KuduClient class with pre-set options/parameters.

+

Member Enumeration Documentation

+ +

◆ EncryptionPolicy

+ +
+
+ +

Policy for on-the-wire encryption.

+ + + + +
Enumerator
OPTIONAL 

Optional, it uses encrypted connection if the server supports it, but it can connect to insecure servers too.

+
REQUIRED_REMOTE 

Only connects to remote servers that support encryption, fails otherwise. It can connect to insecure servers only locally.

+
REQUIRED 

Only connects to any server, including on the loopback interface, that support encryption, fails otherwise.

+
+ +
+
+

Member Function Documentation

+ +

◆ add_master_server_addr()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::add_master_server_addr (const std::string & addr)
+
+

Add an RPC address of a master to work with.

+

At least one master is required.

+
Parameters
+ + +
[in]addrRPC address of master server to add.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ Build()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduClientBuilder::Build (sp::shared_ptr< KuduClient > * client)
+
+

Create a client object.

+
Note
KuduClients objects are shared amongst multiple threads and, as such, are stored in shared pointers.
+
Parameters
+ + +
[out]clientThe newly created object wrapped in a shared pointer.
+
+
+
Returns
Operation status. The return value may indicate an error in the create operation, or a misuse of the builder; in the latter case, only the last error is returned.
+ +
+
+ +

◆ clear_master_server_addrs()

+ +
+
+ + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::clear_master_server_addrs ()
+
+

Clear the set of master addresses.

+
Returns
Reference to the updated object.
+ +
+
+ +

◆ connection_negotiation_timeout()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::connection_negotiation_timeout (const MonoDeltatimeout)
+
+

Set the timeout for negotiating a connection to a remote server.

+

If not provided, the underlying messenger is created with reasonable default. The result value could be retrieved using KuduClient.connection_negotiation_timeout() after an instance of KuduClient is created. Sometimes it makes sense to customize the timeout for connection negotiation, e.g. when running on a cluster with heavily loaded tablet servers. For details on the connection negotiation, see ../../../docs/design-docs/rpc.md::negotiation.

+
Parameters
+ + +
[in]timeoutTimeout value to set.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ default_admin_operation_timeout()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::default_admin_operation_timeout (const MonoDeltatimeout)
+
+

Set the default timeout for administrative operations.

+

Using this method it is possible to modify the default timeout for operations like CreateTable, AlterTable, etc. By default it is 30 seconds.

+
Parameters
+ + +
[in]timeoutTimeout value to set.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ default_rpc_timeout()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::default_rpc_timeout (const MonoDeltatimeout)
+
+

Set the default timeout for individual RPCs.

+

If not provided, defaults to 10 seconds.

+
Parameters
+ + +
[in]timeoutTimeout value to set.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ encryption_policy()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::encryption_policy (EncryptionPolicy encryption_policy)
+
+

Require encryption for the connection to a remote server.

+

If it's set to REQUIRED_REMOTE or REQUIRED, the client will require encrypting the traffic between the server and the client. If the server doesn't support encryption, or if it's disabled, the client will fail to connect.

+

Loopback connections are encrypted only if 'encryption_policy' is set to REQUIRED, or if it's required by the server.

+

The default value is OPTIONAL, which allows connecting to servers without encryption as well, but it will still attempt to use it if the server supports it.

+
Parameters
+ + +
[in]encryption_policyWhich encryption policy to use.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ import_authentication_credentials()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::import_authentication_credentials (std::string authn_creds)
+
+

Import serialized authentication credentials from another client.

+
Note
If both import_authentication_credentials and this method are called on the object, the JWT provided with this call overrides the corresponding JWT (if present) that comes as part of the imported authentication credentials.
+
Parameters
+ + +
[in]authn_credsThe serialized authentication credentials, provided by a call to KuduClient.ExportAuthenticationCredentials in the C++ client or KuduClient::exportAuthenticationCredentials in the Java client.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ jwt()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::jwt (const std::string & jwt)
+
+

Set JWT (JSON Web Token) to authenticate the client to a server.

+
Note
If both import_authentication_credentials and this method are called on the object, the JWT provided with this call overrides the corresponding JWT (if present) that comes as part of the imported authentication credentials.
+
Parameters
+ + +
[in]jwtThe JSON web token to set.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ master_server_addrs()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::master_server_addrs (const std::vector< std::string > & addrs)
+
+

Add RPC addresses of multiple masters.

+
Parameters
+ + +
[in]addrsRPC addresses of masters to add.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ num_reactors()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::num_reactors (int num_reactors)
+
+ +

Set the number of reactors for the RPC messenger.

+

The reactor threads are used for sending and receiving. If not provided, the underlying messenger is created with the default number of reactor threads.

+
Parameters
+ + +
[in]num_reactorsNumber of reactors to set.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ require_authentication()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::require_authentication (bool require_authentication)
+
+

Require authentication for the connection to a remote server.

+

If it's set to true, the client will require mutual authentication between the server and the client. If the server doesn't support authentication, or it's disabled, the client will fail to connect.

+
Parameters
+ + +
[in]require_authenticationWhether to require authentication.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ sasl_protocol_name()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::sasl_protocol_name (const std::string & sasl_protocol_name)
+
+

Set the SASL protocol name for the connection to a remote server.

+

If the servers use a non-default Kerberos service principal name (other than "kudu" or "kudu/<hostname>", this needs to be set for the client to be able to connect to the servers. If unset, the client will assume the server is using the default service principal.

+
Parameters
+ + +
[in]sasl_protocol_nameSASL protocol name.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ trusted_certificate()

+ +
+
+ + + + + + + + +
KuduClientBuilder& kudu::client::KuduClientBuilder::trusted_certificate (const std::string & cert_pem)
+
+

Add a trusted root CA certificate into the client's TLS certificate bundle.

+
Parameters
+ + +
[in]cert_pemThe trusted certificate to add, in PEM format.
+
+
+
Returns
Reference to the updated object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html new file mode 100644 index 0000000000..f9d1389412 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema-members.html @@ -0,0 +1,116 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduColumnSchema Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduColumnSchema, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BINARY enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
BOOL enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
comment() constkudu::client::KuduColumnSchema
CopyFrom(const KuduColumnSchema &other)kudu::client::KuduColumnSchema
DataType enum namekudu::client::KuduColumnSchema
DataTypeToString(DataType type)kudu::client::KuduColumnSchemastatic
DATE enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
DECIMAL enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
DOUBLE enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
Equals(const KuduColumnSchema &other) constkudu::client::KuduColumnSchema
FLOAT enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
INT16 enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
INT32 enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
INT64 enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
INT8 enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
is_immutable() constkudu::client::KuduColumnSchema
is_nullable() constkudu::client::KuduColumnSchema
KuduColumnSchema(const KuduColumnSchema &other)kudu::client::KuduColumnSchema
name() constkudu::client::KuduColumnSchema
operator!=(const KuduColumnSchema &rhs) constkudu::client::KuduColumnSchema
operator=(const KuduColumnSchema &other)kudu::client::KuduColumnSchema
operator==(const KuduColumnSchema &rhs) constkudu::client::KuduColumnSchema
SERIAL enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
storage_attributes() constkudu::client::KuduColumnSchema
STRING enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
StringToDataType(const std::string &type_str, DataType *type)kudu::client::KuduColumnSchemastatic
TIMESTAMP enum valuekudu::client::KuduColumnSchema
type() constkudu::client::KuduColumnSchema
type_attributes() constkudu::client::KuduColumnSchema
UNIXTIME_MICROS enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
VARCHAR enum value (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
~KuduColumnSchema() (defined in kudu::client::KuduColumnSchema)kudu::client::KuduColumnSchema
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html new file mode 100644 index 0000000000..2e767ccbaa --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSchema.html @@ -0,0 +1,545 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduColumnSchema Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::client::KuduColumnSchema Class Reference
+
+
+ +

Representation of the column schema. + More...

+ +

#include <schema.h>

+ + + + + +

+Public Types

enum  DataType {
+  INT8 = 0 +, INT16 = 1 +, INT32 = 2 +, INT64 = 3 +,
+  STRING = 4 +, BOOL = 5 +, FLOAT = 6 +, DOUBLE = 7 +,
+  BINARY = 8 +, UNIXTIME_MICROS = 9 +, DECIMAL = 10 +, VARCHAR = 11 +,
+  TIMESTAMP = UNIXTIME_MICROS +, DATE = 12 +, SERIAL = 13 +
+ }
 Supported data types for columns. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 KuduColumnSchema (const KuduColumnSchema &other)
 
KuduColumnSchemaoperator= (const KuduColumnSchema &other)
 
void CopyFrom (const KuduColumnSchema &other)
 
bool Equals (const KuduColumnSchema &other) const
 
bool operator== (const KuduColumnSchema &rhs) const
 
bool operator!= (const KuduColumnSchema &rhs) const
 
KuduColumnTypeAttributes type_attributes () const
 
KuduColumnStorageAttributes storage_attributes () const
 
const std::string & comment () const
 
Getters to expose column schema information.
Todo:
Expose default column value and attributes?
+
Returns
Name of the column schema.
+
const std::string & name () const
 
DataType type () const
 
bool is_nullable () const
 
bool is_immutable () const
 
+ + + + + +

+Static Public Member Functions

static std::string DataTypeToString (DataType type)
 
static Status StringToDataType (const std::string &type_str, DataType *type)
 
+

Detailed Description

+

Representation of the column schema.

+

Member Enumeration Documentation

+ +

◆ DataType

+ +
+
+ +

Supported data types for columns.

+ + +
Enumerator
TIMESTAMP 

deprecated, use UNIXTIME_MICROS

+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ KuduColumnSchema()

+ +
+
+ + + + + + + + +
kudu::client::KuduColumnSchema::KuduColumnSchema (const KuduColumnSchemaother)
+
+

Construct KuduColumnSchema object as a copy of another object.

+
Parameters
+ + +
[in]otherThe reference object to copy from.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ comment()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduColumnSchema::comment () const
+
+
Returns
comment of the column schema.
+
Note
An empty string will be returned if there is no comment.
+ +
+
+ +

◆ CopyFrom()

+ +
+
+ + + + + + + + +
void kudu::client::KuduColumnSchema::CopyFrom (const KuduColumnSchemaother)
+
+

Make this object an identical copy of the other one.

+
Parameters
+ + +
[in]otherThe reference object to copy from.
+
+
+ +
+
+ +

◆ DataTypeToString()

+ +
+
+ + + + + +
+ + + + + + + + +
static std::string kudu::client::KuduColumnSchema::DataTypeToString (DataType type)
+
+static
+
+
Parameters
+ + +
[in]typeColumn data type.
+
+
+
Returns
String representation of the column data type.
+ +
+
+ +

◆ Equals()

+ +
+
+ + + + + + + + +
bool kudu::client::KuduColumnSchema::Equals (const KuduColumnSchemaother) const
+
+

Check whether the object is identical to the other one.

+
Deprecated:
use operator==(const KuduColumnSchema&) instead
+
Parameters
+ + +
[in]otherThe reference object to compare with.
+
+
+
Returns
true iff the object is identical to the specified one.
+ +
+
+ +

◆ is_immutable()

+ +
+
+ + + + + + + +
bool kudu::client::KuduColumnSchema::is_immutable () const
+
+
Returns
true iff the column schema has the immutable attribute set.
+ +
+
+ +

◆ is_nullable()

+ +
+
+ + + + + + + +
bool kudu::client::KuduColumnSchema::is_nullable () const
+
+
Returns
true iff the column schema has the nullable attribute set.
+ +
+
+ +

◆ name()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduColumnSchema::name () const
+
+
Returns
Type of the column schema.
+ +
+
+ +

◆ operator!=()

+ +
+
+ + + + + + + + +
bool kudu::client::KuduColumnSchema::operator!= (const KuduColumnSchemarhs) const
+
+

Check whether the schema is not identical to the other one.

+
Parameters
+ + +
[in]rhsKuduColumnSchema object to compare this one with.
+
+
+
Returns
true iff this KuduColumnSchema object is not identical to the specified one.
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
KuduColumnSchema& kudu::client::KuduColumnSchema::operator= (const KuduColumnSchemaother)
+
+

The assignment operator.

+
Parameters
+ + +
[in]otherThe reference object to assign from.
+
+
+
Returns
The updated object.
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + + + + +
bool kudu::client::KuduColumnSchema::operator== (const KuduColumnSchemarhs) const
+
+

Check whether the schema is identical to the other one.

+
Parameters
+ + +
[in]rhsKuduColumnSchema object to compare this one with.
+
+
+
Returns
true iff this KuduColumnSchema object is identical to the specified one.
+ +
+
+ +

◆ storage_attributes()

+ +
+
+ + + + + + + +
KuduColumnStorageAttributes kudu::client::KuduColumnSchema::storage_attributes () const
+
+
Returns
Storage attributes of the column schema.
+ +
+
+ +

◆ StringToDataType()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Status kudu::client::KuduColumnSchema::StringToDataType (const std::string & type_str,
DataTypetype 
)
+
+static
+
+
Parameters
+ + + +
[in]type_strString representation of the column data type
[out]typeEnum representation of the column data type, Converted from string format.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ type()

+ +
+
+ + + + + + + +
DataType kudu::client::KuduColumnSchema::type () const
+
+
Returns
Type of the column schema.
+ +
+
+ +

◆ type_attributes()

+ +
+
+ + + + + + + +
KuduColumnTypeAttributes kudu::client::KuduColumnSchema::type_attributes () const
+
+
Returns
Type attributes of the column schema.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html new file mode 100644 index 0000000000..f78e10d752 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec-members.html @@ -0,0 +1,101 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduColumnSpec Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduColumnSpec, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
BlockSize(int32_t block_size)kudu::client::KuduColumnSpec
Comment(const std::string &comment)kudu::client::KuduColumnSpec
Compression(KuduColumnStorageAttributes::CompressionType compression)kudu::client::KuduColumnSpec
Default(KuduValue *value)kudu::client::KuduColumnSpec
Encoding(KuduColumnStorageAttributes::EncodingType encoding)kudu::client::KuduColumnSpec
Immutable()kudu::client::KuduColumnSpec
Length(uint16_t length)kudu::client::KuduColumnSpec
Mutable()kudu::client::KuduColumnSpec
NonUniquePrimaryKey()kudu::client::KuduColumnSpec
NotNull()kudu::client::KuduColumnSpec
Nullable()kudu::client::KuduColumnSpec
Precision(int8_t precision)kudu::client::KuduColumnSpec
PrimaryKey()kudu::client::KuduColumnSpec
RemoveDefault()kudu::client::KuduColumnSpec
RenameTo(const std::string &new_name)kudu::client::KuduColumnSpec
Scale(int8_t scale)kudu::client::KuduColumnSpec
Type(KuduColumnSchema::DataType type)kudu::client::KuduColumnSpec
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html new file mode 100644 index 0000000000..e4b7415929 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnSpec.html @@ -0,0 +1,559 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduColumnSpec Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduColumnSpec Class Reference
+
+
+ +

Builder API for specifying or altering a column within a table schema. + More...

+ +

#include <schema.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

KuduColumnSpecDefault (KuduValue *value)
 
KuduColumnSpecCompression (KuduColumnStorageAttributes::CompressionType compression)
 
KuduColumnSpecEncoding (KuduColumnStorageAttributes::EncodingType encoding)
 
KuduColumnSpecBlockSize (int32_t block_size)
 
KuduColumnSpecComment (const std::string &comment)
 
Operations only relevant for decimal columns.
KuduColumnSpecPrecision (int8_t precision)
 
KuduColumnSpecScale (int8_t scale)
 
Operation only relevant for VARCHAR columns.
KuduColumnSpecLength (uint16_t length)
 
Operations only relevant for Create Table
KuduColumnSpecPrimaryKey ()
 
KuduColumnSpecNonUniquePrimaryKey ()
 
KuduColumnSpecNotNull ()
 
KuduColumnSpecNullable ()
 
KuduColumnSpecImmutable ()
 
KuduColumnSpecMutable ()
 
KuduColumnSpecType (KuduColumnSchema::DataType type)
 
Operations only relevant for Alter Table
KuduColumnSpecRemoveDefault ()
 
KuduColumnSpecRenameTo (const std::string &new_name)
 
+

Detailed Description

+

Builder API for specifying or altering a column within a table schema.

+

An object of this type cannot be constructed directly, but rather is returned from KuduSchemaBuilder::AddColumn() to specify a column within a Schema.

+
Todo:
KUDU-861: this API will also be used for an improved AlterTable API.
+

Member Function Documentation

+ +

◆ BlockSize()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::BlockSize (int32_t block_size)
+
+

Set the target block size for the column.

+

This is the number of bytes of user data packed per block on disk, and represents the unit of IO when reading the column. Larger values may improve scan performance, particularly on spinning media. Smaller values may improve random access performance, particularly for workloads that have high cache hit rates or operate on fast storage such as SSD.

+
Note
The block size specified here corresponds to uncompressed data. The actual size of the unit read from disk may be smaller if compression is enabled.
+
+It's recommended that this not be set any lower than 4096 (4KB) or higher than 1048576 (1MB).
+
Todo:
KUDU-1107: move above info to docs
+
Parameters
+ + +
[in]block_sizeBlock size (in bytes) to use.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Comment()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Comment (const std::string & comment)
+
+

Set the comment of the column.

+
Parameters
+ + +
[in]commentThe comment for the column.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Compression()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Compression (KuduColumnStorageAttributes::CompressionType compression)
+
+

Set the preferred compression type for the column.

+
Parameters
+ + +
[in]compressionThe compression type to use.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Default()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Default (KuduValuevalue)
+
+

Set the default value for the column.

+

When adding a new column to a table, this default value will be used to fill the new column in all existing rows. The default value will also be used when inserting a new row with no value for the column.

+
Parameters
+ + +
[in]valueThe value to use as the default. The KuduColumnSpec takes ownership over the passed parameter.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Encoding()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Encoding (KuduColumnStorageAttributes::EncodingType encoding)
+
+

Set the preferred encoding for the column.

+
Note
Not all encodings are supported for all column types.
+
Parameters
+ + +
[in]encodingThe encoding to use.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Immutable()

+ +
+
+ + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Immutable ()
+
+

Set the column to be immutable.

+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Length()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Length (uint16_t length)
+
+

Set the length for a column.

+

Clients can specify a length for VARCHAR columns. Length represents the maximum length of a VARCHAR column in characters.

+

The length must be greater than 0 and less than 65536. If no length is provided a default length of 65535 is used.

+
Parameters
+ + +
[in]lengthDesired length to set.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Mutable()

+ +
+
+ + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Mutable ()
+
+

Set the column to be mutable (the default).

+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ NonUniquePrimaryKey()

+ +
+
+ + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::NonUniquePrimaryKey ()
+
+

Set the column to be a non-unique primary key of the table.

+

This may only be used to set non-composite non-unique primary keys. If a composite key is desired, use KuduSchemaBuilder::SetNonUniquePrimaryKey(). This may not be used in conjunction with KuduSchemaBuilder::SetNonUniquePrimaryKey().

+
Note
Non-unique primary keys may not be changed after a table is created.
+
+By specifying non-unique primary key, an auto incrementing column is created automatically. They form together the effective primary key. The auto incrementing field is populated on the server side, it must not be specified during insertion. All subsequent operations like scans will contain the auto incrementing column by default. If one wants to omit the auto incrementing column, it can be accomplished through existing projection methods.
+
+A call to PrimaryKey() or NonUniquePrimaryKey() overrides any previous call to these two methods.
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ NotNull()

+ +
+
+ + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::NotNull ()
+
+

Set the column to be not nullable.

+
Note
Column nullability may not be changed once a table is created.
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Nullable()

+ +
+
+ + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Nullable ()
+
+

Set the column to be nullable (the default).

+
Note
Column nullability may not be changed once a table is created.
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Precision()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Precision (int8_t precision)
+
+

Set the precision for the column.

+

Clients must specify a precision for decimal columns. Precision is the total number of digits that can be represented by the column, regardless of the location of the decimal point. For example, representing integer values up to 9999, and fractional values up to 99.99, both require a precision of 4. You can also represent corresponding negative values, without any change in the precision. For example, the range -9999 to 9999 still only requires a precision of 4.

+

The precision must be between 1 and 38.

+
Parameters
+ + +
[in]precisionDesired precision to set.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ PrimaryKey()

+ +
+
+ + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::PrimaryKey ()
+
+

Set the column to be the primary key of the table.

+

This may only be used to set non-composite primary keys. If a composite key is desired, use KuduSchemaBuilder::SetPrimaryKey(). This may not be used in conjunction with KuduSchemaBuilder::SetPrimaryKey().

+
Note
Primary keys may not be changed after a table is created.
+
+A call to PrimaryKey() or NonUniquePrimaryKey() overrides any previous call to these two methods.
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ RemoveDefault()

+ +
+
+ + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::RemoveDefault ()
+
+

Remove the default value for the column.

+

Without a default, clients must always specify a value for the column when inserting data.

+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ RenameTo()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::RenameTo (const std::string & new_name)
+
+

Rename the column.

+
Parameters
+ + +
[in]new_nameThe new name for the column.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Scale()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Scale (int8_t scale)
+
+

Set the scale for the column.

+

Clients can specify a scale for decimal columns. Scale represents the number of fractional digits. This value must be less than or equal to precision. A scale of 0 produces integral values, with no fractional part. If precision and scale are equal, all the digits come after the decimal point, making all the values between 0.9999 and -0.9999.

+

The scale must be greater than 0 and less than the column's precision. If no scale is provided a default scale of 0 is used.

+
Parameters
+ + +
[in]scaleDesired scale to set.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ Type()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduColumnSpec::Type (KuduColumnSchema::DataType type)
+
+

Set the data type of the column.

+
Note
Column data types may not be changed once a table is created.
+
Parameters
+ + +
[in]typeThe data type to set.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html new file mode 100644 index 0000000000..e942a53ded --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes-members.html @@ -0,0 +1,104 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduColumnStorageAttributes Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduColumnStorageAttributes, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
AUTO_ENCODING enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
BIT_SHUFFLE enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
compression() constkudu::client::KuduColumnStorageAttributesinline
CompressionType enum namekudu::client::KuduColumnStorageAttributes
DEFAULT_COMPRESSION enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
DICT_ENCODING enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
encoding() constkudu::client::KuduColumnStorageAttributesinline
EncodingType enum namekudu::client::KuduColumnStorageAttributes
GROUP_VARINT enum valuekudu::client::KuduColumnStorageAttributes
KuduColumnStorageAttributes(EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0)kudu::client::KuduColumnStorageAttributesinlineexplicit
LZ4 enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
NO_COMPRESSION enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
PLAIN_ENCODING enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
PREFIX_ENCODING enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
RLE enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
SNAPPY enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
StringToCompressionType(const std::string &compression, CompressionType *type)kudu::client::KuduColumnStorageAttributesstatic
StringToEncodingType(const std::string &encoding, EncodingType *type)kudu::client::KuduColumnStorageAttributesstatic
ToString() constkudu::client::KuduColumnStorageAttributes
ZLIB enum value (defined in kudu::client::KuduColumnStorageAttributes)kudu::client::KuduColumnStorageAttributes
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html new file mode 100644 index 0000000000..10583990be --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnStorageAttributes.html @@ -0,0 +1,375 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduColumnStorageAttributes Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::client::KuduColumnStorageAttributes Class Reference
+
+
+ +

Representation of column storage attributes. + More...

+ +

#include <schema.h>

+ + + + + + + + +

+Public Types

enum  EncodingType {
+  AUTO_ENCODING = 0 +, PLAIN_ENCODING = 1 +, PREFIX_ENCODING = 2 +, RLE = 4 +,
+  DICT_ENCODING = 5 +, BIT_SHUFFLE = 6 +, GROUP_VARINT = 3 +
+ }
 Column encoding types. More...
 
enum  CompressionType {
+  DEFAULT_COMPRESSION = 0 +, NO_COMPRESSION = 1 +, SNAPPY = 2 +, LZ4 = 3 +,
+  ZLIB = 4 +
+ }
 Column compression types.
 
+ + + + + + + + + +

+Public Member Functions

 KuduColumnStorageAttributes (EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0)
 
const EncodingType encoding () const
 
const CompressionType compression () const
 
std::string ToString () const
 
+ + + + + +

+Static Public Member Functions

static Status StringToEncodingType (const std::string &encoding, EncodingType *type)
 
static Status StringToCompressionType (const std::string &compression, CompressionType *type)
 
+

Detailed Description

+

Representation of column storage attributes.

+

Member Enumeration Documentation

+ +

◆ EncodingType

+ +
+
+ +

Column encoding types.

+ + +
Enumerator
GROUP_VARINT 
Deprecated:
GROUP_VARINT is not supported for valid types, and will fall back to another encoding on the server side.
+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ KuduColumnStorageAttributes()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes (EncodingType encoding = AUTO_ENCODING,
CompressionType compression = DEFAULT_COMPRESSION,
int32_t block_size = 0 
)
+
+inlineexplicit
+
+
Deprecated:
This constructor is deprecated for external use, and will be made private in a future release.
+
Todo:
Make this constructor private.
+
Parameters
+ + + + +
[in]encodingEncoding type for the column storage.
[in]compressionCompression type for the column storage.
[in]block_sizeBlock size (in bytes, uncompressed data) for the column storage.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ compression()

+ +
+
+ + + + + +
+ + + + + + + +
const CompressionType kudu::client::KuduColumnStorageAttributes::compression () const
+
+inline
+
+
Returns
Compression type for the column storage.
+ +
+
+ +

◆ encoding()

+ +
+
+ + + + + +
+ + + + + + + +
const EncodingType kudu::client::KuduColumnStorageAttributes::encoding () const
+
+inline
+
+
Returns
Encoding type for the column storage.
+ +
+
+ +

◆ StringToCompressionType()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Status kudu::client::KuduColumnStorageAttributes::StringToCompressionType (const std::string & compression,
CompressionTypetype 
)
+
+static
+
+
Parameters
+ + + +
[in]compressionString representation of the column compression type
[out]typeEnum representation of the column compression type, Converted from string format.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ StringToEncodingType()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Status kudu::client::KuduColumnStorageAttributes::StringToEncodingType (const std::string & encoding,
EncodingTypetype 
)
+
+static
+
+
Parameters
+ + + +
[in]encodingString representation of the column encoding type
[out]typeEnum representation of the column encoding type, Converted from string format.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::client::KuduColumnStorageAttributes::ToString () const
+
+
Returns
String representation of the storage attributes.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html new file mode 100644 index 0000000000..63dfeb1d97 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes-members.html @@ -0,0 +1,94 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduColumnTypeAttributes Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduColumnTypeAttributes, including all inherited members.

+ + + + + + + + + + + +
CopyFrom(const KuduColumnTypeAttributes &other)kudu::client::KuduColumnTypeAttributes
KuduColumnTypeAttributes() (defined in kudu::client::KuduColumnTypeAttributes)kudu::client::KuduColumnTypeAttributes
KuduColumnTypeAttributes(const KuduColumnTypeAttributes &other)kudu::client::KuduColumnTypeAttributes
KuduColumnTypeAttributes(int8_t precision, int8_t scale)kudu::client::KuduColumnTypeAttributes
KuduColumnTypeAttributes(uint16_t length)kudu::client::KuduColumnTypeAttributesexplicit
length() constkudu::client::KuduColumnTypeAttributes
operator=(const KuduColumnTypeAttributes &other)kudu::client::KuduColumnTypeAttributes
precision() constkudu::client::KuduColumnTypeAttributes
scale() constkudu::client::KuduColumnTypeAttributes
~KuduColumnTypeAttributes() (defined in kudu::client::KuduColumnTypeAttributes)kudu::client::KuduColumnTypeAttributes
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html new file mode 100644 index 0000000000..a8fcc9b71f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnTypeAttributes.html @@ -0,0 +1,314 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduColumnTypeAttributes Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduColumnTypeAttributes Class Reference
+
+
+ +

Representation of column type attributes. + More...

+ +

#include <schema.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 KuduColumnTypeAttributes (const KuduColumnTypeAttributes &other)
 
 KuduColumnTypeAttributes (int8_t precision, int8_t scale)
 
 KuduColumnTypeAttributes (uint16_t length)
 
int8_t precision () const
 
int8_t scale () const
 
uint16_t length () const
 
Assign/copy KuduColumnTypeAttributes.
KuduColumnTypeAttributesoperator= (const KuduColumnTypeAttributes &other)
 
void CopyFrom (const KuduColumnTypeAttributes &other)
 
+

Detailed Description

+

Representation of column type attributes.

+

Constructor & Destructor Documentation

+ +

◆ KuduColumnTypeAttributes() [1/3]

+ +
+
+ + + + + + + + +
kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes (const KuduColumnTypeAttributesother)
+
+

Create a KuduColumnTypeAttributes object as a copy of the other one.

+
Parameters
+ + +
[in]otherThe other KuduColumnTypeAttributes object to use as a reference.
+
+
+ +
+
+ +

◆ KuduColumnTypeAttributes() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes (int8_t precision,
int8_t scale 
)
+
+

Create a KuduColumnTypeAttributes object

+
Parameters
+ + + +
[in]precisionThe precision of a decimal column.
[in]scaleThe scale of a decimal column.
+
+
+ +
+
+ +

◆ KuduColumnTypeAttributes() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes (uint16_t length)
+
+explicit
+
+

Create a KuduColumnTypeAttributes object

+
Parameters
+ + +
[in]lengthThe maximum length of a VARCHAR column in characters.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ CopyFrom()

+ +
+
+ + + + + + + + +
void kudu::client::KuduColumnTypeAttributes::CopyFrom (const KuduColumnTypeAttributesother)
+
+
Parameters
+ + +
[in]otherThe source KuduColumnTypeAttributes object to use as a reference.
+
+
+ +
+
+ +

◆ length()

+ +
+
+ + + + + + + +
uint16_t kudu::client::KuduColumnTypeAttributes::length () const
+
+
Returns
Length for the column type.
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
KuduColumnTypeAttributes& kudu::client::KuduColumnTypeAttributes::operator= (const KuduColumnTypeAttributesother)
+
+
Parameters
+ + +
[in]otherThe source KuduColumnTypeAttributes object to use as a reference.
+
+
+
Returns
Copy of 'other'
+ +
+
+ +

◆ precision()

+ +
+
+ + + + + + + +
int8_t kudu::client::KuduColumnTypeAttributes::precision () const
+
+
Returns
Precision for the column type.
+ +
+
+ +

◆ scale()

+ +
+
+ + + + + + + +
int8_t kudu::client::KuduColumnTypeAttributes::scale () const
+
+
Returns
Scale for the column type.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html new file mode 100644 index 0000000000..8fa92cd95b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch-members.html @@ -0,0 +1,90 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduColumnarScanBatch Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduColumnarScanBatch, including all inherited members.

+ + + + + + + +
GetFixedLengthColumn(int idx, Slice *data) constkudu::client::KuduColumnarScanBatch
GetNonNullBitmapForColumn(int idx, Slice *data) constkudu::client::KuduColumnarScanBatch
GetVariableLengthColumn(int idx, Slice *offsets, Slice *data) constkudu::client::KuduColumnarScanBatch
KuduColumnarScanBatch() (defined in kudu::client::KuduColumnarScanBatch)kudu::client::KuduColumnarScanBatch
NumRows() constkudu::client::KuduColumnarScanBatch
~KuduColumnarScanBatch() (defined in kudu::client::KuduColumnarScanBatch)kudu::client::KuduColumnarScanBatch
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html new file mode 100644 index 0000000000..01b1f67383 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduColumnarScanBatch.html @@ -0,0 +1,252 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduColumnarScanBatch Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduColumnarScanBatch Class Reference
+
+
+ +

A batch of columnar data returned from a scanner. + More...

+ +

#include <columnar_scan_batch.h>

+ + + + + + + + + + +

+Public Member Functions

int NumRows () const
 
Status GetFixedLengthColumn (int idx, Slice *data) const
 
Status GetVariableLengthColumn (int idx, Slice *offsets, Slice *data) const
 
Status GetNonNullBitmapForColumn (int idx, Slice *data) const
 
+

Detailed Description

+

A batch of columnar data returned from a scanner.

+

Similar to KuduScanBatch, this contains a batch of rows returned from a scanner. This type of batch is used if the KuduScanner::COLUMNAR_LAYOUT row format flag is enabled.

+

Retrieving rows in columnar layout can be significantly more efficient. It saves some CPU cycles on the Kudu cluster and can also enable faster processing of the returned data in certain client applications.

+

The columnar data retrieved by this class matches the columnar encoding described by Apache Arrow[1], but without the alignment and padding guarantees that are made by the Arrow IPC serialization.

+

[1] https://arrow.apache.org/docs/format/Columnar.html

+

NOTE: this class is not thread-safe.

+

Member Function Documentation

+ +

◆ GetFixedLengthColumn()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduColumnarScanBatch::GetFixedLengthColumn (int idx,
Slicedata 
) const
+
+

Get the raw columnar data corresponding to the primitive-typed column with index 'idx'.

+

For variable-length (e.g. STRING, BINARY, VARCHAR) columns, use GetVariableLengthColumn instead.

+
Note
The Slice returned is only valid for the lifetime of the KuduColumnarScanBatch.
+
Parameters
+ + + +
[in]idxThe column index.
[out]dataThe data is in little-endian packed array format. No alignment or padding is guaranteed. Space is reserved for all cells regardless of whether they might be null. The data stored in a null cell may or may not be zeroed.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ GetNonNullBitmapForColumn()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduColumnarScanBatch::GetNonNullBitmapForColumn (int idx,
Slicedata 
) const
+
+

Get a bitmap corresponding to the non-null status of the cells in the given column.

+

It is an error to call this function on a column which is not marked as nullable in the schema.

+
Note
The Slice returned is only valid for the lifetime of the KuduColumnarScanBatch.
+
Parameters
+ + + +
[in]idxThe column index.
[out]dataThe bitmap corresponding to the non-null status of the cells in the given column. A set bit indicates a non-null cell. If the number of rows is not a multiple of 8, the state of the trailing bits in the bitmap is undefined.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ GetVariableLengthColumn()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduColumnarScanBatch::GetVariableLengthColumn (int idx,
Sliceoffsets,
Slicedata 
) const
+
+

Return the variable-length data for the variable-length-typed column with index 'idx'.

+
Parameters
+ + + + +
[in]idxThe column index.
[out]offsetsIf NumRows() is 0, the 'offsets' array will have length 0. Otherwise, this array will contain NumRows() + 1 entries, each indicating an offset within the variable-length data array returned in 'data'. For each cell with index 'n', offsets[n] indicates the starting offset of that cell, and offsets[n+1] indicates the ending offset of that cell.
[out]dataThe variable-length data.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ NumRows()

+ +
+
+ + + + + + + +
int kudu::client::KuduColumnarScanBatch::NumRows () const
+
+
Returns
The number of rows in this batch.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html new file mode 100644 index 0000000000..38ae75afdb --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduDelete Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduDelete, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduDeleteinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduDelete() (defined in kudu::client::KuduDelete)kudu::client::KuduDeletevirtual
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html new file mode 100644 index 0000000000..8c483d04fc --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduDelete Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduDelete Class Reference
+
+
+ +

A single row delete to be sent to the cluster. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduDelete:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

virtual std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row delete to be sent to the cluster.

+
Precondition
A delete requires the key columns to be set in the embedded KuduPartialRow object.
+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduDelete::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete.png new file mode 100644 index 0000000000..0cfa7a0131 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDelete.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html new file mode 100644 index 0000000000..cf061de763 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduDeleteIgnore Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduDeleteIgnore, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduDeleteIgnoreinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduDeleteIgnore() (defined in kudu::client::KuduDeleteIgnore)kudu::client::KuduDeleteIgnorevirtual
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html new file mode 100644 index 0000000000..8ad825fe2c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduDeleteIgnore Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduDeleteIgnore Class Reference
+
+
+ +

A single row delete ignore to be sent to the cluster. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduDeleteIgnore:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

virtual std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row delete ignore to be sent to the cluster.

+
Precondition
A delete ignore requires the key columns to be set in the embedded KuduPartialRow object.
+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduDeleteIgnore::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.png new file mode 100644 index 0000000000..082b553fef Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduDeleteIgnore.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html new file mode 100644 index 0000000000..7e89cdd90f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduError-members.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduError Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduError, including all inherited members.

+ + + + + + +
failed_op() constkudu::client::KuduError
release_failed_op()kudu::client::KuduError
status() constkudu::client::KuduError
was_possibly_successful() constkudu::client::KuduError
~KuduError() (defined in kudu::client::KuduError)kudu::client::KuduError
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduError.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduError.html new file mode 100644 index 0000000000..4a63410962 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduError.html @@ -0,0 +1,184 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduError Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduError Class Reference
+
+
+ +

This class represents an error which occurred in a write operation. + More...

+ +

#include <client.h>

+ + + + + + + + + + +

+Public Member Functions

const Statusstatus () const
 
const KuduWriteOperationfailed_op () const
 
KuduWriteOperationrelease_failed_op ()
 
bool was_possibly_successful () const
 
+

Detailed Description

+

This class represents an error which occurred in a write operation.

+

Using an instance of this class, it is possible to track error details such as the operation which caused the error, along with whatever the actual error was.

+

Member Function Documentation

+ +

◆ failed_op()

+ +
+
+ + + + + + + +
const KuduWriteOperation& kudu::client::KuduError::failed_op () const
+
+
Returns
The operation which failed.
+ +
+
+ +

◆ release_failed_op()

+ +
+
+ + + + + + + +
KuduWriteOperation* kudu::client::KuduError::release_failed_op ()
+
+

Release the operation that failed.

+

This method must be called only once on an instance of the KuduError class.

+
Returns
Raw pointer to write operation object. The caller takes ownership of the returned object.
+ +
+
+ +

◆ status()

+ +
+
+ + + + + + + +
const Status& kudu::client::KuduError::status () const
+
+
Returns
The actual error which occurred.
+ +
+
+ +

◆ was_possibly_successful()

+ +
+
+ + + + + + + +
bool kudu::client::KuduError::was_possibly_successful () const
+
+

Check if there is a chance that the requested operation was successful.

+

In some cases, it is possible that the server did receive and successfully perform the requested operation, but the client can't tell whether or not it was successful. For example, if the call times out, the server may still succeed in processing at a later time.

+
Returns
This function returns true if there is some chance that the server did process the operation, and false if it can guarantee that the operation did not succeed.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html new file mode 100644 index 0000000000..054cb135d0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduInsert Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduInsert, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduInsertinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduInsert() (defined in kudu::client::KuduInsert)kudu::client::KuduInsertvirtual
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html new file mode 100644 index 0000000000..92f5a8271d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduInsert Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduInsert Class Reference
+
+
+ +

A single row insert to be sent to the cluster. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduInsert:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

virtual std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row insert to be sent to the cluster.

+
Precondition
An insert requires all key columns to be set, as well as all columns which do not have default values.
+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduInsert::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert.png new file mode 100644 index 0000000000..4862b067dd Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsert.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html new file mode 100644 index 0000000000..460b36e577 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduInsertIgnore Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduInsertIgnore, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduInsertIgnoreinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduInsertIgnore() (defined in kudu::client::KuduInsertIgnore)kudu::client::KuduInsertIgnorevirtual
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html new file mode 100644 index 0000000000..9704cd7669 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduInsertIgnore Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduInsertIgnore Class Reference
+
+
+ +

A single row insert ignore to be sent to the cluster, duplicate row errors are ignored. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduInsertIgnore:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

virtual std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row insert ignore to be sent to the cluster, duplicate row errors are ignored.

+
Precondition
An insert ignore requires all key columns to be set, as well as all columns which do not have default values.
+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduInsertIgnore::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.png new file mode 100644 index 0000000000..f5c86325c7 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduInsertIgnore.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html new file mode 100644 index 0000000000..9126992765 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback-members.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduLoggingCallback Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduLoggingCallback, including all inherited members.

+ + + + +
KuduLoggingCallback() (defined in kudu::client::KuduLoggingCallback)kudu::client::KuduLoggingCallbackinline
Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)=0kudu::client::KuduLoggingCallbackpure virtual
~KuduLoggingCallback() (defined in kudu::client::KuduLoggingCallback)kudu::client::KuduLoggingCallbackinlinevirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html new file mode 100644 index 0000000000..41df1a6c3c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.html @@ -0,0 +1,186 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduLoggingCallback Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduLoggingCallback Class Referenceabstract
+
+
+ +

The interface for all logging callbacks. + More...

+ +

#include <callbacks.h>

+
+Inheritance diagram for kudu::client::KuduLoggingCallback:
+
+
+ + +kudu::client::KuduLoggingFunctionCallback< T > +kudu::client::KuduLoggingMemberCallback< T > + +
+ + + + +

+Public Member Functions

virtual void Run (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)=0
 
+

Detailed Description

+

The interface for all logging callbacks.

+

Member Function Documentation

+ +

◆ Run()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void kudu::client::KuduLoggingCallback::Run (KuduLogSeverity severity,
const char * filename,
int line_number,
const struct ::tm * time,
const char * message,
size_t message_len 
)
+
+pure virtual
+
+

Log the message.

+
Note
The message is NOT terminated with an endline.
+
Parameters
+ + + + + + + +
[in]severitySeverity of the log message.
[in]filenameThe name of the source file the message is originated from.
[in]line_numberThe line of the source file the message is originated from.
[in]timeThe absolute time when the log event was generated.
[in]messageThe message to log. It's not terminated with an endline.
[in]message_lenNumber of characters in the message.
+
+
+ +

Implemented in kudu::client::KuduLoggingFunctionCallback< T >, and kudu::client::KuduLoggingMemberCallback< T >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.png new file mode 100644 index 0000000000..78fe0e8b01 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingCallback.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html new file mode 100644 index 0000000000..7e3bb21b69 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback-members.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduLoggingFunctionCallback< T > Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduLoggingFunctionCallback< T >, including all inherited members.

+ + + + + + +
FunctionType typedefkudu::client::KuduLoggingFunctionCallback< T >
KuduLoggingCallback() (defined in kudu::client::KuduLoggingCallback)kudu::client::KuduLoggingCallbackinline
KuduLoggingFunctionCallback(FunctionType function, T arg)kudu::client::KuduLoggingFunctionCallback< T >inline
Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDEkudu::client::KuduLoggingFunctionCallback< T >inlinevirtual
~KuduLoggingCallback() (defined in kudu::client::KuduLoggingCallback)kudu::client::KuduLoggingCallbackinlinevirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html new file mode 100644 index 0000000000..30f13dd3a4 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.html @@ -0,0 +1,249 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduLoggingFunctionCallback< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduLoggingFunctionCallback< T > Class Template Reference
+
+
+ +

The logging callback that invokes a function by pointer with a single argument. + More...

+ +

#include <callbacks.h>

+
+Inheritance diagram for kudu::client::KuduLoggingFunctionCallback< T >:
+
+
+ + +kudu::client::KuduLoggingCallback + +
+ + + + + +

+Public Types

+typedef void(* FunctionType) (T arg, KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)
 A handy typedef for the function with appropriate signature.
 
+ + + + + +

+Public Member Functions

 KuduLoggingFunctionCallback (FunctionType function, T arg)
 
virtual void Run (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE
 
+

Detailed Description

+

template<typename T>
+class kudu::client::KuduLoggingFunctionCallback< T >

+ +

The logging callback that invokes a function by pointer with a single argument.

+

Constructor & Destructor Documentation

+ +

◆ KuduLoggingFunctionCallback()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
kudu::client::KuduLoggingFunctionCallback< T >::KuduLoggingFunctionCallback (FunctionType function,
arg 
)
+
+inline
+
+

Build an instance of KuduLoggingFunctionCallback.

+
Parameters
+ + + +
[in]functionA pointer to the logging function to invoke with the arg argument.
[in]argAn argument for the function invocation.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Run()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void kudu::client::KuduLoggingFunctionCallback< T >::Run (KuduLogSeverity severity,
const char * filename,
int line_number,
const struct ::tm * time,
const char * message,
size_t message_len 
)
+
+inlinevirtual
+
+ +

+

Log the message.

+
Note
The message is NOT terminated with an endline.
+
Parameters
+ + + + + + + +
[in]severitySeverity of the log message.
[in]filenameThe name of the source file the message is originated from.
[in]line_numberThe line of the source file the message is originated from.
[in]timeThe absolute time when the log event was generated.
[in]messageThe message to log. It's not terminated with an endline.
[in]message_lenNumber of characters in the message.
+
+
+ +

Implements kudu::client::KuduLoggingCallback.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.png new file mode 100644 index 0000000000..c1a75b922d Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingFunctionCallback.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html new file mode 100644 index 0000000000..a670827a09 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback-members.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduLoggingMemberCallback< T > Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduLoggingMemberCallback< T >, including all inherited members.

+ + + + + + +
KuduLoggingCallback() (defined in kudu::client::KuduLoggingCallback)kudu::client::KuduLoggingCallbackinline
KuduLoggingMemberCallback(T *object, MemberType member)kudu::client::KuduLoggingMemberCallback< T >inline
MemberType typedefkudu::client::KuduLoggingMemberCallback< T >
Run(KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDEkudu::client::KuduLoggingMemberCallback< T >inlinevirtual
~KuduLoggingCallback() (defined in kudu::client::KuduLoggingCallback)kudu::client::KuduLoggingCallbackinlinevirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html new file mode 100644 index 0000000000..e2df5f586f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.html @@ -0,0 +1,249 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduLoggingMemberCallback< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduLoggingMemberCallback< T > Class Template Reference
+
+
+ +

The logging callback that invokes a member function of an object. + More...

+ +

#include <callbacks.h>

+
+Inheritance diagram for kudu::client::KuduLoggingMemberCallback< T >:
+
+
+ + +kudu::client::KuduLoggingCallback + +
+ + + + + +

+Public Types

+typedef void(T::* MemberType) (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len)
 A handy typedef for the member function with appropriate signature.
 
+ + + + + +

+Public Member Functions

 KuduLoggingMemberCallback (T *object, MemberType member)
 
virtual void Run (KuduLogSeverity severity, const char *filename, int line_number, const struct ::tm *time, const char *message, size_t message_len) OVERRIDE
 
+

Detailed Description

+

template<typename T>
+class kudu::client::KuduLoggingMemberCallback< T >

+ +

The logging callback that invokes a member function of an object.

+

Constructor & Destructor Documentation

+ +

◆ KuduLoggingMemberCallback()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
kudu::client::KuduLoggingMemberCallback< T >::KuduLoggingMemberCallback (T * object,
MemberType member 
)
+
+inline
+
+

Build an instance of KuduLoggingMemberCallback.

+
Parameters
+ + + +
[in]objectA pointer to the object.
[in]memberA pointer to the member function of the object to invoke.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Run()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void kudu::client::KuduLoggingMemberCallback< T >::Run (KuduLogSeverity severity,
const char * filename,
int line_number,
const struct ::tm * time,
const char * message,
size_t message_len 
)
+
+inlinevirtual
+
+ +

+

Log the message.

+
Note
The message is NOT terminated with an endline.
+
Parameters
+ + + + + + + +
[in]severitySeverity of the log message.
[in]filenameThe name of the source file the message is originated from.
[in]line_numberThe line of the source file the message is originated from.
[in]timeThe absolute time when the log event was generated.
[in]messageThe message to log. It's not terminated with an endline.
[in]message_lenNumber of characters in the message.
+
+
+ +

Implements kudu::client::KuduLoggingCallback.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.png new file mode 100644 index 0000000000..b92bab8b68 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduLoggingMemberCallback.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html new file mode 100644 index 0000000000..e921a30d7c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner-members.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduPartitioner Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduPartitioner, including all inherited members.

+ + + + +
NumPartitions() constkudu::client::KuduPartitioner
PartitionRow(const KuduPartialRow &row, int *partition)kudu::client::KuduPartitioner
~KuduPartitioner() (defined in kudu::client::KuduPartitioner)kudu::client::KuduPartitioner
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html new file mode 100644 index 0000000000..232d9edaa2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitioner.html @@ -0,0 +1,157 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduPartitioner Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduPartitioner Class Reference
+
+
+ +

#include <client.h>

+ + + + + + +

+Public Member Functions

int NumPartitions () const
 
Status PartitionRow (const KuduPartialRow &row, int *partition)
 
+

Detailed Description

+

A KuduPartitioner allows clients to determine the target partition of a row without actually performing a write. The set of partitions is eagerly fetched when the KuduPartitioner is constructed so that the actual partitioning step can be performed synchronously without any network trips.

+
Note
Because this operates on a metadata snapshot retrieved at construction time, it will not reflect any metadata changes to the table that have occurred since its creation.
+
Warning
This class is not thread-safe.
+

Member Function Documentation

+ +

◆ NumPartitions()

+ +
+
+ + + + + + + +
int kudu::client::KuduPartitioner::NumPartitions () const
+
+
Returns
the number of partitions known by this partitioner. The partition indices returned by PartitionRow are guaranteed to be less than this value.
+ +
+
+ +

◆ PartitionRow()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduPartitioner::PartitionRow (const KuduPartialRowrow,
int * partition 
)
+
+

Determine the partition index that the given row falls into.

+
Parameters
+ + + +
[in]rowThe row to be partitioned.
[out]partitionThe resulting partition index, or -1 if the row falls into a non-covered range. The result will be less than NumPartitions().
+
+
+
Returns
Status::OK if successful. May return a bad Status if the provided row does not have all columns of the partition key set.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html new file mode 100644 index 0000000000..277990a220 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder-members.html @@ -0,0 +1,88 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduPartitionerBuilder Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduPartitionerBuilder, including all inherited members.

+ + + + + +
Build(KuduPartitioner **partitioner)kudu::client::KuduPartitionerBuilder
KuduPartitionerBuilder(sp::shared_ptr< KuduTable > table)kudu::client::KuduPartitionerBuilderexplicit
SetBuildTimeout(MonoDelta timeout)kudu::client::KuduPartitionerBuilder
~KuduPartitionerBuilder() (defined in kudu::client::KuduPartitionerBuilder)kudu::client::KuduPartitionerBuilder
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html new file mode 100644 index 0000000000..b82269b818 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPartitionerBuilder.html @@ -0,0 +1,193 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduPartitionerBuilder Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduPartitionerBuilder Class Reference
+
+
+ +

Builder for Partitioner instances. + More...

+ +

#include <client.h>

+ + + + + + + + +

+Public Member Functions

 KuduPartitionerBuilder (sp::shared_ptr< KuduTable > table)
 
KuduPartitionerBuilderSetBuildTimeout (MonoDelta timeout)
 
Status Build (KuduPartitioner **partitioner)
 
+

Detailed Description

+

Builder for Partitioner instances.

+

Constructor & Destructor Documentation

+ +

◆ KuduPartitionerBuilder()

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder (sp::shared_ptr< KuduTabletable)
+
+explicit
+
+

Construct an instance of the class.

+
Parameters
+ + +
[in]tableThe table whose rows should be partitioned.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Build()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduPartitionerBuilder::Build (KuduPartitioner ** partitioner)
+
+

Create a KuduPartitioner object for the specified table.

+

This fetches all of the partitioning information up front if it is not already cached by the associated KuduClient object. Thus, it may time out or have an error if the Kudu master is not accessible.

+
Parameters
+ + +
[out]partitionerThe resulting KuduPartitioner instance; caller gets ownership.
+
+
+
Note
If the KuduClient object associated with the table already has some partition information cached (e.g. due to the construction of other Partitioners, or due to normal read/write activity), the resulting Partitioner will make use of that cached information. This means that the resulting partitioner is not guaranteed to have up-to-date partition information in the case that there has been a recent change to the partitioning of the target table.
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBuildTimeout()

+ +
+
+ + + + + + + + +
KuduPartitionerBuilder* kudu::client::KuduPartitionerBuilder::SetBuildTimeout (MonoDelta timeout)
+
+

Set the timeout used for building the Partitioner object.

+
Parameters
+ + +
[in]timeoutThe timeout to set.
+
+
+
Returns
Pointer to the result object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html new file mode 100644 index 0000000000..ad2db039bf --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPredicate-members.html @@ -0,0 +1,93 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduPredicate Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduPredicate, including all inherited members.

+ + + + + + + + + + +
Clone() constkudu::client::KuduPredicate
ComparisonOp enum namekudu::client::KuduPredicate
Datakudu::client::KuduPredicate
EQUAL enum value (defined in kudu::client::KuduPredicate)kudu::client::KuduPredicate
GREATER enum value (defined in kudu::client::KuduPredicate)kudu::client::KuduPredicate
GREATER_EQUAL enum value (defined in kudu::client::KuduPredicate)kudu::client::KuduPredicate
LESS enum value (defined in kudu::client::KuduPredicate)kudu::client::KuduPredicate
LESS_EQUAL enum value (defined in kudu::client::KuduPredicate)kudu::client::KuduPredicate
~KuduPredicate() (defined in kudu::client::KuduPredicate)kudu::client::KuduPredicate
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html new file mode 100644 index 0000000000..6144e0f4bb --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduPredicate.html @@ -0,0 +1,160 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduPredicate Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Public Attributes | +List of all members
+
+
kudu::client::KuduPredicate Class Reference
+
+
+ +

A representation of comparison predicate for Kudu queries. + More...

+ +

#include <scan_predicate.h>

+ + + + + +

+Public Types

enum  ComparisonOp {
+  LESS_EQUAL +, GREATER_EQUAL +, EQUAL +, LESS +,
+  GREATER +
+ }
 Supported comparison operators.
 
+ + + +

+Public Member Functions

KuduPredicateClone () const
 
+ + + + +

+Public Attributes

class KUDU_NO_EXPORT Data
 Forward declaration for the embedded PIMPL class. More...
 
+

Detailed Description

+

A representation of comparison predicate for Kudu queries.

+

Call KuduTable::NewComparisonPredicate() to create a predicate object.

+

Member Function Documentation

+ +

◆ Clone()

+ +
+
+ + + + + + + +
KuduPredicate* kudu::client::KuduPredicate::Clone () const
+
+
Returns
A new, identical, KuduPredicate object.
+ +
+
+

Member Data Documentation

+ +

◆ Data

+ +
+
+ + + + +
class KUDU_NO_EXPORT kudu::client::KuduPredicate::Data
+
+ +

Forward declaration for the embedded PIMPL class.

+

The PIMPL class has to be public since it's actually just an interface, and gcc gives an error trying to derive from a private nested class.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduRangePartition-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduRangePartition-members.html new file mode 100644 index 0000000000..7fb8573b9e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduRangePartition-members.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduRangePartition Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduRangePartition, including all inherited members.

+ + + + +
add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed=0)kudu::client::KuduRangePartition
KuduRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)kudu::client::KuduRangePartition
~KuduRangePartition() (defined in kudu::client::KuduRangePartition)kudu::client::KuduRangePartition
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduRangePartition.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduRangePartition.html new file mode 100644 index 0000000000..d2338de35e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduRangePartition.html @@ -0,0 +1,196 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduRangePartition Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduRangePartition Class Reference
+
+
+ +

#include <client.h>

+ + + + + + +

+Public Member Functions

 KuduRangePartition (KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
 
Status add_hash_partitions (const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed=0)
 
+

Detailed Description

+

A helper class to represent a Kudu range partition with a custom hash bucket schema. The hash sub-partitioning for a range partition might be different from the default table-wide hash bucket schema specified during the creation of a table (see KuduTableCreator::add_hash_partitions()). Correspondingly, this class provides a means to specify a custom hash bucket structure for the data in a range partition.

+

Constructor & Destructor Documentation

+ +

◆ KuduRangePartition()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
kudu::client::KuduRangePartition::KuduRangePartition (KuduPartialRowlower_bound,
KuduPartialRowupper_bound,
KuduTableCreator::RangePartitionBound lower_bound_type = KuduTableCreator::INCLUSIVE_BOUND,
KuduTableCreator::RangePartitionBound upper_bound_type = KuduTableCreator::EXCLUSIVE_BOUND 
)
+
+

Create an object representing the range defined by the given parameters.

+
Parameters
+ + + + + +
[in]lower_boundThe lower bound for the range. The KuduRangePartition object takes ownership of the parameter.
[in]upper_boundThe upper bound for the range. The KuduRangePartition object takes ownership of the parameter.
[in]lower_bound_typeThe type of the lower_bound: inclusive or exclusive; inclusive if the parameter is omitted.
[in]upper_bound_typeThe type of the upper_bound: inclusive or exclusive; exclusive if the parameter is omitted.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ add_hash_partitions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduRangePartition::add_hash_partitions (const std::vector< std::string > & columns,
int32_t num_buckets,
int32_t seed = 0 
)
+
+

Add a level of hash sub-partitioning for this range partition.

+

The hash schema for the range partition is defined by the whole set of its hash sub-partitioning levels. A range partition can have multiple levels of hash sub-partitioning: this method can be called multiple times to define a multi-dimensional hash bucketing structure for the range. Alternatively, a range partition can have zero levels of hash sub-partitioning: simply don't call this method on a newly created KuduRangePartition object to have no hash sub-partitioning for the range represented by the object.

+
Parameters
+ + + + +
[in]columnsNames of columns to use for partitioning.
[in]num_bucketsNumber of buckets for the hashing.
[in]seedHash seed for mapping rows to hash buckets.
+
+
+
Returns
Operation result status.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html new file mode 100644 index 0000000000..5086c977ed --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduReplica-members.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduReplica Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduReplica, including all inherited members.

+ + + + +
is_leader() constkudu::client::KuduReplica
ts() constkudu::client::KuduReplica
~KuduReplica() (defined in kudu::client::KuduReplica)kudu::client::KuduReplica
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html new file mode 100644 index 0000000000..cd61b3d8df --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduReplica.html @@ -0,0 +1,140 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduReplica Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduReplica Class Reference
+
+
+ +

In-memory representation of a remote tablet's replica. + More...

+ +

#include <client.h>

+ + + + + + +

+Public Member Functions

bool is_leader () const
 
const KuduTabletServerts () const
 
+

Detailed Description

+

In-memory representation of a remote tablet's replica.

+

Member Function Documentation

+ +

◆ is_leader()

+ +
+
+ + + + + + + +
bool kudu::client::KuduReplica::is_leader () const
+
+
Returns
Whether or not this replica is a Raft leader.
+
Note
This information may be stale; the role of a replica may change at any time.
+ +
+
+ +

◆ ts()

+ +
+
+ + + + + + + +
const KuduTabletServer& kudu::client::KuduReplica::ts () const
+
+
Returns
The tablet server hosting this remote replica.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html new file mode 100644 index 0000000000..de838c5351 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch-members.html @@ -0,0 +1,132 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduScanBatch Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduScanBatch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin() constkudu::client::KuduScanBatchinline
cell(int col_idx) constkudu::client::KuduScanBatch
direct_data() constkudu::client::KuduScanBatch
end() constkudu::client::KuduScanBatchinline
GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULTkudu::client::KuduScanBatch
indirect_data() constkudu::client::KuduScanBatch
IsDeleted(bool *val) const WARN_UNUSED_RESULT KUDU_NO_EXPORTkudu::client::KuduScanBatch
IsNull(const Slice &col_name) constkudu::client::KuduScanBatch
IsNull(int col_idx) constkudu::client::KuduScanBatch
KuduScanBatch() (defined in kudu::client::KuduScanBatch)kudu::client::KuduScanBatch
NumRows() constkudu::client::KuduScanBatch
operator!=(const const_iterator &other) constkudu::client::KuduScanBatchinline
operator*() constkudu::client::KuduScanBatchinline
operator++()kudu::client::KuduScanBatchinline
operator++(int)kudu::client::KuduScanBatchinline
operator->() constkudu::client::KuduScanBatchinline
operator->() constkudu::client::KuduScanBatchinline
operator==(const const_iterator &other) constkudu::client::KuduScanBatchinline
projection_schema() constkudu::client::KuduScanBatch
Row(int idx) constkudu::client::KuduScanBatch
RowPtr()kudu::client::KuduScanBatchinline
ToString() constkudu::client::KuduScanBatch
value_type typedefkudu::client::KuduScanBatch
~const_iterator() (defined in kudu::client::KuduScanBatch)kudu::client::KuduScanBatchinline
~KuduScanBatch() (defined in kudu::client::KuduScanBatch)kudu::client::KuduScanBatch
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html new file mode 100644 index 0000000000..9f94b2ea4d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.html @@ -0,0 +1,1725 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduScanBatch Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduScanBatch Class Reference
+
+
+ +

A batch of zero or more rows returned by a scan operation. + More...

+ +

#include <scan_batch.h>

+
+Inheritance diagram for kudu::client::KuduScanBatch:
+
+
+ +
+ + + + + +

+Public Types

+typedef RowPtr value_type
 A handy typedef for the RowPtr.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

int NumRows () const
 
KuduScanBatch::RowPtr Row (int idx) const
 
const_iterator begin () const
 
const_iterator end () const
 
const KuduSchemaprojection_schema () const
 
 RowPtr ()
 
const RowPtroperator-> () const
 
bool IsNull (const Slice &col_name) const
 
bool IsNull (int col_idx) const
 
Status IsDeleted (bool *val) const WARN_UNUSED_RESULT KUDU_NO_EXPORT
 
const void * cell (int col_idx) const
 
std::string ToString () const
 
KuduScanBatch::RowPtr operator* () const
 
KuduScanBatch::RowPtr operator-> () const
 
const_iterator & operator++ ()
 
const_iterator operator++ (int)
 
bool operator== (const const_iterator &other) const
 
bool operator!= (const const_iterator &other) const
 
Advanced/Unstable API

There are no guarantees on the stability of the format returned by these methods, which might change at any given time.

+
Note
The Slices returned by both direct_data() and indirect_data() are only valid for the lifetime of the KuduScanBatch.
+
Slice direct_data () const
 
Slice indirect_data () const
 
Getters for integral type columns by column name.
Status GetBool (const Slice &col_name, bool *val) const WARN_UNUSED_RESULT
 
Status GetInt8 (const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT
 
Status GetInt16 (const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT
 
Status GetInt32 (const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT
 
Status GetInt64 (const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT
 
Status GetUnixTimeMicros (const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
 
Status GetDate (const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
 
Status GetFloat (const Slice &col_name, float *val) const WARN_UNUSED_RESULT
 
Status GetDouble (const Slice &col_name, double *val) const WARN_UNUSED_RESULT
 
Getters for integral type columns by column index.

These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.

+
Status GetBool (int col_idx, bool *val) const WARN_UNUSED_RESULT
 
Status GetInt8 (int col_idx, int8_t *val) const WARN_UNUSED_RESULT
 
Status GetInt16 (int col_idx, int16_t *val) const WARN_UNUSED_RESULT
 
Status GetInt32 (int col_idx, int32_t *val) const WARN_UNUSED_RESULT
 
Status GetInt64 (int col_idx, int64_t *val) const WARN_UNUSED_RESULT
 
Status GetUnixTimeMicros (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
 
Status GetDate (int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
 
Status GetFloat (int col_idx, float *val) const WARN_UNUSED_RESULT
 
Status GetDouble (int col_idx, double *val) const WARN_UNUSED_RESULT
 
Getters for string/binary/varchar column by column name.
Status GetString (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
 
Status GetBinary (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
 
Status GetVarchar (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
 
Getters for string/binary/varchar column by column index.
Status GetString (int col_idx, Slice *val) const WARN_UNUSED_RESULT
 
Status GetBinary (int col_idx, Slice *val) const WARN_UNUSED_RESULT
 
Status GetVarchar (int col_idx, Slice *val) const WARN_UNUSED_RESULT
 
+

Detailed Description

+

A batch of zero or more rows returned by a scan operation.

+

Every call to KuduScanner::NextBatch() returns a batch of zero or more rows. You can iterate over the rows in the batch using:

+

range-foreach loop (C++11):

for (KuduScanBatch::RowPtr row : batch) {
+
... row.GetInt(1, ...)
+
...
+
}
+
RowPtr()
Definition: scan_batch.h:167
+

regular for loop (C++03):

for (KuduScanBatch::const_iterator it = batch.begin(), it != batch.end();
+
++it) {
+ +
...
+
}
+

or

for (int i = 0, num_rows = batch.NumRows();
+
i < num_rows;
+
i++) {
+
KuduScanBatch::RowPtr row = batch.Row(i);
+
...
+
}
+
Note
In the above example, NumRows() is only called once at the beginning of the loop to avoid extra calls to the non-inlined method.
+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + +
+ + + + + + + +
KuduScanBatch::const_iterator kudu::client::KuduScanBatch::begin () const
+
+inline
+
+
Returns
Forward iterator to the start of the rows in the batch.
+ +
+
+ +

◆ cell()

+ +
+
+ + + + + + + + +
const void* kudu::client::KuduScanBatch::cell (int col_idx) const
+
+

Get the column's row data.

+
Note
Should be avoided unless absolutely necessary.
+
Parameters
+ + +
[in]col_idxThe index of the column.
+
+
+
Returns
Raw cell data for the specified index.
+ +
+
+ +

◆ direct_data()

+ +
+
+ + + + + + + +
Slice kudu::client::KuduScanBatch::direct_data () const
+
+

Return a slice that points to the direct row data received from the server. Users of this API must have knowledge of the data format in order to decode the data.

+
Warning
Unstable API
+
Returns
a Slice that points to the raw direct row data.
+ +
+
+ +

◆ end()

+ +
+
+ + + + + +
+ + + + + + + +
KuduScanBatch::const_iterator kudu::client::KuduScanBatch::end () const
+
+inline
+
+
Returns
Forward iterator to the end of the rows in the batch.
+ +
+
+ +

◆ GetBinary() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetBinary (const Slicecol_name,
Sliceval 
) const
+
+

Get the string/binary/varchar value for a column by its name.

+
Parameters
+ + + +
[in]col_nameName of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetBinary() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetBinary (int col_idx,
Sliceval 
) const
+
+

Get the string/binary/varchar value for a column by its index.

+

These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.

+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetBool() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetBool (const Slicecol_name,
bool * val 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetBool() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetBool (int col_idx,
bool * val 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDate() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetDate (const Slicecol_name,
int32_t * days_since_unix_epoch 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]days_since_unix_epochPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDate() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetDate (int col_idx,
int32_t * days_since_unix_epoch 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]days_since_unix_epochPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDouble() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetDouble (const Slicecol_name,
double * val 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetDouble() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetDouble (int col_idx,
double * val 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetFloat() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetFloat (const Slicecol_name,
float * val 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetFloat() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetFloat (int col_idx,
float * val 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt16() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt16 (const Slicecol_name,
int16_t * val 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt16() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt16 (int col_idx,
int16_t * val 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt32() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt32 (const Slicecol_name,
int32_t * val 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt32() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt32 (int col_idx,
int32_t * val 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt64() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt64 (const Slicecol_name,
int64_t * val 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt64() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt64 (int col_idx,
int64_t * val 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt8() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt8 (const Slicecol_name,
int8_t * val 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetInt8() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetInt8 (int col_idx,
int8_t * val 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetString() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetString (const Slicecol_name,
Sliceval 
) const
+
+

Get the string/binary/varchar value for a column by its name.

+
Parameters
+ + + +
[in]col_nameName of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetString() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetString (int col_idx,
Sliceval 
) const
+
+

Get the string/binary/varchar value for a column by its index.

+

These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.

+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetUnixTimeMicros() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetUnixTimeMicros (const Slicecol_name,
int64_t * micros_since_utc_epoch 
) const
+
+
Parameters
+ + + +
[in]col_nameThe name of the target column.
[out]micros_since_utc_epochPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetUnixTimeMicros() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetUnixTimeMicros (int col_idx,
int64_t * micros_since_utc_epoch 
) const
+
+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]micros_since_utc_epochPointer to the placeholder to put the resulting value.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetVarchar() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetVarchar (const Slicecol_name,
Sliceval 
) const
+
+

Get the string/binary/varchar value for a column by its name.

+
Parameters
+ + + +
[in]col_nameName of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ GetVarchar() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduScanBatch::GetVarchar (int col_idx,
Sliceval 
) const
+
+

Get the string/binary/varchar value for a column by its index.

+

These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.

+
Parameters
+ + + +
[in]col_idxThe index of the column.
[out]valPointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary.
+
+
+
Returns
Operation result status. Return a bad Status if at least one of the following is true:
    +
  • The type does not match.
  • +
  • The value is unset.
  • +
  • The value is NULL.
  • +
+
+ +
+
+ +

◆ indirect_data()

+ +
+
+ + + + + + + +
Slice kudu::client::KuduScanBatch::indirect_data () const
+
+

Like the method above, but for indirect data.

+
Warning
Unstable API
+
Returns
a Slice that points to the raw indirect row data.
+ +
+
+ +

◆ IsDeleted()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanBatch::IsDeleted (bool * val) const
+
+

Get the value of the IS_DELETED virtual column.

+
Parameters
+ + +
[out]valPlaceholder for the result value.
+
+
+
Returns
Operation result status. Return a bad Status if there is no IS_DELETED virtual column in the schema.
+ +
+
+ +

◆ IsNull() [1/2]

+ +
+
+ + + + + + + + +
bool kudu::client::KuduScanBatch::IsNull (const Slicecol_name) const
+
+
Parameters
+ + +
[in]col_nameName of the column.
+
+
+
Returns
true iff the specified column of the row has NULL value.
+ +
+
+ +

◆ IsNull() [2/2]

+ +
+
+ + + + + + + + +
bool kudu::client::KuduScanBatch::IsNull (int col_idx) const
+
+
Parameters
+ + +
[in]col_idxIndex of the column.
+
+
+
Returns
true iff the specified column of the row has NULL value.
+ +
+
+ +

◆ NumRows()

+ +
+
+ + + + + + + +
int kudu::client::KuduScanBatch::NumRows () const
+
+
Returns
The number of rows in this batch.
+ +
+
+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + +
bool kudu::client::KuduScanBatch::operator!= (const const_iterator & other) const
+
+inline
+
+

An operator to check whether two iterators are 'not equal'.

+
Parameters
+ + +
[in]otherThe iterator to compare with.
+
+
+
Returns
true iff the other iterator points to a different row in the same batch, or to a row belonging to a different batch altogether.
+ +
+
+ +

◆ operator*()

+ +
+
+ + + + + +
+ + + + + + + +
KuduScanBatch::RowPtr kudu::client::KuduScanBatch::operator* () const
+
+inline
+
+
Returns
The row in the batch the iterator is pointing at.
+ +
+
+ +

◆ operator++() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
const_iterator& kudu::client::KuduScanBatch::operator++ ()
+
+inline
+
+

Prefix increment operator: advances the iterator to the next position.

+
Returns
The reference to the iterator, pointing to the next position.
+ +
+
+ +

◆ operator++() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
const_iterator kudu::client::KuduScanBatch::operator++ (int )
+
+inline
+
+

Postfix increment operator: advances the iterator to the next position.

+
Returns
A copy of the iterator pointing to the pre-increment position.
+ +
+
+ +

◆ operator->() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
const RowPtr* kudu::client::KuduScanBatch::operator-> () const
+
+inline
+
+

Overloaded operator -> to support pointer trait for access via const_iterator.

Returns
Pointer to the row
+ +
+
+ +

◆ operator->() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
KuduScanBatch::RowPtr kudu::client::KuduScanBatch::operator-> () const
+
+inline
+
+
Note
Since iterator does not keep current KuduScanBatch::RowPtr, we cannot return pointer to it. Instead we return KuduScanBatch::RowPtr, which implements pointer operator ->
+
Returns
The row in the batch the iterator is pointing at.
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + +
bool kudu::client::KuduScanBatch::operator== (const const_iterator & other) const
+
+inline
+
+

An operator to check whether two iterators are 'equal'.

+
Parameters
+ + +
[in]otherThe iterator to compare with.
+
+
+
Returns
true iff the other iterator points to the same row of the same batch.
+ +
+
+ +

◆ projection_schema()

+ +
+
+ + + + + + + +
const KuduSchema* kudu::client::KuduScanBatch::projection_schema () const
+
+
Returns
The projection schema for this batch. All KuduScanBatch::RowPtr returned by this batch are guaranteed to have this schema.
+ +
+
+ +

◆ Row()

+ +
+
+ + + + + + + + +
KuduScanBatch::RowPtr kudu::client::KuduScanBatch::Row (int idx) const
+
+

Get a row at the specified index.

+
Parameters
+ + +
[in]idxThe index of the row to return.
+
+
+
Returns
A reference to one of the rows in this batch. The returned object is only valid for as long as this KuduScanBatch object is valid.
+ +
+
+ +

◆ RowPtr()

+ +
+
+ + + + + +
+ + + + + + + +
kudu::client::KuduScanBatch::RowPtr ()
+
+inline
+
+

Construct an invalid RowPtr. Before use, you must assign a properly-initialized value.

+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::client::KuduScanBatch::ToString () const
+
+
Returns
String representation for this row.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.png new file mode 100644 index 0000000000..c6921f8e6d Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanBatch.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html new file mode 100644 index 0000000000..a8a6779d72 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanToken-members.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduScanToken Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduScanToken, including all inherited members.

+ + + + + + +
DeserializeIntoScanner(KuduClient *client, const std::string &serialized_token, KuduScanner **scanner) WARN_UNUSED_RESULTkudu::client::KuduScanTokenstatic
IntoKuduScanner(KuduScanner **scanner) const WARN_UNUSED_RESULTkudu::client::KuduScanToken
Serialize(std::string *buf) const WARN_UNUSED_RESULTkudu::client::KuduScanToken
tablet() constkudu::client::KuduScanToken
~KuduScanToken() (defined in kudu::client::KuduScanToken)kudu::client::KuduScanToken
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html new file mode 100644 index 0000000000..56af1c4558 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanToken.html @@ -0,0 +1,239 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduScanToken Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::client::KuduScanToken Class Reference
+
+
+ +

A scan descriptor limited to a single physical contiguous location. + More...

+ +

#include <client.h>

+ + + + + + + + +

+Public Member Functions

Status IntoKuduScanner (KuduScanner **scanner) const WARN_UNUSED_RESULT
 
const KuduTablettablet () const
 
Status Serialize (std::string *buf) const WARN_UNUSED_RESULT
 
+ + + +

+Static Public Member Functions

static Status DeserializeIntoScanner (KuduClient *client, const std::string &serialized_token, KuduScanner **scanner) WARN_UNUSED_RESULT
 
+

Detailed Description

+

A scan descriptor limited to a single physical contiguous location.

+

A KuduScanToken describes a partial scan of a Kudu table limited to a single contiguous physical location. Using the KuduScanTokenBuilder, clients can describe the desired scan, including predicates, bounds, timestamps, and caching, and receive back a collection of scan tokens.

+

Each scan token may be separately turned into a scanner using KuduScanToken::IntoKuduScanner, with each scanner responsible for a disjoint section of the table.

+

Scan tokens may be serialized using the KuduScanToken::Serialize method and deserialized back into a scanner using the KuduScanToken::DeserializeIntoScanner method. This allows use cases such as generating scan tokens in the planner component of a query engine, then sending the tokens to execution nodes based on locality, and then instantiating the scanners on those nodes.

+

Scan token locality information can be inspected using the KuduScanToken::tablet() function.

+

Member Function Documentation

+ +

◆ DeserializeIntoScanner()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::client::KuduScanToken::DeserializeIntoScanner (KuduClientclient,
const std::string & serialized_token,
KuduScanner ** scanner 
)
+
+static
+
+

Create a new scanner and set the scanner options.

+
Parameters
+ + + + +
[in]clientClient to bound to the scanner.
[in]serialized_tokenToken containing serialized scanner parameters.
[out]scannerThe result scanner. The caller owns the new scanner. The scanner must be opened before use. The scanner will not be set if the returned status is an error.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ IntoKuduScanner()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanToken::IntoKuduScanner (KuduScanner ** scanner) const
+
+

Create a new scanner.

+

This method creates a new scanner, setting the result scanner's options according to the scan token.

+
Parameters
+ + +
[out]scannerThe result scanner. The caller owns the new scanner. The scanner must be opened before use. The output parameter will not be set if the returned status is an error.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ Serialize()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanToken::Serialize (std::string * buf) const
+
+

Serialize the token into a string.

+

The resulting string can be deserialized with KuduScanToken::Deserialize() to

+
Parameters
+ + +
[out]bufResult string to output the serialized token.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ tablet()

+ +
+
+ + + + + + + +
const KuduTablet& kudu::client::KuduScanToken::tablet () const
+
+
Returns
Tablet that this scan will retrieve rows from.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html new file mode 100644 index 0000000000..f165744d12 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder-members.html @@ -0,0 +1,103 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduScanTokenBuilder Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduScanTokenBuilder, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
AddConjunctPredicate(KuduPredicate *pred) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
AddLowerBound(const KuduPartialRow &key) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
AddUpperBound(const KuduPartialRow &key) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
Build(std::vector< KuduScanToken * > *tokens) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
IncludeTableMetadata(bool include_metadata) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
IncludeTabletMetadata(bool include_metadata) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
KuduScanTokenBuilder(KuduTable *table)kudu::client::KuduScanTokenBuilderexplicit
SetBatchSizeBytes(uint32_t batch_size) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetCacheBlocks(bool cache_blocks) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetFaultTolerant() WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetProjectedColumnIndexes(const std::vector< int > &col_indexes) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetProjectedColumnNames(const std::vector< std::string > &col_names) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetReadMode(KuduScanner::ReadMode read_mode) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetSnapshotMicros(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
SetSplitSizeBytes(uint64_t split_size_bytes)kudu::client::KuduScanTokenBuilder
SetTimeoutMillis(int millis) WARN_UNUSED_RESULTkudu::client::KuduScanTokenBuilder
~KuduScanTokenBuilder() (defined in kudu::client::KuduScanTokenBuilder)kudu::client::KuduScanTokenBuilder
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html new file mode 100644 index 0000000000..c23c80f832 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanTokenBuilder.html @@ -0,0 +1,631 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduScanTokenBuilder Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduScanTokenBuilder Class Reference
+
+
+ +

Builds scan tokens for a table. + More...

+ +

#include <client.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 KuduScanTokenBuilder (KuduTable *table)
 
Status SetProjectedColumnNames (const std::vector< std::string > &col_names) WARN_UNUSED_RESULT
 
Status SetProjectedColumnIndexes (const std::vector< int > &col_indexes) WARN_UNUSED_RESULT
 
Status AddConjunctPredicate (KuduPredicate *pred) WARN_UNUSED_RESULT
 
Status AddLowerBound (const KuduPartialRow &key) WARN_UNUSED_RESULT
 
Status AddUpperBound (const KuduPartialRow &key) WARN_UNUSED_RESULT
 
Status SetCacheBlocks (bool cache_blocks) WARN_UNUSED_RESULT
 
Status SetBatchSizeBytes (uint32_t batch_size) WARN_UNUSED_RESULT
 
Status SetSelection (KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
 
Status SetReadMode (KuduScanner::ReadMode read_mode) WARN_UNUSED_RESULT
 
Status SetFaultTolerant () WARN_UNUSED_RESULT
 
Status SetSnapshotMicros (uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT
 
Status SetSnapshotRaw (uint64_t snapshot_timestamp) WARN_UNUSED_RESULT
 
Status SetTimeoutMillis (int millis) WARN_UNUSED_RESULT
 
Status IncludeTableMetadata (bool include_metadata) WARN_UNUSED_RESULT
 
Status IncludeTabletMetadata (bool include_metadata) WARN_UNUSED_RESULT
 
void SetSplitSizeBytes (uint64_t split_size_bytes)
 
Status Build (std::vector< KuduScanToken * > *tokens) WARN_UNUSED_RESULT
 
+

Detailed Description

+

Builds scan tokens for a table.

+
Note
This class is not thread-safe.
+

Constructor & Destructor Documentation

+ +

◆ KuduScanTokenBuilder()

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder (KuduTabletable)
+
+explicit
+
+

Construct an instance of the class.

+
Parameters
+ + +
[in]tableThe table the tokens should scan. The given object must remain valid for the lifetime of the builder, and the tokens which it builds.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ AddConjunctPredicate()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::AddConjunctPredicate (KuduPredicatepred)
+
+ +

+

Add a predicate for the scan.

+
Parameters
+ + +
[in]predPredicate to set. The KuduScanTokenBuilder instance takes ownership of the parameter even if a bad Status is returned. Multiple calls of this method make the specified set of predicates work in conjunction, i.e. all predicates must be true for a row to be returned.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddLowerBound()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::AddLowerBound (const KuduPartialRowkey)
+
+ +

+

Add a lower bound (inclusive) primary key for the scan.

+

If any bound is already added, this bound is intersected with that one.

+
Parameters
+ + +
[in]keyLower bound primary key to add. The KuduScanTokenBuilder instance does not take ownership of the parameter.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddUpperBound()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::AddUpperBound (const KuduPartialRowkey)
+
+

Add an upper bound (exclusive) primary key.

+

If any bound is already added, this bound is intersected with that one.

+
Parameters
+ + +
[in]keyUpper bound primary key to add. The KuduScanTokenBuilder instance does not take ownership of the parameter.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ Build()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::Build (std::vector< KuduScanToken * > * tokens)
+
+

Build the set of scan tokens.

+

The builder may be reused after this call.

+
Parameters
+ + +
[out]tokensResult set of tokens. The caller takes ownership of the container elements.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ IncludeTableMetadata()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::IncludeTableMetadata (bool include_metadata)
+
+

If the table metadata is included on the scan token a GetTableSchema RPC call to the master can be avoided when deserializing each scan token into a scanner.

+
Parameters
+ + +
[in]include_metadatatrue, if table metadata should be included.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ IncludeTabletMetadata()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::IncludeTabletMetadata (bool include_metadata)
+
+

If the tablet metadata is included on the scan token a GetTableLocations RPC call to the master can be avoided when scanning with a scanner constructed from a scan token.

+
Parameters
+ + +
[in]include_metadatatrue, if table metadata should be included.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetBatchSizeBytes()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes (uint32_t batch_size)
+
+

Set the hint for the size of the next batch in bytes.

+
Parameters
+ + +
[in]batch_sizeBatch size to set (in bytes). If set to 0, the first call to the tablet server won't return data.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetCacheBlocks()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetCacheBlocks (bool cache_blocks)
+
+ +

+

Set the block caching policy.

+
Parameters
+ + +
[in]cache_blocksIf true, scanned data blocks will be cached in memory and made available for future scans. Default is true.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetFaultTolerant()

+ +
+
+ + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetFaultTolerant ()
+
+ +

+

Make scans resumable at another tablet server if current server fails.

+

Scans are by default non fault-tolerant, and scans will fail if scanning an individual tablet fails (for example, if a tablet server crashes in the middle of a tablet scan). If this method is called, scans will be resumed at another tablet server in the case of failure.

+

Fault-tolerant scans typically have lower throughput than non fault-tolerant scans. Fault tolerant scans use READ_AT_SNAPSHOT mode: if no snapshot timestamp is provided, the server will pick one.

+
Returns
Operation result status.
+ +
+
+ +

◆ SetProjectedColumnIndexes()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes (const std::vector< int > & col_indexes)
+
+ +

+

Set the column projection by passing the column indexes to read.

+

Set the column projection used for this scanner by passing the column indices to read. A call to this method overrides any previous call to SetProjectedColumnNames() or SetProjectedColumnIndexes().

+
Parameters
+ + +
[in]col_indexesColumn indices for the projection.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetProjectedColumnNames()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames (const std::vector< std::string > & col_names)
+
+

Set the column projection by passing the column names to read.

+

Set the column projection used for this scanner by passing the column names to read. A call of this method overrides any previous call to SetProjectedColumnNames() or SetProjectedColumnIndexes().

+
Parameters
+ + +
[in]col_namesColumn names for the projection.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetReadMode()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetReadMode (KuduScanner::ReadMode read_mode)
+
+ +

+

Set the ReadMode. Default is READ_LATEST.

+
Parameters
+ + +
[in]read_modeRead mode to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetSelection()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetSelection (KuduClient::ReplicaSelection selection)
+
+

Set the replica selection policy while scanning.

+
Parameters
+ + +
[in]selectionSelection policy to set.
+
+
+
Returns
Operation result status.
+
Todo:
Kill this in favor of a consistency-level-based API.
+ +
+
+ +

◆ SetSnapshotMicros()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetSnapshotMicros (uint64_t snapshot_timestamp_micros)
+
+ +

+

Set snapshot timestamp for scans in READ_AT_SNAPSHOT mode.

+
Parameters
+ + +
[in]snapshot_timestamp_microsTimestamp to set in in microseconds since the Epoch.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetSnapshotRaw()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetSnapshotRaw (uint64_t snapshot_timestamp)
+
+ +

+

Set snapshot timestamp for scans in READ_AT_SNAPSHOT mode (raw).

+
Note
This method is experimental and will either disappear or change in a future release.
+
Parameters
+ + +
[in]snapshot_timestampTimestamp to set in raw encoded form (i.e. as returned by a previous call to a server).
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetSplitSizeBytes()

+ +
+
+ + + + + + + + +
void kudu::client::KuduScanTokenBuilder::SetSplitSizeBytes (uint64_t split_size_bytes)
+
+

Set approximate data size (in bytes) for each key range that a single scan token is built for.

+
Parameters
+ + +
[in]split_size_bytesThe approximate target size of the data to be retrieved per scan token. If set to 0 (and that's the default, unless explicitly set by calling this method), the key ranges of the scan tokens to be produced are determined by the table's partition schema, so a single token is built per single tablet. Also see KuduScanToken::setSplitSizeBytes in the Java client.
+
+
+ +
+
+ +

◆ SetTimeoutMillis()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanTokenBuilder::SetTimeoutMillis (int millis)
+
+ +

+

Set the maximum time that Open() and NextBatch() are allowed to take.

+
Parameters
+ + +
[in]millisTimeout to set (in milliseconds). Must be greater than 0.
+
+
+
Returns
Operation result status.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html new file mode 100644 index 0000000000..08de855590 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanner-members.html @@ -0,0 +1,130 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduScanner Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduScanner, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddConjunctPredicate(KuduPredicate *pred) WARN_UNUSED_RESULTkudu::client::KuduScanner
AddExclusiveUpperBound(const KuduPartialRow &key)kudu::client::KuduScanner
AddExclusiveUpperBoundPartitionKeyRaw(const Slice &partition_key)kudu::client::KuduScanner
AddExclusiveUpperBoundRaw(const Slice &key)kudu::client::KuduScanner
AddLowerBound(const KuduPartialRow &key)kudu::client::KuduScanner
AddLowerBoundPartitionKeyRaw(const Slice &partition_key)kudu::client::KuduScanner
AddLowerBoundRaw(const Slice &key)kudu::client::KuduScanner
Close()kudu::client::KuduScanner
COLUMNAR_LAYOUTkudu::client::KuduScannerstatic
GetCurrentServer(KuduTabletServer **server)kudu::client::KuduScanner
GetKuduTable()kudu::client::KuduScanner
GetProjectionSchema() constkudu::client::KuduScanner
GetResourceMetrics() constkudu::client::KuduScanner
HasMoreRows() constkudu::client::KuduScanner
KeepAlive()kudu::client::KuduScanner
kScanTimeoutMillis enum value (defined in kudu::client::KuduScanner)kudu::client::KuduScanner
KuduScanner(KuduTable *table)kudu::client::KuduScannerexplicit
NextBatch(std::vector< KuduRowResult > *rows)kudu::client::KuduScanner
NextBatch(KuduScanBatch *batch)kudu::client::KuduScanner
NextBatch(KuduColumnarScanBatch *batch)kudu::client::KuduScanner
NO_FLAGSkudu::client::KuduScannerstatic
Open()kudu::client::KuduScanner
ORDERED enum valuekudu::client::KuduScanner
OrderMode enum namekudu::client::KuduScanner
PAD_UNIXTIME_MICROS_TO_16_BYTESkudu::client::KuduScannerstatic
READ_AT_SNAPSHOT enum valuekudu::client::KuduScanner
READ_LATEST enum valuekudu::client::KuduScanner
READ_YOUR_WRITES enum valuekudu::client::KuduScanner
ReadMode enum namekudu::client::KuduScanner
SetBatchSizeBytes(uint32_t batch_size)kudu::client::KuduScanner
SetCacheBlocks(bool cache_blocks)kudu::client::KuduScanner
SetFaultTolerant() WARN_UNUSED_RESULTkudu::client::KuduScanner
SetLimit(int64_t limit) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetOrderMode(OrderMode order_mode) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetProjectedColumnIndexes(const std::vector< int > &col_indexes) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetProjectedColumnNames(const std::vector< std::string > &col_names) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetProjectedColumns(const std::vector< std::string > &col_names) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetReadMode(ReadMode read_mode) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetRowFormatFlags(uint64_t flags)kudu::client::KuduScanner
SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetSnapshotMicros(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULTkudu::client::KuduScanner
SetTimeoutMillis(int millis)kudu::client::KuduScanner
ToString() constkudu::client::KuduScanner
UNORDERED enum valuekudu::client::KuduScanner
~KuduScanner() (defined in kudu::client::KuduScanner)kudu::client::KuduScanner
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html new file mode 100644 index 0000000000..24f07fcc7b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduScanner.html @@ -0,0 +1,1176 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduScanner Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduScanner Class Reference
+
+
+ +

This class is a representation of a single scan. + More...

+ +

#include <client.h>

+ + + + + + + + + +

+Public Types

enum  ReadMode { READ_LATEST +, READ_AT_SNAPSHOT +, READ_YOUR_WRITES + }
 The read modes for scanners. More...
 
enum  OrderMode { UNORDERED +, ORDERED + }
 
enum  { kScanTimeoutMillis = 30000 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 KuduScanner (KuduTable *table)
 
Status SetProjectedColumnNames (const std::vector< std::string > &col_names) WARN_UNUSED_RESULT
 
Status SetProjectedColumnIndexes (const std::vector< int > &col_indexes) WARN_UNUSED_RESULT
 
Status SetProjectedColumns (const std::vector< std::string > &col_names) WARN_UNUSED_RESULT
 
Status AddConjunctPredicate (KuduPredicate *pred) WARN_UNUSED_RESULT
 
Status AddLowerBound (const KuduPartialRow &key)
 
Status AddLowerBoundRaw (const Slice &key)
 
Status AddExclusiveUpperBound (const KuduPartialRow &key)
 
Status AddExclusiveUpperBoundRaw (const Slice &key)
 
Status AddLowerBoundPartitionKeyRaw (const Slice &partition_key)
 
Status AddExclusiveUpperBoundPartitionKeyRaw (const Slice &partition_key)
 
Status SetCacheBlocks (bool cache_blocks)
 
Status Open ()
 
Status KeepAlive ()
 
void Close ()
 
bool HasMoreRows () const
 
Status NextBatch (std::vector< KuduRowResult > *rows)
 
Status NextBatch (KuduScanBatch *batch)
 
Status NextBatch (KuduColumnarScanBatch *batch)
 
Status GetCurrentServer (KuduTabletServer **server)
 
const ResourceMetricsGetResourceMetrics () const
 
Status SetBatchSizeBytes (uint32_t batch_size)
 
Status SetSelection (KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
 
Status SetReadMode (ReadMode read_mode) WARN_UNUSED_RESULT
 
Status SetOrderMode (OrderMode order_mode) WARN_UNUSED_RESULT
 
Status SetFaultTolerant () WARN_UNUSED_RESULT
 
Status SetSnapshotMicros (uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT
 
Status SetSnapshotRaw (uint64_t snapshot_timestamp) WARN_UNUSED_RESULT
 
Status SetTimeoutMillis (int millis)
 
KuduSchema GetProjectionSchema () const
 
sp::shared_ptr< KuduTableGetKuduTable ()
 
Status SetLimit (int64_t limit) WARN_UNUSED_RESULT
 
std::string ToString () const
 
+ + + + + + + + + + + +

Advanced/Unstable API

Modifier flags for the row format returned from the server.

+
Note
Each flag corresponds to a bit that gets set on a bitset that is sent to the server. See SetRowFormatFlags() for example usage.
+
+static const uint64_t NO_FLAGS = 0
 No flags set.
 
static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES = 1 << 0
 
static const uint64_t COLUMNAR_LAYOUT = 1 << 1
 
Status SetRowFormatFlags (uint64_t flags)
 
+

Detailed Description

+

This class is a representation of a single scan.

+
Note
This class is not thread-safe, though different scanners on different threads may share a single KuduTable object.
+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+

Default scanner timeout. This is set to 3x the default RPC timeout returned by KuduClientBuilder::default_rpc_timeout().

+ +
+
+ +

◆ OrderMode

+ +
+
+

Whether the rows should be returned in order.

+

This affects the fault-tolerance properties of a scanner.

+ + + +
Enumerator
UNORDERED 

Rows will be returned in an arbitrary order determined by the tablet server. This is efficient, but unordered scans are not fault-tolerant and cannot be resumed in the case of tablet server failure.

+

This is the default mode.

+
ORDERED 

Rows will be returned ordered by primary key. Sorting the rows imposes additional overhead on the tablet server, but means that scans are fault-tolerant and will be resumed at another tablet server in the case of a failure.

+
+ +
+
+ +

◆ ReadMode

+ +
+
+ +

The read modes for scanners.

+ + + + +
Enumerator
READ_LATEST 

When READ_LATEST is specified the server will always return committed writes at the time the request was received. This type of read does not return a snapshot timestamp and is not repeatable.

+

In ACID terms this corresponds to Isolation mode: "Read Committed"

+

This is the default mode.

+
READ_AT_SNAPSHOT 

When READ_AT_SNAPSHOT is specified the server will attempt to perform a read at the provided timestamp. If no timestamp is provided the server will take the current time as the snapshot timestamp. In this mode reads are repeatable, i.e. all future reads at the same timestamp will yield the same data. This is performed at the expense of waiting for in-flight ops whose timestamp is lower than the snapshot's timestamp to complete, so it might incur a latency penalty. See KuduScanner::SetSnapshotMicros() and KuduScanner::SetSnapshotRaw() for details.

+

In ACID terms this, by itself, corresponds to Isolation mode "Repeatable + Read". If all writes to the scanned tablet are made externally consistent, then this corresponds to Isolation mode "Strict-Serializable".

+
Note
There are currently "holes", which happen in rare edge conditions, by which writes are sometimes not externally consistent even when action was taken to make them so. In these cases Isolation may degenerate to mode "Read Committed". See KUDU-430.
+
READ_YOUR_WRITES 

When READ_YOUR_WRITES is specified, the client will perform a read such that it follows all previously known writes and reads from this client. Specifically this mode: (1) ensures read-your-writes and read-your-reads session guarantees, (2) minimizes latency caused by waiting for outstanding write ops to complete.

+

Reads in this mode are not repeatable: two READ_YOUR_WRITES reads, even if they provide the same propagated timestamp bound, can execute at different timestamps and thus return different results.

+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ KuduScanner()

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::client::KuduScanner::KuduScanner (KuduTabletable)
+
+explicit
+
+

Constructor for KuduScanner.

+
Parameters
+ + +
[in]tableThe table to perfrom scan. The given object must remain valid for the lifetime of this scanner object.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ AddConjunctPredicate()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::AddConjunctPredicate (KuduPredicatepred)
+
+

Add a predicate for the scan.

+
Parameters
+ + +
[in]predPredicate to set. The KuduScanTokenBuilder instance takes ownership of the parameter even if a bad Status is returned. Multiple calls of this method make the specified set of predicates work in conjunction, i.e. all predicates must be true for a row to be returned.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddExclusiveUpperBound()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::AddExclusiveUpperBound (const KuduPartialRowkey)
+
+

Add an upper bound (exclusive) primary key for the scan.

+

If any bound is already added, this bound is intersected with that one.

+
Parameters
+ + +
[in]keyThe key to setup the upper bound. The scanner makes a copy of the parameter, the caller may free it afterward.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddExclusiveUpperBoundPartitionKeyRaw()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::AddExclusiveUpperBoundPartitionKeyRaw (const Slicepartition_key)
+
+

Add an upper bound (exclusive) partition key for the scan.

+
Note
This method is unstable, and for internal use only.
+
Parameters
+ + +
[in]partition_keyThe scanner makes a copy of the parameter, the caller may invalidate it afterward.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddExclusiveUpperBoundRaw()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::AddExclusiveUpperBoundRaw (const Slicekey)
+
+

Add an upper bound (exclusive) primary key for the scan.

+
Deprecated:
Use AddExclusiveUpperBound() instead.
+
Parameters
+ + +
[in]keyThe encoded primary key is an opaque slice of data.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddLowerBound()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::AddLowerBound (const KuduPartialRowkey)
+
+

Add a lower bound (inclusive) primary key for the scan.

+

If any bound is already added, this bound is intersected with that one.

+
Parameters
+ + +
[in]keyLower bound primary key to add. The KuduScanTokenBuilder instance does not take ownership of the parameter.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddLowerBoundPartitionKeyRaw()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::AddLowerBoundPartitionKeyRaw (const Slicepartition_key)
+
+

Add a lower bound (inclusive) partition key for the scan.

+
Note
This method is unstable, and for internal use only.
+
Parameters
+ + +
[in]partition_keyThe scanner makes a copy of the parameter: the caller may invalidate it afterward.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ AddLowerBoundRaw()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::AddLowerBoundRaw (const Slicekey)
+
+

Add lower bound for the scan.

+
Deprecated:
Use AddLowerBound() instead.
+
Parameters
+ + +
[in]keyThe primary key to use as an opaque slice of data.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ Close()

+ +
+
+ + + + + + + +
void kudu::client::KuduScanner::Close ()
+
+

Close the scanner.

+

Closing the scanner releases resources on the server. This call does not block, and will not ever fail, even if the server cannot be contacted.

+
Note
The scanner is reset to its initial state by this function. You'll have to re-add any projection, predicates, etc if you want to reuse this object.
+ +
+
+ +

◆ GetCurrentServer()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::GetCurrentServer (KuduTabletServer ** server)
+
+

Get the KuduTabletServer that is currently handling the scan.

+

More concretely, this is the server that handled the most recent Open() or NextBatch() RPC made by the server.

+
Parameters
+ + +
[out]serverPlaceholder for the result.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ GetKuduTable()

+ +
+
+ + + + + + + +
sp::shared_ptr<KuduTable> kudu::client::KuduScanner::GetKuduTable ()
+
+
Returns
KuduTable being scanned.
+ +
+
+ +

◆ GetProjectionSchema()

+ +
+
+ + + + + + + +
KuduSchema kudu::client::KuduScanner::GetProjectionSchema () const
+
+
Returns
Schema of the projection being scanned.
+ +
+
+ +

◆ GetResourceMetrics()

+ +
+
+ + + + + + + +
const ResourceMetrics& kudu::client::KuduScanner::GetResourceMetrics () const
+
+
Returns
Cumulative resource metrics since the scan was started.
+ +
+
+ +

◆ HasMoreRows()

+ +
+
+ + + + + + + +
bool kudu::client::KuduScanner::HasMoreRows () const
+
+

Check if there may be rows to be fetched from this scanner.

+
Returns
true if there may be rows to be fetched from this scanner. The method returns true provided there's at least one more tablet left to scan, even if that tablet has no data (we'll only know once we scan it). It will also be true after the initially opening the scanner before NextBatch is called for the first time.
+ +
+
+ +

◆ KeepAlive()

+ +
+
+ + + + + + + +
Status kudu::client::KuduScanner::KeepAlive ()
+
+

Keep the current remote scanner alive.

+

Keep the current remote scanner alive on the Tablet server for an additional time-to-live. This is useful if the interval in between NextBatch() calls is big enough that the remote scanner might be garbage collected. The scanner time-to-live can be configured on the tablet server via the –scanner_ttl_ms configuration flag and has a default of 60 seconds.

+

This does not invalidate any previously fetched results.

+
Returns
Operation result status. In particular, this method returns a non-OK status if the scanner was already garbage collected or if the TabletServer was unreachable, for any reason. Note that a non-OK status returned by this method should not be taken as indication that the scan has failed. Subsequent calls to NextBatch() might still be successful, particularly if the scanner is configured to be fault tolerant.
+ +
+
+ +

◆ NextBatch() [1/3]

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::NextBatch (KuduColumnarScanBatchbatch)
+
+

Fetch the next batch of columnar results for this scanner.

+

This variant may only be used when the scan is configured with the COLUMNAR_LAYOUT RowFormatFlag.

+

A single KuduColumnarScanBatch object may be reused. Each subsequent call replaces the data from the previous call, and invalidates any Slice objects previously obtained from the batch.

Parameters
+ + +
[out]batchPlaceholder for the result.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ NextBatch() [2/3]

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::NextBatch (KuduScanBatchbatch)
+
+

Fetch the next batch of results for this scanner.

+

This variant may not be used when the scan is configured with the COLUMNAR_LAYOUT RowFormatFlag.

+

A single KuduScanBatch object may be reused. Each subsequent call replaces the data from the previous call, and invalidates any KuduScanBatch::RowPtr objects previously obtained from the batch.

Parameters
+ + +
[out]batchPlaceholder for the result.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ NextBatch() [3/3]

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::NextBatch (std::vector< KuduRowResult > * rows)
+
+

Get next batch of rows.

+

Clears 'rows' and populates it with the next batch of rows from the tablet server. A call to NextBatch() invalidates all previously fetched results which might now be pointing to garbage memory.

+
Deprecated:
Use NextBatch(KuduScanBatch*) instead.
+
Parameters
+ + +
[out]rowsPlaceholder for the result.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ Open()

+ +
+
+ + + + + + + +
Status kudu::client::KuduScanner::Open ()
+
+
Returns
Result status of the operation (begin scanning).
+ +
+
+ +

◆ SetBatchSizeBytes()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetBatchSizeBytes (uint32_t batch_size)
+
+

Set the hint for the size of the next batch in bytes.

+
Parameters
+ + +
[in]batch_sizeThe hint of batch size to set. If setting to 0 before calling Open(), it means that the first call to the tablet server won't return data.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetCacheBlocks()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetCacheBlocks (bool cache_blocks)
+
+

Set the block caching policy.

+
Parameters
+ + +
[in]cache_blocksIf true, scanned data blocks will be cached in memory and made available for future scans. Default is true.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetFaultTolerant()

+ +
+
+ + + + + + + +
Status kudu::client::KuduScanner::SetFaultTolerant ()
+
+

Make scans resumable at another tablet server if current server fails.

+

Scans are by default non fault-tolerant, and scans will fail if scanning an individual tablet fails (for example, if a tablet server crashes in the middle of a tablet scan). If this method is called, scans will be resumed at another tablet server in the case of failure.

+

Fault-tolerant scans typically have lower throughput than non fault-tolerant scans. Fault tolerant scans use READ_AT_SNAPSHOT mode: if no snapshot timestamp is provided, the server will pick one.

+
Returns
Operation result status.
+ +
+
+ +

◆ SetLimit()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetLimit (int64_t limit)
+
+

Set the maximum number of rows the scanner should return.

+
Parameters
+ + +
[in]limitLimit on the number of rows to return.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetOrderMode()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetOrderMode (OrderMode order_mode)
+
+
Deprecated:
Use SetFaultTolerant() instead.
+
Parameters
+ + +
[in]order_modeResult record ordering mode to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetProjectedColumnIndexes()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetProjectedColumnIndexes (const std::vector< int > & col_indexes)
+
+

Set the column projection by passing the column indexes to read.

+

Set the column projection used for this scanner by passing the column indices to read. A call to this method overrides any previous call to SetProjectedColumnNames() or SetProjectedColumnIndexes().

+
Parameters
+ + +
[in]col_indexesColumn indices for the projection.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetProjectedColumnNames()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetProjectedColumnNames (const std::vector< std::string > & col_names)
+
+

Set the projection for the scanner using column names.

+

Set the projection used for the scanner by passing column names to read. This overrides any previous call to SetProjectedColumnNames() or SetProjectedColumnIndexes().

+
Parameters
+ + +
[in]col_namesColumn names to use for the projection.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetProjectedColumns()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetProjectedColumns (const std::vector< std::string > & col_names)
+
+
Deprecated:
Use SetProjectedColumnNames() instead.
+
Parameters
+ + +
[in]col_namesColumn names to use for the projection.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetReadMode()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetReadMode (ReadMode read_mode)
+
+

Set the ReadMode. Default is READ_LATEST.

+
Parameters
+ + +
[in]read_modeRead mode to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetRowFormatFlags()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetRowFormatFlags (uint64_t flags)
+
+

Optionally set row format modifier flags.

+

If flags is RowFormatFlags::NO_FLAGS, then no modifications will be made to the row format and the default will be used.

+

Some flags require server-side server-side support, thus the caller should be prepared to handle a NotSupported status in Open() and NextBatch().

+

Example usage (without error handling, for brevity):

KuduScanner scanner(...);
+
uint64_t row_format_flags = KuduScanner::NO_FLAGS;
+ +
scanner.SetRowFormatFlags(row_format_flags);
+
scanner.Open();
+
while (scanner.HasMoreRows()) {
+
KuduScanBatch batch;
+
scanner.NextBatch(&batch);
+
Slice direct_data = batch.direct_data();
+
Slice indirect_data = batch.indirect_data();
+
... // Row data decoding and handling.
+
}
+
KuduScanner(KuduTable *table)
+
static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES
Definition: client.h:3112
+
static const uint64_t NO_FLAGS
No flags set.
Definition: client.h:3105
+
Parameters
+ + +
[in]flagsRow format modifier flags to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetSelection()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetSelection (KuduClient::ReplicaSelection selection)
+
+

Set the replica selection policy while scanning.

+
Parameters
+ + +
[in]selectionThe policy to set.
+
+
+
Returns
Operation result status.
+
Todo:
Kill this method in favor of a consistency-level-based API.
+ +
+
+ +

◆ SetSnapshotMicros()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetSnapshotMicros (uint64_t snapshot_timestamp_micros)
+
+

Set snapshot timestamp for scans in READ_AT_SNAPSHOT mode.

+
Parameters
+ + +
[in]snapshot_timestamp_microsTimestamp to set in in microseconds since the Epoch.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetSnapshotRaw()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetSnapshotRaw (uint64_t snapshot_timestamp)
+
+

Set snapshot timestamp for scans in READ_AT_SNAPSHOT mode (raw).

+
Note
This method is experimental and will either disappear or change in a future release.
+
Parameters
+ + +
[in]snapshot_timestampTimestamp to set in raw encoded form (i.e. as returned by a previous call to a server).
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetTimeoutMillis()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduScanner::SetTimeoutMillis (int millis)
+
+

Set the maximum time that Open() and NextBatch() are allowed to take.

+
Parameters
+ + +
[in]millisTimeout to set (in milliseconds). Must be greater than 0.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::client::KuduScanner::ToString () const
+
+
Returns
String representation of this scan.
+ +
+
+

Member Data Documentation

+ +

◆ COLUMNAR_LAYOUT

+ +
+
+ + + + + +
+ + + + +
const uint64_t kudu::client::KuduScanner::COLUMNAR_LAYOUT = 1 << 1
+
+static
+
+

Enable column-oriented data transfer. The server will transfer data to the client in a columnar format rather than a row-wise format. The KuduColumnarScanBatch API must be used to fetch results from this scan.

+

NOTE: older versions of the Kudu server do not support this feature. Clients aiming to support compatibility with previous versions should have a fallback code path.

+ +
+
+ +

◆ PAD_UNIXTIME_MICROS_TO_16_BYTES

+ +
+
+ + + + + +
+ + + + +
const uint64_t kudu::client::KuduScanner::PAD_UNIXTIME_MICROS_TO_16_BYTES = 1 << 0
+
+static
+
+
Note
This flag actually wastes throughput by making messages larger than they need to be. It exists merely for compatibility reasons and requires the user to know the row format in order to decode the data. That is, if this flag is enabled, the user must use KuduScanBatch::direct_data() and KuduScanBatch::indirect_data() to obtain the row data for further decoding. Using KuduScanBatch::Row() might yield incorrect/corrupt results and might even cause the client to crash.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html new file mode 100644 index 0000000000..a43679e26e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchema-members.html @@ -0,0 +1,101 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduSchema Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduSchema, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
Column(size_t idx) constkudu::client::KuduSchema
CopyFrom(const KuduSchema &other)kudu::client::KuduSchema
Equals(const KuduSchema &other) constkudu::client::KuduSchema
GetAutoIncrementingColumnIndex() constkudu::client::KuduSchema
GetAutoIncrementingColumnName()kudu::client::KuduSchemastatic
GetPrimaryKeyColumnIndexes(std::vector< int > *indexes) constkudu::client::KuduSchema
HasColumn(const std::string &col_name, KuduColumnSchema *col_schema) constkudu::client::KuduSchema
KuduSchema() (defined in kudu::client::KuduSchema)kudu::client::KuduSchema
KuduSchema(const KuduSchema &other)kudu::client::KuduSchema
NewRow() constkudu::client::KuduSchema
num_columns() constkudu::client::KuduSchema
operator!=(const KuduSchema &rhs) constkudu::client::KuduSchema
operator=(const KuduSchema &other)kudu::client::KuduSchema
operator==(const KuduSchema &rhs) constkudu::client::KuduSchema
Reset(const std::vector< KuduColumnSchema > &columns, int key_columns) WARN_UNUSED_RESULTkudu::client::KuduSchema
ToString() constkudu::client::KuduSchema
~KuduSchema() (defined in kudu::client::KuduSchema)kudu::client::KuduSchema
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html new file mode 100644 index 0000000000..7caa2b4143 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchema.html @@ -0,0 +1,518 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduSchema Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::client::KuduSchema Class Reference
+
+
+ +

A representation of a table's schema. + More...

+ +

#include <schema.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 KuduSchema (const KuduSchema &other)
 
Status Reset (const std::vector< KuduColumnSchema > &columns, int key_columns) WARN_UNUSED_RESULT
 
bool Equals (const KuduSchema &other) const
 
bool operator== (const KuduSchema &rhs) const
 
bool operator!= (const KuduSchema &rhs) const
 
KuduColumnSchema Column (size_t idx) const
 
bool HasColumn (const std::string &col_name, KuduColumnSchema *col_schema) const
 
size_t num_columns () const
 
void GetPrimaryKeyColumnIndexes (std::vector< int > *indexes) const
 
int GetAutoIncrementingColumnIndex () const
 
KuduPartialRowNewRow () const
 
std::string ToString () const
 
Assign/copy the schema
KuduSchemaoperator= (const KuduSchema &other)
 
void CopyFrom (const KuduSchema &other)
 
+ + + +

+Static Public Member Functions

static const char *const GetAutoIncrementingColumnName ()
 
+

Detailed Description

+

A representation of a table's schema.

+

Constructor & Destructor Documentation

+ +

◆ KuduSchema()

+ +
+
+ + + + + + + + +
kudu::client::KuduSchema::KuduSchema (const KuduSchemaother)
+
+

Create a KuduSchema object as a copy of the other one.

+
Parameters
+ + +
[in]otherThe other KuduSchema object to use as a reference.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Column()

+ +
+
+ + + + + + + + +
KuduColumnSchema kudu::client::KuduSchema::Column (size_t idx) const
+
+
Parameters
+ + +
[in]idxColumn index.
+
+
+
Returns
Schema for the specified column.
+ +
+
+ +

◆ CopyFrom()

+ +
+
+ + + + + + + + +
void kudu::client::KuduSchema::CopyFrom (const KuduSchemaother)
+
+
Parameters
+ + +
[in]otherThe source KuduSchema object to use as a reference.
+
+
+ +
+
+ +

◆ Equals()

+ +
+
+ + + + + + + + +
bool kudu::client::KuduSchema::Equals (const KuduSchemaother) const
+
+

Check whether the schema is identical to the other one.

+
Deprecated:
use operator==(const KuduSchema&) instead
+
Parameters
+ + +
[in]otherThe other KuduSchema object to compare with.
+
+
+
Returns
true iff this KuduSchema object is identical to the specified one.
+ +
+
+ +

◆ GetAutoIncrementingColumnIndex()

+ +
+
+ + + + + + + +
int kudu::client::KuduSchema::GetAutoIncrementingColumnIndex () const
+
+

Get the index of the auto incrementing column within this Schema.

+
Attention
In current versions of Kudu, key column indexes will always be contiguous indexes starting with 0. The auto incrementing column is always the last key column. However, in future versions this assumption may not hold, so callers should not assume it is the case.
+
Returns
The index of the auto incrementing column. If the column does not exist the return value is -1.
+ +
+
+ +

◆ GetAutoIncrementingColumnName()

+ +
+
+ + + + + +
+ + + + + + + +
static const char* const kudu::client::KuduSchema::GetAutoIncrementingColumnName ()
+
+static
+
+

Utility function to return the actual name of the auto incrementing column.

+
Returns
The name of the auto incrementing column.
+ +
+
+ +

◆ GetPrimaryKeyColumnIndexes()

+ +
+
+ + + + + + + + +
void kudu::client::KuduSchema::GetPrimaryKeyColumnIndexes (std::vector< int > * indexes) const
+
+

Get the indexes of the primary key columns within this Schema.

+
Attention
In current versions of Kudu, these will always be contiguous column indexes starting with 0. However, in future versions this assumption may not hold, so callers should not assume it is the case.
+
Parameters
+ + +
[out]indexesThe placeholder for the result.
+
+
+ +
+
+ +

◆ HasColumn()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool kudu::client::KuduSchema::HasColumn (const std::string & col_name,
KuduColumnSchemacol_schema 
) const
+
+
Parameters
+ + + +
[in]col_nameColumn name.
[out]col_schemaIf not null pointer, then the schema for the specified column.
+
+
+
Returns
true iff the specified column exists.
+ +
+
+ +

◆ NewRow()

+ +
+
+ + + + + + + +
KuduPartialRow* kudu::client::KuduSchema::NewRow () const
+
+

Create a new row corresponding to this schema.

+
Note
The new row refers to this KuduSchema object, so it must be destroyed before the KuduSchema object to avoid dangling pointers.
+
Returns
A pointer to the newly created row. The caller takes ownership of the created row.
+ +
+
+ +

◆ num_columns()

+ +
+
+ + + + + + + +
size_t kudu::client::KuduSchema::num_columns () const
+
+
Returns
The number of columns in the schema.
+ +
+
+ +

◆ operator!=()

+ +
+
+ + + + + + + + +
bool kudu::client::KuduSchema::operator!= (const KuduSchemarhs) const
+
+

Check whether the schema is not identical to the other one.

+
Parameters
+ + +
[in]rhsKuduSchema object to compare this one with.
+
+
+
Returns
true iff this KuduSchema object is not identical to the specified one.
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
KuduSchema& kudu::client::KuduSchema::operator= (const KuduSchemaother)
+
+
Parameters
+ + +
[in]otherThe source KuduSchema object to use as a reference.
+
+
+
Returns
Copy of 'other'
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + + + + +
bool kudu::client::KuduSchema::operator== (const KuduSchemarhs) const
+
+

Check whether the schema is identical to the other one.

+
Parameters
+ + +
[in]rhsKuduSchema object to compare this one with.
+
+
+
Returns
true iff this KuduSchema object is identical to the specified one.
+ +
+
+ +

◆ Reset()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduSchema::Reset (const std::vector< KuduColumnSchema > & columns,
int key_columns 
)
+
+
Deprecated:
This method will be removed soon.
+
Todo:
Remove KuduSchema::Reset().
+
Note
KuduSchema::Reset() is deprecated API. It does not support non-unique primary key and does not add auto incrementing column.
+
Parameters
+ + + +
[in]columnsPer-column schema information.
[in]key_columnsNumber of key columns in the schema.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::client::KuduSchema::ToString () const
+
+

Stringify this KuduSchema.

+
Returns
A string describing this schema.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html new file mode 100644 index 0000000000..ae3395f6c0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder-members.html @@ -0,0 +1,90 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduSchemaBuilder Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduSchemaBuilder, including all inherited members.

+ + + + + + + +
AddColumn(const std::string &name)kudu::client::KuduSchemaBuilder
Build(KuduSchema *schema)kudu::client::KuduSchemaBuilder
KuduSchemaBuilder() (defined in kudu::client::KuduSchemaBuilder)kudu::client::KuduSchemaBuilder
SetNonUniquePrimaryKey(const std::vector< std::string > &key_col_names)kudu::client::KuduSchemaBuilder
SetPrimaryKey(const std::vector< std::string > &key_col_names)kudu::client::KuduSchemaBuilder
~KuduSchemaBuilder() (defined in kudu::client::KuduSchemaBuilder)kudu::client::KuduSchemaBuilder
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html new file mode 100644 index 0000000000..256e86078f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSchemaBuilder.html @@ -0,0 +1,228 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduSchemaBuilder Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduSchemaBuilder Class Reference
+
+
+ +

Builder API for constructing a KuduSchema object. + More...

+ +

#include <schema.h>

+ + + + + + + + + + +

+Public Member Functions

KuduColumnSpecAddColumn (const std::string &name)
 
KuduSchemaBuilderSetPrimaryKey (const std::vector< std::string > &key_col_names)
 
KuduSchemaBuilderSetNonUniquePrimaryKey (const std::vector< std::string > &key_col_names)
 
Status Build (KuduSchema *schema)
 
+

Detailed Description

+

Builder API for constructing a KuduSchema object.

+

The API here is a "fluent" style of programming, such that the resulting code looks somewhat like a SQL "CREATE TABLE" statement. For example:

+

SQL:

CREATE TABLE t (
+
my_key int not null primary key,
+
a float default 1.5
+
);
+

is represented as:

KuduSchemaBuilder t;
+
t.AddColumn("my_key")->Type(KuduColumnSchema::INT32)->NotNull()->PrimaryKey();
+
t.AddColumn("a")->Type(KuduColumnSchema::FLOAT)->Default(KuduValue::FromFloat(1.5));
+
KuduSchema schema;
+
t.Build(&schema);
+
static KuduValue * FromFloat(float val)
+

Member Function Documentation

+ +

◆ AddColumn()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduSchemaBuilder::AddColumn (const std::string & name)
+
+

Add a column with the specified name to the schema.

+
Parameters
+ + +
[in]nameName of the column to add.
+
+
+
Returns
A KuduColumnSpec object for a new column within the Schema. The returned object is owned by the KuduSchemaBuilder.
+ +
+
+ +

◆ Build()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSchemaBuilder::Build (KuduSchemaschema)
+
+

Build the schema based on current configuration of the builder object.

+
Parameters
+ + +
[out]schemaThe placeholder for the result schema. Upon successful completion, the parameter is reset to the result of this builder: literally, calling KuduSchema::Reset() on the parameter.
+
+
+
Returns
Operation result status. If the resulting would-be-schema is invalid for any reason (e.g. missing types, duplicate column names, etc.) a bad Status is returned.
+ +
+
+ +

◆ SetNonUniquePrimaryKey()

+ +
+
+ + + + + + + + +
KuduSchemaBuilder* kudu::client::KuduSchemaBuilder::SetNonUniquePrimaryKey (const std::vector< std::string > & key_col_names)
+
+

Set the non-unique primary key of the new Schema based on the given column names.

+

This may be used to specify a compound non-unique primary key.

+
Note
By specifying non-unique primary keys, an auto incrementing column is created automatically. They form together the effective primary key. The auto incrementing field is populated on the server side, it must not be specified during insertion. All subsequent operations like scans will contain the auto incrementing column by default. If one wants to omit the auto incrementing column, it can be accomplished through existing projection methods.
+
+A call to SetPrimaryKey() or SetNonUniquePrimaryKey() overrides any previous call to these two methods.
+
Parameters
+ + +
[in]key_col_namesNames of the columns to include into the compound non-unique primary key.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+ +

◆ SetPrimaryKey()

+ +
+
+ + + + + + + + +
KuduSchemaBuilder* kudu::client::KuduSchemaBuilder::SetPrimaryKey (const std::vector< std::string > & key_col_names)
+
+

Set the primary key of the new Schema based on the given column names.

+

This may be used to specify a compound primary key.

+
Note
A call to SetPrimaryKey() or SetNonUniquePrimaryKey() overrides any previous call to these two methods.
+
Parameters
+ + +
[in]key_col_namesNames of the columns to include into the compound primary key.
+
+
+
Returns
Pointer to the modified object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html new file mode 100644 index 0000000000..4374d9c98d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession-members.html @@ -0,0 +1,110 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduSession Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Apply(KuduWriteOperation *write_op) WARN_UNUSED_RESULTkudu::client::KuduSession
AUTO_FLUSH_BACKGROUND enum valuekudu::client::KuduSession
AUTO_FLUSH_SYNC enum valuekudu::client::KuduSession
client() constkudu::client::KuduSession
CLIENT_PROPAGATED enum valuekudu::client::KuduSession
Close() WARN_UNUSED_RESULTkudu::client::KuduSession
COMMIT_WAIT enum valuekudu::client::KuduSession
CountBufferedOperations() constkudu::client::KuduSession
CountPendingErrors() constkudu::client::KuduSession
ExternalConsistencyMode enum namekudu::client::KuduSession
Flush() WARN_UNUSED_RESULTkudu::client::KuduSession
FlushAsync(KuduStatusCallback *cb)kudu::client::KuduSession
FlushMode enum namekudu::client::KuduSession
GetPendingErrors(std::vector< KuduError * > *errors, bool *overflowed)kudu::client::KuduSession
GetWriteOpMetrics() constkudu::client::KuduSession
HasPendingOperations() constkudu::client::KuduSession
MANUAL_FLUSH enum valuekudu::client::KuduSession
SetErrorBufferSpace(size_t size_bytes)kudu::client::KuduSession
SetExternalConsistencyMode(ExternalConsistencyMode m) WARN_UNUSED_RESULTkudu::client::KuduSession
SetFlushMode(FlushMode m) WARN_UNUSED_RESULTkudu::client::KuduSession
SetMutationBufferFlushInterval(unsigned int millis) WARN_UNUSED_RESULTkudu::client::KuduSession
SetMutationBufferFlushWatermark(double watermark_pct) WARN_UNUSED_RESULTkudu::client::KuduSession
SetMutationBufferMaxNum(unsigned int max_num) WARN_UNUSED_RESULTkudu::client::KuduSession
SetMutationBufferSpace(size_t size_bytes) WARN_UNUSED_RESULTkudu::client::KuduSession
SetTimeoutMillis(int millis)kudu::client::KuduSession
~KuduSession() (defined in kudu::client::KuduSession)kudu::client::KuduSession
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession.html new file mode 100644 index 0000000000..7304d9c581 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession.html @@ -0,0 +1,695 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduSession Class Reference
+
+
+ +

Representation of a Kudu client session. + More...

+ +

#include <client.h>

+
+Inheritance diagram for kudu::client::KuduSession:
+
+
+ +
+ + + + + + + + +

+Public Types

enum  FlushMode { AUTO_FLUSH_SYNC +, AUTO_FLUSH_BACKGROUND +, MANUAL_FLUSH + }
 Modes of flush operations. More...
 
enum  ExternalConsistencyMode { CLIENT_PROPAGATED +, COMMIT_WAIT + }
 The possible external consistency modes on which Kudu operates. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Status SetFlushMode (FlushMode m) WARN_UNUSED_RESULT
 
Status SetExternalConsistencyMode (ExternalConsistencyMode m) WARN_UNUSED_RESULT
 
Status SetMutationBufferSpace (size_t size_bytes) WARN_UNUSED_RESULT
 
Status SetMutationBufferFlushWatermark (double watermark_pct) WARN_UNUSED_RESULT
 
Status SetMutationBufferFlushInterval (unsigned int millis) WARN_UNUSED_RESULT
 
Status SetMutationBufferMaxNum (unsigned int max_num) WARN_UNUSED_RESULT
 
void SetTimeoutMillis (int millis)
 
Status Apply (KuduWriteOperation *write_op) WARN_UNUSED_RESULT
 
Status Flush () WARN_UNUSED_RESULT
 
void FlushAsync (KuduStatusCallback *cb)
 
Status Close () WARN_UNUSED_RESULT
 
bool HasPendingOperations () const
 
int CountBufferedOperations () const
 
Status SetErrorBufferSpace (size_t size_bytes)
 
int CountPendingErrors () const
 
void GetPendingErrors (std::vector< KuduError * > *errors, bool *overflowed)
 
KuduClientclient () const
 
const ResourceMetricsGetWriteOpMetrics () const
 
+

Detailed Description

+

Representation of a Kudu client session.

+

A KuduSession belongs to a specific KuduClient, and represents a context in which all read/write data access should take place. Within a session, multiple operations may be accumulated and batched together for better efficiency. Settings like timeouts, priorities, and trace IDs are also set per session.

+

A KuduSession's main purpose is for grouping together multiple data-access operations together into batches or transactions. It is important to note the distinction between these two:

+ +
Note
Kudu does not currently support transactions! They are only mentioned in the above documentation to clarify that batches are not transactional and should only be used for efficiency.
+

KuduSession is separate from KuduTable because a given batch or transaction may span multiple tables. This is particularly important in the future when we add ACID support, but even in the context of batching, we may be able to coalesce writes to different tables hosted on the same server into the same RPC.

+

KuduSession is separate from KuduClient because, in a multi-threaded application, different threads may need to concurrently execute transactions. Similar to a JDBC "session", transaction boundaries will be delineated on a per-session basis – in between a "BeginTransaction" and "Commit" call on a given session, all operations will be part of the same transaction. Meanwhile another concurrent Session object can safely run non-transactional work or other transactions without interfering.

+

Additionally, there is a guarantee that writes from different sessions do not get batched together into the same RPCs – this means that latency-sensitive clients can run through the same KuduClient object as throughput-oriented clients, perhaps by setting the latency-sensitive session's timeouts low and priorities high. Without the separation of batches, a latency-sensitive single-row insert might get batched along with 10MB worth of inserts from the batch writer, thus delaying the response significantly.

+

Though we currently do not have transactional support, users will be forced to use a KuduSession to instantiate reads as well as writes. This will make it more straight-forward to add RW transactions in the future without significant modifications to the API.

+

Users who are familiar with the Hibernate ORM framework should find this concept of a Session familiar.

+
Note
This class is not thread-safe.
+

Member Enumeration Documentation

+ +

◆ ExternalConsistencyMode

+ +
+
+ +

The possible external consistency modes on which Kudu operates.

+ + + +
Enumerator
CLIENT_PROPAGATED 

The response to any write will contain a timestamp. Any further calls from the same client to other servers will update those servers with that timestamp. Following write operations from the same client will be assigned timestamps that are strictly higher, enforcing external consistency without having to wait or incur any latency penalties.

+

In order to maintain external consistency for writes between two different clients in this mode, the user must forward the timestamp from the first client to the second by using KuduClient::GetLatestObservedTimestamp() and KuduClient::SetLatestObservedTimestamp().

+

This is the default external consistency mode.

+
Warning
Failure to propagate timestamp information through back-channels between two different clients will negate any external consistency guarantee under this mode.
+
COMMIT_WAIT 

The server will guarantee that write operations from the same or from other client are externally consistent, without the need to propagate timestamps across clients. This is done by making write operations wait until there is certainty that all follow up write operations (operations that start after the previous one finishes) will be assigned a timestamp that is strictly higher, enforcing external consistency.

+
Warning
Depending on the clock synchronization state of TabletServers this may imply considerable latency. Moreover operations in COMMIT_WAIT external consistency mode will outright fail if TabletServer clocks are either unsynchronized or synchronized but with a maximum error which surpasses a pre-configured threshold.
+
+ +
+
+ +

◆ FlushMode

+ +
+
+ +

Modes of flush operations.

+ + + + +
Enumerator
AUTO_FLUSH_SYNC 

Every write will be sent to the server in-band with the Apply() call. No batching will occur. In this mode, the Flush() call never has any effect, since each Apply() call has already flushed the buffer. This is the default flush mode.

+
AUTO_FLUSH_BACKGROUND 

Apply() calls will return immediately (unless there is not enough buffer space to accommodate the newly added operations), but the writes will be sent in the background, potentially batched together with other writes from the same session. If there is not sufficient buffer space, Apply() blocks for buffer space to become available.

+

Because writes are applied in the background, any errors will be stored in a session-local buffer. Call CountPendingErrors() or GetPendingErrors() to retrieve them.

+

In this mode, calling the FlushAsync() or Flush() methods causes a flush that normally would have happened at some point in the near future to happen right now. The Flush() call can be used to block until the current batch is sent and the reclaimed space is available for new operations.

+
Attention
The AUTO_FLUSH_BACKGROUND mode, when used in conjunction with a KuduSession::SetMutationBufferMaxNum() of greater than 1 (the default is 2), may result in out-of-order writes. This is because the buffers may flush concurrently, so multiple write operations may be sent to the server in parallel. See KUDU-1767 for more information.
+
Todo:
Provide an API for the user to specify a callback to do their own error reporting.
+
MANUAL_FLUSH 

Apply() calls will return immediately, and the writes will not be sent until the user calls Flush(). If the buffer runs past the configured space limit, then Apply() will return an error.

+
Attention
The MANUAL_FLUSH mode, when used in conjunction with a KuduSession::SetMutationBufferMaxNum() of greater than 1 (the default is 2), may result in out-of-order writes if KuduSession::FlushAsync() is used. This is because the buffers may flush concurrently, so multiple write operations may be sent to the server in parallel. See KUDU-1767 for more information.
+
+ +
+
+

Member Function Documentation

+ +

◆ Apply()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::Apply (KuduWriteOperationwrite_op)
+
+
Todo:
Add "doAs" ability here for proxy servers to be able to act on behalf of other users, assuming access rights.
+

Apply the write operation.

+

The behavior of this function depends on the current flush mode. Regardless of flush mode, however, Apply() may begin to perform processing in the background for the call (e.g. looking up the tablet, etc). Given that, an error may be queued into the PendingErrors structure prior to flushing, even in MANUAL_FLUSH mode.

+

In case of any error, which may occur during flushing or because the write_op is malformed, the write_op is stored in the session's error collector which may be retrieved at any time.

+

A KuduSession accumulates write operations submitted via the Apply() method in mutation buffers. A KuduSession always has at least one mutation buffer. In any flush mode, this call may block if the maximum number of mutation buffers per session is reached (use KuduSession::SetMutationBufferMaxNum() to set the limit on maximum number of batchers).

+
Parameters
+ + +
[in]write_opOperation to apply. This method transfers the write_op's ownership to the KuduSession.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ client()

+ +
+
+ + + + + + + +
KuduClient* kudu::client::KuduSession::client () const
+
+
Returns
Client for the session: pointer to the associated client object.
+ +
+
+ +

◆ Close()

+ +
+
+ + + + + + + +
Status kudu::client::KuduSession::Close ()
+
+
Returns
Status of the session closure. In particular, an error is returned if there are non-flushed or in-flight operations.
+ +
+
+ +

◆ CountBufferedOperations()

+ +
+
+ + + + + + + +
int kudu::client::KuduSession::CountBufferedOperations () const
+
+

Get number of buffered operations (not the same as 'pending').

+

Note that this is different than HasPendingOperations() above, which includes operations which have been sent and not yet responded to.

+

This method is most relevant in MANUAL_FLUSH mode, where the result count stays valid until next explicit flush or Apply() call. There is not much sense using this method in other flush modes:

    +
  • in AUTO_FLUSH_SYNC mode, the data is immediately put en-route to the destination by Apply() method itself, so this method always returns zero.
  • +
  • in AUTO_FLUSH_BACKGROUND mode, the result count returned by this method expires unpredictably and there isn't any guaranteed validity interval for the result: the background flush task can run any moment, invalidating the result.
  • +
+
Deprecated:
This method is experimental and will disappear in a future release.
+
Returns
The number of buffered operations. These are operations that have not yet been flushed – i.e. they are not en-route yet.
+ +
+
+ +

◆ CountPendingErrors()

+ +
+
+ + + + + + + +
int kudu::client::KuduSession::CountPendingErrors () const
+
+

Get error count for pending operations.

+

Errors may accumulate in session's lifetime; use this method to see how many errors happened since last call of GetPendingErrors() method. The error count includes both the accumulated and dropped errors. An error might be dropped due to the limit on the error buffer size; see the SetErrorBufferSpace() method for details.

+
Returns
Total count of errors accumulated during the session.
+ +
+
+ +

◆ Flush()

+ +
+
+ + + + + + + +
Status kudu::client::KuduSession::Flush ()
+
+

Flush any pending writes.

+

This method initiates flushing of the current batch of buffered write operations, if any, and then waits for the completion of all pending operations of the session. I.e., after successful return from this method no pending operations should be left in the session.

+

In AUTO_FLUSH_SYNC mode, calling this method has no effect, since every Apply() call flushes itself inline.

+
Returns
Operation result status. In particular, returns a non-OK status if there are any pending errors after the rows have been flushed. Callers should then use GetPendingErrors to determine which specific operations failed.
+ +
+
+ +

◆ FlushAsync()

+ +
+
+ + + + + + + + +
void kudu::client::KuduSession::FlushAsync (KuduStatusCallbackcb)
+
+

Flush any pending writes asynchronously.

+

This method schedules a background flush of the latest batch of buffered write operations. Provided callback is invoked upon the flush completion of the latest batch of buffered write operations. If there were errors while flushing the operations, corresponding 'not OK' status is passed as a parameter for the callback invocation. Callers should then use GetPendingErrors() to determine which specific operations failed.

+

In the case that the async version of this method is used, then the callback will be called upon completion of the operations which were buffered since the last flush. In other words, in the following sequence:

session->Insert(a);
+
session->FlushAsync(callback_1);
+
session->Insert(b);
+
session->FlushAsync(callback_2);
+

... callback_2 will be triggered once b has been inserted, regardless of whether a has completed or not. That means there might be pending operations left in prior batches even after the callback has been invoked to report on the flush status of the latest batch.

+
Note
This also means that, if FlushAsync is called twice in succession, with no intervening operations, the second flush will return immediately. For example:
session->Insert(a);
+
session->FlushAsync(callback_1); // called when 'a' is inserted
+
session->FlushAsync(callback_2); // called immediately!
+
Note that, as in all other async functions in Kudu, the callback may be called either from an IO thread or the same thread which calls FlushAsync. The callback should not block.
+
Parameters
+ + +
[in]cbCallback to call upon flush completion. The cb must remain valid until it is invoked.
+
+
+ +
+
+ +

◆ GetPendingErrors()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void kudu::client::KuduSession::GetPendingErrors (std::vector< KuduError * > * errors,
bool * overflowed 
)
+
+

Get information on errors from previous session activity.

+

The information on errors are reset upon calling this method.

+
Parameters
+ + + +
[out]errorsPointer to the container to fill with error info objects. Caller takes ownership of the returned errors in the container.
[out]overflowedIf there were more errors than could be held in the session's error buffer, then overflowed is set to true.
+
+
+ +
+
+ +

◆ GetWriteOpMetrics()

+ +
+
+ + + + + + + +
const ResourceMetrics& kudu::client::KuduSession::GetWriteOpMetrics () const
+
+
Returns
Cumulative write operation metrics since the beginning of the session.
+ +
+
+ +

◆ HasPendingOperations()

+ +
+
+ + + + + + + +
bool kudu::client::KuduSession::HasPendingOperations () const
+
+

Check if there are any pending operations in this session.

+
Returns
true if there are operations which have not yet been delivered to the cluster. This may include buffered operations (i.e. those that have not yet been flushed) as well as in-flight operations (i.e. those that are in the process of being sent to the servers).
+
Todo:
Maybe "incomplete" or "undelivered" is clearer?
+ +
+
+ +

◆ SetErrorBufferSpace()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::SetErrorBufferSpace (size_t size_bytes)
+
+

Set limit on maximum buffer (memory) size used by this session's errors. By default, when a session is created, there is no limit on maximum size.

+

The session's error buffer contains information on failed write operations. In most cases, the error contains the row which would be applied as is. If the error buffer space limit is set, the number of errors which fit into the buffer varies depending on error conditions, write operation types (insert/update/delete), and write operation row sizes.

+

When the limit is set, the session will drop the first error that would overflow the buffer as well as all subsequent errors. To resume the accumulation of session errors, it's necessary to flush the current contents of the error buffer using the GetPendingErrors() method.

+
Parameters
+ + +
[in]size_bytesLimit on the maximum memory size consumed by collected session errors, where 0 means 'unlimited'.
+
+
+
Returns
Operation result status. An error is returned on an attempt to set the limit on the buffer space if:
    +
  • the session has already dropped at least one error since the last call to the GetPendingErrors() method
  • +
  • the new limit is less than the amount of space occupied by already accumulated errors.
  • +
+
+ +
+
+ +

◆ SetExternalConsistencyMode()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::SetExternalConsistencyMode (ExternalConsistencyMode m)
+
+

Set external consistency mode for the session.

+
Parameters
+ + +
[in]mExternal consistency mode to set.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetFlushMode()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::SetFlushMode (FlushMode m)
+
+

Set the flush mode.

+
Precondition
There should be no pending writes – call Flush() first to ensure nothing is pending.
+
Parameters
+ + +
[in]mFlush mode to set.
+
+
+
Returns
Operation status.
+ +
+
+ +

◆ SetMutationBufferFlushInterval()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::SetMutationBufferFlushInterval (unsigned int millis)
+
+

Set the interval for time-based flushing of the mutation buffer.

+

In some cases, while running in AUTO_FLUSH_BACKGROUND mode, the size of the mutation buffer for pending operations and the flush watermark for fresh operations may be too high for the rate of incoming data: it would take too long to accumulate enough data in the buffer to trigger flushing. I.e., it makes sense to flush the accumulated operations if the prior flush happened long time ago. This method sets the wait interval for the time-based flushing which takes place along with the flushing triggered by the over-the-watermark criterion. By default, the interval is set to 1000 ms (i.e. 1 second).

+
Note
This setting is applicable only for AUTO_FLUSH_BACKGROUND sessions. I.e., calling this method in other flush modes is safe, but the parameter has no effect until the session is switched into AUTO_FLUSH_BACKGROUND mode.
+
Parameters
+ + +
[in]millisThe duration of the interval for the time-based flushing, in milliseconds.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetMutationBufferFlushWatermark()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::SetMutationBufferFlushWatermark (double watermark_pct)
+
+

Set the buffer watermark to trigger flush in AUTO_FLUSH_BACKGROUND mode.

+

This method sets the watermark for fresh operations in the buffer when running in AUTO_FLUSH_BACKGROUND mode: once the specified threshold is reached, the session starts sending the accumulated write operations to the appropriate tablet servers. By default, the buffer flush watermark is to to 50%.

+
Note
This setting is applicable only for AUTO_FLUSH_BACKGROUND sessions. I.e., calling this method in other flush modes is safe, but the parameter has no effect until the session is switched into AUTO_FLUSH_BACKGROUND mode.
+
+The buffer contains data for fresh (i.e. newly submitted) operations and also operations which are scheduled for flush or being flushed. The flush watermark determines how much of the buffer space is taken by newly submitted operations. Setting this level to 1.0 (i.e. 100%) results in flushing the buffer only when the newly applied operation would overflow the buffer.
+
Parameters
+ + +
[in]watermark_pctWatermark level as percentage of the mutation buffer size.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetMutationBufferMaxNum()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::SetMutationBufferMaxNum (unsigned int max_num)
+
+

Set the maximum number of mutation buffers per KuduSession object.

+

A KuduSession accumulates write operations submitted via the Apply() method in mutation buffers. A KuduSession always has at least one mutation buffer. The mutation buffer which accumulates new incoming operations is called the current mutation buffer. The current mutation buffer is flushed either explicitly using the KuduSession::Flush() and/or KuduSession::FlushAsync() methods or it's done by the KuduSession automatically if running in AUTO_FLUSH_BACKGROUND mode. After flushing the current mutation buffer, a new buffer is created upon calling KuduSession::Apply(), provided the limit is not exceeded. A call to KuduSession::Apply() blocks if it's at the maximum number of buffers allowed; the call unblocks as soon as one of the pending batchers finished flushing and a new batcher can be created.

+

The minimum setting for this parameter is 1 (one). The default setting for this parameter is 2 (two).

+
Parameters
+ + +
[in]max_numThe maximum number of mutation buffers per KuduSession object to hold the applied operations. Use 0 to set the maximum number of concurrent mutation buffers to unlimited.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetMutationBufferSpace()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduSession::SetMutationBufferSpace (size_t size_bytes)
+
+

Set the amount of buffer space used by this session for outbound writes.

+

The effect of the buffer size varies based on the flush mode of the session:

    +
  • AUTO_FLUSH_SYNC since no buffering is done, this has no effect.
  • +
  • AUTO_FLUSH_BACKGROUND if the buffer space is exhausted, then write calls will block until there is space available in the buffer.
  • +
  • MANUAL_FLUSH if the buffer space is exhausted, then write calls will return an error
  • +
+

By default, the buffer space is set to 7 MiB (i.e. 7 * 1024 * 1024 bytes).

+
Parameters
+ + +
[in]size_bytesSize of the buffer space to set (number of bytes).
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ SetTimeoutMillis()

+ +
+
+ + + + + + + + +
void kudu::client::KuduSession::SetTimeoutMillis (int millis)
+
+

Set the timeout for writes made in this session.

+
Parameters
+ + +
[in]millisTimeout to set in milliseconds; should be greater or equal to 0. If the parameter value is less than 0, it's implicitly set to 0.
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession.png new file mode 100644 index 0000000000..2c92c7ee78 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduSession.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html new file mode 100644 index 0000000000..8b4f15c93d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback-members.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduStatusCallback Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduStatusCallback, including all inherited members.

+ + + + +
KuduStatusCallback() (defined in kudu::client::KuduStatusCallback)kudu::client::KuduStatusCallbackinline
Run(const Status &s)=0kudu::client::KuduStatusCallbackpure virtual
~KuduStatusCallback() (defined in kudu::client::KuduStatusCallback)kudu::client::KuduStatusCallbackinlinevirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html new file mode 100644 index 0000000000..78ce68e41a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.html @@ -0,0 +1,146 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduStatusCallback Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduStatusCallback Class Referenceabstract
+
+
+ +

The interface for all status callbacks. + More...

+ +

#include <callbacks.h>

+
+Inheritance diagram for kudu::client::KuduStatusCallback:
+
+
+ + +kudu::client::KuduStatusFunctionCallback< T > +kudu::client::KuduStatusMemberCallback< T > + +
+ + + + +

+Public Member Functions

virtual void Run (const Status &s)=0
 
+

Detailed Description

+

The interface for all status callbacks.

+

Member Function Documentation

+ +

◆ Run()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void kudu::client::KuduStatusCallback::Run (const Statuss)
+
+pure virtual
+
+

Notify/report on the status.

+
Parameters
+ + +
[in]sThe status to report.
+
+
+ +

Implemented in kudu::client::KuduStatusFunctionCallback< T >, and kudu::client::KuduStatusMemberCallback< T >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.png new file mode 100644 index 0000000000..a886eae876 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusCallback.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html new file mode 100644 index 0000000000..fb59650caa --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback-members.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduStatusFunctionCallback< T > Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduStatusFunctionCallback< T >, including all inherited members.

+ + + + + + +
FunctionType typedefkudu::client::KuduStatusFunctionCallback< T >
KuduStatusCallback() (defined in kudu::client::KuduStatusCallback)kudu::client::KuduStatusCallbackinline
KuduStatusFunctionCallback(FunctionType function, T arg)kudu::client::KuduStatusFunctionCallback< T >inline
Run(const Status &s) OVERRIDEkudu::client::KuduStatusFunctionCallback< T >inlinevirtual
~KuduStatusCallback() (defined in kudu::client::KuduStatusCallback)kudu::client::KuduStatusCallbackinlinevirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html new file mode 100644 index 0000000000..ff2e2057bc --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.html @@ -0,0 +1,209 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduStatusFunctionCallback< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduStatusFunctionCallback< T > Class Template Reference
+
+
+ +

The status callback that invokes a function by pointer with a single argument. + More...

+ +

#include <callbacks.h>

+
+Inheritance diagram for kudu::client::KuduStatusFunctionCallback< T >:
+
+
+ + +kudu::client::KuduStatusCallback + +
+ + + + + +

+Public Types

+typedef void(* FunctionType) (T arg, const Status &s)
 A handy typedef for the function with appropriate signature.
 
+ + + + + +

+Public Member Functions

 KuduStatusFunctionCallback (FunctionType function, T arg)
 
virtual void Run (const Status &s) OVERRIDE
 
+

Detailed Description

+

template<typename T>
+class kudu::client::KuduStatusFunctionCallback< T >

+ +

The status callback that invokes a function by pointer with a single argument.

+

Constructor & Destructor Documentation

+ +

◆ KuduStatusFunctionCallback()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
kudu::client::KuduStatusFunctionCallback< T >::KuduStatusFunctionCallback (FunctionType function,
arg 
)
+
+inline
+
+

Build an instance of KuduStatusFunctionCallback.

+
Parameters
+ + + +
[in]functionA pointer to the status report function to invoke with the arg argument.
[in]argAn argument for the function invocation.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Run()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
virtual void kudu::client::KuduStatusFunctionCallback< T >::Run (const Statuss)
+
+inlinevirtual
+
+ +

+

Notify/report on the status.

+
Parameters
+ + +
[in]sThe status to report.
+
+
+ +

Implements kudu::client::KuduStatusCallback.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.png new file mode 100644 index 0000000000..a6d0f5dac1 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusFunctionCallback.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html new file mode 100644 index 0000000000..949ce354e2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback-members.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduStatusMemberCallback< T > Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduStatusMemberCallback< T >, including all inherited members.

+ + + + + + +
KuduStatusCallback() (defined in kudu::client::KuduStatusCallback)kudu::client::KuduStatusCallbackinline
KuduStatusMemberCallback(T *object, MemberType member)kudu::client::KuduStatusMemberCallback< T >inline
MemberType typedefkudu::client::KuduStatusMemberCallback< T >
Run(const Status &s) OVERRIDEkudu::client::KuduStatusMemberCallback< T >inlinevirtual
~KuduStatusCallback() (defined in kudu::client::KuduStatusCallback)kudu::client::KuduStatusCallbackinlinevirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html new file mode 100644 index 0000000000..011e3e4cef --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.html @@ -0,0 +1,209 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduStatusMemberCallback< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduStatusMemberCallback< T > Class Template Reference
+
+
+ +

The status callback that invokes a member function of an object. + More...

+ +

#include <callbacks.h>

+
+Inheritance diagram for kudu::client::KuduStatusMemberCallback< T >:
+
+
+ + +kudu::client::KuduStatusCallback + +
+ + + + + +

+Public Types

+typedef void(T::* MemberType) (const Status &s)
 A handy typedef for the member with appropriate signature.
 
+ + + + + +

+Public Member Functions

 KuduStatusMemberCallback (T *object, MemberType member)
 
virtual void Run (const Status &s) OVERRIDE
 
+

Detailed Description

+

template<typename T>
+class kudu::client::KuduStatusMemberCallback< T >

+ +

The status callback that invokes a member function of an object.

+

Constructor & Destructor Documentation

+ +

◆ KuduStatusMemberCallback()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
kudu::client::KuduStatusMemberCallback< T >::KuduStatusMemberCallback (T * object,
MemberType member 
)
+
+inline
+
+

Build an instance of the KuduStatusMemberCallback class.

+
Parameters
+ + + +
[in]objectA pointer to the object.
[in]memberA pointer to the member function of the object to invoke.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Run()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
virtual void kudu::client::KuduStatusMemberCallback< T >::Run (const Statuss)
+
+inlinevirtual
+
+ +

+

Notify/report on the status.

+
Parameters
+ + +
[in]sThe status to report.
+
+
+ +

Implements kudu::client::KuduStatusCallback.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.png new file mode 100644 index 0000000000..0483afbfcb Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduStatusMemberCallback.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html new file mode 100644 index 0000000000..878f6284ab --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable-members.html @@ -0,0 +1,108 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTable Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTable, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
client() constkudu::client::KuduTable
comment() constkudu::client::KuduTable
extra_configs() constkudu::client::KuduTable
id() constkudu::client::KuduTable
name() constkudu::client::KuduTable
NewComparisonPredicate(const Slice &col_name, KuduPredicate::ComparisonOp op, KuduValue *value)kudu::client::KuduTable
NewDelete()kudu::client::KuduTable
NewDeleteIgnore()kudu::client::KuduTable
NewInBloomFilterPredicate(const Slice &col_name, std::vector< KuduBloomFilter * > *bloom_filters)kudu::client::KuduTable
NewInBloomFilterPredicate(const Slice &col_name, const std::vector< Slice > &bloom_filters)kudu::client::KuduTable
NewInListPredicate(const Slice &col_name, std::vector< KuduValue * > *values)kudu::client::KuduTable
NewInsert()kudu::client::KuduTable
NewInsertIgnore()kudu::client::KuduTable
NewIsNotNullPredicate(const Slice &col_name)kudu::client::KuduTable
NewIsNullPredicate(const Slice &col_name)kudu::client::KuduTable
NewUpdate()kudu::client::KuduTable
NewUpdateIgnore()kudu::client::KuduTable
NewUpsert()kudu::client::KuduTable
NewUpsertIgnore()kudu::client::KuduTable
num_replicas() constkudu::client::KuduTable
owner() constkudu::client::KuduTable
partition_schema() constkudu::client::KuduTable
schema() constkudu::client::KuduTable
~KuduTable() (defined in kudu::client::KuduTable)kudu::client::KuduTable
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable.html new file mode 100644 index 0000000000..81486f4cd1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable.html @@ -0,0 +1,690 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTable Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduTable Class Reference
+
+
+ +

A representation of a table on a particular cluster. + More...

+ +

#include <client.h>

+
+Inheritance diagram for kudu::client::KuduTable:
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

const std::string & name () const
 
const std::string & id () const
 
const KuduSchemaschema () const
 
const std::string & comment () const
 
int num_replicas () const
 
const std::string & owner () const
 
KuduInsertNewInsert ()
 
KuduInsertIgnoreNewInsertIgnore ()
 
KuduUpsertNewUpsert ()
 
KuduUpsertIgnoreNewUpsertIgnore ()
 
KuduUpdateNewUpdate ()
 
KuduUpdateIgnoreNewUpdateIgnore ()
 
KuduDeleteNewDelete ()
 
KuduDeleteIgnoreNewDeleteIgnore ()
 
KuduPredicateNewComparisonPredicate (const Slice &col_name, KuduPredicate::ComparisonOp op, KuduValue *value)
 
KuduPredicateNewInBloomFilterPredicate (const Slice &col_name, std::vector< KuduBloomFilter * > *bloom_filters)
 
KuduPredicateNewInListPredicate (const Slice &col_name, std::vector< KuduValue * > *values)
 
KuduPredicateNewIsNotNullPredicate (const Slice &col_name)
 
KuduPredicateNewIsNullPredicate (const Slice &col_name)
 
KuduClientclient () const
 
const PartitionSchema & partition_schema () const
 
const std::map< std::string, std::string > & extra_configs () const
 
Advanced/Unstable API

There are no guarantees on the stability of this client API.

+
KuduPredicateNewInBloomFilterPredicate (const Slice &col_name, const std::vector< Slice > &bloom_filters)
 
+

Detailed Description

+

A representation of a table on a particular cluster.

+

A KuduTable holds the current schema of the table. Any given KuduTable object belongs to a specific KuduClient object.

+

Upon construction, the table is looked up in the catalog (or catalog cache), and the schema fetched for introspection.

+

This class is also a factory for write operation on the table. The provided operations are:

+
Note
This class is thread-safe.
+

Member Function Documentation

+ +

◆ client()

+ +
+
+ + + + + + + +
KuduClient* kudu::client::KuduTable::client () const
+
+
Returns
The KuduClient object associated with the table. The caller should not free the returned pointer.
+ +
+
+ +

◆ comment()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduTable::comment () const
+
+
Returns
Comment string for the table.
+ +
+
+ +

◆ extra_configs()

+ +
+
+ + + + + + + +
const std::map<std::string, std::string>& kudu::client::KuduTable::extra_configs () const
+
+
Returns
The table's extra configuration properties.
+ +
+
+ +

◆ id()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduTable::id () const
+
+

Get the table's ID.

+

This is an internal identifier which uniquely identifies a table. If the table is deleted and recreated with the same name, the ID will distinguish the old table from the new.

+
Returns
Identifier string for the table.
+ +
+
+ +

◆ name()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduTable::name () const
+
+
Returns
Name of the table.
+ +
+
+ +

◆ NewComparisonPredicate()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
KuduPredicate* kudu::client::KuduTable::NewComparisonPredicate (const Slicecol_name,
KuduPredicate::ComparisonOp op,
KuduValuevalue 
)
+
+

Create a new comparison predicate.

+

This method creates new instance of a comparison predicate which can be used for scanners on this table object.

+
Parameters
+ + + + +
[in]col_nameName of column to use for comparison.
[in]opComparison operator to use.
[in]valueThe type of the value must correspond to the type of the column to which the predicate is to be applied. For example, if the given column is any type of integer, the KuduValue should also be an integer, with its value in the valid range for the column type. No attempt is made to cast between floating point and integer values, or numeric and string values.
+
+
+
Returns
Raw pointer to instance of comparison predicate. The caller owns the result until it is passed into KuduScanner::AddConjunctPredicate(). The returned predicate object takes ownership over the value Non-NULL is returned both in success and error cases. In the case of an error (e.g. invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a KuduScanner.
+ +
+
+ +

◆ NewDelete()

+ +
+
+ + + + + + + +
KuduDelete* kudu::client::KuduTable::NewDelete ()
+
+
Returns
New DELETE operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ NewDeleteIgnore()

+ +
+
+ + + + + + + +
KuduDeleteIgnore* kudu::client::KuduTable::NewDeleteIgnore ()
+
+
Returns
New DELETE_IGNORE operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ NewInBloomFilterPredicate() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
KuduPredicate* kudu::client::KuduTable::NewInBloomFilterPredicate (const Slicecol_name,
const std::vector< Slice > & bloom_filters 
)
+
+

Create a new IN Bloom filter predicate using direct BlockBloomFilter pointers which can be used for scanners on this table.

+

A Bloom filter is a space-efficient probabilistic data structure used to test set membership with a possibility of false positive matches.

+

IN list predicate can be used with small number of values; on the other hand with IN Bloom filter predicate large number of values can be tested for membership in a space-efficient manner.

+

IN Bloom filter predicate may be automatically disabled if determined to be ineffective in filtering rows during scan requests.

+

Users are expected to perform further filtering to guard against false positives and automatic disablement of an ineffective Bloom filter predicate to get precise set membership information.

+
Warning
This method is experimental and may change or disappear in future.
+
Parameters
+ + + +
[in]col_nameName of the column to which the predicate applies.
bloom_filtersVector of BlockBloomFilter pointers that contain the values inserted to match against the column. The column value must match against all the supplied Bloom filters to be returned by the scanner. On return, regardless of success or error, the returned predicate will NOT take ownership of the pointers contained in bloom_filters and caller is responsible for the lifecycle management of the Bloom filters. The supplied Bloom filters are expected to remain valid for the lifetime of the KuduScanner.
+
+
+
Returns
Raw pointer to an IN Bloom filter predicate. The caller owns the predicate until it is passed into KuduScanner::AddConjunctPredicate(). In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a KuduScanner.
+ +
+
+ +

◆ NewInBloomFilterPredicate() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
KuduPredicate* kudu::client::KuduTable::NewInBloomFilterPredicate (const Slicecol_name,
std::vector< KuduBloomFilter * > * bloom_filters 
)
+
+

Create a new IN Bloom filter predicate which can be used for scanners on this table.

+

A Bloom filter is a space-efficient probabilistic data structure used to test set membership with a possibility of false positive matches. See KuduBloomFilter for creating Bloom filters.

+

IN list predicate can be used with small number of values; on the other hand with IN Bloom filter predicate large number of values can be tested for membership in a space-efficient manner.

+

IN Bloom filter predicate may be automatically disabled if determined to be ineffective in filtering rows during scan requests.

+

Users are expected to perform further filtering to guard against false positives and automatic disablement of an ineffective Bloom filter predicate to get precise set membership information.

+
Parameters
+ + + +
[in]col_nameName of the column to which the predicate applies.
[in]bloom_filtersVector of Bloom filters that contain the values inserted to match against the column. The column value must match against all the supplied Bloom filters to be returned by the scanner. On return, regardless of success or error, the returned predicate will take ownership of the pointers contained in bloom_filters.
+
+
+
Returns
Raw pointer to an IN Bloom filter predicate. The caller owns the predicate until it is passed into KuduScanner::AddConjunctPredicate(). In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a KuduScanner.
+ +
+
+ +

◆ NewInListPredicate()

+ +
+
+ + + + + + + + + + + + + + + + + + +
KuduPredicate* kudu::client::KuduTable::NewInListPredicate (const Slicecol_name,
std::vector< KuduValue * > * values 
)
+
+

Create a new IN list predicate which can be used for scanners on this table.

+

The IN list predicate is used to specify a list of values that a column must match. A row is filtered from the scan if the value of the column does not equal any value from the list.

+

The type of entries in the list must correspond to the type of the column to which the predicate is to be applied. For example, if the given column is any type of integer, the KuduValues should also be integers, with the values in the valid range for the column type. No attempt is made to cast between floating point and integer values, or numeric and string values.

+
Parameters
+ + + +
[in]col_nameName of the column to which the predicate applies.
[in]valuesVector of values which the column will be matched against.
+
+
+
Returns
Raw pointer to an IN list predicate. The caller owns the predicate until it is passed into KuduScanner::AddConjunctPredicate(). The returned predicate takes ownership of the values vector and its elements. In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a KuduScanner.
+ +
+
+ +

◆ NewInsert()

+ +
+
+ + + + + + + +
KuduInsert* kudu::client::KuduTable::NewInsert ()
+
+
Returns
New INSERT operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ NewInsertIgnore()

+ +
+
+ + + + + + + +
KuduInsertIgnore* kudu::client::KuduTable::NewInsertIgnore ()
+
+
Returns
New INSERT_IGNORE operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ NewIsNotNullPredicate()

+ +
+
+ + + + + + + + +
KuduPredicate* kudu::client::KuduTable::NewIsNotNullPredicate (const Slicecol_name)
+
+

Create a new IS NOT NULL predicate which can be used for scanners on this table.

+
Parameters
+ + +
[in]col_nameName of the column to which the predicate applies
+
+
+
Returns
Raw pointer to an IS NOT NULL predicate. The caller owns the predicate until it is passed into KuduScanner::AddConjunctPredicate(). In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a KuduScanner.
+ +
+
+ +

◆ NewIsNullPredicate()

+ +
+
+ + + + + + + + +
KuduPredicate* kudu::client::KuduTable::NewIsNullPredicate (const Slicecol_name)
+
+

Create a new IS NULL predicate which can be used for scanners on this table.

+
Parameters
+ + +
[in]col_nameName of the column to which the predicate applies
+
+
+
Returns
Raw pointer to an IS NULL predicate. The caller owns the predicate until it is passed into KuduScanner::AddConjunctPredicate(). In the case of an error (e.g. an invalid column name), a non-NULL value is still returned. The error will be returned when attempting to add this predicate to a KuduScanner.
+ +
+
+ +

◆ NewUpdate()

+ +
+
+ + + + + + + +
KuduUpdate* kudu::client::KuduTable::NewUpdate ()
+
+
Returns
New UPDATE operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ NewUpdateIgnore()

+ +
+
+ + + + + + + +
KuduUpdateIgnore* kudu::client::KuduTable::NewUpdateIgnore ()
+
+
Returns
New UPDATE_IGNORE operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ NewUpsert()

+ +
+
+ + + + + + + +
KuduUpsert* kudu::client::KuduTable::NewUpsert ()
+
+
Returns
New UPSERT operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ NewUpsertIgnore()

+ +
+
+ + + + + + + +
KuduUpsertIgnore* kudu::client::KuduTable::NewUpsertIgnore ()
+
+
Returns
New UPSERT_IGNORE operation for this table. It is the caller's responsibility to free the result, unless it is passed to KuduSession::Apply().
+ +
+
+ +

◆ num_replicas()

+ +
+
+ + + + + + + +
int kudu::client::KuduTable::num_replicas () const
+
+
Returns
Replication factor of the table.
+ +
+
+ +

◆ owner()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduTable::owner () const
+
+
Returns
Owner of the table (empty string if unset).
+ +
+
+ +

◆ partition_schema()

+ +
+
+ + + + + + + +
const PartitionSchema& kudu::client::KuduTable::partition_schema () const
+
+
Returns
The partition schema for the table.
+ +
+
+ +

◆ schema()

+ +
+
+ + + + + + + +
const KuduSchema& kudu::client::KuduTable::schema () const
+
+
Returns
Reference to the table's schema object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable.png new file mode 100644 index 0000000000..e143f6bc4b Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTable.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html new file mode 100644 index 0000000000..98eb0326a7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer-members.html @@ -0,0 +1,101 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTableAlterer Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTableAlterer, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
AddColumn(const std::string &name)kudu::client::KuduTableAlterer
AddRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)kudu::client::KuduTableAlterer
AddRangePartition(KuduRangePartition *partition)kudu::client::KuduTableAlterer
AddRangePartitionWithDimension(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, const std::string &dimension_label, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)kudu::client::KuduTableAlterer
Alter()kudu::client::KuduTableAlterer
AlterColumn(const std::string &name)kudu::client::KuduTableAlterer
AlterExtraConfig(const std::map< std::string, std::string > &extra_configs)kudu::client::KuduTableAlterer
DropColumn(const std::string &name)kudu::client::KuduTableAlterer
DropRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)kudu::client::KuduTableAlterer
RenameTo(const std::string &new_name)kudu::client::KuduTableAlterer
SetComment(const std::string &new_comment)kudu::client::KuduTableAlterer
SetOwner(const std::string &new_owner)kudu::client::KuduTableAlterer
SetTableDiskSizeLimit(int64_t disk_size_limit)kudu::client::KuduTableAlterer
SetTableRowCountLimit(int64_t row_count_limit)kudu::client::KuduTableAlterer
timeout(const MonoDelta &timeout)kudu::client::KuduTableAlterer
wait(bool wait)kudu::client::KuduTableAlterer
~KuduTableAlterer() (defined in kudu::client::KuduTableAlterer)kudu::client::KuduTableAlterer
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html new file mode 100644 index 0000000000..32f9c0ac88 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableAlterer.html @@ -0,0 +1,660 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTableAlterer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduTableAlterer Class Reference
+
+
+ +

Alters an existing table based on the provided steps. + More...

+ +

#include <client.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

KuduTableAltererRenameTo (const std::string &new_name)
 
KuduTableAltererSetOwner (const std::string &new_owner)
 
KuduTableAltererSetComment (const std::string &new_comment)
 
KuduColumnSpecAddColumn (const std::string &name)
 
KuduColumnSpecAlterColumn (const std::string &name)
 
KuduTableAltererDropColumn (const std::string &name)
 
KuduTableAltererAddRangePartition (KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
 
KuduTableAltererAddRangePartition (KuduRangePartition *partition)
 
KuduTableAltererAddRangePartitionWithDimension (KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, const std::string &dimension_label, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
 
KuduTableAltererDropRangePartition (KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
 
KuduTableAltererAlterExtraConfig (const std::map< std::string, std::string > &extra_configs)
 
KuduTableAltererSetTableDiskSizeLimit (int64_t disk_size_limit)
 
KuduTableAltererSetTableRowCountLimit (int64_t row_count_limit)
 
KuduTableAlterertimeout (const MonoDelta &timeout)
 
KuduTableAltererwait (bool wait)
 
Status Alter ()
 
+

Detailed Description

+

Alters an existing table based on the provided steps.

+

Create a new instance of a table alterer using KuduClient::NewTableAlterer(). An example of usage:

std::unique_ptr<KuduTableAlterer> alterer(
+
client->NewTableAlterer("table-name"));
+
alterer->AddColumn("foo")->Type(KuduColumnSchema::INT32)->NotNull();
+
alterer->AlterColumn("bar")->Compression(KuduColumnStorageAttributes::LZ4);
+
Status s = alterer->Alter();
+

Member Function Documentation

+ +

◆ AddColumn()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduTableAlterer::AddColumn (const std::string & name)
+
+

Add a new column to the table.

+

When adding a column, you must specify the default value of the new column using KuduColumnSpec::DefaultValue(...).

+
Parameters
+ + +
nameName of the column do add.
+
+
+
Returns
Pointer to the result ColumnSpec object. The alterer keeps ownership of the newly created object.
+ +
+
+ +

◆ AddRangePartition() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::AddRangePartition (KuduPartialRowlower_bound,
KuduPartialRowupper_bound,
KuduTableCreator::RangePartitionBound lower_bound_type = KuduTableCreator::INCLUSIVE_BOUND,
KuduTableCreator::RangePartitionBound upper_bound_type = KuduTableCreator::EXCLUSIVE_BOUND 
)
+
+

Add a range partition to the table with the specified lower bound and upper bound.

+
Note
The table alterer takes ownership of the rows.
+
+Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.
+
+This client may immediately write and scan the new tablets when Alter() returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to 5 minutes.
+
Parameters
+ + + + + +
[in]lower_boundThe lower bound of the range partition to add. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default.
[in]upper_boundThe upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default.
[in]lower_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to inclusive.
[in]upper_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to exclusive.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ AddRangePartition() [2/2]

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::AddRangePartition (KuduRangePartitionpartition)
+
+

Add the specified range partition with custom hash schema to the table.

+
Note
The table alterer takes ownership of the partition object.
+
+Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.
+
+This client may immediately write and scan the new tablets when Alter() returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to 5 minutes.
+
Parameters
+ + +
[in]partitionThe range partition to be created: it can have a custom hash schema.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ AddRangePartitionWithDimension()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::AddRangePartitionWithDimension (KuduPartialRowlower_bound,
KuduPartialRowupper_bound,
const std::string & dimension_label,
KuduTableCreator::RangePartitionBound lower_bound_type = KuduTableCreator::INCLUSIVE_BOUND,
KuduTableCreator::RangePartitionBound upper_bound_type = KuduTableCreator::EXCLUSIVE_BOUND 
)
+
+

Add a range partition to the table with dimension label.

+
Note
The table alterer takes ownership of the rows.
+
+Multiple range partitions may be added as part of a single alter table transaction by calling this method multiple times on the table alterer.
+
+This client may immediately write and scan the new tablets when Alter() returns success, however other existing clients may have to wait for a timeout period to elapse before the tablets become visible. This period is configured by the master's 'table_locations_ttl_ms' flag, and defaults to 5 minutes.
+
+See KuduTableCreator::dimension_label() for details on dimension label.
+
Parameters
+ + + + + + +
[in]lower_boundThe lower bound of the range partition to add. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default.
[in]upper_boundThe upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default.
[in]dimension_labelThe dimension label for the tablet to be created.
[in]lower_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to inclusive.
[in]upper_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to exclusive.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ Alter()

+ +
+
+ + + + + + + +
Status kudu::client::KuduTableAlterer::Alter ()
+
+
Returns
Status of the ALTER TABLE operation. The return value may indicate an error in the alter operation, or a misuse of the builder (e.g. add_column() with default_value=NULL). In the latter case, only the last error is returned.
+ +
+
+ +

◆ AlterColumn()

+ +
+
+ + + + + + + + +
KuduColumnSpec* kudu::client::KuduTableAlterer::AlterColumn (const std::string & name)
+
+

Alter an existing column.

+
Note
The column may not be in the primary key.
+
Parameters
+ + +
[in]nameName of the column to alter.
+
+
+
Returns
Pointer to the result ColumnSpec object. The alterer keeps ownership of the newly created object.
+ +
+
+ +

◆ AlterExtraConfig()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::AlterExtraConfig (const std::map< std::string, std::string > & extra_configs)
+
+

Change the table's extra configuration properties.

+
Note
These configuration properties will be merged into existing configuration properties.
+
+If the value of the kv pair is empty, the property will be unset.
+
Parameters
+ + +
[in]extra_configsThe table's extra configuration properties.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ DropColumn()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::DropColumn (const std::string & name)
+
+

Drops an existing column from the table.

+
Note
The column may not be in the primary key.
+
Parameters
+ + +
[in]nameName of the column to alter.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ DropRangePartition()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::DropRangePartition (KuduPartialRowlower_bound,
KuduPartialRowupper_bound,
KuduTableCreator::RangePartitionBound lower_bound_type = KuduTableCreator::INCLUSIVE_BOUND,
KuduTableCreator::RangePartitionBound upper_bound_type = KuduTableCreator::EXCLUSIVE_BOUND 
)
+
+

Drop the range partition from the table with the specified lower bound and upper bound. The bounds must match an existing range partition exactly, and may not span multiple range partitions.

+
Note
The table alterer takes ownership of the rows.
+
+Multiple range partitions may be dropped as part of a single alter table transaction by calling this method multiple times on the table alterer.
+
Parameters
+ + + + + +
[in]lower_boundThe inclusive lower bound of the range partition to drop. If the row is empty, then the lower bound is unbounded. If any of the columns are unset, the logical minimum value for the column's type will be used by default.
[in]upper_boundThe exclusive upper bound of the range partition to add. If the row is empty, then the upper bound is unbounded. If any of the individual columns are unset, the logical minimum value for the column' type will be used by default.
[in]lower_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to inclusive.
[in]upper_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to exclusive.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ RenameTo()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::RenameTo (const std::string & new_name)
+
+

Rename the table.

+
Parameters
+ + +
[in]new_nameThe new name for the table.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ SetComment()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::SetComment (const std::string & new_comment)
+
+

Set the comment on the table.

+
Parameters
+ + +
[in]new_commentThe new comment on the table.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ SetOwner()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::SetOwner (const std::string & new_owner)
+
+

Set the owner of the table.

+
Parameters
+ + +
[in]new_ownerThe new owner for the table.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ SetTableDiskSizeLimit()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::SetTableDiskSizeLimit (int64_t disk_size_limit)
+
+

Set the disk size limit of the table by the super user.

+
Note
The table limit alterations, including disk_size_limit and row_count_limit, cannot be changed in the same alteration request with other alterations, because the table 'limit' alteration needs the super user permission.
+
+It is experimental and may change or disappear in future. This feature currently applies size limit on a single table.
+
Parameters
+ + +
[in]disk_size_limitThe max table disk size, -1 is for no limit
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ SetTableRowCountLimit()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::SetTableRowCountLimit (int64_t row_count_limit)
+
+

Set the row count limit of the table by the super user.

+
Note
The table limit alterations, including disk_size_limit and row_count_limit, cannot be changed in the same alteration request with other alterations, because the table 'limit' alteration needs the super user permission.
+
+It is experimental and may change or disappear in future. This feature currently applies row count limit on a single table.
+
Parameters
+ + +
[in]row_count_limitThe max row count of the table, -1 is for no limit
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ timeout()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::timeout (const MonoDeltatimeout)
+
+

Set a timeout for the alteration operation.

+

This includes any waiting after the alter has been submitted (i.e. if the alter is slow to be performed on a large table, it may time out and then later be successful).

+
Parameters
+ + +
[in]timeoutTimeout to set.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+ +

◆ wait()

+ +
+
+ + + + + + + + +
KuduTableAlterer* kudu::client::KuduTableAlterer::wait (bool wait)
+
+

Whether to wait for completion of alteration operations.

+

If set to true, an alteration operation returns control only after the operation is complete. Otherwise, every operation returns immediately. By default (i.e. when an alteration object is created) it is set to true.

+
Parameters
+ + +
[in]waitWhether to wait for alteration operation to complete before returning control.
+
+
+
Returns
Raw pointer to this alterer object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html new file mode 100644 index 0000000000..35fcbdcbf7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator-members.html @@ -0,0 +1,105 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTableCreator Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTableCreator, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
add_custom_range_partition(class KuduRangePartition *partition)kudu::client::KuduTableCreator
add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets)kudu::client::KuduTableCreator
add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed)kudu::client::KuduTableCreator
add_range_partition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, RangePartitionBound lower_bound_type=INCLUSIVE_BOUND, RangePartitionBound upper_bound_type=EXCLUSIVE_BOUND)kudu::client::KuduTableCreator
add_range_partition_split(KuduPartialRow *split_row)kudu::client::KuduTableCreator
Create()kudu::client::KuduTableCreator
dimension_label(const std::string &dimension_label)kudu::client::KuduTableCreator
EXCLUSIVE_BOUND enum valuekudu::client::KuduTableCreator
extra_configs(const std::map< std::string, std::string > &extra_configs)kudu::client::KuduTableCreator
INCLUSIVE_BOUND enum valuekudu::client::KuduTableCreator
num_replicas(int n_replicas)kudu::client::KuduTableCreator
RangePartitionBound enum namekudu::client::KuduTableCreator
schema(const KuduSchema *schema)kudu::client::KuduTableCreator
set_comment(const std::string &comment)kudu::client::KuduTableCreator
set_owner(const std::string &owner)kudu::client::KuduTableCreator
set_range_partition_columns(const std::vector< std::string > &columns)kudu::client::KuduTableCreator
split_rows(const std::vector< const KuduPartialRow * > &split_rows)kudu::client::KuduTableCreator
table_name(const std::string &name)kudu::client::KuduTableCreator
timeout(const MonoDelta &timeout)kudu::client::KuduTableCreator
wait(bool wait)kudu::client::KuduTableCreator
~KuduTableCreator() (defined in kudu::client::KuduTableCreator)kudu::client::KuduTableCreator
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html new file mode 100644 index 0000000000..b1191c26f0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableCreator.html @@ -0,0 +1,679 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTableCreator Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduTableCreator Class Reference
+
+
+ +

A helper class to create a new table with the desired options. + More...

+ +

#include <client.h>

+ + + + + +

+Public Types

enum  RangePartitionBound { EXCLUSIVE_BOUND +, INCLUSIVE_BOUND + }
 Range partition bound type. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

KuduTableCreatortable_name (const std::string &name)
 
KuduTableCreatorschema (const KuduSchema *schema)
 
KuduTableCreatoradd_hash_partitions (const std::vector< std::string > &columns, int32_t num_buckets)
 
KuduTableCreatoradd_hash_partitions (const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed)
 
KuduTableCreatorset_range_partition_columns (const std::vector< std::string > &columns)
 
KuduTableCreatoradd_range_partition (KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, RangePartitionBound lower_bound_type=INCLUSIVE_BOUND, RangePartitionBound upper_bound_type=EXCLUSIVE_BOUND)
 
KuduTableCreatoradd_custom_range_partition (class KuduRangePartition *partition)
 
KuduTableCreatoradd_range_partition_split (KuduPartialRow *split_row)
 
KuduTableCreatorset_owner (const std::string &owner)
 
KuduTableCreatorset_comment (const std::string &comment)
 
KuduTableCreatorsplit_rows (const std::vector< const KuduPartialRow * > &split_rows)
 
KuduTableCreatornum_replicas (int n_replicas)
 
KuduTableCreatordimension_label (const std::string &dimension_label)
 
KuduTableCreatorextra_configs (const std::map< std::string, std::string > &extra_configs)
 
KuduTableCreatortimeout (const MonoDelta &timeout)
 
KuduTableCreatorwait (bool wait)
 
Status Create ()
 
+

Detailed Description

+

A helper class to create a new table with the desired options.

+

Member Enumeration Documentation

+ +

◆ RangePartitionBound

+ +
+
+ +

Range partition bound type.

+ + + +
Enumerator
EXCLUSIVE_BOUND 

An exclusive bound.

+
INCLUSIVE_BOUND 

An inclusive bound.

+
+ +
+
+

Member Function Documentation

+ +

◆ add_custom_range_partition()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::add_custom_range_partition (class KuduRangePartitionpartition)
+
+

Add a range partition with a custom hash schema.

+

This method allows adding a range partition which has hash partitioning schema different from the table-wide one.

+ +
Parameters
+ + +
[in]partitionRange partition with range-specific hash schema. The KuduTableCreator object takes ownership of the partition object.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ add_hash_partitions() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::add_hash_partitions (const std::vector< std::string > & columns,
int32_t num_buckets 
)
+
+

Add a set of hash partitions to the table.

+

Tables must be created with either range, hash, or range and hash partitioning.

+

For each set of hash partitions added to the table, the total number of tablets is multiplied by the number of buckets. For example, if a table is created with 3 split rows, and 2 hash partitions with 4 and 5 buckets respectively, the total number of tablets will be 80 (4 range partitions * 4 hash buckets * 5 hash buckets).

+
Parameters
+ + + +
[in]columnsNames of columns to use for partitioning.
[in]num_bucketsNumber of buckets for the hashing.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ add_hash_partitions() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::add_hash_partitions (const std::vector< std::string > & columns,
int32_t num_buckets,
int32_t seed 
)
+
+

Add a set of hash partitions to the table (with seed).

+

This method is exactly the same as add_hash_partitions() above, with the exception of additional seed value, which can be used to randomize the mapping of rows to hash buckets. Setting the seed may provide some amount of protection against denial of service attacks when the hashed columns contain user provided values.

+
Parameters
+ + + + +
[in]columnsNames of columns to use for partitioning.
[in]num_bucketsNumber of buckets for the hashing.
[in]seedHash: seed for mapping rows to hash buckets.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ add_range_partition()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::add_range_partition (KuduPartialRowlower_bound,
KuduPartialRowupper_bound,
RangePartitionBound lower_bound_type = INCLUSIVE_BOUND,
RangePartitionBound upper_bound_type = EXCLUSIVE_BOUND 
)
+
+

Add a range partition with table-wide hash bucket schema.

+

Multiple range partitions may be added, but they must not overlap. All range splits specified by add_range_partition_split must fall in a range partition. The lower bound must be less than or equal to the upper bound.

+

If this method is not called, the table's range will be unbounded.

+
Parameters
+ + + + + +
[in]lower_boundRow to use as a lower bound. The KuduTableCreator instance takes ownership of this parameter. If row is empty, no lower bound is imposed on the table range. If a column of the lower_bound row is missing a value, the logical minimum value for that column type is used as the default.
[in]upper_boundRow to use as an upper bound. The KuduTableCreator instance takes ownership of this parameter. If row is empty, no upper bound is imposed on the table range. If a column of the upper_bound row is missing a value, the logical maximum value for that column type is used as the default.
[in]lower_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to inclusive.
[in]upper_bound_typeThe type of the lower bound, either inclusive or exclusive. Defaults to exclusive.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ add_range_partition_split()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::add_range_partition_split (KuduPartialRowsplit_row)
+
+

Add a range partition split at the provided row.

+
Parameters
+ + +
[in]split_rowThe row to use for partitioning. If the row is missing a value for any of the range partition columns, the logical minimum value for that column type will be used by default. The KuduTableCreator object takes ownership of the parameter.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ Create()

+ +
+
+ + + + + + + +
Status kudu::client::KuduTableCreator::Create ()
+
+

Create a table in accordance with parameters currently set for the KuduTableCreator instance. Once created, the table handle can be obtained using KuduClient::OpenTable() method.

+
Precondition
The following methods of the KuduTableCreator must be called prior to invoking this method: +
+
Returns
Result status of the CREATE TABLE operation. The return value may indicate an error in the create table operation, or a misuse of the builder. In the latter case, only the last error is returned.
+ +
+
+ +

◆ dimension_label()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::dimension_label (const std::string & dimension_label)
+
+

Set the dimension label for all tablets created at table creation time.

+
Note
By default, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas. If the dimension label is provided, newly created replicas will be evenly distributed in the cluster based on the dimension label. In other words, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas belonging to this dimension label.
+
Parameters
+ + +
[in]dimension_labelThe dimension label for the tablet to be created.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ extra_configs()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::extra_configs (const std::map< std::string, std::string > & extra_configs)
+
+

Sets the table's extra configuration properties.

+

If the value of the kv pair is empty, the property will be ignored.

+
Parameters
+ + +
[in]extra_configsThe table's extra configuration properties.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ num_replicas()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::num_replicas (int n_replicas)
+
+

Set the table replication factor.

+

Replicated tables can continue to read and write data while a majority of replicas are not failed.

+
Parameters
+ + +
[in]n_replicasNumber of replicas to set. This should be an odd number. If not provided (or if <= 0), falls back to the server-side default.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ schema()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::schema (const KuduSchemaschema)
+
+

Set the schema with which to create the table.

+
Parameters
+ + +
[in]schemaSchema to use. Must remain valid for the lifetime of the builder. Must be non-NULL.
+
+
+
Returns
Reference to the modified table creator.
+
Remarks
Calling this method and setting schema for the table-to-be is one of the pre-conditions for calling KuduTableCreator::Create() method.
+ +
+
+ +

◆ set_comment()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::set_comment (const std::string & comment)
+
+

Set the table comment.

+
Parameters
+ + +
[in]commentThe comment on the table.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ set_owner()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::set_owner (const std::string & owner)
+
+

Set the table owner.

+

If unspecified, the owner will be the user creating the table.

+
Parameters
+ + +
[in]ownerThe username of the table owner.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ set_range_partition_columns()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::set_range_partition_columns (const std::vector< std::string > & columns)
+
+

Set the columns on which the table will be range-partitioned.

+

Tables must be created with either range, hash, or range and hash partitioning. To force the use of a single tablet (not recommended), call this method with an empty vector and set no split rows and no hash partitions.

+
Parameters
+ + +
[in]columnsNames of columns to use for partitioning. Every column must be a part of the table's primary key. If not set, or if called with an empty vector, the table will be created without range partitioning.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ split_rows()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::split_rows (const std::vector< const KuduPartialRow * > & split_rows)
+
+
Deprecated:
Use add_range_partition_split() instead.
+
Parameters
+ + +
[in]split_rowsThe row to use for partitioning.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ table_name()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::table_name (const std::string & name)
+
+

Set name for the table.

+
Parameters
+ + +
[in]nameName of the target table.
+
+
+
Returns
Reference to the modified table creator.
+
Remarks
Calling this method and setting the name for the table-to-be is one of the pre-conditions for calling KuduTableCreator::Create() method.
+
Todo:
Should name of the table be a constructor's parameter instead?
+ +
+
+ +

◆ timeout()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::timeout (const MonoDeltatimeout)
+
+

Set the timeout for the table creation operation.

+

This includes any waiting after the create has been submitted (i.e. if the create is slow to be performed for a large table, it may time out and then later be successful).

+
Parameters
+ + +
[in]timeoutTimeout to set.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+ +

◆ wait()

+ +
+
+ + + + + + + + +
KuduTableCreator& kudu::client::KuduTableCreator::wait (bool wait)
+
+

Wait for the table to be fully created before returning.

+

If not called, defaults to true.

+
Parameters
+ + +
[in]waitWhether to wait for completion of operations.
+
+
+
Returns
Reference to the modified table creator.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html new file mode 100644 index 0000000000..ea8c7df0c2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics-members.html @@ -0,0 +1,91 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTableStatistics Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTableStatistics, including all inherited members.

+ + + + + + + + +
KuduTableStatistics() (defined in kudu::client::KuduTableStatistics)kudu::client::KuduTableStatistics
live_row_count() constkudu::client::KuduTableStatistics
live_row_count_limit() constkudu::client::KuduTableStatistics
on_disk_size() constkudu::client::KuduTableStatistics
on_disk_size_limit() constkudu::client::KuduTableStatistics
ToString() constkudu::client::KuduTableStatistics
~KuduTableStatistics() (defined in kudu::client::KuduTableStatistics)kudu::client::KuduTableStatistics
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html new file mode 100644 index 0000000000..5b397f7374 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTableStatistics.html @@ -0,0 +1,204 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTableStatistics Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduTableStatistics Class Reference
+
+
+ +

In-memory statistics of table. + More...

+ +

#include <client.h>

+ + + + + + + + + + + + +

+Public Member Functions

int64_t on_disk_size () const
 
int64_t live_row_count () const
 
int64_t on_disk_size_limit () const
 
int64_t live_row_count_limit () const
 
std::string ToString () const
 
+

Detailed Description

+

In-memory statistics of table.

+

Member Function Documentation

+ +

◆ live_row_count()

+ +
+
+ + + + + + + +
int64_t kudu::client::KuduTableStatistics::live_row_count () const
+
+
Returns
The table's live row count. -1 is returned if the table doesn't support live_row_count.
+
Note
This statistic is pre-replication.
+ +
+
+ +

◆ live_row_count_limit()

+ +
+
+ + + + + + + +
int64_t kudu::client::KuduTableStatistics::live_row_count_limit () const
+
+
Returns
The table's live row count limit. -1 is returned if there is no row count limit on this table.
+
Note
It is experimental and may change or disappear in future. This feature currently applies row count limit on a single table, but it should also support database level row count limit.
+ +
+
+ +

◆ on_disk_size()

+ +
+
+ + + + + + + +
int64_t kudu::client::KuduTableStatistics::on_disk_size () const
+
+
Returns
The table's on disk size. -1 is returned if the table doesn't support on_disk_size.
+
Note
This statistic is pre-replication.
+ +
+
+ +

◆ on_disk_size_limit()

+ +
+
+ + + + + + + +
int64_t kudu::client::KuduTableStatistics::on_disk_size_limit () const
+
+
Returns
The table's on disk size limit. -1 is returned if there is no disk size limit on this table.
+
Note
It is experimental and may change or disappear in future. This feature currently applies size limit on a single table, but it should also support database level size limit.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + + + +
std::string kudu::client::KuduTableStatistics::ToString () const
+
+

Stringify this Statistics.

+
Returns
A string describing this statistics
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html new file mode 100644 index 0000000000..6ebe55535f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTablet-members.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTablet Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTablet, including all inherited members.

+ + + + +
id() constkudu::client::KuduTablet
replicas() constkudu::client::KuduTablet
~KuduTablet() (defined in kudu::client::KuduTablet)kudu::client::KuduTablet
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html new file mode 100644 index 0000000000..d33d798a4f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTablet.html @@ -0,0 +1,140 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTablet Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduTablet Class Reference
+
+
+ +

In-memory representation of a remote tablet. + More...

+ +

#include <client.h>

+ + + + + + +

+Public Member Functions

const std::string & id () const
 
const std::vector< const KuduReplica * > & replicas () const
 
+

Detailed Description

+

In-memory representation of a remote tablet.

+

Member Function Documentation

+ +

◆ id()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduTablet::id () const
+
+
Returns
The ID which is globally unique and guaranteed not to change for the lifetime of the tablet.
+ +
+
+ +

◆ replicas()

+ +
+
+ + + + + + + +
const std::vector<const KuduReplica*>& kudu::client::KuduTablet::replicas () const
+
+
Returns
The replicas of this tablet. The KuduTablet retains ownership over the replicas.
+
Note
This information may be stale; replicas may be added or removed from Raft configurations at any time.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html new file mode 100644 index 0000000000..d385f47a10 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer-members.html @@ -0,0 +1,88 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTabletServer Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTabletServer, including all inherited members.

+ + + + + +
hostname() constkudu::client::KuduTabletServer
port() constkudu::client::KuduTabletServer
uuid() constkudu::client::KuduTabletServer
~KuduTabletServer() (defined in kudu::client::KuduTabletServer)kudu::client::KuduTabletServer
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html new file mode 100644 index 0000000000..b0adca75d9 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTabletServer.html @@ -0,0 +1,159 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTabletServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduTabletServer Class Reference
+
+
+ +

In-memory representation of a remote tablet server. + More...

+ +

#include <client.h>

+ + + + + + + + +

+Public Member Functions

const std::string & uuid () const
 
const std::string & hostname () const
 
uint16_t port () const
 
+

Detailed Description

+

In-memory representation of a remote tablet server.

+

Member Function Documentation

+ +

◆ hostname()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduTabletServer::hostname () const
+
+
Returns
Hostname of the first RPC address that this tablet server is listening on.
+ +
+
+ +

◆ port()

+ +
+
+ + + + + + + +
uint16_t kudu::client::KuduTabletServer::port () const
+
+
Returns
Port number of the first RPC address that this tablet server is listening on.
+ +
+
+ +

◆ uuid()

+ +
+
+ + + + + + + +
const std::string& kudu::client::KuduTabletServer::uuid () const
+
+
Returns
The UUID which is globally unique and guaranteed not to change for the lifetime of the tablet server.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html new file mode 100644 index 0000000000..0f9a22427f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction-members.html @@ -0,0 +1,92 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTransaction Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTransaction, including all inherited members.

+ + + + + + + + + +
Commit() WARN_UNUSED_RESULTkudu::client::KuduTransaction
CreateSession(sp::shared_ptr< KuduSession > *session) WARN_UNUSED_RESULTkudu::client::KuduTransaction
Deserialize(const sp::shared_ptr< KuduClient > &client, const std::string &serialized_txn, sp::shared_ptr< KuduTransaction > *txn) WARN_UNUSED_RESULTkudu::client::KuduTransactionstatic
IsCommitComplete(bool *is_complete, Status *completion_status) WARN_UNUSED_RESULTkudu::client::KuduTransaction
Rollback() WARN_UNUSED_RESULTkudu::client::KuduTransaction
Serialize(std::string *serialized_txn, const SerializationOptions &options=SerializationOptions()) const WARN_UNUSED_RESULTkudu::client::KuduTransaction
StartCommit() WARN_UNUSED_RESULTkudu::client::KuduTransaction
~KuduTransaction() (defined in kudu::client::KuduTransaction)kudu::client::KuduTransaction
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html new file mode 100644 index 0000000000..b74a7f3a40 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.html @@ -0,0 +1,351 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTransaction Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::client::KuduTransaction Class Reference
+
+
+ +

#include <client.h>

+
+Inheritance diagram for kudu::client::KuduTransaction:
+
+
+ +
+ + + + +

+Classes

class  SerializationOptions
 
+ + + + + + + + + + + + + +

+Public Member Functions

Status CreateSession (sp::shared_ptr< KuduSession > *session) WARN_UNUSED_RESULT
 
Status Commit () WARN_UNUSED_RESULT
 
Status StartCommit () WARN_UNUSED_RESULT
 
Status IsCommitComplete (bool *is_complete, Status *completion_status) WARN_UNUSED_RESULT
 
Status Rollback () WARN_UNUSED_RESULT
 
Status Serialize (std::string *serialized_txn, const SerializationOptions &options=SerializationOptions()) const WARN_UNUSED_RESULT
 
+ + + +

+Static Public Member Functions

static Status Deserialize (const sp::shared_ptr< KuduClient > &client, const std::string &serialized_txn, sp::shared_ptr< KuduTransaction > *txn) WARN_UNUSED_RESULT
 
+

Detailed Description

+

A class representing a multi-row transaction in Kudu. Once created using KuduClient::BeginTransaction() or KuduTransaction::Deserialize method, KuduTransaction instance can be used to commit or rollback the underlying multi-row transaction and create a transactional session.

+
Note
The KuduTransaction should be kept in scope to maintain automatic keep-alive heartbeating for the corresponding transaction. Once this object goes out of scope, the heartbeating stops and the transaction may automatically be aborted soon if no other clients do the heartbeating.
+
+There isn't any automation to rollback or commit the underlying transaction upon destruction of an instance of this class.
+
Warning
The set of methods in this class, their behavior, and signatures are experimental and may change or disappear in future. The class itself is experimental and may change its lineage, API status, or disappear in future.
+

Member Function Documentation

+ +

◆ Commit()

+ +
+
+ + + + + + + +
Status kudu::client::KuduTransaction::Commit ()
+
+

Commit the transaction.

+

This method automatically flushes all transactional sessions created off this transaction handle via KuduTransaction::CreateSession(), initiates committing the transaction, and then waits for the commit phase to finalize. The flushing of all the derivative transactional sessions helps avoiding unintentional data loss when those sessions are not flushed explicitly before committing. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called.

+
Returns
Returns Status::OK() if all the stages of the transaction's commit sequence were successful, i.e. the status of various pre-commit work, the status of starting the commit phase, the status of the commit phase itself once it's completed. Returns non-OK status of the very first failed stage of the transaction's commit sequence.
+ +
+
+ +

◆ CreateSession()

+ +
+
+ + + + + + + + +
Status kudu::client::KuduTransaction::CreateSession (sp::shared_ptr< KuduSession > * session)
+
+

Create a new KuduSession with "transactional" semantics.

+

Every write operation performed in the context of the newly created "transactional" session becomes a part of the corresponding multi-row transaction represented by an instance of this class. Multiple sessions can be created in the context of the same multi-row distributed transaction by the same or different Kudu clients residing on a single or multiple nodes.

+
Parameters
+ + +
[out]sessionThe result session object.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ Deserialize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status kudu::client::KuduTransaction::Deserialize (const sp::shared_ptr< KuduClient > & client,
const std::string & serialized_txn,
sp::shared_ptr< KuduTransaction > * txn 
)
+
+static
+
+

Re-create KuduTransaction object given its serialized representation.

+

This method doesn't perform any RPC under the hood. The newly created object automatically does or does not send keep-alive messages depending on the KuduTransaction::SerializationOptions::enable_keepalive() setting when the original KuduTransaction object was serialized using KuduTransaction::Serialize().

+
Parameters
+ + + + +
[in]clientClient instance to bound the result object to.
[in]serialized_txnString containing serialized representation of KuduTransaction object.
[out]txnThe result KuduTransaction object, wrapped into a smart pointer.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ IsCommitComplete()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduTransaction::IsCommitComplete (bool * is_complete,
Statuscompletion_status 
)
+
+

Whether the commit has completed i.e. no longer in progress of finalizing.

+

This method checks for the transaction's commit status, setting the is_complete out parameter to true and the completion_status parameter to the finalization status of the commit process, assuming the method returning Status::OK(). The happy case is when the method returns Status::OK(), is_complete is set to true and completion_status is set to Status::OK() – that means the transaction has successfully finalized its commit phase.

+
Parameters
+ + + +
[out]is_completeWhether the process of finalizing the commit of the transaction has ended, including both success and failure outcomes. In other words, the value of this out parameter indicates whether the finalization of the transaction's commit phase is no longer in progress: it already succeeded or failed by the time of processing the request. This parameter is assigned a meaningful value iff the method returns Status::OK().
[out]completion_statusThe status of finalization of the transaction's commit phase:
    +
  • Status::OK() if the commit phase successfully finalized
  • +
  • non-OK status if the commit phase failed to finalize This parameter is assigned a meaningful value iff the method returns Status::OK().
  • +
+
+
+
+
Returns
The result status of querying the transaction's commit status. Both is_complete and completion_status are set iff the method returns Status::OK().
+ +
+
+ +

◆ Rollback()

+ +
+
+ + + + + + + +
Status kudu::client::KuduTransaction::Rollback ()
+
+

Rollback/abort the transaction.

+
Returns
Operation result status.
+ +
+
+ +

◆ Serialize()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status kudu::client::KuduTransaction::Serialize (std::string * serialized_txn,
const SerializationOptionsoptions = SerializationOptions() 
) const
+
+

Export the information on this transaction in a serialized form.

+

The serialized information on a Kudu transaction can be passed among different Kudu clients running at multiple nodes, so those separate Kudu clients can perform operations to be a part of the same distributed transaction. The resulting string is referred as "transaction token" and can be deserialized into a transaction handle (i.e. an object of the KuduTransaction class) via the KuduTransaction::Deserialize() method.

+

This method doesn't perform any RPC under the hood. The behavior of this method is controlled by SerializationOptions set for this transaction handle.

+
Note
The representation of the data in the serialized form (i.e. the format of a Kudu transaction token) is an implementation detail, not a part of the public API.
+
Parameters
+ + + +
[out]serialized_txnResult string to output the serialized transaction information.
[in]optionsOptions to use when serializing the handle (optional). If omitted, the default serialization parameters are used – the same as it would be for a default-constructed instance of SerializationOptions used for this parameter.
+
+
+
Returns
Operation result status.
+ +
+
+ +

◆ StartCommit()

+ +
+
+ + + + + + + +
Status kudu::client::KuduTransaction::StartCommit ()
+
+

Start committing this transaction, but don't wait for the commit phase to finalize.

+

This method initiates the commit phase for this transaction, not waiting for the commit phase to finalize. It requires all the transactional sessions created off this handle via KuduTransaction::CreateSession() to be flushed already. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called. To check for the transaction's commit status, use the KuduTransaction::IsCommitComplete() method.

+
Returns
Status of starting the commit phase for this transaction if all the transactional sessions created off this handle are flushed, otherwise returns Status::IllegalState().
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.png new file mode 100644 index 0000000000..4425c86867 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html new file mode 100644 index 0000000000..85867eae5c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions-members.html @@ -0,0 +1,88 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduTransaction::SerializationOptions Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduTransaction::SerializationOptions, including all inherited members.

+ + + + + +
enable_keepalive(bool enable)kudu::client::KuduTransaction::SerializationOptions
keepalive() constkudu::client::KuduTransaction::SerializationOptions
SerializationOptions() (defined in kudu::client::KuduTransaction::SerializationOptions)kudu::client::KuduTransaction::SerializationOptions
~SerializationOptions() (defined in kudu::client::KuduTransaction::SerializationOptions)kudu::client::KuduTransaction::SerializationOptions
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html new file mode 100644 index 0000000000..702b67c651 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html @@ -0,0 +1,150 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduTransaction::SerializationOptions Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduTransaction::SerializationOptions Class Reference
+
+
+ +

#include <client.h>

+ + + + + + +

+Public Member Functions

bool keepalive () const
 
SerializationOptionsenable_keepalive (bool enable)
 
+

Detailed Description

+

This class controls serialization-related parameters for a Kudu transaction handle (i.e. KuduTransaction).

+

One of the parameters is whether to enable sending keepalive messages for the resulting KuduTransaction handle upon deserialization. In future, the list of configurable parameters might be extended (e.g., by adding commit and abort permissions, i.e. whether a handle obtained by deserializing a handle from the string representation can be used to commit and/or abort the transaction).

+

Member Function Documentation

+ +

◆ enable_keepalive()

+ +
+
+ + + + + + + + +
SerializationOptions& kudu::client::KuduTransaction::SerializationOptions::enable_keepalive (bool enable)
+
+

Enable/disable keepalive for a handle which is the result of deserializing a previously serialized KuduTransaction handle.

+

Sending keepalive messages for a transaction handle deserialized from a string is disabled by default.

+
Parameters
+ + +
[in]enableWhether to enable sending keepalive messages for KuduTransaction handle once it's deserialized from the string representation of a Kudu transaction handle.
+
+
+
Returns
Reference to the updated object.
+ +
+
+ +

◆ keepalive()

+ +
+
+ + + + + + + +
bool kudu::client::KuduTransaction::SerializationOptions::keepalive () const
+
+

This method returns the current setting keepalive behavior, i.e. whether to send keepalive messages for Kudu transaction handles.

+

No keepalive heartbeat messages are sent from a transaction handle if its token was created with the default "keepalive disabled" setting. The idea here is that the most common use case for using transaction tokens is of the "start topology" (see below), so it's enough to have just one top-level handle sending keepalive messages. Overall, having more than one actor sending keepalive messages for a transaction is acceptable but it puts needless load on a cluster.

+

The most common use case for a transaction's handle serialization/deserialization is of the "star topology": a transaction is started by a top-level application which sends the transaction token produced by serializing the original transaction handle to other worker applications running concurrently, where the latter write their data in the context of the same transaction and report back to the top-level application, which in its turn initiates committing the transaction as needed. The important point is that the top-level application keeps the transaction handle around all the time from the start of the transaction to the very point when transaction is committed. Under the hood, the original transaction handle sends keepalive messages as required until commit phase is initiated, so the deserialized transaction handles which are used by the worker applications don't need to send keepalive messages.

+

The other (less common) use case is of the "ring topology": a chain of applications work sequentially as a part of the same transaction, where the very first application starts the transaction, writes its data, and hands over the responsibility of managing the lifecycle of the transaction to other application down the chain. After doing so it may exit, so now only the next application has the active transaction handle, and so on it goes until the transaction is committed by the application in the end of the chain. In this scenario, every deserialized handle have to send keepalive messages to avoid automatic rollback of the transaction, and every application in the chain should set SerializationOptions::enable_keepalive to true when serializing its transaction handle into a transaction token to pass to the application next in the chain.

+
Returns
whether to send keepalive messages for Kudu transaction handles
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html new file mode 100644 index 0000000000..0edc973177 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduUpdate Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduUpdate, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduUpdateinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduUpdate() (defined in kudu::client::KuduUpdate)kudu::client::KuduUpdatevirtual
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html new file mode 100644 index 0000000000..eabda8662a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduUpdate Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduUpdate Class Reference
+
+
+ +

A single row update to be sent to the cluster. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduUpdate:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

virtual std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row update to be sent to the cluster.

+
Precondition
An update requires the key columns and at least one other column in the schema to be set in the embedded KuduPartialRow object.
+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduUpdate::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.png new file mode 100644 index 0000000000..03a93e0ce5 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdate.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html new file mode 100644 index 0000000000..ba03e5ec27 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduUpdateIgnore Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduUpdateIgnore, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduUpdateIgnoreinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduUpdateIgnore() (defined in kudu::client::KuduUpdateIgnore)kudu::client::KuduUpdateIgnorevirtual
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html new file mode 100644 index 0000000000..587029d027 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduUpdateIgnore Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduUpdateIgnore Class Reference
+
+
+ +

A single row update ignore to be sent to the cluster, missing row errors and errors on updating immutable cells are ignored. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduUpdateIgnore:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

virtual std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row update ignore to be sent to the cluster, missing row errors and errors on updating immutable cells are ignored.

+
Precondition
An update ignore requires the key columns and at least one other column in the schema to be set in the embedded KuduPartialRow object.
+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduUpdateIgnore::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.png new file mode 100644 index 0000000000..bce7100980 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpdateIgnore.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html new file mode 100644 index 0000000000..93ab978330 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduUpsert Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduUpsert, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduUpsertinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduUpsert() (defined in kudu::client::KuduUpsert)kudu::client::KuduUpsertvirtual
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html new file mode 100644 index 0000000000..565bdf5071 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduUpsert Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduUpsert Class Reference
+
+
+ +

A single row upsert to be sent to the cluster. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduUpsert:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

virtual std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row upsert to be sent to the cluster.

+

See KuduInsert for more details.

+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduUpsert::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.png new file mode 100644 index 0000000000..6c4891c9d8 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsert.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore-members.html new file mode 100644 index 0000000000..e4dc6e035b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore-members.html @@ -0,0 +1,99 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduUpsertIgnore Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduUpsertIgnore, including all inherited members.

+ + + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const OVERRIDEkudu::client::KuduUpsertIgnoreinlinevirtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduUpsertIgnore() OVERRIDE (defined in kudu::client::KuduUpsertIgnore)kudu::client::KuduUpsertIgnore
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore.html new file mode 100644 index 0000000000..6517900f03 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore.html @@ -0,0 +1,166 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduUpsertIgnore Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::KuduUpsertIgnore Class Reference
+
+
+ +

A single row upsert ignore to be sent to the cluster, errors on updating immutable cells are ignored. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduUpsertIgnore:
+
+
+ + +kudu::client::KuduWriteOperation + +
+ + + + + + + + + + + +

+Public Member Functions

std::string ToString () const OVERRIDE
 
- Public Member Functions inherited from kudu::client::KuduWriteOperation
const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
const KuduTabletable () const
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from kudu::client::KuduWriteOperation
enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+

Detailed Description

+

A single row upsert ignore to be sent to the cluster, errors on updating immutable cells are ignored.

+

See KuduUpsert for more details.

+

Member Function Documentation

+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
std::string kudu::client::KuduUpsertIgnore::ToString () const
+
+inlinevirtual
+
+ +

+
Returns
String representation of the operation.
+ +

Implements kudu::client::KuduWriteOperation.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore.png new file mode 100644 index 0000000000..3f303600d2 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduUpsertIgnore.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html new file mode 100644 index 0000000000..5dc3733cf1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduValue-members.html @@ -0,0 +1,91 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduValue Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduValue, including all inherited members.

+ + + + + + + + +
Clone() constkudu::client::KuduValue
CopyString(Slice s)kudu::client::KuduValuestatic
FromBool(bool val)kudu::client::KuduValuestatic
FromDouble(double val)kudu::client::KuduValuestatic
FromFloat(float val)kudu::client::KuduValuestatic
FromInt(int64_t val)kudu::client::KuduValuestatic
~KuduValue() (defined in kudu::client::KuduValue)kudu::client::KuduValue
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduValue.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduValue.html new file mode 100644 index 0000000000..c40b8d64a7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduValue.html @@ -0,0 +1,304 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduValue Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
kudu::client::KuduValue Class Reference
+
+
+ +

A constant cell value with a specific type. + More...

+ +

#include <value.h>

+ + + + +

+Public Member Functions

KuduValueClone () const
 
+ + + + + + + + + + + + +

+Static Public Member Functions

static KuduValueCopyString (Slice s)
 
Builders from integral types.
static KuduValueFromInt (int64_t val)
 
static KuduValueFromFloat (float val)
 
static KuduValueFromDouble (double val)
 
static KuduValueFromBool (bool val)
 
+

Detailed Description

+

A constant cell value with a specific type.

+

Member Function Documentation

+ +

◆ Clone()

+ +
+
+ + + + + + + +
KuduValue* kudu::client::KuduValue::Clone () const
+
+
Returns
A new identical KuduValue object.
+ +
+
+ +

◆ CopyString()

+ +
+
+ + + + + +
+ + + + + + + + +
static KuduValue* kudu::client::KuduValue::CopyString (Slice s)
+
+static
+
+

Construct a KuduValue by copying the value of the given Slice.

+
Parameters
+ + +
[in]sThe slice to copy value from.
+
+
+
Returns
A new KuduValue object.
+ +
+
+ +

◆ FromBool()

+ +
+
+ + + + + +
+ + + + + + + + +
static KuduValue* kudu::client::KuduValue::FromBool (bool val)
+
+static
+
+

Construct a KuduValue object from the given value of integral type.

+
Parameters
+ + +
[in]valThe value to build the KuduValue from.
+
+
+
Returns
A new KuduValue object.
+ +
+
+ +

◆ FromDouble()

+ +
+
+ + + + + +
+ + + + + + + + +
static KuduValue* kudu::client::KuduValue::FromDouble (double val)
+
+static
+
+

Construct a KuduValue object from the given value of integral type.

+
Parameters
+ + +
[in]valThe value to build the KuduValue from.
+
+
+
Returns
A new KuduValue object.
+ +
+
+ +

◆ FromFloat()

+ +
+
+ + + + + +
+ + + + + + + + +
static KuduValue* kudu::client::KuduValue::FromFloat (float val)
+
+static
+
+

Construct a KuduValue object from the given value of integral type.

+
Parameters
+ + +
[in]valThe value to build the KuduValue from.
+
+
+
Returns
A new KuduValue object.
+ +
+
+ +

◆ FromInt()

+ +
+
+ + + + + +
+ + + + + + + + +
static KuduValue* kudu::client::KuduValue::FromInt (int64_t val)
+
+static
+
+

Construct a KuduValue object from the given value of integral type.

+
Parameters
+ + +
[in]valThe value to build the KuduValue from.
+
+
+
Returns
A new KuduValue object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html new file mode 100644 index 0000000000..e0b2120ec8 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation-members.html @@ -0,0 +1,98 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::KuduWriteOperation Member List
+
+
+ +

This is the complete list of members for kudu::client::KuduWriteOperation, including all inherited members.

+ + + + + + + + + + + + + + + +
DELETE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
DELETE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
INSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
mutable_row()kudu::client::KuduWriteOperationinline
row() constkudu::client::KuduWriteOperationinline
table() constkudu::client::KuduWriteOperationinline
ToString() const =0kudu::client::KuduWriteOperationpure virtual
Type enum namekudu::client::KuduWriteOperation
UPDATE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPDATE_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
UPSERT_IGNORE enum value (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperation
~KuduWriteOperation() (defined in kudu::client::KuduWriteOperation)kudu::client::KuduWriteOperationvirtual
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html new file mode 100644 index 0000000000..4559947507 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.html @@ -0,0 +1,258 @@ + + + + + + + +Kudu C++ client API: kudu::client::KuduWriteOperation Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
kudu::client::KuduWriteOperation Class Referenceabstract
+
+
+ +

A single-row write operation to be sent to a Kudu table. + More...

+ +

#include <write_op.h>

+
+Inheritance diagram for kudu::client::KuduWriteOperation:
+
+
+ + +kudu::client::KuduDelete +kudu::client::KuduDeleteIgnore +kudu::client::KuduInsert +kudu::client::KuduInsertIgnore +kudu::client::KuduUpdate +kudu::client::KuduUpdateIgnore +kudu::client::KuduUpsert +kudu::client::KuduUpsertIgnore + +
+ + + + + +

+Public Types

enum  Type {
+  INSERT = 1 +, UPDATE = 2 +, DELETE = 3 +, UPSERT = 4 +,
+  INSERT_IGNORE = 5 +, UPDATE_IGNORE = 6 +, DELETE_IGNORE = 7 +, UPSERT_IGNORE = 8 +
+ }
 Write operation types.
 
+ + + + + + + + + +

+Public Member Functions

const KuduPartialRowrow () const
 
KuduPartialRowmutable_row ()
 
virtual std::string ToString () const =0
 
const KuduTabletable () const
 
+

Detailed Description

+

A single-row write operation to be sent to a Kudu table.

+

This is the abstract base class from which the particular row operations (KuduInsert, KuduUpdate, etc) are derived. These subclasses are instantiated by KuduTable::NewInsert(), etc.

+

The row key, as well as the columns to be inserted or updated are set using the embedded KuduPartialRow object accessible via mutable_row().

+

Typical usage example:

KuduInsert* t = table->NewInsert();
+
KUDU_CHECK_OK(t->mutable_row()->SetInt32("key", 1234));
+
KUDU_CHECK_OK(t->mutable_row()->SetStringCopy("foo", "bar"));
+
KUDU_CHECK_OK(session->Apply(t));
+
KuduInsert * NewInsert()
+
const KuduTable * table() const
Definition: write_op.h:100
+
#define KUDU_CHECK_OK(s)
If the status is bad, CHECK immediately, appending the status to the logged message.
Definition: status.h:102
+

Member Function Documentation

+ +

◆ mutable_row()

+ +
+
+ + + + + +
+ + + + + + + +
KuduPartialRow* kudu::client::KuduWriteOperation::mutable_row ()
+
+inline
+
+
Note
To work with a row, use the KuduPartialRow API for field setters, etc.
+
Returns
Pointer to the corresponding row-like object.
+ +
+
+ +

◆ row()

+ +
+
+ + + + + +
+ + + + + + + +
const KuduPartialRow& kudu::client::KuduWriteOperation::row () const
+
+inline
+
+
Note
To work with a row, use the KuduPartialRow API for field getters, etc.
+
Returns
Immutable reference to the corresponding row-like object.
+ +
+
+ +

◆ table()

+ +
+
+ + + + + +
+ + + + + + + +
const KuduTable* kudu::client::KuduWriteOperation::table () const
+
+inline
+
+
Returns
Raw pointer to KuduTable object representing the table that the write is targeted for.
+ +
+
+ +

◆ ToString()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string kudu::client::KuduWriteOperation::ToString () const
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.png b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.png new file mode 100644 index 0000000000..bf31941b5a Binary files /dev/null and b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1KuduWriteOperation.png differ diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html new file mode 100644 index 0000000000..17f512d8ae --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics-members.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::ResourceMetrics Member List
+
+
+ +

This is the complete list of members for kudu::client::ResourceMetrics, including all inherited members.

+ + + + + + +
Get() constkudu::client::ResourceMetrics
GetMetric(const std::string &name) constkudu::client::ResourceMetrics
Increment(const std::string &name, int64_t amount)kudu::client::ResourceMetrics
ResourceMetrics() (defined in kudu::client::ResourceMetrics)kudu::client::ResourceMetrics
~ResourceMetrics() (defined in kudu::client::ResourceMetrics)kudu::client::ResourceMetrics
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html new file mode 100644 index 0000000000..e739fc96ce --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1ResourceMetrics.html @@ -0,0 +1,185 @@ + + + + + + + +Kudu C++ client API: kudu::client::ResourceMetrics Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::client::ResourceMetrics Class Reference
+
+
+ +

A generic catalog of simple metrics. + More...

+ +

#include <resource_metrics.h>

+ + + + + + + + +

+Public Member Functions

std::map< std::string, int64_t > Get () const
 
void Increment (const std::string &name, int64_t amount)
 
int64_t GetMetric (const std::string &name) const
 
+

Detailed Description

+

A generic catalog of simple metrics.

+

Member Function Documentation

+ +

◆ Get()

+ +
+
+ + + + + + + +
std::map<std::string, int64_t> kudu::client::ResourceMetrics::Get () const
+
+
Returns
A map that contains all metrics, its key is the metric name and its value is corresponding metric count.
+ +
+
+ +

◆ GetMetric()

+ +
+
+ + + + + + + + +
int64_t kudu::client::ResourceMetrics::GetMetric (const std::string & name) const
+
+

Get current count for the specified metric.

+
Parameters
+ + +
[in]nameName of the metric in question.
+
+
+
Returns
The metric's current count.
+ +
+
+ +

◆ Increment()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void kudu::client::ResourceMetrics::Increment (const std::string & name,
int64_t amount 
)
+
+

Increment/decrement the given metric.

+
Parameters
+ + + +
[in]nameThe name of the metric.
[in]amountThe amount to increment the metric (negative amount corresponds to decrementing the metric).
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html new file mode 100644 index 0000000000..304e25c561 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html @@ -0,0 +1,84 @@ + + + + + + + +Kudu C++ client API: kudu::client::internal::AsyncLeaderMasterRpc< ReqClass, RespClass > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::internal::AsyncLeaderMasterRpc< ReqClass, RespClass > Class Template Reference
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html new file mode 100644 index 0000000000..8860fac19c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html @@ -0,0 +1,84 @@ + + + + + + + +Kudu C++ client API: kudu::client::internal::AsyncRandomTxnManagerRpc< ReqClass, RespClass > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::client::internal::AsyncRandomTxnManagerRpc< ReqClass, RespClass > Class Template Reference
+
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html new file mode 100644 index 0000000000..8d306dc315 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog-members.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::internal_logging::CerrLog Member List
+
+
+ +

This is the complete list of members for kudu::internal_logging::CerrLog, including all inherited members.

+ + + + +
CerrLog(int severity)kudu::internal_logging::CerrLoginline
operator<<(const T &t)kudu::internal_logging::CerrLoginline
~CerrLog() (defined in kudu::internal_logging::CerrLog)kudu::internal_logging::CerrLoginline
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html new file mode 100644 index 0000000000..27a12f53d5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1CerrLog.html @@ -0,0 +1,174 @@ + + + + + + + +Kudu C++ client API: kudu::internal_logging::CerrLog Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::internal_logging::CerrLog Class Reference
+
+
+ +

A helper for stderr log sink. + More...

+ +

#include <stubs.h>

+ + + + + + + +

+Public Member Functions

 CerrLog (int severity)
 
template<class T >
CerrLogoperator<< (const T &t)
 
+

Detailed Description

+

A helper for stderr log sink.

+

Constructor & Destructor Documentation

+ +

◆ CerrLog()

+ +
+
+ + + + + +
+ + + + + + + + +
kudu::internal_logging::CerrLog::CerrLog (int severity)
+
+inline
+
+

Create a CerrLog sink helper object.

+
Parameters
+ + +
[in]severityThe severity for log messages output to the sink (stderr).
+
+
+ +
+
+

Member Function Documentation

+ +

◆ operator<<()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
CerrLog& kudu::internal_logging::CerrLog::operator<< (const T & t)
+
+inline
+
+

The output operator.

+
Parameters
+ + +
[in]tThe object to print into stderr.
+
+
+
Returns
Reference to the updated object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html new file mode 100644 index 0000000000..1f8a2c39dc --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog-members.html @@ -0,0 +1,85 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu::internal_logging::NullLog Member List
+
+
+ +

This is the complete list of members for kudu::internal_logging::NullLog, including all inherited members.

+ + +
operator<<(const T &t)kudu::internal_logging::NullLoginline
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html new file mode 100644 index 0000000000..5f95b2536e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/classkudu_1_1internal__logging_1_1NullLog.html @@ -0,0 +1,139 @@ + + + + + + + +Kudu C++ client API: kudu::internal_logging::NullLog Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
kudu::internal_logging::NullLog Class Reference
+
+
+ +

A helper for the nil log sink. + More...

+ +

#include <stubs.h>

+ + + + + +

+Public Member Functions

template<class T >
NullLogoperator<< (const T &t)
 
+

Detailed Description

+

A helper for the nil log sink.

+

Using this helper is analogous to sending log messages to /dev/null: nothing gets logged.

+

Member Function Documentation

+ +

◆ operator<<()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
NullLog& kudu::internal_logging::NullLog::operator<< (const T & t)
+
+inline
+
+

The no-op output operator.

+
Parameters
+ + +
[in]tThe object to send into the nil sink.
+
+
+
Returns
Reference to the updated object.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/client_8h_source.html b/releases/1.17.1/cpp-client-api/client_8h_source.html new file mode 100644 index 0000000000..fc02f4ec2a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/client_8h_source.html @@ -0,0 +1,1427 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/client.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
client.h
+
+
+
1 // Licensed to the Apache Software Foundation (ASF) under one
+
2 // or more contributor license agreements. See the NOTICE file
+
3 // distributed with this work for additional information
+
4 // regarding copyright ownership. The ASF licenses this file
+
5 // to you under the Apache License, Version 2.0 (the
+
6 // "License"); you may not use this file except in compliance
+
7 // with the License. You may obtain a copy of the License at
+
8 //
+
9 // http://www.apache.org/licenses/LICENSE-2.0
+
10 //
+
11 // Unless required by applicable law or agreed to in writing,
+
12 // software distributed under the License is distributed on an
+
13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
14 // KIND, either express or implied. See the License for the
+
15 // specific language governing permissions and limitations
+
16 // under the License.
+
17 
+
24 
+
25 #ifndef KUDU_CLIENT_CLIENT_H
+
26 #define KUDU_CLIENT_CLIENT_H
+
27 
+
28 #include <stdint.h>
+
29 
+
30 #include <cstddef>
+
31 #include <map>
+
32 // Not safe to include <memory>; this header must remain compatible with C++98.
+
33 //
+
34 // IWYU pragma: no_include <memory>
+
35 #include <string>
+
36 #include <vector>
+
37 
+
38 #include "kudu/client/row_result.h"
+
39 #include "kudu/client/scan_predicate.h"
+
40 #include "kudu/client/schema.h"
+
41 #include "kudu/client/shared_ptr.h" // IWYU pragma: keep
+
42 #ifdef KUDU_HEADERS_NO_STUBS
+
43 #include <gtest/gtest_prod.h>
+
44 
+
45 #include "kudu/gutil/macros.h"
+
46 #include "kudu/gutil/port.h"
+
47 #else
+
48 #include "kudu/client/stubs.h"
+
49 #endif
+
50 #include "kudu/util/kudu_export.h"
+
51 #include "kudu/util/slice.h"
+
52 #include "kudu/util/status.h"
+
53 
+
54 namespace kudu {
+
55 
+
56 class AlterTableTest;
+
57 class AuthzTokenTest;
+
58 class ClientStressTest_TestUniqueClientIds_Test;
+
59 class DisableWriteWhenExceedingQuotaTest;
+
60 class KuduPartialRow;
+
61 class MetaCacheLookupStressTest_PerfSynthetic_Test;
+
62 class MonoDelta;
+
63 class Partition;
+
64 class PartitionSchema;
+
65 class SecurityUnknownTskTest;
+
66 class TxnId;
+
67 
+
68 namespace client {
+
69 class KuduClient;
+
70 class KuduTable;
+
71 } // namespace client
+
72 
+
73 namespace tablet {
+
74 class FuzzTest;
+
75 } // namespace tablet
+
76 
+
77 namespace transactions {
+
78 class CoordinatorRpc;
+
79 class ParticipantRpc;
+
80 class TxnSystemClient;
+
81 } // namespace transactions
+
82 
+
83 namespace tools {
+
84 class LeaderMasterProxy;
+
85 class RemoteKsckCluster;
+
86 class TableAlter;
+
87 class TableLister;
+
88 } // namespace tools
+
89 
+
90 namespace client {
+
91 
+
92 class KuduColumnarScanBatch;
+
93 class KuduDelete;
+
94 class KuduDeleteIgnore;
+
95 class KuduInsert;
+
96 class KuduInsertIgnore;
+
97 class KuduLoggingCallback;
+
98 class KuduPartitioner;
+
99 class KuduScanBatch;
+
100 class KuduSession;
+
101 class KuduStatusCallback;
+
102 class KuduTableAlterer;
+
103 class KuduTableCreator;
+
104 class KuduTableStatistics;
+
105 class KuduTablet;
+
106 class KuduTabletServer;
+
107 class KuduUpdate;
+
108 class KuduUpdateIgnore;
+
109 class KuduUpsert;
+
110 class KuduUpsertIgnore;
+
111 class KuduValue;
+
112 class KuduWriteOperation;
+
113 class ResourceMetrics;
+
114 
+
115 namespace internal {
+
116 class Batcher;
+
117 class ErrorCollector;
+
118 class GetTableSchemaRpc;
+
119 class LookupRpc;
+
120 class MetaCache;
+
121 class RemoteTablet;
+
122 class RemoteTabletServer;
+
123 class ReplicaController;
+
124 class RetrieveAuthzTokenRpc;
+
125 class ScanBatchDataInterface;
+
126 class TabletInfoProvider;
+
127 class WriteRpc;
+
128 template <class ReqClass, class RespClass>
+
129 class AsyncLeaderMasterRpc; // IWYU pragma: keep
+
130 template <class ReqClass, class RespClass>
+
131 class AsyncRandomTxnManagerRpc; // IWYU pragma: keep
+
132 } // namespace internal
+
133 
+
146 void KUDU_EXPORT InstallLoggingCallback(KuduLoggingCallback* cb);
+
147 
+
154 void KUDU_EXPORT UninstallLoggingCallback();
+
155 
+
171 void KUDU_EXPORT SetVerboseLogLevel(int level);
+
172 
+
182 Status KUDU_EXPORT SetInternalSignalNumber(int signum) WARN_UNUSED_RESULT;
+
183 
+
195 Status KUDU_EXPORT DisableSaslInitialization() WARN_UNUSED_RESULT;
+
196 
+
197 
+
220 Status KUDU_EXPORT DisableOpenSSLInitialization() WARN_UNUSED_RESULT;
+
221 
+
224 std::string KUDU_EXPORT GetShortVersionString();
+
225 
+
228 std::string KUDU_EXPORT GetAllVersionInfo();
+
229 
+
234 class KUDU_EXPORT KuduClientBuilder {
+
235  public:
+ + +
238 
+ +
241  OPTIONAL,
+
243 
+
244  REQUIRED_REMOTE,
+
246 
+
247  REQUIRED
+
249  };
+
250 
+ +
255 
+
261  KuduClientBuilder& master_server_addrs(const std::vector<std::string>& addrs);
+
262 
+
270  KuduClientBuilder& add_master_server_addr(const std::string& addr);
+
271 
+ +
282 
+ +
291 
+ +
306 
+
317  KuduClientBuilder& jwt(const std::string& jwt);
+
318 
+ +
332 
+
338  KuduClientBuilder& trusted_certificate(const std::string& cert_pem);
+
339 
+
349  KuduClientBuilder& num_reactors(int num_reactors);
+
350 
+
361  KuduClientBuilder& sasl_protocol_name(const std::string& sasl_protocol_name);
+
362 
+
372  KuduClientBuilder& require_authentication(bool require_authentication);
+
373 
+ +
392 
+
403  Status Build(sp::shared_ptr<KuduClient>* client);
+
404 
+
405  private:
+
406  class KUDU_NO_EXPORT Data;
+
407 
+
408  friend class internal::ReplicaController;
+
409 
+
410  // Owned.
+
411  Data* data_;
+
412 
+
413  DISALLOW_COPY_AND_ASSIGN(KuduClientBuilder);
+
414 };
+
415 
+
433 class KUDU_EXPORT KuduTransaction :
+
434  public sp::enable_shared_from_this<KuduTransaction> {
+
435  public:
+
436  ~KuduTransaction();
+
437 
+
450  Status CreateSession(sp::shared_ptr<KuduSession>* session) WARN_UNUSED_RESULT;
+
451 
+
468  Status Commit() WARN_UNUSED_RESULT;
+
469 
+
484  Status StartCommit() WARN_UNUSED_RESULT;
+
485 
+
513  Status IsCommitComplete(bool* is_complete,
+
514  Status* completion_status) WARN_UNUSED_RESULT;
+
515 
+
519  Status Rollback() WARN_UNUSED_RESULT;
+
520 
+
530  class KUDU_EXPORT SerializationOptions {
+
531  public:
+ + +
534 
+
576  bool keepalive() const;
+
577 
+ +
590 
+
591  private:
+
592  friend class KuduTransaction;
+
593  class KUDU_NO_EXPORT Data;
+
594 
+
595  Data* data_; // Owned.
+
596 
+
597  DISALLOW_COPY_AND_ASSIGN(SerializationOptions);
+
598  };
+
599 
+ +
626  std::string* serialized_txn,
+
627  const SerializationOptions& options = SerializationOptions()) const WARN_UNUSED_RESULT;
+
628 
+
644  static Status Deserialize(const sp::shared_ptr<KuduClient>& client,
+
645  const std::string& serialized_txn,
+
646  sp::shared_ptr<KuduTransaction>* txn) WARN_UNUSED_RESULT;
+
647  private:
+
648  DISALLOW_COPY_AND_ASSIGN(KuduTransaction);
+
649 
+
650  friend class KuduClient;
+
651  friend class KuduSession;
+
652  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);
+
653  FRIEND_TEST(ClientTest, TxnToken);
+
654 
+
655  class KUDU_NO_EXPORT Data;
+
656 
+
657  explicit KuduTransaction(const sp::shared_ptr<KuduClient>& client);
+
658  Data* data_; // Owned.
+
659 };
+
660 
+
687 class KUDU_EXPORT KuduClient : public sp::enable_shared_from_this<KuduClient> {
+
688  public:
+
689  ~KuduClient();
+
690 
+ +
696 
+
705  Status IsCreateTableInProgress(const std::string& table_name,
+
706  bool* create_in_progress);
+
707 
+
725  Status DeleteTable(const std::string& table_name);
+
726 
+
742 
+
748  Status SoftDeleteTable(const std::string& table_name,
+
749  uint32_t reserve_seconds = 0);
+
750 
+
752 
+
767  Status DeleteTableInCatalogs(const std::string& table_name,
+
768  bool modify_external_catalogs,
+
769  int32_t reserve_seconds = -1) KUDU_NO_EXPORT;
+
770 
+
779  Status RecallTable(const std::string& table_id, const std::string& new_table_name = "");
+
780 
+
782 
+
789  KuduTableAlterer* NewTableAlterer(const std::string& table_name);
+
790 
+
799  Status IsAlterTableInProgress(const std::string& table_name,
+
800  bool* alter_in_progress);
+
808  Status GetTableSchema(const std::string& table_name,
+
809  KuduSchema* schema);
+
810 
+
817  Status ListTabletServers(std::vector<KuduTabletServer*>* tablet_servers);
+
818 
+
827  Status ListTables(std::vector<std::string>* tables,
+
828  const std::string& filter = "");
+
829 
+
838  Status ListSoftDeletedTables(std::vector<std::string>* tables,
+
839  const std::string& filter = "");
+
840 
+
848  Status TableExists(const std::string& table_name, bool* exists);
+
849 
+
866  Status OpenTable(const std::string& table_name,
+
867  sp::shared_ptr<KuduTable>* table);
+
868 
+
874  sp::shared_ptr<KuduSession> NewSession();
+
875 
+
899  Status NewTransaction(sp::shared_ptr<KuduTransaction>* txn) WARN_UNUSED_RESULT;
+
900 
+
902 
+
915  Status GetTablet(const std::string& tablet_id,
+
916  KuduTablet** tablet) KUDU_NO_EXPORT;
+
917 
+
925  Status GetTableStatistics(const std::string& table_name,
+
926  KuduTableStatistics** statistics);
+
927 
+
935  std::string GetMasterAddresses() const KUDU_NO_EXPORT;
+
936 
+
938 
+ + +
942 
+
943  CLOSEST_REPLICA,
+
948 
+
949  FIRST_REPLICA
+
950  };
+
951 
+
954  bool IsMultiMaster() const;
+
955 
+ +
958 
+ +
961 
+ +
964 
+
967  static const uint64_t kNoTimestamp;
+
968 
+
979  uint64_t GetLatestObservedTimestamp() const;
+
980 
+
995  void SetLatestObservedTimestamp(uint64_t ht_timestamp);
+
996 
+
1008  Status ExportAuthenticationCredentials(std::string* authn_creds) const;
+
1009 
+
1011 
+
1017  std::string GetHiveMetastoreUris() const KUDU_NO_EXPORT;
+
1018 
+
1024  bool GetHiveMetastoreSaslEnabled() const KUDU_NO_EXPORT;
+
1025 
+
1035  std::string GetHiveMetastoreUuid() const KUDU_NO_EXPORT;
+
1036 
+
1043  std::string location() const KUDU_NO_EXPORT;
+
1044 
+
1048  std::string cluster_id() const KUDU_NO_EXPORT;
+
1050 
+
1051  private:
+
1052  class KUDU_NO_EXPORT Data;
+
1053 
+
1054  template <class ReqClass, class RespClass>
+
1055  friend class internal::AsyncLeaderMasterRpc;
+
1056  template <class ReqClass, class RespClass>
+
1057  friend class internal::AsyncRandomTxnManagerRpc;
+
1058 
+
1059  friend class ClientTest;
+
1060  friend class ConnectToClusterBaseTest;
+
1061  friend class KuduClientBuilder;
+
1062  friend class KuduPartitionerBuilder;
+
1063  friend class KuduTransaction;
+
1064  friend class KuduScanToken;
+
1065  friend class KuduScanTokenBuilder;
+
1066  friend class KuduScanner;
+
1067  friend class KuduSession;
+
1068  friend class KuduTable;
+
1069  friend class KuduTableAlterer;
+
1070  friend class KuduTableCreator;
+
1071  friend class internal::Batcher;
+
1072  friend class internal::GetTableSchemaRpc;
+
1073  friend class internal::LookupRpc;
+
1074  friend class internal::MetaCache;
+
1075  friend class internal::RemoteTablet;
+
1076  friend class internal::RemoteTabletServer;
+
1077  friend class internal::RetrieveAuthzTokenRpc;
+
1078  friend class internal::TabletInfoProvider;
+
1079  friend class internal::WriteRpc;
+
1080  friend class kudu::AuthzTokenTest;
+
1081  friend class kudu::DisableWriteWhenExceedingQuotaTest;
+
1082  friend class kudu::SecurityUnknownTskTest;
+
1083  friend class transactions::CoordinatorRpc;
+
1084  friend class transactions::ParticipantRpc;
+
1085  friend class transactions::TxnSystemClient;
+
1086  friend class tools::LeaderMasterProxy;
+
1087  friend class tools::RemoteKsckCluster;
+
1088  friend class tools::TableLister;
+
1089  friend class ScanTokenTest;
+
1090 
+
1091  FRIEND_TEST(kudu::ClientStressTest, TestUniqueClientIds);
+
1092  FRIEND_TEST(kudu::MetaCacheLookupStressTest, PerfSynthetic);
+
1093  FRIEND_TEST(ClientTest, ClearCacheAndConcurrentWorkload);
+
1094  FRIEND_TEST(ClientTest, ConnectionNegotiationTimeout);
+
1095  FRIEND_TEST(ClientTest, TestBasicIdBasedLookup);
+
1096  FRIEND_TEST(ClientTest, TestCacheAuthzTokens);
+
1097  FRIEND_TEST(ClientTest, TestGetSecurityInfoFromMaster);
+
1098  FRIEND_TEST(ClientTest, TestGetTabletServerBlacklist);
+
1099  FRIEND_TEST(ClientTest, TestGetTabletServerDeterministic);
+
1100  FRIEND_TEST(ClientTest, TestMasterDown);
+
1101  FRIEND_TEST(ClientTest, TestMasterLookupPermits);
+
1102  FRIEND_TEST(ClientTest, TestMetaCacheExpiry);
+
1103  FRIEND_TEST(ClientTest, TestMetaCacheExpiryById);
+
1104  FRIEND_TEST(ClientTest, TestMetaCacheExpiryWithKeysAndIds);
+
1105  FRIEND_TEST(ClientTest, TestMetaCacheLookupNoLeaders);
+
1106  FRIEND_TEST(ClientTest, TestMetaCacheWithKeysAndIds);
+
1107  FRIEND_TEST(ClientTest, TestNonCoveringRangePartitions);
+
1108  FRIEND_TEST(ClientTest, TestRetrieveAuthzTokenInParallel);
+
1109  FRIEND_TEST(ClientTest, TestReplicatedTabletWritesWithLeaderElection);
+
1110  FRIEND_TEST(ClientTest, TestScanFaultTolerance);
+
1111  FRIEND_TEST(ClientTest, TestScanTimeout);
+
1112  FRIEND_TEST(ClientTest, TestWriteWithDeadMaster);
+
1113  FRIEND_TEST(MasterFailoverTest, TestPauseAfterCreateTableIssued);
+
1114  FRIEND_TEST(MultiTServerClientTest, TestSetReplicationFactor);
+
1115 
+
1116  KuduClient();
+
1117 
+
1118  // Owned.
+
1119  Data* data_;
+
1120 
+
1121  DISALLOW_COPY_AND_ASSIGN(KuduClient);
+
1122 };
+
1123 
+
1125 class KUDU_EXPORT KuduTabletServer {
+
1126  public:
+
1127  ~KuduTabletServer();
+
1128 
+
1131  const std::string& uuid() const;
+
1132 
+
1135  const std::string& hostname() const;
+
1136 
+
1139  uint16_t port() const;
+
1140 
+
1142 
+
1147  const std::string& location() const KUDU_NO_EXPORT;
+
1149 
+
1150  private:
+
1151  class KUDU_NO_EXPORT Data;
+
1152 
+
1153  friend class KuduClient;
+
1154  friend class KuduScanner;
+
1155  friend class KuduScanTokenBuilder;
+
1156 
+
1157  KuduTabletServer();
+
1158 
+
1159  // Owned.
+
1160  Data* data_;
+
1161 
+
1162  DISALLOW_COPY_AND_ASSIGN(KuduTabletServer);
+
1163 };
+
1164 
+
1166 class KUDU_EXPORT KuduReplica {
+
1167  public:
+
1168  ~KuduReplica();
+
1169 
+
1174  bool is_leader() const;
+
1175 
+
1177  const KuduTabletServer& ts() const;
+
1178 
+
1179  private:
+
1180  friend class KuduClient;
+
1181  friend class KuduScanTokenBuilder;
+
1182  friend class internal::ReplicaController;
+
1183 
+
1184  class KUDU_NO_EXPORT Data;
+
1185 
+
1186  KuduReplica();
+
1187 
+
1188  // Owned.
+
1189  Data* data_;
+
1190 
+
1191  DISALLOW_COPY_AND_ASSIGN(KuduReplica);
+
1192 };
+
1193 
+
1195 class KUDU_EXPORT KuduTablet {
+
1196  public:
+
1197  ~KuduTablet();
+
1198 
+
1201  const std::string& id() const;
+
1202 
+
1208  const std::vector<const KuduReplica*>& replicas() const;
+
1209 
+
1210  private:
+
1211  friend class KuduClient;
+
1212  friend class KuduScanTokenBuilder;
+
1213 
+
1214  class KUDU_NO_EXPORT Data;
+
1215 
+
1216  KuduTablet();
+
1217 
+
1218  // Owned.
+
1219  Data* data_;
+
1220 
+
1221  DISALLOW_COPY_AND_ASSIGN(KuduTablet);
+
1222 };
+
1223 
+
1225 class KUDU_EXPORT KuduTableCreator {
+
1226  public:
+
1227  ~KuduTableCreator();
+
1228 
+
1240  KuduTableCreator& table_name(const std::string& name);
+
1241 
+ +
1253 
+
1270  KuduTableCreator& add_hash_partitions(const std::vector<std::string>& columns,
+
1271  int32_t num_buckets);
+
1272 
+
1288  KuduTableCreator& add_hash_partitions(const std::vector<std::string>& columns,
+
1289  int32_t num_buckets,
+
1290  int32_t seed);
+
1291 
+
1304  KuduTableCreator& set_range_partition_columns(const std::vector<std::string>& columns);
+
1305 
+ + + +
1310  };
+
1311 
+ +
1341  KuduPartialRow* upper_bound,
+
1342  RangePartitionBound lower_bound_type = INCLUSIVE_BOUND,
+
1343  RangePartitionBound upper_bound_type = EXCLUSIVE_BOUND);
+
1344 
+ +
1361  class KuduRangePartition* partition);
+
1362 
+ +
1372 
+
1380  KuduTableCreator& set_owner(const std::string& owner);
+
1381 
+
1387  KuduTableCreator& set_comment(const std::string& comment);
+
1388 
+
1394  KuduTableCreator& split_rows(const std::vector<const KuduPartialRow*>& split_rows)
+
1395  ATTRIBUTE_DEPRECATED("use add_range_partition_split() instead");
+
1396 
+
1406  KuduTableCreator& num_replicas(int n_replicas);
+
1407 
+
1419  KuduTableCreator& dimension_label(const std::string& dimension_label);
+
1420 
+
1428  KuduTableCreator& extra_configs(const std::map<std::string, std::string>& extra_configs);
+
1429 
+ +
1440 
+
1448  KuduTableCreator& wait(bool wait);
+
1449 
+ +
1464 
+
1465  private:
+
1466  class KUDU_NO_EXPORT Data;
+
1467 
+
1468  friend class KuduClient;
+
1469  friend class transactions::TxnSystemClient;
+
1470 
+
1471  explicit KuduTableCreator(KuduClient* client);
+
1472 
+
1473  // Owned.
+
1474  Data* data_;
+
1475 
+
1476  DISALLOW_COPY_AND_ASSIGN(KuduTableCreator);
+
1477 };
+
1478 
+
1485 class KUDU_EXPORT KuduRangePartition {
+
1486  public:
+ +
1502  KuduPartialRow* upper_bound,
+
1503  KuduTableCreator::RangePartitionBound lower_bound_type =
+ +
1505  KuduTableCreator::RangePartitionBound upper_bound_type =
+ +
1507 
+
1508  ~KuduRangePartition();
+
1509 
+
1528  Status add_hash_partitions(const std::vector<std::string>& columns,
+
1529  int32_t num_buckets,
+
1530  int32_t seed = 0);
+
1531  private:
+
1532  class KUDU_NO_EXPORT Data;
+
1533 
+
1534  friend class KuduTableCreator;
+
1535  friend class KuduTableAlterer;
+
1536 
+
1537  // Owned.
+
1538  Data* data_;
+
1539 
+
1540  DISALLOW_COPY_AND_ASSIGN(KuduRangePartition);
+
1541 };
+
1542 
+
1544 class KUDU_EXPORT KuduTableStatistics {
+
1545  public:
+ + +
1548 
+
1553  int64_t on_disk_size() const;
+
1554 
+
1559  int64_t live_row_count() const;
+
1560 
+
1567  int64_t on_disk_size_limit() const;
+
1568 
+
1575  int64_t live_row_count_limit() const;
+
1576 
+
1580  std::string ToString() const;
+
1581 
+
1582  private:
+
1583  class KUDU_NO_EXPORT Data;
+
1584 
+
1585  friend class KuduClient;
+
1586 
+
1587  // Owned.
+
1588  Data* data_;
+
1589 
+
1590  DISALLOW_COPY_AND_ASSIGN(KuduTableStatistics);
+
1591 };
+
1592 
+
1613 class KUDU_EXPORT KuduTable : public sp::enable_shared_from_this<KuduTable> {
+
1614  public:
+
1615  ~KuduTable();
+
1616 
+
1618  const std::string& name() const;
+
1619 
+
1627  const std::string& id() const;
+
1628 
+
1630  const KuduSchema& schema() const;
+
1631 
+
1633  const std::string& comment() const;
+
1634 
+
1636  int num_replicas() const;
+
1637 
+
1639  const std::string& owner() const;
+
1640 
+ +
1645 
+ +
1650 
+ +
1655 
+ +
1660 
+ +
1665 
+ +
1670 
+ +
1675 
+ +
1680 
+ + +
1706  KuduValue* value);
+
1707 
+ +
1740  std::vector<KuduBloomFilter*>* bloom_filters);
+
1741 
+
1746 
+ +
1783  const std::vector<Slice>& bloom_filters);
+
1785 
+ +
1810  std::vector<KuduValue*>* values);
+
1811 
+ +
1823 
+ +
1835 
+
1838  KuduClient* client() const;
+
1839 
+
1841  const PartitionSchema& partition_schema() const;
+
1842 
+
1844  const std::map<std::string, std::string>& extra_configs() const;
+
1845 
+
1847 
+
1857  Status ListPartitions(std::vector<Partition>* partitions) KUDU_NO_EXPORT;
+
1858 
+
1860 
+
1861  private:
+
1862  class KUDU_NO_EXPORT Data;
+
1863 
+
1864  friend class KuduClient;
+
1865  friend class KuduPartitioner;
+
1866  friend class KuduScanToken;
+
1867  friend class KuduScanner;
+
1868 
+
1869  KuduTable(const sp::shared_ptr<KuduClient>& client,
+
1870  const std::string& name,
+
1871  const std::string& id,
+
1872  int num_replicas,
+
1873  const std::string& owner,
+
1874  const std::string& comment,
+
1875  const KuduSchema& schema,
+
1876  const PartitionSchema& partition_schema,
+
1877  const std::map<std::string, std::string>& extra_configs);
+
1878 
+
1879  // Owned.
+
1880  Data* data_;
+
1881 
+
1882  DISALLOW_COPY_AND_ASSIGN(KuduTable);
+
1883 };
+
1884 
+
1896 class KUDU_EXPORT KuduTableAlterer {
+
1897  public:
+
1898  ~KuduTableAlterer();
+
1899 
+
1905  KuduTableAlterer* RenameTo(const std::string& new_name);
+
1906 
+
1912  KuduTableAlterer* SetOwner(const std::string& new_owner);
+
1913 
+
1919  KuduTableAlterer* SetComment(const std::string& new_comment);
+
1920 
+
1930  KuduColumnSpec* AddColumn(const std::string& name);
+
1931 
+
1940  KuduColumnSpec* AlterColumn(const std::string& name);
+
1941 
+
1949  KuduTableAlterer* DropColumn(const std::string& name);
+
1950 
+ +
1983  KuduPartialRow* lower_bound,
+
1984  KuduPartialRow* upper_bound,
+ + +
1987 
+ +
2006 
+ +
2042  KuduPartialRow* lower_bound,
+
2043  KuduPartialRow* upper_bound,
+
2044  const std::string& dimension_label,
+ + +
2047 
+ +
2076  KuduPartialRow* lower_bound,
+
2077  KuduPartialRow* upper_bound,
+ + +
2080 
+
2090  KuduTableAlterer* AlterExtraConfig(const std::map<std::string, std::string>& extra_configs);
+
2091 
+
2104  KuduTableAlterer* SetTableDiskSizeLimit(int64_t disk_size_limit);
+
2105 
+
2118  KuduTableAlterer* SetTableRowCountLimit(int64_t row_count_limit);
+
2119 
+ +
2130 
+
2142  KuduTableAlterer* wait(bool wait);
+
2143 
+
2145 
+
2154  KuduTableAlterer* modify_external_catalogs(bool modify_external_catalogs) KUDU_NO_EXPORT;
+
2155 
+
2157 
+ +
2163 
+
2164  private:
+
2165  class KUDU_NO_EXPORT Data;
+
2166 
+
2167  friend class KuduClient;
+
2168  friend class tools::TableAlter;
+
2169  friend class kudu::AlterTableTest;
+
2170 
+
2171  FRIEND_TEST(MultiTServerClientTest, TestSetReplicationFactor);
+
2172 
+
2173  KuduTableAlterer(KuduClient* client,
+
2174  const std::string& name);
+
2175 
+
2176  // Owned.
+
2177  Data* data_;
+
2178 
+
2179  DISALLOW_COPY_AND_ASSIGN(KuduTableAlterer);
+
2180 };
+
2181 
+
2187 class KUDU_EXPORT KuduError {
+
2188  public:
+
2189  ~KuduError();
+
2190 
+
2192  const Status& status() const;
+
2193 
+ +
2196 
+ +
2205 
+ +
2217 
+
2218  private:
+
2219  class KUDU_NO_EXPORT Data;
+
2220 
+
2221  friend class internal::Batcher;
+
2222  friend class internal::ErrorCollector;
+
2223  friend class KuduSession;
+
2224 
+
2225  KuduError(KuduWriteOperation* failed_op, const Status& error);
+
2226 
+
2227  // Owned.
+
2228  Data* data_;
+
2229 
+
2230  DISALLOW_COPY_AND_ASSIGN(KuduError);
+
2231 };
+
2232 
+
2233 
+
2292 class KUDU_EXPORT KuduSession : public sp::enable_shared_from_this<KuduSession> {
+
2293  public:
+
2294  ~KuduSession();
+
2295 
+
2297  enum FlushMode {
+ +
2303 
+ +
2331 
+
2344  MANUAL_FLUSH
+
2345  };
+
2346 
+
2355  Status SetFlushMode(FlushMode m) WARN_UNUSED_RESULT;
+
2356 
+ + +
2378 
+
2393  COMMIT_WAIT
+
2394  };
+
2395 
+ +
2402  WARN_UNUSED_RESULT;
+
2403 
+
2421  Status SetMutationBufferSpace(size_t size_bytes) WARN_UNUSED_RESULT;
+
2422 
+ +
2447  WARN_UNUSED_RESULT;
+
2448 
+
2470  Status SetMutationBufferFlushInterval(unsigned int millis) WARN_UNUSED_RESULT;
+
2471 
+
2496  Status SetMutationBufferMaxNum(unsigned int max_num) WARN_UNUSED_RESULT;
+
2497 
+
2503  void SetTimeoutMillis(int millis);
+
2504 
+
2508 
+
2532  Status Apply(KuduWriteOperation* write_op) WARN_UNUSED_RESULT;
+
2533 
+
2548  Status Flush() WARN_UNUSED_RESULT;
+
2549 
+
2590  void FlushAsync(KuduStatusCallback* cb);
+
2591 
+
2594  Status Close() WARN_UNUSED_RESULT;
+
2595 
+
2604  bool HasPendingOperations() const;
+
2605 
+
2627  int CountBufferedOperations() const
+
2628  ATTRIBUTE_DEPRECATED("this method is experimental and will disappear "
+
2629  "in a future release");
+
2630 
+
2655  Status SetErrorBufferSpace(size_t size_bytes);
+
2656 
+
2666  int CountPendingErrors() const;
+
2667 
+
2678  void GetPendingErrors(std::vector<KuduError*>* errors, bool* overflowed);
+
2679 
+
2681  KuduClient* client() const;
+
2682 
+
2684  const ResourceMetrics& GetWriteOpMetrics() const;
+
2685 
+
2686  private:
+
2687  class KUDU_NO_EXPORT Data;
+
2688 
+
2689  friend class ClientTest;
+
2690  friend class KuduClient;
+
2691  friend class KuduTransaction;
+
2692  friend class internal::Batcher;
+
2693  friend class tablet::FuzzTest;
+
2694  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundAndErrorCollector);
+
2695  FRIEND_TEST(ClientTest, TestAutoFlushBackgroundApplyBlocks);
+
2696  FRIEND_TEST(ClientTest, TxnIdOfTransactionalSession);
+
2697 
+
2698  explicit KuduSession(const sp::shared_ptr<KuduClient>& client);
+
2699  KuduSession(const sp::shared_ptr<KuduClient>& client, const TxnId& txn_id);
+
2700 
+
2701  // Owned.
+
2702  Data* data_;
+
2703 
+
2704  DISALLOW_COPY_AND_ASSIGN(KuduSession);
+
2705 };
+
2706 
+
2707 
+
2712 class KUDU_EXPORT KuduScanner {
+
2713  public:
+
2715  enum ReadMode {
+ +
2724 
+ +
2745 
+
2756  READ_YOUR_WRITES
+
2757  };
+
2758 
+
2762  enum OrderMode {
+ +
2769 
+
2774  ORDERED
+
2775  };
+
2776 
+
2780  enum { kScanTimeoutMillis = 30000 };
+
2781 
+
2787  explicit KuduScanner(KuduTable* table);
+
2788  ~KuduScanner();
+
2789 
+
2799  Status SetProjectedColumnNames(const std::vector<std::string>& col_names)
+
2800  WARN_UNUSED_RESULT;
+
2801 
+
2811  Status SetProjectedColumnIndexes(const std::vector<int>& col_indexes)
+
2812  WARN_UNUSED_RESULT;
+
2813 
+
2819  Status SetProjectedColumns(const std::vector<std::string>& col_names)
+
2820  WARN_UNUSED_RESULT
+
2821  ATTRIBUTE_DEPRECATED("use SetProjectedColumnNames() instead");
+
2822 
+
2831  Status AddConjunctPredicate(KuduPredicate* pred) WARN_UNUSED_RESULT;
+
2832 
+ +
2842 
+ +
2851  ATTRIBUTE_DEPRECATED("use AddLowerBound() instead");
+
2852 
+ +
2862 
+ +
2871  ATTRIBUTE_DEPRECATED("use AddExclusiveUpperBound() instead");
+
2872 
+ +
2882 
+ +
2892 
+
2899  Status SetCacheBlocks(bool cache_blocks);
+
2900 
+ +
2903 
+ +
2923 
+
2932  void Close();
+
2933 
+
2942  bool HasMoreRows() const;
+
2943 
+
2955  Status NextBatch(std::vector<KuduRowResult>* rows)
+
2956  ATTRIBUTE_DEPRECATED("use NextBatch(KuduScanBatch*) instead");
+
2957 
+ +
2970 
+ +
2983 
+ +
2993 
+ +
2996 
+
3003  Status SetBatchSizeBytes(uint32_t batch_size);
+
3004 
+ +
3013  WARN_UNUSED_RESULT;
+
3014 
+
3020  Status SetReadMode(ReadMode read_mode) WARN_UNUSED_RESULT;
+
3021 
+
3027  Status SetOrderMode(OrderMode order_mode) WARN_UNUSED_RESULT
+
3028  ATTRIBUTE_DEPRECATED("use SetFaultTolerant() instead");
+
3029 
+
3042  Status SetFaultTolerant() WARN_UNUSED_RESULT;
+
3043 
+
3049  Status SetSnapshotMicros(uint64_t snapshot_timestamp_micros) WARN_UNUSED_RESULT;
+
3050 
+
3060  Status SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;
+
3061 
+
3063 
+
3078  Status SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)
+
3079  WARN_UNUSED_RESULT KUDU_NO_EXPORT;
+
3080 
+
3082 
+
3088  Status SetTimeoutMillis(int millis);
+
3089 
+
3091  KuduSchema GetProjectionSchema() const;
+
3092 
+
3094  sp::shared_ptr<KuduTable> GetKuduTable();
+
3095 
+
3103 
+
3105  static const uint64_t NO_FLAGS = 0;
+
3112  static const uint64_t PAD_UNIXTIME_MICROS_TO_16_BYTES = 1 << 0;
+
3113 
+
3121  static const uint64_t COLUMNAR_LAYOUT = 1 << 1;
+
3122 
+
3150  Status SetRowFormatFlags(uint64_t flags);
+
3152 
+
3158  Status SetLimit(int64_t limit) WARN_UNUSED_RESULT;
+
3159 
+
3165  std::string ToString() const;
+
3166 
+
3167  private:
+
3168  class KUDU_NO_EXPORT Data;
+
3169 
+
3170  Status NextBatch(internal::ScanBatchDataInterface* batch);
+
3171 
+
3172  friend class KuduScanToken;
+
3173  friend class FlexPartitioningTest;
+
3174  FRIEND_TEST(ClientTest, TestBlockScannerHijackingAttempts);
+
3175  FRIEND_TEST(ClientTest, TestScanCloseProxy);
+
3176  FRIEND_TEST(ClientTest, TestScanFaultTolerance);
+
3177  FRIEND_TEST(ClientTest, TestScanNoBlockCaching);
+
3178  FRIEND_TEST(ClientTest, TestScanTimeout);
+
3179  FRIEND_TEST(ClientTest, TestReadAtSnapshotNoTimestampSet);
+
3180  FRIEND_TEST(ConsistencyITest, TestSnapshotScanTimestampReuse);
+
3181  FRIEND_TEST(ScanTokenTest, TestScanTokens);
+
3182  FRIEND_TEST(ScanTokenTest, TestScanTokens_NonUniquePrimaryKey);
+
3183 
+
3184  // Owned.
+
3185  Data* data_;
+
3186 
+
3187  DISALLOW_COPY_AND_ASSIGN(KuduScanner);
+
3188 };
+
3189 
+
3210 class KUDU_EXPORT KuduScanToken {
+
3211  public:
+
3212 
+
3213  ~KuduScanToken();
+
3214 
+
3225  Status IntoKuduScanner(KuduScanner** scanner) const WARN_UNUSED_RESULT;
+
3226 
+
3228  const KuduTablet& tablet() const;
+
3229 
+
3238  Status Serialize(std::string* buf) const WARN_UNUSED_RESULT;
+
3239 
+ +
3252  const std::string& serialized_token,
+
3253  KuduScanner** scanner) WARN_UNUSED_RESULT;
+
3254 
+
3255  private:
+
3256  class KUDU_NO_EXPORT Data;
+
3257 
+
3258  friend class KuduScanTokenBuilder;
+
3259 
+
3260  KuduScanToken();
+
3261 
+
3262  // Owned.
+
3263  Data* data_;
+
3264 
+
3265  DISALLOW_COPY_AND_ASSIGN(KuduScanToken);
+
3266 };
+
3267 
+
3271 class KUDU_EXPORT KuduScanTokenBuilder {
+
3272  public:
+
3273 
+ + +
3281 
+
3291  Status SetProjectedColumnNames(const std::vector<std::string>& col_names)
+
3292  WARN_UNUSED_RESULT;
+
3293 
+
3295  Status SetProjectedColumnIndexes(const std::vector<int>& col_indexes)
+
3296  WARN_UNUSED_RESULT;
+
3297 
+
3299  Status AddConjunctPredicate(KuduPredicate* pred) WARN_UNUSED_RESULT;
+
3300 
+
3302  Status AddLowerBound(const KuduPartialRow& key) WARN_UNUSED_RESULT;
+
3303 
+
3312  Status AddUpperBound(const KuduPartialRow& key) WARN_UNUSED_RESULT;
+
3313 
+
3315  Status SetCacheBlocks(bool cache_blocks) WARN_UNUSED_RESULT;
+
3316 
+
3323  Status SetBatchSizeBytes(uint32_t batch_size) WARN_UNUSED_RESULT;
+
3324 
+ +
3333  WARN_UNUSED_RESULT;
+
3334 
+
3336  Status SetReadMode(KuduScanner::ReadMode read_mode) WARN_UNUSED_RESULT;
+
3337 
+
3339  Status SetFaultTolerant() WARN_UNUSED_RESULT;
+
3340 
+
3342  Status SetSnapshotMicros(uint64_t snapshot_timestamp_micros)
+
3343  WARN_UNUSED_RESULT;
+
3344 
+
3346  Status SetSnapshotRaw(uint64_t snapshot_timestamp) WARN_UNUSED_RESULT;
+
3347 
+
3349 
+
3351  Status SetDiffScan(uint64_t start_timestamp, uint64_t end_timestamp)
+
3352  WARN_UNUSED_RESULT KUDU_NO_EXPORT;
+
3354 
+
3356  Status SetTimeoutMillis(int millis) WARN_UNUSED_RESULT;
+
3357 
+
3365  Status IncludeTableMetadata(bool include_metadata) WARN_UNUSED_RESULT;
+
3366 
+
3374  Status IncludeTabletMetadata(bool include_metadata) WARN_UNUSED_RESULT;
+
3375 
+
3386  void SetSplitSizeBytes(uint64_t split_size_bytes);
+
3387 
+
3396  Status Build(std::vector<KuduScanToken*>* tokens) WARN_UNUSED_RESULT;
+
3397 
+
3398  private:
+
3399  class KUDU_NO_EXPORT Data;
+
3400 
+
3401  // Owned.
+
3402  Data* data_;
+
3403 
+
3404  DISALLOW_COPY_AND_ASSIGN(KuduScanTokenBuilder);
+
3405 };
+
3406 
+
3408 class KUDU_EXPORT KuduPartitionerBuilder {
+
3409  public:
+
3414  explicit KuduPartitionerBuilder(sp::shared_ptr<KuduTable> table);
+ +
3416 
+ +
3423 
+
3442  Status Build(KuduPartitioner** partitioner);
+
3443  private:
+
3444  class KUDU_NO_EXPORT Data;
+
3445 
+
3446  // Owned.
+
3447  Data* data_;
+
3448 
+
3449  DISALLOW_COPY_AND_ASSIGN(KuduPartitionerBuilder);
+
3450 };
+
3451 
+
3462 class KUDU_EXPORT KuduPartitioner {
+
3463  public:
+
3464  ~KuduPartitioner();
+
3465 
+
3469  int NumPartitions() const;
+
3470 
+
3482  Status PartitionRow(const KuduPartialRow& row, int* partition);
+
3483  private:
+
3484  class KUDU_NO_EXPORT Data;
+
3485 
+
3486  friend class KuduPartitionerBuilder;
+
3487 
+
3488  explicit KuduPartitioner(Data* data);
+
3489  Data* data_; // Owned.
+
3490 
+
3491  DISALLOW_COPY_AND_ASSIGN(KuduPartitioner);
+
3492 };
+
3493 
+
3494 
+
3495 } // namespace client
+
3496 } // namespace kudu
+
3497 #endif
+
A row which may only contain values for a subset of the columns.
Definition: partial_row.h:72
+
A representation of a time interval.
Definition: monotime.h:58
+
A wrapper around externally allocated data.
Definition: slice.h:51
+
A representation of an operation's outcome.
Definition: status.h:165
+
A "factory" for KuduClient objects.
Definition: client.h:234
+
KuduClientBuilder & clear_master_server_addrs()
+
KuduClientBuilder & master_server_addrs(const std::vector< std::string > &addrs)
+
Status Build(sp::shared_ptr< KuduClient > *client)
+
KuduClientBuilder & default_rpc_timeout(const MonoDelta &timeout)
+
KuduClientBuilder & require_authentication(bool require_authentication)
+
KuduClientBuilder & trusted_certificate(const std::string &cert_pem)
+
KuduClientBuilder & encryption_policy(EncryptionPolicy encryption_policy)
+
EncryptionPolicy
Policy for on-the-wire encryption.
Definition: client.h:240
+
KuduClientBuilder & import_authentication_credentials(std::string authn_creds)
+
KuduClientBuilder & default_admin_operation_timeout(const MonoDelta &timeout)
+
KuduClientBuilder & num_reactors(int num_reactors)
Set the number of reactors for the RPC messenger.
+
KuduClientBuilder & sasl_protocol_name(const std::string &sasl_protocol_name)
+
KuduClientBuilder & jwt(const std::string &jwt)
+
KuduClientBuilder & add_master_server_addr(const std::string &addr)
+
KuduClientBuilder & connection_negotiation_timeout(const MonoDelta &timeout)
+
A handle for a connection to a cluster.
Definition: client.h:687
+
KuduTableCreator * NewTableCreator()
+
const MonoDelta & default_admin_operation_timeout() const
+
void SetLatestObservedTimestamp(uint64_t ht_timestamp)
+
static const uint64_t kNoTimestamp
Definition: client.h:967
+
bool IsMultiMaster() const
+
Status IsCreateTableInProgress(const std::string &table_name, bool *create_in_progress)
+
MonoDelta connection_negotiation_timeout() const
+
Status DeleteTable(const std::string &table_name)
+
uint64_t GetLatestObservedTimestamp() const
+
const MonoDelta & default_rpc_timeout() const
+
Status SoftDeleteTable(const std::string &table_name, uint32_t reserve_seconds=0)
+
Status ExportAuthenticationCredentials(std::string *authn_creds) const
+
ReplicaSelection
Policy with which to choose amongst multiple replicas.
Definition: client.h:940
+
@ LEADER_ONLY
Select the LEADER replica.
Definition: client.h:941
+
Builder API for specifying or altering a column within a table schema.
Definition: schema.h:370
+
A batch of columnar data returned from a scanner.
Definition: columnar_scan_batch.h:51
+
A single row delete ignore to be sent to the cluster.
Definition: write_op.h:331
+
A single row delete to be sent to the cluster.
Definition: write_op.h:305
+
This class represents an error which occurred in a write operation.
Definition: client.h:2187
+
const Status & status() const
+
const KuduWriteOperation & failed_op() const
+
bool was_possibly_successful() const
+
KuduWriteOperation * release_failed_op()
+
A single row insert ignore to be sent to the cluster, duplicate row errors are ignored.
Definition: write_op.h:172
+
A single row insert to be sent to the cluster.
Definition: write_op.h:145
+
The interface for all logging callbacks.
Definition: callbacks.h:44
+
Builder for Partitioner instances.
Definition: client.h:3408
+
KuduPartitionerBuilder * SetBuildTimeout(MonoDelta timeout)
+
KuduPartitionerBuilder(sp::shared_ptr< KuduTable > table)
+
Status Build(KuduPartitioner **partitioner)
+
Definition: client.h:3462
+
Status PartitionRow(const KuduPartialRow &row, int *partition)
+ +
A representation of comparison predicate for Kudu queries.
Definition: scan_predicate.h:43
+
ComparisonOp
Supported comparison operators.
Definition: scan_predicate.h:46
+
Definition: client.h:1485
+
Status add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed=0)
+
KuduRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
+
In-memory representation of a remote tablet's replica.
Definition: client.h:1166
+
const KuduTabletServer & ts() const
+ +
A batch of zero or more rows returned by a scan operation.
Definition: scan_batch.h:84
+
Builds scan tokens for a table.
Definition: client.h:3271
+
Status SetProjectedColumnIndexes(const std::vector< int > &col_indexes) WARN_UNUSED_RESULT
+
Status SetProjectedColumnNames(const std::vector< std::string > &col_names) WARN_UNUSED_RESULT
+
Status SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
+
Status SetBatchSizeBytes(uint32_t batch_size) WARN_UNUSED_RESULT
+
Status SetFaultTolerant() WARN_UNUSED_RESULT
+
Status SetCacheBlocks(bool cache_blocks) WARN_UNUSED_RESULT
+
KuduScanTokenBuilder(KuduTable *table)
+
Status AddConjunctPredicate(KuduPredicate *pred) WARN_UNUSED_RESULT
+
Status AddUpperBound(const KuduPartialRow &key) WARN_UNUSED_RESULT
+
Status SetReadMode(KuduScanner::ReadMode read_mode) WARN_UNUSED_RESULT
+
Status AddLowerBound(const KuduPartialRow &key) WARN_UNUSED_RESULT
+
A scan descriptor limited to a single physical contiguous location.
Definition: client.h:3210
+
const KuduTablet & tablet() const
+
Status Serialize(std::string *buf) const WARN_UNUSED_RESULT
+
Status IntoKuduScanner(KuduScanner **scanner) const WARN_UNUSED_RESULT
+
static Status DeserializeIntoScanner(KuduClient *client, const std::string &serialized_token, KuduScanner **scanner) WARN_UNUSED_RESULT
+
This class is a representation of a single scan.
Definition: client.h:2712
+
Status SetFaultTolerant() WARN_UNUSED_RESULT
+
Status SetReadMode(ReadMode read_mode) WARN_UNUSED_RESULT
+
KuduScanner(KuduTable *table)
+
ReadMode
The read modes for scanners.
Definition: client.h:2715
+
@ READ_AT_SNAPSHOT
Definition: client.h:2744
+
@ READ_LATEST
Definition: client.h:2723
+
OrderMode
Definition: client.h:2762
+
@ UNORDERED
Definition: client.h:2768
+
Status NextBatch(std::vector< KuduRowResult > *rows)
+
Status AddConjunctPredicate(KuduPredicate *pred) WARN_UNUSED_RESULT
+
Status SetCacheBlocks(bool cache_blocks)
+ +
Status AddExclusiveUpperBound(const KuduPartialRow &key)
+
Status SetProjectedColumns(const std::vector< std::string > &col_names) WARN_UNUSED_RESULT
+
Status NextBatch(KuduColumnarScanBatch *batch)
+
Status AddLowerBound(const KuduPartialRow &key)
+
Status SetProjectedColumnIndexes(const std::vector< int > &col_indexes) WARN_UNUSED_RESULT
+
Status SetOrderMode(OrderMode order_mode) WARN_UNUSED_RESULT
+ + +
Status AddExclusiveUpperBoundPartitionKeyRaw(const Slice &partition_key)
+
Status AddExclusiveUpperBoundRaw(const Slice &key)
+
Status AddLowerBoundPartitionKeyRaw(const Slice &partition_key)
+
Status SetProjectedColumnNames(const std::vector< std::string > &col_names) WARN_UNUSED_RESULT
+
Status GetCurrentServer(KuduTabletServer **server)
+ +
const ResourceMetrics & GetResourceMetrics() const
+
Status NextBatch(KuduScanBatch *batch)
+
Status SetSelection(KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
+
Status SetBatchSizeBytes(uint32_t batch_size)
+
Status AddLowerBoundRaw(const Slice &key)
+
A representation of a table's schema.
Definition: schema.h:688
+
Representation of a Kudu client session.
Definition: client.h:2292
+
void SetTimeoutMillis(int millis)
+
Status SetExternalConsistencyMode(ExternalConsistencyMode m) WARN_UNUSED_RESULT
+
Status Flush() WARN_UNUSED_RESULT
+
Status SetMutationBufferFlushWatermark(double watermark_pct) WARN_UNUSED_RESULT
+
Status SetFlushMode(FlushMode m) WARN_UNUSED_RESULT
+
ExternalConsistencyMode
The possible external consistency modes on which Kudu operates.
Definition: client.h:2358
+
@ CLIENT_PROPAGATED
Definition: client.h:2377
+
Status SetMutationBufferFlushInterval(unsigned int millis) WARN_UNUSED_RESULT
+
FlushMode
Modes of flush operations.
Definition: client.h:2297
+
@ AUTO_FLUSH_BACKGROUND
Definition: client.h:2330
+
@ AUTO_FLUSH_SYNC
Definition: client.h:2302
+
Status SetMutationBufferMaxNum(unsigned int max_num) WARN_UNUSED_RESULT
+
Status Apply(KuduWriteOperation *write_op) WARN_UNUSED_RESULT
+
Status SetMutationBufferSpace(size_t size_bytes) WARN_UNUSED_RESULT
+
The interface for all status callbacks.
Definition: callbacks.h:161
+
Alters an existing table based on the provided steps.
Definition: client.h:1896
+ +
KuduTableAlterer * SetOwner(const std::string &new_owner)
+
KuduTableAlterer * AlterExtraConfig(const std::map< std::string, std::string > &extra_configs)
+
KuduTableAlterer * AddRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
+
KuduColumnSpec * AlterColumn(const std::string &name)
+
KuduTableAlterer * wait(bool wait)
+
KuduTableAlterer * AddRangePartitionWithDimension(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, const std::string &dimension_label, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
+
KuduTableAlterer * AddRangePartition(KuduRangePartition *partition)
+
KuduTableAlterer * SetComment(const std::string &new_comment)
+
KuduTableAlterer * DropRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)
+
KuduTableAlterer * DropColumn(const std::string &name)
+
KuduTableAlterer * RenameTo(const std::string &new_name)
+
KuduColumnSpec * AddColumn(const std::string &name)
+
KuduTableAlterer * timeout(const MonoDelta &timeout)
+
KuduTableAlterer * SetTableRowCountLimit(int64_t row_count_limit)
+
KuduTableAlterer * SetTableDiskSizeLimit(int64_t disk_size_limit)
+
A helper class to create a new table with the desired options.
Definition: client.h:1225
+
RangePartitionBound
Range partition bound type.
Definition: client.h:1307
+
@ INCLUSIVE_BOUND
An inclusive bound.
Definition: client.h:1309
+
@ EXCLUSIVE_BOUND
An exclusive bound.
Definition: client.h:1308
+
KuduTableCreator & extra_configs(const std::map< std::string, std::string > &extra_configs)
+
KuduTableCreator & split_rows(const std::vector< const KuduPartialRow * > &split_rows)
+
KuduTableCreator & table_name(const std::string &name)
+
KuduTableCreator & add_custom_range_partition(class KuduRangePartition *partition)
+ +
KuduTableCreator & schema(const KuduSchema *schema)
+
KuduTableCreator & set_range_partition_columns(const std::vector< std::string > &columns)
+
KuduTableCreator & wait(bool wait)
+
KuduTableCreator & timeout(const MonoDelta &timeout)
+
KuduTableCreator & add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets)
+
KuduTableCreator & add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed)
+
KuduTableCreator & num_replicas(int n_replicas)
+
KuduTableCreator & add_range_partition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, RangePartitionBound lower_bound_type=INCLUSIVE_BOUND, RangePartitionBound upper_bound_type=EXCLUSIVE_BOUND)
+
KuduTableCreator & set_owner(const std::string &owner)
+
KuduTableCreator & add_range_partition_split(KuduPartialRow *split_row)
+
KuduTableCreator & dimension_label(const std::string &dimension_label)
+
KuduTableCreator & set_comment(const std::string &comment)
+
In-memory statistics of table.
Definition: client.h:1544
+ + + + + +
A representation of a table on a particular cluster.
Definition: client.h:1613
+
KuduInsert * NewInsert()
+
const PartitionSchema & partition_schema() const
+
KuduUpsert * NewUpsert()
+
KuduClient * client() const
+
KuduInsertIgnore * NewInsertIgnore()
+
KuduPredicate * NewInBloomFilterPredicate(const Slice &col_name, std::vector< KuduBloomFilter * > *bloom_filters)
+
KuduPredicate * NewInListPredicate(const Slice &col_name, std::vector< KuduValue * > *values)
+
KuduUpsertIgnore * NewUpsertIgnore()
+
const std::string & comment() const
+
const std::string & owner() const
+
KuduPredicate * NewIsNullPredicate(const Slice &col_name)
+
const std::map< std::string, std::string > & extra_configs() const
+
KuduUpdate * NewUpdate()
+
KuduDeleteIgnore * NewDeleteIgnore()
+
KuduUpdateIgnore * NewUpdateIgnore()
+
const std::string & id() const
+ +
KuduDelete * NewDelete()
+
const std::string & name() const
+
KuduPredicate * NewComparisonPredicate(const Slice &col_name, KuduPredicate::ComparisonOp op, KuduValue *value)
+
const KuduSchema & schema() const
+
KuduPredicate * NewIsNotNullPredicate(const Slice &col_name)
+
KuduPredicate * NewInBloomFilterPredicate(const Slice &col_name, const std::vector< Slice > &bloom_filters)
+
In-memory representation of a remote tablet server.
Definition: client.h:1125
+ +
const std::string & hostname() const
+
const std::string & uuid() const
+
In-memory representation of a remote tablet.
Definition: client.h:1195
+
const std::string & id() const
+
const std::vector< const KuduReplica * > & replicas() const
+ + +
SerializationOptions & enable_keepalive(bool enable)
+
Definition: client.h:434
+
Status Commit() WARN_UNUSED_RESULT
+
Status Serialize(std::string *serialized_txn, const SerializationOptions &options=SerializationOptions()) const WARN_UNUSED_RESULT
+
Status CreateSession(sp::shared_ptr< KuduSession > *session) WARN_UNUSED_RESULT
+
A single row update ignore to be sent to the cluster, missing row errors and errors on updating immut...
Definition: write_op.h:279
+
A single row update to be sent to the cluster.
Definition: write_op.h:252
+
A single row upsert ignore to be sent to the cluster, errors on updating immutable cells are ignored.
Definition: write_op.h:225
+
A single row upsert to be sent to the cluster.
Definition: write_op.h:198
+
A constant cell value with a specific type.
Definition: value.h:37
+
A single-row write operation to be sent to a Kudu table.
Definition: write_op.h:66
+
A generic catalog of simple metrics.
Definition: resource_metrics.h:41
+ + +
Smart pointer typedefs for externally-faced code.
+ +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/closed.png b/releases/1.17.1/cpp-client-api/closed.png new file mode 100644 index 0000000000..98cc2c909d Binary files /dev/null and b/releases/1.17.1/cpp-client-api/closed.png differ diff --git a/releases/1.17.1/cpp-client-api/columnar__scan__batch_8h_source.html b/releases/1.17.1/cpp-client-api/columnar__scan__batch_8h_source.html new file mode 100644 index 0000000000..71fdfded83 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/columnar__scan__batch_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/columnar_scan_batch.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
columnar_scan_batch.h
+
+
+
1 // Licensed to the Apache Software Foundation (ASF) under one
+
2 // or more contributor license agreements. See the NOTICE file
+
3 // distributed with this work for additional information
+
4 // regarding copyright ownership. The ASF licenses this file
+
5 // to you under the Apache License, Version 2.0 (the
+
6 // "License"); you may not use this file except in compliance
+
7 // with the License. You may obtain a copy of the License at
+
8 //
+
9 // http://www.apache.org/licenses/LICENSE-2.0
+
10 //
+
11 // Unless required by applicable law or agreed to in writing,
+
12 // software distributed under the License is distributed on an
+
13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
14 // KIND, either express or implied. See the License for the
+
15 // specific language governing permissions and limitations
+
16 // under the License.
+
17 #ifndef KUDU_CLIENT_COLUMNAR_SCAN_BATCH_H
+
18 #define KUDU_CLIENT_COLUMNAR_SCAN_BATCH_H
+
19 
+
20 #ifdef KUDU_HEADERS_NO_STUBS
+
21 #include "kudu/gutil/macros.h"
+
22 #else
+
23 #include "kudu/client/stubs.h"
+
24 #endif
+
25 
+
26 #include "kudu/util/kudu_export.h"
+
27 #include "kudu/util/status.h"
+
28 
+
29 namespace kudu {
+
30 class Slice;
+
31 
+
32 namespace client {
+
33 
+
51 class KUDU_EXPORT KuduColumnarScanBatch {
+
52  public:
+ + +
55 
+
57  int NumRows() const;
+
58 
+
73  Status GetFixedLengthColumn(int idx, Slice* data) const;
+
74 
+
88  Status GetVariableLengthColumn(int idx, Slice* offsets, Slice* data) const;
+
89 
+
105  Status GetNonNullBitmapForColumn(int idx, Slice* data) const;
+
106 
+
107  private:
+
108  class KUDU_NO_EXPORT Data;
+
109 
+
110  friend class KuduScanner;
+
111 
+
112  Data* data_;
+
113  DISALLOW_COPY_AND_ASSIGN(KuduColumnarScanBatch);
+
114 };
+
115 
+
116 
+
117 } // namespace client
+
118 } // namespace kudu
+
119 
+
120 #endif
+
A wrapper around externally allocated data.
Definition: slice.h:51
+
A representation of an operation's outcome.
Definition: status.h:165
+
A batch of columnar data returned from a scanner.
Definition: columnar_scan_batch.h:51
+
Status GetVariableLengthColumn(int idx, Slice *offsets, Slice *data) const
+
Status GetFixedLengthColumn(int idx, Slice *data) const
+ +
Status GetNonNullBitmapForColumn(int idx, Slice *data) const
+
This class is a representation of a single scan.
Definition: client.h:2712
+ +
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/deprecated.html b/releases/1.17.1/cpp-client-api/deprecated.html new file mode 100644 index 0000000000..c13ca07e01 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/deprecated.html @@ -0,0 +1,108 @@ + + + + + + + +Kudu C++ client API: Deprecated List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Deprecated List
+
+
+
+
Member kudu::client::KuduColumnSchema::Equals (const KuduColumnSchema &other) const
+
use operator==(const KuduColumnSchema&) instead
+
Member kudu::client::KuduColumnStorageAttributes::GROUP_VARINT
+
GROUP_VARINT is not supported for valid types, and will fall back to another encoding on the server side.
+
Member kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes (EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0)
+
This constructor is deprecated for external use, and will be made private in a future release.
+
Member kudu::client::KuduScanner::AddExclusiveUpperBoundRaw (const Slice &key)
+
Use AddExclusiveUpperBound() instead.
+
Member kudu::client::KuduScanner::AddLowerBoundRaw (const Slice &key)
+
Use AddLowerBound() instead.
+
Member kudu::client::KuduScanner::NextBatch (std::vector< KuduRowResult > *rows)
+
Use NextBatch(KuduScanBatch*) instead.
+
Member kudu::client::KuduScanner::SetOrderMode (OrderMode order_mode) WARN_UNUSED_RESULT
+
Use SetFaultTolerant() instead.
+
Member kudu::client::KuduScanner::SetProjectedColumns (const std::vector< std::string > &col_names) WARN_UNUSED_RESULT
+
Use SetProjectedColumnNames() instead.
+
Member kudu::client::KuduSchema::Equals (const KuduSchema &other) const
+
use operator==(const KuduSchema&) instead
+
Member kudu::client::KuduSchema::Reset (const std::vector< KuduColumnSchema > &columns, int key_columns) WARN_UNUSED_RESULT
+
This method will be removed soon.
+
Member kudu::client::KuduSession::CountBufferedOperations () const
+
This method is experimental and will disappear in a future release.
+
Member kudu::client::KuduTableCreator::split_rows (const std::vector< const KuduPartialRow * > &split_rows)
+
Use add_range_partition_split() instead.
+
Member kudu::MonoTime::Earliest (const MonoTime &a, const MonoTime &b)
+
Use use std::min() instead.
+
Member kudu::MonoTime::GetDeltaSince (const MonoTime &rhs) const
+
Use kudu::operator-(const MonoTime&, const MonoTime&) instead.
+
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html b/releases/1.17.1/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html new file mode 100644 index 0000000000..37c9027abd --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_4eb331d85bb84eae27db9d0af49f6f99.html @@ -0,0 +1,88 @@ + + + + + + + +Kudu C++ client API: include/kudu/client Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
client Directory Reference
+
+
+ + + + + +

+Files

file  shared_ptr.h [code]
 Smart pointer typedefs for externally-faced code.
 
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html b/releases/1.17.1/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html new file mode 100644 index 0000000000..4163699740 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_58b01e52e53886b8d78ab5060a2cd2bd.html @@ -0,0 +1,85 @@ + + + + + + + +Kudu C++ client API: include/kudu Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu Directory Reference
+
+
+ + +

+Directories

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_8c428f345b527d2071b666c6f8374398.html b/releases/1.17.1/cpp-client-api/dir_8c428f345b527d2071b666c6f8374398.html new file mode 100644 index 0000000000..4288f8bfbf --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_8c428f345b527d2071b666c6f8374398.html @@ -0,0 +1,81 @@ + + + + + + + +Kudu C++ client API: share Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
share Directory Reference
+
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_94a4d32a5d6935789aa71eaf17fe7b95.html b/releases/1.17.1/cpp-client-api/dir_94a4d32a5d6935789aa71eaf17fe7b95.html new file mode 100644 index 0000000000..00d512c2da --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_94a4d32a5d6935789aa71eaf17fe7b95.html @@ -0,0 +1,85 @@ + + + + + + + +Kudu C++ client API: share/doc/kuduClient Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kuduClient Directory Reference
+
+
+ + +

+Directories

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_a11762c7a2d2aeba82c4995c677f0533.html b/releases/1.17.1/cpp-client-api/dir_a11762c7a2d2aeba82c4995c677f0533.html new file mode 100644 index 0000000000..6a929f0ee9 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_a11762c7a2d2aeba82c4995c677f0533.html @@ -0,0 +1,81 @@ + + + + + + + +Kudu C++ client API: share/doc Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
doc Directory Reference
+
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html b/releases/1.17.1/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html new file mode 100644 index 0000000000..b6f155ddcd --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_a7d8e458a72ff63c89f2ceb44d9dd2f6.html @@ -0,0 +1,81 @@ + + + + + + + +Kudu C++ client API: include/kudu/common Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
common Directory Reference
+
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html b/releases/1.17.1/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000000..68617709b0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,81 @@ + + + + + + + +Kudu C++ client API: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_d71593de3cd0af193ea5ec01db264b20.html b/releases/1.17.1/cpp-client-api/dir_d71593de3cd0af193ea5ec01db264b20.html new file mode 100644 index 0000000000..1ec3678f73 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_d71593de3cd0af193ea5ec01db264b20.html @@ -0,0 +1,81 @@ + + + + + + + +Kudu C++ client API: share/doc/kuduClient/examples Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
examples Directory Reference
+
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html b/releases/1.17.1/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html new file mode 100644 index 0000000000..f554ef88c7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dir_e8a2e446cf73a5a1ae0ad6a5a21b6d03.html @@ -0,0 +1,87 @@ + + + + + + + +Kudu C++ client API: include/kudu/util Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
util Directory Reference
+
+
+ + + + +

+Files

file  status.h [code]
 
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/doc.png b/releases/1.17.1/cpp-client-api/doc.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/doc.png differ diff --git a/releases/1.17.1/cpp-client-api/doxygen.css b/releases/1.17.1/cpp-client-api/doxygen.css new file mode 100644 index 0000000000..1a0a853bce --- /dev/null +++ b/releases/1.17.1/cpp-client-api/doxygen.css @@ -0,0 +1,1793 @@ +/* The standard CSS for doxygen 1.9.0 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/releases/1.17.1/cpp-client-api/doxygen.svg b/releases/1.17.1/cpp-client-api/doxygen.svg new file mode 100644 index 0000000000..d42dad52d5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/releases/1.17.1/cpp-client-api/dynsections.js b/releases/1.17.1/cpp-client-api/dynsections.js new file mode 100644 index 0000000000..3174bd7beb --- /dev/null +++ b/releases/1.17.1/cpp-client-api/dynsections.js @@ -0,0 +1,121 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Kudu C++ client API: File List + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + +
  include
  kudu
  client
 callbacks.h
 client.h
 columnar_scan_batch.h
 hash.h
 resource_metrics.h
 row_result.h
 scan_batch.h
 scan_predicate.h
 schema.h
 shared_ptr.hSmart pointer typedefs for externally-faced code
 stubs.h
 value.h
 write_op.h
  common
 partial_row.h
  util
 int128.h
 kudu_export.h
 monotime.h
 slice.h
 status.h
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/folderclosed.png b/releases/1.17.1/cpp-client-api/folderclosed.png new file mode 100644 index 0000000000..bb8ab35edc Binary files /dev/null and b/releases/1.17.1/cpp-client-api/folderclosed.png differ diff --git a/releases/1.17.1/cpp-client-api/folderopen.png b/releases/1.17.1/cpp-client-api/folderopen.png new file mode 100644 index 0000000000..d6c7f676a3 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/folderopen.png differ diff --git a/releases/1.17.1/cpp-client-api/functions.html b/releases/1.17.1/cpp-client-api/functions.html new file mode 100644 index 0000000000..faf434748b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions.html @@ -0,0 +1,159 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_b.html b/releases/1.17.1/cpp-client-api/functions_b.html new file mode 100644 index 0000000000..fa007a917b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_b.html @@ -0,0 +1,90 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- b -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_c.html b/releases/1.17.1/cpp-client-api/functions_c.html new file mode 100644 index 0000000000..474181f04e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_c.html @@ -0,0 +1,188 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- c -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_d.html b/releases/1.17.1/cpp-client-api/functions_d.html new file mode 100644 index 0000000000..6d48e10164 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_d.html @@ -0,0 +1,121 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- d -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_e.html b/releases/1.17.1/cpp-client-api/functions_e.html new file mode 100644 index 0000000000..6f5e966e20 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_e.html @@ -0,0 +1,129 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- e -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_enum.html b/releases/1.17.1/cpp-client-api/functions_enum.html new file mode 100644 index 0000000000..84b2fedd96 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_enum.html @@ -0,0 +1,111 @@ + + + + + + + +Kudu C++ client API: Class Members - Enumerations + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_eval.html b/releases/1.17.1/cpp-client-api/functions_eval.html new file mode 100644 index 0000000000..5652bd4f08 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_eval.html @@ -0,0 +1,135 @@ + + + + + + + +Kudu C++ client API: Class Members - Enumerator + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_f.html b/releases/1.17.1/cpp-client-api/functions_f.html new file mode 100644 index 0000000000..1824edcdf2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_f.html @@ -0,0 +1,123 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- f -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func.html b/releases/1.17.1/cpp-client-api/functions_func.html new file mode 100644 index 0000000000..1f40b5926e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func.html @@ -0,0 +1,153 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_b.html b/releases/1.17.1/cpp-client-api/functions_func_b.html new file mode 100644 index 0000000000..0a9e07894d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_b.html @@ -0,0 +1,90 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_c.html b/releases/1.17.1/cpp-client-api/functions_func_c.html new file mode 100644 index 0000000000..f5770a1ebd --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_c.html @@ -0,0 +1,170 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_d.html b/releases/1.17.1/cpp-client-api/functions_func_d.html new file mode 100644 index 0000000000..ee79b24717 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_d.html @@ -0,0 +1,115 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_e.html b/releases/1.17.1/cpp-client-api/functions_func_e.html new file mode 100644 index 0000000000..fc458454bb --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_e.html @@ -0,0 +1,117 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_f.html b/releases/1.17.1/cpp-client-api/functions_func_f.html new file mode 100644 index 0000000000..d95160b5b0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_f.html @@ -0,0 +1,113 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_g.html b/releases/1.17.1/cpp-client-api/functions_func_g.html new file mode 100644 index 0000000000..dd41eb43de --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_g.html @@ -0,0 +1,179 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_h.html b/releases/1.17.1/cpp-client-api/functions_func_h.html new file mode 100644 index 0000000000..f19fa2b2c5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_h.html @@ -0,0 +1,95 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_i.html b/releases/1.17.1/cpp-client-api/functions_func_i.html new file mode 100644 index 0000000000..6bc3e92ea2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_i.html @@ -0,0 +1,222 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_j.html b/releases/1.17.1/cpp-client-api/functions_func_j.html new file mode 100644 index 0000000000..3da1aad3d5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_j.html @@ -0,0 +1,80 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- j -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_k.html b/releases/1.17.1/cpp-client-api/functions_func_k.html new file mode 100644 index 0000000000..675435d793 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_k.html @@ -0,0 +1,125 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- k -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_l.html b/releases/1.17.1/cpp-client-api/functions_func_l.html new file mode 100644 index 0000000000..e96099f96b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_l.html @@ -0,0 +1,101 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_m.html b/releases/1.17.1/cpp-client-api/functions_func_m.html new file mode 100644 index 0000000000..ceec52d282 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_m.html @@ -0,0 +1,113 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_n.html b/releases/1.17.1/cpp-client-api/functions_func_n.html new file mode 100644 index 0000000000..831035622f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_n.html @@ -0,0 +1,182 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_o.html b/releases/1.17.1/cpp-client-api/functions_func_o.html new file mode 100644 index 0000000000..8d4c0a8dc7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_o.html @@ -0,0 +1,142 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_p.html b/releases/1.17.1/cpp-client-api/functions_func_p.html new file mode 100644 index 0000000000..799a38bfee --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_p.html @@ -0,0 +1,101 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_r.html b/releases/1.17.1/cpp-client-api/functions_func_r.html new file mode 100644 index 0000000000..d8103ed428 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_r.html @@ -0,0 +1,128 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_s.html b/releases/1.17.1/cpp-client-api/functions_func_s.html new file mode 100644 index 0000000000..d22a0ad213 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_s.html @@ -0,0 +1,301 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_t.html b/releases/1.17.1/cpp-client-api/functions_func_t.html new file mode 100644 index 0000000000..8e81967da5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_t.html @@ -0,0 +1,160 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_u.html b/releases/1.17.1/cpp-client-api/functions_func_u.html new file mode 100644 index 0000000000..6b85a112c1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_u.html @@ -0,0 +1,86 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_func_w.html b/releases/1.17.1/cpp-client-api/functions_func_w.html new file mode 100644 index 0000000000..27f9370664 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_func_w.html @@ -0,0 +1,84 @@ + + + + + + + +Kudu C++ client API: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_g.html b/releases/1.17.1/cpp-client-api/functions_g.html new file mode 100644 index 0000000000..028d4a84d9 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_g.html @@ -0,0 +1,182 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- g -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_h.html b/releases/1.17.1/cpp-client-api/functions_h.html new file mode 100644 index 0000000000..ed7a95aab4 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_h.html @@ -0,0 +1,95 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- h -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_i.html b/releases/1.17.1/cpp-client-api/functions_i.html new file mode 100644 index 0000000000..5c17f2ba27 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_i.html @@ -0,0 +1,225 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- i -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_j.html b/releases/1.17.1/cpp-client-api/functions_j.html new file mode 100644 index 0000000000..5117db6b43 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_j.html @@ -0,0 +1,80 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- j -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_k.html b/releases/1.17.1/cpp-client-api/functions_k.html new file mode 100644 index 0000000000..499eaba5dd --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_k.html @@ -0,0 +1,140 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- k -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_l.html b/releases/1.17.1/cpp-client-api/functions_l.html new file mode 100644 index 0000000000..2bd8fbcb68 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_l.html @@ -0,0 +1,104 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- l -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_m.html b/releases/1.17.1/cpp-client-api/functions_m.html new file mode 100644 index 0000000000..eaa603529f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_m.html @@ -0,0 +1,120 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- m -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_n.html b/releases/1.17.1/cpp-client-api/functions_n.html new file mode 100644 index 0000000000..06eba8c273 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_n.html @@ -0,0 +1,185 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- n -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_o.html b/releases/1.17.1/cpp-client-api/functions_o.html new file mode 100644 index 0000000000..70c4ebd2f2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_o.html @@ -0,0 +1,159 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- o -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_p.html b/releases/1.17.1/cpp-client-api/functions_p.html new file mode 100644 index 0000000000..215ad31fd1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_p.html @@ -0,0 +1,104 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- p -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_r.html b/releases/1.17.1/cpp-client-api/functions_r.html new file mode 100644 index 0000000000..100badc892 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_r.html @@ -0,0 +1,152 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- r -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_rela.html b/releases/1.17.1/cpp-client-api/functions_rela.html new file mode 100644 index 0000000000..9ffd01fe1f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_rela.html @@ -0,0 +1,85 @@ + + + + + + + +Kudu C++ client API: Class Members - Related Functions + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_s.html b/releases/1.17.1/cpp-client-api/functions_s.html new file mode 100644 index 0000000000..06f8edda9d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_s.html @@ -0,0 +1,301 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- s -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_t.html b/releases/1.17.1/cpp-client-api/functions_t.html new file mode 100644 index 0000000000..da321bb96e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_t.html @@ -0,0 +1,167 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- t -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_type.html b/releases/1.17.1/cpp-client-api/functions_type.html new file mode 100644 index 0000000000..a0278d76d0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_type.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Class Members - Typedefs + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_u.html b/releases/1.17.1/cpp-client-api/functions_u.html new file mode 100644 index 0000000000..8039d7d6bf --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_u.html @@ -0,0 +1,89 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- u -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_v.html b/releases/1.17.1/cpp-client-api/functions_v.html new file mode 100644 index 0000000000..6990872a3a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_v.html @@ -0,0 +1,80 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- v -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_vars.html b/releases/1.17.1/cpp-client-api/functions_vars.html new file mode 100644 index 0000000000..cc0828a58a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_vars.html @@ -0,0 +1,102 @@ + + + + + + + +Kudu C++ client API: Class Members - Variables + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/functions_w.html b/releases/1.17.1/cpp-client-api/functions_w.html new file mode 100644 index 0000000000..1a5884871c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/functions_w.html @@ -0,0 +1,84 @@ + + + + + + + +Kudu C++ client API: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- w -

+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/globals.html b/releases/1.17.1/cpp-client-api/globals.html new file mode 100644 index 0000000000..317dada121 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/globals.html @@ -0,0 +1,111 @@ + + + + + + + +Kudu C++ client API: File Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented file members with links to the documentation:
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/globals_defs.html b/releases/1.17.1/cpp-client-api/globals_defs.html new file mode 100644 index 0000000000..c70c2772b1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/globals_defs.html @@ -0,0 +1,111 @@ + + + + + + + +Kudu C++ client API: File Members + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/hash_8h_source.html b/releases/1.17.1/cpp-client-api/hash_8h_source.html new file mode 100644 index 0000000000..042ce858b6 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/hash_8h_source.html @@ -0,0 +1,113 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/hash.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hash.h
+
+
+
1 // Licensed to the Apache Software Foundation (ASF) under one
+
2 // or more contributor license agreements. See the NOTICE file
+
3 // distributed with this work for additional information
+
4 // regarding copyright ownership. The ASF licenses this file
+
5 // to you under the Apache License, Version 2.0 (the
+
6 // "License"); you may not use this file except in compliance
+
7 // with the License. You may obtain a copy of the License at
+
8 //
+
9 // http://www.apache.org/licenses/LICENSE-2.0
+
10 //
+
11 // Unless required by applicable law or agreed to in writing,
+
12 // software distributed under the License is distributed on an
+
13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
14 // KIND, either express or implied. See the License for the
+
15 // specific language governing permissions and limitations
+
16 // under the License.
+
17 #ifndef KUDU_CLIENT_HASH_H
+
18 #define KUDU_CLIENT_HASH_H
+
19 
+
20 namespace kudu {
+
21 namespace client {
+
22 
+
24 enum HashAlgorithm {
+
25  UNKNOWN_HASH = 0,
+
26  MURMUR_HASH_2 = 1,
+
27  CITY_HASH = 2,
+
28  FAST_HASH = 3
+
29 };
+
30 
+
31 } // namespace client
+
32 } // namespace kudu
+
33 #endif // KUDU_CLIENT_HASH_H
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/hierarchy.html b/releases/1.17.1/cpp-client-api/hierarchy.html new file mode 100644 index 0000000000..cd5d6fbccf --- /dev/null +++ b/releases/1.17.1/cpp-client-api/hierarchy.html @@ -0,0 +1,143 @@ + + + + + + + +Kudu C++ client API: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Ckudu::client::internal::AsyncLeaderMasterRpc< ReqClass, RespClass >
 Ckudu::client::internal::AsyncRandomTxnManagerRpc< ReqClass, RespClass >
 Ckudu::internal_logging::CerrLogA helper for stderr log sink
 Ckudu::Slice::ComparatorComparator struct, useful for ordered collections (like STL maps)
 Cconst_iterator public std::iterator
 Ckudu::client::KuduScanBatchA batch of zero or more rows returned by a scan operation
 Ckudu::client::KuduBloomFilterBloom filter to be used with IN Bloom filter predicate
 Ckudu::client::KuduBloomFilterBuilderBuilder class to help build KuduBloomFilter to be used with IN Bloom filter predicate
 Ckudu::client::KuduClientBuilderA "factory" for KuduClient objects
 Ckudu::client::KuduColumnarScanBatchA batch of columnar data returned from a scanner
 Ckudu::client::KuduColumnSchemaRepresentation of the column schema
 Ckudu::client::KuduColumnSpecBuilder API for specifying or altering a column within a table schema
 Ckudu::client::KuduColumnStorageAttributesRepresentation of column storage attributes
 Ckudu::client::KuduColumnTypeAttributesRepresentation of column type attributes
 Ckudu::client::KuduErrorThis class represents an error which occurred in a write operation
 Ckudu::client::KuduLoggingCallbackThe interface for all logging callbacks
 Ckudu::client::KuduLoggingFunctionCallback< T >The logging callback that invokes a function by pointer with a single argument
 Ckudu::client::KuduLoggingMemberCallback< T >The logging callback that invokes a member function of an object
 CKuduPartialRowA row which may only contain values for a subset of the columns
 Ckudu::client::KuduPartitioner
 Ckudu::client::KuduPartitionerBuilderBuilder for Partitioner instances
 Ckudu::client::KuduPredicateA representation of comparison predicate for Kudu queries
 Ckudu::client::KuduRangePartition
 Ckudu::client::KuduReplicaIn-memory representation of a remote tablet's replica
 Ckudu::client::KuduScannerThis class is a representation of a single scan
 Ckudu::client::KuduScanTokenA scan descriptor limited to a single physical contiguous location
 Ckudu::client::KuduScanTokenBuilderBuilds scan tokens for a table
 Ckudu::client::KuduSchemaA representation of a table's schema
 Ckudu::client::KuduSchemaBuilderBuilder API for constructing a KuduSchema object
 Ckudu::client::KuduStatusCallbackThe interface for all status callbacks
 Ckudu::client::KuduStatusFunctionCallback< T >The status callback that invokes a function by pointer with a single argument
 Ckudu::client::KuduStatusMemberCallback< T >The status callback that invokes a member function of an object
 Ckudu::client::KuduTableAltererAlters an existing table based on the provided steps
 Ckudu::client::KuduTableCreatorA helper class to create a new table with the desired options
 Ckudu::client::KuduTableStatisticsIn-memory statistics of table
 Ckudu::client::KuduTabletIn-memory representation of a remote tablet
 Ckudu::client::KuduTabletServerIn-memory representation of a remote tablet server
 Ckudu::client::KuduValueA constant cell value with a specific type
 Ckudu::client::KuduWriteOperationA single-row write operation to be sent to a Kudu table
 Ckudu::client::KuduDeleteA single row delete to be sent to the cluster
 Ckudu::client::KuduDeleteIgnoreA single row delete ignore to be sent to the cluster
 Ckudu::client::KuduInsertA single row insert to be sent to the cluster
 Ckudu::client::KuduInsertIgnoreA single row insert ignore to be sent to the cluster, duplicate row errors are ignored
 Ckudu::client::KuduUpdateA single row update to be sent to the cluster
 Ckudu::client::KuduUpdateIgnoreA single row update ignore to be sent to the cluster, missing row errors and errors on updating immutable cells are ignored
 Ckudu::client::KuduUpsertA single row upsert to be sent to the cluster
 Ckudu::client::KuduUpsertIgnoreA single row upsert ignore to be sent to the cluster, errors on updating immutable cells are ignored
 Ckudu::MonoDeltaA representation of a time interval
 Ckudu::MonoTimeRepresentation of a particular point in time
 Ckudu::internal_logging::NullLogA helper for the nil log sink
 Ckudu::client::ResourceMetricsA generic catalog of simple metrics
 CRowPtr
 Ckudu::client::KuduScanBatchA batch of zero or more rows returned by a scan operation
 Ckudu::client::KuduTransaction::SerializationOptions
 Ckudu::SliceA wrapper around externally allocated data
 Ckudu::SliceMap< T >STL map whose keys are Slices
 Ckudu::StatusA representation of an operation's outcome
 Cenable_shared_from_this
 Ckudu::client::KuduClientA handle for a connection to a cluster
 Ckudu::client::KuduSessionRepresentation of a Kudu client session
 Ckudu::client::KuduTableA representation of a table on a particular cluster
 Ckudu::client::KuduTransaction
+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/index.html b/releases/1.17.1/cpp-client-api/index.html new file mode 100644 index 0000000000..2287e3e051 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/index.html @@ -0,0 +1,79 @@ + + + + + + + +Kudu C++ client API: Kudu C++ client API documentation + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Kudu C++ client API documentation
+
+
+

Kudu provides C++ and Java client APIs, as well as reference examples to illustrate their use (check the source code for the examples). This is Kudu C++ client API. Use of any APIs other than the client APIs is unsupported.

+
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/int128_8h_source.html b/releases/1.17.1/cpp-client-api/int128_8h_source.html new file mode 100644 index 0000000000..5b944ccf5f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/int128_8h_source.html @@ -0,0 +1,131 @@ + + + + + + + +Kudu C++ client API: include/kudu/util/int128.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
int128.h
+
+
+
1 // Licensed to the Apache Software Foundation (ASF) under one
+
2 // or more contributor license agreements. See the NOTICE file
+
3 // distributed with this work for additional information
+
4 // regarding copyright ownership. The ASF licenses this file
+
5 // to you under the Apache License, Version 2.0 (the
+
6 // "License"); you may not use this file except in compliance
+
7 // with the License. You may obtain a copy of the License at
+
8 //
+
9 // http://www.apache.org/licenses/LICENSE-2.0
+
10 //
+
11 // Unless required by applicable law or agreed to in writing,
+
12 // software distributed under the License is distributed on an
+
13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
14 // KIND, either express or implied. See the License for the
+
15 // specific language governing permissions and limitations
+
16 // under the License.
+
17 
+
18 // This file is the central location for defining the int128 type
+
19 // used by Kudu. Though this file is small it ensures flexibility
+
20 // as choices and standards around int128 change.
+
21 
+
22 #ifndef KUDU_UTIL_INT128_H_
+
23 #define KUDU_UTIL_INT128_H_
+
24 
+
25 // __int128 is not supported before gcc 4.6
+
26 #if defined(__clang__) || \
+
27  (defined(__GNUC__) && \
+
28  (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40600)
+
29 #define KUDU_INT128_SUPPORTED 1
+
30 #else
+
31 #define KUDU_INT128_SUPPORTED 0
+
32 #endif
+
33 
+
34 #if KUDU_INT128_SUPPORTED
+
35 namespace kudu {
+
36 
+
37 typedef unsigned __int128 uint128_t;
+
38 typedef signed __int128 int128_t;
+
39 
+
40 // Note: We don't use numeric_limits because it can give incorrect
+
41 // values for __int128 and unsigned __int128.
+
42 static const uint128_t UINT128_MIN = (uint128_t) 0;
+
43 static const uint128_t UINT128_MAX = ((uint128_t) -1);
+
44 static const int128_t INT128_MAX = ((int128_t)(UINT128_MAX >> 1));
+
45 static const int128_t INT128_MIN = (-INT128_MAX - 1);
+
46 
+
47 } // namespace kudu
+
48 #endif
+
49 
+
50 #endif // #ifndef KUDU_UTIL_INT128_H_ ...
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/jquery.js b/releases/1.17.1/cpp-client-api/jquery.js new file mode 100644 index 0000000000..103c32d79b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/releases/1.17.1/cpp-client-api/kudu__export_8h_source.html b/releases/1.17.1/cpp-client-api/kudu__export_8h_source.html new file mode 100644 index 0000000000..9382eca8e3 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/kudu__export_8h_source.html @@ -0,0 +1,123 @@ + + + + + + + +Kudu C++ client API: include/kudu/util/kudu_export.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Kudu C++ client API +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
kudu_export.h
+
+
+
1 
+
2 #ifndef KUDU_EXPORT_H
+
3 #define KUDU_EXPORT_H
+
4 
+
5 #ifdef KUDU_STATIC_DEFINE
+
6 # define KUDU_EXPORT
+
7 # define KUDU_NO_EXPORT
+
8 #else
+
9 # ifndef KUDU_EXPORT
+
10 # ifdef kudu_client_exported_EXPORTS
+
11  /* We are building this library */
+
12 # define KUDU_EXPORT __attribute__((visibility("default")))
+
13 # else
+
14  /* We are using this library */
+
15 # define KUDU_EXPORT __attribute__((visibility("default")))
+
16 # endif
+
17 # endif
+
18 
+
19 # ifndef KUDU_NO_EXPORT
+
20 # define KUDU_NO_EXPORT __attribute__((visibility("hidden")))
+
21 # endif
+
22 #endif
+
23 
+
24 #ifndef KUDU_DEPRECATED
+
25 # define KUDU_DEPRECATED __attribute__ ((__deprecated__))
+
26 #endif
+
27 
+
28 #ifndef KUDU_DEPRECATED_EXPORT
+
29 # define KUDU_DEPRECATED_EXPORT KUDU_EXPORT KUDU_DEPRECATED
+
30 #endif
+
31 
+
32 #ifndef KUDU_DEPRECATED_NO_EXPORT
+
33 # define KUDU_DEPRECATED_NO_EXPORT KUDU_NO_EXPORT KUDU_DEPRECATED
+
34 #endif
+
35 
+
36 #if 0 /* DEFINE_NO_DEPRECATED */
+
37 # ifndef KUDU_NO_DEPRECATED
+
38 # define KUDU_NO_DEPRECATED
+
39 # endif
+
40 #endif
+
41 
+
42 #endif /* KUDU_EXPORT_H */
+
+ + + + + diff --git a/releases/1.17.1/cpp-client-api/menu.js b/releases/1.17.1/cpp-client-api/menu.js new file mode 100644 index 0000000000..2fe2214f26 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/menu.js @@ -0,0 +1,51 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/releases/1.17.1/cpp-client-api/menudata.js b/releases/1.17.1/cpp-client-api/menudata.js new file mode 100644 index 0000000000..3bc2a1c7b3 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/menudata.js @@ -0,0 +1,87 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"hierarchy.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, +{text:"h",url:"functions_h.html#index_h"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"j",url:"functions_j.html#index_j"}, +{text:"k",url:"functions_k.html#index_k"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"v",url:"functions_v.html#index_v"}, +{text:"w",url:"functions_w.html#index_w"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func_b.html#index_b"}, +{text:"c",url:"functions_func_c.html#index_c"}, +{text:"d",url:"functions_func_d.html#index_d"}, +{text:"e",url:"functions_func_e.html#index_e"}, +{text:"f",url:"functions_func_f.html#index_f"}, +{text:"g",url:"functions_func_g.html#index_g"}, +{text:"h",url:"functions_func_h.html#index_h"}, +{text:"i",url:"functions_func_i.html#index_i"}, +{text:"j",url:"functions_func_j.html#index_j"}, +{text:"k",url:"functions_func_k.html#index_k"}, +{text:"l",url:"functions_func_l.html#index_l"}, +{text:"m",url:"functions_func_m.html#index_m"}, +{text:"n",url:"functions_func_n.html#index_n"}, +{text:"o",url:"functions_func_o.html#index_o"}, +{text:"p",url:"functions_func_p.html#index_p"}, +{text:"r",url:"functions_func_r.html#index_r"}, +{text:"s",url:"functions_func_s.html#index_s"}, +{text:"t",url:"functions_func_t.html#index_t"}, +{text:"u",url:"functions_func_u.html#index_u"}, +{text:"w",url:"functions_func_w.html#index_w"}]}, +{text:"Variables",url:"functions_vars.html"}, +{text:"Typedefs",url:"functions_type.html"}, +{text:"Enumerations",url:"functions_enum.html"}, +{text:"Enumerator",url:"functions_eval.html"}, +{text:"Related Functions",url:"functions_rela.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/releases/1.17.1/cpp-client-api/monotime_8h_source.html b/releases/1.17.1/cpp-client-api/monotime_8h_source.html new file mode 100644 index 0000000000..0f4d3a7069 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/monotime_8h_source.html @@ -0,0 +1,316 @@ + + + + + + + +Kudu C++ client API: include/kudu/util/monotime.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    monotime.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_UTIL_MONOTIME_H
    +
    18 #define KUDU_UTIL_MONOTIME_H
    +
    19 
    +
    20 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    21 // to be processed by a compiler lacking C++11 support.
    +
    22 #include <stdint.h>
    +
    23 
    +
    24 #include <iosfwd>
    +
    25 #include <string>
    +
    26 
    +
    27 #ifdef KUDU_HEADERS_NO_STUBS
    +
    28 #include <gtest/gtest_prod.h>
    +
    29 
    +
    30 #include "kudu/gutil/port.h"
    +
    31 #else
    +
    32 // This is a poor module interdependency, but the stubs are header-only and
    +
    33 // it's only for exported header builds, so we'll make an exception.
    +
    34 #include "kudu/client/stubs.h"
    +
    35 #endif
    +
    36 
    +
    37 #include "kudu/util/kudu_export.h"
    +
    38 
    +
    39 
    +
    40 // The 'noexcept' specifier is recognized by a C++11-capable compiler, but this
    +
    41 // file is targeted to compile by C++-98 compiler as well. As it turns out,
    +
    42 // adding 'noexcept' doesn't affect the generated symbols in the exported
    +
    43 // MonoTime class, so it's safe to turn it on when compiling in the C++11 mode.
    +
    44 // The 'noexcept' specified is useful in cases when wrapping MonoTime into
    +
    45 // std::atomic<> and the standard C++ library explicitly requires that.
    +
    46 #ifdef LANG_CXX11
    +
    47 #define KUDU_MONOTIME_NOEXCEPT noexcept
    +
    48 #else
    +
    49 #define KUDU_MONOTIME_NOEXCEPT
    +
    50 #endif // #ifdef LANG_CXX11 ... #else ...
    +
    51 
    +
    52 namespace kudu {
    +
    53 
    +
    58 class KUDU_EXPORT MonoDelta {
    +
    59  public:
    +
    62 
    +
    67  static MonoDelta FromSeconds(double seconds);
    +
    68 
    +
    73  static MonoDelta FromMilliseconds(int64_t ms);
    +
    74 
    +
    79  static MonoDelta FromMicroseconds(int64_t us);
    +
    80 
    +
    85  static MonoDelta FromNanoseconds(int64_t ns);
    +
    87 
    + +
    93 
    +
    95  bool Initialized() const;
    +
    96 
    +
    103  bool LessThan(const MonoDelta &rhs) const;
    +
    104 
    +
    111  bool MoreThan(const MonoDelta &rhs) const;
    +
    112 
    +
    120  bool Equals(const MonoDelta &rhs) const;
    +
    121 
    +
    123  std::string ToString() const;
    +
    124 
    +
    127 
    +
    129  double ToSeconds() const;
    +
    130  int64_t ToMilliseconds() const;
    +
    131  int64_t ToMicroseconds() const;
    +
    132  int64_t ToNanoseconds() const;
    +
    134 
    +
    140  void ToTimeVal(struct timeval *tv) const;
    +
    141 
    +
    147  void ToTimeSpec(struct timespec* ts) const;
    +
    148 
    +
    155  static void NanosToTimeSpec(int64_t nanos, struct timespec* ts);
    +
    156 
    +
    159 
    + +
    166 
    + +
    174 
    +
    175  private:
    +
    176  static const int64_t kUninitialized;
    +
    177 
    +
    178  friend class MonoTime;
    +
    179 
    +
    180  friend MonoDelta operator-(const class MonoTime&, const class MonoTime&);
    +
    181  friend MonoDelta operator-(const MonoDelta&, const MonoDelta&);
    +
    182  friend MonoDelta operator+(const MonoDelta&, const MonoDelta&);
    +
    183 
    +
    184  FRIEND_TEST(TestMonoTime, TestDeltaConversions);
    +
    185 
    +
    186  explicit MonoDelta(int64_t delta);
    +
    187  int64_t nano_delta_;
    +
    188 };
    +
    189 
    +
    197 class KUDU_EXPORT MonoTime {
    +
    198  public:
    +
    201 
    +
    203  static const int64_t kNanosecondsPerSecond = 1000000000L;
    +
    204 
    +
    206  static const int64_t kNanosecondsPerMillisecond = 1000000L;
    +
    207 
    +
    209  static const int64_t kNanosecondsPerMicrosecond = 1000L;
    +
    210 
    +
    212  static const int64_t kMicrosecondsPerSecond = 1000000L;
    +
    214 
    +
    218  static MonoTime Now();
    +
    219 
    +
    221  static MonoTime Max();
    +
    222 
    +
    224  static MonoTime Min();
    +
    225 
    +
    235  static const MonoTime& Earliest(const MonoTime& a, const MonoTime& b)
    +
    236  ATTRIBUTE_DEPRECATED("use std::min() instead");
    +
    237 
    +
    240  MonoTime() KUDU_MONOTIME_NOEXCEPT;
    +
    241 
    +
    243  bool Initialized() const;
    +
    244 
    +
    255  MonoDelta GetDeltaSince(const MonoTime &rhs) const ATTRIBUTE_DEPRECATED(
    +
    256  "use kudu::operator-(const MonoTime&, const MonoTime&) instead");
    +
    257 
    +
    262  void AddDelta(const MonoDelta &delta);
    +
    263 
    +
    271  bool ComesBefore(const MonoTime &rhs) const;
    +
    272 
    +
    274  std::string ToString() const;
    +
    275 
    +
    281  void ToTimeSpec(struct timespec* ts) const;
    +
    282 
    +
    289  bool Equals(const MonoTime& other) const;
    +
    290 
    +
    293 
    +
    299  MonoTime& operator+=(const MonoDelta& delta);
    +
    300 
    +
    306  MonoTime& operator-=(const MonoDelta& delta);
    +
    308 
    +
    309  private:
    +
    310  friend class MonoDelta;
    +
    311  friend MonoDelta operator-(const MonoTime&, const MonoTime&);
    +
    312  FRIEND_TEST(TestMonoTime, TestTimeSpec);
    +
    313  FRIEND_TEST(TestMonoTime, TestDeltaConversions);
    +
    314 
    +
    315  explicit MonoTime(const struct timespec& ts) KUDU_MONOTIME_NOEXCEPT;
    +
    316  explicit MonoTime(int64_t nanos) KUDU_MONOTIME_NOEXCEPT;
    +
    317  double ToSeconds() const;
    +
    318  int64_t nanos_;
    +
    319 };
    +
    320 
    +
    331 void KUDU_EXPORT SleepFor(const MonoDelta& delta);
    +
    332 
    +
    335 
    +
    342 bool KUDU_EXPORT operator==(const MonoDelta &lhs, const MonoDelta &rhs);
    +
    343 
    +
    350 bool KUDU_EXPORT operator!=(const MonoDelta &lhs, const MonoDelta &rhs);
    +
    351 
    +
    358 bool KUDU_EXPORT operator<(const MonoDelta &lhs, const MonoDelta &rhs);
    +
    359 
    +
    366 bool KUDU_EXPORT operator<=(const MonoDelta &lhs, const MonoDelta &rhs);
    +
    367 
    +
    374 bool KUDU_EXPORT operator>(const MonoDelta &lhs, const MonoDelta &rhs);
    +
    375 
    +
    382 bool KUDU_EXPORT operator>=(const MonoDelta &lhs, const MonoDelta &rhs);
    +
    383 
    +
    389 MonoDelta KUDU_EXPORT operator-(const MonoDelta& lhs, const MonoDelta& rhs);
    +
    390 
    +
    396 MonoDelta KUDU_EXPORT operator+(const MonoDelta& lhs, const MonoDelta& rhs);
    +
    398 
    +
    401 
    +
    412 bool KUDU_EXPORT operator==(const MonoTime& lhs, const MonoTime& rhs);
    +
    413 
    +
    425 bool KUDU_EXPORT operator!=(const MonoTime& lhs, const MonoTime& rhs);
    +
    426 
    +
    433 bool KUDU_EXPORT operator<(const MonoTime& lhs, const MonoTime& rhs);
    +
    434 
    +
    441 bool KUDU_EXPORT operator<=(const MonoTime& lhs, const MonoTime& rhs);
    +
    442 
    +
    449 bool KUDU_EXPORT operator>(const MonoTime& lhs, const MonoTime& rhs);
    +
    450 
    +
    457 bool KUDU_EXPORT operator>=(const MonoTime& lhs, const MonoTime& rhs);
    +
    459 
    +
    462 
    +
    470 MonoTime KUDU_EXPORT operator+(const MonoTime& t, const MonoDelta& delta);
    +
    471 
    +
    479 MonoTime KUDU_EXPORT operator-(const MonoTime& t, const MonoDelta& delta);
    +
    480 
    +
    491 MonoDelta KUDU_EXPORT operator-(const MonoTime& t_end, const MonoTime& t_begin);
    +
    493 
    +
    495 
    +
    506 std::ostream& operator<<(std::ostream& os, const kudu::MonoTime& time);
    +
    508 
    +
    509 } // namespace kudu
    +
    510 
    +
    511 #endif
    +
    A representation of a time interval.
    Definition: monotime.h:58
    +
    friend MonoDelta operator+(const MonoDelta &, const MonoDelta &)
    +
    int64_t ToNanoseconds() const
    +
    void ToTimeVal(struct timeval *tv) const
    +
    bool Initialized() const
    +
    int64_t ToMicroseconds() const
    +
    static void NanosToTimeSpec(int64_t nanos, struct timespec *ts)
    +
    bool LessThan(const MonoDelta &rhs) const
    +
    static MonoDelta FromSeconds(double seconds)
    +
    std::string ToString() const
    +
    MonoDelta & operator+=(const MonoDelta &delta)
    +
    friend MonoDelta operator-(const MonoDelta &, const MonoDelta &)
    +
    MonoDelta & operator-=(const MonoDelta &delta)
    +
    int64_t ToMilliseconds() const
    +
    double ToSeconds() const
    +
    static MonoDelta FromMilliseconds(int64_t ms)
    + +
    static MonoDelta FromMicroseconds(int64_t us)
    +
    void ToTimeSpec(struct timespec *ts) const
    +
    bool MoreThan(const MonoDelta &rhs) const
    +
    static MonoDelta FromNanoseconds(int64_t ns)
    +
    bool Equals(const MonoDelta &rhs) const
    +
    Representation of a particular point in time.
    Definition: monotime.h:197
    +
    static MonoTime Max()
    +
    MonoTime() KUDU_MONOTIME_NOEXCEPT
    +
    static MonoTime Now()
    +
    static const MonoTime & Earliest(const MonoTime &a, const MonoTime &b)
    +
    static MonoTime Min()
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/nav_f.png b/releases/1.17.1/cpp-client-api/nav_f.png new file mode 100644 index 0000000000..72a58a529e Binary files /dev/null and b/releases/1.17.1/cpp-client-api/nav_f.png differ diff --git a/releases/1.17.1/cpp-client-api/nav_g.png b/releases/1.17.1/cpp-client-api/nav_g.png new file mode 100644 index 0000000000..2093a237a9 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/nav_g.png differ diff --git a/releases/1.17.1/cpp-client-api/nav_h.png b/releases/1.17.1/cpp-client-api/nav_h.png new file mode 100644 index 0000000000..33389b101d Binary files /dev/null and b/releases/1.17.1/cpp-client-api/nav_h.png differ diff --git a/releases/1.17.1/cpp-client-api/open.png b/releases/1.17.1/cpp-client-api/open.png new file mode 100644 index 0000000000..30f75c7efe Binary files /dev/null and b/releases/1.17.1/cpp-client-api/open.png differ diff --git a/releases/1.17.1/cpp-client-api/pages.html b/releases/1.17.1/cpp-client-api/pages.html new file mode 100644 index 0000000000..d2f59b5b8c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/pages.html @@ -0,0 +1,83 @@ + + + + + + + +Kudu C++ client API: Related Pages + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/partial__row_8h_source.html b/releases/1.17.1/cpp-client-api/partial__row_8h_source.html new file mode 100644 index 0000000000..726362f62f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/partial__row_8h_source.html @@ -0,0 +1,471 @@ + + + + + + + +Kudu C++ client API: include/kudu/common/partial_row.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    partial_row.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_COMMON_PARTIAL_ROW_H
    +
    18 #define KUDU_COMMON_PARTIAL_ROW_H
    +
    19 
    +
    20 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    21 // to be processed by a compiler lacking C++11 support.
    +
    22 #include <stdint.h>
    +
    23 
    +
    24 #include <string>
    +
    25 
    +
    26 #ifdef KUDU_HEADERS_NO_STUBS
    +
    27 #include <gtest/gtest_prod.h>
    +
    28 
    +
    29 #include "kudu/gutil/port.h"
    +
    30 #else
    +
    31 // This is a poor module interdependency, but the stubs are header-only and
    +
    32 // it's only for exported header builds, so we'll make an exception.
    +
    33 #include "kudu/client/stubs.h"
    +
    34 #endif
    +
    35 
    +
    36 #include "kudu/util/int128.h"
    +
    37 #include "kudu/util/kudu_export.h"
    +
    38 #include "kudu/util/slice.h"
    +
    39 #include "kudu/util/status.h"
    +
    40 
    +
    42 namespace kudu {
    +
    43 class ColumnSchema;
    +
    44 namespace client {
    +
    45 class ClientTest_TestProjectionPredicatesFuzz_Test;
    +
    46 class KuduWriteOperation;
    +
    47 namespace internal {
    +
    48 class WriteRpc;
    +
    49 } // namespace internal
    +
    50 template<typename KeyTypeWrapper> struct SliceKeysTestSetup;// IWYU pragma: keep
    +
    51 template<typename KeyTypeWrapper> struct IntKeysTestSetup; // IWYU pragma: keep
    +
    52 } // namespace client
    +
    53 
    +
    54 namespace tablet {
    +
    55  template<typename KeyTypeWrapper> struct SliceTypeRowOps; // IWYU pragma: keep
    +
    56  template<typename KeyTypeWrapper> struct NumTypeRowOps; // IWYU pragma: keep
    +
    57 } // namespace tablet
    +
    58 
    +
    59 namespace tools {
    +
    60 class TableScanner;
    +
    61 } // namespace tools
    +
    62 
    +
    64 
    +
    65 class Schema;
    +
    66 
    +
    72 class KUDU_EXPORT KuduPartialRow {
    +
    73  public:
    +
    77  explicit KuduPartialRow(const Schema* schema);
    +
    78 
    +
    79  virtual ~KuduPartialRow();
    +
    80 
    + +
    86 
    + +
    93 
    +
    96 
    +
    104  Status SetBool(const Slice& col_name, bool val) WARN_UNUSED_RESULT;
    +
    105  Status SetInt8(const Slice& col_name, int8_t val) WARN_UNUSED_RESULT;
    +
    106  Status SetInt16(const Slice& col_name, int16_t val) WARN_UNUSED_RESULT;
    +
    107  Status SetInt32(const Slice& col_name, int32_t val) WARN_UNUSED_RESULT;
    +
    108  Status SetInt64(const Slice& col_name, int64_t val) WARN_UNUSED_RESULT;
    +
    109  Status SetSerial(const Slice& col_name, uint64_t val) WARN_UNUSED_RESULT;
    +
    117  Status SetUnixTimeMicros(const Slice& col_name,
    +
    118  int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT;
    +
    126  Status SetDate(const Slice& col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT;
    +
    127  Status SetFloat(const Slice& col_name, float val) WARN_UNUSED_RESULT;
    +
    128  Status SetDouble(const Slice& col_name, double val) WARN_UNUSED_RESULT;
    +
    129 #if KUDU_INT128_SUPPORTED
    +
    130  Status SetUnscaledDecimal(const Slice& col_name, int128_t val) WARN_UNUSED_RESULT;
    +
    131 #endif
    +
    133 
    +
    141 
    +
    147  Status SetBool(int col_idx, bool val) WARN_UNUSED_RESULT;
    +
    148 
    +
    149  Status SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT;
    +
    150  Status SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT;
    +
    151  Status SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT;
    +
    152  Status SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT;
    +
    153  Status SetSerial(int col_idx, uint64_t val) WARN_UNUSED_RESULT;
    +
    154 
    +
    160  Status SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT;
    +
    161 
    +
    167  Status SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT;
    +
    168 
    +
    169  Status SetFloat(int col_idx, float val) WARN_UNUSED_RESULT;
    +
    170  Status SetDouble(int col_idx, double val) WARN_UNUSED_RESULT;
    +
    171 #if KUDU_INT128_SUPPORTED
    +
    172  Status SetUnscaledDecimal(int col_idx, int128_t val) WARN_UNUSED_RESULT;
    +
    173 #endif
    +
    175 
    +
    178 
    +
    192  Status SetBinary(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    193  Status SetString(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    195 
    +
    205  Status SetVarchar(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    206 
    +
    209 
    +
    228  Status SetBinary(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    229  Status SetString(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    231 
    +
    245  Status SetVarchar(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    246 
    +
    249 
    +
    258  Status SetBinaryCopy(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    259  Status SetStringCopy(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    261 
    +
    264 
    +
    278  Status SetStringCopy(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    279  Status SetBinaryCopy(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    281 
    +
    284 
    +
    298  Status SetBinaryNoCopy(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    299  Status SetStringNoCopy(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    301 
    +
    307 
    +
    326  Status SetVarcharNoCopyUnsafe(const Slice& col_name, const Slice& val) WARN_UNUSED_RESULT;
    +
    327 
    +
    351  Status SetVarcharNoCopyUnsafe(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    353 
    +
    356 
    +
    375  Status SetBinaryNoCopy(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    376  Status SetStringNoCopy(int col_idx, const Slice& val) WARN_UNUSED_RESULT;
    +
    378 
    +
    387  Status SetNull(const Slice& col_name) WARN_UNUSED_RESULT;
    +
    388 
    +
    397  Status SetNull(int col_idx) WARN_UNUSED_RESULT;
    +
    398 
    +
    406  Status Unset(const Slice& col_name) WARN_UNUSED_RESULT;
    +
    407 
    +
    415  Status Unset(int col_idx) WARN_UNUSED_RESULT;
    +
    416 
    +
    422  bool IsColumnSet(const Slice& col_name) const;
    +
    423 
    +
    429  bool IsColumnSet(int col_idx) const;
    +
    430 
    +
    436  bool IsNull(const Slice& col_name) const;
    +
    437 
    +
    443  bool IsNull(int col_idx) const;
    +
    444 
    +
    447 
    +
    459  Status GetBool(const Slice& col_name, bool* val) const WARN_UNUSED_RESULT;
    +
    460 
    +
    461  Status GetInt8(const Slice& col_name, int8_t* val) const WARN_UNUSED_RESULT;
    +
    462  Status GetInt16(const Slice& col_name, int16_t* val) const WARN_UNUSED_RESULT;
    +
    463  Status GetInt32(const Slice& col_name, int32_t* val) const WARN_UNUSED_RESULT;
    +
    464  Status GetInt64(const Slice& col_name, int64_t* val) const WARN_UNUSED_RESULT;
    +
    465  Status GetSerial(const Slice& col_name, uint64_t* val) const WARN_UNUSED_RESULT;
    +
    466 
    +
    476  Status GetUnixTimeMicros(const Slice& col_name,
    +
    477  int64_t* micros_since_utc_epoch) const WARN_UNUSED_RESULT;
    +
    478 
    +
    488  Status GetDate(const Slice& col_name, int32_t* days_since_unix_epoch) const WARN_UNUSED_RESULT;
    +
    489  Status GetFloat(const Slice& col_name, float* val) const WARN_UNUSED_RESULT;
    +
    490  Status GetDouble(const Slice& col_name, double* val) const WARN_UNUSED_RESULT;
    +
    491 #if KUDU_INT128_SUPPORTED
    +
    492  // NOTE: The non-const version of this function is kept for backwards compatibility.
    +
    493  Status GetUnscaledDecimal(const Slice& col_name, int128_t* val) WARN_UNUSED_RESULT;
    +
    494  Status GetUnscaledDecimal(const Slice& col_name, int128_t* val) const WARN_UNUSED_RESULT;
    +
    495 #endif
    +
    497 
    +
    505 
    +
    517  Status GetBool(int col_idx, bool* val) const WARN_UNUSED_RESULT;
    +
    518  Status GetInt8(int col_idx, int8_t* val) const WARN_UNUSED_RESULT;
    +
    519  Status GetInt16(int col_idx, int16_t* val) const WARN_UNUSED_RESULT;
    +
    520  Status GetInt32(int col_idx, int32_t* val) const WARN_UNUSED_RESULT;
    +
    521  Status GetInt64(int col_idx, int64_t* val) const WARN_UNUSED_RESULT;
    +
    522  Status GetSerial(int col_idx, uint64_t* val) const WARN_UNUSED_RESULT;
    +
    523 
    +
    533  Status GetUnixTimeMicros(int col_idx, int64_t* micros_since_utc_epoch) const WARN_UNUSED_RESULT;
    +
    534 
    +
    544  Status GetDate(int col_idx, int32_t* days_since_unix_epoch) const WARN_UNUSED_RESULT;
    +
    545  Status GetFloat(int col_idx, float* val) const WARN_UNUSED_RESULT;
    +
    546  Status GetDouble(int col_idx, double* val) const WARN_UNUSED_RESULT;
    +
    547 #if KUDU_INT128_SUPPORTED
    +
    548  // NOTE: The non-const version of this function is kept for backwards compatibility.
    +
    549  Status GetUnscaledDecimal(int col_idx, int128_t* val) WARN_UNUSED_RESULT;
    +
    550  Status GetUnscaledDecimal(int col_idx, int128_t* val) const WARN_UNUSED_RESULT;
    +
    551 #endif
    +
    553 
    +
    556 
    +
    570  Status GetString(const Slice& col_name, Slice* val) const WARN_UNUSED_RESULT;
    +
    571  Status GetBinary(const Slice& col_name, Slice* val) const WARN_UNUSED_RESULT;
    +
    572  Status GetVarchar(const Slice& col_name, Slice* val) const WARN_UNUSED_RESULT;
    +
    574 
    +
    577 
    +
    595  Status GetString(int col_idx, Slice* val) const WARN_UNUSED_RESULT;
    +
    596  Status GetBinary(int col_idx, Slice* val) const WARN_UNUSED_RESULT;
    +
    597  Status GetVarchar(int col_idx, Slice* val) const WARN_UNUSED_RESULT;
    +
    599 
    +
    600  //------------------------------------------------------------
    +
    601  // Key-encoding related functions
    +
    602  //------------------------------------------------------------
    +
    603 
    +
    615  Status EncodeRowKey(std::string* encoded_key) const;
    +
    616 
    +
    623  std::string ToEncodedRowKeyOrDie() const;
    +
    624 
    +
    625  //------------------------------------------------------------
    +
    626  // Utility code
    +
    627  //------------------------------------------------------------
    +
    628 
    +
    631  bool IsKeySet() const;
    +
    632 
    +
    635  bool IsNonUniqueKeySet() const;
    +
    636 
    + +
    640 
    +
    642  bool AllColumnsSet() const;
    +
    643 
    +
    649  std::string ToString() const;
    +
    650 
    +
    652  const Schema* schema() const { return schema_; }
    +
    653 
    +
    654  private:
    +
    655  friend class client::KuduWriteOperation; // for row_data_.
    +
    656  friend class client::internal::WriteRpc; // for row_data_.
    +
    657  friend class KeyUtilTest;
    +
    658  friend class PartitionSchema;
    +
    659  friend class RowOperationsPBDecoder;
    +
    660  friend class RowOperationsPBEncoder;
    +
    661  friend class ScanSpec; // for Set(int32_t column_idx, const uint8_t* val)
    +
    662  friend class tools::TableScanner;
    +
    663  friend class TestScanSpec;
    +
    664  template<typename KeyTypeWrapper> friend struct client::SliceKeysTestSetup;
    +
    665  template<typename KeyTypeWrapper> friend struct client::IntKeysTestSetup;
    +
    666  template<typename KeyTypeWrapper> friend struct tablet::SliceTypeRowOps;
    +
    667  template<typename KeyTypeWrapper> friend struct tablet::NumTypeRowOps;
    +
    668  FRIEND_TEST(client::ClientTest, TestProjectionPredicatesFuzz);
    +
    669  FRIEND_TEST(KeyUtilTest, TestIncrementInt128PrimaryKey);
    +
    670  FRIEND_TEST(PartitionPrunerTest, TestIntPartialPrimaryKeyRangePruning);
    +
    671  FRIEND_TEST(PartitionPrunerTest, TestPartialPrimaryKeyRangePruning);
    +
    672  FRIEND_TEST(PartitionPrunerTest, TestPrimaryKeyRangePruning);
    +
    673  FRIEND_TEST(PartitionPrunerTest, TestHashSchemasPerRangeWithPartialPrimaryKeyRangePruning);
    +
    674  FRIEND_TEST(RowOperationsTest, ProjectionTestWholeSchemaSpecified);
    +
    675  FRIEND_TEST(RowOperationsTest, TestProjectUpdates);
    +
    676  FRIEND_TEST(RowOperationsTest, TestProjectDeletes);
    +
    677 
    +
    678  template<typename T>
    +
    679  Status Set(const Slice& col_name, const typename T::cpp_type& val,
    +
    680  bool owned = false);
    +
    681 
    +
    682  template<typename T>
    +
    683  Status Set(int col_idx, const typename T::cpp_type& val,
    +
    684  bool owned = false);
    +
    685 
    +
    686  // Runtime version of the generic setter.
    +
    687  Status Set(int32_t column_idx, const uint8_t* val);
    +
    688 
    +
    689  template<typename T>
    +
    690  Status Get(const Slice& col_name, typename T::cpp_type* val) const;
    +
    691 
    +
    692  template<typename T>
    +
    693  Status Get(int col_idx, typename T::cpp_type* val) const;
    +
    694 
    +
    695  template<typename T>
    +
    696  Status SetSliceCopy(const Slice& col_name, const Slice& val);
    +
    697 
    +
    698  template<typename T>
    +
    699  Status SetSliceCopy(int col_idx, const Slice& val);
    +
    700 
    +
    701  // If the given column is a variable length column whose memory is owned by this instance,
    +
    702  // deallocates the value.
    +
    703  // NOTE: Does not mutate the isset bitmap.
    +
    704  // REQUIRES: col_idx must be a variable length column.
    +
    705  void DeallocateStringIfSet(int col_idx, const ColumnSchema& col);
    +
    706 
    +
    707  // Deallocate any string/binary values whose memory is managed by this object.
    +
    708  void DeallocateOwnedStrings();
    +
    709 
    +
    710  const Schema* schema_;
    +
    711 
    +
    712  // 1-bit set for any field which has been explicitly set. This is distinct
    +
    713  // from NULL -- an "unset" field will take the server-side default on insert,
    +
    714  // whereas a field explicitly set to NULL will override the default.
    +
    715  uint8_t* isset_bitmap_;
    +
    716 
    +
    717  // 1-bit set for any variable length columns whose memory is managed by this instance.
    +
    718  // These strings need to be deallocated whenever the value is reset,
    +
    719  // or when the instance is destructed.
    +
    720  uint8_t* owned_strings_bitmap_;
    +
    721 
    +
    722  // The normal "contiguous row" format row data. Any column whose data is unset
    +
    723  // or NULL can have undefined bytes.
    +
    724  uint8_t* row_data_;
    +
    725 };
    +
    726 
    +
    727 } // namespace kudu
    +
    728 #endif /* KUDU_COMMON_PARTIAL_ROW_H */
    +
    A row which may only contain values for a subset of the columns.
    Definition: partial_row.h:72
    +
    KuduPartialRow & operator=(KuduPartialRow other)
    +
    Status GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
    +
    Status SetInt32(const Slice &col_name, int32_t val) WARN_UNUSED_RESULT
    +
    Status GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
    +
    Status SetString(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    Status SetUnixTimeMicros(const Slice &col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT
    +
    std::string ToString() const
    +
    Status GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT
    +
    Status SetBinaryCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    Status SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT
    +
    Status GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT
    +
    Status SetStringNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    bool IsNull(int col_idx) const
    +
    Status SetSerial(const Slice &col_name, uint64_t val) WARN_UNUSED_RESULT
    +
    Status GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT
    +
    bool IsKeySet() const
    +
    Status SetInt16(const Slice &col_name, int16_t val) WARN_UNUSED_RESULT
    +
    Status GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT
    +
    Status EncodeRowKey(std::string *encoded_key) const
    +
    bool IsNonUniqueKeySet() const
    +
    Status GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
    +
    Status GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT
    +
    Status GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULT
    +
    Status SetVarchar(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    Status SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT
    +
    Status SetFloat(const Slice &col_name, float val) WARN_UNUSED_RESULT
    +
    Status SetBinaryNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    Status GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT
    +
    Status SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT
    +
    std::string ToEncodedRowKeyOrDie() const
    +
    bool IsColumnSet(int col_idx) const
    +
    Status SetSerial(int col_idx, uint64_t val) WARN_UNUSED_RESULT
    +
    bool IsAutoIncrementingColumnSet() const
    +
    Status SetBinaryNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    Status SetDouble(int col_idx, double val) WARN_UNUSED_RESULT
    +
    Status GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULT
    +
    Status SetInt8(const Slice &col_name, int8_t val) WARN_UNUSED_RESULT
    +
    Status SetBool(int col_idx, bool val) WARN_UNUSED_RESULT
    +
    Status GetSerial(int col_idx, uint64_t *val) const WARN_UNUSED_RESULT
    +
    Status GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT
    +
    Status SetString(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    Status Unset(int col_idx) WARN_UNUSED_RESULT
    +
    Status GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT
    +
    bool IsNull(const Slice &col_name) const
    +
    Status GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT
    +
    Status GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT
    +
    Status GetSerial(const Slice &col_name, uint64_t *val) const WARN_UNUSED_RESULT
    +
    Status GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULT
    +
    Status SetStringCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    Status GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT
    +
    KuduPartialRow(const Schema *schema)
    +
    Status GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
    +
    Status SetBinary(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    bool IsColumnSet(const Slice &col_name) const
    +
    Status SetStringCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    Status GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
    +
    KuduPartialRow(const KuduPartialRow &other)
    +
    Status SetVarcharNoCopyUnsafe(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    Status SetDouble(const Slice &col_name, double val) WARN_UNUSED_RESULT
    +
    Status SetInt64(const Slice &col_name, int64_t val) WARN_UNUSED_RESULT
    +
    Status SetNull(int col_idx) WARN_UNUSED_RESULT
    +
    Status SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT
    +
    Status SetDate(const Slice &col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT
    +
    Status SetBinaryCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    Status SetFloat(int col_idx, float val) WARN_UNUSED_RESULT
    +
    Status SetVarchar(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    Status GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
    +
    Status GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT
    +
    Status SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT
    +
    Status Unset(const Slice &col_name) WARN_UNUSED_RESULT
    +
    Status SetBinary(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT
    +
    Status GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT
    +
    Status SetStringNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    bool AllColumnsSet() const
    +
    Status SetBool(const Slice &col_name, bool val) WARN_UNUSED_RESULT
    +
    Status SetNull(const Slice &col_name) WARN_UNUSED_RESULT
    +
    Status SetVarcharNoCopyUnsafe(int col_idx, const Slice &val) WARN_UNUSED_RESULT
    +
    Status GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
    +
    Status SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT
    +
    Status GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT
    +
    const Schema * schema() const
    Definition: partial_row.h:652
    + +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/resource__metrics_8h_source.html b/releases/1.17.1/cpp-client-api/resource__metrics_8h_source.html new file mode 100644 index 0000000000..4922b702c1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/resource__metrics_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/resource_metrics.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    resource_metrics.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_CLIENT_RESOURCE_METRICS_H
    +
    18 #define KUDU_CLIENT_RESOURCE_METRICS_H
    +
    19 
    +
    20 // NOTE: using stdint.h instead of cstdint because this file might be
    +
    21 // processed by a compiler lacking C++11 support (Kudu C++ client API
    +
    22 // still keeps C++98 compatibility)
    +
    23 #include <stdint.h>
    +
    24 
    +
    25 #include <map>
    +
    26 #include <string>
    +
    27 
    +
    28 #include "kudu/util/kudu_export.h"
    +
    29 
    +
    30 #ifdef KUDU_HEADERS_NO_STUBS
    +
    31 #include "kudu/gutil/macros.h"
    +
    32 #include "kudu/gutil/port.h"
    +
    33 #else
    +
    34 #include "kudu/client/stubs.h"
    +
    35 #endif
    +
    36 
    +
    37 namespace kudu {
    +
    38 namespace client {
    +
    39 
    +
    41 class KUDU_EXPORT ResourceMetrics {
    +
    42  public:
    + +
    44 
    +
    45  ~ResourceMetrics();
    +
    46 
    +
    49  std::map<std::string, int64_t> Get() const;
    +
    50 
    +
    58  ATTRIBUTE_DEPRECATED("This function will become private in a future release.")
    +
    59  void Increment(const std::string& name, int64_t amount);
    +
    60 
    +
    66  int64_t GetMetric(const std::string& name) const;
    +
    67 
    +
    68  private:
    +
    69  friend class KuduScanner;
    +
    70  friend class KuduSession;
    +
    71  class KUDU_NO_EXPORT Data;
    +
    72  Data* data_;
    +
    73 
    +
    74  DISALLOW_COPY_AND_ASSIGN(ResourceMetrics);
    +
    75 };
    +
    76 
    +
    77 } // namespace client
    +
    78 } // namespace kudu
    +
    79 
    +
    80 #endif
    +
    This class is a representation of a single scan.
    Definition: client.h:2712
    +
    Representation of a Kudu client session.
    Definition: client.h:2292
    +
    A generic catalog of simple metrics.
    Definition: resource_metrics.h:41
    +
    std::map< std::string, int64_t > Get() const
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/row__result_8h_source.html b/releases/1.17.1/cpp-client-api/row__result_8h_source.html new file mode 100644 index 0000000000..cac2da51d2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/row__result_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/row_result.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    row_result.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_CLIENT_ROW_RESULT_H
    +
    18 #define KUDU_CLIENT_ROW_RESULT_H
    +
    19 
    +
    20 #include "kudu/client/scan_batch.h"
    +
    21 
    +
    22 namespace kudu {
    +
    23 namespace client {
    +
    24 
    +
    28 typedef KuduScanBatch::RowPtr KuduRowResult;
    +
    29 
    +
    30 } // namespace client
    +
    31 } // namespace kudu
    +
    32 
    +
    33 #endif
    +
    RowPtr()
    Definition: scan_batch.h:167
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/scan__batch_8h_source.html b/releases/1.17.1/cpp-client-api/scan__batch_8h_source.html new file mode 100644 index 0000000000..ff1bdef53f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/scan__batch_8h_source.html @@ -0,0 +1,353 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/scan_batch.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    scan_batch.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_CLIENT_SCAN_BATCH_H
    +
    18 #define KUDU_CLIENT_SCAN_BATCH_H
    +
    19 
    +
    20 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    21 // to be processed by a compiler lacking C++11 support.
    +
    22 #include <stdint.h>
    +
    23 
    +
    24 #include <cstddef>
    +
    25 #include <iterator>
    +
    26 #include <string>
    +
    27 
    +
    28 #ifdef KUDU_HEADERS_NO_STUBS
    +
    29 #include "kudu/gutil/macros.h"
    +
    30 #include "kudu/gutil/port.h"
    +
    31 #else
    +
    32 #include "kudu/client/stubs.h"
    +
    33 #endif
    +
    34 
    +
    35 #include "kudu/util/int128.h"
    +
    36 #include "kudu/util/kudu_export.h"
    +
    37 #include "kudu/util/slice.h"
    +
    38 #include "kudu/util/status.h"
    +
    39 
    +
    40 namespace kudu {
    +
    41 class Schema;
    +
    42 
    +
    43 namespace tools {
    +
    44 class ReplicaDumper;
    +
    45 class TableScanner;
    +
    46 } // namespace tools
    +
    47 
    +
    48 namespace client {
    +
    49 class KuduSchema;
    +
    50 
    +
    84 class KUDU_EXPORT KuduScanBatch {
    +
    85  public:
    +
    90  class RowPtr;
    +
    91 
    +
    98  class const_iterator;
    +
    99 
    +
    101  typedef RowPtr value_type;
    +
    102 
    +
    103  KuduScanBatch();
    +
    104  ~KuduScanBatch();
    +
    105 
    +
    107  int NumRows() const;
    +
    108 
    +
    116  KuduScanBatch::RowPtr Row(int idx) const;
    +
    117 
    +
    119  const_iterator begin() const;
    +
    121  const_iterator end() const;
    +
    122 
    + +
    127 
    +
    136 
    + +
    145 
    + +
    153 
    +
    154  private:
    +
    155  class KUDU_NO_EXPORT Data;
    +
    156  friend class KuduScanner;
    +
    157  friend class tools::ReplicaDumper;
    +
    158 
    +
    159  Data* data_;
    +
    160  DISALLOW_COPY_AND_ASSIGN(KuduScanBatch);
    +
    161 };
    +
    162 
    +
    163 class KUDU_EXPORT KuduScanBatch::RowPtr {
    +
    164  public:
    +
    167  RowPtr() : schema_(NULL), row_data_(NULL) {}
    +
    168 
    +
    171 
    +
    173  const RowPtr* operator->() const {
    +
    174  return this;
    +
    175  }
    +
    179  bool IsNull(const Slice& col_name) const;
    +
    180 
    +
    184  bool IsNull(int col_idx) const;
    +
    185 
    +
    192  Status IsDeleted(bool* val) const WARN_UNUSED_RESULT KUDU_NO_EXPORT;
    +
    193 
    +
    196 
    +
    206  Status GetBool(const Slice& col_name, bool* val) const WARN_UNUSED_RESULT;
    +
    207  Status GetInt8(const Slice& col_name, int8_t* val) const WARN_UNUSED_RESULT;
    +
    208  Status GetInt16(const Slice& col_name, int16_t* val) const WARN_UNUSED_RESULT;
    +
    209  Status GetInt32(const Slice& col_name, int32_t* val) const WARN_UNUSED_RESULT;
    +
    210  Status GetInt64(const Slice& col_name, int64_t* val) const WARN_UNUSED_RESULT;
    +
    220  Status GetUnixTimeMicros(const Slice& col_name,
    +
    221  int64_t* micros_since_utc_epoch) const WARN_UNUSED_RESULT;
    +
    231  Status GetDate(const Slice& col_name, int32_t* days_since_unix_epoch) const WARN_UNUSED_RESULT;
    +
    232  Status GetFloat(const Slice& col_name, float* val) const WARN_UNUSED_RESULT;
    +
    233  Status GetDouble(const Slice& col_name, double* val) const WARN_UNUSED_RESULT;
    +
    234 #if KUDU_INT128_SUPPORTED
    +
    235  Status GetUnscaledDecimal(const Slice& col_name, int128_t* val) const WARN_UNUSED_RESULT;
    +
    236 #endif
    +
    238 
    +
    245 
    +
    256  Status GetBool(int col_idx, bool* val) const WARN_UNUSED_RESULT;
    +
    257  Status GetInt8(int col_idx, int8_t* val) const WARN_UNUSED_RESULT;
    +
    258  Status GetInt16(int col_idx, int16_t* val) const WARN_UNUSED_RESULT;
    +
    259  Status GetInt32(int col_idx, int32_t* val) const WARN_UNUSED_RESULT;
    +
    260  Status GetInt64(int col_idx, int64_t* val) const WARN_UNUSED_RESULT;
    +
    271  Status GetUnixTimeMicros(int col_idx, int64_t* micros_since_utc_epoch) const WARN_UNUSED_RESULT;
    +
    282  Status GetDate(int col_idx, int32_t* days_since_unix_epoch) const WARN_UNUSED_RESULT;
    +
    283  Status GetFloat(int col_idx, float* val) const WARN_UNUSED_RESULT;
    +
    284  Status GetDouble(int col_idx, double* val) const WARN_UNUSED_RESULT;
    +
    285 #if KUDU_INT128_SUPPORTED
    +
    286  Status GetUnscaledDecimal(int col_idx, int128_t* val) const WARN_UNUSED_RESULT;
    +
    287 #endif
    +
    289 
    +
    292 
    +
    306  Status GetString(const Slice& col_name, Slice* val) const WARN_UNUSED_RESULT;
    +
    307  Status GetBinary(const Slice& col_name, Slice* val) const WARN_UNUSED_RESULT;
    +
    308  Status GetVarchar(const Slice& col_name, Slice* val) const WARN_UNUSED_RESULT;
    +
    310 
    +
    313 
    +
    331  Status GetString(int col_idx, Slice* val) const WARN_UNUSED_RESULT;
    +
    332  Status GetBinary(int col_idx, Slice* val) const WARN_UNUSED_RESULT;
    +
    333  Status GetVarchar(int col_idx, Slice* val) const WARN_UNUSED_RESULT;
    +
    335 
    +
    342  const void* cell(int col_idx) const;
    +
    343 
    +
    345  std::string ToString() const;
    +
    346 
    +
    347  private:
    +
    348  friend class KuduScanBatch;
    +
    349  friend class tools::TableScanner;
    +
    350  template<typename KeyTypeWrapper> friend struct SliceKeysTestSetup;
    +
    351  template<typename KeyTypeWrapper> friend struct IntKeysTestSetup;
    +
    352 
    +
    353  // Only invoked by KuduScanner.
    +
    354  RowPtr(const Schema* schema,
    +
    355  const uint8_t* row_data)
    +
    356  : schema_(schema),
    +
    357  row_data_(row_data) {
    +
    358  }
    +
    359 
    +
    360  template<typename T>
    +
    361  Status Get(const Slice& col_name, typename T::cpp_type* val) const;
    +
    362 
    +
    363  template<typename T>
    +
    364  Status Get(int col_idx, typename T::cpp_type* val) const;
    +
    365 
    +
    366  const Schema* schema_;
    +
    367  const uint8_t* row_data_;
    +
    368 };
    +
    369 
    +
    370 class KUDU_EXPORT KuduScanBatch::const_iterator
    +
    371  : public std::iterator<std::forward_iterator_tag, KuduScanBatch::RowPtr> {
    +
    372  public:
    +
    373  ~const_iterator() {}
    +
    374 
    + +
    377  return batch_->Row(idx_);
    +
    378  }
    +
    379 
    +
    384 
    + +
    387  return batch_->Row(idx_);
    +
    388  }
    +
    389 
    +
    393  const_iterator& operator++() {
    +
    394  ++idx_;
    +
    395  return *this;
    +
    396  }
    +
    397 
    +
    401  const_iterator operator++(int) {
    +
    402  const_iterator tmp(batch_, idx_);
    +
    403  ++idx_;
    +
    404  return tmp;
    +
    405  }
    +
    406 
    +
    413  bool operator==(const const_iterator& other) const {
    +
    414  return (idx_ == other.idx_) && (batch_ == other.batch_);
    +
    415  }
    +
    416 
    +
    424  bool operator!=(const const_iterator& other) const {
    +
    425  return !(*this == other);
    +
    426  }
    +
    427 
    +
    428  private:
    +
    429  friend class KuduScanBatch;
    +
    430  const_iterator(const KuduScanBatch* b, int idx)
    +
    431  : batch_(b),
    +
    432  idx_(idx) {
    +
    433  }
    +
    434 
    +
    435  const KuduScanBatch* const batch_;
    +
    436  int idx_;
    +
    437 };
    +
    438 
    +
    439 
    +
    440 inline KuduScanBatch::const_iterator KuduScanBatch::begin() const {
    +
    441  return const_iterator(this, 0);
    +
    442 }
    +
    443 
    +
    444 inline KuduScanBatch::const_iterator KuduScanBatch::end() const {
    +
    445  return const_iterator(this, NumRows());
    +
    446 }
    +
    447 
    +
    448 } // namespace client
    +
    449 } // namespace kudu
    +
    450 
    +
    451 #endif
    +
    A wrapper around externally allocated data.
    Definition: slice.h:51
    +
    A representation of an operation's outcome.
    Definition: status.h:165
    +
    A batch of zero or more rows returned by a scan operation.
    Definition: scan_batch.h:84
    + +
    const KuduSchema * projection_schema() const
    +
    Status GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT
    +
    Status GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
    + +
    Status GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
    +
    bool operator!=(const const_iterator &other) const
    Definition: scan_batch.h:424
    +
    Status IsDeleted(bool *val) const WARN_UNUSED_RESULT KUDU_NO_EXPORT
    +
    Status GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
    +
    const void * cell(int col_idx) const
    +
    Status GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULT
    + +
    KuduScanBatch::RowPtr Row(int idx) const
    +
    Status GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT
    +
    const_iterator operator++(int)
    Definition: scan_batch.h:401
    +
    Status GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT
    +
    const_iterator end() const
    Definition: scan_batch.h:444
    +
    KuduScanBatch::RowPtr operator*() const
    Definition: scan_batch.h:376
    +
    bool IsNull(int col_idx) const
    +
    const_iterator begin() const
    Definition: scan_batch.h:440
    +
    Status GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULT
    +
    KuduScanBatch::RowPtr operator->() const
    Definition: scan_batch.h:386
    +
    bool operator==(const const_iterator &other) const
    Definition: scan_batch.h:413
    +
    Status GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT
    +
    Status GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULT
    +
    Status GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT
    +
    Status GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT
    +
    Status GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT
    +
    RowPtr()
    Definition: scan_batch.h:167
    +
    Status GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT
    +
    Status GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT
    +
    Status GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT
    +
    Status GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT
    +
    Status GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT
    +
    std::string ToString() const
    +
    Status GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
    +
    const RowPtr * operator->() const
    Definition: scan_batch.h:173
    +
    bool IsNull(const Slice &col_name) const
    +
    const_iterator & operator++()
    Definition: scan_batch.h:393
    +
    Status GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT
    +
    Status GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT
    +
    RowPtr value_type
    A handy typedef for the RowPtr.
    Definition: scan_batch.h:98
    +
    Status GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT
    +
    Status GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT
    +
    Status GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT
    +
    This class is a representation of a single scan.
    Definition: client.h:2712
    +
    A representation of a table's schema.
    Definition: schema.h:688
    + +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/scan__predicate_8h_source.html b/releases/1.17.1/cpp-client-api/scan__predicate_8h_source.html new file mode 100644 index 0000000000..19709eb124 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/scan__predicate_8h_source.html @@ -0,0 +1,214 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/scan_predicate.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    scan_predicate.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_CLIENT_SCAN_PREDICATE_H
    +
    18 #define KUDU_CLIENT_SCAN_PREDICATE_H
    +
    19 
    +
    20 #ifdef KUDU_HEADERS_NO_STUBS
    +
    21 #include "kudu/gutil/macros.h"
    +
    22 #include "kudu/util/slice.h"
    +
    23 #else
    +
    24 #include "kudu/client/stubs.h"
    +
    25 #endif
    +
    26 
    +
    27 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    28 // to be processed by a compiler lacking C++11 support.
    +
    29 #include <stdint.h>
    +
    30 
    +
    31 #include <cstddef>
    +
    32 
    +
    33 #include "kudu/client/hash.h"
    +
    34 #include "kudu/util/kudu_export.h"
    +
    35 #include "kudu/util/status.h"
    +
    36 
    +
    37 namespace kudu {
    +
    38 namespace client {
    +
    39 
    +
    43 class KUDU_EXPORT KuduPredicate {
    +
    44  public:
    +
    46  enum ComparisonOp {
    +
    47  LESS_EQUAL,
    +
    48  GREATER_EQUAL,
    +
    49  EQUAL,
    +
    50  LESS,
    +
    51  GREATER,
    +
    52  };
    +
    53 
    +
    54  ~KuduPredicate();
    +
    55 
    +
    57  KuduPredicate* Clone() const;
    +
    58 
    +
    63  class KUDU_NO_EXPORT Data;
    +
    64 
    +
    65  private:
    +
    66  friend class ComparisonPredicateData;
    +
    67  friend class ErrorPredicateData;
    +
    68  friend class InListPredicateData;
    +
    69  friend class IsNotNullPredicateData;
    +
    70  friend class IsNullPredicateData;
    +
    71  friend class KuduTable;
    +
    72  friend class ScanConfiguration;
    +
    73 
    +
    74  explicit KuduPredicate(Data* d);
    +
    75 
    +
    76  Data* data_;
    +
    77  DISALLOW_COPY_AND_ASSIGN(KuduPredicate);
    +
    78 };
    +
    79 
    +
    92 class KUDU_EXPORT KuduBloomFilter {
    +
    93  public:
    +
    94  ~KuduBloomFilter();
    +
    95 
    +
    100  void Insert(const Slice& key);
    +
    101 
    +
    102  private:
    +
    103  friend class InBloomFilterPredicateData;
    +
    104  friend class KuduBloomFilterBuilder;
    +
    105 
    +
    106  class KUDU_NO_EXPORT Data;
    +
    107 
    +
    108  // Owned ptr as per the PIMPL pattern.
    +
    109  Data* data_;
    +
    110 
    +
    116  KuduBloomFilter* Clone() const;
    +
    117 
    +
    118  KuduBloomFilter();
    +
    119 
    +
    124  explicit KuduBloomFilter(Data* other_data);
    +
    125 
    +
    126  DISALLOW_COPY_AND_ASSIGN(KuduBloomFilter);
    +
    127 };
    +
    128 
    +
    131 class KUDU_EXPORT KuduBloomFilterBuilder {
    +
    132  public:
    +
    135  explicit KuduBloomFilterBuilder(size_t num_keys);
    + +
    137 
    + +
    143 
    +
    149  KuduBloomFilterBuilder& hash_algorithm(HashAlgorithm hash_algorithm);
    +
    150 
    +
    156  KuduBloomFilterBuilder& hash_seed(uint32_t hash_seed);
    +
    157 
    +
    166  Status Build(KuduBloomFilter** bloom_filter);
    +
    167 
    +
    168  private:
    +
    169  class KUDU_NO_EXPORT Data;
    +
    170 
    +
    171  // Owned ptr as per the PIMPL pattern.
    +
    172  Data* data_;
    +
    173 
    +
    174  DISALLOW_COPY_AND_ASSIGN(KuduBloomFilterBuilder);
    +
    175 };
    +
    176 
    +
    177 } // namespace client
    +
    178 } // namespace kudu
    +
    179 #endif // KUDU_CLIENT_SCAN_PREDICATE_H
    +
    A wrapper around externally allocated data.
    Definition: slice.h:51
    +
    A representation of an operation's outcome.
    Definition: status.h:165
    +
    Builder class to help build KuduBloomFilter to be used with IN Bloom filter predicate.
    Definition: scan_predicate.h:131
    +
    KuduBloomFilterBuilder & hash_seed(uint32_t hash_seed)
    + +
    KuduBloomFilterBuilder & false_positive_probability(double fpp)
    +
    Status Build(KuduBloomFilter **bloom_filter)
    +
    KuduBloomFilterBuilder & hash_algorithm(HashAlgorithm hash_algorithm)
    +
    Bloom filter to be used with IN Bloom filter predicate.
    Definition: scan_predicate.h:92
    +
    void Insert(const Slice &key)
    +
    A representation of comparison predicate for Kudu queries.
    Definition: scan_predicate.h:43
    +
    ComparisonOp
    Supported comparison operators.
    Definition: scan_predicate.h:46
    +
    A representation of a table on a particular cluster.
    Definition: client.h:1613
    + +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/schema_8h_source.html b/releases/1.17.1/cpp-client-api/schema_8h_source.html new file mode 100644 index 0000000000..76876079ca --- /dev/null +++ b/releases/1.17.1/cpp-client-api/schema_8h_source.html @@ -0,0 +1,571 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/schema.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    schema.h
    +
    +
    +
    1 //
    +
    2 // Licensed to the Apache Software Foundation (ASF) under one
    +
    3 // or more contributor license agreements. See the NOTICE file
    +
    4 // distributed with this work for additional information
    +
    5 // regarding copyright ownership. The ASF licenses this file
    +
    6 // to you under the Apache License, Version 2.0 (the
    +
    7 // "License"); you may not use this file except in compliance
    +
    8 // with the License. You may obtain a copy of the License at
    +
    9 //
    +
    10 // http://www.apache.org/licenses/LICENSE-2.0
    +
    11 //
    +
    12 // Unless required by applicable law or agreed to in writing,
    +
    13 // software distributed under the License is distributed on an
    +
    14 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    15 // KIND, either express or implied. See the License for the
    +
    16 // specific language governing permissions and limitations
    +
    17 // under the License.
    +
    18 #ifndef KUDU_CLIENT_SCHEMA_H
    +
    19 #define KUDU_CLIENT_SCHEMA_H
    +
    20 
    +
    21 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    22 // to be processed by a compiler lacking C++11 support.
    +
    23 #include <stdint.h>
    +
    24 
    +
    25 #include <cstddef>
    +
    26 #include <string>
    +
    27 #include <vector>
    +
    28 
    +
    29 #ifdef KUDU_HEADERS_NO_STUBS
    +
    30 #include <gtest/gtest_prod.h>
    +
    31 
    +
    32 #include "kudu/gutil/macros.h"
    +
    33 #include "kudu/gutil/port.h"
    +
    34 #else
    +
    35 #include "kudu/client/stubs.h"
    +
    36 #endif
    +
    37 
    +
    38 #include "kudu/util/kudu_export.h"
    +
    39 #include "kudu/util/status.h"
    +
    40 
    +
    41 namespace kudu {
    +
    42 
    +
    43 class ColumnSchema;
    +
    44 class KuduPartialRow;
    +
    45 class Schema;
    +
    46 class Slice;
    +
    47 struct ColumnSchemaDelta;
    +
    48 
    +
    49 namespace tools {
    +
    50 class RemoteKsckCluster;
    +
    51 class ReplicaDumper;
    +
    52 }
    +
    53 
    +
    54 namespace client {
    +
    55 
    +
    56 namespace internal {
    +
    57 class GetTableSchemaRpc;
    +
    58 class LookupRpc;
    +
    59 class MetaCache;
    +
    60 class MetaCacheEntry;
    +
    61 class WriteRpc;
    +
    62 } // namespace internal
    +
    63 
    +
    64 class KuduSchema;
    +
    65 class KuduValue;
    +
    66 
    +
    68 class KUDU_EXPORT KuduColumnTypeAttributes {
    +
    69  public:
    + +
    71 
    + +
    77 
    +
    84  KuduColumnTypeAttributes(int8_t precision, int8_t scale);
    +
    85 
    +
    90  explicit KuduColumnTypeAttributes(uint16_t length);
    +
    91 
    + +
    93 
    +
    96 
    + +
    101 
    +
    104  void CopyFrom(const KuduColumnTypeAttributes& other);
    +
    106 
    +
    108  int8_t precision() const;
    +
    109 
    +
    111  int8_t scale() const;
    +
    112 
    +
    114  uint16_t length() const;
    +
    115 
    +
    116  private:
    +
    117  friend class KuduColumnSchema;
    +
    118  friend class KuduColumnSpec;
    +
    119  friend class KuduSchema;
    +
    120 
    +
    121  KuduColumnTypeAttributes(int8_t precision, int8_t scale, uint16_t length);
    +
    122 
    +
    123  class KUDU_NO_EXPORT Data;
    +
    124 
    +
    125  // Owned.
    +
    126  Data* data_;
    +
    127 };
    +
    128 
    +
    130 class KUDU_EXPORT KuduColumnStorageAttributes {
    +
    131  public:
    + +
    134  AUTO_ENCODING = 0,
    +
    135  PLAIN_ENCODING = 1,
    +
    136  PREFIX_ENCODING = 2,
    +
    137  RLE = 4,
    +
    138  DICT_ENCODING = 5,
    +
    139  BIT_SHUFFLE = 6,
    +
    140 
    +
    143  GROUP_VARINT = 3
    +
    144  };
    +
    145 
    + +
    148  DEFAULT_COMPRESSION = 0,
    +
    149  NO_COMPRESSION = 1,
    +
    150  SNAPPY = 2,
    +
    151  LZ4 = 3,
    +
    152  ZLIB = 4,
    +
    153  };
    +
    154 
    +
    155 
    + +
    168  EncodingType encoding = AUTO_ENCODING,
    +
    169  CompressionType compression = DEFAULT_COMPRESSION,
    +
    170  int32_t block_size = 0)
    +
    171  ATTRIBUTE_DEPRECATED("this constructor will be private in a future release")
    +
    172  : encoding_(encoding),
    +
    173  compression_(compression),
    +
    174  block_size_(block_size) {
    +
    175  }
    +
    176 
    +
    178  const EncodingType encoding() const {
    +
    179  return encoding_;
    +
    180  }
    +
    181 
    +
    183  const CompressionType compression() const {
    +
    184  return compression_;
    +
    185  }
    +
    186 
    +
    188  std::string ToString() const;
    +
    189 
    +
    196  static Status StringToEncodingType(const std::string& encoding,
    +
    197  EncodingType* type);
    +
    198 
    +
    205  static Status StringToCompressionType(const std::string& compression,
    +
    206  CompressionType* type);
    +
    207 
    +
    208  private:
    +
    209  EncodingType encoding_;
    +
    210  CompressionType compression_;
    +
    211  int32_t block_size_;
    +
    212 };
    +
    213 
    +
    215 class KUDU_EXPORT KuduColumnSchema {
    +
    216  public:
    +
    218  enum DataType {
    +
    219  INT8 = 0,
    +
    220  INT16 = 1,
    +
    221  INT32 = 2,
    +
    222  INT64 = 3,
    +
    223  STRING = 4,
    +
    224  BOOL = 5,
    +
    225  FLOAT = 6,
    +
    226  DOUBLE = 7,
    +
    227  BINARY = 8,
    +
    228  UNIXTIME_MICROS = 9,
    +
    229  DECIMAL = 10,
    +
    230  VARCHAR = 11,
    +
    231  TIMESTAMP = UNIXTIME_MICROS,
    +
    232  DATE = 12,
    +
    233  SERIAL = 13
    +
    234  };
    +
    235 
    +
    239  static std::string DataTypeToString(DataType type);
    +
    240 
    +
    246  static Status StringToDataType(const std::string& type_str, DataType* type);
    +
    247 
    + +
    253  ~KuduColumnSchema();
    +
    254 
    + +
    261 
    +
    266  void CopyFrom(const KuduColumnSchema& other);
    +
    267 
    +
    275  bool Equals(const KuduColumnSchema& other) const
    +
    276  ATTRIBUTE_DEPRECATED("use operator==(const KuduColumnSchema&) instead");
    +
    277 
    +
    284  bool operator==(const KuduColumnSchema& rhs) const;
    +
    285 
    +
    292  bool operator!=(const KuduColumnSchema& rhs) const;
    +
    293 
    +
    300  const std::string& name() const;
    +
    301 
    +
    303  DataType type() const;
    +
    304 
    +
    306  bool is_nullable() const;
    +
    307 
    +
    309  bool is_immutable() const;
    +
    311 
    + +
    314 
    + +
    317 
    +
    321  const std::string& comment() const;
    +
    322 
    +
    323  private:
    +
    324  friend class KuduColumnSpec;
    +
    325  friend class KuduSchema;
    +
    326  friend class KuduSchemaBuilder;
    +
    327  // KuduTableAlterer::Data needs to be a friend. Friending the parent class
    +
    328  // is transitive to nested classes. See https://s.apache.org/inner-class-friends
    +
    329  friend class KuduTableAlterer;
    +
    330 
    +
    331 #ifdef KUDU_HEADERS_NO_STUBS
    +
    332  FRIEND_TEST(KuduColumnSchemaTest, TestEquals);
    +
    333 #endif
    +
    334 
    + +
    336 
    +
    337 #if defined(__clang__) || \
    +
    338  (defined(__GNUC__) && (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40600)
    +
    339 #pragma GCC diagnostic push
    +
    340 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
    +
    341 #endif
    + +
    344  const std::string &name,
    +
    345  DataType type,
    +
    346  bool is_nullable = false,
    +
    347  bool is_immutable = false,
    +
    348  bool is_auto_incrementing = false,
    +
    349  const void* default_value = NULL, //NOLINT(modernize-use-nullptr)
    +
    350  const KuduColumnStorageAttributes& storage_attributes = KuduColumnStorageAttributes(),
    +
    351  const KuduColumnTypeAttributes& type_attributes = KuduColumnTypeAttributes(),
    +
    352  const std::string& comment = "");
    +
    353 #if defined(__clang__) || \
    +
    354  (defined(__GNUC__) && (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40600)
    +
    355 #pragma GCC diagnostic pop
    +
    356 #endif
    +
    357 
    +
    358  // Owned.
    +
    359  ColumnSchema* col_;
    +
    360 };
    +
    361 
    +
    370 class KUDU_EXPORT KuduColumnSpec {
    +
    371  public:
    + +
    384 
    + +
    391 
    + +
    400 
    +
    420  KuduColumnSpec* BlockSize(int32_t block_size);
    +
    421 
    +
    423 
    +
    440  KuduColumnSpec* Precision(int8_t precision);
    +
    441 
    +
    457  KuduColumnSpec* Scale(int8_t scale);
    +
    459 
    +
    461 
    +
    475  KuduColumnSpec* Length(uint16_t length);
    +
    477 
    +
    479 
    + +
    494 
    + +
    516 
    + +
    523 
    + +
    530 
    + +
    535 
    + +
    540 
    + +
    550 
    +
    552 
    + +
    561 
    +
    567  KuduColumnSpec* RenameTo(const std::string& new_name);
    +
    569 
    +
    575  KuduColumnSpec* Comment(const std::string& comment);
    +
    576 
    +
    577  private:
    +
    578  class KUDU_NO_EXPORT Data;
    +
    579 
    +
    580  friend class KuduSchemaBuilder;
    +
    581  friend class KuduTableAlterer;
    +
    582 
    +
    583  // This class should always be owned and deleted by one of its friends,
    +
    584  // not the user.
    +
    585  ~KuduColumnSpec();
    +
    586 
    +
    587  explicit KuduColumnSpec(const std::string& col_name);
    +
    588 
    +
    589  Status ToColumnSchema(KuduColumnSchema* col) const;
    +
    590 
    +
    591  Status ToColumnSchemaDelta(ColumnSchemaDelta* col_delta) const;
    +
    592 
    +
    593  Slice DefaultValueAsSlice() const;
    +
    594 
    +
    595  // Owned.
    +
    596  Data* data_;
    +
    597 
    +
    598  DISALLOW_COPY_AND_ASSIGN(KuduColumnSpec);
    +
    599 };
    +
    600 
    +
    622 class KUDU_EXPORT KuduSchemaBuilder {
    +
    623  public:
    + + +
    626 
    +
    633  KuduColumnSpec* AddColumn(const std::string& name);
    +
    634 
    +
    645  KuduSchemaBuilder* SetPrimaryKey(const std::vector<std::string>& key_col_names);
    +
    646 
    + +
    665  const std::vector<std::string>& key_col_names);
    +
    666 
    + +
    677 
    +
    678  private:
    +
    679  class KUDU_NO_EXPORT Data;
    +
    680 
    +
    681  // Owned.
    +
    682  Data* data_;
    +
    683 
    +
    684  DISALLOW_COPY_AND_ASSIGN(KuduSchemaBuilder);
    +
    685 };
    +
    686 
    +
    688 class KUDU_EXPORT KuduSchema {
    +
    689  public:
    +
    690  KuduSchema();
    +
    691 
    +
    696  KuduSchema(const KuduSchema& other);
    +
    697  ~KuduSchema();
    +
    698 
    +
    701 
    + +
    706 
    +
    709  void CopyFrom(const KuduSchema& other);
    +
    711 
    +
    724  Status Reset(const std::vector<KuduColumnSchema>& columns, int key_columns)
    +
    725  ATTRIBUTE_DEPRECATED("this method will be removed in a future release")
    +
    726  WARN_UNUSED_RESULT;
    +
    727 
    +
    736  bool Equals(const KuduSchema& other) const
    +
    737  ATTRIBUTE_DEPRECATED("use operator==(const KuduSchema&) instead");
    +
    738 
    +
    745  bool operator==(const KuduSchema& rhs) const;
    +
    746 
    +
    753  bool operator!=(const KuduSchema& rhs) const;
    +
    754 
    +
    758  KuduColumnSchema Column(size_t idx) const;
    +
    759 
    +
    765  bool HasColumn(const std::string& col_name, KuduColumnSchema* col_schema) const;
    +
    766 
    +
    768  size_t num_columns() const;
    +
    769 
    +
    778  void GetPrimaryKeyColumnIndexes(std::vector<int>* indexes) const;
    +
    779 
    +
    789  int GetAutoIncrementingColumnIndex() const;
    +
    790 
    +
    794  static const char* const GetAutoIncrementingColumnName();
    +
    795 
    +
    803  KuduPartialRow* NewRow() const;
    +
    804 
    +
    808  std::string ToString() const;
    +
    809 
    +
    811 
    +
    819  static KuduSchema FromSchema(const Schema& schema) KUDU_NO_EXPORT;
    +
    820 
    +
    828  static Schema ToSchema(const KuduSchema& kudu_schema) KUDU_NO_EXPORT;
    +
    829 
    +
    831 
    +
    832  private:
    +
    833  friend class ClientTest;
    +
    834  friend class KuduClient;
    +
    835  friend class KuduScanner;
    +
    836  friend class KuduScanToken;
    +
    837  friend class KuduScanTokenBuilder;
    +
    838  friend class KuduSchemaBuilder;
    +
    839  friend class KuduTable;
    +
    840  friend class KuduTableCreator;
    +
    841  friend class KuduWriteOperation;
    +
    842  friend class ScanConfiguration;
    +
    843  friend class internal::GetTableSchemaRpc;
    +
    844  friend class internal::LookupRpc;
    +
    845  friend class internal::MetaCache;
    +
    846  friend class internal::MetaCacheEntry;
    +
    847  friend class internal::WriteRpc;
    +
    848  friend class tools::RemoteKsckCluster;
    +
    849  friend class tools::ReplicaDumper;
    +
    850 
    +
    851  // For use by KuduSchema::FromSchema.
    +
    852  explicit KuduSchema(const Schema& schema);
    +
    853 #if __cplusplus >= 201103
    +
    854  explicit KuduSchema(Schema&& schema);
    +
    855 #endif
    +
    856 
    +
    857  // Private since we don't want users to rely on the first N columns
    +
    858  // being the keys.
    +
    859  size_t num_key_columns() const;
    +
    860 
    +
    861  // Owned.
    +
    862  Schema* schema_;
    +
    863 };
    +
    864 
    +
    865 } // namespace client
    +
    866 } // namespace kudu
    +
    867 #endif // KUDU_CLIENT_SCHEMA_H
    +
    A row which may only contain values for a subset of the columns.
    Definition: partial_row.h:72
    +
    A wrapper around externally allocated data.
    Definition: slice.h:51
    +
    A representation of an operation's outcome.
    Definition: status.h:165
    +
    A handle for a connection to a cluster.
    Definition: client.h:687
    +
    Representation of the column schema.
    Definition: schema.h:215
    +
    const std::string & comment() const
    +
    void CopyFrom(const KuduColumnSchema &other)
    +
    const std::string & name() const
    +
    bool operator==(const KuduColumnSchema &rhs) const
    +
    KuduColumnTypeAttributes type_attributes() const
    + +
    KuduColumnSchema & operator=(const KuduColumnSchema &other)
    +
    bool operator!=(const KuduColumnSchema &rhs) const
    +
    bool Equals(const KuduColumnSchema &other) const
    +
    DataType
    Supported data types for columns.
    Definition: schema.h:218
    +
    static Status StringToDataType(const std::string &type_str, DataType *type)
    + +
    static std::string DataTypeToString(DataType type)
    + +
    KuduColumnStorageAttributes storage_attributes() const
    +
    KuduColumnSchema(const KuduColumnSchema &other)
    +
    Builder API for specifying or altering a column within a table schema.
    Definition: schema.h:370
    +
    KuduColumnSpec * Immutable()
    +
    KuduColumnSpec * PrimaryKey()
    +
    KuduColumnSpec * Type(KuduColumnSchema::DataType type)
    +
    KuduColumnSpec * BlockSize(int32_t block_size)
    +
    KuduColumnSpec * Default(KuduValue *value)
    +
    KuduColumnSpec * Nullable()
    +
    KuduColumnSpec * RenameTo(const std::string &new_name)
    +
    KuduColumnSpec * Scale(int8_t scale)
    +
    KuduColumnSpec * Comment(const std::string &comment)
    +
    KuduColumnSpec * Compression(KuduColumnStorageAttributes::CompressionType compression)
    +
    KuduColumnSpec * RemoveDefault()
    +
    KuduColumnSpec * Encoding(KuduColumnStorageAttributes::EncodingType encoding)
    +
    KuduColumnSpec * Length(uint16_t length)
    +
    KuduColumnSpec * Mutable()
    +
    KuduColumnSpec * NonUniquePrimaryKey()
    +
    KuduColumnSpec * Precision(int8_t precision)
    +
    KuduColumnSpec * NotNull()
    +
    Representation of column storage attributes.
    Definition: schema.h:130
    + +
    const CompressionType compression() const
    Definition: schema.h:183
    +
    static Status StringToEncodingType(const std::string &encoding, EncodingType *type)
    +
    const EncodingType encoding() const
    Definition: schema.h:178
    +
    KuduColumnStorageAttributes(EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0)
    Definition: schema.h:167
    +
    EncodingType
    Column encoding types.
    Definition: schema.h:133
    +
    static Status StringToCompressionType(const std::string &compression, CompressionType *type)
    +
    CompressionType
    Column compression types.
    Definition: schema.h:147
    +
    Representation of column type attributes.
    Definition: schema.h:68
    +
    void CopyFrom(const KuduColumnTypeAttributes &other)
    + + + + +
    KuduColumnTypeAttributes(int8_t precision, int8_t scale)
    +
    KuduColumnTypeAttributes & operator=(const KuduColumnTypeAttributes &other)
    +
    KuduColumnTypeAttributes(const KuduColumnTypeAttributes &other)
    +
    Builds scan tokens for a table.
    Definition: client.h:3271
    +
    A scan descriptor limited to a single physical contiguous location.
    Definition: client.h:3210
    +
    This class is a representation of a single scan.
    Definition: client.h:2712
    +
    Builder API for constructing a KuduSchema object.
    Definition: schema.h:622
    +
    KuduColumnSpec * AddColumn(const std::string &name)
    +
    KuduSchemaBuilder * SetPrimaryKey(const std::vector< std::string > &key_col_names)
    +
    KuduSchemaBuilder * SetNonUniquePrimaryKey(const std::vector< std::string > &key_col_names)
    +
    Status Build(KuduSchema *schema)
    +
    A representation of a table's schema.
    Definition: schema.h:688
    +
    Status Reset(const std::vector< KuduColumnSchema > &columns, int key_columns) WARN_UNUSED_RESULT
    +
    KuduSchema(const KuduSchema &other)
    +
    KuduSchema & operator=(const KuduSchema &other)
    +
    void CopyFrom(const KuduSchema &other)
    +
    Alters an existing table based on the provided steps.
    Definition: client.h:1896
    +
    A helper class to create a new table with the desired options.
    Definition: client.h:1225
    +
    A representation of a table on a particular cluster.
    Definition: client.h:1613
    +
    A constant cell value with a specific type.
    Definition: value.h:37
    +
    A single-row write operation to be sent to a Kudu table.
    Definition: write_op.h:66
    + +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/search/all_0.html b/releases/1.17.1/cpp-client-api/search/all_0.html new file mode 100644 index 0000000000..a202f1e0b1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_0.js b/releases/1.17.1/cpp-client-api/search/all_0.js new file mode 100644 index 0000000000..ee3ad93406 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_0.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['aborted_0',['Aborted',['../classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144',1,'kudu::Status']]], + ['add_5fcustom_5frange_5fpartition_1',['add_custom_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#a16746b20ca625a69640eefa579a9c8ea',1,'kudu::client::KuduTableCreator']]], + ['add_5fhash_5fpartitions_2',['add_hash_partitions',['../classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets)'],['../classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed)'],['../classkudu_1_1client_1_1KuduRangePartition.html#a15570750854f05b1937fcc7d75725d10',1,'kudu::client::KuduRangePartition::add_hash_partitions()']]], + ['add_5fmaster_5fserver_5faddr_3',['add_master_server_addr',['../classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c',1,'kudu::client::KuduClientBuilder']]], + ['add_5frange_5fpartition_4',['add_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a',1,'kudu::client::KuduTableCreator']]], + ['add_5frange_5fpartition_5fsplit_5',['add_range_partition_split',['../classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f',1,'kudu::client::KuduTableCreator']]], + ['addcolumn_6',['AddColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0',1,'kudu::client::KuduTableAlterer::AddColumn()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600',1,'kudu::client::KuduSchemaBuilder::AddColumn()']]], + ['addconjunctpredicate_7',['AddConjunctPredicate',['../classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74',1,'kudu::client::KuduScanner::AddConjunctPredicate()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e',1,'kudu::client::KuduScanTokenBuilder::AddConjunctPredicate()']]], + ['adddelta_8',['AddDelta',['../classkudu_1_1MonoTime.html#a17dd3af0b55e8d19dc986101ba998de1',1,'kudu::MonoTime']]], + ['addexclusiveupperbound_9',['AddExclusiveUpperBound',['../classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d',1,'kudu::client::KuduScanner']]], + ['addexclusiveupperboundpartitionkeyraw_10',['AddExclusiveUpperBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9',1,'kudu::client::KuduScanner']]], + ['addexclusiveupperboundraw_11',['AddExclusiveUpperBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aaa45befeacfea4d7722c9f7c661fa83a',1,'kudu::client::KuduScanner']]], + ['addlowerbound_12',['AddLowerBound',['../classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86',1,'kudu::client::KuduScanner::AddLowerBound()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf',1,'kudu::client::KuduScanTokenBuilder::AddLowerBound()']]], + ['addlowerboundpartitionkeyraw_13',['AddLowerBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e',1,'kudu::client::KuduScanner']]], + ['addlowerboundraw_14',['AddLowerBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aff1fbf928d29bceff805d7d8b9904282',1,'kudu::client::KuduScanner']]], + ['addrangepartition_15',['AddRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793',1,'kudu::client::KuduTableAlterer::AddRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a97d6a44d2f974166de12982883f1b28c',1,'kudu::client::KuduTableAlterer::AddRangePartition(KuduRangePartition *partition)']]], + ['addrangepartitionwithdimension_16',['AddRangePartitionWithDimension',['../classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006',1,'kudu::client::KuduTableAlterer']]], + ['addupperbound_17',['AddUpperBound',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a',1,'kudu::client::KuduScanTokenBuilder']]], + ['allcolumnsset_18',['AllColumnsSet',['../classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d',1,'KuduPartialRow']]], + ['alreadypresent_19',['AlreadyPresent',['../classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45',1,'kudu::Status']]], + ['alter_20',['Alter',['../classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c',1,'kudu::client::KuduTableAlterer']]], + ['altercolumn_21',['AlterColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742',1,'kudu::client::KuduTableAlterer']]], + ['alterextraconfig_22',['AlterExtraConfig',['../classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541',1,'kudu::client::KuduTableAlterer']]], + ['apply_23',['Apply',['../classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943',1,'kudu::client::KuduSession']]], + ['asyncleadermasterrpc_24',['AsyncLeaderMasterRpc',['../classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html',1,'kudu::client::internal']]], + ['asyncrandomtxnmanagerrpc_25',['AsyncRandomTxnManagerRpc',['../classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html',1,'kudu::client::internal']]], + ['auto_5fflush_5fbackground_26',['AUTO_FLUSH_BACKGROUND',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1',1,'kudu::client::KuduSession']]], + ['auto_5fflush_5fsync_27',['AUTO_FLUSH_SYNC',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_1.html b/releases/1.17.1/cpp-client-api/search/all_1.html new file mode 100644 index 0000000000..3c4e32f8b2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_1.js b/releases/1.17.1/cpp-client-api/search/all_1.js new file mode 100644 index 0000000000..80182b1702 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['begin_28',['begin',['../classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21',1,'kudu::client::KuduScanBatch']]], + ['blocksize_29',['BlockSize',['../classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6',1,'kudu::client::KuduColumnSpec']]], + ['build_30',['Build',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77',1,'kudu::client::KuduClientBuilder::Build()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb',1,'kudu::client::KuduScanTokenBuilder::Build()'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba',1,'kudu::client::KuduPartitionerBuilder::Build()'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a',1,'kudu::client::KuduBloomFilterBuilder::Build()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15',1,'kudu::client::KuduSchemaBuilder::Build()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_10.html b/releases/1.17.1/cpp-client-api/search/all_10.html new file mode 100644 index 0000000000..bf7e20b511 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_10.js b/releases/1.17.1/cpp-client-api/search/all_10.js new file mode 100644 index 0000000000..c168e0dc0a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_10.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['rangepartitionbound_347',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]], + ['read_5fat_5fsnapshot_348',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]], + ['read_5flatest_349',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]], + ['read_5fyour_5fwrites_350',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]], + ['readmode_351',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]], + ['release_5ffailed_5fop_352',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]], + ['relocate_353',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]], + ['remoteerror_354',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]], + ['remove_5fprefix_355',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]], + ['removedefault_356',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]], + ['renameto_357',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]], + ['replicas_358',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]], + ['replicaselection_359',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]], + ['require_5fauthentication_360',['require_authentication',['../classkudu_1_1client_1_1KuduClientBuilder.html#a29c5cd50915a93bf77a071e34f46b535',1,'kudu::client::KuduClientBuilder']]], + ['required_361',['REQUIRED',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbda0a0f8f2d17a5d532959579e9a4bb6011',1,'kudu::client::KuduClientBuilder']]], + ['required_5fremote_362',['REQUIRED_REMOTE',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbda6edcb83b00da5c333232ccb935db919b',1,'kudu::client::KuduClientBuilder']]], + ['reset_363',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]], + ['resourcemetrics_364',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]], + ['rollback_365',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]], + ['row_366',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch::Row()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation::row()']]], + ['rowptr_367',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]], + ['run_368',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]], + ['runtimeerror_369',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_11.html b/releases/1.17.1/cpp-client-api/search/all_11.html new file mode 100644 index 0000000000..4a270ff5c3 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_11.js b/releases/1.17.1/cpp-client-api/search/all_11.js new file mode 100644 index 0000000000..0a6db0ad1c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_11.js @@ -0,0 +1,75 @@ +var searchData= +[ + ['sasl_5fprotocol_5fname_370',['sasl_protocol_name',['../classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de',1,'kudu::client::KuduClientBuilder']]], + ['scale_371',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec::Scale()'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes::scale()']]], + ['schema_372',['schema',['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()'],['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()'],['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()']]], + ['serializationoptions_373',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]], + ['serialize_374',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]], + ['serviceunavailable_375',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]], + ['set_5fcomment_376',['set_comment',['../classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f',1,'kudu::client::KuduTableCreator']]], + ['set_5fowner_377',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]], + ['set_5frange_5fpartition_5fcolumns_378',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]], + ['setbatchsizebytes_379',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()']]], + ['setbinary_380',['SetBinary',['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setbinarycopy_381',['SetBinaryCopy',['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setbinarynocopy_382',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setbool_383',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]], + ['setbuildtimeout_384',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]], + ['setcacheblocks_385',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]], + ['setcomment_386',['SetComment',['../classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6',1,'kudu::client::KuduTableAlterer']]], + ['setdate_387',['SetDate',['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]], + ['setdouble_388',['SetDouble',['../classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20',1,'KuduPartialRow::SetDouble(const Slice &col_name, double val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d',1,'KuduPartialRow::SetDouble(int col_idx, double val) WARN_UNUSED_RESULT']]], + ['seterrorbufferspace_389',['SetErrorBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5',1,'kudu::client::KuduSession']]], + ['setexternalconsistencymode_390',['SetExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca',1,'kudu::client::KuduSession']]], + ['setfaulttolerant_391',['SetFaultTolerant',['../classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f',1,'kudu::client::KuduScanner::SetFaultTolerant()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe',1,'kudu::client::KuduScanTokenBuilder::SetFaultTolerant()']]], + ['setfloat_392',['SetFloat',['../classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b',1,'KuduPartialRow::SetFloat(const Slice &col_name, float val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e',1,'KuduPartialRow::SetFloat(int col_idx, float val) WARN_UNUSED_RESULT']]], + ['setflushmode_393',['SetFlushMode',['../classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f',1,'kudu::client::KuduSession']]], + ['setint16_394',['SetInt16',['../classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810',1,'KuduPartialRow::SetInt16(const Slice &col_name, int16_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508',1,'KuduPartialRow::SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT']]], + ['setint32_395',['SetInt32',['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &col_name, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT']]], + ['setint64_396',['SetInt64',['../classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4',1,'KuduPartialRow::SetInt64(const Slice &col_name, int64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369',1,'KuduPartialRow::SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT']]], + ['setint8_397',['SetInt8',['../classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f',1,'KuduPartialRow::SetInt8(const Slice &col_name, int8_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79',1,'KuduPartialRow::SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT']]], + ['setlatestobservedtimestamp_398',['SetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd',1,'kudu::client::KuduClient']]], + ['setlimit_399',['SetLimit',['../classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac',1,'kudu::client::KuduScanner']]], + ['setmutationbufferflushinterval_400',['SetMutationBufferFlushInterval',['../classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941',1,'kudu::client::KuduSession']]], + ['setmutationbufferflushwatermark_401',['SetMutationBufferFlushWatermark',['../classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf',1,'kudu::client::KuduSession']]], + ['setmutationbuffermaxnum_402',['SetMutationBufferMaxNum',['../classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4',1,'kudu::client::KuduSession']]], + ['setmutationbufferspace_403',['SetMutationBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf',1,'kudu::client::KuduSession']]], + ['setnonuniqueprimarykey_404',['SetNonUniquePrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#aee06b07dd807e2b4affdf907699dab0c',1,'kudu::client::KuduSchemaBuilder']]], + ['setnull_405',['SetNull',['../classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5',1,'KuduPartialRow::SetNull(const Slice &col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f',1,'KuduPartialRow::SetNull(int col_idx) WARN_UNUSED_RESULT']]], + ['setordermode_406',['SetOrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a915b45a3edca37971235070c057a3e82',1,'kudu::client::KuduScanner']]], + ['setowner_407',['SetOwner',['../classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8',1,'kudu::client::KuduTableAlterer']]], + ['setprimarykey_408',['SetPrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9',1,'kudu::client::KuduSchemaBuilder']]], + ['setprojectedcolumnindexes_409',['SetProjectedColumnIndexes',['../classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d',1,'kudu::client::KuduScanner::SetProjectedColumnIndexes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes()']]], + ['setprojectedcolumnnames_410',['SetProjectedColumnNames',['../classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01',1,'kudu::client::KuduScanner::SetProjectedColumnNames()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames()']]], + ['setprojectedcolumns_411',['SetProjectedColumns',['../classkudu_1_1client_1_1KuduScanner.html#a5eff07067d76a60ab12e2d555e3db1ce',1,'kudu::client::KuduScanner']]], + ['setreadmode_412',['SetReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e',1,'kudu::client::KuduScanner::SetReadMode()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892',1,'kudu::client::KuduScanTokenBuilder::SetReadMode()']]], + ['setrowformatflags_413',['SetRowFormatFlags',['../classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11',1,'kudu::client::KuduScanner']]], + ['setselection_414',['SetSelection',['../classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8',1,'kudu::client::KuduScanner::SetSelection()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88',1,'kudu::client::KuduScanTokenBuilder::SetSelection()']]], + ['setserial_415',['SetSerial',['../classKuduPartialRow.html#a3bb713183aec18f279ab99aa90b3c1d7',1,'KuduPartialRow::SetSerial(const Slice &col_name, uint64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6aa3ef45dd88995a26e8b2e12c2224ad',1,'KuduPartialRow::SetSerial(int col_idx, uint64_t val) WARN_UNUSED_RESULT']]], + ['setsnapshotmicros_416',['SetSnapshotMicros',['../classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f',1,'kudu::client::KuduScanner::SetSnapshotMicros()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotMicros()']]], + ['setsnapshotraw_417',['SetSnapshotRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae',1,'kudu::client::KuduScanner::SetSnapshotRaw()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotRaw()']]], + ['setsplitsizebytes_418',['SetSplitSizeBytes',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ad132bec8c7bcc2e6509ae4d0b255c586',1,'kudu::client::KuduScanTokenBuilder']]], + ['setstring_419',['SetString',['../classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab',1,'KuduPartialRow::SetString(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819',1,'KuduPartialRow::SetString(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setstringcopy_420',['SetStringCopy',['../classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199',1,'KuduPartialRow::SetStringCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827',1,'KuduPartialRow::SetStringCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setstringnocopy_421',['SetStringNoCopy',['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['settabledisksizelimit_422',['SetTableDiskSizeLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27',1,'kudu::client::KuduTableAlterer']]], + ['settablerowcountlimit_423',['SetTableRowCountLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe',1,'kudu::client::KuduTableAlterer']]], + ['settimeoutmillis_424',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()']]], + ['setunixtimemicros_425',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]], + ['setvarchar_426',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setvarcharnocopyunsafe_427',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['shared_5fptr_2eh_428',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]], + ['size_429',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]], + ['slice_430',['Slice',['../classkudu_1_1Slice.html',1,'kudu::Slice'],['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()'],['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &s)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)']]], + ['slicemap_431',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]], + ['softdeletetable_432',['SoftDeleteTable',['../classkudu_1_1client_1_1KuduClient.html#ac2306970ffe623f89a768e82abbded63',1,'kudu::client::KuduClient']]], + ['split_5frows_433',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#a14e3f3ad7f8c5ef8efd810ea52970678',1,'kudu::client::KuduTableCreator']]], + ['startcommit_434',['StartCommit',['../classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce',1,'kudu::client::KuduTransaction']]], + ['starts_5fwith_435',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]], + ['status_436',['Status',['../classkudu_1_1Status.html',1,'kudu::Status'],['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &s)'],['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError::status()']]], + ['status_2eh_437',['status.h',['../status_8h.html',1,'']]], + ['storage_5fattributes_438',['storage_attributes',['../classkudu_1_1client_1_1KuduColumnSchema.html#af8475581a67110a56da36405b92681fc',1,'kudu::client::KuduColumnSchema']]], + ['stringtocompressiontype_439',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]], + ['stringtodatatype_440',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]], + ['stringtoencodingtype_441',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_12.html b/releases/1.17.1/cpp-client-api/search/all_12.html new file mode 100644 index 0000000000..ade0004bbf --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_12.js b/releases/1.17.1/cpp-client-api/search/all_12.js new file mode 100644 index 0000000000..d0e367b1c5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_12.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['table_442',['table',['../classkudu_1_1client_1_1KuduWriteOperation.html#aa6d7c3518cc3b6d108d0a4bf7bdd7488',1,'kudu::client::KuduWriteOperation']]], + ['table_5fname_443',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]], + ['tableexists_444',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]], + ['tablet_445',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]], + ['timedout_446',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]], + ['timeout_447',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]], + ['timestamp_448',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]], + ['todebugstring_449',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]], + ['todo_20list_450',['Todo List',['../todo.html',1,'']]], + ['toencodedrowkeyordie_451',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]], + ['tomicroseconds_452',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]], + ['tomilliseconds_453',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]], + ['tonanoseconds_454',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]], + ['toseconds_455',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]], + ['tostring_456',['ToString',['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614',1,'kudu::client::KuduSchema::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()'],['../classkudu_1_1client_1_1KuduUpsertIgnore.html#a4e5e464787808e839537c4525218b489',1,'kudu::client::KuduUpsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classkudu_1_1MonoTime.html#a6ca71bca76eae6f16c7a89b1e64154ea',1,'kudu::MonoTime::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()']]], + ['totimespec_457',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta::ToTimeSpec()'],['../classkudu_1_1MonoTime.html#a7b3246071da4b61af2624a44f6c3cd9f',1,'kudu::MonoTime::ToTimeSpec()']]], + ['totimeval_458',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]], + ['truncate_459',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]], + ['trusted_5fcertificate_460',['trusted_certificate',['../classkudu_1_1client_1_1KuduClientBuilder.html#a2cf4506609b7ca792077cbf073b5662b',1,'kudu::client::KuduClientBuilder']]], + ['ts_461',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]], + ['type_462',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation::Type()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec::Type()'],['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap::type()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29',1,'kudu::client::KuduColumnSchema::type()']]], + ['type_5fattributes_463',['type_attributes',['../classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e',1,'kudu::client::KuduColumnSchema']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_13.html b/releases/1.17.1/cpp-client-api/search/all_13.html new file mode 100644 index 0000000000..2a1e6add82 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_13.js b/releases/1.17.1/cpp-client-api/search/all_13.js new file mode 100644 index 0000000000..c1b9378e1a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_13.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['uninitialized_464',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]], + ['unordered_465',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]], + ['unset_466',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]], + ['uuid_467',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_14.html b/releases/1.17.1/cpp-client-api/search/all_14.html new file mode 100644 index 0000000000..5b69b800ae --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_14.js b/releases/1.17.1/cpp-client-api/search/all_14.js new file mode 100644 index 0000000000..444f3b3fa0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value_5ftype_468',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_15.html b/releases/1.17.1/cpp-client-api/search/all_15.html new file mode 100644 index 0000000000..c6d5dc3022 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_15.js b/releases/1.17.1/cpp-client-api/search/all_15.js new file mode 100644 index 0000000000..42dd1a6119 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_15.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['wait_469',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]], + ['was_5fpossibly_5fsuccessful_470',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_2.html b/releases/1.17.1/cpp-client-api/search/all_2.html new file mode 100644 index 0000000000..b3f9d663c5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_2.js b/releases/1.17.1/cpp-client-api/search/all_2.js new file mode 100644 index 0000000000..10f4984187 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_2.js @@ -0,0 +1,36 @@ +var searchData= +[ + ['cell_31',['cell',['../classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af',1,'kudu::client::KuduScanBatch']]], + ['cerrlog_32',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html',1,'kudu::internal_logging::CerrLog'],['../classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713',1,'kudu::internal_logging::CerrLog::CerrLog()']]], + ['check_5fsize_33',['check_size',['../classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e',1,'kudu::Slice']]], + ['clear_34',['clear',['../classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5',1,'kudu::Slice']]], + ['clear_5fmaster_5fserver_5faddrs_35',['clear_master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1',1,'kudu::client::KuduClientBuilder']]], + ['client_36',['client',['../classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf',1,'kudu::client::KuduTable::client()'],['../classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1',1,'kudu::client::KuduSession::client()']]], + ['client_5fpropagated_37',['CLIENT_PROPAGATED',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c',1,'kudu::client::KuduSession']]], + ['clone_38',['Clone',['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()'],['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()']]], + ['cloneandappend_39',['CloneAndAppend',['../classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7',1,'kudu::Status']]], + ['cloneandprepend_40',['CloneAndPrepend',['../classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de',1,'kudu::Status']]], + ['close_41',['Close',['../classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436',1,'kudu::client::KuduSession::Close()'],['../classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874',1,'kudu::client::KuduScanner::Close()']]], + ['closest_5freplica_42',['CLOSEST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8',1,'kudu::client::KuduClient']]], + ['codeasstring_43',['CodeAsString',['../classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5',1,'kudu::Status']]], + ['column_44',['Column',['../classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980',1,'kudu::client::KuduSchema']]], + ['columnar_5flayout_45',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]], + ['comesbefore_46',['ComesBefore',['../classkudu_1_1MonoTime.html#a0a45de871acb2fe1a366060f350baa8e',1,'kudu::MonoTime']]], + ['comment_47',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec::Comment()'],['../classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b',1,'kudu::client::KuduTable::comment()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f',1,'kudu::client::KuduColumnSchema::comment()']]], + ['commit_48',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495',1,'kudu::client::KuduTransaction']]], + ['commit_5fwait_49',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]], + ['comparator_50',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]], + ['compare_51',['compare',['../classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2',1,'kudu::Slice']]], + ['comparisonop_52',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]], + ['compression_53',['compression',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554',1,'kudu::client::KuduColumnStorageAttributes::compression()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b',1,'kudu::client::KuduColumnSpec::Compression()']]], + ['compressiontype_54',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]], + ['configurationerror_55',['ConfigurationError',['../classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801',1,'kudu::Status']]], + ['connection_5fnegotiation_5ftimeout_56',['connection_negotiation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f',1,'kudu::client::KuduClientBuilder::connection_negotiation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac',1,'kudu::client::KuduClient::connection_negotiation_timeout()']]], + ['copyfrom_57',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()']]], + ['copystring_58',['CopyString',['../classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe',1,'kudu::client::KuduValue']]], + ['corruption_59',['Corruption',['../classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee',1,'kudu::Status']]], + ['countbufferedoperations_60',['CountBufferedOperations',['../classkudu_1_1client_1_1KuduSession.html#a46fcf780f5a0c0047fb25c35fb85f7c1',1,'kudu::client::KuduSession']]], + ['countpendingerrors_61',['CountPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913',1,'kudu::client::KuduSession']]], + ['create_62',['Create',['../classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc',1,'kudu::client::KuduTableCreator']]], + ['createsession_63',['CreateSession',['../classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a',1,'kudu::client::KuduTransaction']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_3.html b/releases/1.17.1/cpp-client-api/search/all_3.html new file mode 100644 index 0000000000..8520455733 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_3.js b/releases/1.17.1/cpp-client-api/search/all_3.js new file mode 100644 index 0000000000..528a21c6fe --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_3.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['data_64',['Data',['../classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0',1,'kudu::client::KuduPredicate::Data()'],['../classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d',1,'kudu::Slice::data()']]], + ['datatype_65',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]], + ['datatypetostring_66',['DataTypeToString',['../classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c',1,'kudu::client::KuduColumnSchema']]], + ['default_67',['Default',['../classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7',1,'kudu::client::KuduColumnSpec']]], + ['default_5fadmin_5foperation_5ftimeout_68',['default_admin_operation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752',1,'kudu::client::KuduClientBuilder::default_admin_operation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838',1,'kudu::client::KuduClient::default_admin_operation_timeout()']]], + ['default_5frpc_5ftimeout_69',['default_rpc_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df',1,'kudu::client::KuduClientBuilder::default_rpc_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49',1,'kudu::client::KuduClient::default_rpc_timeout()']]], + ['deletetable_70',['DeleteTable',['../classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d',1,'kudu::client::KuduClient']]], + ['deprecated_20list_71',['Deprecated List',['../deprecated.html',1,'']]], + ['deserialize_72',['Deserialize',['../classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52',1,'kudu::client::KuduTransaction']]], + ['deserializeintoscanner_73',['DeserializeIntoScanner',['../classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867',1,'kudu::client::KuduScanToken']]], + ['dimension_5flabel_74',['dimension_label',['../classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658',1,'kudu::client::KuduTableCreator']]], + ['direct_5fdata_75',['direct_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992',1,'kudu::client::KuduScanBatch']]], + ['dropcolumn_76',['DropColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7',1,'kudu::client::KuduTableAlterer']]], + ['droprangepartition_77',['DropRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7',1,'kudu::client::KuduTableAlterer']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_4.html b/releases/1.17.1/cpp-client-api/search/all_4.html new file mode 100644 index 0000000000..5ea7897bd8 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_4.js b/releases/1.17.1/cpp-client-api/search/all_4.js new file mode 100644 index 0000000000..48cd2405d3 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_4.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['earliest_78',['Earliest',['../classkudu_1_1MonoTime.html#aa553eb3e11cae70a9ee8839a39fc7a14',1,'kudu::MonoTime']]], + ['empty_79',['empty',['../classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523',1,'kudu::Slice']]], + ['enable_5fkeepalive_80',['enable_keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df',1,'kudu::client::KuduTransaction::SerializationOptions']]], + ['encoderowkey_81',['EncodeRowKey',['../classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2',1,'KuduPartialRow']]], + ['encoding_82',['encoding',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b',1,'kudu::client::KuduColumnStorageAttributes::encoding()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97',1,'kudu::client::KuduColumnSpec::Encoding()']]], + ['encodingtype_83',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]], + ['encryption_5fpolicy_84',['encryption_policy',['../classkudu_1_1client_1_1KuduClientBuilder.html#a567003ba1a3a83d65862683164890926',1,'kudu::client::KuduClientBuilder']]], + ['encryptionpolicy_85',['EncryptionPolicy',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbd',1,'kudu::client::KuduClientBuilder']]], + ['end_86',['end',['../classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c',1,'kudu::client::KuduScanBatch']]], + ['endoffile_87',['EndOfFile',['../classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b',1,'kudu::Status']]], + ['equals_88',['Equals',['../classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a',1,'kudu::client::KuduColumnSchema::Equals()'],['../classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47',1,'kudu::client::KuduSchema::Equals()'],['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta::Equals()'],['../classkudu_1_1MonoTime.html#a30097d494fee042b52daf36b7e440e72',1,'kudu::MonoTime::Equals()']]], + ['exclusive_5fbound_89',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]], + ['exportauthenticationcredentials_90',['ExportAuthenticationCredentials',['../classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0',1,'kudu::client::KuduClient']]], + ['externalconsistencymode_91',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]], + ['extra_5fconfigs_92',['extra_configs',['../classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd',1,'kudu::client::KuduTableCreator::extra_configs()'],['../classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec',1,'kudu::client::KuduTable::extra_configs()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_5.html b/releases/1.17.1/cpp-client-api/search/all_5.html new file mode 100644 index 0000000000..ceba7e916e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_5.js b/releases/1.17.1/cpp-client-api/search/all_5.js new file mode 100644 index 0000000000..6cb43b3b21 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_5.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['failed_5fop_93',['failed_op',['../classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea',1,'kudu::client::KuduError']]], + ['false_5fpositive_5fprobability_94',['false_positive_probability',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7',1,'kudu::client::KuduBloomFilterBuilder']]], + ['first_5freplica_95',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]], + ['flush_96',['Flush',['../classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84',1,'kudu::client::KuduSession']]], + ['flushasync_97',['FlushAsync',['../classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731',1,'kudu::client::KuduSession']]], + ['flushmode_98',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]], + ['frombool_99',['FromBool',['../classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10',1,'kudu::client::KuduValue']]], + ['fromdouble_100',['FromDouble',['../classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5',1,'kudu::client::KuduValue']]], + ['fromfloat_101',['FromFloat',['../classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a',1,'kudu::client::KuduValue']]], + ['fromint_102',['FromInt',['../classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302',1,'kudu::client::KuduValue']]], + ['frommicroseconds_103',['FromMicroseconds',['../classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d',1,'kudu::MonoDelta']]], + ['frommilliseconds_104',['FromMilliseconds',['../classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a',1,'kudu::MonoDelta']]], + ['fromnanoseconds_105',['FromNanoseconds',['../classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819',1,'kudu::MonoDelta']]], + ['fromseconds_106',['FromSeconds',['../classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1',1,'kudu::MonoDelta']]], + ['functiontype_107',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_6.html b/releases/1.17.1/cpp-client-api/search/all_6.html new file mode 100644 index 0000000000..965e5ad4de --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_6.js b/releases/1.17.1/cpp-client-api/search/all_6.js new file mode 100644 index 0000000000..2dcbf8c48b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_6.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['get_108',['Get',['../classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936',1,'kudu::client::ResourceMetrics']]], + ['getautoincrementingcolumnindex_109',['GetAutoIncrementingColumnIndex',['../classkudu_1_1client_1_1KuduSchema.html#a1046a0fe630aa8eacf91624c908ffd5e',1,'kudu::client::KuduSchema']]], + ['getautoincrementingcolumnname_110',['GetAutoIncrementingColumnName',['../classkudu_1_1client_1_1KuduSchema.html#a65f0668c974b56e244df66d085bceed5',1,'kudu::client::KuduSchema']]], + ['getbinary_111',['GetBinary',['../classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b',1,'kudu::client::KuduScanBatch::GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e',1,'kudu::client::KuduScanBatch::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e',1,'KuduPartialRow::GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d',1,'KuduPartialRow::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]], + ['getbool_112',['GetBool',['../classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8',1,'kudu::client::KuduScanBatch::GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21',1,'kudu::client::KuduScanBatch::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2',1,'KuduPartialRow::GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931',1,'KuduPartialRow::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT']]], + ['getcurrentserver_113',['GetCurrentServer',['../classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10',1,'kudu::client::KuduScanner']]], + ['getdate_114',['GetDate',['../classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb',1,'kudu::client::KuduScanBatch::GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54',1,'kudu::client::KuduScanBatch::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97',1,'KuduPartialRow::GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428',1,'KuduPartialRow::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT']]], + ['getdeltasince_115',['GetDeltaSince',['../classkudu_1_1MonoTime.html#ad88335c25fbf1994ff4bce3c3d13219e',1,'kudu::MonoTime']]], + ['getdouble_116',['GetDouble',['../classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0',1,'kudu::client::KuduScanBatch::GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0',1,'kudu::client::KuduScanBatch::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd',1,'KuduPartialRow::GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f',1,'KuduPartialRow::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT']]], + ['getfixedlengthcolumn_117',['GetFixedLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300',1,'kudu::client::KuduColumnarScanBatch']]], + ['getfloat_118',['GetFloat',['../classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3',1,'kudu::client::KuduScanBatch::GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd',1,'kudu::client::KuduScanBatch::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc',1,'KuduPartialRow::GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f',1,'KuduPartialRow::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT']]], + ['getint16_119',['GetInt16',['../classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037',1,'kudu::client::KuduScanBatch::GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa',1,'kudu::client::KuduScanBatch::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93',1,'KuduPartialRow::GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a',1,'KuduPartialRow::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT']]], + ['getint32_120',['GetInt32',['../classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2',1,'kudu::client::KuduScanBatch::GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb',1,'kudu::client::KuduScanBatch::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46',1,'KuduPartialRow::GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc',1,'KuduPartialRow::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT']]], + ['getint64_121',['GetInt64',['../classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0',1,'kudu::client::KuduScanBatch::GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432',1,'kudu::client::KuduScanBatch::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc',1,'KuduPartialRow::GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9',1,'KuduPartialRow::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT']]], + ['getint8_122',['GetInt8',['../classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b',1,'kudu::client::KuduScanBatch::GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9',1,'kudu::client::KuduScanBatch::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4',1,'KuduPartialRow::GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650',1,'KuduPartialRow::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT']]], + ['getkudutable_123',['GetKuduTable',['../classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a',1,'kudu::client::KuduScanner']]], + ['getlatestobservedtimestamp_124',['GetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9',1,'kudu::client::KuduClient']]], + ['getmetric_125',['GetMetric',['../classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc',1,'kudu::client::ResourceMetrics']]], + ['getnonnullbitmapforcolumn_126',['GetNonNullBitmapForColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312',1,'kudu::client::KuduColumnarScanBatch']]], + ['getpendingerrors_127',['GetPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7',1,'kudu::client::KuduSession']]], + ['getprimarykeycolumnindexes_128',['GetPrimaryKeyColumnIndexes',['../classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9',1,'kudu::client::KuduSchema']]], + ['getprojectionschema_129',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]], + ['getresourcemetrics_130',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]], + ['getserial_131',['GetSerial',['../classKuduPartialRow.html#a9d333dcf9f66eed2f2a8fb25280b8956',1,'KuduPartialRow::GetSerial(const Slice &col_name, uint64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a865a0ce2380015e0657f4ebc88d291a5',1,'KuduPartialRow::GetSerial(int col_idx, uint64_t *val) const WARN_UNUSED_RESULT']]], + ['getstring_132',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]], + ['gettableschema_133',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]], + ['getunixtimemicros_134',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]], + ['getvarchar_135',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]], + ['getvariablelengthcolumn_136',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]], + ['getwriteopmetrics_137',['GetWriteOpMetrics',['../classkudu_1_1client_1_1KuduSession.html#a87d000c0ba97f944d460ec82a140fc7f',1,'kudu::client::KuduSession']]], + ['group_5fvarint_138',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_7.html b/releases/1.17.1/cpp-client-api/search/all_7.html new file mode 100644 index 0000000000..4ef8d9b4e8 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_7.js b/releases/1.17.1/cpp-client-api/search/all_7.js new file mode 100644 index 0000000000..696bb2634f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_7.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['hascolumn_139',['HasColumn',['../classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a',1,'kudu::client::KuduSchema']]], + ['hash_5falgorithm_140',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]], + ['hash_5fseed_141',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]], + ['hasmorerows_142',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]], + ['haspendingoperations_143',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]], + ['hostname_144',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_8.html b/releases/1.17.1/cpp-client-api/search/all_8.html new file mode 100644 index 0000000000..8d9e2b3f6d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_8.js b/releases/1.17.1/cpp-client-api/search/all_8.js new file mode 100644 index 0000000000..fd605dab3f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_8.js @@ -0,0 +1,51 @@ +var searchData= +[ + ['id_145',['id',['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()'],['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()']]], + ['illegalstate_146',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]], + ['immutable_147',['Immutable',['../classkudu_1_1client_1_1KuduColumnSpec.html#a41a1605b45558f1038950806143bd0ee',1,'kudu::client::KuduColumnSpec::Immutable()'],['../classkudu_1_1Status.html#a1e758639c51a877b704824321b1cb28f',1,'kudu::Status::Immutable()']]], + ['import_5fauthentication_5fcredentials_148',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]], + ['includetablemetadata_149',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]], + ['includetabletmetadata_150',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]], + ['inclusive_5fbound_151',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]], + ['incomplete_152',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]], + ['increment_153',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]], + ['indirect_5fdata_154',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]], + ['initialized_155',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta::Initialized()'],['../classkudu_1_1MonoTime.html#aa5165db9e7b4f83a66e22d2c8cba9728',1,'kudu::MonoTime::Initialized()']]], + ['insert_156',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]], + ['intokuduscanner_157',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]], + ['invalidargument_158',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]], + ['ioerror_159',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]], + ['is_5fimmutable_160',['is_immutable',['../classkudu_1_1client_1_1KuduColumnSchema.html#ac715994713e7b852bd1b94a977223d5f',1,'kudu::client::KuduColumnSchema']]], + ['is_5fleader_161',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]], + ['is_5fnullable_162',['is_nullable',['../classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec',1,'kudu::client::KuduColumnSchema']]], + ['isaborted_163',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]], + ['isalreadypresent_164',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]], + ['isaltertableinprogress_165',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]], + ['isautoincrementingcolumnset_166',['IsAutoIncrementingColumnSet',['../classKuduPartialRow.html#a6c8baad6b3de7d137fb1d07093d15a1c',1,'KuduPartialRow']]], + ['iscolumnset_167',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]], + ['iscommitcomplete_168',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]], + ['isconfigurationerror_169',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]], + ['iscorruption_170',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]], + ['iscreatetableinprogress_171',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]], + ['isdeleted_172',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]], + ['isdiskfailure_173',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]], + ['isendoffile_174',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]], + ['isillegalstate_175',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]], + ['isimmutable_176',['IsImmutable',['../classkudu_1_1Status.html#ad9f800c333e214ad3f30acbf8b1ecf79',1,'kudu::Status']]], + ['isincomplete_177',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]], + ['isinvalidargument_178',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]], + ['isioerror_179',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]], + ['iskeyset_180',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]], + ['ismultimaster_181',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]], + ['isnetworkerror_182',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]], + ['isnonuniquekeyset_183',['IsNonUniqueKeySet',['../classKuduPartialRow.html#a547dccd7989f83dcc5d27f9d84eec401',1,'KuduPartialRow']]], + ['isnotauthorized_184',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]], + ['isnotfound_185',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]], + ['isnotsupported_186',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]], + ['isnull_187',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]], + ['isremoteerror_188',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]], + ['isruntimeerror_189',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]], + ['isserviceunavailable_190',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]], + ['istimedout_191',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]], + ['isuninitialized_192',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_9.html b/releases/1.17.1/cpp-client-api/search/all_9.html new file mode 100644 index 0000000000..dd63b51146 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_9.js b/releases/1.17.1/cpp-client-api/search/all_9.js new file mode 100644 index 0000000000..49042a4c37 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jwt_193',['jwt',['../classkudu_1_1client_1_1KuduClientBuilder.html#aba292cfe8509d0280274f6b6073b6f31',1,'kudu::client::KuduClientBuilder']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_a.html b/releases/1.17.1/cpp-client-api/search/all_a.html new file mode 100644 index 0000000000..aa45147258 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_a.js b/releases/1.17.1/cpp-client-api/search/all_a.js new file mode 100644 index 0000000000..1c95b726f5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_a.js @@ -0,0 +1,68 @@ +var searchData= +[ + ['kudu_20c_2b_2b_20client_20api_20documentation_194',['Kudu C++ client API documentation',['../index.html',1,'']]], + ['keepalive_195',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner::KeepAlive()'],['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions::keepalive()']]], + ['kmicrosecondspersecond_196',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]], + ['knanosecondspermicrosecond_197',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]], + ['knanosecondspermillisecond_198',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]], + ['knanosecondspersecond_199',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]], + ['knotimestamp_200',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]], + ['kudu_5fcheck_5fok_201',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]], + ['kudu_5fcheck_5fok_5fprepend_202',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]], + ['kudu_5fdcheck_5fok_203',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]], + ['kudu_5fdcheck_5fok_5fprepend_204',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]], + ['kudu_5flog_5fand_5freturn_205',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]], + ['kudu_5freturn_5fmain_5fnot_5fok_206',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_207',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5feval_208',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5flog_209',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5fprepend_210',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5fret_211',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]], + ['kudu_5fwarn_5fnot_5fok_212',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]], + ['kudubloomfilter_213',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]], + ['kudubloomfilterbuilder_214',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client::KuduBloomFilterBuilder'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder::KuduBloomFilterBuilder()']]], + ['kuduclient_215',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]], + ['kuduclientbuilder_216',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]], + ['kuducolumnarscanbatch_217',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]], + ['kuducolumnschema_218',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client::KuduColumnSchema'],['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema::KuduColumnSchema()']]], + ['kuducolumnspec_219',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]], + ['kuducolumnstorageattributes_220',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client::KuduColumnStorageAttributes'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a9bd5f6bce0a7369da5cd1f60341d1d71',1,'kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes()']]], + ['kuducolumntypeattributes_221',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client::KuduColumnTypeAttributes'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]], + ['kududelete_222',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]], + ['kududeleteignore_223',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]], + ['kuduerror_224',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]], + ['kuduinsert_225',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]], + ['kuduinsertignore_226',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]], + ['kuduloggingcallback_227',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]], + ['kuduloggingfunctioncallback_228',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client::KuduLoggingFunctionCallback< T >'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback::KuduLoggingFunctionCallback()']]], + ['kuduloggingmembercallback_229',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client::KuduLoggingMemberCallback< T >'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback::KuduLoggingMemberCallback()']]], + ['kudupartialrow_230',['KuduPartialRow',['../classKuduPartialRow.html',1,'KuduPartialRow'],['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &other)']]], + ['kudupartitioner_231',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]], + ['kudupartitionerbuilder_232',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client::KuduPartitionerBuilder'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder::KuduPartitionerBuilder()']]], + ['kudupredicate_233',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]], + ['kudurangepartition_234',['KuduRangePartition',['../classkudu_1_1client_1_1KuduRangePartition.html',1,'kudu::client::KuduRangePartition'],['../classkudu_1_1client_1_1KuduRangePartition.html#aaf93ca40a722e32ec3542cf25212cc24',1,'kudu::client::KuduRangePartition::KuduRangePartition()']]], + ['kudureplica_235',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]], + ['kuduscanbatch_236',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]], + ['kuduscanner_237',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client::KuduScanner'],['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner::KuduScanner()']]], + ['kuduscantoken_238',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]], + ['kuduscantokenbuilder_239',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client::KuduScanTokenBuilder'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder::KuduScanTokenBuilder()']]], + ['kuduschema_240',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client::KuduSchema'],['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema::KuduSchema()']]], + ['kuduschemabuilder_241',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]], + ['kudusession_242',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]], + ['kudustatuscallback_243',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]], + ['kudustatusfunctioncallback_244',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client::KuduStatusFunctionCallback< T >'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback::KuduStatusFunctionCallback()']]], + ['kudustatusmembercallback_245',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client::KuduStatusMemberCallback< T >'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback::KuduStatusMemberCallback()']]], + ['kudutable_246',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]], + ['kudutablealterer_247',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]], + ['kudutablecreator_248',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]], + ['kudutablestatistics_249',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]], + ['kudutablet_250',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]], + ['kudutabletserver_251',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]], + ['kudutransaction_252',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]], + ['kuduupdate_253',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]], + ['kuduupdateignore_254',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]], + ['kuduupsert_255',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]], + ['kuduupsertignore_256',['KuduUpsertIgnore',['../classkudu_1_1client_1_1KuduUpsertIgnore.html',1,'kudu::client']]], + ['kuduvalue_257',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]], + ['kuduwriteoperation_258',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_b.html b/releases/1.17.1/cpp-client-api/search/all_b.html new file mode 100644 index 0000000000..66b3089c09 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_b.js b/releases/1.17.1/cpp-client-api/search/all_b.js new file mode 100644 index 0000000000..68f7f70c4e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_b.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['leader_5fonly_259',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]], + ['length_260',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec::Length()'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes::length()']]], + ['lessthan_261',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]], + ['listsoftdeletedtables_262',['ListSoftDeletedTables',['../classkudu_1_1client_1_1KuduClient.html#a787b245a1aa23263da43eb2cf891a4ad',1,'kudu::client::KuduClient']]], + ['listtables_263',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]], + ['listtabletservers_264',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]], + ['live_5frow_5fcount_265',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]], + ['live_5frow_5fcount_5flimit_266',['live_row_count_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd',1,'kudu::client::KuduTableStatistics']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_c.html b/releases/1.17.1/cpp-client-api/search/all_c.html new file mode 100644 index 0000000000..0a2069be19 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_c.js b/releases/1.17.1/cpp-client-api/search/all_c.js new file mode 100644 index 0000000000..0556a1b90a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_c.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['manual_5fflush_267',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]], + ['master_5fserver_5faddrs_268',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]], + ['max_269',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]], + ['membertype_270',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]], + ['memory_5ffootprint_5fexcluding_5fthis_271',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]], + ['memory_5ffootprint_5fincluding_5fthis_272',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]], + ['message_273',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]], + ['min_274',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]], + ['monodelta_275',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu::MonoDelta'],['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta::MonoDelta()']]], + ['monotime_276',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu::MonoTime'],['../classkudu_1_1MonoTime.html#a2b4ab1fcb91b2d9dbaf277a9ad44609b',1,'kudu::MonoTime::MonoTime()']]], + ['morethan_277',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]], + ['mutable_278',['Mutable',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae20f20b7832a399da1d9843c876b0627',1,'kudu::client::KuduColumnSpec']]], + ['mutable_5fdata_279',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]], + ['mutable_5frow_280',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_d.html b/releases/1.17.1/cpp-client-api/search/all_d.html new file mode 100644 index 0000000000..4b92eda512 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_d.js b/releases/1.17.1/cpp-client-api/search/all_d.js new file mode 100644 index 0000000000..87360e8b8e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_d.js @@ -0,0 +1,39 @@ +var searchData= +[ + ['name_281',['name',['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable::name()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf',1,'kudu::client::KuduColumnSchema::name()']]], + ['nanostotimespec_282',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]], + ['networkerror_283',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]], + ['newcomparisonpredicate_284',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]], + ['newdelete_285',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]], + ['newdeleteignore_286',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]], + ['newinbloomfilterpredicate_287',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &col_name, std::vector< KuduBloomFilter * > *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &col_name, const std::vector< Slice > &bloom_filters)']]], + ['newinlistpredicate_288',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]], + ['newinsert_289',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]], + ['newinsertignore_290',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]], + ['newisnotnullpredicate_291',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]], + ['newisnullpredicate_292',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]], + ['newrow_293',['NewRow',['../classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1',1,'kudu::client::KuduSchema']]], + ['newsession_294',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]], + ['newtablealterer_295',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]], + ['newtablecreator_296',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]], + ['newtransaction_297',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]], + ['newupdate_298',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]], + ['newupdateignore_299',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]], + ['newupsert_300',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]], + ['newupsertignore_301',['NewUpsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a4c9ecaa28356d3c40464a463155424eb',1,'kudu::client::KuduTable']]], + ['nextbatch_302',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#a409a42496942e93df5f4879b7a348e87',1,'kudu::client::KuduScanner::NextBatch(std::vector< KuduRowResult > *rows)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]], + ['no_5fflags_303',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]], + ['nonuniqueprimarykey_304',['NonUniquePrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae354981cea61210ebb1ba3791f03745d',1,'kudu::client::KuduColumnSpec']]], + ['notauthorized_305',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]], + ['notfound_306',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]], + ['notnull_307',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]], + ['notsupported_308',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]], + ['now_309',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]], + ['nullable_310',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]], + ['nulllog_311',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]], + ['num_5fcolumns_312',['num_columns',['../classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74',1,'kudu::client::KuduSchema']]], + ['num_5freactors_313',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]], + ['num_5freplicas_314',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]], + ['numpartitions_315',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]], + ['numrows_316',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_e.html b/releases/1.17.1/cpp-client-api/search/all_e.html new file mode 100644 index 0000000000..51be0c7221 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_e.js b/releases/1.17.1/cpp-client-api/search/all_e.js new file mode 100644 index 0000000000..e1b92a6784 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_e.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['ok_317',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status::ok() const'],['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status::OK()']]], + ['on_5fdisk_5fsize_318',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]], + ['on_5fdisk_5fsize_5flimit_319',['on_disk_size_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a',1,'kudu::client::KuduTableStatistics']]], + ['open_320',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]], + ['opentable_321',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]], + ['operator_21_3d_322',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch::operator!=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a69fa90d3875a7fed44fdd17d399229b7',1,'kudu::client::KuduColumnSchema::operator!=()'],['../classkudu_1_1client_1_1KuduSchema.html#a462f1d5e6abcf8432f7e1cc082b8a702',1,'kudu::client::KuduSchema::operator!=()']]], + ['operator_28_29_323',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]], + ['operator_2a_324',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]], + ['operator_2b_325',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]], + ['operator_2b_2b_326',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]], + ['operator_2b_3d_327',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta::operator+=()'],['../classkudu_1_1MonoTime.html#a017b8fce3205d1c9a936d96cc4a5b452',1,'kudu::MonoTime::operator+=()']]], + ['operator_2d_328',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta::operator-()'],['../classkudu_1_1MonoTime.html#a638709722d9e7c3f0ecab9e74db670f8',1,'kudu::MonoTime::operator-()']]], + ['operator_2d_3d_329',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta::operator-=()'],['../classkudu_1_1MonoTime.html#a2264cf528d0a346e60e0921022333bf8',1,'kudu::MonoTime::operator-=()']]], + ['operator_2d_3e_330',['operator->',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator->() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator->() const']]], + ['operator_3c_3c_331',['operator<<',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator<<()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator<<()']]], + ['operator_3d_332',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]], + ['operator_3d_3d_333',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch::operator==()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a270577f8e3449415a52605d783f56b51',1,'kudu::client::KuduColumnSchema::operator==()'],['../classkudu_1_1client_1_1KuduSchema.html#a223e1ae67de5732bcd591e8f337ecb77',1,'kudu::client::KuduSchema::operator==()'],['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice::operator==()']]], + ['operator_5b_5d_334',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]], + ['optional_335',['OPTIONAL',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbdaee483fad5e8eddc9e32eafc1ce1f7b14',1,'kudu::client::KuduClientBuilder']]], + ['ordered_336',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]], + ['ordermode_337',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]], + ['owner_338',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/all_f.html b/releases/1.17.1/cpp-client-api/search/all_f.html new file mode 100644 index 0000000000..d7d51cf781 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/all_f.js b/releases/1.17.1/cpp-client-api/search/all_f.js new file mode 100644 index 0000000000..6b40c8ea22 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/all_f.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_339',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]], + ['partition_5fschema_340',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]], + ['partitionrow_341',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]], + ['port_342',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]], + ['posix_5fcode_343',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]], + ['precision_344',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes::precision()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec::Precision()']]], + ['primarykey_345',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]], + ['projection_5fschema_346',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/classes_0.html b/releases/1.17.1/cpp-client-api/search/classes_0.html new file mode 100644 index 0000000000..e2eea59d4d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/classes_0.js b/releases/1.17.1/cpp-client-api/search/classes_0.js new file mode 100644 index 0000000000..ca1f512b0d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['asyncleadermasterrpc_471',['AsyncLeaderMasterRpc',['../classkudu_1_1client_1_1internal_1_1AsyncLeaderMasterRpc.html',1,'kudu::client::internal']]], + ['asyncrandomtxnmanagerrpc_472',['AsyncRandomTxnManagerRpc',['../classkudu_1_1client_1_1internal_1_1AsyncRandomTxnManagerRpc.html',1,'kudu::client::internal']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/classes_1.html b/releases/1.17.1/cpp-client-api/search/classes_1.html new file mode 100644 index 0000000000..a219c1751e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/classes_1.js b/releases/1.17.1/cpp-client-api/search/classes_1.js new file mode 100644 index 0000000000..1b8cf796c5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['cerrlog_473',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html',1,'kudu::internal_logging']]], + ['comparator_474',['Comparator',['../structkudu_1_1Slice_1_1Comparator.html',1,'kudu::Slice']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/classes_2.html b/releases/1.17.1/cpp-client-api/search/classes_2.html new file mode 100644 index 0000000000..0da7809928 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/classes_2.js b/releases/1.17.1/cpp-client-api/search/classes_2.js new file mode 100644 index 0000000000..9cca84044f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_2.js @@ -0,0 +1,49 @@ +var searchData= +[ + ['kudubloomfilter_475',['KuduBloomFilter',['../classkudu_1_1client_1_1KuduBloomFilter.html',1,'kudu::client']]], + ['kudubloomfilterbuilder_476',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html',1,'kudu::client']]], + ['kuduclient_477',['KuduClient',['../classkudu_1_1client_1_1KuduClient.html',1,'kudu::client']]], + ['kuduclientbuilder_478',['KuduClientBuilder',['../classkudu_1_1client_1_1KuduClientBuilder.html',1,'kudu::client']]], + ['kuducolumnarscanbatch_479',['KuduColumnarScanBatch',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html',1,'kudu::client']]], + ['kuducolumnschema_480',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html',1,'kudu::client']]], + ['kuducolumnspec_481',['KuduColumnSpec',['../classkudu_1_1client_1_1KuduColumnSpec.html',1,'kudu::client']]], + ['kuducolumnstorageattributes_482',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html',1,'kudu::client']]], + ['kuducolumntypeattributes_483',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html',1,'kudu::client']]], + ['kududelete_484',['KuduDelete',['../classkudu_1_1client_1_1KuduDelete.html',1,'kudu::client']]], + ['kududeleteignore_485',['KuduDeleteIgnore',['../classkudu_1_1client_1_1KuduDeleteIgnore.html',1,'kudu::client']]], + ['kuduerror_486',['KuduError',['../classkudu_1_1client_1_1KuduError.html',1,'kudu::client']]], + ['kuduinsert_487',['KuduInsert',['../classkudu_1_1client_1_1KuduInsert.html',1,'kudu::client']]], + ['kuduinsertignore_488',['KuduInsertIgnore',['../classkudu_1_1client_1_1KuduInsertIgnore.html',1,'kudu::client']]], + ['kuduloggingcallback_489',['KuduLoggingCallback',['../classkudu_1_1client_1_1KuduLoggingCallback.html',1,'kudu::client']]], + ['kuduloggingfunctioncallback_490',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html',1,'kudu::client']]], + ['kuduloggingmembercallback_491',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html',1,'kudu::client']]], + ['kudupartialrow_492',['KuduPartialRow',['../classKuduPartialRow.html',1,'']]], + ['kudupartitioner_493',['KuduPartitioner',['../classkudu_1_1client_1_1KuduPartitioner.html',1,'kudu::client']]], + ['kudupartitionerbuilder_494',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html',1,'kudu::client']]], + ['kudupredicate_495',['KuduPredicate',['../classkudu_1_1client_1_1KuduPredicate.html',1,'kudu::client']]], + ['kudurangepartition_496',['KuduRangePartition',['../classkudu_1_1client_1_1KuduRangePartition.html',1,'kudu::client']]], + ['kudureplica_497',['KuduReplica',['../classkudu_1_1client_1_1KuduReplica.html',1,'kudu::client']]], + ['kuduscanbatch_498',['KuduScanBatch',['../classkudu_1_1client_1_1KuduScanBatch.html',1,'kudu::client']]], + ['kuduscanner_499',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html',1,'kudu::client']]], + ['kuduscantoken_500',['KuduScanToken',['../classkudu_1_1client_1_1KuduScanToken.html',1,'kudu::client']]], + ['kuduscantokenbuilder_501',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html',1,'kudu::client']]], + ['kuduschema_502',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html',1,'kudu::client']]], + ['kuduschemabuilder_503',['KuduSchemaBuilder',['../classkudu_1_1client_1_1KuduSchemaBuilder.html',1,'kudu::client']]], + ['kudusession_504',['KuduSession',['../classkudu_1_1client_1_1KuduSession.html',1,'kudu::client']]], + ['kudustatuscallback_505',['KuduStatusCallback',['../classkudu_1_1client_1_1KuduStatusCallback.html',1,'kudu::client']]], + ['kudustatusfunctioncallback_506',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html',1,'kudu::client']]], + ['kudustatusmembercallback_507',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html',1,'kudu::client']]], + ['kudutable_508',['KuduTable',['../classkudu_1_1client_1_1KuduTable.html',1,'kudu::client']]], + ['kudutablealterer_509',['KuduTableAlterer',['../classkudu_1_1client_1_1KuduTableAlterer.html',1,'kudu::client']]], + ['kudutablecreator_510',['KuduTableCreator',['../classkudu_1_1client_1_1KuduTableCreator.html',1,'kudu::client']]], + ['kudutablestatistics_511',['KuduTableStatistics',['../classkudu_1_1client_1_1KuduTableStatistics.html',1,'kudu::client']]], + ['kudutablet_512',['KuduTablet',['../classkudu_1_1client_1_1KuduTablet.html',1,'kudu::client']]], + ['kudutabletserver_513',['KuduTabletServer',['../classkudu_1_1client_1_1KuduTabletServer.html',1,'kudu::client']]], + ['kudutransaction_514',['KuduTransaction',['../classkudu_1_1client_1_1KuduTransaction.html',1,'kudu::client']]], + ['kuduupdate_515',['KuduUpdate',['../classkudu_1_1client_1_1KuduUpdate.html',1,'kudu::client']]], + ['kuduupdateignore_516',['KuduUpdateIgnore',['../classkudu_1_1client_1_1KuduUpdateIgnore.html',1,'kudu::client']]], + ['kuduupsert_517',['KuduUpsert',['../classkudu_1_1client_1_1KuduUpsert.html',1,'kudu::client']]], + ['kuduupsertignore_518',['KuduUpsertIgnore',['../classkudu_1_1client_1_1KuduUpsertIgnore.html',1,'kudu::client']]], + ['kuduvalue_519',['KuduValue',['../classkudu_1_1client_1_1KuduValue.html',1,'kudu::client']]], + ['kuduwriteoperation_520',['KuduWriteOperation',['../classkudu_1_1client_1_1KuduWriteOperation.html',1,'kudu::client']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/classes_3.html b/releases/1.17.1/cpp-client-api/search/classes_3.html new file mode 100644 index 0000000000..a7e78e3cb2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/classes_3.js b/releases/1.17.1/cpp-client-api/search/classes_3.js new file mode 100644 index 0000000000..51764a93ca --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['monodelta_521',['MonoDelta',['../classkudu_1_1MonoDelta.html',1,'kudu']]], + ['monotime_522',['MonoTime',['../classkudu_1_1MonoTime.html',1,'kudu']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/classes_4.html b/releases/1.17.1/cpp-client-api/search/classes_4.html new file mode 100644 index 0000000000..f48f8b40a3 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/classes_4.js b/releases/1.17.1/cpp-client-api/search/classes_4.js new file mode 100644 index 0000000000..280c52a0fe --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['nulllog_523',['NullLog',['../classkudu_1_1internal__logging_1_1NullLog.html',1,'kudu::internal_logging']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/classes_5.html b/releases/1.17.1/cpp-client-api/search/classes_5.html new file mode 100644 index 0000000000..254b282e64 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/classes_5.js b/releases/1.17.1/cpp-client-api/search/classes_5.js new file mode 100644 index 0000000000..856c49417c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['resourcemetrics_524',['ResourceMetrics',['../classkudu_1_1client_1_1ResourceMetrics.html',1,'kudu::client']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/classes_6.html b/releases/1.17.1/cpp-client-api/search/classes_6.html new file mode 100644 index 0000000000..27f26e156e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/classes_6.js b/releases/1.17.1/cpp-client-api/search/classes_6.js new file mode 100644 index 0000000000..63f681865c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/classes_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['serializationoptions_525',['SerializationOptions',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html',1,'kudu::client::KuduTransaction']]], + ['slice_526',['Slice',['../classkudu_1_1Slice.html',1,'kudu']]], + ['slicemap_527',['SliceMap',['../structkudu_1_1SliceMap.html',1,'kudu']]], + ['status_528',['Status',['../classkudu_1_1Status.html',1,'kudu']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/close.svg b/releases/1.17.1/cpp-client-api/search/close.svg new file mode 100644 index 0000000000..a933eea1a2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/releases/1.17.1/cpp-client-api/search/defines_0.html b/releases/1.17.1/cpp-client-api/search/defines_0.html new file mode 100644 index 0000000000..e6a6201233 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/defines_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/defines_0.js b/releases/1.17.1/cpp-client-api/search/defines_0.js new file mode 100644 index 0000000000..92e896c337 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/defines_0.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['kudu_5fcheck_5fok_950',['KUDU_CHECK_OK',['../status_8h.html#ac503ba85e942147294cdc82087da60f6',1,'status.h']]], + ['kudu_5fcheck_5fok_5fprepend_951',['KUDU_CHECK_OK_PREPEND',['../status_8h.html#a706c9f6ef1715b8f7a9185fb3c247d3f',1,'status.h']]], + ['kudu_5fdcheck_5fok_952',['KUDU_DCHECK_OK',['../status_8h.html#a99332afa18f00de3c7fcf3e76949df9d',1,'status.h']]], + ['kudu_5fdcheck_5fok_5fprepend_953',['KUDU_DCHECK_OK_PREPEND',['../status_8h.html#a2b360b53025724bb97d1dc21e25e26cc',1,'status.h']]], + ['kudu_5flog_5fand_5freturn_954',['KUDU_LOG_AND_RETURN',['../status_8h.html#abbd85cc2c5535627091bb06a21918150',1,'status.h']]], + ['kudu_5freturn_5fmain_5fnot_5fok_955',['KUDU_RETURN_MAIN_NOT_OK',['../status_8h.html#abd6e72ed025e6e0afddf4e19ca10cdba',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_956',['KUDU_RETURN_NOT_OK',['../status_8h.html#a0de56a3f0e9d83b8ffdd63eac83c54ab',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5feval_957',['KUDU_RETURN_NOT_OK_EVAL',['../status_8h.html#a8fd1f0d6a9b2457c18e218d3540c4b3e',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5flog_958',['KUDU_RETURN_NOT_OK_LOG',['../status_8h.html#af09a6a2eca53c9424d74c7fd9f39c5ce',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5fprepend_959',['KUDU_RETURN_NOT_OK_PREPEND',['../status_8h.html#af66b8458f1d3f1264c1da86744e29e46',1,'status.h']]], + ['kudu_5freturn_5fnot_5fok_5fret_960',['KUDU_RETURN_NOT_OK_RET',['../status_8h.html#a58d31c81bf1101a3ead737e9a4a4f223',1,'status.h']]], + ['kudu_5fwarn_5fnot_5fok_961',['KUDU_WARN_NOT_OK',['../status_8h.html#a1e64fec5ef85c0c738f6ac3f398f607e',1,'status.h']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enums_0.html b/releases/1.17.1/cpp-client-api/search/enums_0.html new file mode 100644 index 0000000000..390bf470fc --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enums_0.js b/releases/1.17.1/cpp-client-api/search/enums_0.js new file mode 100644 index 0000000000..d0dc42ba56 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['comparisonop_915',['ComparisonOp',['../classkudu_1_1client_1_1KuduPredicate.html#ad58e80ced596d7738f99b5b83ba24eb4',1,'kudu::client::KuduPredicate']]], + ['compressiontype_916',['CompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af579406931a40daa5cb9e10603341a78',1,'kudu::client::KuduColumnStorageAttributes']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enums_1.html b/releases/1.17.1/cpp-client-api/search/enums_1.html new file mode 100644 index 0000000000..beed2855bf --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enums_1.js b/releases/1.17.1/cpp-client-api/search/enums_1.js new file mode 100644 index 0000000000..43f7824be1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['datatype_917',['DataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5',1,'kudu::client::KuduColumnSchema']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enums_2.html b/releases/1.17.1/cpp-client-api/search/enums_2.html new file mode 100644 index 0000000000..38718ee174 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enums_2.js b/releases/1.17.1/cpp-client-api/search/enums_2.js new file mode 100644 index 0000000000..2510d8965a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['encodingtype_918',['EncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6d',1,'kudu::client::KuduColumnStorageAttributes']]], + ['encryptionpolicy_919',['EncryptionPolicy',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbd',1,'kudu::client::KuduClientBuilder']]], + ['externalconsistencymode_920',['ExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enums_3.html b/releases/1.17.1/cpp-client-api/search/enums_3.html new file mode 100644 index 0000000000..bcf27b56a6 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enums_3.js b/releases/1.17.1/cpp-client-api/search/enums_3.js new file mode 100644 index 0000000000..c12bbec8fe --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flushmode_921',['FlushMode',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enums_4.html b/releases/1.17.1/cpp-client-api/search/enums_4.html new file mode 100644 index 0000000000..853b4aaefe --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enums_4.js b/releases/1.17.1/cpp-client-api/search/enums_4.js new file mode 100644 index 0000000000..9c82737236 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ordermode_922',['OrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9',1,'kudu::client::KuduScanner']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enums_5.html b/releases/1.17.1/cpp-client-api/search/enums_5.html new file mode 100644 index 0000000000..517c248758 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enums_5.js b/releases/1.17.1/cpp-client-api/search/enums_5.js new file mode 100644 index 0000000000..4776990f62 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['rangepartitionbound_923',['RangePartitionBound',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b',1,'kudu::client::KuduTableCreator']]], + ['readmode_924',['ReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348',1,'kudu::client::KuduScanner']]], + ['replicaselection_925',['ReplicaSelection',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11a',1,'kudu::client::KuduClient']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enums_6.html b/releases/1.17.1/cpp-client-api/search/enums_6.html new file mode 100644 index 0000000000..3babc29858 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enums_6.js b/releases/1.17.1/cpp-client-api/search/enums_6.js new file mode 100644 index 0000000000..5b035a0a02 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enums_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['type_926',['Type',['../classkudu_1_1client_1_1KuduWriteOperation.html#a87d94ee5801a6b16fc6d1f44ee2e4357',1,'kudu::client::KuduWriteOperation']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_0.html b/releases/1.17.1/cpp-client-api/search/enumvalues_0.html new file mode 100644 index 0000000000..5686f2fb0b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_0.js b/releases/1.17.1/cpp-client-api/search/enumvalues_0.js new file mode 100644 index 0000000000..92285f0d65 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['auto_5fflush_5fbackground_927',['AUTO_FLUSH_BACKGROUND',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a520b8eef7ef0fd149b2757faf43972b1',1,'kudu::client::KuduSession']]], + ['auto_5fflush_5fsync_928',['AUTO_FLUSH_SYNC',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19ad74b76e407e62ca951d369521636df2b',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_1.html b/releases/1.17.1/cpp-client-api/search/enumvalues_1.html new file mode 100644 index 0000000000..7c4613d82a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_1.js b/releases/1.17.1/cpp-client-api/search/enumvalues_1.js new file mode 100644 index 0000000000..dcc7a71423 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['client_5fpropagated_929',['CLIENT_PROPAGATED',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22ae978fab7451faebf4399830b603c855c',1,'kudu::client::KuduSession']]], + ['closest_5freplica_930',['CLOSEST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aa801886067da41dacd0c9c2b8091f08d8',1,'kudu::client::KuduClient']]], + ['commit_5fwait_931',['COMMIT_WAIT',['../classkudu_1_1client_1_1KuduSession.html#aabd55109ba3b086bbe33b277cdd40d22a70010f3ef1f70b99b02328c024c436c9',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_2.html b/releases/1.17.1/cpp-client-api/search/enumvalues_2.html new file mode 100644 index 0000000000..703b7e7a4d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_2.js b/releases/1.17.1/cpp-client-api/search/enumvalues_2.js new file mode 100644 index 0000000000..d8f8ae17b7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['exclusive_5fbound_932',['EXCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601',1,'kudu::client::KuduTableCreator']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_3.html b/releases/1.17.1/cpp-client-api/search/enumvalues_3.html new file mode 100644 index 0000000000..04b48471bc --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_3.js b/releases/1.17.1/cpp-client-api/search/enumvalues_3.js new file mode 100644 index 0000000000..a5abc2e09a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['first_5freplica_933',['FIRST_REPLICA',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aaa060fb6126a3e3fa80079f885dc7d48f',1,'kudu::client::KuduClient']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_4.html b/releases/1.17.1/cpp-client-api/search/enumvalues_4.html new file mode 100644 index 0000000000..b1741a903b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_4.js b/releases/1.17.1/cpp-client-api/search/enumvalues_4.js new file mode 100644 index 0000000000..1b27bfb599 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['group_5fvarint_934',['GROUP_VARINT',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#aeb835a12e6f40b1a619afa8abd773b6da28c1ed31be30579070232164c24b4b82',1,'kudu::client::KuduColumnStorageAttributes']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_5.html b/releases/1.17.1/cpp-client-api/search/enumvalues_5.html new file mode 100644 index 0000000000..445f66f1c7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_5.js b/releases/1.17.1/cpp-client-api/search/enumvalues_5.js new file mode 100644 index 0000000000..a813b735ed --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['inclusive_5fbound_935',['INCLUSIVE_BOUND',['../classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950',1,'kudu::client::KuduTableCreator']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_6.html b/releases/1.17.1/cpp-client-api/search/enumvalues_6.html new file mode 100644 index 0000000000..39243504fa --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_6.js b/releases/1.17.1/cpp-client-api/search/enumvalues_6.js new file mode 100644 index 0000000000..505fc26e4e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['leader_5fonly_936',['LEADER_ONLY',['../classkudu_1_1client_1_1KuduClient.html#aef70c7f3a596ecda4040f9d46514b11aafb912836db348061379d0e0a9055e239',1,'kudu::client::KuduClient']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_7.html b/releases/1.17.1/cpp-client-api/search/enumvalues_7.html new file mode 100644 index 0000000000..5c17c91491 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_7.js b/releases/1.17.1/cpp-client-api/search/enumvalues_7.js new file mode 100644 index 0000000000..71ea53795e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['manual_5fflush_937',['MANUAL_FLUSH',['../classkudu_1_1client_1_1KuduSession.html#aaec3956e642610d703f3b83b78e24e19a1db3efc2094da09aae45bb68475cdb4a',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_8.html b/releases/1.17.1/cpp-client-api/search/enumvalues_8.html new file mode 100644 index 0000000000..22d13e98f7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_8.js b/releases/1.17.1/cpp-client-api/search/enumvalues_8.js new file mode 100644 index 0000000000..beb5a9ed57 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['optional_938',['OPTIONAL',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbdaee483fad5e8eddc9e32eafc1ce1f7b14',1,'kudu::client::KuduClientBuilder']]], + ['ordered_939',['ORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9a4395ad2ec57ce53e30d8b5748fa2c63a',1,'kudu::client::KuduScanner']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_9.html b/releases/1.17.1/cpp-client-api/search/enumvalues_9.html new file mode 100644 index 0000000000..606f476a25 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_9.js b/releases/1.17.1/cpp-client-api/search/enumvalues_9.js new file mode 100644 index 0000000000..8836351b23 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_9.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['read_5fat_5fsnapshot_940',['READ_AT_SNAPSHOT',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a380798cc81589d865b7b2549e186b2e2',1,'kudu::client::KuduScanner']]], + ['read_5flatest_941',['READ_LATEST',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348a8694cef688d819806fa9a85b002231a8',1,'kudu::client::KuduScanner']]], + ['read_5fyour_5fwrites_942',['READ_YOUR_WRITES',['../classkudu_1_1client_1_1KuduScanner.html#a36fdb59d6488618363331269d3f58348af77adb329e45d7e0b1ac136dad8f8567',1,'kudu::client::KuduScanner']]], + ['required_943',['REQUIRED',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbda0a0f8f2d17a5d532959579e9a4bb6011',1,'kudu::client::KuduClientBuilder']]], + ['required_5fremote_944',['REQUIRED_REMOTE',['../classkudu_1_1client_1_1KuduClientBuilder.html#a599cb3ea46b08531eb37ad3586bc6fbda6edcb83b00da5c333232ccb935db919b',1,'kudu::client::KuduClientBuilder']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_a.html b/releases/1.17.1/cpp-client-api/search/enumvalues_a.html new file mode 100644 index 0000000000..60df789831 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_a.js b/releases/1.17.1/cpp-client-api/search/enumvalues_a.js new file mode 100644 index 0000000000..692e03d408 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timestamp_945',['TIMESTAMP',['../classkudu_1_1client_1_1KuduColumnSchema.html#aba69238e70af5c887a4fb11fa2a120c5a27d1b7aca7cf9a01d9258a41bbe3b505',1,'kudu::client::KuduColumnSchema']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_b.html b/releases/1.17.1/cpp-client-api/search/enumvalues_b.html new file mode 100644 index 0000000000..f839fdb520 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/enumvalues_b.js b/releases/1.17.1/cpp-client-api/search/enumvalues_b.js new file mode 100644 index 0000000000..d9e9d0f0b5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/enumvalues_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unordered_946',['UNORDERED',['../classkudu_1_1client_1_1KuduScanner.html#a3d6c79325c9da9741d0accf1b43bf7f9adfeea547de613f36a0aff9f585671ec3',1,'kudu::client::KuduScanner']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/files_0.html b/releases/1.17.1/cpp-client-api/search/files_0.html new file mode 100644 index 0000000000..95680482b4 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/files_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/files_0.js b/releases/1.17.1/cpp-client-api/search/files_0.js new file mode 100644 index 0000000000..043a0be221 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/files_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['shared_5fptr_2eh_529',['shared_ptr.h',['../shared__ptr_8h.html',1,'']]], + ['status_2eh_530',['status.h',['../status_8h.html',1,'']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_0.html b/releases/1.17.1/cpp-client-api/search/functions_0.html new file mode 100644 index 0000000000..2057bad537 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_0.js b/releases/1.17.1/cpp-client-api/search/functions_0.js new file mode 100644 index 0000000000..2660ba334f --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_0.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['aborted_531',['Aborted',['../classkudu_1_1Status.html#a66d4341c1c1bb677284608fd51686144',1,'kudu::Status']]], + ['add_5fcustom_5frange_5fpartition_532',['add_custom_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#a16746b20ca625a69640eefa579a9c8ea',1,'kudu::client::KuduTableCreator']]], + ['add_5fhash_5fpartitions_533',['add_hash_partitions',['../classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets)'],['../classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24',1,'kudu::client::KuduTableCreator::add_hash_partitions(const std::vector< std::string > &columns, int32_t num_buckets, int32_t seed)'],['../classkudu_1_1client_1_1KuduRangePartition.html#a15570750854f05b1937fcc7d75725d10',1,'kudu::client::KuduRangePartition::add_hash_partitions()']]], + ['add_5fmaster_5fserver_5faddr_534',['add_master_server_addr',['../classkudu_1_1client_1_1KuduClientBuilder.html#add149f1c1c2d3653e6a6cae4f44fa90c',1,'kudu::client::KuduClientBuilder']]], + ['add_5frange_5fpartition_535',['add_range_partition',['../classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a',1,'kudu::client::KuduTableCreator']]], + ['add_5frange_5fpartition_5fsplit_536',['add_range_partition_split',['../classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f',1,'kudu::client::KuduTableCreator']]], + ['addcolumn_537',['AddColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#acb9406a6a254997dd584ce6c2cf51cd0',1,'kudu::client::KuduTableAlterer::AddColumn()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#a0fdf28d49cc05ba4f3182f7398ddf600',1,'kudu::client::KuduSchemaBuilder::AddColumn()']]], + ['addconjunctpredicate_538',['AddConjunctPredicate',['../classkudu_1_1client_1_1KuduScanner.html#a47b0fcd30f8002cb4fdcf69351896b74',1,'kudu::client::KuduScanner::AddConjunctPredicate()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac40487d17b8e4dcca7ca08efeb5f195e',1,'kudu::client::KuduScanTokenBuilder::AddConjunctPredicate()']]], + ['adddelta_539',['AddDelta',['../classkudu_1_1MonoTime.html#a17dd3af0b55e8d19dc986101ba998de1',1,'kudu::MonoTime']]], + ['addexclusiveupperbound_540',['AddExclusiveUpperBound',['../classkudu_1_1client_1_1KuduScanner.html#a551fd38d48a686f2662727a82e79bd3d',1,'kudu::client::KuduScanner']]], + ['addexclusiveupperboundpartitionkeyraw_541',['AddExclusiveUpperBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#aa951a6ec3aeb82c82afe35d8e3ba18a9',1,'kudu::client::KuduScanner']]], + ['addexclusiveupperboundraw_542',['AddExclusiveUpperBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aaa45befeacfea4d7722c9f7c661fa83a',1,'kudu::client::KuduScanner']]], + ['addlowerbound_543',['AddLowerBound',['../classkudu_1_1client_1_1KuduScanner.html#a67691944fc112f43c565ab4486514b86',1,'kudu::client::KuduScanner::AddLowerBound()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ae11ca3d00d15138e957a2c2e89b05fcf',1,'kudu::client::KuduScanTokenBuilder::AddLowerBound()']]], + ['addlowerboundpartitionkeyraw_544',['AddLowerBoundPartitionKeyRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab53b88307028a50f66bcffe5e78c6d6e',1,'kudu::client::KuduScanner']]], + ['addlowerboundraw_545',['AddLowerBoundRaw',['../classkudu_1_1client_1_1KuduScanner.html#aff1fbf928d29bceff805d7d8b9904282',1,'kudu::client::KuduScanner']]], + ['addrangepartition_546',['AddRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#a521a968f4db133a10629f76c75dde793',1,'kudu::client::KuduTableAlterer::AddRangePartition(KuduPartialRow *lower_bound, KuduPartialRow *upper_bound, KuduTableCreator::RangePartitionBound lower_bound_type=KuduTableCreator::INCLUSIVE_BOUND, KuduTableCreator::RangePartitionBound upper_bound_type=KuduTableCreator::EXCLUSIVE_BOUND)'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a97d6a44d2f974166de12982883f1b28c',1,'kudu::client::KuduTableAlterer::AddRangePartition(KuduRangePartition *partition)']]], + ['addrangepartitionwithdimension_547',['AddRangePartitionWithDimension',['../classkudu_1_1client_1_1KuduTableAlterer.html#a8a82d41c8e7181875c6a29bd3ce6f006',1,'kudu::client::KuduTableAlterer']]], + ['addupperbound_548',['AddUpperBound',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ac4d0fa934e4c705ac76c424a5431566a',1,'kudu::client::KuduScanTokenBuilder']]], + ['allcolumnsset_549',['AllColumnsSet',['../classKuduPartialRow.html#aea33d936e05641d86fc4e647bf014b9d',1,'KuduPartialRow']]], + ['alreadypresent_550',['AlreadyPresent',['../classkudu_1_1Status.html#aa352708c157096893132e7bfa17f2c45',1,'kudu::Status']]], + ['alter_551',['Alter',['../classkudu_1_1client_1_1KuduTableAlterer.html#a14768f28048355d997e0ed4fa82e218c',1,'kudu::client::KuduTableAlterer']]], + ['altercolumn_552',['AlterColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#a6d62bfbcfab6b99dcb057e7f7a4cf742',1,'kudu::client::KuduTableAlterer']]], + ['alterextraconfig_553',['AlterExtraConfig',['../classkudu_1_1client_1_1KuduTableAlterer.html#a3eec4fd1b1c1d0245052599aa2692541',1,'kudu::client::KuduTableAlterer']]], + ['apply_554',['Apply',['../classkudu_1_1client_1_1KuduSession.html#ad3f7324b27fca298c5ca3d07b4741943',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_1.html b/releases/1.17.1/cpp-client-api/search/functions_1.html new file mode 100644 index 0000000000..b830118562 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_1.js b/releases/1.17.1/cpp-client-api/search/functions_1.js new file mode 100644 index 0000000000..a9f7c59bfa --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['begin_555',['begin',['../classkudu_1_1client_1_1KuduScanBatch.html#a654b2572d33e8b45836527e7b63dac21',1,'kudu::client::KuduScanBatch']]], + ['blocksize_556',['BlockSize',['../classkudu_1_1client_1_1KuduColumnSpec.html#a8502dd68c6743c7c66b2b6a02d41a4e6',1,'kudu::client::KuduColumnSpec']]], + ['build_557',['Build',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1585dd6eff82519fe81088d1cfd35b77',1,'kudu::client::KuduClientBuilder::Build()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acbc00b42db998f3342fa0ca7ab55dfdb',1,'kudu::client::KuduScanTokenBuilder::Build()'],['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#aa8859050484de2d367781ce6ec41d0ba',1,'kudu::client::KuduPartitionerBuilder::Build()'],['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a90bf3b2387dd08cbbeda59497ceeee6a',1,'kudu::client::KuduBloomFilterBuilder::Build()'],['../classkudu_1_1client_1_1KuduSchemaBuilder.html#af117e347a7d0910dda2695997859db15',1,'kudu::client::KuduSchemaBuilder::Build()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_10.html b/releases/1.17.1/cpp-client-api/search/functions_10.html new file mode 100644 index 0000000000..5d4fac13a7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_10.js b/releases/1.17.1/cpp-client-api/search/functions_10.js new file mode 100644 index 0000000000..9057eb6a20 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_10.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['release_5ffailed_5fop_795',['release_failed_op',['../classkudu_1_1client_1_1KuduError.html#ae1a49bd16eeff4d2ab88fa70e1dc3c6a',1,'kudu::client::KuduError']]], + ['relocate_796',['relocate',['../classkudu_1_1Slice.html#a4bb1c9fe13873623b5a5a118830b1806',1,'kudu::Slice']]], + ['remoteerror_797',['RemoteError',['../classkudu_1_1Status.html#aefdc372dd5a3c4e122bb9f49738c667f',1,'kudu::Status']]], + ['remove_5fprefix_798',['remove_prefix',['../classkudu_1_1Slice.html#a00f5d310f9ebf17c198cf3feb69c3842',1,'kudu::Slice']]], + ['removedefault_799',['RemoveDefault',['../classkudu_1_1client_1_1KuduColumnSpec.html#ade0ba64b4ff59889755800b817419b82',1,'kudu::client::KuduColumnSpec']]], + ['renameto_800',['RenameTo',['../classkudu_1_1client_1_1KuduTableAlterer.html#aca8ea8d7b65e6952c76fd97f12d5b324',1,'kudu::client::KuduTableAlterer::RenameTo()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#abeb2cbbaa01253165202574db03872f4',1,'kudu::client::KuduColumnSpec::RenameTo()']]], + ['replicas_801',['replicas',['../classkudu_1_1client_1_1KuduTablet.html#a738839e72d0a3d87686d06c43238bf19',1,'kudu::client::KuduTablet']]], + ['require_5fauthentication_802',['require_authentication',['../classkudu_1_1client_1_1KuduClientBuilder.html#a29c5cd50915a93bf77a071e34f46b535',1,'kudu::client::KuduClientBuilder']]], + ['reset_803',['Reset',['../classkudu_1_1client_1_1KuduSchema.html#a3f51ccf1a7e6f4a4fe4958073305dbab',1,'kudu::client::KuduSchema']]], + ['rollback_804',['Rollback',['../classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8',1,'kudu::client::KuduTransaction']]], + ['row_805',['Row',['../classkudu_1_1client_1_1KuduScanBatch.html#a3f6366606eec7f0d0a8953ff6a81c320',1,'kudu::client::KuduScanBatch::Row()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#ab73a467a979bc76bb4738ba038d7f0bd',1,'kudu::client::KuduWriteOperation::row()']]], + ['rowptr_806',['RowPtr',['../classkudu_1_1client_1_1KuduScanBatch.html#a92bbfa48e9b503181c2dfb5f11f14e4e',1,'kudu::client::KuduScanBatch']]], + ['run_807',['Run',['../classkudu_1_1client_1_1KuduLoggingCallback.html#a59db98413fb312d260fcb08299bae89c',1,'kudu::client::KuduLoggingCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aafb1373a805d6e05c0fc5715927677c9',1,'kudu::client::KuduLoggingMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#ae22e9139102f60d049c29e888c6a528d',1,'kudu::client::KuduLoggingFunctionCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusCallback.html#a2333beedb1d0c08a8c127b4552fbeb07',1,'kudu::client::KuduStatusCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a94bde1bdcb3cde6f78b11d822be19232',1,'kudu::client::KuduStatusMemberCallback::Run()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#af4c3e7fbd4fed52bcba220f95a27f70a',1,'kudu::client::KuduStatusFunctionCallback::Run()']]], + ['runtimeerror_808',['RuntimeError',['../classkudu_1_1Status.html#a2da56794897fa2cb3c96181f29796692',1,'kudu::Status']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_11.html b/releases/1.17.1/cpp-client-api/search/functions_11.html new file mode 100644 index 0000000000..f9673ae23b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_11.js b/releases/1.17.1/cpp-client-api/search/functions_11.js new file mode 100644 index 0000000000..248ce27d37 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_11.js @@ -0,0 +1,71 @@ +var searchData= +[ + ['sasl_5fprotocol_5fname_809',['sasl_protocol_name',['../classkudu_1_1client_1_1KuduClientBuilder.html#ab5b297f792b8e4142e913ceee2f5f3de',1,'kudu::client::KuduClientBuilder']]], + ['scale_810',['Scale',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad2d1fe7273f0f5d656375e53f96ac777',1,'kudu::client::KuduColumnSpec::Scale()'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a9531cde8c3ce74fc61c1bd5b0d667567',1,'kudu::client::KuduColumnTypeAttributes::scale()']]], + ['schema_811',['schema',['../classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7',1,'kudu::client::KuduTableCreator::schema()'],['../classkudu_1_1client_1_1KuduTable.html#aefc75c9c36846675e4b8bd53075f6f5c',1,'kudu::client::KuduTable::schema()'],['../classKuduPartialRow.html#aff66c4638ad8dee78a59937592147fd8',1,'KuduPartialRow::schema()']]], + ['serialize_812',['Serialize',['../classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5',1,'kudu::client::KuduTransaction::Serialize()'],['../classkudu_1_1client_1_1KuduScanToken.html#a6eb749ddf0a1434596d86df88341a008',1,'kudu::client::KuduScanToken::Serialize()']]], + ['serviceunavailable_813',['ServiceUnavailable',['../classkudu_1_1Status.html#a56570d57662d3d3e2225269386213568',1,'kudu::Status']]], + ['set_5fcomment_814',['set_comment',['../classkudu_1_1client_1_1KuduTableCreator.html#af6b9911f943bee6c6840dab918d6652f',1,'kudu::client::KuduTableCreator']]], + ['set_5fowner_815',['set_owner',['../classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007',1,'kudu::client::KuduTableCreator']]], + ['set_5frange_5fpartition_5fcolumns_816',['set_range_partition_columns',['../classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3',1,'kudu::client::KuduTableCreator']]], + ['setbatchsizebytes_817',['SetBatchSizeBytes',['../classkudu_1_1client_1_1KuduScanner.html#af82c4ccb442c222033841dd65cf5a67c',1,'kudu::client::KuduScanner::SetBatchSizeBytes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a36523ca7f2f9a2b4e3c096cf6167643c',1,'kudu::client::KuduScanTokenBuilder::SetBatchSizeBytes()']]], + ['setbinary_818',['SetBinary',['../classKuduPartialRow.html#ae4b6f159c53f0c61ca5d0ad1615deeb3',1,'KuduPartialRow::SetBinary(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa58ca5345b45b8bd0f3d700d75fa661c',1,'KuduPartialRow::SetBinary(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setbinarycopy_819',['SetBinaryCopy',['../classKuduPartialRow.html#ace5ff767150c15d8368f258cf8b4fe78',1,'KuduPartialRow::SetBinaryCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b5c60e7a1b34f29615eb00d40e4ca35',1,'KuduPartialRow::SetBinaryCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setbinarynocopy_820',['SetBinaryNoCopy',['../classKuduPartialRow.html#a75d35ae76b436eea6ac2af27e179460f',1,'KuduPartialRow::SetBinaryNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a66586a8208c3f7e90cf01fcb359a4793',1,'KuduPartialRow::SetBinaryNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setbool_821',['SetBool',['../classKuduPartialRow.html#aeca0f9adc600ac2e24918e981a47252d',1,'KuduPartialRow::SetBool(const Slice &col_name, bool val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8500986269930b88336c36bc50328768',1,'KuduPartialRow::SetBool(int col_idx, bool val) WARN_UNUSED_RESULT']]], + ['setbuildtimeout_822',['SetBuildTimeout',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a11e28b7ad87a53a92d2ad5494f2c5f14',1,'kudu::client::KuduPartitionerBuilder']]], + ['setcacheblocks_823',['SetCacheBlocks',['../classkudu_1_1client_1_1KuduScanner.html#a4a4a2e354b3113561758b9bf4095d310',1,'kudu::client::KuduScanner::SetCacheBlocks()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a7ab7c9c1c4f4d3bbbc18b2b35d7d5475',1,'kudu::client::KuduScanTokenBuilder::SetCacheBlocks()']]], + ['setcomment_824',['SetComment',['../classkudu_1_1client_1_1KuduTableAlterer.html#a9dc99957dac9029dd5ecd0f41b3d2fe6',1,'kudu::client::KuduTableAlterer']]], + ['setdate_825',['SetDate',['../classKuduPartialRow.html#accff7fc112c59b13d375de5b6fed10c4',1,'KuduPartialRow::SetDate(const Slice &col_name, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1b799f772b0524295b3d99acb246c67a',1,'KuduPartialRow::SetDate(int col_idx, int32_t days_since_unix_epoch) WARN_UNUSED_RESULT']]], + ['setdouble_826',['SetDouble',['../classKuduPartialRow.html#ab65a91210596b8fffce9d0052858af20',1,'KuduPartialRow::SetDouble(const Slice &col_name, double val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a7ee7f7a17437d338e58dd6a82431729d',1,'KuduPartialRow::SetDouble(int col_idx, double val) WARN_UNUSED_RESULT']]], + ['seterrorbufferspace_827',['SetErrorBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#af1c5e5e8faba286cddc266057e9a82d5',1,'kudu::client::KuduSession']]], + ['setexternalconsistencymode_828',['SetExternalConsistencyMode',['../classkudu_1_1client_1_1KuduSession.html#a56d1c7f47dfcaf5121b15a4435a8eeca',1,'kudu::client::KuduSession']]], + ['setfaulttolerant_829',['SetFaultTolerant',['../classkudu_1_1client_1_1KuduScanner.html#a107a8a682c0977272e0ae47746d39e6f',1,'kudu::client::KuduScanner::SetFaultTolerant()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a4a17f27950ccd59bcb3430fb28b61dbe',1,'kudu::client::KuduScanTokenBuilder::SetFaultTolerant()']]], + ['setfloat_830',['SetFloat',['../classKuduPartialRow.html#a63f7bc57c1bc9a924466754eeac76a7b',1,'KuduPartialRow::SetFloat(const Slice &col_name, float val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad0b76030c919b941997ffd047b12f40e',1,'KuduPartialRow::SetFloat(int col_idx, float val) WARN_UNUSED_RESULT']]], + ['setflushmode_831',['SetFlushMode',['../classkudu_1_1client_1_1KuduSession.html#a83555781b5a037f87c215e565ecf1a8f',1,'kudu::client::KuduSession']]], + ['setint16_832',['SetInt16',['../classKuduPartialRow.html#a46bebd1ee3d723d7529c5935545f3810',1,'KuduPartialRow::SetInt16(const Slice &col_name, int16_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#adb92cc301cbcc89ef46e9bebbe86c508',1,'KuduPartialRow::SetInt16(int col_idx, int16_t val) WARN_UNUSED_RESULT']]], + ['setint32_833',['SetInt32',['../classKuduPartialRow.html#a0980615e522c4e7f8c8ddf80df0ec887',1,'KuduPartialRow::SetInt32(const Slice &col_name, int32_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ac883d7bfb3cbdb7986a18895320097ad',1,'KuduPartialRow::SetInt32(int col_idx, int32_t val) WARN_UNUSED_RESULT']]], + ['setint64_834',['SetInt64',['../classKuduPartialRow.html#abaa3b48abbafa7b224dbc6c199a430d4',1,'KuduPartialRow::SetInt64(const Slice &col_name, int64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a62224148c353a9eba4e19574a61fe369',1,'KuduPartialRow::SetInt64(int col_idx, int64_t val) WARN_UNUSED_RESULT']]], + ['setint8_835',['SetInt8',['../classKuduPartialRow.html#a81d62690c48e6c1bbcaa0bb8f10f553f',1,'KuduPartialRow::SetInt8(const Slice &col_name, int8_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af6d10997e70e776eb353ad67abc78d79',1,'KuduPartialRow::SetInt8(int col_idx, int8_t val) WARN_UNUSED_RESULT']]], + ['setlatestobservedtimestamp_836',['SetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a0809b055eda76fd68988462f2a9791dd',1,'kudu::client::KuduClient']]], + ['setlimit_837',['SetLimit',['../classkudu_1_1client_1_1KuduScanner.html#a71608e5e773e74efe1e8ca2b881f14ac',1,'kudu::client::KuduScanner']]], + ['setmutationbufferflushinterval_838',['SetMutationBufferFlushInterval',['../classkudu_1_1client_1_1KuduSession.html#aabe75f0688f992dbdb2694a50d07f941',1,'kudu::client::KuduSession']]], + ['setmutationbufferflushwatermark_839',['SetMutationBufferFlushWatermark',['../classkudu_1_1client_1_1KuduSession.html#a7311344cec37b3847217197c35467cdf',1,'kudu::client::KuduSession']]], + ['setmutationbuffermaxnum_840',['SetMutationBufferMaxNum',['../classkudu_1_1client_1_1KuduSession.html#ac9a96017f86bfb6348fca9bfa0b8b5a4',1,'kudu::client::KuduSession']]], + ['setmutationbufferspace_841',['SetMutationBufferSpace',['../classkudu_1_1client_1_1KuduSession.html#aefa9bbc51c27104ce103b9ecda3b8abf',1,'kudu::client::KuduSession']]], + ['setnonuniqueprimarykey_842',['SetNonUniquePrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#aee06b07dd807e2b4affdf907699dab0c',1,'kudu::client::KuduSchemaBuilder']]], + ['setnull_843',['SetNull',['../classKuduPartialRow.html#aedbcf22d41791c5ae28e978eb9054cc5',1,'KuduPartialRow::SetNull(const Slice &col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#abeaa8d438650b7796e30e9865bb83d2f',1,'KuduPartialRow::SetNull(int col_idx) WARN_UNUSED_RESULT']]], + ['setordermode_844',['SetOrderMode',['../classkudu_1_1client_1_1KuduScanner.html#a915b45a3edca37971235070c057a3e82',1,'kudu::client::KuduScanner']]], + ['setowner_845',['SetOwner',['../classkudu_1_1client_1_1KuduTableAlterer.html#a2c97cc290258e86adaa2ea87393b93a8',1,'kudu::client::KuduTableAlterer']]], + ['setprimarykey_846',['SetPrimaryKey',['../classkudu_1_1client_1_1KuduSchemaBuilder.html#ad4c1619445fea575a775f23752b6bfb9',1,'kudu::client::KuduSchemaBuilder']]], + ['setprojectedcolumnindexes_847',['SetProjectedColumnIndexes',['../classkudu_1_1client_1_1KuduScanner.html#a8d938c6efc1b36d456c91b5af0b1578d',1,'kudu::client::KuduScanner::SetProjectedColumnIndexes()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a01d990e024632c7749cca96b4f857be8',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnIndexes()']]], + ['setprojectedcolumnnames_848',['SetProjectedColumnNames',['../classkudu_1_1client_1_1KuduScanner.html#abb10b26056757bf81c410d3d5e6bcc01',1,'kudu::client::KuduScanner::SetProjectedColumnNames()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0dbb58301fc0e48ce44f41215d32f0ad',1,'kudu::client::KuduScanTokenBuilder::SetProjectedColumnNames()']]], + ['setprojectedcolumns_849',['SetProjectedColumns',['../classkudu_1_1client_1_1KuduScanner.html#a5eff07067d76a60ab12e2d555e3db1ce',1,'kudu::client::KuduScanner']]], + ['setreadmode_850',['SetReadMode',['../classkudu_1_1client_1_1KuduScanner.html#a248e0a05e7bfdc31b5b8d363a937e81e',1,'kudu::client::KuduScanner::SetReadMode()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#adb34f01a9bc52a9e23ce49124bab3892',1,'kudu::client::KuduScanTokenBuilder::SetReadMode()']]], + ['setrowformatflags_851',['SetRowFormatFlags',['../classkudu_1_1client_1_1KuduScanner.html#a3dbaf4c2db6a37517a242dcb8ee64c11',1,'kudu::client::KuduScanner']]], + ['setselection_852',['SetSelection',['../classkudu_1_1client_1_1KuduScanner.html#af1db3f372fe3d0f30cd0b6a36b783cc8',1,'kudu::client::KuduScanner::SetSelection()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a168bfed43dcd754a17d4c82293dade88',1,'kudu::client::KuduScanTokenBuilder::SetSelection()']]], + ['setserial_853',['SetSerial',['../classKuduPartialRow.html#a3bb713183aec18f279ab99aa90b3c1d7',1,'KuduPartialRow::SetSerial(const Slice &col_name, uint64_t val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6aa3ef45dd88995a26e8b2e12c2224ad',1,'KuduPartialRow::SetSerial(int col_idx, uint64_t val) WARN_UNUSED_RESULT']]], + ['setsnapshotmicros_854',['SetSnapshotMicros',['../classkudu_1_1client_1_1KuduScanner.html#a5b36a405daf09399438d5501b25b9f9f',1,'kudu::client::KuduScanner::SetSnapshotMicros()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa4c1cfa570edfaab818831a2330eece5',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotMicros()']]], + ['setsnapshotraw_855',['SetSnapshotRaw',['../classkudu_1_1client_1_1KuduScanner.html#ab13dbb301197b411dec4cd6870801bae',1,'kudu::client::KuduScanner::SetSnapshotRaw()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a313e345dc6c1f9ccdad65df5af2cf4b7',1,'kudu::client::KuduScanTokenBuilder::SetSnapshotRaw()']]], + ['setsplitsizebytes_856',['SetSplitSizeBytes',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#ad132bec8c7bcc2e6509ae4d0b255c586',1,'kudu::client::KuduScanTokenBuilder']]], + ['setstring_857',['SetString',['../classKuduPartialRow.html#a8d00b3a45ec8612187eba6751742beab',1,'KuduPartialRow::SetString(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0e606cb958eab0db1b12289aca255819',1,'KuduPartialRow::SetString(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setstringcopy_858',['SetStringCopy',['../classKuduPartialRow.html#aac6ae9c9f8267cd6a52e46121b5f0199',1,'KuduPartialRow::SetStringCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9da30ad760f428b2d5f70a1fe4eba827',1,'KuduPartialRow::SetStringCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setstringnocopy_859',['SetStringNoCopy',['../classKuduPartialRow.html#a2a698140e257b13d559bdfc220540f73',1,'KuduPartialRow::SetStringNoCopy(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae6ad2c3b84a65f3d7062fe4fcf8eb5bd',1,'KuduPartialRow::SetStringNoCopy(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['settabledisksizelimit_860',['SetTableDiskSizeLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#af39c953344e62d09e0170c5371f2ab27',1,'kudu::client::KuduTableAlterer']]], + ['settablerowcountlimit_861',['SetTableRowCountLimit',['../classkudu_1_1client_1_1KuduTableAlterer.html#ae5eedc7d2bf9c3f69073701444808fbe',1,'kudu::client::KuduTableAlterer']]], + ['settimeoutmillis_862',['SetTimeoutMillis',['../classkudu_1_1client_1_1KuduSession.html#a25b22362650d7120f59cc1025e40bd79',1,'kudu::client::KuduSession::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanner.html#a97c9f5e6a1056484c88ced411e19bee6',1,'kudu::client::KuduScanner::SetTimeoutMillis()'],['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a0f0e58d5d6fb3867ff0a03f7fc633445',1,'kudu::client::KuduScanTokenBuilder::SetTimeoutMillis()']]], + ['setunixtimemicros_863',['SetUnixTimeMicros',['../classKuduPartialRow.html#a0f3cbad9ded11b6b19815b130eb7038a',1,'KuduPartialRow::SetUnixTimeMicros(const Slice &col_name, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a691d2ce90e503f939c07f5e874d6a536',1,'KuduPartialRow::SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) WARN_UNUSED_RESULT']]], + ['setvarchar_864',['SetVarchar',['../classKuduPartialRow.html#ad25bbdf03e1ac9733df5fe9ac197469c',1,'KuduPartialRow::SetVarchar(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a613b6a91b39551b280f8fc0834fbd8a1',1,'KuduPartialRow::SetVarchar(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['setvarcharnocopyunsafe_865',['SetVarcharNoCopyUnsafe',['../classKuduPartialRow.html#ab6317b89f734b8cdef3553e2a4d17714',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(const Slice &col_name, const Slice &val) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aee2b349bffa75f9730263a652f2a02b4',1,'KuduPartialRow::SetVarcharNoCopyUnsafe(int col_idx, const Slice &val) WARN_UNUSED_RESULT']]], + ['size_866',['size',['../classkudu_1_1Slice.html#aec1c45dc306dce4a0977fff8eabdb433',1,'kudu::Slice']]], + ['slice_867',['Slice',['../classkudu_1_1Slice.html#aaee66c59ee434349680679bdf0462b66',1,'kudu::Slice::Slice()'],['../classkudu_1_1Slice.html#a904b8732b247676c52cbd9147b34c54c',1,'kudu::Slice::Slice(const uint8_t *d, size_t n)'],['../classkudu_1_1Slice.html#a9cb396203dd2c589e7d4f10bd80461d5',1,'kudu::Slice::Slice(const char *d, size_t n)'],['../classkudu_1_1Slice.html#a13838e07b6dcea1895a774ab1ba62bdd',1,'kudu::Slice::Slice(const std::string &s)'],['../classkudu_1_1Slice.html#ae8c6057eea15f8136e62255fd766e345',1,'kudu::Slice::Slice(const char *s)']]], + ['softdeletetable_868',['SoftDeleteTable',['../classkudu_1_1client_1_1KuduClient.html#ac2306970ffe623f89a768e82abbded63',1,'kudu::client::KuduClient']]], + ['split_5frows_869',['split_rows',['../classkudu_1_1client_1_1KuduTableCreator.html#a14e3f3ad7f8c5ef8efd810ea52970678',1,'kudu::client::KuduTableCreator']]], + ['startcommit_870',['StartCommit',['../classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce',1,'kudu::client::KuduTransaction']]], + ['starts_5fwith_871',['starts_with',['../classkudu_1_1Slice.html#ab1919baa9e854b50b938c35bd1686c9d',1,'kudu::Slice']]], + ['status_872',['Status',['../classkudu_1_1Status.html#ad14eb530b3449967ee976aaa1c0bcde0',1,'kudu::Status::Status()'],['../classkudu_1_1Status.html#affca5639a3341212bb23ae7f5c701803',1,'kudu::Status::Status(const Status &s)'],['../classkudu_1_1client_1_1KuduError.html#a6d8adf94782868d081cff223664257a7',1,'kudu::client::KuduError::status()']]], + ['storage_5fattributes_873',['storage_attributes',['../classkudu_1_1client_1_1KuduColumnSchema.html#af8475581a67110a56da36405b92681fc',1,'kudu::client::KuduColumnSchema']]], + ['stringtocompressiontype_874',['StringToCompressionType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#af497b47eaaa28205a8a6a5a4362954af',1,'kudu::client::KuduColumnStorageAttributes']]], + ['stringtodatatype_875',['StringToDataType',['../classkudu_1_1client_1_1KuduColumnSchema.html#abd89b94b581cc09387921c476ccb56b8',1,'kudu::client::KuduColumnSchema']]], + ['stringtoencodingtype_876',['StringToEncodingType',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a5422435108d868ad7379e03c8bf516db',1,'kudu::client::KuduColumnStorageAttributes']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_12.html b/releases/1.17.1/cpp-client-api/search/functions_12.html new file mode 100644 index 0000000000..6fb7c0ff29 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_12.js b/releases/1.17.1/cpp-client-api/search/functions_12.js new file mode 100644 index 0000000000..816c6a710d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_12.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['table_877',['table',['../classkudu_1_1client_1_1KuduWriteOperation.html#aa6d7c3518cc3b6d108d0a4bf7bdd7488',1,'kudu::client::KuduWriteOperation']]], + ['table_5fname_878',['table_name',['../classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93',1,'kudu::client::KuduTableCreator']]], + ['tableexists_879',['TableExists',['../classkudu_1_1client_1_1KuduClient.html#a96e9a6c0a16a8825c291528ac27af818',1,'kudu::client::KuduClient']]], + ['tablet_880',['tablet',['../classkudu_1_1client_1_1KuduScanToken.html#a63abcf53607bdc4346b86b98a3d0ec96',1,'kudu::client::KuduScanToken']]], + ['timedout_881',['TimedOut',['../classkudu_1_1Status.html#a06a1e762a63b7b72171d781f657adffe',1,'kudu::Status']]], + ['timeout_882',['timeout',['../classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235',1,'kudu::client::KuduTableCreator::timeout()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#add2961a41c37a6b0fd869e0f553a04a1',1,'kudu::client::KuduTableAlterer::timeout()']]], + ['todebugstring_883',['ToDebugString',['../classkudu_1_1Slice.html#ad2f077da829e931314a753bc6b76fbf7',1,'kudu::Slice']]], + ['toencodedrowkeyordie_884',['ToEncodedRowKeyOrDie',['../classKuduPartialRow.html#a6959f50b00dd3211a08e9442bbec0469',1,'KuduPartialRow']]], + ['tomicroseconds_885',['ToMicroseconds',['../classkudu_1_1MonoDelta.html#a38ca50b383a13eb739f4f694cc117491',1,'kudu::MonoDelta']]], + ['tomilliseconds_886',['ToMilliseconds',['../classkudu_1_1MonoDelta.html#aa75663ef2da59aef250bb63ee4b0a591',1,'kudu::MonoDelta']]], + ['tonanoseconds_887',['ToNanoseconds',['../classkudu_1_1MonoDelta.html#a1589aa831a2e6b4a137b944de61bca1c',1,'kudu::MonoDelta']]], + ['toseconds_888',['ToSeconds',['../classkudu_1_1MonoDelta.html#abdc48e03e6037096c13a6bf095aef06c',1,'kudu::MonoDelta']]], + ['tostring_889',['ToString',['../classkudu_1_1client_1_1KuduTableStatistics.html#ab437c1e3cb382828eb32fea424bc25ff',1,'kudu::client::KuduTableStatistics::ToString()'],['../classkudu_1_1client_1_1KuduScanner.html#aaf0d2cd7837f3d08866d6e5c1c3a0aae',1,'kudu::client::KuduScanner::ToString()'],['../classkudu_1_1client_1_1KuduScanBatch.html#aca10e03eeb078908c09e552cceb1e4c3',1,'kudu::client::KuduScanBatch::ToString()'],['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a0da01080a8e4c078d6bf3d9fe749db11',1,'kudu::client::KuduColumnStorageAttributes::ToString()'],['../classkudu_1_1client_1_1KuduSchema.html#ab8386c4ceb1895ebf808096da3f9c614',1,'kudu::client::KuduSchema::ToString()'],['../classkudu_1_1client_1_1KuduWriteOperation.html#a50b5405c4dfc7af038daa4780aea6e19',1,'kudu::client::KuduWriteOperation::ToString()'],['../classkudu_1_1client_1_1KuduInsert.html#a7c0fb45a5bfa96574b6328be392ba240',1,'kudu::client::KuduInsert::ToString()'],['../classkudu_1_1client_1_1KuduInsertIgnore.html#a3808cd171850b78391b0636d1e5bef83',1,'kudu::client::KuduInsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpsert.html#a0608280ef5b4eb2a53c0b303db7401c8',1,'kudu::client::KuduUpsert::ToString()'],['../classkudu_1_1client_1_1KuduUpsertIgnore.html#a4e5e464787808e839537c4525218b489',1,'kudu::client::KuduUpsertIgnore::ToString()'],['../classkudu_1_1client_1_1KuduUpdate.html#af05d202ea529554b6d033d51ec942718',1,'kudu::client::KuduUpdate::ToString()'],['../classkudu_1_1client_1_1KuduUpdateIgnore.html#ac8ae744ab8d2c8ebe887fb00c6deb261',1,'kudu::client::KuduUpdateIgnore::ToString()'],['../classkudu_1_1client_1_1KuduDelete.html#a586dc46e1d10118465e3b834ac578de0',1,'kudu::client::KuduDelete::ToString()'],['../classkudu_1_1client_1_1KuduDeleteIgnore.html#ab3099c4af9fa0469e6b5b8d972a68763',1,'kudu::client::KuduDeleteIgnore::ToString()'],['../classKuduPartialRow.html#a185482f79abb8a276b2025129d13ab70',1,'KuduPartialRow::ToString()'],['../classkudu_1_1MonoDelta.html#a87faf992d3c8f291e8f34251e5cd175c',1,'kudu::MonoDelta::ToString()'],['../classkudu_1_1MonoTime.html#a6ca71bca76eae6f16c7a89b1e64154ea',1,'kudu::MonoTime::ToString()'],['../classkudu_1_1Slice.html#a01ad84246c80f91b5b7634b0346c4a03',1,'kudu::Slice::ToString()'],['../classkudu_1_1Status.html#ae3e2964343c3b1d35cdd75988ad8fa99',1,'kudu::Status::ToString()']]], + ['totimespec_890',['ToTimeSpec',['../classkudu_1_1MonoDelta.html#ada258d175b463f4dc938630c12de9862',1,'kudu::MonoDelta::ToTimeSpec()'],['../classkudu_1_1MonoTime.html#a7b3246071da4b61af2624a44f6c3cd9f',1,'kudu::MonoTime::ToTimeSpec()']]], + ['totimeval_891',['ToTimeVal',['../classkudu_1_1MonoDelta.html#a237089697f6e14513a305b10f662cc6e',1,'kudu::MonoDelta']]], + ['truncate_892',['truncate',['../classkudu_1_1Slice.html#a20f1c8e91ff0209e5c8f86766ef63d44',1,'kudu::Slice']]], + ['trusted_5fcertificate_893',['trusted_certificate',['../classkudu_1_1client_1_1KuduClientBuilder.html#a2cf4506609b7ca792077cbf073b5662b',1,'kudu::client::KuduClientBuilder']]], + ['ts_894',['ts',['../classkudu_1_1client_1_1KuduReplica.html#a0423ce10a541c5e1a38fbcaebbb50627',1,'kudu::client::KuduReplica']]], + ['type_895',['Type',['../classkudu_1_1client_1_1KuduColumnSpec.html#a67e794a08387e17ba430d6942419a2c2',1,'kudu::client::KuduColumnSpec::Type()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#af790ddd7fa63b208a55da4afc0b3dc29',1,'kudu::client::KuduColumnSchema::type()']]], + ['type_5fattributes_896',['type_attributes',['../classkudu_1_1client_1_1KuduColumnSchema.html#a328c76411dd00f5f6a7ee063ce90c65e',1,'kudu::client::KuduColumnSchema']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_13.html b/releases/1.17.1/cpp-client-api/search/functions_13.html new file mode 100644 index 0000000000..d5908fbc70 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_13.js b/releases/1.17.1/cpp-client-api/search/functions_13.js new file mode 100644 index 0000000000..52fd14ef68 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_13.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['uninitialized_897',['Uninitialized',['../classkudu_1_1Status.html#ac586c6af12c09103c53cfc941139cc15',1,'kudu::Status']]], + ['unset_898',['Unset',['../classKuduPartialRow.html#adccabf294832ba33fce80a72992f6e23',1,'KuduPartialRow::Unset(const Slice &col_name) WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8f65b552d35d23e6fc494cb1f6dcd394',1,'KuduPartialRow::Unset(int col_idx) WARN_UNUSED_RESULT']]], + ['uuid_899',['uuid',['../classkudu_1_1client_1_1KuduTabletServer.html#a5de30699fb086485d44b14469234bbfc',1,'kudu::client::KuduTabletServer']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_14.html b/releases/1.17.1/cpp-client-api/search/functions_14.html new file mode 100644 index 0000000000..856115922e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_14.js b/releases/1.17.1/cpp-client-api/search/functions_14.js new file mode 100644 index 0000000000..b19c07d1ed --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['wait_900',['wait',['../classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9',1,'kudu::client::KuduTableCreator::wait()'],['../classkudu_1_1client_1_1KuduTableAlterer.html#a86e6d55d0888d4bc99789b1dcd0e5646',1,'kudu::client::KuduTableAlterer::wait()']]], + ['was_5fpossibly_5fsuccessful_901',['was_possibly_successful',['../classkudu_1_1client_1_1KuduError.html#ac8729b8c113b3d44035b0193013844a4',1,'kudu::client::KuduError']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_2.html b/releases/1.17.1/cpp-client-api/search/functions_2.html new file mode 100644 index 0000000000..aa8640419a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_2.js b/releases/1.17.1/cpp-client-api/search/functions_2.js new file mode 100644 index 0000000000..110aba057a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_2.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['cell_558',['cell',['../classkudu_1_1client_1_1KuduScanBatch.html#a2ff4e572251b5873491dfe827ec2c5af',1,'kudu::client::KuduScanBatch']]], + ['cerrlog_559',['CerrLog',['../classkudu_1_1internal__logging_1_1CerrLog.html#ac3773ad2825d82f91ea65109f2def713',1,'kudu::internal_logging::CerrLog']]], + ['check_5fsize_560',['check_size',['../classkudu_1_1Slice.html#a48bc614a10aba1268eae9a7054bf5f9e',1,'kudu::Slice']]], + ['clear_561',['clear',['../classkudu_1_1Slice.html#afb914c0769f019a7c2f28b755cba5eb5',1,'kudu::Slice']]], + ['clear_5fmaster_5fserver_5faddrs_562',['clear_master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a08f4d2bf7053c6336e625ee2e6eeddd1',1,'kudu::client::KuduClientBuilder']]], + ['client_563',['client',['../classkudu_1_1client_1_1KuduTable.html#a23a66ada3e868985467b2ded94cb24bf',1,'kudu::client::KuduTable::client()'],['../classkudu_1_1client_1_1KuduSession.html#a551fc897a7776d870bfe3d7fe403aca1',1,'kudu::client::KuduSession::client()']]], + ['clone_564',['Clone',['../classkudu_1_1client_1_1KuduPredicate.html#a04cb09a481c3b94f249d81d2fd3d7670',1,'kudu::client::KuduPredicate::Clone()'],['../classkudu_1_1client_1_1KuduValue.html#ab4fe2a0c7c0cd0115c52b72ef7f03569',1,'kudu::client::KuduValue::Clone()']]], + ['cloneandappend_565',['CloneAndAppend',['../classkudu_1_1Status.html#a835f657424af6bc1cb092139833e41a7',1,'kudu::Status']]], + ['cloneandprepend_566',['CloneAndPrepend',['../classkudu_1_1Status.html#abcee50c360b182faa966e8a96d0ba9de',1,'kudu::Status']]], + ['close_567',['Close',['../classkudu_1_1client_1_1KuduSession.html#aa5204844e361ecc3068fbc4e02fd4436',1,'kudu::client::KuduSession::Close()'],['../classkudu_1_1client_1_1KuduScanner.html#ac673dd15cb038e75787af7e74087e874',1,'kudu::client::KuduScanner::Close()']]], + ['codeasstring_568',['CodeAsString',['../classkudu_1_1Status.html#a6fafe0e7de52282c53ac29760fc409c5',1,'kudu::Status']]], + ['column_569',['Column',['../classkudu_1_1client_1_1KuduSchema.html#ac918de6adc1a15ad27e218664f308980',1,'kudu::client::KuduSchema']]], + ['comesbefore_570',['ComesBefore',['../classkudu_1_1MonoTime.html#a0a45de871acb2fe1a366060f350baa8e',1,'kudu::MonoTime']]], + ['comment_571',['Comment',['../classkudu_1_1client_1_1KuduColumnSpec.html#ad34607a281ef097705a81bfbdb6ce3b6',1,'kudu::client::KuduColumnSpec::Comment()'],['../classkudu_1_1client_1_1KuduTable.html#a4f24cd5f89f247933976076fbeafec9b',1,'kudu::client::KuduTable::comment()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a04b9d65ed5d347bf3cffa5419a756c9f',1,'kudu::client::KuduColumnSchema::comment()']]], + ['commit_572',['Commit',['../classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495',1,'kudu::client::KuduTransaction']]], + ['compare_573',['compare',['../classkudu_1_1Slice.html#a6e5fabfcb85d2076297aa3c24ba448c2',1,'kudu::Slice']]], + ['compression_574',['compression',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a46e1dace4602244a3b7b6f43bf7f5554',1,'kudu::client::KuduColumnStorageAttributes::compression()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#ad9ed2e008ee926ee50c23e664d854e8b',1,'kudu::client::KuduColumnSpec::Compression()']]], + ['configurationerror_575',['ConfigurationError',['../classkudu_1_1Status.html#aeb67c65dc9c5d3f6665e80a4dbbf9801',1,'kudu::Status']]], + ['connection_5fnegotiation_5ftimeout_576',['connection_negotiation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#af2dcfb700c52d531f0da7146f331521f',1,'kudu::client::KuduClientBuilder::connection_negotiation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a68b569dd6749ec61805e3b0a691eacac',1,'kudu::client::KuduClient::connection_negotiation_timeout()']]], + ['copyfrom_577',['CopyFrom',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a5feef04c2abe72ddead16566e0e3ad1c',1,'kudu::client::KuduColumnTypeAttributes::CopyFrom()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a11234db43eb8b758a65ba1b08f6b65b0',1,'kudu::client::KuduColumnSchema::CopyFrom()'],['../classkudu_1_1client_1_1KuduSchema.html#ab146eab7c7fb9a5ea80a4466b5f68555',1,'kudu::client::KuduSchema::CopyFrom()']]], + ['copystring_578',['CopyString',['../classkudu_1_1client_1_1KuduValue.html#a886211bbe237e0009fb9b89c146f4bfe',1,'kudu::client::KuduValue']]], + ['corruption_579',['Corruption',['../classkudu_1_1Status.html#a5c0ed04aa8234b9c1aedeafc4dd3d2ee',1,'kudu::Status']]], + ['countbufferedoperations_580',['CountBufferedOperations',['../classkudu_1_1client_1_1KuduSession.html#a46fcf780f5a0c0047fb25c35fb85f7c1',1,'kudu::client::KuduSession']]], + ['countpendingerrors_581',['CountPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#a8836aa2b627defd9ff8e567dd5e17913',1,'kudu::client::KuduSession']]], + ['create_582',['Create',['../classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc',1,'kudu::client::KuduTableCreator']]], + ['createsession_583',['CreateSession',['../classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a',1,'kudu::client::KuduTransaction']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_3.html b/releases/1.17.1/cpp-client-api/search/functions_3.html new file mode 100644 index 0000000000..66b9fc301d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_3.js b/releases/1.17.1/cpp-client-api/search/functions_3.js new file mode 100644 index 0000000000..9e76bf06af --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_3.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['data_584',['data',['../classkudu_1_1Slice.html#aa81f3cd3f43d72892397734399bed06d',1,'kudu::Slice']]], + ['datatypetostring_585',['DataTypeToString',['../classkudu_1_1client_1_1KuduColumnSchema.html#af362af4f9c937c2b7fa90ef284cfbd1c',1,'kudu::client::KuduColumnSchema']]], + ['default_586',['Default',['../classkudu_1_1client_1_1KuduColumnSpec.html#a92c63c0e1872c03fcabeac19d802f6c7',1,'kudu::client::KuduColumnSpec']]], + ['default_5fadmin_5foperation_5ftimeout_587',['default_admin_operation_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a6114bb56e4d9d1231df0ef73c9aec752',1,'kudu::client::KuduClientBuilder::default_admin_operation_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#a0646b1b93edeb92cf7ea46a1bb433838',1,'kudu::client::KuduClient::default_admin_operation_timeout()']]], + ['default_5frpc_5ftimeout_588',['default_rpc_timeout',['../classkudu_1_1client_1_1KuduClientBuilder.html#a1813e8c8d24e92a0a710724000e2b3df',1,'kudu::client::KuduClientBuilder::default_rpc_timeout()'],['../classkudu_1_1client_1_1KuduClient.html#aaae3d73831a41d260d2578fef68bcd49',1,'kudu::client::KuduClient::default_rpc_timeout()']]], + ['deletetable_589',['DeleteTable',['../classkudu_1_1client_1_1KuduClient.html#a9d7cbad036bc74c71873a428abce5c1d',1,'kudu::client::KuduClient']]], + ['deserialize_590',['Deserialize',['../classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52',1,'kudu::client::KuduTransaction']]], + ['deserializeintoscanner_591',['DeserializeIntoScanner',['../classkudu_1_1client_1_1KuduScanToken.html#ae90d9422476cf6eee5c33afb41d1f867',1,'kudu::client::KuduScanToken']]], + ['dimension_5flabel_592',['dimension_label',['../classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658',1,'kudu::client::KuduTableCreator']]], + ['direct_5fdata_593',['direct_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a09bfd1652c0ab153ca6759317c3d3992',1,'kudu::client::KuduScanBatch']]], + ['dropcolumn_594',['DropColumn',['../classkudu_1_1client_1_1KuduTableAlterer.html#ac5a4ec376ec53ba912b85ea0057d10a7',1,'kudu::client::KuduTableAlterer']]], + ['droprangepartition_595',['DropRangePartition',['../classkudu_1_1client_1_1KuduTableAlterer.html#ab0f8abf78d35725198876aaa04b737a7',1,'kudu::client::KuduTableAlterer']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_4.html b/releases/1.17.1/cpp-client-api/search/functions_4.html new file mode 100644 index 0000000000..e5370bf3a5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_4.js b/releases/1.17.1/cpp-client-api/search/functions_4.js new file mode 100644 index 0000000000..89710baa2e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_4.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['earliest_596',['Earliest',['../classkudu_1_1MonoTime.html#aa553eb3e11cae70a9ee8839a39fc7a14',1,'kudu::MonoTime']]], + ['empty_597',['empty',['../classkudu_1_1Slice.html#a072af6f4ad1aef904c5f683107d0e523',1,'kudu::Slice']]], + ['enable_5fkeepalive_598',['enable_keepalive',['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df',1,'kudu::client::KuduTransaction::SerializationOptions']]], + ['encoderowkey_599',['EncodeRowKey',['../classKuduPartialRow.html#a4bfc81d0678835bb8d97ef24f76ebda2',1,'KuduPartialRow']]], + ['encoding_600',['encoding',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a7d0f25ffc47a1f00a17697dd0fe1d12b',1,'kudu::client::KuduColumnStorageAttributes::encoding()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#ae0ceeb41ac1427c2472a2f28778b6e97',1,'kudu::client::KuduColumnSpec::Encoding()']]], + ['encryption_5fpolicy_601',['encryption_policy',['../classkudu_1_1client_1_1KuduClientBuilder.html#a567003ba1a3a83d65862683164890926',1,'kudu::client::KuduClientBuilder']]], + ['end_602',['end',['../classkudu_1_1client_1_1KuduScanBatch.html#a54bc996032e6b5bc0df0962d821c113c',1,'kudu::client::KuduScanBatch']]], + ['endoffile_603',['EndOfFile',['../classkudu_1_1Status.html#aeab02d311b0e5d44310b0dcc1e37359b',1,'kudu::Status']]], + ['equals_604',['Equals',['../classkudu_1_1client_1_1KuduColumnSchema.html#aaf2cdb1424600e420601b68b8dd05c3a',1,'kudu::client::KuduColumnSchema::Equals()'],['../classkudu_1_1client_1_1KuduSchema.html#a3db3761d3df18e12e45e3573bc182f47',1,'kudu::client::KuduSchema::Equals()'],['../classkudu_1_1MonoDelta.html#aeeda0dc9b20ef8cbc9622431b38d09bc',1,'kudu::MonoDelta::Equals()'],['../classkudu_1_1MonoTime.html#a30097d494fee042b52daf36b7e440e72',1,'kudu::MonoTime::Equals()']]], + ['exportauthenticationcredentials_605',['ExportAuthenticationCredentials',['../classkudu_1_1client_1_1KuduClient.html#ae932971967e58a8a7b85f6a56ee44cd0',1,'kudu::client::KuduClient']]], + ['extra_5fconfigs_606',['extra_configs',['../classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd',1,'kudu::client::KuduTableCreator::extra_configs()'],['../classkudu_1_1client_1_1KuduTable.html#a79eae97f8828a50d0d21d85c623bd0ec',1,'kudu::client::KuduTable::extra_configs()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_5.html b/releases/1.17.1/cpp-client-api/search/functions_5.html new file mode 100644 index 0000000000..52c6e184da --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_5.js b/releases/1.17.1/cpp-client-api/search/functions_5.js new file mode 100644 index 0000000000..840679a153 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_5.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['failed_5fop_607',['failed_op',['../classkudu_1_1client_1_1KuduError.html#a8f20b590e9da321abc624480c62262ea',1,'kudu::client::KuduError']]], + ['false_5fpositive_5fprobability_608',['false_positive_probability',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a8f904340426aebb071f66a1964438ff7',1,'kudu::client::KuduBloomFilterBuilder']]], + ['flush_609',['Flush',['../classkudu_1_1client_1_1KuduSession.html#a64955abb5f5cc821b6e56354f733ce84',1,'kudu::client::KuduSession']]], + ['flushasync_610',['FlushAsync',['../classkudu_1_1client_1_1KuduSession.html#ad8c68570479e95b325d8a5437eef8731',1,'kudu::client::KuduSession']]], + ['frombool_611',['FromBool',['../classkudu_1_1client_1_1KuduValue.html#aea2083411ed929c909f3c6aaab4a3e10',1,'kudu::client::KuduValue']]], + ['fromdouble_612',['FromDouble',['../classkudu_1_1client_1_1KuduValue.html#a5d5ac2e02a6871de7902ba6379106dd5',1,'kudu::client::KuduValue']]], + ['fromfloat_613',['FromFloat',['../classkudu_1_1client_1_1KuduValue.html#a6f4006a3ce0cab3dbf0b90b1915d535a',1,'kudu::client::KuduValue']]], + ['fromint_614',['FromInt',['../classkudu_1_1client_1_1KuduValue.html#ada685c0346016968a6677e3694568302',1,'kudu::client::KuduValue']]], + ['frommicroseconds_615',['FromMicroseconds',['../classkudu_1_1MonoDelta.html#ad50c159b220bb8e63d8d05c21053113d',1,'kudu::MonoDelta']]], + ['frommilliseconds_616',['FromMilliseconds',['../classkudu_1_1MonoDelta.html#ac5c505cedf9a8a8ce7082c347fb4363a',1,'kudu::MonoDelta']]], + ['fromnanoseconds_617',['FromNanoseconds',['../classkudu_1_1MonoDelta.html#ae9e5f2bd1058b01309f82ae960520819',1,'kudu::MonoDelta']]], + ['fromseconds_618',['FromSeconds',['../classkudu_1_1MonoDelta.html#a87624954c9ebd4a2c255910072592db1',1,'kudu::MonoDelta']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_6.html b/releases/1.17.1/cpp-client-api/search/functions_6.html new file mode 100644 index 0000000000..743ec26dad --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_6.js b/releases/1.17.1/cpp-client-api/search/functions_6.js new file mode 100644 index 0000000000..e71a2d39b5 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_6.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['get_619',['Get',['../classkudu_1_1client_1_1ResourceMetrics.html#ae46eb43e391c642b521fb6febcaea936',1,'kudu::client::ResourceMetrics']]], + ['getautoincrementingcolumnindex_620',['GetAutoIncrementingColumnIndex',['../classkudu_1_1client_1_1KuduSchema.html#a1046a0fe630aa8eacf91624c908ffd5e',1,'kudu::client::KuduSchema']]], + ['getautoincrementingcolumnname_621',['GetAutoIncrementingColumnName',['../classkudu_1_1client_1_1KuduSchema.html#a65f0668c974b56e244df66d085bceed5',1,'kudu::client::KuduSchema']]], + ['getbinary_622',['GetBinary',['../classkudu_1_1client_1_1KuduScanBatch.html#a2fc063d4fb631b14f5651a84861ffa4b',1,'kudu::client::KuduScanBatch::GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a921dfdeba21588f7a3c2d5e360d3268e',1,'kudu::client::KuduScanBatch::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#aa144a55744bff07d34cd9db7788cb38e',1,'KuduPartialRow::GetBinary(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1c6b9c1cdf9f80ddeea53117ddc5545d',1,'KuduPartialRow::GetBinary(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]], + ['getbool_623',['GetBool',['../classkudu_1_1client_1_1KuduScanBatch.html#a3b1a867cf2fd47b697fe3a68e28fadd8',1,'kudu::client::KuduScanBatch::GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1044c3b78e5a6407c2a797005b0e21',1,'kudu::client::KuduScanBatch::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a8087c08eae65c609192c0dc0960334c2',1,'KuduPartialRow::GetBool(const Slice &col_name, bool *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#afd863a5f5a4803a89f6a2db06ba54931',1,'KuduPartialRow::GetBool(int col_idx, bool *val) const WARN_UNUSED_RESULT']]], + ['getcurrentserver_624',['GetCurrentServer',['../classkudu_1_1client_1_1KuduScanner.html#ac2bce7bd17627a3aa46f7d7fdb4c0c10',1,'kudu::client::KuduScanner']]], + ['getdate_625',['GetDate',['../classkudu_1_1client_1_1KuduScanBatch.html#a160ee809dbe15fa456c509ef658368bb',1,'kudu::client::KuduScanBatch::GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#afed25c9aadd0c6314aa3dd0acee9da54',1,'kudu::client::KuduScanBatch::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a06ca4331c1fd13caadf7346805fdfc97',1,'KuduPartialRow::GetDate(const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#af0a4c7c7b575a9349195f4f2a8882428',1,'KuduPartialRow::GetDate(int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT']]], + ['getdeltasince_626',['GetDeltaSince',['../classkudu_1_1MonoTime.html#ad88335c25fbf1994ff4bce3c3d13219e',1,'kudu::MonoTime']]], + ['getdouble_627',['GetDouble',['../classkudu_1_1client_1_1KuduScanBatch.html#a7d09dafc214133f2306eebc9aefddff0',1,'kudu::client::KuduScanBatch::GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab2b7fb17cac4571139b2eaca761a99c0',1,'kudu::client::KuduScanBatch::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5ee25fdcff40d212e8e7cad67675c8fd',1,'KuduPartialRow::GetDouble(const Slice &col_name, double *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a4b4fae6f8be68e97b0e7145ea55fae9f',1,'KuduPartialRow::GetDouble(int col_idx, double *val) const WARN_UNUSED_RESULT']]], + ['getfixedlengthcolumn_628',['GetFixedLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a407f9f0dfe0e7f489ef015a422055300',1,'kudu::client::KuduColumnarScanBatch']]], + ['getfloat_629',['GetFloat',['../classkudu_1_1client_1_1KuduScanBatch.html#a70ea98bc135e0b86285530c58e33bff3',1,'kudu::client::KuduScanBatch::GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ae41dd0f1e2b4bf074ded210382b825bd',1,'kudu::client::KuduScanBatch::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9d5bdd73756eb630a7a8268677244afc',1,'KuduPartialRow::GetFloat(const Slice &col_name, float *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a1a53cf17ad2cd746b7512ae3ecd6131f',1,'KuduPartialRow::GetFloat(int col_idx, float *val) const WARN_UNUSED_RESULT']]], + ['getint16_630',['GetInt16',['../classkudu_1_1client_1_1KuduScanBatch.html#afbaff6bf597df2fa0696bdc5cbdfb037',1,'kudu::client::KuduScanBatch::GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab5f35c107dc26165546065189dd53dfa',1,'kudu::client::KuduScanBatch::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5de48c13b1a83abefc0a1b5262f69a93',1,'KuduPartialRow::GetInt16(const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a918cb01437d863fa0a35a9a72b7bac1a',1,'KuduPartialRow::GetInt16(int col_idx, int16_t *val) const WARN_UNUSED_RESULT']]], + ['getint32_631',['GetInt32',['../classkudu_1_1client_1_1KuduScanBatch.html#abc5120c7aadb029e442235a7131f6fd2',1,'kudu::client::KuduScanBatch::GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab321b8c245cc1748c3b3ecdf507b08fb',1,'kudu::client::KuduScanBatch::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9956360f9208549aab03d9284ff80b46',1,'KuduPartialRow::GetInt32(const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a869dcfb0e7847489b31b125e79e683dc',1,'KuduPartialRow::GetInt32(int col_idx, int32_t *val) const WARN_UNUSED_RESULT']]], + ['getint64_632',['GetInt64',['../classkudu_1_1client_1_1KuduScanBatch.html#a51d43f077b4510b58a2fd471ae81f7b0',1,'kudu::client::KuduScanBatch::GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#ab59039c6f073df0b57ddc16fb8d8c432',1,'kudu::client::KuduScanBatch::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ae64a1264303b8081cf5ee8dbd44fc6dc',1,'KuduPartialRow::GetInt64(const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a9ded00965652dde7d94769f01df01dc9',1,'KuduPartialRow::GetInt64(int col_idx, int64_t *val) const WARN_UNUSED_RESULT']]], + ['getint8_633',['GetInt8',['../classkudu_1_1client_1_1KuduScanBatch.html#a7bfea7b94e64073562892445a2a2ac7b',1,'kudu::client::KuduScanBatch::GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a81a30b5b89f6fa106b5d8575c3fb62b9',1,'kudu::client::KuduScanBatch::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a3cb0b4c5358ac4b42551f016f8a1cad4',1,'KuduPartialRow::GetInt8(const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ada872affe8163dfa6420c0f191f9c650',1,'KuduPartialRow::GetInt8(int col_idx, int8_t *val) const WARN_UNUSED_RESULT']]], + ['getkudutable_634',['GetKuduTable',['../classkudu_1_1client_1_1KuduScanner.html#a1d27c0482c3697be6458ee300bf1250a',1,'kudu::client::KuduScanner']]], + ['getlatestobservedtimestamp_635',['GetLatestObservedTimestamp',['../classkudu_1_1client_1_1KuduClient.html#aa4af2abf2a56d92d8795662fa090baa9',1,'kudu::client::KuduClient']]], + ['getmetric_636',['GetMetric',['../classkudu_1_1client_1_1ResourceMetrics.html#ae9d5ad8c55283103999e47a5bf754bdc',1,'kudu::client::ResourceMetrics']]], + ['getnonnullbitmapforcolumn_637',['GetNonNullBitmapForColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#aeab3521399ba6aa8672cc9fa6e626312',1,'kudu::client::KuduColumnarScanBatch']]], + ['getpendingerrors_638',['GetPendingErrors',['../classkudu_1_1client_1_1KuduSession.html#ad5e3521623338de49cfd62914bdcb2f7',1,'kudu::client::KuduSession']]], + ['getprimarykeycolumnindexes_639',['GetPrimaryKeyColumnIndexes',['../classkudu_1_1client_1_1KuduSchema.html#a3bf9ce84b09d7ed9fb488433a5f322e9',1,'kudu::client::KuduSchema']]], + ['getprojectionschema_640',['GetProjectionSchema',['../classkudu_1_1client_1_1KuduScanner.html#a698eb4ea965b5f7d32770fff46635b82',1,'kudu::client::KuduScanner']]], + ['getresourcemetrics_641',['GetResourceMetrics',['../classkudu_1_1client_1_1KuduScanner.html#ae2cd8d87f9469665ae06bd00d11b8337',1,'kudu::client::KuduScanner']]], + ['getserial_642',['GetSerial',['../classKuduPartialRow.html#a9d333dcf9f66eed2f2a8fb25280b8956',1,'KuduPartialRow::GetSerial(const Slice &col_name, uint64_t *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a865a0ce2380015e0657f4ebc88d291a5',1,'KuduPartialRow::GetSerial(int col_idx, uint64_t *val) const WARN_UNUSED_RESULT']]], + ['getstring_643',['GetString',['../classkudu_1_1client_1_1KuduScanBatch.html#ad8f9ba0ff9a1fcd8326b012e689ad4a7',1,'kudu::client::KuduScanBatch::GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a887dd6b7e20ada26ee705c315fd86b56',1,'kudu::client::KuduScanBatch::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a0c31a9a374229b15103111913c8378ee',1,'KuduPartialRow::GetString(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a6867fbfce181081810ab2522fbf764bd',1,'KuduPartialRow::GetString(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]], + ['gettableschema_644',['GetTableSchema',['../classkudu_1_1client_1_1KuduClient.html#a2aa649e05e0cfb0e10ebce98fb4d7a65',1,'kudu::client::KuduClient']]], + ['getunixtimemicros_645',['GetUnixTimeMicros',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1261a486faa04d0c984b50132e0a4a3',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#acc4dfced2215c5115fecb647fa73e4e7',1,'kudu::client::KuduScanBatch::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a5aa39a18379e4339ac88138dfc5223f8',1,'KuduPartialRow::GetUnixTimeMicros(const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ab328b8a04618328a7b4c72217138e246',1,'KuduPartialRow::GetUnixTimeMicros(int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT']]], + ['getvarchar_646',['GetVarchar',['../classkudu_1_1client_1_1KuduScanBatch.html#a291fde9bf246b6f9277edb8d8ef214bb',1,'kudu::client::KuduScanBatch::GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classkudu_1_1client_1_1KuduScanBatch.html#a110b51d5b7544a30c854ad64db19450b',1,'kudu::client::KuduScanBatch::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#ad823d725e2e1fef446a7f1e25ffb0a6d',1,'KuduPartialRow::GetVarchar(const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT'],['../classKuduPartialRow.html#a92a85cbf52028798b6f3c00545f82d0b',1,'KuduPartialRow::GetVarchar(int col_idx, Slice *val) const WARN_UNUSED_RESULT']]], + ['getvariablelengthcolumn_647',['GetVariableLengthColumn',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#a36907b80d801e8f55fc7136e21973ed1',1,'kudu::client::KuduColumnarScanBatch']]], + ['getwriteopmetrics_648',['GetWriteOpMetrics',['../classkudu_1_1client_1_1KuduSession.html#a87d000c0ba97f944d460ec82a140fc7f',1,'kudu::client::KuduSession']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_7.html b/releases/1.17.1/cpp-client-api/search/functions_7.html new file mode 100644 index 0000000000..437a6040dc --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_7.js b/releases/1.17.1/cpp-client-api/search/functions_7.js new file mode 100644 index 0000000000..7d13ec6365 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_7.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['hascolumn_649',['HasColumn',['../classkudu_1_1client_1_1KuduSchema.html#a3cbc77c6136806551c99bf84b94e691a',1,'kudu::client::KuduSchema']]], + ['hash_5falgorithm_650',['hash_algorithm',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#aa314b4febf56d1ff450d95134457da57',1,'kudu::client::KuduBloomFilterBuilder']]], + ['hash_5fseed_651',['hash_seed',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a1a72fd2c18e62054a64b2900fa6c4356',1,'kudu::client::KuduBloomFilterBuilder']]], + ['hasmorerows_652',['HasMoreRows',['../classkudu_1_1client_1_1KuduScanner.html#a4c4f46e8da9053621727a2e365196c94',1,'kudu::client::KuduScanner']]], + ['haspendingoperations_653',['HasPendingOperations',['../classkudu_1_1client_1_1KuduSession.html#a97a807a4f85220a0be72b2618f0bd578',1,'kudu::client::KuduSession']]], + ['hostname_654',['hostname',['../classkudu_1_1client_1_1KuduTabletServer.html#a2b25121a16e203f2fa673644950da1d1',1,'kudu::client::KuduTabletServer']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_8.html b/releases/1.17.1/cpp-client-api/search/functions_8.html new file mode 100644 index 0000000000..38ecf563af --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_8.js b/releases/1.17.1/cpp-client-api/search/functions_8.js new file mode 100644 index 0000000000..31c244c3c7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_8.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['id_655',['id',['../classkudu_1_1client_1_1KuduTablet.html#a3d38d4bb09f0c135e999290d03dea837',1,'kudu::client::KuduTablet::id()'],['../classkudu_1_1client_1_1KuduTable.html#ac5436bdd675d45de6c2980f3a05f5e20',1,'kudu::client::KuduTable::id()']]], + ['illegalstate_656',['IllegalState',['../classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b',1,'kudu::Status']]], + ['immutable_657',['Immutable',['../classkudu_1_1client_1_1KuduColumnSpec.html#a41a1605b45558f1038950806143bd0ee',1,'kudu::client::KuduColumnSpec::Immutable()'],['../classkudu_1_1Status.html#a1e758639c51a877b704824321b1cb28f',1,'kudu::Status::Immutable()']]], + ['import_5fauthentication_5fcredentials_658',['import_authentication_credentials',['../classkudu_1_1client_1_1KuduClientBuilder.html#a5c411bc4638cbf77e5d318f5049b0b7e',1,'kudu::client::KuduClientBuilder']]], + ['includetablemetadata_659',['IncludeTableMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#a793300a4e76a649536797244abbb94a3',1,'kudu::client::KuduScanTokenBuilder']]], + ['includetabletmetadata_660',['IncludeTabletMetadata',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#acc2f556dc0e6fd2501e81722fcb75843',1,'kudu::client::KuduScanTokenBuilder']]], + ['incomplete_661',['Incomplete',['../classkudu_1_1Status.html#ab70860cab096ae35d905a5d15241d69b',1,'kudu::Status']]], + ['increment_662',['Increment',['../classkudu_1_1client_1_1ResourceMetrics.html#ae7b5f6021f63c25bbd087ba2cf48dc8a',1,'kudu::client::ResourceMetrics']]], + ['indirect_5fdata_663',['indirect_data',['../classkudu_1_1client_1_1KuduScanBatch.html#a3cb4c17aa228e680ecf088a29a075989',1,'kudu::client::KuduScanBatch']]], + ['initialized_664',['Initialized',['../classkudu_1_1MonoDelta.html#a2aaa30660bd168200074330f098f680a',1,'kudu::MonoDelta::Initialized()'],['../classkudu_1_1MonoTime.html#aa5165db9e7b4f83a66e22d2c8cba9728',1,'kudu::MonoTime::Initialized()']]], + ['insert_665',['Insert',['../classkudu_1_1client_1_1KuduBloomFilter.html#aff2d94e3e2b1013174d7bad35e93b678',1,'kudu::client::KuduBloomFilter']]], + ['intokuduscanner_666',['IntoKuduScanner',['../classkudu_1_1client_1_1KuduScanToken.html#adb95c9538bb1fc4c83963557ce487292',1,'kudu::client::KuduScanToken']]], + ['invalidargument_667',['InvalidArgument',['../classkudu_1_1Status.html#ab2b8ecb3407d7cdfc3c7650708d3fef4',1,'kudu::Status']]], + ['ioerror_668',['IOError',['../classkudu_1_1Status.html#a41a842907942a84ac34f0912de723862',1,'kudu::Status']]], + ['is_5fimmutable_669',['is_immutable',['../classkudu_1_1client_1_1KuduColumnSchema.html#ac715994713e7b852bd1b94a977223d5f',1,'kudu::client::KuduColumnSchema']]], + ['is_5fleader_670',['is_leader',['../classkudu_1_1client_1_1KuduReplica.html#a383c26df7f94bca3acffddda1a7d12f5',1,'kudu::client::KuduReplica']]], + ['is_5fnullable_671',['is_nullable',['../classkudu_1_1client_1_1KuduColumnSchema.html#a3f8197dd468546ce83e21481a361c1ec',1,'kudu::client::KuduColumnSchema']]], + ['isaborted_672',['IsAborted',['../classkudu_1_1Status.html#a6640d27d5c48d9257b9ba19416530874',1,'kudu::Status']]], + ['isalreadypresent_673',['IsAlreadyPresent',['../classkudu_1_1Status.html#a4e0c73bb6bb9c78d590c1d1f6d4c7282',1,'kudu::Status']]], + ['isaltertableinprogress_674',['IsAlterTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a7a331e528759296089837b4611c01809',1,'kudu::client::KuduClient']]], + ['isautoincrementingcolumnset_675',['IsAutoIncrementingColumnSet',['../classKuduPartialRow.html#a6c8baad6b3de7d137fb1d07093d15a1c',1,'KuduPartialRow']]], + ['iscolumnset_676',['IsColumnSet',['../classKuduPartialRow.html#aaa665d17637cd02e53cde5c68186daf8',1,'KuduPartialRow::IsColumnSet(const Slice &col_name) const'],['../classKuduPartialRow.html#a6a87c89208b635dc275c34dea9830fdf',1,'KuduPartialRow::IsColumnSet(int col_idx) const']]], + ['iscommitcomplete_677',['IsCommitComplete',['../classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee',1,'kudu::client::KuduTransaction']]], + ['isconfigurationerror_678',['IsConfigurationError',['../classkudu_1_1Status.html#aa15dd07c7e6cf0d7ddf152ad2e8dbfef',1,'kudu::Status']]], + ['iscorruption_679',['IsCorruption',['../classkudu_1_1Status.html#a4f22e819a88715855c0700a42116efc4',1,'kudu::Status']]], + ['iscreatetableinprogress_680',['IsCreateTableInProgress',['../classkudu_1_1client_1_1KuduClient.html#a2f0323b439d8658b2ac31fde7f46de63',1,'kudu::client::KuduClient']]], + ['isdeleted_681',['IsDeleted',['../classkudu_1_1client_1_1KuduScanBatch.html#a2c1f65ffcc1216f583f3ad1b468021f3',1,'kudu::client::KuduScanBatch']]], + ['isdiskfailure_682',['IsDiskFailure',['../classkudu_1_1Status.html#aa3b4e9aa437a3b42371505a496b14f9c',1,'kudu::Status']]], + ['isendoffile_683',['IsEndOfFile',['../classkudu_1_1Status.html#a16814843bac757a1c9559fd3e9ec7ae6',1,'kudu::Status']]], + ['isillegalstate_684',['IsIllegalState',['../classkudu_1_1Status.html#ad3f3cd05b402351f260f8ee528d13f24',1,'kudu::Status']]], + ['isimmutable_685',['IsImmutable',['../classkudu_1_1Status.html#ad9f800c333e214ad3f30acbf8b1ecf79',1,'kudu::Status']]], + ['isincomplete_686',['IsIncomplete',['../classkudu_1_1Status.html#ac78fdef5d20751a791a1944d9ece0ee7',1,'kudu::Status']]], + ['isinvalidargument_687',['IsInvalidArgument',['../classkudu_1_1Status.html#a067cd380b0babb8133636a423524426b',1,'kudu::Status']]], + ['isioerror_688',['IsIOError',['../classkudu_1_1Status.html#a63c36a062e1f3ac68ec8ee2f032da250',1,'kudu::Status']]], + ['iskeyset_689',['IsKeySet',['../classKuduPartialRow.html#a3db12a1c2807ed0e49ca2ba933248fa1',1,'KuduPartialRow']]], + ['ismultimaster_690',['IsMultiMaster',['../classkudu_1_1client_1_1KuduClient.html#a1e1363d5dfab959b0d9ca98bfd390433',1,'kudu::client::KuduClient']]], + ['isnetworkerror_691',['IsNetworkError',['../classkudu_1_1Status.html#ad4acc174b0c45945ba180f4c6cf8b431',1,'kudu::Status']]], + ['isnonuniquekeyset_692',['IsNonUniqueKeySet',['../classKuduPartialRow.html#a547dccd7989f83dcc5d27f9d84eec401',1,'KuduPartialRow']]], + ['isnotauthorized_693',['IsNotAuthorized',['../classkudu_1_1Status.html#ac850292b4c11cc4736d80d5e03805171',1,'kudu::Status']]], + ['isnotfound_694',['IsNotFound',['../classkudu_1_1Status.html#a98720ec81c8af525c363999d526b4efd',1,'kudu::Status']]], + ['isnotsupported_695',['IsNotSupported',['../classkudu_1_1Status.html#ab07ec85036fcbebe4987e588997076ea',1,'kudu::Status']]], + ['isnull_696',['IsNull',['../classkudu_1_1client_1_1KuduScanBatch.html#ad1bdf4368f87e0d83d9066584b2b2047',1,'kudu::client::KuduScanBatch::IsNull(const Slice &col_name) const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a63aa794845d41cc5251ee5d30547e520',1,'kudu::client::KuduScanBatch::IsNull(int col_idx) const'],['../classKuduPartialRow.html#a9288c78e2a10cd9feb1189110e04e186',1,'KuduPartialRow::IsNull(const Slice &col_name) const'],['../classKuduPartialRow.html#a32617fcbfa1b7c119a6c27596ab0d648',1,'KuduPartialRow::IsNull(int col_idx) const']]], + ['isremoteerror_697',['IsRemoteError',['../classkudu_1_1Status.html#a100f6f01e8bcdefb67f6e7fb17146ee6',1,'kudu::Status']]], + ['isruntimeerror_698',['IsRuntimeError',['../classkudu_1_1Status.html#ae0cb472b2431a7898769fc0263908ae8',1,'kudu::Status']]], + ['isserviceunavailable_699',['IsServiceUnavailable',['../classkudu_1_1Status.html#a9f9f0d6696809fa52af0e34e18477668',1,'kudu::Status']]], + ['istimedout_700',['IsTimedOut',['../classkudu_1_1Status.html#a1f9cf3d3393efb81be08f18ccedb3e03',1,'kudu::Status']]], + ['isuninitialized_701',['IsUninitialized',['../classkudu_1_1Status.html#a20ddf7be88cb0f304e4fe9ac2402f00b',1,'kudu::Status']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_9.html b/releases/1.17.1/cpp-client-api/search/functions_9.html new file mode 100644 index 0000000000..5c952f054c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_9.js b/releases/1.17.1/cpp-client-api/search/functions_9.js new file mode 100644 index 0000000000..b0b4c7aa64 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jwt_702',['jwt',['../classkudu_1_1client_1_1KuduClientBuilder.html#aba292cfe8509d0280274f6b6073b6f31',1,'kudu::client::KuduClientBuilder']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_a.html b/releases/1.17.1/cpp-client-api/search/functions_a.html new file mode 100644 index 0000000000..c6fdd86d8b --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_a.js b/releases/1.17.1/cpp-client-api/search/functions_a.js new file mode 100644 index 0000000000..1cfb86b674 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_a.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['keepalive_703',['KeepAlive',['../classkudu_1_1client_1_1KuduScanner.html#aa4a0caf7142880255d7aac1d75f33d21',1,'kudu::client::KuduScanner::KeepAlive()'],['../classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#a7c296a5bb34839e0be7c9191d595f24f',1,'kudu::client::KuduTransaction::SerializationOptions::keepalive()']]], + ['kudubloomfilterbuilder_704',['KuduBloomFilterBuilder',['../classkudu_1_1client_1_1KuduBloomFilterBuilder.html#a4da74bd04dac54419fc0495cd25c70f4',1,'kudu::client::KuduBloomFilterBuilder']]], + ['kuducolumnschema_705',['KuduColumnSchema',['../classkudu_1_1client_1_1KuduColumnSchema.html#afc82e98af83ba61079ba5d30401b5872',1,'kudu::client::KuduColumnSchema']]], + ['kuducolumnstorageattributes_706',['KuduColumnStorageAttributes',['../classkudu_1_1client_1_1KuduColumnStorageAttributes.html#a9bd5f6bce0a7369da5cd1f60341d1d71',1,'kudu::client::KuduColumnStorageAttributes']]], + ['kuducolumntypeattributes_707',['KuduColumnTypeAttributes',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#afdfe9a35df0360457583e303fdfe3eae',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(const KuduColumnTypeAttributes &other)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#abbdc4a2daa6ee10ee57cb6258bc996f4',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(int8_t precision, int8_t scale)'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#a7016919f1c5eda0a47365381e26315fe',1,'kudu::client::KuduColumnTypeAttributes::KuduColumnTypeAttributes(uint16_t length)']]], + ['kuduloggingfunctioncallback_708',['KuduLoggingFunctionCallback',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a4263c504b21e0e5827f47a902e908a2c',1,'kudu::client::KuduLoggingFunctionCallback']]], + ['kuduloggingmembercallback_709',['KuduLoggingMemberCallback',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#aeda4119b1288db0d055c9800e3485fd8',1,'kudu::client::KuduLoggingMemberCallback']]], + ['kudupartialrow_710',['KuduPartialRow',['../classKuduPartialRow.html#a9eb1cbd1b216f6313a03c82ab67112e4',1,'KuduPartialRow::KuduPartialRow(const Schema *schema)'],['../classKuduPartialRow.html#ab4ebb399982edbb3e877e38a74c700f1',1,'KuduPartialRow::KuduPartialRow(const KuduPartialRow &other)']]], + ['kudupartitionerbuilder_711',['KuduPartitionerBuilder',['../classkudu_1_1client_1_1KuduPartitionerBuilder.html#a27d130235be1c2691779e1d97732a4ba',1,'kudu::client::KuduPartitionerBuilder']]], + ['kudurangepartition_712',['KuduRangePartition',['../classkudu_1_1client_1_1KuduRangePartition.html#aaf93ca40a722e32ec3542cf25212cc24',1,'kudu::client::KuduRangePartition']]], + ['kuduscanner_713',['KuduScanner',['../classkudu_1_1client_1_1KuduScanner.html#a2c621f778072a02f4092e96a0baf8180',1,'kudu::client::KuduScanner']]], + ['kuduscantokenbuilder_714',['KuduScanTokenBuilder',['../classkudu_1_1client_1_1KuduScanTokenBuilder.html#aa8d300b560d419030abd503b66812484',1,'kudu::client::KuduScanTokenBuilder']]], + ['kuduschema_715',['KuduSchema',['../classkudu_1_1client_1_1KuduSchema.html#a41a683f3d93357fe68531bf71df39d02',1,'kudu::client::KuduSchema']]], + ['kudustatusfunctioncallback_716',['KuduStatusFunctionCallback',['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#aca289bbf6ad9720bd74a90550f6c9b3b',1,'kudu::client::KuduStatusFunctionCallback']]], + ['kudustatusmembercallback_717',['KuduStatusMemberCallback',['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#acdb02b9798adf2c80b39cfb024f199aa',1,'kudu::client::KuduStatusMemberCallback']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_b.html b/releases/1.17.1/cpp-client-api/search/functions_b.html new file mode 100644 index 0000000000..52a6a34cb7 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_b.js b/releases/1.17.1/cpp-client-api/search/functions_b.js new file mode 100644 index 0000000000..1736c1908d --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_b.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['length_718',['Length',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae12c40324397f844d9c8c7c3a6cf49cd',1,'kudu::client::KuduColumnSpec::Length()'],['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab1229cc98abde1bbc7263d565aaa5b04',1,'kudu::client::KuduColumnTypeAttributes::length()']]], + ['lessthan_719',['LessThan',['../classkudu_1_1MonoDelta.html#a5ebe4c7fb832419217772ca264f27b79',1,'kudu::MonoDelta']]], + ['listsoftdeletedtables_720',['ListSoftDeletedTables',['../classkudu_1_1client_1_1KuduClient.html#a787b245a1aa23263da43eb2cf891a4ad',1,'kudu::client::KuduClient']]], + ['listtables_721',['ListTables',['../classkudu_1_1client_1_1KuduClient.html#a3ab09f69753b8c99ac7b2eeed03faa1d',1,'kudu::client::KuduClient']]], + ['listtabletservers_722',['ListTabletServers',['../classkudu_1_1client_1_1KuduClient.html#ae283a49551a081524b41f5d8e51e68d9',1,'kudu::client::KuduClient']]], + ['live_5frow_5fcount_723',['live_row_count',['../classkudu_1_1client_1_1KuduTableStatistics.html#aaf8ca7f5f9f4640e517c1b33235450d1',1,'kudu::client::KuduTableStatistics']]], + ['live_5frow_5fcount_5flimit_724',['live_row_count_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#aec261d988a4083bdb74bf39d52bfc1dd',1,'kudu::client::KuduTableStatistics']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_c.html b/releases/1.17.1/cpp-client-api/search/functions_c.html new file mode 100644 index 0000000000..e88e96c518 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_c.js b/releases/1.17.1/cpp-client-api/search/functions_c.js new file mode 100644 index 0000000000..c3f840bab8 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_c.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['master_5fserver_5faddrs_725',['master_server_addrs',['../classkudu_1_1client_1_1KuduClientBuilder.html#a0c1b92afad7a6e21c5ea781fb7d42114',1,'kudu::client::KuduClientBuilder']]], + ['max_726',['Max',['../classkudu_1_1MonoTime.html#a28d08092b30ccefc5e45a6e228034ef9',1,'kudu::MonoTime']]], + ['memory_5ffootprint_5fexcluding_5fthis_727',['memory_footprint_excluding_this',['../classkudu_1_1Status.html#a50bb6e301bdad1d168e4366be4c41da9',1,'kudu::Status']]], + ['memory_5ffootprint_5fincluding_5fthis_728',['memory_footprint_including_this',['../classkudu_1_1Status.html#a1286f2c8962cd3d0a2a6e7002092711c',1,'kudu::Status']]], + ['message_729',['message',['../classkudu_1_1Status.html#aefdf27f7ae0c91ee737896ac91d86796',1,'kudu::Status']]], + ['min_730',['Min',['../classkudu_1_1MonoTime.html#acf4fc0351fe9245431932e481e002b99',1,'kudu::MonoTime']]], + ['monodelta_731',['MonoDelta',['../classkudu_1_1MonoDelta.html#ad0646900f0927ad9be6302fcda8bfe5f',1,'kudu::MonoDelta']]], + ['monotime_732',['MonoTime',['../classkudu_1_1MonoTime.html#a2b4ab1fcb91b2d9dbaf277a9ad44609b',1,'kudu::MonoTime']]], + ['morethan_733',['MoreThan',['../classkudu_1_1MonoDelta.html#ae1175ef48b67152c7dbedf47af665d02',1,'kudu::MonoDelta']]], + ['mutable_734',['Mutable',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae20f20b7832a399da1d9843c876b0627',1,'kudu::client::KuduColumnSpec']]], + ['mutable_5fdata_735',['mutable_data',['../classkudu_1_1Slice.html#a2771156d34daa166067b8d319ad7d164',1,'kudu::Slice']]], + ['mutable_5frow_736',['mutable_row',['../classkudu_1_1client_1_1KuduWriteOperation.html#a8889770ce62e2ca0ce5d55c9c90af6bc',1,'kudu::client::KuduWriteOperation']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_d.html b/releases/1.17.1/cpp-client-api/search/functions_d.html new file mode 100644 index 0000000000..a47af2d42a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_d.js b/releases/1.17.1/cpp-client-api/search/functions_d.js new file mode 100644 index 0000000000..6425242a13 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_d.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['name_737',['name',['../classkudu_1_1client_1_1KuduTable.html#ae1ada81a49d909fab15694ed3e2f5244',1,'kudu::client::KuduTable::name()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a1cda4c693af7226ddde29bf70da4cfcf',1,'kudu::client::KuduColumnSchema::name()']]], + ['nanostotimespec_738',['NanosToTimeSpec',['../classkudu_1_1MonoDelta.html#a4854924550c571f8af548270da52ac22',1,'kudu::MonoDelta']]], + ['networkerror_739',['NetworkError',['../classkudu_1_1Status.html#abd07058e176fba0e87c48e955a97f0af',1,'kudu::Status']]], + ['newcomparisonpredicate_740',['NewComparisonPredicate',['../classkudu_1_1client_1_1KuduTable.html#aed6c3571aff35270a3e6cd66770f1cea',1,'kudu::client::KuduTable']]], + ['newdelete_741',['NewDelete',['../classkudu_1_1client_1_1KuduTable.html#ad873078bdbcafe015d359a65c370a89a',1,'kudu::client::KuduTable']]], + ['newdeleteignore_742',['NewDeleteIgnore',['../classkudu_1_1client_1_1KuduTable.html#aab4f670329e21099dadafa574c4ad094',1,'kudu::client::KuduTable']]], + ['newinbloomfilterpredicate_743',['NewInBloomFilterPredicate',['../classkudu_1_1client_1_1KuduTable.html#a356e8d0d10491d4d8540adefac86be94',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &col_name, std::vector< KuduBloomFilter * > *bloom_filters)'],['../classkudu_1_1client_1_1KuduTable.html#aff0381dcf80981edfa7182618b9fc7a3',1,'kudu::client::KuduTable::NewInBloomFilterPredicate(const Slice &col_name, const std::vector< Slice > &bloom_filters)']]], + ['newinlistpredicate_744',['NewInListPredicate',['../classkudu_1_1client_1_1KuduTable.html#a453ffb83cf7c12541caba5ea182fadd9',1,'kudu::client::KuduTable']]], + ['newinsert_745',['NewInsert',['../classkudu_1_1client_1_1KuduTable.html#a0c78f86c5d0fbf53437c2c9db26f92b6',1,'kudu::client::KuduTable']]], + ['newinsertignore_746',['NewInsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a2cc4b8f9fcbff1450d0a056e8f9a8103',1,'kudu::client::KuduTable']]], + ['newisnotnullpredicate_747',['NewIsNotNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#af6e70f115cf3c0359b1c170533a2d523',1,'kudu::client::KuduTable']]], + ['newisnullpredicate_748',['NewIsNullPredicate',['../classkudu_1_1client_1_1KuduTable.html#a5f453909cdeda167ad15506358470466',1,'kudu::client::KuduTable']]], + ['newrow_749',['NewRow',['../classkudu_1_1client_1_1KuduSchema.html#a6988d1b2a64b9da6b2d013ce556726e1',1,'kudu::client::KuduSchema']]], + ['newsession_750',['NewSession',['../classkudu_1_1client_1_1KuduClient.html#a1f5b9bf8767b44f03f4d3220dfd5f925',1,'kudu::client::KuduClient']]], + ['newtablealterer_751',['NewTableAlterer',['../classkudu_1_1client_1_1KuduClient.html#a116bbcf13dc0991ad2a3129630075aea',1,'kudu::client::KuduClient']]], + ['newtablecreator_752',['NewTableCreator',['../classkudu_1_1client_1_1KuduClient.html#a003f13604b4fb378f61e133a9b49d153',1,'kudu::client::KuduClient']]], + ['newtransaction_753',['NewTransaction',['../classkudu_1_1client_1_1KuduClient.html#acce5fd87acb241d2ce2686545f423345',1,'kudu::client::KuduClient']]], + ['newupdate_754',['NewUpdate',['../classkudu_1_1client_1_1KuduTable.html#a7e95271452d608fc2b563f7b46ddcda8',1,'kudu::client::KuduTable']]], + ['newupdateignore_755',['NewUpdateIgnore',['../classkudu_1_1client_1_1KuduTable.html#abf0432f09886b3df1ab64c61227f4bf3',1,'kudu::client::KuduTable']]], + ['newupsert_756',['NewUpsert',['../classkudu_1_1client_1_1KuduTable.html#a19e92dbaeeff86c5d707b15b2a7051fc',1,'kudu::client::KuduTable']]], + ['newupsertignore_757',['NewUpsertIgnore',['../classkudu_1_1client_1_1KuduTable.html#a4c9ecaa28356d3c40464a463155424eb',1,'kudu::client::KuduTable']]], + ['nextbatch_758',['NextBatch',['../classkudu_1_1client_1_1KuduScanner.html#a409a42496942e93df5f4879b7a348e87',1,'kudu::client::KuduScanner::NextBatch(std::vector< KuduRowResult > *rows)'],['../classkudu_1_1client_1_1KuduScanner.html#af1475d9a0667839c1ed9c3714b47d487',1,'kudu::client::KuduScanner::NextBatch(KuduScanBatch *batch)'],['../classkudu_1_1client_1_1KuduScanner.html#a6508528f880d73d7d66e37752130fb81',1,'kudu::client::KuduScanner::NextBatch(KuduColumnarScanBatch *batch)']]], + ['nonuniqueprimarykey_759',['NonUniquePrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#ae354981cea61210ebb1ba3791f03745d',1,'kudu::client::KuduColumnSpec']]], + ['notauthorized_760',['NotAuthorized',['../classkudu_1_1Status.html#ac9f5fdc99726585961544969dcb3b2ba',1,'kudu::Status']]], + ['notfound_761',['NotFound',['../classkudu_1_1Status.html#aa8230a85d171ad384e028e5782d097b3',1,'kudu::Status']]], + ['notnull_762',['NotNull',['../classkudu_1_1client_1_1KuduColumnSpec.html#af8c64c5a8a7a93ec644d481f23d91cca',1,'kudu::client::KuduColumnSpec']]], + ['notsupported_763',['NotSupported',['../classkudu_1_1Status.html#a7c0794b535ba74db59d6d614b385b29c',1,'kudu::Status']]], + ['now_764',['Now',['../classkudu_1_1MonoTime.html#a6c83d5c31e6ea5a869a655646f924783',1,'kudu::MonoTime']]], + ['nullable_765',['Nullable',['../classkudu_1_1client_1_1KuduColumnSpec.html#aab05d7d45f4cd2dadb8e0c715d87e841',1,'kudu::client::KuduColumnSpec']]], + ['num_5fcolumns_766',['num_columns',['../classkudu_1_1client_1_1KuduSchema.html#ab3b5137cd28ed0dbdfa5d064879baf74',1,'kudu::client::KuduSchema']]], + ['num_5freactors_767',['num_reactors',['../classkudu_1_1client_1_1KuduClientBuilder.html#a66ba0fb68608ebc4a6c7e9148848cddb',1,'kudu::client::KuduClientBuilder']]], + ['num_5freplicas_768',['num_replicas',['../classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139',1,'kudu::client::KuduTableCreator::num_replicas()'],['../classkudu_1_1client_1_1KuduTable.html#ac8f62fdc5c12af06fc9cec0f1d006fed',1,'kudu::client::KuduTable::num_replicas()']]], + ['numpartitions_769',['NumPartitions',['../classkudu_1_1client_1_1KuduPartitioner.html#a73fa744430a09ba8c75410f07882714a',1,'kudu::client::KuduPartitioner']]], + ['numrows_770',['NumRows',['../classkudu_1_1client_1_1KuduColumnarScanBatch.html#acd1c9a1f894dc35fdb3e9e04ecb100e7',1,'kudu::client::KuduColumnarScanBatch::NumRows()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a252ffd623dbaa7d725d623fd220fee4c',1,'kudu::client::KuduScanBatch::NumRows()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_e.html b/releases/1.17.1/cpp-client-api/search/functions_e.html new file mode 100644 index 0000000000..2c24e2e4d1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_e.js b/releases/1.17.1/cpp-client-api/search/functions_e.js new file mode 100644 index 0000000000..499ca03c42 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_e.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['ok_771',['ok',['../classkudu_1_1Status.html#ae0c248c3ebd9f77546917ccebde029af',1,'kudu::Status::ok() const'],['../classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac',1,'kudu::Status::OK()']]], + ['on_5fdisk_5fsize_772',['on_disk_size',['../classkudu_1_1client_1_1KuduTableStatistics.html#afe152cbb7f239618bfc4625cadba4484',1,'kudu::client::KuduTableStatistics']]], + ['on_5fdisk_5fsize_5flimit_773',['on_disk_size_limit',['../classkudu_1_1client_1_1KuduTableStatistics.html#a111ee4d90863b9e6c3619e712fe72b3a',1,'kudu::client::KuduTableStatistics']]], + ['open_774',['Open',['../classkudu_1_1client_1_1KuduScanner.html#aa1ff3c11d9ac9f8183189ea5ac1ed9f1',1,'kudu::client::KuduScanner']]], + ['opentable_775',['OpenTable',['../classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7',1,'kudu::client::KuduClient']]], + ['operator_21_3d_776',['operator!=',['../classkudu_1_1client_1_1KuduScanBatch.html#a2bf8a53b3486a8b7c62b8d38d5f64ef0',1,'kudu::client::KuduScanBatch::operator!=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a69fa90d3875a7fed44fdd17d399229b7',1,'kudu::client::KuduColumnSchema::operator!=()'],['../classkudu_1_1client_1_1KuduSchema.html#a462f1d5e6abcf8432f7e1cc082b8a702',1,'kudu::client::KuduSchema::operator!=()']]], + ['operator_28_29_777',['operator()',['../structkudu_1_1Slice_1_1Comparator.html#addca89640bb164bc8801414fd7d9e9f5',1,'kudu::Slice::Comparator']]], + ['operator_2a_778',['operator*',['../classkudu_1_1client_1_1KuduScanBatch.html#a5fd788bcce7344ebe1fe33f22c734ab9',1,'kudu::client::KuduScanBatch']]], + ['operator_2b_2b_779',['operator++',['../classkudu_1_1client_1_1KuduScanBatch.html#ad5df483ed3172caab5a8d6a72abfad0c',1,'kudu::client::KuduScanBatch::operator++()'],['../classkudu_1_1client_1_1KuduScanBatch.html#a4b1ad47fd7d429859b6181825a063c48',1,'kudu::client::KuduScanBatch::operator++(int)']]], + ['operator_2b_3d_780',['operator+=',['../classkudu_1_1MonoDelta.html#a895ad22b21a7e93ca80ef02c1d862299',1,'kudu::MonoDelta::operator+=()'],['../classkudu_1_1MonoTime.html#a017b8fce3205d1c9a936d96cc4a5b452',1,'kudu::MonoTime::operator+=()']]], + ['operator_2d_3d_781',['operator-=',['../classkudu_1_1MonoDelta.html#a90f478f2fa4976a4cf7f9efc2ba5e0bb',1,'kudu::MonoDelta::operator-=()'],['../classkudu_1_1MonoTime.html#a2264cf528d0a346e60e0921022333bf8',1,'kudu::MonoTime::operator-=()']]], + ['operator_2d_3e_782',['operator->',['../classkudu_1_1client_1_1KuduScanBatch.html#ad0dc62a642d513742785152e39c0ddaf',1,'kudu::client::KuduScanBatch::operator->() const'],['../classkudu_1_1client_1_1KuduScanBatch.html#a71f62ba8531f6415e9c5cb22621fa84b',1,'kudu::client::KuduScanBatch::operator->() const']]], + ['operator_3c_3c_783',['operator<<',['../classkudu_1_1internal__logging_1_1NullLog.html#abe50abde8e4af12413c99f437094dc8a',1,'kudu::internal_logging::NullLog::operator<<()'],['../classkudu_1_1internal__logging_1_1CerrLog.html#a9febb74005a76f9b203e9718275ab724',1,'kudu::internal_logging::CerrLog::operator<<()']]], + ['operator_3d_784',['operator=',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#adf37f333f1828e722d1f3f19e98685a7',1,'kudu::client::KuduColumnTypeAttributes::operator=()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a4b58da787c8e7dc14987aa74a54f199e',1,'kudu::client::KuduColumnSchema::operator=()'],['../classkudu_1_1client_1_1KuduSchema.html#a7d8f49f184a94cee7993158baf6ae758',1,'kudu::client::KuduSchema::operator=()'],['../classKuduPartialRow.html#a03cab3e1aa0bef19c14f94181934181f',1,'KuduPartialRow::operator=()'],['../classkudu_1_1Status.html#aa387797d8a80892563d56244a2351a88',1,'kudu::Status::operator=()']]], + ['operator_3d_3d_785',['operator==',['../classkudu_1_1client_1_1KuduScanBatch.html#a78f4a33eed6ee9031c1b04146d124a63',1,'kudu::client::KuduScanBatch::operator==()'],['../classkudu_1_1client_1_1KuduColumnSchema.html#a270577f8e3449415a52605d783f56b51',1,'kudu::client::KuduColumnSchema::operator==()'],['../classkudu_1_1client_1_1KuduSchema.html#a223e1ae67de5732bcd591e8f337ecb77',1,'kudu::client::KuduSchema::operator==()']]], + ['operator_5b_5d_786',['operator[]',['../classkudu_1_1Slice.html#a4c8090f1904ecbdc8e2ca6a4bf79fbff',1,'kudu::Slice']]], + ['owner_787',['owner',['../classkudu_1_1client_1_1KuduTable.html#a58abf46f2fe2cd2adab8c7a872cd0a3d',1,'kudu::client::KuduTable']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/functions_f.html b/releases/1.17.1/cpp-client-api/search/functions_f.html new file mode 100644 index 0000000000..79f068d890 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/functions_f.js b/releases/1.17.1/cpp-client-api/search/functions_f.js new file mode 100644 index 0000000000..0eb36fe831 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/functions_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['partition_5fschema_788',['partition_schema',['../classkudu_1_1client_1_1KuduTable.html#a0f3728fb6eab9e1d099f02e378c27af2',1,'kudu::client::KuduTable']]], + ['partitionrow_789',['PartitionRow',['../classkudu_1_1client_1_1KuduPartitioner.html#a05d816ba08d85d5c0c95025e12d2e369',1,'kudu::client::KuduPartitioner']]], + ['port_790',['port',['../classkudu_1_1client_1_1KuduTabletServer.html#a16f7afb807b569d73c54b5b7feda2c9f',1,'kudu::client::KuduTabletServer']]], + ['posix_5fcode_791',['posix_code',['../classkudu_1_1Status.html#a4d6bfd279cadd657fd07842aa258bd5d',1,'kudu::Status']]], + ['precision_792',['precision',['../classkudu_1_1client_1_1KuduColumnTypeAttributes.html#ab978abf2f248cc1377f438174a9753b1',1,'kudu::client::KuduColumnTypeAttributes::precision()'],['../classkudu_1_1client_1_1KuduColumnSpec.html#af28d86b2b63c9c5f8e9ca50871b60bcb',1,'kudu::client::KuduColumnSpec::Precision()']]], + ['primarykey_793',['PrimaryKey',['../classkudu_1_1client_1_1KuduColumnSpec.html#a48a1457d2f4379a59c29280907c7f3c2',1,'kudu::client::KuduColumnSpec']]], + ['projection_5fschema_794',['projection_schema',['../classkudu_1_1client_1_1KuduScanBatch.html#a0c99e4ac2a6b822e693fe7c6625cb324',1,'kudu::client::KuduScanBatch']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/mag_sel.svg b/releases/1.17.1/cpp-client-api/search/mag_sel.svg new file mode 100644 index 0000000000..03626f64a0 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/releases/1.17.1/cpp-client-api/search/nomatches.html b/releases/1.17.1/cpp-client-api/search/nomatches.html new file mode 100644 index 0000000000..2b9360b6bd --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/nomatches.html @@ -0,0 +1,13 @@ + + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/pages_0.html b/releases/1.17.1/cpp-client-api/search/pages_0.html new file mode 100644 index 0000000000..1e78fe0e49 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/pages_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/pages_0.js b/releases/1.17.1/cpp-client-api/search/pages_0.js new file mode 100644 index 0000000000..b999c1ddd8 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deprecated_20list_962',['Deprecated List',['../deprecated.html',1,'']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/pages_1.html b/releases/1.17.1/cpp-client-api/search/pages_1.html new file mode 100644 index 0000000000..01d47cedcf --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/pages_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/pages_1.js b/releases/1.17.1/cpp-client-api/search/pages_1.js new file mode 100644 index 0000000000..d7e368c180 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['kudu_20c_2b_2b_20client_20api_20documentation_963',['Kudu C++ client API documentation',['../index.html',1,'']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/pages_2.html b/releases/1.17.1/cpp-client-api/search/pages_2.html new file mode 100644 index 0000000000..4ddfec1105 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/pages_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/pages_2.js b/releases/1.17.1/cpp-client-api/search/pages_2.js new file mode 100644 index 0000000000..82d4495584 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['todo_20list_964',['Todo List',['../todo.html',1,'']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/related_0.html b/releases/1.17.1/cpp-client-api/search/related_0.html new file mode 100644 index 0000000000..0ae9256b33 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/related_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/related_0.js b/releases/1.17.1/cpp-client-api/search/related_0.js new file mode 100644 index 0000000000..c573d5b903 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/related_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['operator_2b_947',['operator+',['../classkudu_1_1MonoDelta.html#a12aaaa89190dbd2d2239884f43bbba08',1,'kudu::MonoDelta']]], + ['operator_2d_948',['operator-',['../classkudu_1_1MonoDelta.html#a8a6b1e2b0e4ff38291a07e218228c46b',1,'kudu::MonoDelta::operator-()'],['../classkudu_1_1MonoTime.html#a638709722d9e7c3f0ecab9e74db670f8',1,'kudu::MonoTime::operator-()']]], + ['operator_3d_3d_949',['operator==',['../classkudu_1_1Slice.html#a1323493265790d022203af0d8b31fd9c',1,'kudu::Slice']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/search.css b/releases/1.17.1/cpp-client-api/search/search.css new file mode 100644 index 0000000000..e365871d10 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/search.css @@ -0,0 +1,255 @@ +/*---------------- Search Box */ + +#MSearchBox { + white-space : nowrap; + background: white; + border-radius: 0.65em; + box-shadow: inset 0.5px 0.5px 3px 0px #555; + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + height: 1.4em; + padding: 0 0 0 0.3em; + margin: 0; +} + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 1.1em; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: #909090; + outline: none; + font-family: Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + height: 1.4em; + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/releases/1.17.1/cpp-client-api/search/search.js b/releases/1.17.1/cpp-client-api/search/search.js new file mode 100644 index 0000000000..fb226f734e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/search.js @@ -0,0 +1,816 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline-block'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/typedefs_0.js b/releases/1.17.1/cpp-client-api/search/typedefs_0.js new file mode 100644 index 0000000000..3e08fbbcc6 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['functiontype_911',['FunctionType',['../classkudu_1_1client_1_1KuduLoggingFunctionCallback.html#a309185776b93bf5e532440b4638a649d',1,'kudu::client::KuduLoggingFunctionCallback::FunctionType()'],['../classkudu_1_1client_1_1KuduStatusFunctionCallback.html#a20c231ae32873ea7f462b8f3ea05d910',1,'kudu::client::KuduStatusFunctionCallback::FunctionType()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/typedefs_1.html b/releases/1.17.1/cpp-client-api/search/typedefs_1.html new file mode 100644 index 0000000000..a35b116efe --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/typedefs_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/typedefs_1.js b/releases/1.17.1/cpp-client-api/search/typedefs_1.js new file mode 100644 index 0000000000..12298efa1a --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/typedefs_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['membertype_912',['MemberType',['../classkudu_1_1client_1_1KuduLoggingMemberCallback.html#a55d1578018eb025dd6ae8d07cfbda59d',1,'kudu::client::KuduLoggingMemberCallback::MemberType()'],['../classkudu_1_1client_1_1KuduStatusMemberCallback.html#a1ad9e466506c3453cdd8429d5744f17a',1,'kudu::client::KuduStatusMemberCallback::MemberType()']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/typedefs_2.html b/releases/1.17.1/cpp-client-api/search/typedefs_2.html new file mode 100644 index 0000000000..311b734ae1 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/typedefs_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/typedefs_2.js b/releases/1.17.1/cpp-client-api/search/typedefs_2.js new file mode 100644 index 0000000000..c71aa249ba --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/typedefs_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['type_913',['type',['../structkudu_1_1SliceMap.html#ac97e49d0aa50ae49f34ab3bbd95ea5e6',1,'kudu::SliceMap']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/typedefs_3.html b/releases/1.17.1/cpp-client-api/search/typedefs_3.html new file mode 100644 index 0000000000..d0193b7340 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/typedefs_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/typedefs_3.js b/releases/1.17.1/cpp-client-api/search/typedefs_3.js new file mode 100644 index 0000000000..fe2ce4d9f2 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/typedefs_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value_5ftype_914',['value_type',['../classkudu_1_1client_1_1KuduScanBatch.html#ae1a827120c84eeedb703451bd5782467',1,'kudu::client::KuduScanBatch']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/variables_0.html b/releases/1.17.1/cpp-client-api/search/variables_0.html new file mode 100644 index 0000000000..2c09f31414 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/variables_0.js b/releases/1.17.1/cpp-client-api/search/variables_0.js new file mode 100644 index 0000000000..38d7f5dd78 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['columnar_5flayout_902',['COLUMNAR_LAYOUT',['../classkudu_1_1client_1_1KuduScanner.html#ac524332b8cfac93065b1006847b16f10',1,'kudu::client::KuduScanner']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/variables_1.html b/releases/1.17.1/cpp-client-api/search/variables_1.html new file mode 100644 index 0000000000..e73e85f0c6 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/variables_1.js b/releases/1.17.1/cpp-client-api/search/variables_1.js new file mode 100644 index 0000000000..1b94823c7e --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['data_903',['Data',['../classkudu_1_1client_1_1KuduPredicate.html#ae8643ced562f7c8a4625a58a4e39abb0',1,'kudu::client::KuduPredicate']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/variables_2.html b/releases/1.17.1/cpp-client-api/search/variables_2.html new file mode 100644 index 0000000000..54f2b44e67 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/variables_2.js b/releases/1.17.1/cpp-client-api/search/variables_2.js new file mode 100644 index 0000000000..f94233ddd3 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['kmicrosecondspersecond_904',['kMicrosecondsPerSecond',['../classkudu_1_1MonoTime.html#ad4b22e81d4c5bf23d2dc545f86865d9f',1,'kudu::MonoTime']]], + ['knanosecondspermicrosecond_905',['kNanosecondsPerMicrosecond',['../classkudu_1_1MonoTime.html#a8df74187bdc60ef6192c0a4467ed9583',1,'kudu::MonoTime']]], + ['knanosecondspermillisecond_906',['kNanosecondsPerMillisecond',['../classkudu_1_1MonoTime.html#ab2f5fba731df8ae202ffadf7c5c49ef7',1,'kudu::MonoTime']]], + ['knanosecondspersecond_907',['kNanosecondsPerSecond',['../classkudu_1_1MonoTime.html#a33db0c34f47f05d63bf2fddbff5b6b18',1,'kudu::MonoTime']]], + ['knotimestamp_908',['kNoTimestamp',['../classkudu_1_1client_1_1KuduClient.html#a196f1a18c000cdca309d05161caaddaa',1,'kudu::client::KuduClient']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/variables_3.html b/releases/1.17.1/cpp-client-api/search/variables_3.html new file mode 100644 index 0000000000..85e534b737 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/variables_3.js b/releases/1.17.1/cpp-client-api/search/variables_3.js new file mode 100644 index 0000000000..3cfe266c54 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['no_5fflags_909',['NO_FLAGS',['../classkudu_1_1client_1_1KuduScanner.html#a68345956f3f4c7fd5e1665fd292f6a85',1,'kudu::client::KuduScanner']]] +]; diff --git a/releases/1.17.1/cpp-client-api/search/variables_4.html b/releases/1.17.1/cpp-client-api/search/variables_4.html new file mode 100644 index 0000000000..bf94b1c0e9 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/releases/1.17.1/cpp-client-api/search/variables_4.js b/releases/1.17.1/cpp-client-api/search/variables_4.js new file mode 100644 index 0000000000..4f811f9457 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['pad_5funixtime_5fmicros_5fto_5f16_5fbytes_910',['PAD_UNIXTIME_MICROS_TO_16_BYTES',['../classkudu_1_1client_1_1KuduScanner.html#a63cd270f3bc72f4197d2581ec8f8fc44',1,'kudu::client::KuduScanner']]] +]; diff --git a/releases/1.17.1/cpp-client-api/shared__ptr_8h.html b/releases/1.17.1/cpp-client-api/shared__ptr_8h.html new file mode 100644 index 0000000000..9a755c1815 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/shared__ptr_8h.html @@ -0,0 +1,93 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/shared_ptr.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    shared_ptr.h File Reference
    +
    +
    + +

    Smart pointer typedefs for externally-faced code. +More...

    +
    #include <string>
    +#include <tr1/memory>
    +
    +

    Go to the source code of this file.

    +

    Detailed Description

    +

    Smart pointer typedefs for externally-faced code.

    +

    Kudu uses c++11 features internally, but provides a client interface which does not require c++11. We use std::tr1::shared_ptr in our public interface to hold shared instances of KuduClient, KuduSession, and KuduTable.

    +

    However, if building with libc++ (e.g. if building on macOS), the TR1 APIs are not implemented. As a workaround, we use std::shared_ptr with libc++.

    +

    In order to allow applications to compile against Kudu with libstdc++ as well as with libc++, the kudu::client::sp namespace "alias" is provided, whose classes will resolve to the correct namespace in either case. Clients are encouraged to use this alias in order to ensure that applications compile universally.

    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/shared__ptr_8h_source.html b/releases/1.17.1/cpp-client-api/shared__ptr_8h_source.html new file mode 100644 index 0000000000..abd98c3474 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/shared__ptr_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/shared_ptr.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    shared_ptr.h
    +
    +
    +Go to the documentation of this file.
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 
    +
    18 #ifndef KUDU_CLIENT_SHARED_PTR_H
    +
    19 #define KUDU_CLIENT_SHARED_PTR_H
    +
    20 
    +
    36 
    +
    37 // This include is not used directly, but we need to include some C++ header in
    +
    38 // order to ensure the _LIBCPP_VERSION macro is defined appropriately.
    +
    39 #include <string>
    +
    40 
    +
    41 #if defined(_LIBCPP_VERSION)
    +
    42 
    +
    43 // TODO(adar): our IWYU runs with libc++ and misbehaves with this header:
    +
    44 //
    +
    45 // 1. All inclusions must append "// IWYU pragma: keep" otherwise IWYU removes them.
    +
    46 // 2. IWYU adds <memory> to every file that includes this header.
    +
    47 //
    +
    48 // In theory, the second problem can be addressed by adding
    +
    49 // "// IWYU pragma: export" to the inclusion of <memory> just below. However,
    +
    50 // that actually inverts the effect: IWYU removes <memory> from every file that
    +
    51 // includes this header. This is unsafe because if we're doing a regular Kudu
    +
    52 // build, this header includes <tr1/memory>, leaving the source file without any
    +
    53 // inclusion of <memory> and unable to satisfy references to e.g. std::unique_ptr.
    +
    54 //
    +
    55 // There must be a way to convince IWYU that the classes in kudu::client::sp are
    +
    56 // "real" and not just aliases of std classes. One way to do that would be to
    +
    57 // insert complete copies of those classes just for IWYU, but that seems like overkill.
    +
    58 #include <memory>
    +
    59 
    +
    60 namespace kudu {
    +
    61 namespace client {
    +
    62 namespace sp {
    +
    63  using std::shared_ptr;
    +
    64  using std::weak_ptr;
    +
    65  using std::enable_shared_from_this;
    +
    66 }
    +
    67 }
    +
    68 }
    +
    69 
    +
    70 #else
    +
    71 #include <tr1/memory>
    +
    72 
    +
    73 namespace kudu {
    +
    74 namespace client {
    +
    75 namespace sp {
    +
    76  using std::tr1::shared_ptr;
    +
    77  using std::tr1::weak_ptr;
    +
    78  using std::tr1::enable_shared_from_this;
    +
    79 }
    +
    80 }
    +
    81 }
    +
    82 #endif
    +
    83 
    +
    84 #endif // define KUDU_CLIENT_SHARED_PTR_H
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/slice_8h_source.html b/releases/1.17.1/cpp-client-api/slice_8h_source.html new file mode 100644 index 0000000000..732692c266 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/slice_8h_source.html @@ -0,0 +1,312 @@ + + + + + + + +Kudu C++ client API: include/kudu/util/slice.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    slice.h
    +
    +
    +
    1 //
    +
    2 // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
    +
    3 // Use of this source code is governed by a BSD-style license that can be
    +
    4 // found in the LICENSE file. See the AUTHORS file for names of contributors.
    +
    5 //
    +
    6 
    +
    7 #ifndef KUDU_UTIL_SLICE_H_
    +
    8 #define KUDU_UTIL_SLICE_H_
    +
    9 
    +
    10 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    11 // to be processed by a compiler lacking C++11 support.
    +
    12 #include <stdint.h>
    +
    13 
    +
    14 #include <cassert>
    +
    15 #include <cstddef>
    +
    16 #include <cstring>
    +
    17 #include <iosfwd>
    +
    18 #include <map>
    +
    19 #include <ostream>
    +
    20 #include <string>
    +
    21 
    +
    22 #ifdef KUDU_HEADERS_USE_RICH_SLICE
    +
    23 #include "kudu/gutil/strings/fastmem.h"
    +
    24 #include "kudu/gutil/strings/stringpiece.h"
    +
    25 #include "kudu/util/faststring.h"
    +
    26 #endif
    +
    27 #ifdef KUDU_HEADERS_NO_STUBS
    +
    28 #include "kudu/gutil/port.h"
    +
    29 #endif
    +
    30 #include "kudu/util/kudu_export.h"
    +
    31 
    +
    32 namespace kudu {
    +
    33 
    +
    34 class Status;
    +
    35 
    +
    51 class KUDU_EXPORT Slice {
    +
    52  public:
    +
    54  Slice() : data_(reinterpret_cast<const uint8_t *>("")),
    +
    55  size_(0) { }
    +
    56 
    +
    63  Slice(const uint8_t* d, size_t n) : data_(d), size_(n) { }
    +
    64 
    +
    71  Slice(const char* d, size_t n) :
    +
    72  data_(reinterpret_cast<const uint8_t *>(d)),
    +
    73  size_(n) { }
    +
    74 
    +
    79  Slice(const std::string& s) : // NOLINT(runtime/explicit)
    +
    80  data_(reinterpret_cast<const uint8_t *>(s.data())),
    +
    81  size_(s.size()) { }
    +
    82 
    +
    87  Slice(const char* s) : // NOLINT(runtime/explicit)
    +
    88  data_(reinterpret_cast<const uint8_t *>(s)),
    +
    89  size_(strlen(s)) { }
    +
    90 
    +
    91 #ifdef KUDU_HEADERS_USE_RICH_SLICE
    +
    98  Slice(const faststring &s) // NOLINT(runtime/explicit)
    +
    99  : data_(s.data()),
    +
    100  size_(s.size()) {
    +
    101  }
    +
    102 
    +
    107  Slice(const StringPiece& s) // NOLINT(runtime/explicit)
    +
    108  : data_(reinterpret_cast<const uint8_t*>(s.data())),
    +
    109  size_(s.size()) {
    +
    110  }
    +
    111 #endif
    +
    112 
    +
    114  const uint8_t* data() const { return data_; }
    +
    115 
    +
    117  uint8_t *mutable_data() { return const_cast<uint8_t *>(data_); }
    +
    118 
    +
    120  size_t size() const { return size_; }
    +
    121 
    +
    123  bool empty() const { return size_ == 0; }
    +
    124 
    +
    130  const uint8_t &operator[](size_t n) const {
    +
    131  assert(n < size());
    +
    132  return data_[n];
    +
    133  }
    +
    134 
    +
    136  void clear() {
    +
    137  data_ = reinterpret_cast<const uint8_t *>("");
    +
    138  size_ = 0;
    +
    139  }
    +
    140 
    +
    150  void remove_prefix(size_t n) {
    +
    151  assert(n <= size());
    +
    152  data_ += n;
    +
    153  size_ -= n;
    +
    154  }
    +
    155 
    +
    165  void truncate(size_t n) {
    +
    166  assert(n <= size());
    +
    167  size_ = n;
    +
    168  }
    +
    169 
    +
    174  Status check_size(size_t expected_size) const;
    +
    175 
    +
    177  std::string ToString() const;
    +
    178 
    +
    185  std::string ToDebugString(size_t max_len = 0) const;
    +
    186 
    +
    195  int compare(const Slice& b) const;
    +
    196 
    +
    201  bool starts_with(const Slice& x) const {
    +
    202  return ((size_ >= x.size_) &&
    +
    203  (MemEqual(data_, x.data_, x.size_)));
    +
    204  }
    +
    205 
    +
    207  struct Comparator {
    +
    215  bool operator()(const Slice& a, const Slice& b) const {
    +
    216  return a.compare(b) < 0;
    +
    217  }
    +
    218  };
    +
    219 
    +
    226  void relocate(uint8_t* d) {
    +
    227  if (data_ != d) {
    +
    228  memcpy(d, data_, size_);
    +
    229  data_ = d;
    +
    230  }
    +
    231  }
    +
    232 
    +
    233  private:
    +
    234  friend bool operator==(const Slice& x, const Slice& y);
    +
    235 
    +
    236  static bool MemEqual(const void* a, const void* b, size_t n) {
    +
    237 #ifdef KUDU_HEADERS_USE_RICH_SLICE
    +
    238  return strings::memeq(a, b, n);
    +
    239 #else
    +
    240  return memcmp(a, b, n) == 0;
    +
    241 #endif
    +
    242  }
    +
    243 
    +
    244  static int MemCompare(const void* a, const void* b, size_t n) {
    +
    245 #ifdef KUDU_HEADERS_USE_RICH_SLICE
    +
    246  return strings::fastmemcmp_inlined(a, b, n);
    +
    247 #else
    +
    248  return memcmp(a, b, n);
    +
    249 #endif
    +
    250  }
    +
    251 
    +
    252  const uint8_t* data_;
    +
    253  size_t size_;
    +
    254 
    +
    255  // Intentionally copyable
    +
    256 };
    +
    257 
    +
    265 inline bool operator==(const Slice& x, const Slice& y) {
    +
    266  return ((x.size() == y.size()) &&
    +
    267  (Slice::MemEqual(x.data(), y.data(), x.size())));
    +
    268 }
    +
    269 
    +
    277 inline bool operator!=(const Slice& x, const Slice& y) {
    +
    278  return !(x == y);
    +
    279 }
    +
    280 
    +
    288 inline bool operator<(const Slice& x, const Slice& y) {
    +
    289  return x.compare(y) < 0;
    +
    290 }
    +
    291 
    +
    299 inline bool operator>(const Slice& x, const Slice& y) {
    +
    300  return x.compare(y) > 0;
    +
    301 }
    +
    302 
    +
    310 inline bool operator>=(const Slice& x, const Slice& y) {
    +
    311  return x.compare(y) >= 0;
    +
    312 }
    +
    313 
    +
    321 inline bool operator<=(const Slice& x, const Slice& y) {
    +
    322  return x.compare(y) <= 0;
    +
    323 }
    +
    324 
    +
    332 inline std::ostream& operator<<(std::ostream& o, const Slice& s) {
    +
    333  return o << s.ToDebugString(16); // should be enough for anyone...
    +
    334 }
    +
    335 
    +
    336 inline int Slice::compare(const Slice& b) const {
    +
    337  const size_t min_len = (size_ < b.size_) ? size_ : b.size_;
    +
    338  const int r = MemCompare(data_, b.data_, min_len);
    +
    339  if (r != 0) {
    +
    340  return r;
    +
    341  }
    +
    342  if (size_ < b.size_) {
    +
    343  return -1;
    +
    344  }
    +
    345  if (size_ > b.size_) {
    +
    346  return 1;
    +
    347  }
    +
    348  return 0;
    +
    349 }
    +
    350 
    +
    351 // We don't run TSAN on this function because it makes it really slow and causes some
    +
    352 // test timeouts. This is only used on local buffers anyway, so we don't lose much
    +
    353 // by not checking it.
    +
    354 #ifdef KUDU_HEADERS_NO_STUBS
    +
    355 ATTRIBUTE_NO_SANITIZE_THREAD
    +
    356 #endif
    +
    357 bool IsAllZeros(const Slice& s);
    +
    358 
    +
    374 template <typename T>
    +
    375 struct SliceMap {
    +
    377  typedef std::map<Slice, T, Slice::Comparator> type;
    +
    378 };
    +
    379 
    +
    380 } // namespace kudu
    +
    381 
    +
    382 #endif // KUDU_UTIL_SLICE_H_
    +
    A wrapper around externally allocated data.
    Definition: slice.h:51
    +
    void remove_prefix(size_t n)
    Definition: slice.h:150
    +
    std::string ToString() const
    +
    bool empty() const
    Definition: slice.h:123
    +
    Slice(const std::string &s)
    Definition: slice.h:79
    +
    void truncate(size_t n)
    Definition: slice.h:165
    +
    uint8_t * mutable_data()
    Definition: slice.h:117
    +
    Status check_size(size_t expected_size) const
    +
    void relocate(uint8_t *d)
    Definition: slice.h:226
    +
    const uint8_t & operator[](size_t n) const
    Definition: slice.h:130
    +
    int compare(const Slice &b) const
    Definition: slice.h:336
    +
    Slice(const uint8_t *d, size_t n)
    Definition: slice.h:63
    +
    Slice(const char *d, size_t n)
    Definition: slice.h:71
    +
    const uint8_t * data() const
    Definition: slice.h:114
    +
    Slice()
    Create an empty slice.
    Definition: slice.h:54
    +
    bool starts_with(const Slice &x) const
    Definition: slice.h:201
    +
    std::string ToDebugString(size_t max_len=0) const
    +
    Slice(const char *s)
    Definition: slice.h:87
    +
    size_t size() const
    Definition: slice.h:120
    +
    void clear()
    Change this slice to refer to an empty array.
    Definition: slice.h:136
    +
    A representation of an operation's outcome.
    Definition: status.h:165
    +
    STL map whose keys are Slices.
    Definition: slice.h:375
    +
    std::map< Slice, T, Slice::Comparator > type
    A handy typedef for the slice map with appropriate comparison operator.
    Definition: slice.h:377
    +
    Comparator struct, useful for ordered collections (like STL maps).
    Definition: slice.h:207
    +
    bool operator()(const Slice &a, const Slice &b) const
    Definition: slice.h:215
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/splitbar.png b/releases/1.17.1/cpp-client-api/splitbar.png new file mode 100644 index 0000000000..fe895f2c58 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/splitbar.png differ diff --git a/releases/1.17.1/cpp-client-api/status_8h.html b/releases/1.17.1/cpp-client-api/status_8h.html new file mode 100644 index 0000000000..35568b3491 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/status_8h.html @@ -0,0 +1,504 @@ + + + + + + + +Kudu C++ client API: include/kudu/util/status.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    status.h File Reference
    +
    +
    +
    #include <errno.h>
    +#include <stdint.h>
    +#include <cstddef>
    +#include <string>
    +#include "kudu/client/stubs.h"
    +#include "kudu/util/kudu_export.h"
    +#include "kudu/util/slice.h"
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Classes

    class  kudu::Status
     A representation of an operation's outcome. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define KUDU_RETURN_NOT_OK(s)
     Return the given status if it is not OK. More...
     
    #define KUDU_RETURN_NOT_OK_PREPEND(s, msg)
     Return the given status if it is not OK, but first clone it and prepend the given message. More...
     
    #define KUDU_RETURN_NOT_OK_RET(to_call, to_return)
     Return to_return if to_call returns a bad status. The substitution for 'to_return' may reference the variable s for the bad status. More...
     
    #define KUDU_RETURN_NOT_OK_EVAL(s, on_error)
     Return the given status if it is not OK, evaluating on_error if so. More...
     
    #define KUDU_WARN_NOT_OK(to_call, warning_prefix)
     Emit a warning if to_call returns a bad status. More...
     
    #define KUDU_LOG_AND_RETURN(level, status)
     Log the given status and return immediately. More...
     
    #define KUDU_RETURN_NOT_OK_LOG(s, level, msg)
     If the given status is not OK, log it and 'msg' at 'level' and return the status. More...
     
    #define KUDU_CHECK_OK_PREPEND(to_call, msg)
     If to_call returns a bad status, CHECK immediately with a logged message of msg followed by the status. More...
     
    +#define KUDU_CHECK_OK(s)   KUDU_CHECK_OK_PREPEND(s, "Bad status")
     If the status is bad, CHECK immediately, appending the status to the logged message.
     
    #define KUDU_DCHECK_OK_PREPEND(to_call, msg)
     If to_call returns a bad status, DCHECK immediately with a logged message of msg followed by the status. More...
     
    +#define KUDU_DCHECK_OK(s)   KUDU_DCHECK_OK_PREPEND(s, "Bad status")
     If the status is bad, DCHECK immediately, appending the status to the logged 'Bad status' message.
     
    #define KUDU_RETURN_MAIN_NOT_OK(to_call, msg, ret_code)
     A macro to use at the main() function level if it's necessary to return a non-zero status from the main() based on the non-OK status 's' and extra message 'msg' prepended. The desired return code is passed as 'ret_code' parameter. More...
     
    +

    Detailed Description

    +

    This header is used in both the Kudu build as well as in builds of applications that use the Kudu C++ client. In the latter we need to be careful to "namespace" our macros, to avoid colliding or overriding with similarly named macros belonging to the application.

    +

    KUDU_HEADERS_USE_SHORT_STATUS_MACROS handles this behavioral change. When defined, we're building Kudu and:

      +
    • Non-namespaced macros are allowed and mapped to the namespaced versions defined above.
    • +
    • Namespaced versions of glog macros are mapped to the real glog macros (otherwise the macros are defined in the C++ client stubs).
    • +
    +

    Macro Definition Documentation

    + +

    ◆ KUDU_CHECK_OK_PREPEND

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define KUDU_CHECK_OK_PREPEND( to_call,
     msg 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (to_call); \
    +
    KUDU_CHECK(_s.ok()) << (msg) << ": " << _s.ToString(); \
    +
    } while (0)
    +
    +

    If to_call returns a bad status, CHECK immediately with a logged message of msg followed by the status.

    + +
    +
    + +

    ◆ KUDU_DCHECK_OK_PREPEND

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define KUDU_DCHECK_OK_PREPEND( to_call,
     msg 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (to_call); \
    +
    KUDU_DCHECK(_s.ok()) << (msg) << ": " << _s.ToString(); \
    +
    } while (0)
    +
    +

    If to_call returns a bad status, DCHECK immediately with a logged message of msg followed by the status.

    + +
    +
    + +

    ◆ KUDU_LOG_AND_RETURN

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define KUDU_LOG_AND_RETURN( level,
     status 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (status); \
    +
    KUDU_LOG(level) << _s.ToString(); \
    +
    return _s; \
    +
    } while (0)
    +
    +

    Log the given status and return immediately.

    + +
    +
    + +

    ◆ KUDU_RETURN_MAIN_NOT_OK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define KUDU_RETURN_MAIN_NOT_OK( to_call,
     msg,
     ret_code 
    )
    +
    +Value:
    do { \
    +
    DCHECK_NE(0, (ret_code)) << "non-OK return code should not be 0"; \
    +
    const ::kudu::Status& _s = (to_call); \
    +
    if (!_s.ok()) { \
    +
    const ::kudu::Status& _ss = _s.CloneAndPrepend((msg)); \
    +
    LOG(ERROR) << _ss.ToString(); \
    +
    return (ret_code); \
    +
    } \
    +
    } while (0)
    +
    +

    A macro to use at the main() function level if it's necessary to return a non-zero status from the main() based on the non-OK status 's' and extra message 'msg' prepended. The desired return code is passed as 'ret_code' parameter.

    + +
    +
    + +

    ◆ KUDU_RETURN_NOT_OK

    + +
    +
    + + + + + + + + +
    #define KUDU_RETURN_NOT_OK( s)
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (s); \
    +
    if (PREDICT_FALSE(!_s.ok())) return _s; \
    +
    } while (0)
    +
    +

    Return the given status if it is not OK.

    + +
    +
    + +

    ◆ KUDU_RETURN_NOT_OK_EVAL

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define KUDU_RETURN_NOT_OK_EVAL( s,
     on_error 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (s); \
    +
    if (PREDICT_FALSE(!_s.ok())) { \
    +
    (on_error); \
    +
    return _s; \
    +
    } \
    +
    } while (0)
    +
    +

    Return the given status if it is not OK, evaluating on_error if so.

    + +
    +
    + +

    ◆ KUDU_RETURN_NOT_OK_LOG

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define KUDU_RETURN_NOT_OK_LOG( s,
     level,
     msg 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (s); \
    +
    if (PREDICT_FALSE(!_s.ok())) { \
    +
    KUDU_LOG(level) << "Status: " << _s.ToString() << " " << (msg); \
    +
    return _s; \
    +
    } \
    +
    } while (0)
    +
    +

    If the given status is not OK, log it and 'msg' at 'level' and return the status.

    + +
    +
    + +

    ◆ KUDU_RETURN_NOT_OK_PREPEND

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define KUDU_RETURN_NOT_OK_PREPEND( s,
     msg 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (s); \
    +
    if (PREDICT_FALSE(!_s.ok())) return _s.CloneAndPrepend(msg); \
    +
    } while (0)
    +
    +

    Return the given status if it is not OK, but first clone it and prepend the given message.

    + +
    +
    + +

    ◆ KUDU_RETURN_NOT_OK_RET

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define KUDU_RETURN_NOT_OK_RET( to_call,
     to_return 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& s = (to_call); \
    +
    if (PREDICT_FALSE(!s.ok())) return (to_return); \
    +
    } while (0)
    +
    +

    Return to_return if to_call returns a bad status. The substitution for 'to_return' may reference the variable s for the bad status.

    + +
    +
    + +

    ◆ KUDU_WARN_NOT_OK

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define KUDU_WARN_NOT_OK( to_call,
     warning_prefix 
    )
    +
    +Value:
    do { \
    +
    const ::kudu::Status& _s = (to_call); \
    +
    if (PREDICT_FALSE(!_s.ok())) { \
    +
    KUDU_LOG(WARNING) << (warning_prefix) << ": " << _s.ToString(); \
    +
    } \
    +
    } while (0)
    +
    +

    Emit a warning if to_call returns a bad status.

    + +
    +
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/status_8h_source.html b/releases/1.17.1/cpp-client-api/status_8h_source.html new file mode 100644 index 0000000000..f378c69c27 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/status_8h_source.html @@ -0,0 +1,513 @@ + + + + + + + +Kudu C++ client API: include/kudu/util/status.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    status.h
    +
    +
    +Go to the documentation of this file.
    1 // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
    +
    2 // Use of this source code is governed by a BSD-style license that can be
    +
    3 // found in the LICENSE file. See the AUTHORS file for names of contributors.
    +
    4 //
    +
    5 // A Status encapsulates the result of an operation. It may indicate success,
    +
    6 // or it may indicate an error with an associated error message.
    +
    7 //
    +
    8 // Multiple threads can invoke const methods on a Status without
    +
    9 // external synchronization, but if any of the threads may call a
    +
    10 // non-const method, all threads accessing the same Status must use
    +
    11 // external synchronization.
    +
    12 
    +
    13 #ifndef KUDU_UTIL_STATUS_H_
    +
    14 #define KUDU_UTIL_STATUS_H_
    +
    15 
    +
    16 // NOTE: using stdint.h instead of cstdint and errno.h instead of cerrno because
    +
    17 // this file is supposed to be processed by a compiler lacking C++11 support.
    +
    18 #include <errno.h>
    +
    19 #include <stdint.h>
    +
    20 
    +
    21 #include <cstddef>
    +
    22 #include <string>
    +
    23 
    +
    24 // This macro is not defined when status.h is consumed by third party applications.
    +
    25 #ifdef KUDU_HEADERS_USE_SHORT_STATUS_MACROS
    +
    26 #include <glog/logging.h>
    +
    27 #endif
    +
    28 
    +
    29 #ifdef KUDU_HEADERS_NO_STUBS
    +
    30 #include "kudu/gutil/macros.h"
    +
    31 #include "kudu/gutil/port.h"
    +
    32 #else
    +
    33 #include "kudu/client/stubs.h"
    +
    34 #endif
    +
    35 
    +
    36 #include "kudu/util/kudu_export.h"
    +
    37 #include "kudu/util/slice.h"
    +
    38 
    +
    40 #define KUDU_RETURN_NOT_OK(s) do { \
    +
    41  const ::kudu::Status& _s = (s); \
    +
    42  if (PREDICT_FALSE(!_s.ok())) return _s; \
    +
    43  } while (0)
    +
    44 
    +
    47 #define KUDU_RETURN_NOT_OK_PREPEND(s, msg) do { \
    +
    48  const ::kudu::Status& _s = (s); \
    +
    49  if (PREDICT_FALSE(!_s.ok())) return _s.CloneAndPrepend(msg); \
    +
    50  } while (0)
    +
    51 
    +
    55 #define KUDU_RETURN_NOT_OK_RET(to_call, to_return) do { \
    +
    56  const ::kudu::Status& s = (to_call); \
    +
    57  if (PREDICT_FALSE(!s.ok())) return (to_return); \
    +
    58  } while (0)
    +
    59 
    +
    61 #define KUDU_RETURN_NOT_OK_EVAL(s, on_error) do { \
    +
    62  const ::kudu::Status& _s = (s); \
    +
    63  if (PREDICT_FALSE(!_s.ok())) { \
    +
    64  (on_error); \
    +
    65  return _s; \
    +
    66  } \
    +
    67  } while (0)
    +
    68 
    +
    70 #define KUDU_WARN_NOT_OK(to_call, warning_prefix) do { \
    +
    71  const ::kudu::Status& _s = (to_call); \
    +
    72  if (PREDICT_FALSE(!_s.ok())) { \
    +
    73  KUDU_LOG(WARNING) << (warning_prefix) << ": " << _s.ToString(); \
    +
    74  } \
    +
    75  } while (0)
    +
    76 
    +
    78 #define KUDU_LOG_AND_RETURN(level, status) do { \
    +
    79  const ::kudu::Status& _s = (status); \
    +
    80  KUDU_LOG(level) << _s.ToString(); \
    +
    81  return _s; \
    +
    82  } while (0)
    +
    83 
    +
    85 #define KUDU_RETURN_NOT_OK_LOG(s, level, msg) do { \
    +
    86  const ::kudu::Status& _s = (s); \
    +
    87  if (PREDICT_FALSE(!_s.ok())) { \
    +
    88  KUDU_LOG(level) << "Status: " << _s.ToString() << " " << (msg); \
    +
    89  return _s; \
    +
    90  } \
    +
    91  } while (0)
    +
    92 
    +
    95 #define KUDU_CHECK_OK_PREPEND(to_call, msg) do { \
    +
    96  const ::kudu::Status& _s = (to_call); \
    +
    97  KUDU_CHECK(_s.ok()) << (msg) << ": " << _s.ToString(); \
    +
    98  } while (0)
    +
    99 
    +
    102 #define KUDU_CHECK_OK(s) KUDU_CHECK_OK_PREPEND(s, "Bad status")
    +
    103 
    +
    106 #define KUDU_DCHECK_OK_PREPEND(to_call, msg) do { \
    +
    107  const ::kudu::Status& _s = (to_call); \
    +
    108  KUDU_DCHECK(_s.ok()) << (msg) << ": " << _s.ToString(); \
    +
    109  } while (0)
    +
    110 
    +
    113 #define KUDU_DCHECK_OK(s) KUDU_DCHECK_OK_PREPEND(s, "Bad status")
    +
    114 
    +
    119 #define KUDU_RETURN_MAIN_NOT_OK(to_call, msg, ret_code) do { \
    +
    120  DCHECK_NE(0, (ret_code)) << "non-OK return code should not be 0"; \
    +
    121  const ::kudu::Status& _s = (to_call); \
    +
    122  if (!_s.ok()) { \
    +
    123  const ::kudu::Status& _ss = _s.CloneAndPrepend((msg)); \
    +
    124  LOG(ERROR) << _ss.ToString(); \
    +
    125  return (ret_code); \
    +
    126  } \
    +
    127  } while (0)
    +
    128 
    +
    142 #ifdef KUDU_HEADERS_USE_SHORT_STATUS_MACROS
    +
    143 #define RETURN_NOT_OK KUDU_RETURN_NOT_OK
    +
    144 #define RETURN_NOT_OK_PREPEND KUDU_RETURN_NOT_OK_PREPEND
    +
    145 #define RETURN_NOT_OK_RET KUDU_RETURN_NOT_OK_RET
    +
    146 #define RETURN_NOT_OK_EVAL KUDU_RETURN_NOT_OK_EVAL
    +
    147 #define WARN_NOT_OK KUDU_WARN_NOT_OK
    +
    148 #define LOG_AND_RETURN KUDU_LOG_AND_RETURN
    +
    149 #define RETURN_NOT_OK_LOG KUDU_RETURN_NOT_OK_LOG
    +
    150 #define CHECK_OK_PREPEND KUDU_CHECK_OK_PREPEND
    +
    151 #define CHECK_OK KUDU_CHECK_OK
    +
    152 #define DCHECK_OK_PREPEND KUDU_DCHECK_OK_PREPEND
    +
    153 #define DCHECK_OK KUDU_DCHECK_OK
    +
    154 #define RETURN_MAIN_NOT_OK KUDU_RETURN_MAIN_NOT_OK
    +
    155 
    +
    156 // These are standard glog macros.
    +
    157 #define KUDU_LOG LOG
    +
    158 #define KUDU_CHECK CHECK
    +
    159 #define KUDU_DCHECK DCHECK
    +
    160 #endif
    +
    161 
    +
    162 namespace kudu {
    +
    163 
    +
    165 class KUDU_EXPORT Status {
    +
    166  public:
    +
    168  Status() : state_(NULL) { }
    +
    169 
    +
    170  ~Status() { delete[] state_; }
    +
    171 
    +
    176  Status(const Status& s);
    +
    177 
    +
    183  Status& operator=(const Status& s);
    +
    184 
    +
    185 #if __cplusplus >= 201103L
    +
    190  Status(Status&& s) noexcept;
    +
    191 
    +
    197  Status& operator=(Status&& s) noexcept;
    +
    198 
    +
    220  template<typename F>
    +
    221  Status AndThen(F op) {
    +
    222  if (ok()) {
    +
    223  return op();
    +
    224  }
    +
    225  return *this;
    +
    226  }
    +
    227 #endif
    +
    228 
    +
    230  static Status OK() { return Status(); }
    +
    231 
    +
    234 
    +
    242  static Status NotFound(const Slice& msg, const Slice& msg2 = Slice(),
    +
    243  int16_t posix_code = -1) {
    +
    244  return Status(kNotFound, msg, msg2, posix_code);
    +
    245  }
    +
    246  static Status Corruption(const Slice& msg, const Slice& msg2 = Slice(),
    +
    247  int16_t posix_code = -1) {
    +
    248  return Status(kCorruption, msg, msg2, posix_code);
    +
    249  }
    +
    250  static Status NotSupported(const Slice& msg, const Slice& msg2 = Slice(),
    +
    251  int16_t posix_code = -1) {
    +
    252  return Status(kNotSupported, msg, msg2, posix_code);
    +
    253  }
    +
    254  static Status InvalidArgument(const Slice& msg, const Slice& msg2 = Slice(),
    +
    255  int16_t posix_code = -1) {
    +
    256  return Status(kInvalidArgument, msg, msg2, posix_code);
    +
    257  }
    +
    258  static Status IOError(const Slice& msg, const Slice& msg2 = Slice(),
    +
    259  int16_t posix_code = -1) {
    +
    260  return Status(kIOError, msg, msg2, posix_code);
    +
    261  }
    +
    262  static Status AlreadyPresent(const Slice& msg, const Slice& msg2 = Slice(),
    +
    263  int16_t posix_code = -1) {
    +
    264  return Status(kAlreadyPresent, msg, msg2, posix_code);
    +
    265  }
    +
    266  static Status RuntimeError(const Slice& msg, const Slice& msg2 = Slice(),
    +
    267  int16_t posix_code = -1) {
    +
    268  return Status(kRuntimeError, msg, msg2, posix_code);
    +
    269  }
    +
    270  static Status NetworkError(const Slice& msg, const Slice& msg2 = Slice(),
    +
    271  int16_t posix_code = -1) {
    +
    272  return Status(kNetworkError, msg, msg2, posix_code);
    +
    273  }
    +
    274  static Status IllegalState(const Slice& msg, const Slice& msg2 = Slice(),
    +
    275  int16_t posix_code = -1) {
    +
    276  return Status(kIllegalState, msg, msg2, posix_code);
    +
    277  }
    +
    278  static Status NotAuthorized(const Slice& msg, const Slice& msg2 = Slice(),
    +
    279  int16_t posix_code = -1) {
    +
    280  return Status(kNotAuthorized, msg, msg2, posix_code);
    +
    281  }
    +
    282  static Status Aborted(const Slice& msg, const Slice& msg2 = Slice(),
    +
    283  int16_t posix_code = -1) {
    +
    284  return Status(kAborted, msg, msg2, posix_code);
    +
    285  }
    +
    286  static Status RemoteError(const Slice& msg, const Slice& msg2 = Slice(),
    +
    287  int16_t posix_code = -1) {
    +
    288  return Status(kRemoteError, msg, msg2, posix_code);
    +
    289  }
    +
    290  static Status ServiceUnavailable(const Slice& msg, const Slice& msg2 = Slice(),
    +
    291  int16_t posix_code = -1) {
    +
    292  return Status(kServiceUnavailable, msg, msg2, posix_code);
    +
    293  }
    +
    294  static Status TimedOut(const Slice& msg, const Slice& msg2 = Slice(),
    +
    295  int16_t posix_code = -1) {
    +
    296  return Status(kTimedOut, msg, msg2, posix_code);
    +
    297  }
    +
    298  static Status Uninitialized(const Slice& msg, const Slice& msg2 = Slice(),
    +
    299  int16_t posix_code = -1) {
    +
    300  return Status(kUninitialized, msg, msg2, posix_code);
    +
    301  }
    +
    302  static Status ConfigurationError(const Slice& msg, const Slice& msg2 = Slice(),
    +
    303  int16_t posix_code = -1) {
    +
    304  return Status(kConfigurationError, msg, msg2, posix_code);
    +
    305  }
    +
    306  static Status Incomplete(const Slice& msg, const Slice& msg2 = Slice(),
    +
    307  int64_t posix_code = -1) {
    +
    308  return Status(kIncomplete, msg, msg2, posix_code);
    +
    309  }
    +
    310  static Status EndOfFile(const Slice& msg, const Slice& msg2 = Slice(),
    +
    311  int64_t posix_code = -1) {
    +
    312  return Status(kEndOfFile, msg, msg2, posix_code);
    +
    313  }
    +
    314  static Status Immutable(const Slice& msg, const Slice& msg2 = Slice(),
    +
    315  int64_t posix_code = -1) {
    +
    316  return Status(kImmutable, msg, msg2, posix_code);
    +
    317  }
    +
    319 
    +
    321  bool ok() const { return (state_ == NULL); }
    +
    322 
    +
    324  bool IsNotFound() const { return code() == kNotFound; }
    +
    325 
    +
    327  bool IsCorruption() const { return code() == kCorruption; }
    +
    328 
    +
    330  bool IsNotSupported() const { return code() == kNotSupported; }
    +
    331 
    +
    333  bool IsIOError() const { return code() == kIOError; }
    +
    334 
    +
    336  bool IsInvalidArgument() const { return code() == kInvalidArgument; }
    +
    337 
    +
    339  bool IsAlreadyPresent() const { return code() == kAlreadyPresent; }
    +
    340 
    +
    342  bool IsRuntimeError() const { return code() == kRuntimeError; }
    +
    343 
    +
    345  bool IsNetworkError() const { return code() == kNetworkError; }
    +
    346 
    +
    348  bool IsIllegalState() const { return code() == kIllegalState; }
    +
    349 
    +
    351  bool IsNotAuthorized() const { return code() == kNotAuthorized; }
    +
    352 
    +
    354  bool IsAborted() const { return code() == kAborted; }
    +
    355 
    +
    357  bool IsRemoteError() const { return code() == kRemoteError; }
    +
    358 
    +
    360  bool IsServiceUnavailable() const { return code() == kServiceUnavailable; }
    +
    361 
    +
    363  bool IsTimedOut() const { return code() == kTimedOut; }
    +
    364 
    +
    366  bool IsUninitialized() const { return code() == kUninitialized; }
    +
    367 
    +
    369  bool IsConfigurationError() const { return code() == kConfigurationError; }
    +
    370 
    +
    372  bool IsIncomplete() const { return code() == kIncomplete; }
    +
    373 
    +
    375  bool IsEndOfFile() const { return code() == kEndOfFile; }
    +
    376 
    +
    378  bool IsImmutable() const { return code() == kImmutable; }
    +
    379 
    +
    381  bool IsDiskFailure() const {
    +
    382  switch (posix_code()) {
    +
    383  case EIO:
    +
    384  case ENODEV:
    +
    385  case ENXIO:
    +
    386  case EROFS:
    +
    387  return true;
    +
    388  }
    +
    389  return false;
    +
    390  }
    +
    391 
    +
    394  std::string ToString() const;
    +
    395 
    +
    398  std::string CodeAsString() const;
    +
    399 
    +
    408  Slice message() const;
    +
    409 
    +
    412  int16_t posix_code() const;
    +
    413 
    +
    422  Status CloneAndPrepend(const Slice& msg) const;
    +
    423 
    +
    432  Status CloneAndAppend(const Slice& msg) const;
    +
    433 
    + +
    437 
    + +
    441 
    +
    442  private:
    +
    443  // OK status has a NULL state_. Otherwise, state_ is a new[] array
    +
    444  // of the following form:
    +
    445  // state_[0..3] == length of message
    +
    446  // state_[4] == code
    +
    447  // state_[5..6] == posix_code
    +
    448  // state_[7..] == message
    +
    449  const char* state_;
    +
    450 
    +
    451  enum Code {
    +
    452  kOk = 0,
    +
    453  kNotFound = 1,
    +
    454  kCorruption = 2,
    +
    455  kNotSupported = 3,
    +
    456  kInvalidArgument = 4,
    +
    457  kIOError = 5,
    +
    458  kAlreadyPresent = 6,
    +
    459  kRuntimeError = 7,
    +
    460  kNetworkError = 8,
    +
    461  kIllegalState = 9,
    +
    462  kNotAuthorized = 10,
    +
    463  kAborted = 11,
    +
    464  kRemoteError = 12,
    +
    465  kServiceUnavailable = 13,
    +
    466  kTimedOut = 14,
    +
    467  kUninitialized = 15,
    +
    468  kConfigurationError = 16,
    +
    469  kIncomplete = 17,
    +
    470  kEndOfFile = 18,
    +
    471  // kCancelled stems from AppStatusPB, although it seems nobody use it now, we still reserve it.
    +
    472  // kCancelled = 19,
    +
    473  kImmutable = 20,
    +
    474  // NOTE: Remember to duplicate these constants into wire_protocol.proto and
    +
    475  // and to add StatusTo/FromPB ser/deser cases in wire_protocol.cc !
    +
    476  // Also remember to make the same changes to the java client in Status.java.
    +
    477  //
    +
    478  // TODO: Move error codes into an error_code.proto or something similar.
    +
    479  };
    +
    480  COMPILE_ASSERT(sizeof(Code) == 4, code_enum_size_is_part_of_abi);
    +
    481 
    +
    482  Code code() const {
    +
    483  return (state_ == NULL) ? kOk : static_cast<Code>(state_[4]);
    +
    484  }
    +
    485 
    +
    486  Status(Code code, const Slice& msg, const Slice& msg2, int16_t posix_code);
    +
    487  static const char* CopyState(const char* s);
    +
    488 };
    +
    489 
    +
    490 inline Status::Status(const Status& s) {
    +
    491  state_ = (s.state_ == NULL) ? NULL : CopyState(s.state_);
    +
    492 }
    +
    493 
    +
    494 inline Status& Status::operator=(const Status& s) {
    +
    495  // The following condition catches both aliasing (when this == &s),
    +
    496  // and the common case where both s and *this are OK.
    +
    497  if (state_ != s.state_) {
    +
    498  delete[] state_;
    +
    499  state_ = (s.state_ == NULL) ? NULL : CopyState(s.state_);
    +
    500  }
    +
    501  return *this;
    +
    502 }
    +
    503 
    +
    504 #if __cplusplus >= 201103L
    +
    505 inline Status::Status(Status&& s) noexcept : state_(s.state_) {
    +
    506  s.state_ = nullptr;
    +
    507 }
    +
    508 
    +
    509 inline Status& Status::operator=(Status&& s) noexcept {
    +
    510  if (state_ != s.state_) {
    +
    511  delete[] state_;
    +
    512  state_ = s.state_;
    +
    513  s.state_ = nullptr;
    +
    514  }
    +
    515  return *this;
    +
    516 }
    +
    517 #endif
    +
    518 
    +
    519 } // namespace kudu
    +
    520 
    +
    521 #endif // KUDU_UTIL_STATUS_H_
    +
    A wrapper around externally allocated data.
    Definition: slice.h:51
    +
    A representation of an operation's outcome.
    Definition: status.h:165
    +
    bool IsInvalidArgument() const
    Definition: status.h:336
    +
    static Status TimedOut(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:294
    +
    bool IsRemoteError() const
    Definition: status.h:357
    +
    size_t memory_footprint_including_this() const
    +
    bool IsEndOfFile() const
    Definition: status.h:375
    +
    static Status Immutable(const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)
    Definition: status.h:314
    +
    bool IsTimedOut() const
    Definition: status.h:363
    +
    bool IsUninitialized() const
    Definition: status.h:366
    +
    static Status RuntimeError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:266
    +
    static Status IOError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:258
    +
    int16_t posix_code() const
    +
    bool IsAlreadyPresent() const
    Definition: status.h:339
    +
    bool IsCorruption() const
    Definition: status.h:327
    +
    size_t memory_footprint_excluding_this() const
    +
    static Status ServiceUnavailable(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:290
    +
    static Status Corruption(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:246
    +
    bool IsIOError() const
    Definition: status.h:333
    +
    static Status IllegalState(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:274
    +
    bool IsAborted() const
    Definition: status.h:354
    +
    static Status Aborted(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:282
    +
    std::string CodeAsString() const
    +
    static Status NotSupported(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:250
    +
    Status CloneAndAppend(const Slice &msg) const
    +
    bool IsNotFound() const
    Definition: status.h:324
    +
    bool IsServiceUnavailable() const
    Definition: status.h:360
    +
    bool IsConfigurationError() const
    Definition: status.h:369
    +
    static Status AlreadyPresent(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:262
    +
    Status & operator=(const Status &s)
    Definition: status.h:494
    +
    bool IsDiskFailure() const
    Definition: status.h:381
    +
    static Status NotFound(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:242
    +
    bool IsNotSupported() const
    Definition: status.h:330
    +
    static Status InvalidArgument(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:254
    +
    static Status Incomplete(const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)
    Definition: status.h:306
    +
    Status CloneAndPrepend(const Slice &msg) const
    +
    static Status NetworkError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:270
    +
    static Status Uninitialized(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:298
    +
    bool IsIncomplete() const
    Definition: status.h:372
    +
    bool IsNotAuthorized() const
    Definition: status.h:351
    +
    static Status NotAuthorized(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:278
    +
    Status()
    Create an object representing success status.
    Definition: status.h:168
    +
    bool IsIllegalState() const
    Definition: status.h:348
    +
    bool IsNetworkError() const
    Definition: status.h:345
    +
    bool IsImmutable() const
    Definition: status.h:378
    +
    static Status OK()
    Definition: status.h:230
    +
    bool ok() const
    Definition: status.h:321
    +
    bool IsRuntimeError() const
    Definition: status.h:342
    +
    std::string ToString() const
    +
    static Status EndOfFile(const Slice &msg, const Slice &msg2=Slice(), int64_t posix_code=-1)
    Definition: status.h:310
    +
    static Status ConfigurationError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:302
    +
    static Status RemoteError(const Slice &msg, const Slice &msg2=Slice(), int16_t posix_code=-1)
    Definition: status.h:286
    +
    Slice message() const
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/structkudu_1_1SliceMap-members.html b/releases/1.17.1/cpp-client-api/structkudu_1_1SliceMap-members.html new file mode 100644 index 0000000000..15b6ea3b11 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/structkudu_1_1SliceMap-members.html @@ -0,0 +1,85 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    kudu::SliceMap< T > Member List
    +
    +
    + +

    This is the complete list of members for kudu::SliceMap< T >, including all inherited members.

    + + +
    type typedefkudu::SliceMap< T >
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/structkudu_1_1SliceMap.html b/releases/1.17.1/cpp-client-api/structkudu_1_1SliceMap.html new file mode 100644 index 0000000000..1bf57e1534 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/structkudu_1_1SliceMap.html @@ -0,0 +1,116 @@ + + + + + + + +Kudu C++ client API: kudu::SliceMap< T > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    kudu::SliceMap< T > Struct Template Reference
    +
    +
    + +

    STL map whose keys are Slices. + More...

    + +

    #include <slice.h>

    + + + + + +

    +Public Types

    +typedef std::map< Slice, T, Slice::Comparatortype
     A handy typedef for the slice map with appropriate comparison operator.
     
    +

    Detailed Description

    +

    template<typename T>
    +struct kudu::SliceMap< T >

    + +

    STL map whose keys are Slices.

    +

    An example of usage:

    typedef SliceMap<int>::type MySliceMap;
    +
    +
    MySliceMap my_map;
    +
    my_map.insert(MySliceMap::value_type(a, 1));
    +
    my_map.insert(MySliceMap::value_type(b, 2));
    +
    my_map.insert(MySliceMap::value_type(c, 3));
    +
    +
    for (const MySliceMap::value_type& pair : my_map) {
    +
    ...
    +
    }
    +
    std::map< Slice, T, Slice::Comparator > type
    A handy typedef for the slice map with appropriate comparison operator.
    Definition: slice.h:377
    +

    The documentation for this struct was generated from the following file: +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html b/releases/1.17.1/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html new file mode 100644 index 0000000000..773a66cf65 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/structkudu_1_1Slice_1_1Comparator-members.html @@ -0,0 +1,85 @@ + + + + + + + +Kudu C++ client API: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    kudu::Slice::Comparator Member List
    +
    +
    + +

    This is the complete list of members for kudu::Slice::Comparator, including all inherited members.

    + + +
    operator()(const Slice &a, const Slice &b) constkudu::Slice::Comparatorinline
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html b/releases/1.17.1/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html new file mode 100644 index 0000000000..544dc11699 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/structkudu_1_1Slice_1_1Comparator.html @@ -0,0 +1,146 @@ + + + + + + + +Kudu C++ client API: kudu::Slice::Comparator Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    kudu::Slice::Comparator Struct Reference
    +
    +
    + +

    Comparator struct, useful for ordered collections (like STL maps). + More...

    + +

    #include <slice.h>

    + + + + +

    +Public Member Functions

    bool operator() (const Slice &a, const Slice &b) const
     
    +

    Detailed Description

    +

    Comparator struct, useful for ordered collections (like STL maps).

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool kudu::Slice::Comparator::operator() (const Slicea,
    const Sliceb 
    ) const
    +
    +inline
    +
    +

    Compare two slices using Slice::compare()

    +
    Parameters
    + + + +
    [in]aThe slice to call Slice::compare() at.
    [in]bThe slice to use as a parameter for Slice::compare().
    +
    +
    +
    Returns
    true iff a is less than b by Slice::compare().
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/stubs_8h_source.html b/releases/1.17.1/cpp-client-api/stubs_8h_source.html new file mode 100644 index 0000000000..759a06c7c9 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/stubs_8h_source.html @@ -0,0 +1,300 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/stubs.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    stubs.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_CLIENT_STUBS_H
    +
    18 #define KUDU_CLIENT_STUBS_H
    +
    19 
    +
    20 #include <cstdlib> // for exit()
    +
    21 #include <iostream>
    +
    22 
    +
    23 //
    +
    24 // GCC can be told that a certain branch is not likely to be taken (for
    +
    25 // instance, a CHECK failure), and use that information in static analysis.
    +
    26 // Giving it this information can help it optimize for the common case in
    +
    27 // the absence of better information (ie. -fprofile-arcs).
    +
    28 //
    +
    29 #ifndef PREDICT_FALSE
    +
    30 #if defined(__GNUC__)
    +
    31 #define PREDICT_FALSE(x) (__builtin_expect(x, 0))
    +
    32 #else
    +
    33 #define PREDICT_FALSE(x) x
    +
    34 #endif
    +
    35 #endif
    +
    36 #ifndef PREDICT_TRUE
    +
    37 #if defined(__GNUC__)
    +
    38 #define PREDICT_TRUE(x) (__builtin_expect(!!(x), 1))
    +
    39 #else
    +
    40 #define PREDICT_TRUE(x) x
    +
    41 #endif
    +
    42 #endif
    +
    43 
    +
    44 // Annotate a function indicating the caller must examine the return value.
    +
    45 // Use like:
    +
    46 // int foo() WARN_UNUSED_RESULT;
    +
    47 // To explicitly ignore a result, see |ignore_result()| in <base/basictypes.h>.
    +
    48 #ifndef WARN_UNUSED_RESULT
    +
    49 #if defined(__GNUC__)
    +
    50 #define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
    +
    51 #else
    +
    52 #define WARN_UNUSED_RESULT
    +
    53 #endif
    +
    54 #endif
    +
    55 
    +
    56 #if (defined(__GNUC__) || defined(__APPLE__)) && !defined(SWIG)
    +
    57 #undef ATTRIBUTE_UNUSED
    +
    58 #define ATTRIBUTE_UNUSED __attribute__ ((unused))
    +
    59 #else
    +
    60 #ifndef ATTRIBUTE_UNUSED
    +
    61 #define ATTRIBUTE_UNUSED
    +
    62 #endif
    +
    63 #endif
    +
    64 
    +
    65 // For deprecated functions or variables, generate a warning at usage sites.
    +
    66 // Verified to work as early as GCC 3.1.1 and clang 3.2 (so we'll assume any
    +
    67 // clang is new enough).
    +
    68 #ifndef ATTRIBUTE_DEPRECATED
    +
    69 #if defined(__clang__) || \
    +
    70  (defined(COMPILER_GCC) && \
    +
    71  (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 30200)
    +
    72 #define ATTRIBUTE_DEPRECATED(msg) __attribute__ ((deprecated (msg) ))
    +
    73 #else
    +
    74 #define ATTRIBUTE_DEPRECATED(msg)
    +
    75 #endif
    +
    76 #endif // #ifndef ATTRIBUTE_DEPRECATED
    +
    77 
    +
    78 #ifndef COMPILE_ASSERT
    +
    79 // The COMPILE_ASSERT macro can be used to verify that a compile time
    +
    80 // expression is true. For example, you could use it to verify the
    +
    81 // size of a static array:
    +
    82 //
    +
    83 // COMPILE_ASSERT(ARRAYSIZE(content_type_names) == CONTENT_NUM_TYPES,
    +
    84 // content_type_names_incorrect_size);
    +
    85 //
    +
    86 // or to make sure a struct is smaller than a certain size:
    +
    87 //
    +
    88 // COMPILE_ASSERT(sizeof(foo) < 128, foo_too_large);
    +
    89 //
    +
    90 // The second argument to the macro is the name of the variable. If
    +
    91 // the expression is false, most compilers will issue a warning/error
    +
    92 // containing the name of the variable.
    +
    93 
    +
    95 template <bool>
    +
    96 struct StubsCompileAssert {
    +
    97 };
    +
    99 
    +
    100 #define COMPILE_ASSERT(expr, msg) \
    +
    101  typedef StubsCompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] ATTRIBUTE_UNUSED // NOLINT(*)
    +
    102 #endif
    +
    103 
    +
    104 // Annotate a virtual method indicating it must be overriding a virtual
    +
    105 // method in the parent class.
    +
    106 // Use like:
    +
    107 // virtual void foo() OVERRIDE;
    +
    108 #ifndef OVERRIDE
    +
    109 # if defined(COMPILER_MSVC)
    +
    110 # define OVERRIDE override
    +
    111 # elif defined(__clang__) && __cplusplus >= 201103
    +
    112  // LLVM/Clang supports explicit virtual overrides, but warns about C++11
    +
    113  // extensions if compiling in pre-C++11 mode since the '-Wc++11-extensions'
    +
    114  // option is enabled by default.
    +
    115 # define OVERRIDE override
    +
    116 # elif defined(COMPILER_GCC) && __cplusplus >= 201103 && \
    +
    117  (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40700
    +
    118  // GCC 4.7 supports explicit virtual overrides when C++11 support is enabled.
    +
    119 # define OVERRIDE override
    +
    120 # else
    +
    121 # define OVERRIDE
    +
    122 # endif
    +
    123 #endif // #ifndef OVERRIDE
    +
    124 
    +
    125 #ifndef DISALLOW_COPY_AND_ASSIGN
    +
    126 #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
    +
    127  TypeName(const TypeName&); \
    +
    128  void operator=(const TypeName&)
    +
    129 #endif
    +
    130 
    +
    131 #ifndef FRIEND_TEST
    +
    132 #define FRIEND_TEST(test_case_name, test_name) \
    +
    133  friend class test_case_name##_##test_name##_Test
    +
    134 #endif
    +
    135 
    +
    136 // Stubbed versions of macros defined in glog/logging.h, intended for
    +
    137 // environments where glog headers aren't available.
    +
    138 //
    +
    139 // Add more as needed.
    +
    140 
    +
    141 #define KUDU_DCHECK(condition) while (false) kudu::internal_logging::NullLog()
    +
    142 #define KUDU_DCHECK_EQ(val1, val2) while (false) kudu::internal_logging::NullLog()
    +
    143 #define KUDU_DCHECK_NE(val1, val2) while (false) kudu::internal_logging::NullLog()
    +
    144 #define KUDU_DCHECK_LE(val1, val2) while (false) kudu::internal_logging::NullLog()
    +
    145 #define KUDU_DCHECK_LT(val1, val2) while (false) kudu::internal_logging::NullLog()
    +
    146 #define KUDU_DCHECK_GE(val1, val2) while (false) kudu::internal_logging::NullLog()
    +
    147 #define KUDU_DCHECK_GT(val1, val2) while (false) kudu::internal_logging::NullLog()
    +
    148 #define KUDU_DCHECK_NOTNULL(val) (val)
    +
    149 #define KUDU_DCHECK_STREQ(str1, str2) while (false) kudu::internal_logging::NullLog()
    +
    150 #define KUDU_DCHECK_STRCASEEQ(str1, str2) while (false) kudu::internal_logging::NullLog()
    +
    151 #define KUDU_DCHECK_STRNE(str1, str2) while (false) kudu::internal_logging::NullLog()
    +
    152 #define KUDU_DCHECK_STRCASENE(str1, str2) while (false) kudu::internal_logging::NullLog()
    +
    153 
    +
    154 // Log levels. LOG ignores them, so their values are abitrary.
    +
    155 
    +
    156 #define KUDU_INFO 0
    +
    157 #define KUDU_WARNING 1
    +
    158 #define KUDU_ERROR 2
    +
    159 #define KUDU_FATAL 3
    +
    160 
    +
    161 #ifdef NDEBUG
    +
    162 #define KUDU_DFATAL KUDU_WARNING
    +
    163 #else
    +
    164 #define KUDU_DFATAL KUDU_FATAL
    +
    165 #endif // NDEBUG
    +
    166 
    +
    167 #define KUDU_LOG_INTERNAL(level) kudu::internal_logging::CerrLog(level)
    +
    168 #define KUDU_LOG(level) KUDU_LOG_INTERNAL(KUDU_##level)
    +
    169 
    +
    170 #define KUDU_CHECK(condition) \
    +
    171  (condition) ? 0 : KUDU_LOG(FATAL) << "Check failed: " #condition " "
    +
    172 
    +
    173 namespace kudu {
    +
    174 
    +
    175 namespace internal_logging {
    +
    176 
    +
    181 class NullLog {
    +
    182  public:
    +
    188  template<class T>
    +
    189  NullLog& operator<<(const T& t) {
    +
    190  return *this;
    +
    191  }
    +
    192 };
    +
    193 
    +
    195 class CerrLog {
    +
    196  public:
    +
    201  CerrLog(int severity) // NOLINT(runtime/explicit)
    +
    202  : severity_(severity),
    +
    203  has_logged_(false) {
    +
    204  }
    +
    205 
    +
    206  ~CerrLog() {
    +
    207  if (has_logged_) {
    +
    208  std::cerr << std::endl;
    +
    209  }
    +
    210  if (severity_ == KUDU_FATAL) {
    +
    211  exit(1);
    +
    212  }
    +
    213  }
    +
    214 
    +
    220  template<class T>
    +
    221  CerrLog& operator<<(const T& t) {
    +
    222  has_logged_ = true;
    +
    223  std::cerr << t;
    +
    224  return *this;
    +
    225  }
    +
    226 
    +
    227  private:
    +
    228  const int severity_;
    +
    229  bool has_logged_;
    +
    230 };
    +
    231 
    +
    232 } // namespace internal_logging
    +
    233 } // namespace kudu
    +
    234 
    +
    235 #endif
    +
    A helper for stderr log sink.
    Definition: stubs.h:195
    +
    CerrLog & operator<<(const T &t)
    Definition: stubs.h:221
    +
    CerrLog(int severity)
    Definition: stubs.h:201
    +
    A helper for the nil log sink.
    Definition: stubs.h:181
    +
    NullLog & operator<<(const T &t)
    Definition: stubs.h:189
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/sync_off.png b/releases/1.17.1/cpp-client-api/sync_off.png new file mode 100644 index 0000000000..3b443fc628 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/sync_off.png differ diff --git a/releases/1.17.1/cpp-client-api/sync_on.png b/releases/1.17.1/cpp-client-api/sync_on.png new file mode 100644 index 0000000000..e08320fb64 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/sync_on.png differ diff --git a/releases/1.17.1/cpp-client-api/tab_a.png b/releases/1.17.1/cpp-client-api/tab_a.png new file mode 100644 index 0000000000..3b725c41c5 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/tab_a.png differ diff --git a/releases/1.17.1/cpp-client-api/tab_b.png b/releases/1.17.1/cpp-client-api/tab_b.png new file mode 100644 index 0000000000..e2b4a8638c Binary files /dev/null and b/releases/1.17.1/cpp-client-api/tab_b.png differ diff --git a/releases/1.17.1/cpp-client-api/tab_h.png b/releases/1.17.1/cpp-client-api/tab_h.png new file mode 100644 index 0000000000..fd5cb70548 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/tab_h.png differ diff --git a/releases/1.17.1/cpp-client-api/tab_s.png b/releases/1.17.1/cpp-client-api/tab_s.png new file mode 100644 index 0000000000..ab478c95b6 Binary files /dev/null and b/releases/1.17.1/cpp-client-api/tab_s.png differ diff --git a/releases/1.17.1/cpp-client-api/tabs.css b/releases/1.17.1/cpp-client-api/tabs.css new file mode 100644 index 0000000000..85a0cd5b58 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/releases/1.17.1/cpp-client-api/todo.html b/releases/1.17.1/cpp-client-api/todo.html new file mode 100644 index 0000000000..546fe20911 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/todo.html @@ -0,0 +1,108 @@ + + + + + + + +Kudu C++ client API: Todo List + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    +
    Todo List
    +
    +
    +
    +
    Module Getters to expose column schema information.
    +
    Expose default column value and attributes?
    +
    Class kudu::client::KuduClient
    +
    Cluster administration functions are likely to be in this class as well.
    +
    Member kudu::client::KuduClient::OpenTable (const std::string &table_name, sp::shared_ptr< KuduTable > *table)
    +

    Should we offer an async version of this as well?

    +

    Probably should have a configurable timeout in KuduClientBuilder?

    +
    +
    Class kudu::client::KuduColumnSpec
    +
    KUDU-861: this API will also be used for an improved AlterTable API.
    +
    Member kudu::client::KuduColumnSpec::BlockSize (int32_t block_size)
    +
    KUDU-1107: move above info to docs
    +
    Member kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes (EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0)
    +
    Make this constructor private.
    +
    Member kudu::client::KuduScanner::SetSelection (KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
    +
    Kill this method in favor of a consistency-level-based API.
    +
    Member kudu::client::KuduScanTokenBuilder::SetSelection (KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
    +
    Kill this in favor of a consistency-level-based API.
    +
    Member kudu::client::KuduSchema::Reset (const std::vector< KuduColumnSchema > &columns, int key_columns) WARN_UNUSED_RESULT
    +
    Remove KuduSchema::Reset().
    +
    Member kudu::client::KuduSession::Apply (KuduWriteOperation *write_op) WARN_UNUSED_RESULT
    +
    Add "doAs" ability here for proxy servers to be able to act on behalf of other users, assuming access rights.
    +
    Member kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND
    +
    Provide an API for the user to specify a callback to do their own error reporting.
    +
    Member kudu::client::KuduSession::HasPendingOperations () const
    +
    Maybe "incomplete" or "undelivered" is clearer?
    +
    Member kudu::client::KuduTableCreator::table_name (const std::string &name)
    +
    Should name of the table be a constructor's parameter instead?
    +
    +
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/value_8h_source.html b/releases/1.17.1/cpp-client-api/value_8h_source.html new file mode 100644 index 0000000000..a6eff71962 --- /dev/null +++ b/releases/1.17.1/cpp-client-api/value_8h_source.html @@ -0,0 +1,161 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/value.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    value.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_CLIENT_VALUE_H
    +
    18 #define KUDU_CLIENT_VALUE_H
    +
    19 
    +
    20 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    21 // to be processed by a compiler lacking C++11 support.
    +
    22 #include <stdint.h>
    +
    23 
    +
    24 #ifdef KUDU_HEADERS_NO_STUBS
    +
    25 #include "kudu/gutil/macros.h"
    +
    26 #else
    +
    27 #include "kudu/client/stubs.h"
    +
    28 #endif
    +
    29 #include "kudu/util/int128.h"
    +
    30 #include "kudu/util/kudu_export.h"
    +
    31 #include "kudu/util/slice.h"
    +
    32 
    +
    33 namespace kudu {
    +
    34 namespace client {
    +
    35 
    +
    37 class KUDU_EXPORT KuduValue {
    +
    38  public:
    +
    40  KuduValue* Clone() const;
    +
    41 
    +
    44 
    +
    50  static KuduValue* FromInt(int64_t val);
    +
    51  static KuduValue* FromFloat(float val);
    +
    52  static KuduValue* FromDouble(double val);
    +
    53  static KuduValue* FromBool(bool val);
    +
    55 
    +
    56 #if KUDU_INT128_SUPPORTED
    +
    68  static KuduValue* FromDecimal(int128_t dv, int8_t scale);
    +
    70 #endif
    +
    71 
    + +
    78 
    +
    79  ~KuduValue();
    +
    80  private:
    +
    81  friend class ComparisonPredicateData;
    +
    82  friend class InBloomFilterPredicateData;
    +
    83  friend class InListPredicateData;
    +
    84  friend class KuduColumnSpec;
    +
    85 
    +
    86  class KUDU_NO_EXPORT Data;
    +
    87  explicit KuduValue(Data* d);
    +
    88 
    +
    89  // Owned.
    +
    90  Data* data_;
    +
    91 
    +
    92  private:
    +
    93  DISALLOW_COPY_AND_ASSIGN(KuduValue);
    +
    94 };
    +
    95 
    +
    96 } // namespace client
    +
    97 } // namespace kudu
    +
    98 #endif /* KUDU_CLIENT_VALUE_H */
    +
    A wrapper around externally allocated data.
    Definition: slice.h:51
    +
    Builder API for specifying or altering a column within a table schema.
    Definition: schema.h:370
    +
    A constant cell value with a specific type.
    Definition: value.h:37
    +
    static KuduValue * FromDouble(double val)
    +
    static KuduValue * FromFloat(float val)
    +
    static KuduValue * CopyString(Slice s)
    +
    KuduValue * Clone() const
    +
    static KuduValue * FromInt(int64_t val)
    +
    static KuduValue * FromBool(bool val)
    +
    + + + + + diff --git a/releases/1.17.1/cpp-client-api/write__op_8h_source.html b/releases/1.17.1/cpp-client-api/write__op_8h_source.html new file mode 100644 index 0000000000..16663edb6c --- /dev/null +++ b/releases/1.17.1/cpp-client-api/write__op_8h_source.html @@ -0,0 +1,358 @@ + + + + + + + +Kudu C++ client API: include/kudu/client/write_op.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Kudu C++ client API +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    write_op.h
    +
    +
    +
    1 // Licensed to the Apache Software Foundation (ASF) under one
    +
    2 // or more contributor license agreements. See the NOTICE file
    +
    3 // distributed with this work for additional information
    +
    4 // regarding copyright ownership. The ASF licenses this file
    +
    5 // to you under the Apache License, Version 2.0 (the
    +
    6 // "License"); you may not use this file except in compliance
    +
    7 // with the License. You may obtain a copy of the License at
    +
    8 //
    +
    9 // http://www.apache.org/licenses/LICENSE-2.0
    +
    10 //
    +
    11 // Unless required by applicable law or agreed to in writing,
    +
    12 // software distributed under the License is distributed on an
    +
    13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +
    14 // KIND, either express or implied. See the License for the
    +
    15 // specific language governing permissions and limitations
    +
    16 // under the License.
    +
    17 #ifndef KUDU_CLIENT_WRITE_OP_H
    +
    18 #define KUDU_CLIENT_WRITE_OP_H
    +
    19 
    +
    20 // NOTE: using stdint.h instead of cstdint because this file is supposed
    +
    21 // to be processed by a compiler lacking C++11 support.
    +
    22 #include <stdint.h>
    +
    23 
    +
    24 // IWYU pragma: no_include <memory>
    +
    25 #include <string>
    +
    26 
    +
    27 #include "kudu/client/shared_ptr.h" // IWYU pragma: keep
    +
    28 #include "kudu/common/partial_row.h"
    +
    29 #include "kudu/util/kudu_export.h"
    +
    30 
    +
    31 #ifdef KUDU_HEADERS_NO_STUBS
    +
    32 #include "kudu/gutil/macros.h"
    +
    33 #include "kudu/gutil/port.h"
    +
    34 #else
    +
    35 #include "kudu/client/stubs.h"
    +
    36 #endif
    +
    37 
    +
    38 namespace kudu {
    +
    39 
    +
    40 namespace client {
    +
    41 
    +
    42 namespace internal {
    +
    43 class Batcher;
    +
    44 class ErrorCollector;
    +
    45 class WriteRpc;
    +
    46 } // namespace internal
    +
    47 
    +
    48 class KuduTable;
    +
    49 
    +
    66 class KUDU_EXPORT KuduWriteOperation {
    +
    67  public:
    +
    69  enum Type {
    +
    70  INSERT = 1,
    +
    71  UPDATE = 2,
    +
    72  DELETE = 3,
    +
    73  UPSERT = 4,
    +
    74  INSERT_IGNORE = 5,
    +
    75  UPDATE_IGNORE = 6,
    +
    76  DELETE_IGNORE = 7,
    +
    77  UPSERT_IGNORE = 8
    +
    78  };
    +
    79  virtual ~KuduWriteOperation();
    +
    80 
    +
    84  const KuduPartialRow& row() const { return row_; }
    +
    85 
    +
    89  KuduPartialRow* mutable_row() { return &row_; }
    +
    90 
    +
    96  virtual std::string ToString() const = 0;
    +
    97 
    +
    100  const KuduTable* table() const { return table_.get(); }
    +
    101 
    +
    102  protected:
    +
    104 
    +
    109  explicit KuduWriteOperation(const sp::shared_ptr<KuduTable>& table);
    +
    110 
    +
    112  virtual Type type() const = 0;
    +
    113 
    +
    117  sp::shared_ptr<KuduTable> const table_;
    +
    118 
    +
    120  KuduPartialRow row_;
    +
    121 
    +
    123 
    +
    124  private:
    +
    125  friend class internal::Batcher;
    +
    126  friend class internal::WriteRpc;
    +
    127  friend class internal::ErrorCollector;
    +
    128  friend class KuduSession;
    +
    129 
    +
    130  // Return the number of bytes required to buffer this operation,
    +
    131  // including direct and indirect data. Once called, the result is cached
    +
    132  // so subsequent calls will return the size previously computed.
    +
    133  int64_t SizeInBuffer() const;
    +
    134 
    +
    135  mutable int64_t size_in_buffer_;
    +
    136 
    +
    137  DISALLOW_COPY_AND_ASSIGN(KuduWriteOperation);
    +
    138 };
    +
    139 
    +
    140 
    +
    145 class KUDU_EXPORT KuduInsert : public KuduWriteOperation {
    +
    146  public:
    +
    147  virtual ~KuduInsert();
    +
    148 
    +
    150  virtual std::string ToString() const OVERRIDE { return "INSERT " + row_.ToString(); }
    +
    151 
    +
    152  protected:
    +
    154 
    +
    156  virtual Type type() const OVERRIDE {
    +
    157  return INSERT;
    +
    158  }
    +
    159 
    +
    161 
    +
    162  private:
    +
    163  friend class KuduTable;
    +
    164  explicit KuduInsert(const sp::shared_ptr<KuduTable>& table);
    +
    165 };
    +
    166 
    +
    167 
    +
    172 class KUDU_EXPORT KuduInsertIgnore : public KuduWriteOperation {
    +
    173  public:
    +
    174  virtual ~KuduInsertIgnore();
    +
    175 
    +
    177  virtual std::string ToString() const OVERRIDE { return "INSERT IGNORE " + row_.ToString(); }
    +
    178 
    +
    179  protected:
    +
    181 
    +
    183  virtual Type type() const OVERRIDE {
    +
    184  return INSERT_IGNORE;
    +
    185  }
    +
    186 
    +
    188 
    +
    189  private:
    +
    190  friend class KuduTable;
    +
    191  explicit KuduInsertIgnore(const sp::shared_ptr<KuduTable>& table);
    +
    192 };
    +
    193 
    +
    194 
    +
    198 class KUDU_EXPORT KuduUpsert : public KuduWriteOperation {
    +
    199  public:
    +
    200  virtual ~KuduUpsert();
    +
    201 
    +
    203  virtual std::string ToString() const OVERRIDE { return "UPSERT " + row_.ToString(); }
    +
    204 
    +
    205  protected:
    +
    207 
    +
    209  virtual Type type() const OVERRIDE {
    +
    210  return UPSERT;
    +
    211  }
    +
    212 
    +
    214 
    +
    215  private:
    +
    216  friend class KuduTable;
    +
    217  explicit KuduUpsert(const sp::shared_ptr<KuduTable>& table);
    +
    218 };
    +
    219 
    +
    220 
    +
    225 class KUDU_EXPORT KuduUpsertIgnore : public KuduWriteOperation {
    +
    226  public:
    +
    227  ~KuduUpsertIgnore() OVERRIDE;
    +
    228 
    +
    230  std::string ToString() const OVERRIDE { return "UPSERT IGNORE " + row_.ToString(); }
    +
    231 
    +
    232  protected:
    +
    234 
    +
    236  Type type() const OVERRIDE {
    +
    237  return UPSERT_IGNORE;
    +
    238  }
    +
    239 
    +
    241 
    +
    242  private:
    +
    243  friend class KuduTable;
    +
    244  explicit KuduUpsertIgnore(const sp::shared_ptr<KuduTable>& table);
    +
    245 };
    +
    246 
    +
    247 
    +
    252 class KUDU_EXPORT KuduUpdate : public KuduWriteOperation {
    +
    253  public:
    +
    254  virtual ~KuduUpdate();
    +
    255 
    +
    257  virtual std::string ToString() const OVERRIDE { return "UPDATE " + row_.ToString(); }
    +
    258 
    +
    259  protected:
    +
    261 
    +
    263  virtual Type type() const OVERRIDE {
    +
    264  return UPDATE;
    +
    265  }
    +
    266 
    +
    268 
    +
    269  private:
    +
    270  friend class KuduTable;
    +
    271  explicit KuduUpdate(const sp::shared_ptr<KuduTable>& table);
    +
    272 };
    +
    273 
    +
    279 class KUDU_EXPORT KuduUpdateIgnore : public KuduWriteOperation {
    +
    280 public:
    +
    281  virtual ~KuduUpdateIgnore();
    +
    282 
    +
    284  virtual std::string ToString() const OVERRIDE { return "UPDATE IGNORE " + row_.ToString(); }
    +
    285 
    +
    286 protected:
    +
    288 
    +
    290  virtual Type type() const OVERRIDE {
    +
    291  return UPDATE_IGNORE;
    +
    292  }
    +
    293 
    +
    295 
    +
    296 private:
    +
    297  friend class KuduTable;
    +
    298  explicit KuduUpdateIgnore(const sp::shared_ptr<KuduTable>& table);
    +
    299 };
    +
    300 
    +
    305 class KUDU_EXPORT KuduDelete : public KuduWriteOperation {
    +
    306  public:
    +
    307  virtual ~KuduDelete();
    +
    308 
    +
    310  virtual std::string ToString() const OVERRIDE { return "DELETE " + row_.ToString(); }
    +
    311 
    +
    312  protected:
    +
    314 
    +
    316  virtual Type type() const OVERRIDE {
    +
    317  return DELETE;
    +
    318  }
    +
    319 
    +
    321 
    +
    322  private:
    +
    323  friend class KuduTable;
    +
    324  explicit KuduDelete(const sp::shared_ptr<KuduTable>& table);
    +
    325 };
    +
    326 
    +
    331 class KUDU_EXPORT KuduDeleteIgnore : public KuduWriteOperation {
    +
    332 public:
    +
    333  virtual ~KuduDeleteIgnore();
    +
    334 
    +
    336  virtual std::string ToString() const OVERRIDE { return "DELETE IGNORE " + row_.ToString(); }
    +
    337 
    +
    338 protected:
    +
    340 
    +
    342  virtual Type type() const OVERRIDE {
    +
    343  return DELETE_IGNORE;
    +
    344  }
    +
    345 
    +
    347 
    +
    348 private:
    +
    349  friend class KuduTable;
    +
    350  explicit KuduDeleteIgnore(const sp::shared_ptr<KuduTable>& table);
    +
    351 };
    +
    352 
    +
    353 } // namespace client
    +
    354 } // namespace kudu
    +
    355 
    +
    356 #endif
    +
    A row which may only contain values for a subset of the columns.
    Definition: partial_row.h:72
    +
    A single row delete ignore to be sent to the cluster.
    Definition: write_op.h:331
    +
    virtual std::string ToString() const OVERRIDE
    Definition: write_op.h:336
    +
    A single row delete to be sent to the cluster.
    Definition: write_op.h:305
    +
    virtual std::string ToString() const OVERRIDE
    Definition: write_op.h:310
    +
    A single row insert ignore to be sent to the cluster, duplicate row errors are ignored.
    Definition: write_op.h:172
    +
    virtual std::string ToString() const OVERRIDE
    Definition: write_op.h:177
    +
    A single row insert to be sent to the cluster.
    Definition: write_op.h:145
    +
    virtual std::string ToString() const OVERRIDE
    Definition: write_op.h:150
    +
    Representation of a Kudu client session.
    Definition: client.h:2292
    +
    A representation of a table on a particular cluster.
    Definition: client.h:1613
    +
    A single row update ignore to be sent to the cluster, missing row errors and errors on updating immut...
    Definition: write_op.h:279
    +
    virtual std::string ToString() const OVERRIDE
    Definition: write_op.h:284
    +
    A single row update to be sent to the cluster.
    Definition: write_op.h:252
    +
    virtual std::string ToString() const OVERRIDE
    Definition: write_op.h:257
    +
    A single row upsert ignore to be sent to the cluster, errors on updating immutable cells are ignored.
    Definition: write_op.h:225
    +
    std::string ToString() const OVERRIDE
    Definition: write_op.h:230
    +
    A single row upsert to be sent to the cluster.
    Definition: write_op.h:198
    +
    virtual std::string ToString() const OVERRIDE
    Definition: write_op.h:203
    +
    A single-row write operation to be sent to a Kudu table.
    Definition: write_op.h:66
    +
    virtual std::string ToString() const =0
    +
    Type
    Write operation types.
    Definition: write_op.h:69
    +
    KuduPartialRow * mutable_row()
    Definition: write_op.h:89
    +
    const KuduTable * table() const
    Definition: write_op.h:100
    +
    const KuduPartialRow & row() const
    Definition: write_op.h:84
    +
    Smart pointer typedefs for externally-faced code.
    +
    + + + + + diff --git a/releases/1.17.1/docs/administration.html b/releases/1.17.1/docs/administration.html new file mode 100644 index 0000000000..64619f7b40 --- /dev/null +++ b/releases/1.17.1/docs/administration.html @@ -0,0 +1,2932 @@ +--- +title: Apache Kudu Administration +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Administration

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    Starting and Stopping Kudu Processes

    +
    +
    + + + + + +
    + + +These instructions are relevant only when Kudu is installed using operating system packages +(e.g. rpm or deb). +
    +
    +
    +
    +
    +

    Kudu Web Interfaces

    +
    +
    +

    Kudu tablet servers and masters expose useful operational information on a built-in web interface,

    +
    +
    +

    Kudu Master Web Interface

    +
    +

    Kudu master processes serve their web interface on port 8051. The interface exposes several pages +with information about the cluster state:

    +
    +
    +
      +
    • +

      A list of tablet servers, their host names, and the time of their last heartbeat.

      +
    • +
    • +

      A list of tables, including schema and tablet location information for each.

      +
    • +
    • +

      SQL code which you can paste into Impala Shell to add an existing table to Impala’s list of known data sources.

      +
    • +
    +
    +
    +
    +

    Kudu Tablet Server Web Interface

    +
    +

    Each tablet server serves a web interface on port 8050. The interface exposes information +about each tablet hosted on the server, its current state, and debugging information +about maintenance background operations.

    +
    +
    +
    +

    Common Web Interface Pages

    +
    +

    Both Kudu masters and tablet servers expose a common set of information via their web interfaces:

    +
    +
    +
      +
    • +

      HTTP access to server logs.

      +
    • +
    • +

      an /rpcz endpoint which lists currently running RPCs via JSON.

      +
    • +
    • +

      pages giving an overview and detailed information on the memory usage of different +components of the process.

      +
    • +
    • +

      information on the current set of configuration flags.

      +
    • +
    • +

      information on the currently running threads and their resource consumption.

      +
    • +
    • +

      a JSON endpoint exposing metrics about the server.

      +
    • +
    • +

      information on the deployed version number of the daemon.

      +
    • +
    +
    +
    +

    These interfaces are linked from the landing page of each daemon’s web UI.

    +
    +
    +
    +
    +
    +

    Kudu Metrics

    +
    +
    +

    Kudu daemons expose a large number of metrics. Some metrics are associated with an entire +server process, whereas others are associated with a particular tablet replica.

    +
    +
    +

    Listing available metrics

    +
    +

    The full set of available metrics for a Kudu server can be dumped via a special command +line flag:

    +
    +
    +
    +
    $ kudu-tserver --dump_metrics_json
    +$ kudu-master --dump_metrics_json
    +
    +
    +
    +

    This will output a large JSON document. Each metric indicates its name, label, description, +units, and type. Because the output is JSON-formatted, this information can easily be +parsed and fed into other tooling which collects metrics from Kudu servers.

    +
    +
    +
    +

    Collecting metrics via HTTP

    +
    +

    Metrics can be collected from a server process via its HTTP interface by visiting +/metrics. The output of this page is JSON for easy parsing by monitoring services. +This endpoint accepts several GET parameters in its query string:

    +
    +
    +
      +
    • +

      /metrics?metrics=<substring1>,<substring2>,…​ - limits the returned metrics to those which contain +at least one of the provided substrings. The substrings also match entity names, so this +may be used to collect metrics for a specific tablet.

      +
    • +
    • +

      /metrics?include_schema=1 - includes metrics schema information such as unit, description, +and label in the JSON output. This information is typically elided to save space.

      +
    • +
    • +

      /metrics?compact=1 - eliminates unnecessary whitespace from the resulting JSON, which can decrease +bandwidth when fetching this page from a remote host.

      +
    • +
    • +

      /metrics?include_raw_histograms=1 - include the raw buckets and values for histogram metrics, +enabling accurate aggregation of percentile metrics over time and across hosts.

      +
    • +
    • +

      /metrics?level=info - limits the returned metrics based on their severity level. +The levels are ordered and lower levels include the levels above them. If no level is specified, +debug is used to include all metrics. The valid values are:

      +
      +
        +
      • +

        debug - Metrics that are diagnostically helpful but generally not monitored +during normal operation.

        +
      • +
      • +

        info - Generally useful metrics that operators always want to have available +but may not be monitored under normal circumstances.

        +
      • +
      • +

        warn - Metrics which can often indicate operational oddities that may need +more investigation.

        +
      • +
      +
      +
    • +
    • +

      /metrics?types=type1,type2 - limits the returned metrics based on their types.

      +
    • +
    • +

      /metrics?ids=id1,id2 - limits the returned metrics based on their ids.

      +
    • +
    • +

      /metrics?attributes=table_name,table1,table_name,table2 - limits the returned metrics based on their attributes.

      +
    • +
    +
    +
    +

    For example:

    +
    +
    +
    +
    $ curl -s 'http://example-ts:8050/metrics?include_schema=1&metrics=connections_accepted'
    +
    +
    +
    + + + + + +
    + + +See the metrics reference +page for more information on the available metrics. +
    +
    +
    +
    +
    [
    +    {
    +        "type": "server",
    +        "id": "kudu.tabletserver",
    +        "attributes": {},
    +        "metrics": [
    +            {
    +                "name": "rpc_connections_accepted",
    +                "label": "RPC Connections Accepted",
    +                "type": "counter",
    +                "unit": "connections",
    +                "description": "Number of incoming TCP connections made to the RPC server",
    +                "value": 92
    +            }
    +        ]
    +    }
    +]
    +
    +
    +
    +
    +
    $ curl -s 'http://example-ts:8050/metrics?metrics=log_append_latency'
    +
    +
    +
    +
    +
    [
    +    {
    +        "type": "tablet",
    +        "id": "c0ebf9fef1b847e2a83c7bd35c2056b1",
    +        "attributes": {
    +            "table_name": "lineitem",
    +            "partition": "hash buckets: (55), range: [(<start>), (<end>))",
    +            "table_id": ""
    +        },
    +        "metrics": [
    +            {
    +                "name": "log_append_latency",
    +                "total_count": 7498,
    +                "min": 4,
    +                "mean": 69.3649,
    +                "percentile_75": 29,
    +                "percentile_95": 38,
    +                "percentile_99": 45,
    +                "percentile_99_9": 95,
    +                "percentile_99_99": 167,
    +                "max": 367244,
    +                "total_sum": 520098
    +            }
    +        ]
    +    }
    +]
    +
    +
    +
    + + + + + +
    + + +All histograms and counters are measured since the server start time, and are not reset upon collection. +
    +
    +
    +
    +

    Diagnostics Logging

    +
    +

    Kudu may be configured to dump various diagnostics information to a local log file. +The diagnostics log will be written to the same directory as the other Kudu log files, with a +similar naming format, substituting diagnostics instead of a log level like INFO. +After any diagnostics log file reaches 64MB uncompressed, the log will be rolled and +the previous file will be gzip-compressed.

    +
    +
    +

    Each line in the diagnostics log consists of the following components:

    +
    +
    +
      +
    • +

      A human-readable timestamp formatted in the same fashion as the other Kudu log files.

      +
    • +
    • +

      The type of record. For example, a metrics record consists of the word metrics.

      +
    • +
    • +

      A machine-readable timestamp, in microseconds since the Unix epoch.

      +
    • +
    • +

      The record itself.

      +
    • +
    +
    +
    +

    Currently, the only type of diagnostics record is a periodic dump of the server metrics. +Each record is encoded in compact JSON format, and the server attempts to elide any metrics +which have not changed since the previous record. In addition, counters which have never +been incremented are elided. Otherwise, the format of the JSON record is identical to the +format exposed by the HTTP endpoint above.

    +
    +
    +

    The frequency with which metrics are dumped to the diagnostics log is configured using the +--metrics_log_interval_ms flag. By default, Kudu logs metrics every 60 seconds.

    +
    +
    +
    +
    +
    +

    Rack Awareness

    +
    +
    +

    As of version 1.9, Kudu supports a rack awareness feature. Kudu’s ordinary +re-replication methods ensure the availability of the cluster in the event of a +single node failure. However, clusters can be vulnerable to correlated failures +of multiple nodes. For example, all of the physical hosts on the same rack in +a datacenter may become unavailable simultaneously if the top-of-rack switch +fails. Kudu’s rack awareness feature provides protection from some kinds of +correlated failures, like the failure of a whole rack in a datacenter. Rack +awareness increases the availability of a Kudu cluster if there are at least +three different locations defined in the cluster.

    +
    +
    +

    The first element of Kudu’s rack awareness feature is location assignment. +When a tablet server or client registers with a master, the master assigns it a +location. A location is a /-separated string that begins with a / and +where each /-separated component consists of characters from the set +[a-zA-Z0-9_-.]. For example, /dc-0/rack-09 is a valid location, while +rack-04 and /rack=1 are not valid locations. Thus location strings resemble +absolute UNIX file paths where characters in directory and file names are +restricted to the set [a-zA-Z0-9_-.]. Presently, Kudu does not use the +hierarchical structure of locations, but it may in the future. Location +assignment is done by a user-provided command, whose path should be specified +using the --location_mapping_cmd master flag. The command should take a single +argument, the IP address or hostname of a tablet server or client, and return +the location for the tablet server or client. Make sure that all Kudu masters +are using the same location mapping command.

    +
    +
    +

    The second element of Kudu’s rack awareness feature is the placement policy, +which is

    +
    +
    +
    +
    Do not place a majority of replicas of a tablet on tablet servers in the same location.
    +
    +
    +
    +

    The leader master, when placing newly created replicas on tablet servers and +when re-replicating existing tablets, will attempt to place the replicas in a +way that complies with the placement policy. For example, in a cluster with five +tablet servers A, B, C, D, and E, with respective locations /L0, +/L0, /L1, /L1, /L2, to comply with the placement policy a new 3x +replicated tablet could have its replicas placed on A, C, and E, but not +on A, B, and C, because then the tablet would have 2/3 replicas in +location /L0. As another example, if a tablet has replicas on tablet servers +A, C, and E, and then C fails, the replacement replica must be placed on +D in order to comply with the placement policy.

    +
    +
    +

    It’s necessary to have at least three locations defined in a Kudu cluster to +improve its high availability with the location awareness feature. If there are +only two or just one location defined in a Kudu cluster, any tablet will +inevitably have a majority of its replicas placed in a single location.

    +
    +
    +

    In the case where it is impossible to place replicas in a way that complies with +the placement policy, Kudu will violate the policy and place a replica anyway. +For example, using the setup described in the previous paragraph, if a tablet +has replicas on tablet servers A, C, and E, and then E fails, Kudu will +re-replicate the tablet onto one of B or D, violating the placement policy, +rather than leaving the tablet under-replicated indefinitely. The +kudu cluster rebalance tool can reestablish the placement policy if it is +possible to do so. The kudu cluster rebalance tool can also be used to +establish the placement policy on a cluster if the cluster has just been +configured to use the rack awareness feature and existing replicas need to be +moved to comply with the placement policy. See +running the tablet rebalancing tool on a rack-aware cluster +for more information.

    +
    +
    +

    The third and final element of Kudu’s rack awareness feature is the use of +client locations to find "nearby" servers. As mentioned, the masters also +assign a location to clients when they connect to the cluster. The client +(whether Java, C++, or Python) uses its own location and the locations of +tablet servers in the cluster to prefer "nearby" replicas when scanning in +CLOSEST_REPLICA mode. Clients choose replicas to scan in the following order:

    +
    +
    +
      +
    1. +

      Scan a replica on a tablet server on the same host, if there is one.

      +
    2. +
    3. +

      Scan a replica on a tablet server in the same location, if there is one.

      +
    4. +
    5. +

      Scan some replica.

      +
    6. +
    +
    +
    +

    For example, using the cluster setup described above, if a client on the same +host as tablet server A scans a tablet with replicas on tablet servers +A, C, and E in CLOSEST_REPLICA mode, it will choose to scan from the +replica on A, since the client and the replica on A are on the same host. +If the client scans a tablet with replicas on tablet servers B, C, and E, +it will choose to scan from the replica on B, since it is in the same +location as the client, /L0. If there are multiple replicas meeting a +criterion, one is chosen arbitrarily.

    +
    +
    +
    +
    +

    Backup and Restore

    +
    +
    +

    Logical backup and restore

    +
    +

    As of Kudu 1.10.0, Kudu supports both full and incremental table backups via a +job implemented using Apache Spark. Additionally it supports restoring tables +from full and incremental backups via a restore job implemented using Apache Spark.

    +
    +
    +

    Given the Kudu backup and restore jobs use Apache Spark, ensure Apache Spark +is installed in your environment following the +Spark documentation. +Additionally review the Apache Spark documentation for +Submitting Applications.

    +
    +
    + + + + + +
    + + +Restoring tables with non-unique primary keys/auto-incrementing columns is +not supported currently. +
    +
    +
    +

    Backing up tables

    +
    +

    To backup one or more Kudu tables the KuduBackup Spark job can be used. +The first time the job is run for a table, a full backup will be run. +Additional runs will perform incremental backups which will only contain the +rows that have changed since the initial full backup. A new set of full +backups can be forced at anytime by passing the --forceFull flag to the +backup job.

    +
    +
    +

    The common flags that will be used when taking a backup are:

    +
    +
    +
      +
    • +

      --rootPath: The root path to output backup data. Accepts any Spark-compatible path.

      +
      + +
      +
    • +
    • +

      --kuduMasterAddresses: Comma-separated addresses of Kudu masters. Default: localhost

      +
    • +
    • +

      <table>…​: A list of tables to be backed up.

      +
    • +
    +
    +
    +

    Note: You can see the full list of Job options at anytime by passing the --help flag.

    +
    +
    +

    Below is a full example of a KuduBackup job execution which will backup the tables +foo and bar to the HDFS directory kudu-backups:

    +
    +
    +
    +
    spark-submit --class org.apache.kudu.backup.KuduBackup kudu-backup2_2.11-1.14.0.jar \
    +  --kuduMasterAddresses master1-host,master-2-host,master-3-host \
    +  --rootPath hdfs:///kudu-backups \
    +  foo bar
    +
    +
    +
    +
    +

    Restoring tables from Backups

    +
    +

    To restore one or more Kudu tables, the KuduRestore Spark job can be used. +For each backed up table, the KuduRestore job will restore the full backup +and each associated incremental backup until the full table state is restored. +Restoring the full series of full and incremental backups is possible because +the backups are linked via the from_ms and to_ms fields in the backup metadata. +By default the restore job will create tables with the same name as the table +that was backed up. If you want to side-load the tables without affecting the +existing tables, you can pass --tableSuffix to append a suffix to each +restored table.

    +
    +
    +

    The common flags that will be used when restoring are:

    +
    +
    +
      +
    • +

      --rootPath: The root path to the backup data. Accepts any Spark-compatible path.

      +
      + +
      +
    • +
    • +

      --kuduMasterAddresses: Comma-separated addresses of Kudu masters. Default: localhost

      +
    • +
    • +

      --createTables: If set to true, the restore process creates the tables. +Set to false if the target tables already exist. Default: true.

      +
    • +
    • +

      --tableSuffix: If set, the suffix to add to the restored table names. +Only used when createTables is true.

      +
    • +
    • +

      --timestampMs: A UNIX timestamp in milliseconds that defines the latest time +to use when selecting restore candidates. Default: System.currentTimeMillis()

      +
    • +
    • +

      <table>…​: A list of tables to restore.

      +
    • +
    +
    +
    +

    Note: You can see the full list of job options at anytime by passing the --help flag.

    +
    +
    +

    Below is a full example of a KuduRestore job execution which will restore the tables +foo and bar from the HDFS directory kudu-backups:

    +
    +
    +
    +
    spark-submit --class org.apache.kudu.backup.KuduRestore kudu-backup2_2.11-1.14.0.jar \
    +  --kuduMasterAddresses master1-host,master-2-host,master-3-host \
    +  --rootPath hdfs:///kudu-backups \
    +  foo bar
    +
    +
    +
    +
    +

    Backup tools

    +
    +

    An additional backup-tools jar is available to provide some backup exploration and +garbage collection capabilities. This jar does not use Spark directly, but instead +only requires the Hadoop classpath to run.

    +
    +
    +

    Commands:

    +
    +
    +
      +
    • +

      list: Lists the backups in the rootPath.

      +
    • +
    • +

      clean: Cleans up old backup data in the rootPath.

      +
    • +
    +
    +
    +

    Note: You can see the full list of command options at anytime by passing the --help flag.

    +
    +
    +

    Below is an example execution which will print the command options:

    +
    +
    +
    +
    java -cp $(hadoop classpath):kudu-backup-tools-1.14.0.jar org.apache.kudu.backup.KuduBackupCLI --help
    +
    +
    +
    +
    +

    Backup Directory Structure

    +
    +

    The backup directory structure in the rootPath is considered an internal detail +and could change in future versions of Kudu. Additionally the format and content +of the data and metadata files is meant for the backup and restore process only +and could change in future versions of Kudu. That said, understanding the structure +of the backup rootPath and how it is used can be useful when working with Kudu backups.

    +
    +
    +

    The backup directory structure in the rootPath is as follows:

    +
    +
    +
    +
    /<rootPath>/<tableId>-<tableName>/<backup-id>/
    +   .kudu-metadata.json
    +   part-*.<format>
    +
    +
    +
    +
      +
    • +

      rootPath: Can be used to distinguish separate backup groups, jobs, or concerns.

      +
    • +
    • +

      tableId: The unique internal ID of the table being backed up.

      +
    • +
    • +

      tableName: The name of the table being backed up.

      +
      +
        +
      • +

        Note: Table names are URL encoded to prevent pathing issues.

        +
      • +
      +
      +
    • +
    • +

      backup-id: A way to uniquely identify/group the data for a single backup run.

      +
    • +
    • +

      .kudu-metadata.json: Contains all of the metadata to support recreating the table, +linking backups by time, and handling data format changes.

      +
      +
        +
      • +

        Written last so that failed backups will not have a metadata file and will not be +considered at restore time or backup linking time.

        +
      • +
      +
      +
    • +
    • +

      part-*.<format>: The data files containing the tables data.

      +
      +
        +
      • +

        Currently 1 part file per Kudu partition.

        +
      • +
      • +

        Incremental backups contain an additional “RowAction” byte column at the end.

        +
      • +
      • +

        Currently the only supported format/suffix is parquet

        +
      • +
      +
      +
    • +
    +
    +
    +
    +

    Troubleshooting

    +
    +
    Generating a table list
    +
    +

    To generate a list of tables to backup using the kudu table list tool along +with grep can be useful. Below is an example that will generate a list +of all tables that start with my_db.:

    +
    +
    +
    +
    kudu table list <master_addresses> | grep "^my_db\.*" | tr '\n' ' '
    +
    +
    +
    +

    Note: This list could be saved as a part of you backup process to be used +at restore time as well.

    +
    +
    +
    +
    Spark Tuning
    +
    +

    In general the Spark jobs were designed to run with minimal tuning and configuration. +You can adjust the number of executors and resources to increase parallelism and performance +using Spark’s +configuration options.

    +
    +
    +

    If your tables are super wide and your default memory allocation is fairly low, you +may see jobs fail. To resolve this increase the Spark executor memory. A conservative +rule of thumb is 1 GiB per 50 columns.

    +
    +
    +

    If your Spark resources drastically outscale the Kudu cluster you may want to limit the +number of concurrent tasks allowed to run on restore.

    +
    +
    +
    +
    Backups on Kudu 1.9 and earlier
    +
    +

    If your Kudu cluster is version 1.9 or earlier you can still use the backup tool +introduced in Kudu 1.10 to backup your tables. However, because the incremental +backup feature requires server side changes, you are limited to full backups only. +The process to backup tables is the same as documented above, but you will need to +download and use the kudu-backup jar from a Kudu 1.10+ release. Before running +the backup job you should adjust the configuration of your servers by setting +--tablet_history_max_age_sec=604800. This is the new default value in Kudu 1.10+ +to ensure long running backup jobs can complete successfully and consistently. +Additionally, when running the backup you need to pass --forceFull to disable +the incremental backup feature. Now each time the job is run a full backup will be taken.

    +
    +
    + + + + + +
    + + +Taking full backups on a regular basis is far more resource and time intensive +than incremental backups. It is recommended to upgrade to Kudu 1.10+ soon as possible. +
    +
    +
    +
    +
    +
    +

    Physical backups of an entire node

    +
    +

    Kudu does not yet provide built-in physical backup and restore functionality. +However, it is possible to create a physical backup of a Kudu node (either +tablet server or master) and restore it later.

    +
    +
    + + + + + +
    + + +The node to be backed up must be offline during the procedure, or else +the backed up (or restored) data will be inconsistent. +
    +
    +
    + + + + + +
    + + +Certain aspects of the Kudu node (such as its hostname) are embedded in +the on-disk data. As such, it’s not yet possible to restore a physical backup of +a node onto another machine. +
    +
    +
    +
      +
    1. +

      Stop all Kudu processes in the cluster. This prevents the tablets on the +backed up node from being rereplicated elsewhere unnecessarily.

      +
    2. +
    3. +

      If creating a backup, make a copy of the WAL, metadata, and data directories +on each node to be backed up. It is important that this copy preserve all file +attributes as well as sparseness.

      +
    4. +
    5. +

      If restoring from a backup, delete the existing WAL, metadata, and data +directories, then restore the backup via move or copy. As with creating a +backup, it is important that the restore preserve all file attributes and +sparseness.

      +
    6. +
    7. +

      Start all Kudu processes in the cluster.

      +
    8. +
    +
    +
    +
    +
    +
    +

    Common Kudu workflows

    +
    +
    +

    Migrating to Multiple Kudu Masters

    +
    +

    For high availability and to avoid a single point of failure, Kudu clusters should be created with +multiple masters. Many Kudu clusters were created with just a single master, either for simplicity +or because Kudu multi-master support was still experimental at the time. This workflow demonstrates +how to migrate to a multi-master configuration. It can also be used to migrate from two masters to +three, with straightforward modifications. Note that the number of masters must be odd.

    +
    +
    + + + + + +
    + + +From Kudu version 1.16.0 onwards, new Kudu Masters automatically attempt to contact other +masters, determine whether a quorum has already been established, and if so, attempt to join the +quorum. The below steps do not need to be performed in these versions. +
    +
    +
    + + + + + +
    + + +From Kudu version 1.15.0 onwards, the kudu master add command has been added that simplifies +the orchestration to migrate an existing Kudu cluster to multiple masters. +
    +
    +
    + + + + + +
    + + +An even number of masters doesn’t provide any benefit over having one fewer masters. This +guide should always be used for migrating to three masters. +
    +
    +
    + + + + + +
    + + +All of the command line steps below should be executed as the Kudu UNIX user. The example +commands assume the Kudu Unix user is kudu, which is typical. +
    +
    +
    + + + + + +
    + + +The workflow presupposes at least basic familiarity with Kudu configuration management. If +using vendor-specific tools the workflow also presupposes familiarity with +it and the vendor’s instructions should be used instead as details may differ. +
    +
    +
    +

    Prepare for the migration

    +
    +
      +
    1. +

      Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster +will be unavailable.

      +
    2. +
    3. +

      Decide how many masters to use. The number of masters should be odd. Three or five node master +configurations are recommended; they can tolerate one or two failures respectively.

      +
    4. +
    5. +

      Perform the following preparatory steps for the existing masters:

      +
      +
        +
      • +

        If migrating from a single master to multiple masters, ensure --master_addresses is specified +for a single master configuration as it’s required to migrate to multiple masters. This can be +checked using the kudu master get_flags command. +If not specified, supply --master_addresses=<hostname>:<port> to master’s configuration +and restart the single master.

        +
      • +
      • +

        Optional: configure a DNS alias for the master. The alias is a DNS CNAME +record.

        +
        + + + + + +
        + + +Without DNS aliases it is not possible to recover from permanent +master failures without restarting the tablet servers in the cluster +to pick up the replacement master node at different hostname. It is highly +recommended to use DNS aliases for Kudu master nodes to avoid that. +
        +
        +
      • +
      +
      +
    6. +
    7. +

      Perform the following preparatory steps for each new master:

      +
      +
        +
      • +

        Choose an unused machine in the cluster. The master generates very little load +so it can be collocated with other data services or load-generating processes, +though not with another Kudu master from the same configuration.

        +
      • +
      • +

        Ensure Kudu is installed on the machine, either via system packages (in which case the kudu and +kudu-master packages should be installed), or via some other means.

        +
      • +
      • +

        Choose and record the directory where the master’s data will live.

        +
      • +
      • +

        Choose and record the port the master should use for RPCs.

        +
      • +
      +
      +
    8. +
    +
    +
    +
    +

    Perform the migration

    +
    +

    From version 1.15.0, a new kudu master add CLI command has been added that orchestrates migration +to multiple masters in an existing Kudu cluster.

    +
    +
    +

    The procedure doesn’t require stopping all the Kudu processes in the entire cluster but once the +migration procedure is complete, all the Kudu processes must be restarted to +incorporate the newly added master which can be done without incurring downtime as mentioned in +the steps below.

    +
    +
    +

    The procedure supports adding only one master at a time. In order to add multiple masters follow +the same procedure again for the next new master.

    +
    +
    +
      +
    1. +

      On the new master host (not on any of the existing masters), run the kudu master add command +to add the master. Look for any success or error messages on the console or the new master log file. +The command is designed to be idempotent so in case of an error after the issue mentioned in the +error messages is fixed, run the same command again to make forward progress. After the completion +of the procedure irrespective of whether the procedure is successful, the new master is shutdown. +The example below adds master-2 to existing Kudu cluster with master-1.

      +
      + + + + + +
      + + +If your Kudu cluster is secure, in addition to running as the Kudu UNIX user, you must +authenticate as the Kudu service user prior to running this command. +
      +
      +
      +
      +
      $ sudo -u kudu kudu master add master-1 master-2 --fs_wal_dir=/data/kudu/master/wal \
      +--fs_data_dirs=/data/kudu/master/data
      +
      +
      +
    2. +
    3. +

      Modify the value of the master_addresses configuration parameter for existing masters only +as the new master is already configured with the updated master_addresses. +The new value must be a comma-separated list of all of the masters. +Each entry is a string of the form <hostname>:<port>

      +
      +
      +
      hostname
      +
      +

      master’s previously recorded hostname or alias

      +
      +
      port
      +
      +

      master’s previously recorded RPC port number

      +
      +
      +
      +
    4. +
    5. +

      Restart the existing masters one by one.

      +
    6. +
    7. +

      Start the new master.

      +
    8. +
    9. +

      Repeat the steps above to add the desired number of masters into the cluster +(for example, in case of adding two extra masters master-2 and master-3, +the sequence of those steps should be run for master-2 and then for +master-3).

      +
    10. +
    11. +

      After adding all the desired masters into the cluster, modify the +value of the tserver_master_addrs configuration parameter for each tablet +server. The new value must be a comma-separated list of masters where each +entry is a string of the form <hostname>:<port>

      +
      +
      +
      hostname
      +
      +

      master’s hostname

      +
      +
      port
      +
      +

      master’s RPC port number

      +
      +
      +
      +
    12. +
    13. +

      Restart all the tablet servers to pick up the new masters' configuration.

      +
    14. +
    15. +

      If you have Kudu tables that are accessed from Impala, update the master +addresses in the Apache Hive Metastore (HMS) database.

      +
      +
        +
      • +

        The following is an example SQL statement you should run manually in the +underlying database that provides the storage for HMS (e.g., PostgreSQL) +after migrating from one to three masters in a Kudu cluster:

        +
        +
        +
        UPDATE TABLE_PARAMS
        +SET PARAM_VALUE =
        +  'master-1.example.com,master-2.example.com,master-3.example.com'
        +WHERE PARAM_KEY = 'kudu.master_addresses' AND PARAM_VALUE = 'master-1.example.com';
        +
        +
        +
      • +
      • +

        Alternatively, instead of running a single query in the HMS database, +you can run the following query for every Kudu table in impala-shell:

        +
        +
        +
        ALTER TABLE <table_name>
        +SET TBLPROPERTIES
        +('kudu.master_addresses' = 'master-1.example.com,master-2.example.com,master-3.example.com');
        +
        +
        +
      • +
      +
      +
    16. +
    17. +

      In impala-shell, run:

      +
      +
      +
      INVALIDATE METADATA;
      +
      +
      +
    18. +
    +
    +
    +
    +

    Verify the migration was successful

    +
    +

    To verify that all masters are working properly, perform the following sanity checks:

    +
    +
    +
      +
    • +

      Using a browser, visit each master’s web UI. Look at the /masters page. All the masters should +be listed there with one master in the LEADER role and the others in the FOLLOWER role. The +contents of /masters on each master should be the same.

      +
    • +
    • +

      Run a Kudu system check (ksck) on the cluster using the kudu command line +tool. See Checking Cluster Health with ksck for more details.

      +
    • +
    +
    +
    +
    +
    +

    Recovering from a dead Kudu Master in a Multi-Master Deployment

    +
    +

    Kudu multi-master deployments function normally in the event of a master loss. However, it is +important to replace the dead master; otherwise a second failure may lead to a loss of availability, +depending on the number of available masters. This workflow describes how to replace the dead +master.

    +
    +
    + + + + + +
    + + +Replacing a master created without DNS aliases requires an unavailability window +when tablet servers are restarted to pick up the replacement master at different hostname. +See the multi-master migration workflow for more details on deploying +with DNS aliases. +
    +
    +
    + + + + + +
    + + +The workflow presupposes at least basic familiarity with Kudu configuration management. If +using vendor-specific tools the workflow also presupposes familiarity with +it and the vendor’s instructions should be used instead as details may differ. +
    +
    +
    + + + + + +
    + + +All of the command line steps below should be executed as the Kudu UNIX user, typically +kudu. +
    +
    +
    +

    Prepare for the recovery

    +
    +
      +
    1. +

      If the deployment was configured without DNS aliases perform the following steps:

      +
      +
        +
      • +

        Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster +will be unavailable.

        +
      • +
      • +

        Shut down all Kudu tablet server processes in the cluster.

        +
      • +
      +
      +
    2. +
    3. +

      Ensure that the dead master is well and truly dead. Take whatever steps needed to prevent it from +accidentally restarting; this can be quite dangerous for the cluster post-recovery.

      +
    4. +
    5. +

      Choose an unused machine in the cluster where the new master will live. The master generates very +little load, so it can be collocated with other data services or load-generating processes, though +not with another Kudu master from the same configuration. +The rest of this workflow will refer to this master as the "replacement" master.

      +
    6. +
    7. +

      Perform the following preparatory steps for the replacement master:

      +
      +
        +
      • +

        If using the same dead master as the replacement master then delete the master’s directories.

        +
      • +
      • +

        Ensure Kudu is installed on the machine, either via system packages (in which case the kudu and +kudu-master packages should be installed), or via some other means.

        +
      • +
      • +

        Choose and record the directory where the master’s data will live.

        +
      • +
      +
      +
    8. +
    +
    +
    +
    +

    Perform the recovery

    +
    +
      +
    1. +

      Remove the dead master from the Raft configuration of the master using the kudu master remove +command. In the example below, dead master master-2 is being recovered.

      +
      +
      +
      $ sudo -u kudu kudu master remove master-1,master-2 master-2
      +
      +
      +
    2. +
    3. +

      On the replacement master host, add the replacement master to the cluster using +kudu master add command. Look for any success or error messages on the console or the replacement +master log file. The command is designed to be idempotent so in case of an error after the issue +mentioned in the error messages is fixed, run the same command again to make forward progress. +After the completion of the procedure irrespective of whether the procedure is successful, +the replacement master is shutdown. In the example below, replacement master master-2 is used. +In case DNS alias is not being used, use the hostname of the replacement master.

      +
      +
      +
      $ sudo -u kudu kudu master add master-1 master-2 --fs_wal_dir=/data/kudu/master/wal \
      +--fs_data_dirs=/data/kudu/master/data
      +
      +
      +
    4. +
    5. +

      If the cluster was set up with DNS aliases, reconfigure the DNS alias for the dead master to point +at the replacement master.

      +
    6. +
    7. +

      If the cluster was set up without DNS aliases, perform the following steps:

      +
      +
        +
      1. +

        Modify the value of the master_addresses configuration parameter for each live master +removing the dead master and substituting it with the replacement master. +The new value must be a comma-separated list of masters where each entry is a string of the form +<hostname>:<port>

        +
        +
        +
        hostname
        +
        +

        master’s previously recorded hostname or alias

        +
        +
        port
        +
        +

        master’s previously recorded RPC port number

        +
        +
        +
        +
      2. +
      3. +

        Restart the remaining live masters.

        +
      4. +
      +
      +
    8. +
    9. +

      Start the replacement master.

      +
    10. +
    11. +

      If the cluster was set up without DNS aliases, follow the steps below for tablet servers:

      +
      +
        +
      1. +

        Modify the value of the tserver_master_addrs configuration parameter for each tablet server +removing the dead master and substituting it with the replacement master. +The new value must be a comma-separated list of masters where each entry is a string of the form +<hostname>:<port>

        +
        +
        +
        hostname
        +
        +

        master’s previously recorded hostname or alias

        +
        +
        port
        +
        +

        master’s previously recorded RPC port number

        +
        +
        +
        +
      2. +
      3. +

        Restart all the tablet servers.

        +
      4. +
      +
      +
    12. +
    +
    +
    +

    Congratulations, the dead master has been replaced! To verify that all masters are working properly, +consider performing the following sanity checks:

    +
    +
    +
      +
    • +

      Using a browser, visit each master’s web UI. Look at the /masters page. All of the masters should +be listed there with one master in the LEADER role and the others in the FOLLOWER role. The +contents of /masters on each master should be the same.

      +
    • +
    • +

      Run a Kudu system check (ksck) on the cluster using the kudu command line +tool. See Checking Cluster Health with ksck for more details.

      +
    • +
    +
    +
    +
    +
    +

    Removing Kudu Masters from a Multi-Master Deployment

    +
    +

    In the event that a multi-master deployment has been overallocated nodes, the following steps should +be taken to remove the unwanted masters.

    +
    +
    + + + + + +
    + + +In planning the new multi-master configuration, keep in mind that the number of masters +should be odd and that three or five node master configurations are recommended. +
    +
    +
    + + + + + +
    + + +Dropping the number of masters below the number of masters currently needed for a Raft +majority can incur data loss. To mitigate this, ensure that the leader master is not removed during +this process. +
    +
    +
    +

    Prepare for the removal

    +
    +
      +
    1. +

      Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster +will be unavailable.

      +
    2. +
    3. +

      Identify the UUID and RPC address current leader of the multi-master deployment by visiting the +/masters page of any master’s web UI. This master must not be removed during this process; its +removal may result in severe data loss.

      +
    4. +
    5. +

      Stop the unwanted Kudu master processes.

      +
    6. +
    +
    +
    +
    +

    Perform the removal

    +
    +
      +
    1. +

      Perform the Raft configuration change. Run the kudu master remove tool. +Only a single master can be removed at a time. If multiple masters need to be removed, run the +tool multiple times. In the example below, master-2 is being removed from a Kudu cluster with two +masters master-1,master-2.

      +
      +
      +
      $ sudo -u kudu kudu master remove master-1,master-2 master-2
      +
      +
      +
    2. +
    3. +

      Remove the data directories and WAL directory on the unwanted masters. This is a precaution to +ensure that they cannot start up again and interfere with the new multi-master deployment.

      +
    4. +
    5. +

      Modify the value of the master_addresses configuration parameter for the masters of the new +multi-master deployment.

      +
    6. +
    7. +

      Restart all the masters that were not removed.

      +
    8. +
    9. +

      Modify the value of the tserver_master_addrs configuration parameter for the tablet servers to +remove any unwanted masters.

      +
    10. +
    11. +

      Restart all the tablet servers.

      +
    12. +
    +
    +
    +
    +

    Verify the migration was successful

    +
    +

    To verify that all masters are working properly, perform the following sanity checks:

    +
    +
    +
      +
    • +

      Using a browser, visit each master’s web UI. Look at the /masters page. All of the masters should +be listed there with one master in the LEADER role and the others in the FOLLOWER role. The +contents of /masters on each master should be the same.

      +
    • +
    • +

      Run a Kudu system check (ksck) on the cluster using the kudu command line +tool. See Checking Cluster Health with ksck for more details.

      +
    • +
    +
    +
    +
    +
    +

    Changing the master hostnames

    +
    +

    To prevent long maintenance windows when replacing dead masters, DNS aliases should be used. If the +cluster was set up without aliases, changing the host names can be done by following the below +steps.

    +
    +
    +

    Prepare for the hostname change

    +
    +
      +
    1. +

      Establish a maintenance window (one hour should be sufficient). During this time the Kudu cluster +will be unavailable.

      +
    2. +
    3. +

      Note the UUID and RPC address of every master by visiting the /masters page of any master’s web +UI.

      +
    4. +
    5. +

      Stop all the Kudu processes in the entire cluster.

      +
    6. +
    7. +

      Set up the new hostnames to point to the masters and verify all servers and clients properly +resolve them.

      +
    8. +
    +
    +
    +
    +

    Perform the hostname change

    +
    +
      +
    1. +

      Rewrite each master’s Raft configuration with the following command, executed on all master hosts:

      +
    2. +
    +
    +
    +
    +
    $ sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=<master_wal_dir> [--fs_data_dirs=<master_data_dir>] 00000000000000000000000000000000 <all_masters>
    +
    +
    +
    +

    For example:

    +
    +
    +
    +
    $ sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=/data/kudu/master/wal --fs_data_dirs=/data/kudu/master/data 00000000000000000000000000000000 4aab798a69e94fab8d77069edff28ce0:new-master-name-1:7051 f5624e05f40649b79a757629a69d061e:new-master-name-2:7051 988d8ac6530f426cbe180be5ba52033d:new-master-name-3:7051
    +
    +
    +
    +
      +
    1. +

      Change the masters' gflagfile so the master_addresses parameter reflects the new hostnames.

      +
    2. +
    3. +

      Change the tserver_master_addrs parameter in the tablet servers' gflagfiles to the new +hostnames.

      +
    4. +
    5. +

      Start up the masters.

      +
    6. +
    7. +

      To verify that all masters are working properly, perform the following sanity checks:

      +
      +
        +
      1. +

        Using a browser, visit each master’s web UI. Look at the /masters page. All of the masters should +be listed there with one master in the LEADER role and the others in the FOLLOWER role. The +contents of /masters on each master should be the same.

        +
      2. +
      3. +

        Run the below command to verify all masters are up and listening. The UUIDs +should be the same and belong to the same master as before the hostname change:

        +
        +
        +
        $ sudo -u kudu kudu master list new-master-name-1:7051,new-master-name-2:7051,new-master-name-3:7051
        +
        +
        +
      4. +
      +
      +
    8. +
    9. +

      Start all of the tablet servers.

      +
    10. +
    11. +

      Run a Kudu system check (ksck) on the cluster using the kudu command line +tool. See Checking Cluster Health with ksck for more details. After startup, some tablets may be +unavailable as it takes some time to initialize all of them.

      +
    12. +
    13. +

      If you have Kudu tables that are accessed from Impala, update the HMS +database manually in the underlying database that provides the storage for HMS.

      +
      +
        +
      1. +

        The following is an example SQL statement you should run in the HMS database:

        +
        +
        +
        UPDATE TABLE_PARAMS
        +SET PARAM_VALUE =
        +  'new-master-name-1:7051,new-master-name-2:7051,new-master-name-3:7051'
        +WHERE PARAM_KEY = 'kudu.master_addresses'
        +AND PARAM_VALUE = 'master-1:7051,master-2:7051,master-3:7051';
        +
        +
        +
      2. +
      3. +

        In impala-shell, run:

        +
        +
        +
        INVALIDATE METADATA;
        +
        +
        +
      4. +
      5. +

        Verify updating the metadata worked by running a simple SELECT query on a +Kudu-backed Impala table.

        +
      6. +
      +
      +
    14. +
    +
    +
    +
    +
    +

    Best Practices When Adding New Tablet Servers

    +
    +

    A common workflow when administering a Kudu cluster is adding additional tablet +server instances, in an effort to increase storage capacity, decrease load or +utilization on individual hosts, increase compute power, etc.

    +
    +
    +

    By default, any newly added tablet servers will not be utilized immediately +after their addition to the cluster. Instead, newly added tablet servers will +only be utilized when new tablets are created or when existing tablets need to +be replicated, which can lead to imbalanced nodes. It’s recommended to run +the rebalancer CLI tool just after adding a new tablet server into the cluster, +as described in the enumerated steps below.

    +
    +
    +

    Avoid placing multiple tablet servers on a single node. Doing so +nullifies the point of increasing the overall storage capacity of a Kudu +cluster and increases the likelihood of tablet unavailability when a single +node fails (the latter drawback is not applicable if the cluster is properly +configured to use the +location +awareness feature).

    +
    +
    +

    To add additional tablet servers to an existing cluster, the +following steps can be taken to ensure tablet replicas are uniformly +distributed across the cluster:

    +
    +
    +
      +
    1. +

      Ensure that Kudu is installed on the new machines being added to the +cluster, and that the new instances have been + +correctly configured to point to the pre-existing cluster. Then, start up +the new tablet server instances.

      +
    2. +
    3. +

      Verify that the new instances check in with the Kudu Master(s) +successfully. A quick method for verifying they’ve successfully checked in +with the existing Master instances is to view the Kudu Master WebUI, +specifically the /tablet-servers section, and validate that the newly +added instances are registered, and heartbeating.

      +
    4. +
    5. +

      Once the tablet server(s) are successfully online and healthy, follow +the steps to run the + +rebalancing tool which will spread existing tablet replicas to the newly added +tablet servers.

      +
    6. +
    7. +

      After the rebalancer tool has completed, or even during its execution, +you can check on the health of the cluster using the ksck command-line utility +(see Checking Cluster Health with ksck for more details).

      +
    8. +
    +
    +
    +
    +

    Checking Cluster Health with ksck

    +
    +

    The kudu CLI includes a tool named ksck that can be used for gathering +information about the state of a Kudu cluster, including checking its health. +ksck will identify issues such as under-replicated tablets, unreachable +tablet servers, or tablets without a leader.

    +
    +
    +

    ksck should be run from the command line as the Kudu admin user, and requires +the full list of master addresses to be specified:

    +
    +
    +
    +
    $ sudo -u kudu kudu cluster ksck master-01.example.com,master-02.example.com,master-03.example.com
    +
    +
    +
    +

    To see a full list of the options available with ksck, use the --help flag. +If the cluster is healthy, ksck will print information about the cluster, a +success message, and return a zero (success) exit status.

    +
    +
    +
    +
    Master Summary
    +               UUID               |       Address         | Status
    +----------------------------------+-----------------------+---------
    + a811c07b99394df799e6650e7310f282 | master-01.example.com | HEALTHY
    + b579355eeeea446e998606bcb7e87844 | master-02.example.com | HEALTHY
    + cfdcc8592711485fad32ec4eea4fbfcd | master-02.example.com | HEALTHY
    +
    +Tablet Server Summary
    +               UUID               |        Address         | Status
    +----------------------------------+------------------------+---------
    + a598f75345834133a39c6e51163245db | tserver-01.example.com | HEALTHY
    + e05ca6b6573b4e1f9a518157c0c0c637 | tserver-02.example.com | HEALTHY
    + e7e53a91fe704296b3a59ad304e7444a | tserver-03.example.com | HEALTHY
    +
    +Version Summary
    + Version |      Servers
    +---------+-------------------------
    +  1.7.1  | all 6 server(s) checked
    +
    +Summary by table
    +   Name   | RF | Status  | Total Tablets | Healthy | Recovering | Under-replicated | Unavailable
    +----------+----+---------+---------------+---------+------------+------------------+-------------
    + my_table | 3  | HEALTHY | 8             | 8       | 0          | 0                | 0
    +
    +                | Total Count
    +----------------+-------------
    + Masters        | 3
    + Tablet Servers | 3
    + Tables         | 1
    + Tablets        | 8
    + Replicas       | 24
    +OK
    +
    +
    +
    +

    If the cluster is unhealthy, for instance if a tablet server process has +stopped, ksck will report the issue(s) and return a non-zero exit status, as +shown in the abbreviated snippet of ksck output below:

    +
    +
    +
    +
    Tablet Server Summary
    +               UUID               |        Address         |   Status
    +----------------------------------+------------------------+-------------
    + a598f75345834133a39c6e51163245db | tserver-01.example.com | HEALTHY
    + e05ca6b6573b4e1f9a518157c0c0c637 | tserver-02.example.com | HEALTHY
    + e7e53a91fe704296b3a59ad304e7444a | tserver-03.example.com | UNAVAILABLE
    +Error from 127.0.0.1:7150: Network error: could not get status from server: Client connection negotiation failed: client connection to 127.0.0.1:7150: connect: Connection refused (error 61) (UNAVAILABLE)
    +
    +... (full output elided)
    +
    +==================
    +Errors:
    +==================
    +Network error: error fetching info from tablet servers: failed to gather info for all tablet servers: 1 of 3 had errors
    +Corruption: table consistency check error: 1 out of 1 table(s) are not healthy
    +
    +FAILED
    +Runtime error: ksck discovered errors
    +
    +
    +
    +

    To verify data integrity, the optional --checksum_scan flag can be set, which +will ensure the cluster has consistent data by scanning each tablet replica and +comparing results. The --tables or --tablets flags can be used to limit the +scope of the checksum scan to specific tables or tablets, respectively. For +example, checking data integrity on the my_table table can be done with the +following command:

    +
    +
    +
    +
    $ sudo -u kudu kudu cluster ksck --checksum_scan --tables my_table master-01.example.com,master-02.example.com,master-03.example.com
    +
    +
    +
    +

    By default, ksck will attempt to use a snapshot scan of the table, so the +checksum scan can be done while writes continue.

    +
    +
    +

    Finally, ksck also supports output in JSON format using the --ksck_format +flag. JSON output contains the same information as the plain text output, but +in a format that can be used by other tools. See kudu cluster ksck --help for +more information.

    +
    +
    +
    +

    Changing Directory Configurations

    +
    +

    For higher read parallelism and larger volumes of storage per server, users may +want to configure servers to store data in multiple directories on different +devices. Users can add or remove data directories to an existing master or +tablet server by updating the --fs_data_dirs gflag configuration and +restarting the server. Data is striped across data directories, and when a new +data directory is added, new data will be striped across the union of the old +and new directories.

    +
    +
    + + + + + +
    + + +Removing a data directory from --fs_data_dirs may result in failed tablet +replicas in cases where there were data blocks in the directory that was +removed. Use ksck to ensure the cluster can fully recover from the directory +removal before moving onto another server. +
    +
    +
    + + + + + +
    + + +In versions of Kudu below 1.12, Kudu requires that the kudu fs +update_dirs tool be run before restarting with a different set of data +directories. Such versions will fail to start if not run. +
    +
    +
    +

    If on a Kudu version below 1.12, once a server is started, users must go +through the below steps to change the directory configuration:

    +
    +
    + + + + + +
    + + +Unless the --force flag is specified, Kudu will not allow for the +removal of a directory across which tablets are configured to spread data. If +--force is specified, all tablets configured to use that directory will fail +upon starting up and be replicated elsewhere. +
    +
    +
    + + + + + +
    + + +If the metadata +directory overlaps with a data directory, as was the default prior to Kudu +1.7, or if a non-default metadata directory is configured, the +--fs_metadata_dir configuration must be specified when running the kudu fs +update_dirs tool. +
    +
    +
    + + + + + +
    + + +Only new tablet replicas (i.e. brand new tablets' replicas and replicas +that are copied to the server for high availability) will use the new +directory. Existing tablet replicas on the server will not be rebalanced across +the new directory. +
    +
    +
    + + + + + +
    + + +All of the command line steps below should be executed as the Kudu +UNIX user, typically kudu. +
    +
    +
    +
      +
    1. +

      Use ksck to ensure the cluster is healthy, and establish a +maintenance +window to bring the tablet server offline.

      +
    2. +
    3. +

      Run the tool with the desired directory configuration flags. For example, if a +cluster was set up with --fs_wal_dir=/wals, --fs_metadata_dir=/meta, and +--fs_data_dirs=/data/1,/data/2,/data/3, and /data/3 is to be removed (e.g. +due to a disk error), run the command:

      +
      +
      +
      $ sudo -u kudu kudu fs update_dirs --force --fs_wal_dir=/wals --fs_metadata_dir=/meta --fs_data_dirs=/data/1,/data/2
      +
      +
      +
    4. +
    5. +

      Modify the value of the --fs_data_dirs flag for the updated server. If using +CM, make sure to only update the configurations of the updated server, rather +than of the entire Kudu service.

      +
    6. +
    7. +

      Once complete, the server process can be started. When Kudu is installed using +system packages, service is typically used:

      +
      +
      +
      $ sudo service kudu-tserver start
      +
      +
      +
    8. +
    9. +

      Use ksck to ensure Kudu returns to a healthy state before resuming normal +operation.

      +
    10. +
    +
    +
    +
    +

    Recovering from Disk Failure

    +
    +

    Kudu nodes can only survive failures of disks on which certain Kudu directories +are mounted. For more information about the different Kudu directory types, see +the section on Kudu Directory +Configurations. Below describes this behavior across different Apache Kudu +releases.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Kudu Disk Failure Behavior
    Node TypeKudu Directory TypeKudu Releases that Crash on Disk Failure

    Master

    All

    All

    Tablet Server

    Directory containing WALs

    All

    Tablet Server

    Directory containing tablet metadata

    All

    Tablet Server

    Directory containing data blocks only

    Pre-1.6.0

    +
    +

    When a disk failure occurs that does not lead to a crash, Kudu will stop using +the affected directory, shut down tablets with blocks on the affected +directories, and automatically re-replicate the affected tablets to other +tablet servers. The affected server will remain alive and print messages to the +log indicating the disk failure, for example:

    +
    +
    +
    +
    E1205 19:06:24.163748 27115 data_dirs.cc:1011] Directory /data/8/kudu/data marked as failed
    +E1205 19:06:30.324795 27064 log_block_manager.cc:1822] Not using report from /data/8/kudu/data: IO error: Could not open container 0a6283cab82d4e75848f49772d2638fe: /data/8/kudu/data/0a6283cab82d4e75848f49772d2638fe.metadata: Read-only file system (error 30)
    +E1205 19:06:33.564638 27220 ts_tablet_manager.cc:946] T 4957808439314e0d97795c1394348d80 P 70f7ee61ead54b1885d819f354eb3405: aborting tablet bootstrap: tablet has data in a failed directory
    +
    +
    +
    +

    While in this state, the affected node will avoid using the failed disk, +leading to lower storage volume and reduced read parallelism. The administrator +can remove the failed directory from the --fs_data_dirs gflag to avoid seeing +these errors.

    +
    +
    + + + + + +
    + + +In versions of Kudu below 1.12, in order to start Kudu with a +different set of directories, the administrator should schedule a brief window +to update the node’s directory configuration. Kudu will +fail to start otherwise. +
    +
    +
    +

    When the disk is repaired, remounted, and ready to be reused by Kudu, take the +following steps:

    +
    +
    +
      +
    1. +

      Make sure that the Kudu portion of the disk is completely empty.

      +
    2. +
    3. +

      Stop the tablet server.

      +
    4. +
    5. +

      Update the --fs_data_dirs gflag to add /data/3, potentially using the +update_dirs tool if on a version of Kudu that is below 1.12:

      +
      +
      +
      $ sudo -u kudu kudu fs update_dirs --force --fs_wal_dir=/wals --fs_data_dirs=/data/1,/data/2,/data/3
      +
      +
      +
    6. +
    7. +

      Start the tablet server.

      +
    8. +
    9. +

      Run ksck to verify cluster health.

      +
      +
      +
      sudo -u kudu kudu cluster ksck master-01.example.com
      +
      +
      +
    10. +
    +
    +
    +

    Note that existing tablets will not stripe to the restored disk, but any new tablets +will stripe to the restored disk.

    +
    +
    +
    +

    Recovering from Full Disks

    +
    +

    By default, Kudu reserves a small amount of space (1% by capacity) in its +directories; Kudu considers a disk full if there is less free space available +than the reservation. Kudu nodes can only tolerate running out of space on disks +on which certain Kudu directories are mounted. For more information about the +different Kudu directory types, see +Kudu Directory Configurations. +The table below describes this behavior for each type of directory. The behavior +is uniform across masters and tablet servers.

    +
    + + ++++ + + + + + + + + + + + + + + + + + + + + +
    Table 2. Kudu Full Disk Behavior
    Kudu Directory TypeCrash on a Full Disk?

    Directory containing WALs

    Yes

    Directory containing tablet metadata

    Yes

    Directory containing data blocks only

    No (see below)

    +
    +

    Prior to Kudu 1.7.0, Kudu stripes tablet data across all directories, and will +avoid writing data to full directories. Kudu will crash if all data directories +are full.

    +
    +
    +

    In 1.7.0 and later, new tablets are assigned a disk group consisting of +--fs_target_data_dirs_per_tablet data dirs (default 3). If Kudu is not +configured with enough data directories for a full disk group, all data +directories are used. When a data directory is full, Kudu will stop writing new +data to it and each tablet that uses that data directory will write new data to +other data directories within its group. If all data directories for a tablet +are full, Kudu will crash. Periodically, Kudu will check if full data +directories are still full, and will resume writing to those data directories +if space has become available.

    +
    +
    +

    If Kudu does crash because its data directories are full, freeing space on the +full directories will allow the affected daemon to restart and resume writing. +Note that it may be possible for Kudu to free some space by running

    +
    +
    +
    +
    $ sudo -u kudu kudu fs check --repair
    +
    +
    +
    +

    but this command may also fail if there is too little space left.

    +
    +
    +

    It’s also possible to allocate additional data directories to Kudu in order to +increase the overall amount of storage available. See the documentation on +updating a node’s directory configuration for more +information. Note that existing tablets will not use new data directories, so +adding a new data directory does not resolve issues with full disks.

    +
    +
    +
    +

    Bringing a tablet that has lost a majority of replicas back online

    +
    +

    If a tablet has permanently lost a majority of its replicas, it cannot recover +automatically and operator intervention is required. If the tablet servers +hosting a majority of the replicas are down (i.e. ones reported as "TS +unavailable" by ksck), they should be recovered instead if possible.

    +
    +
    + + + + + +
    + + +The steps below may cause recent edits to the tablet to be lost, +potentially resulting in permanent data loss. Only attempt the procedure below +if it is impossible to bring a majority back online. +
    +
    +
    +

    Suppose a tablet has lost a majority of its replicas. The first step in +diagnosing and fixing the problem is to examine the tablet’s state using ksck:

    +
    +
    +
    +
    $ sudo -u kudu kudu cluster ksck --tablets=e822cab6c0584bc0858219d1539a17e6 master-00,master-01,master-02
    +Connected to the Master
    +Fetched info from all 5 Tablet Servers
    +Tablet e822cab6c0584bc0858219d1539a17e6 of table 'my_table' is unavailable: 2 replica(s) not RUNNING
    +  638a20403e3e4ae3b55d4d07d920e6de (tserver-00:7150): RUNNING
    +  9a56fa85a38a4edc99c6229cba68aeaa (tserver-01:7150): bad state
    +    State:       FAILED
    +    Data state:  TABLET_DATA_READY
    +    Last status: <failure message>
    +  c311fef7708a4cf9bb11a3e4cbcaab8c (tserver-02:7150): bad state
    +    State:       FAILED
    +    Data state:  TABLET_DATA_READY
    +    Last status: <failure message>
    +
    +
    +
    +

    This output shows that, for tablet e822cab6c0584bc0858219d1539a17e6, the two +tablet replicas on tserver-01 and tserver-02 failed. The remaining replica +is not the leader, so the leader replica failed as well. This means the chance +of data loss is higher since the remaining replica on tserver-00 may have +been lagging. In general, to accept the potential data loss and restore the +tablet from the remaining replicas, divide the tablet replicas into two groups:

    +
    +
    +
      +
    1. +

      Healthy replicas: Those in RUNNING state as reported by ksck

      +
    2. +
    3. +

      Unhealthy replicas

      +
    4. +
    +
    +
    +

    For example, in the above ksck output, the replica on tablet server tserver-00 +is healthy, while the replicas on tserver-01 and tserver-02 are unhealthy. +On each tablet server with a healthy replica, alter the consensus configuration +to remove unhealthy replicas. In the typical case of 1 out of 3 surviving +replicas, there will be only one healthy replica, so the consensus configuration +will be rewritten to include only the healthy replica.

    +
    +
    +
    +
    $ sudo -u kudu kudu remote_replica unsafe_change_config tserver-00:7150 <tablet-id> <tserver-00-uuid>
    +
    +
    +
    +

    where <tablet-id> is e822cab6c0584bc0858219d1539a17e6 and +<tserver-00-uuid> is the uuid of tserver-00, +638a20403e3e4ae3b55d4d07d920e6de.

    +
    +
    +

    Once the healthy replicas' consensus configurations have been forced to exclude +the unhealthy replicas, the healthy replicas will be able to elect a leader. +The tablet will become available for writes, though it will still be +under-replicated. Shortly after the tablet becomes available, the leader master +will notice that it is under-replicated, and will cause the tablet to +re-replicate until the proper replication factor is restored. The unhealthy +replicas will be tombstoned by the master, causing their remaining data to be +deleted.

    +
    +
    +
    +

    Rebuilding a Kudu Filesystem Layout

    +
    +

    In the event that critical files are lost, i.e. WALs or tablet-specific +metadata, all Kudu directories on the server must be deleted and rebuilt to +ensure correctness. Doing so will destroy the copy of the data for each tablet +replica hosted on the local server. Kudu will automatically re-replicate tablet +replicas removed in this way, provided the replication factor is at least three +and all other servers are online and healthy.

    +
    +
    + + + + + +
    + + +These steps use a tablet server as an example, but the steps are the same +for Kudu master servers. +
    +
    +
    + + + + + +
    + + +If multiple nodes need their FS layouts rebuilt, wait until all +replicas previously hosted on each node have finished automatically +re-replicating elsewhere before continuing. Failure to do so can result in +permanent data loss. +
    +
    +
    + + + + + +
    + + +Before proceeding, ensure the contents of the directories are backed +up, either as a copy or in the form of other tablet replicas. +
    +
    +
    +
      +
    1. +

      The first step to rebuilding a server with a new directory configuration is +emptying all of the server’s existing directories. For example, if a tablet +server is configured with --fs_wal_dir=/data/0/kudu-tserver-wal, +--fs_metadata_dir=/data/0/kudu-tserver-meta, and +--fs_data_dirs=/data/1/kudu-tserver,/data/2/kudu-tserver, the following +commands will remove the WAL directory’s and data directories' contents:

      +
      +
      +
      # Note: this will delete all of the data from the local tablet server.
      +$ rm -rf /data/0/kudu-tserver-wal/* /data/0/kudu-tserver-meta/* /data/1/kudu-tserver/* /data/2/kudu-tserver/*
      +
      +
      +
    2. +
    3. +

      If using CM, update the configurations for the rebuilt server to include only +the desired directories. Make sure to only update the configurations of servers +to which changes were applied, rather than of the entire Kudu service.

      +
    4. +
    5. +

      After directories are deleted, the server process can be started with the new +directory configuration. The appropriate sub-directories will be created by +Kudu upon starting up.

      +
    6. +
    +
    +
    +
    +

    Minimizing cluster disruption during temporary planned downtime of a single tablet server

    +
    +

    If a single tablet server is brought down temporarily in a healthy cluster, all +tablets will remain available and clients will function as normal, after +potential short delays due to leader elections. However, if the downtime lasts +for more than --follower_unavailable_considered_failed_sec (default 300) +seconds, the tablet replicas on the down tablet server will be replaced by new +replicas on available tablet servers. This will cause stress on the cluster +as tablets re-replicate and, if the downtime lasts long enough, significant +reduction in the number of replicas on the down tablet server, which would +require the rebalancer to fix.

    +
    +
    +

    To work around this, in Kudu versions from 1.11 onwards, the kudu CLI +contains a tool to put tablet servers into maintenance mode. While in this +state, the tablet server’s replicas are not re-replicated due to its downtime +alone, though re-replication may still occur in the event that the server in +maintenance suffers from a disk failure or if a follower replica on the tablet +server falls too far behind its leader replica. Upon exiting maintenance, +re-replication is triggered for any remaining under-replicated tablets.

    +
    +
    +

    The kudu tserver state enter_maintenance and kudu tserver state +exit_maintenance tools are added to orchestrate tablet server maintenance. +The following can be run from a tablet server to put it into maintenance:

    +
    +
    +
    +
    $ TS_UUID=$(sudo -u kudu kudu fs dump uuid --fs_wal_dir=<wal_dir> --fs_data_dirs=<data_dirs>)
    +$ sudo -u kudu kudu tserver state enter_maintenance <master_addresses> "$TS_UUID"
    +
    +
    +
    +

    The tablet server maintenance mode is shown in the "Tablet Servers" page of the +Kudu leader master’s web UI, and in the output of kudu cluster ksck. To exit +maintenance mode, run the following:

    +
    +
    +
    +
    $ sudo -u kudu kudu tserver state exit_maintenance <master_addresses> "$TS_UUID"
    +
    +
    +
    +

    In versions prior to 1.11, a different approach must be used to prevent +unwanted re-replication. Increase +--follower_unavailable_considered_failed_sec on all tablet servers so the +amount of time before re-replication starts is longer than the expected +downtime of the tablet server, including the time it takes the tablet server to +restart and bootstrap its tablet replicas. To do this, run the following +command for each tablet server:

    +
    +
    +
    +
    $ sudo -u kudu kudu tserver set_flag <tserver_address> follower_unavailable_considered_failed_sec <num_seconds>
    +
    +
    +
    +

    where <num_seconds> is the number of seconds that will encompass the downtime. +Once the downtime is finished, reset the flag to its original value.

    +
    +
    +
    +
    $ sudo -u kudu kudu tserver set_flag <tserver_address> follower_unavailable_considered_failed_sec <original_value>
    +
    +
    +
    + + + + + +
    + + +Be sure to reset the value of --follower_unavailable_considered_failed_sec +to its original value. +
    +
    +
    + + + + + +
    + + +On Kudu versions prior to 1.8, the --force flag must be provided in the above +set_flag commands. +
    +
    +
    +
    +

    Orchestrating a rolling restart with no downtime

    +
    +

    As of Kudu 1.12, tooling is available to restart a cluster with no downtime. To +perform such a "rolling restart", perform the following sequence:

    +
    +
    +
      +
    1. +

      Restart the master(s) one-by-one. If there is only a single master, this may +cause brief interference with on-going workloads.

      +
    2. +
    3. +

      Starting with a single tablet server, put the tablet server into +maintenance +mode by using the kudu tserver state enter_maintenance tool.

      +
    4. +
    5. +

      Start quiescing the tablet server using the kudu tserver quiesce start +tool. This will signal to Kudu to stop hosting leaders on the specified +tablet server and to redirect new scan requests to other tablet servers.

      +
    6. +
    7. +

      Periodically run kudu tserver quiesce start with the +--error_if_not_fully_quiesced option, until it returns success, indicating +that all leaders have been moved away from the tablet server and all on-going +scans have completed.

      +
    8. +
    9. +

      Restart the tablet server.

      +
    10. +
    11. +

      Periodically run ksck until the cluster is reported to be healthy.

      +
    12. +
    13. +

      Exit maintenance mode on the tablet server by running kudu tserver state +exit_maintenance. This will allow new tablet replicas to be placed on the +tablet server.

      +
    14. +
    15. +

      Repeat these steps for all tablet servers in the cluster.

      +
    16. +
    +
    +
    + + + + + +
    + + +If any tables in the cluster have a replication factor of 1, some +quiescing tablet servers will never become fully quiesced, as single-replica +tablets will not naturally relinquish leadership. If such tables exist, use the +kudu cluster rebalance tool to move replicas of these tables away from the +quiescing tablet server by specifying the --ignored_tservers, +--move_replicas_from_ignored_tservers, and --tables options. +
    +
    +
    + + + + + +
    + + +If running with rack awareness, the above steps can be +performed restarting multiple tablet servers within a single rack at the same +time. Users should use ksck to ensure the location assignment policy is +enforced while going through these steps, and that no more than a single +location is restarted at the same time. At least three locations should be +defined in the cluster to safely restart multiple tablet service within one +location. +
    +
    +
    +
    +

    Running the tablet rebalancing tool

    +
    +

    The kudu CLI contains a rebalancing tool that can be used to rebalance +tablet replicas among tablet servers. For each table, the tool attempts to +balance the number of replicas per tablet server. It will also, without +unbalancing any table, attempt to even out the number of replicas per tablet +server across the cluster as a whole. The rebalancing tool should be run as the +Kudu admin user, specifying all master addresses:

    +
    +
    +
    +
    sudo -u kudu kudu cluster rebalance master-01.example.com,master-02.example.com,master-03.example.com
    +
    +
    +
    +

    When run, the rebalancer will report on the initial tablet replica distribution +in the cluster, log the replicas it moves, and print a final summary of the +distribution when it terminates:

    +
    +
    +
    +
    Per-server replica distribution summary:
    +       Statistic       |   Value
    +-----------------------+-----------
    + Minimum Replica Count | 0
    + Maximum Replica Count | 24
    + Average Replica Count | 14.400000
    +
    +Per-table replica distribution summary:
    + Replica Skew |  Value
    +--------------+----------
    + Minimum      | 8
    + Maximum      | 8
    + Average      | 8.000000
    +
    +I0613 14:18:49.905897 3002065792 rebalancer.cc:779] tablet e7ee9ade95b342a7a94649b7862b345d: 206a51de1486402bbb214b5ce97a633c -> 3b4d9266ac8c45ff9a5d4d7c3e1cb326 move scheduled
    +I0613 14:18:49.917578 3002065792 rebalancer.cc:779] tablet 5f03944529f44626a0d6ec8b1edc566e: 6e64c4165b864cbab0e67ccd82091d60 -> ba8c22ab030346b4baa289d6d11d0809 move scheduled
    +I0613 14:18:49.928683 3002065792 rebalancer.cc:779] tablet 9373fee3bfe74cec9054737371a3b15d: fab382adf72c480984c6cc868fdd5f0e -> 3b4d9266ac8c45ff9a5d4d7c3e1cb326 move scheduled
    +
    +... (full output elided)
    +
    +I0613 14:19:01.162802 3002065792 rebalancer.cc:842] tablet f4c046f18b174cc2974c65ac0bf52767: 206a51de1486402bbb214b5ce97a633c -> 3b4d9266ac8c45ff9a5d4d7c3e1cb326 move completed: OK
    +
    +rebalancing is complete: cluster is balanced (moved 28 replicas)
    +Per-server replica distribution summary:
    +       Statistic       |   Value
    +-----------------------+-----------
    + Minimum Replica Count | 14
    + Maximum Replica Count | 15
    + Average Replica Count | 14.400000
    +
    +Per-table replica distribution summary:
    + Replica Skew |  Value
    +--------------+----------
    + Minimum      | 1
    + Maximum      | 1
    + Average      | 1.000000
    +
    +
    +
    +

    If more details are needed in addition to the replica distribution summary, +use the --output_replica_distribution_details flag. If added, the flag makes +the tool print per-table and per-tablet server replica distribution statistics +as well.

    +
    +
    +

    Use the --report_only flag to get a report on table- and cluster-wide +replica distribution statistics without starting any rebalancing activity.

    +
    +
    +

    The rebalancer can also be restricted to run on a subset of the tables by +supplying the --tables flag. Note that, when running on a subset of tables, +the tool will not attempt to balance the cluster as a whole.

    +
    +
    +

    The length of time rebalancing is run for can be controlled with the flag +--max_run_time_sec. By default, the rebalancer will run until the cluster is +balanced. To control the amount of resources devoted to rebalancing, modify +the flag --max_moves_per_server. See kudu cluster rebalance --help for more.

    +
    +
    +

    It’s safe to stop the rebalancer tool at any time. When restarted, the +rebalancer will continue rebalancing the cluster.

    +
    +
    +

    The rebalancer requires all registered tablet servers to be up and running +to proceed with the rebalancing process. That’s to avoid possible conflicts +and races with the automatic re-replication and keep replica placement optimal +for current configuration of the cluster. If a tablet server becomes +unavailable during the rebalancing session, the rebalancer will exit. As noted +above, it’s safe to restart the rebalancer after resolving the issue with +unavailable tablet servers.

    +
    +
    +

    The rebalancing tool can rebalance Kudu clusters running older versions as well, +with some restrictions. Consult the following table for more information. In the +table, "RF" stands for "replication factor".

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3. Kudu Rebalancing Tool Compatibility
    Version RangeRebalances RF = 1 Tables?Rebalances RF > 1 Tables?

    v < 1.4.0

    No

    No

    1.4.0 <= v < 1.7.1

    No

    Yes

    v >= 1.7.1

    Yes

    Yes

    +
    +

    If the rebalancer is running against a cluster where rebalancing replication +factor one tables is not supported, it will rebalance all the other tables +and the cluster as if those singly-replicated tables did not exist.

    +
    +
    +
    +

    Running the tablet rebalancing tool on a rack-aware cluster

    +
    +

    As detailed in the rack awareness section, it’s possible +to use the kudu cluster rebalance tool to establish the placement policy on a +cluster. This might be necessary when the rack awareness feature is first +configured or when re-replication violated the placement policy. The rebalancing +tool breaks its work into three phases:

    +
    +
    +
      +
    1. +

      The rack-aware rebalancer tries to establish the placement policy. Use the +--disable_policy_fixer flag to skip this phase.

      +
    2. +
    3. +

      The rebalancer tries to balance load by location, moving tablet replicas +between locations in an attempt to spread tablet replicas among locations +evenly. The load of a location is measured as the total number of replicas in +the location divided by the number of tablet servers in the location. Use the +--disable_cross_location_rebalancing flag to skip this phase.

      +
    4. +
    5. +

      The rebalancer tries to balance the tablet replica distribution within each +location, as if the location were a cluster on its own. Use the +--disable_intra_location_rebalancing flag to skip this phase.

      +
    6. +
    +
    +
    +

    By using the --report_only flag, it’s also possible to check if all tablets in +the cluster conform to the placement policy without attempting any replica +movement.

    +
    +
    +
    +

    Decommissioning or Permanently Removing a Tablet Server From a Cluster

    +
    +

    Starting with Kudu 1.12, the Kudu rebalancer tool can be used to decommission a +tablet server by supplying the --ignored_tservers and +--move_replicas_from_ignored_tservers arguments.

    +
    +
    + + + + + +
    + + +Do not decommission multiple tablet servers at once. To remove +multiple tablet servers from the cluster, follow the below instructions for +each tablet server, ensuring that the previous tablet server is removed from +the cluster and ksck is healthy before shutting down the next. +
    +
    +
    +
      +
    1. +

      Ensure the cluster is in good health by using ksck. See Checking Cluster Health with ksck.

      +
    2. +
    3. +

      Put the tablet server into +maintenance +mode by using the kudu tserver state enter_maintenance tool.

      +
    4. +
    5. +

      Run kudu cluster rebalance tool, supplying the --ignored_tservers +argument with the UUIDs of the tablet servers to be decommissioned, and the +--move_replicas_from_ignored_tservers flag.

      +
    6. +
    7. +

      Wait for the moves to complete and for ksck to show the cluster in a +healthy state.

      +
    8. +
    9. +

      The decommissioned tablet server can be brought offline.

      +
    10. +
    11. +

      To completely remove it from the cluster so ksck shows the cluster as +completely healthy, run the kudu tserver unregister tool.

      +
      + + + + + +
      + + +From Kudu version 1.16.0 onwards, the kudu tserver unregister tool has been +added that unregisters a dead tablet server from the cluster. In Kudu versions that +do not support this tool, all the Kudu masters must be restarted to completely remove +the dead tablet server from the cluster so ksck shows the cluster as completely healthy. +In the case of a single master, this will cause cluster downtime. With multi-master, +restart the masters in sequence to avoid cluster downtime. +
      +
      +
      +

      In Kudu versions that do not support the above tooling, different steps must be +followed to decommission a tablet server:

      +
      +
    12. +
    13. +

      Ensure the cluster is in good health using ksck. See Checking Cluster Health with ksck.

      +
    14. +
    15. +

      If the tablet server contains any replicas of tables with replication factor +1, these replicas must be manually moved off the tablet server prior to +shutting it down. The kudu tablet change_config move_replica tool can be +used for this.

      +
    16. +
    17. +

      Shut down the tablet server. After +-follower_unavailable_considered_failed_sec, which defaults to 5 minutes, +Kudu will begin to re-replicate the tablet server’s replicas to other servers. +Wait until the process is finished. Progress can be monitored using ksck.

      +
    18. +
    19. +

      Once all the copies are complete, ksck will continue to report the tablet +server as unavailable. The cluster will otherwise operate fine without the +tablet server. To completely remove it from the cluster so ksck shows the +cluster as completely healthy, restart the masters. In the case of a single +master, this will cause cluster downtime. With multi-master, restart the +masters in sequence to avoid cluster downtime.

      +
    20. +
    +
    +
    +
    +

    Using cluster names in the kudu command line tool

    +
    +

    When using the kudu command line tool, it can be difficult to remember the +precise list of Kudu master RPC addresses needed to communicate with a cluster, +especially when managing multiple clusters. As an alternative, the command line +tool can identify clusters by name. To use this functionality:

    +
    +
    +
      +
    1. +

      Create a new directory to store the Kudu configuration file.

      +
    2. +
    3. +

      Export the path to this directory in the KUDU_CONFIG environment variable.

      +
    4. +
    5. +

      Create a file called kudurc in the new directory.

      +
    6. +
    7. +

      Populate kudurc as follows, substituting your own cluster names and RPC +addresses:

      +
      +
      +
      clusters_info:
      +  cluster_name1:
      +    master_addresses: ip1:port1,ip2:port2,ip3:port3
      +  cluster_name2:
      +    master_addresses: ip4:port4
      +
      +
      +
    8. +
    9. +

      When using the kudu command line tool, replace the list of Kudu master RPC +addresses with the cluster name, prepended with the character @.

      +
      +
      +
      Example
      +
      +
      +
      +
      $ sudo -u kudu kudu cluster ksck @cluster_name1
      +
      +
      +
      +
      +
      +
    10. +
    +
    +
    + + + + + +
    + + +Cluster names may be used as input in any invocation of the kudu command +line tool that expects a list of Kudu master RPC addresses. +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/background_tasks.html b/releases/1.17.1/docs/background_tasks.html new file mode 100644 index 0000000000..712ca18538 --- /dev/null +++ b/releases/1.17.1/docs/background_tasks.html @@ -0,0 +1,249 @@ +--- +title: Apache Kudu Background Maintenance Tasks +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Background Maintenance Tasks

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +

    Kudu relies on running background tasks for many important automatic +maintenance activities. These tasks include flushing data from memory to disk, +compacting data to improve performance, freeing up disk space, and more.

    +
    +
    +
    +
    +

    Maintenance manager

    +
    +
    +

    The maintenance manager schedules and runs background tasks. At any given point +in time, the maintenance manager is prioritizing the next task based on the +improvement needed at that moment, such as relieving memory pressure, improving +read performance, or freeing up disk space. The number of worker threads +dedicated to running background tasks can be controlled by setting +--maintenance_manager_num_threads.

    +
    +
    +
    +
    +

    Flushing data to disk

    +
    +
    +

    Flushing data from memory to disk relieves memory pressure and can improve read +performance by switching from a write-optimized, row-oriented in-memory format +in the MemRowSet to a read-optimized, column-oriented format on disk. +Background tasks that flush data include FlushMRSOp and +FlushDeltaMemStoresOp.

    +
    +
    +

    The metrics associated with these ops have the prefix flush_mrs and +flush_dms, respectively.

    +
    +
    +
    +
    +

    Compacting on-disk data

    +
    +
    +

    Kudu constantly performs several types of compaction tasks in order to maintain +consistent read and write performance over time. A merging compaction, which combines +multiple DiskRowSets together into a single DiskRowSet, is run by +CompactRowSetsOp. There are two types of delta store compaction operations +that may be run as well: MinorDeltaCompactionOp and MajorDeltaCompactionOp.

    +
    +
    +

    For more information on what these different types of compaction operations do, +please see the +Kudu Tablet +design document.

    +
    +
    +

    The metrics associated with these tasks have the prefix compact_rs, +delta_minor_compact_rs, and delta_major_compact_rs, respectively.

    +
    +
    +
    +
    +

    Write-ahead log GC

    +
    +
    +

    Kudu maintains a write-ahead log (WAL) per tablet that is split into discrete +fixed-size segments. A tablet periodically rolls the WAL to a new log segment +when the active segment reaches a configured size (controlled by +--log_segment_size_mb). In order to save disk space and decrease startup +time, a background task called LogGCOp attempts to garbage-collect (GC) old +WAL segments by deleting them from disk once it is determined that they are no +longer needed by the local node for durability.

    +
    +
    +

    The metrics associated with this background task have the prefix log_gc.

    +
    +
    +
    +
    +

    Tablet history GC and the ancient history mark

    +
    +
    +

    Because Kudu uses a multiversion concurrency control (MVCC) mechanism to +ensure that snapshot scans can proceeed isolated from new changes to a table, +periodically old historical data should be garbage-collected (removed) to free +up disk space. While Kudu never removes rows or data that are visible in the +latest version of the data, Kudu does remove records of old changes that are no +longer visible.

    +
    +
    +

    The point in time in the past beyond which historical MVCC data becomes +inaccessible and is free to be deleted is called the ancient history mark +(AHM). The AHM can be configured by setting --tablet_history_max_age_sec.

    +
    +
    +

    There are two background tasks that GC historical MVCC data older than the AHM: +the one that runs the merging compaction, called CompactRowSetsOp (see +above), and a separate background task that deletes old undo delta blocks, +called UndoDeltaBlockGCOp. Running UndoDeltaBlockGCOp reduces disk space +usage in all workloads, but particularly in those with a higher volume of +updates or upserts.

    +
    +
    +

    The metrics associated with this background task have the prefix +undo_delta_block.

    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/command_line_tools.html b/releases/1.17.1/docs/command_line_tools.html new file mode 100644 index 0000000000..c8d5640489 --- /dev/null +++ b/releases/1.17.1/docs/command_line_tools.html @@ -0,0 +1,8068 @@ +--- +title: Command Hierarchy +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    Command Hierarchy

    +
    +
    +
    + +
    +
    +
    +

    Command Details

    +
    +

    cluster: Operate on a Kudu cluster

    +
    +
    +


    +
    +
    +

    ksck: Check the health of a Kudu cluster 

    +
    +

    By default, ksck checks that master and tablet server processes are running, and that table metadata is consistent. Use the 'checksum' flag to check that tablet data is consistent (also see the 'tables' and 'tablets' flags). Use the 'checksum_snapshot' along with 'checksum' if the table or tablets are actively receiving inserts or updates. Use the 'ksck_format' flag to output detailed information on cluster status even if no inconsistency is found in metadata.
    +Usage:
    +kudu cluster ksck <master_addresses> [-checksum_cache_blocks] [-checksum_scan] [-checksum_scan_concurrency=<concurrency>] [-nochecksum_snapshot] [-checksum_timeout_sec=<sec>] [-color=<color>] [-noconsensus] [-fetch_info_concurrency=<concurrency>] [-flags_categories_to_check=<check>] [-ksck_format=<format>] [-noquiescing_info] [-sections=<sections>] [-tables=<tables>] [-tablets=<tablets>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    checksum_cache_blocks (optional)

    Should the checksum scanners cache the read blocks.

    bool

    false

    checksum_scan (optional)

    Perform a checksum scan on data in the cluster.

    bool

    false

    checksum_scan_concurrency (optional)

    Number of concurrent checksum scans to execute per tablet server.

    int32

    4

    checksum_snapshot (optional)

    Should the checksum scanner use a snapshot scan?

    bool

    true

    checksum_timeout_sec (optional)

    Maximum total seconds to wait for a checksum scan to complete before timing out.

    int32

    86400

    color (optional)

    Specifies whether output should be colorized. The default value 'auto' colorizes output if the output is a terminal. The other valid values are 'always' or 'never'.

    string

    auto

    consensus (optional)

    Whether to check the consensus state from each tablet against the master.

    bool

    true

    fetch_info_concurrency (optional)

    Number of threads to fetch info concurrently.

    int32

    20

    flags_categories_to_check (optional)

    Comma-separated list of flag categories to check for divergence across the cluster; default is time_source; available categories are time_source, unusual.

    string

    time_source

    ksck_format (optional)

    Output format for ksck. Available options are 'plain_concise', 'plain_full', 'json_pretty', and 'json_compact'. +'plain_concise' format is plain text, omitting most information about healthy tablets. +'plain_full' is plain text with all results included. +'json_pretty' produces pretty-printed json. +'json_compact' produces json suitable for parsing by other programs. +'json_pretty' and 'json_compact' differ in format, not content.

    string

    plain_concise

    quiescing_info (optional)

    Whether to display the quiescing-related information of each tablet server, e.g. number of tablet leaders per server, the number of active scanners per server.

    bool

    true

    sections (optional)

    Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, SYSTEM_TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.

    string

    *

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    rebalance: Move tablet replicas between tablet servers to balance replica counts for each table and for the cluster as a whole. 

    +
    +

    The rebalancing tool moves tablet replicas between tablet servers, in the same manner as the 'kudu tablet change_config move_replica' command, attempting to balance the count of replicas per table on each tablet server, and after that attempting to balance the total number of replicas per tablet server.
    +Usage:
    +kudu cluster rebalance <master_addresses> [-disable_cross_location_rebalancing] [-disable_intra_location_rebalancing] [-disable_policy_fixer] [-fetch_info_concurrency=<concurrency>] [-force_rebalance_replicas_on_maintenance_tservers] [-ignored_tservers=<tservers>] [-intra_location_rebalancing_concurrency=<concurrency>] [-load_imbalance_threshold=<threshold>] [-max_moves_per_server=<server>] [-max_run_time_sec=<sec>] [-max_staleness_interval_sec=<sec>] [-move_replicas_from_ignored_tservers] [-move_single_replicas=<replicas>] [-output_replica_distribution_details] [-enable_range_rebalancing] [-report_only] [-tables=<tables>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    disable_cross_location_rebalancing (optional)

    In case of multi-location cluster, whether to move tablet replicas between locations in attempt to spread tablet replicas among location evenly (equalizing loads of locations throughout the cluster). This setting is applicable to multi-location clusters only.

    bool

    false

    disable_intra_location_rebalancing (optional)

    In case of multi-location cluster, whether to rebalance tablet replica distribution within each location. This setting is applicable to multi-location clusters only.

    bool

    false

    disable_policy_fixer (optional)

    In case of multi-location cluster, whether to detect and fix placement policy violations. Fixing placement policy violations involves moving tablet replicas across different locations of the cluster. This setting is applicable to multi-location clusters only.

    bool

    false

    fetch_info_concurrency (optional)

    Number of threads to fetch info concurrently.

    int32

    20

    force_rebalance_replicas_on_maintenance_tservers (optional)

    This flag only takes effect in the case that some tservers are set maintenance mode but not specified in 'ignored_tservers'. If set true, the tool would rebalance all known replicas among all known tservers. The side effect of this is new replicas may be moved to maintenance tservers which are likely to be restarted or decommissioned soon. It is generally more recommended to specify all maintenance tservers in 'ignored_tservers', so that the rebalancer tool would ignore these tservers' states and replicas on them when planning replica moves.

    bool

    false

    ignored_tservers (optional)

    UUIDs of tablet servers to ignore while rebalancing the cluster (comma-separated list). If specified, the tablet servers are effectively ignored by the rebalancer tool, they are not considered as a part of the cluster as well as the replicas on them. If not specified, the rebalancer tool will run on all the tablet servers in the cluster.

    string

    none

    intra_location_rebalancing_concurrency (optional)

    How many independent intra-location rebalancing sessions can be run in parallel. Since the location assignment naturally provides non-intersecting sets of servers, it’s possible to independently move tablet replicas within different locations in parallel. Value of 0 means 'the number of CPU cores'. The actual number of concurrent sessions is the minimum of two values: this setting and the number of locations in a cluster.

    uint32

    0

    load_imbalance_threshold (optional)

    The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …​) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.

    double

    1

    max_moves_per_server (optional)

    Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.

    uint32

    5

    max_run_time_sec (optional)

    Maximum time to run the rebalancing, in seconds. Specifying 0 means not imposing any limit on the rebalancing run time.

    int64

    0

    max_staleness_interval_sec (optional)

    Maximum duration of the 'staleness' interval, when the rebalancer cannot make any progress in scheduling new moves and no prior scheduled moves are left, even if re-synchronizing against the cluster’s state again and again. Such a staleness usually happens in case of a persistent problem with the cluster or when some unexpected concurrent activity is present (such as automatic recovery of failed replicas, etc.)

    uint32

    300

    move_replicas_from_ignored_tservers (optional)

    Whether to move replicas from the specified 'ignored_tservers' to other servers when the source tablet server is healthy. This setting is effective only if the '--ignored_tservers' flag is specified as well. If set true, then all ignored tablet servers must be placed into the 'maintenance mode'.

    bool

    false

    move_single_replicas (optional)

    Whether to move single replica tablets (i.e. replicas of tablets of replication factor 1). Acceptable values are: 'auto', 'enabled', 'disabled'. The value of 'auto' means turn it on/off depending on the replica management scheme and Kudu version.

    string

    auto

    output_replica_distribution_details (optional)

    Whether to output details on per-table and per-server replica distribution

    bool

    false

    enable_range_rebalancing (optional)

    Whether to enable table range rebalancing

    bool

    false

    report_only (optional)

    Whether to report on table- and cluster-wide replica distribution skew and exit without doing any actual rebalancing

    bool

    false

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    diagnose: Diagnostic tools for Kudu servers and clusters

    +
    +
    +


    +
    +
    +

    parse_stacks: Parse sampled stack traces out of a diagnostics log 

    +
    +

    Usage:
    +kudu diagnose parse_stacks <path>…​ +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path…​

    Path(s) to log file(s) to parse, separated by a whitespace, if many

    string

    none

    +
    +


    +
    +
    +
    +

    parse_metrics: Parse metrics out of a diagnostics log 

    +
    +

    Usage:
    +kudu diagnose parse_metrics <path>…​ [-tablet_ids=<ids>] [-simple_metrics=<metrics>] [-rate_metrics=<metrics>] [-histogram_metrics=<metrics>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path…​

    Path(s) to log file(s) to parse, separated by a whitespace, if many

    string

    none

    tablet_ids (optional)

    comma-separated list of tablet identifiers to aggregate tablet metrics across; defaults to aggregating all tablets

    string

    none

    simple_metrics (optional)

    comma-separated list of metrics to parse, of the format <entity>.<metric name>[:<display name>], where <entity> must be one of 'server', 'table', or 'tablet', and <metric name> refers to the metric name; <display name> is optional and stands for the column name/tag that the metric is output with

    string

    none

    rate_metrics (optional)

    comma-separated list of metrics to compute the rates of

    string

    none

    histogram_metrics (optional)

    comma-separated list of histogram metrics to parse percentiles for

    string

    none

    +
    +


    +
    +
    +
    +
    +
    +

    fs: Operate on a local Kudu filesystem

    +
    +
    +


    +
    +
    +

    check: Check a Kudu filesystem for inconsistencies 

    +
    +

    Usage:
    +kudu fs check [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-repair] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    repair (optional)

    Repair any inconsistencies in the filesystem.

    bool

    false

    +
    +


    +
    +
    +
    +

    format: Format a new Kudu filesystem 

    +
    +

    Usage:
    +kudu fs format [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-uuid=<uuid>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    uuid (optional)

    The uuid to use in the filesystem. If not provided, one is generated

    string

    none

    +
    +


    +
    +
    +
    +

    list: List metadata for on-disk tablets, rowsets, blocks, and cfiles 

    +
    +

    This tool is useful for discovering and gathering information about on-disk data. Many field types can be added to the results with the --columns flag, and results can be filtered to a specific table, tablet, rowset, column, or block through flags.

    +
    +
    +

    Note: adding any of the 'cfile' fields to --columns will cause the tool to read on-disk metadata for each CFile in the result set, which could require large amounts of I/O when many results are returned.
    +Usage:
    +kudu fs list [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-table_id=<id>] [-table_name=<name>] [-tablet_id=<id>] [-rowset_id=<id>] [-column_id=<id>] [-block_id=<id>] [-columns=<columns>] [-format=<format>] [-noh] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    table_id (optional)

    Restrict output to a specific table by id

    string

    none

    table_name (optional)

    Restrict output to a specific table by name

    string

    none

    tablet_id (optional)

    Restrict output to a specific tablet

    string

    none

    rowset_id (optional)

    Restrict output to a specific rowset

    int64

    -1

    column_id (optional)

    Restrict output to a specific column

    int32

    -1

    block_id (optional)

    Restrict output to a specific block

    uint64

    0

    columns (optional)

    Comma-separated list of fields to include in output. +Possible values: table, table-id, tablet-id, partition, rowset-id, block-id, block-kind, column, column-id, cfile-data-type, cfile-nullable, cfile-encoding, cfile-compression, cfile-num-values, cfile-size, cfile-incompatible-features, cfile-compatible-features, cfile-min-key, cfile-max-key, cfile-delta-stats

    string

    tablet-id, rowset-id, block-id, block-kind

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    h (optional)

    Pretty-print values in human-readable units

    bool

    true

    +
    +


    +
    +
    +
    +

    update_dirs: Updates the set of data directories in an existing Kudu filesystem 

    +
    +

    If a data directory is in use by a tablet and is removed, the operation will fail unless --force is also used. Starting with Kudu 1.12.0, it is not required to run this tool to add or remove directories. This tool is preserved for backwards compatibility
    +Usage:
    +kudu fs update_dirs [-force] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    force (optional)

    If true, permits the removal of a data directory that is configured for use by existing tablets. Those tablets will fail the next time the server is started

    bool

    false

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    dump: Dump a Kudu filesystem

    +
    +


    +
    +
    +

    block: Dump the binary contents of a data block 

    +
    +

    This performs no parsing or interpretation of the data stored in the block but rather outputs its binary contents directly.
    +Usage:
    +kudu fs dump block <block_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    block_id

    block identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    cfile: Dump the contents of a CFile (column file) 

    +
    +

    This interprets the contents of a CFile-formatted block and outputs the decoded row data.
    +Usage:
    +kudu fs dump cfile <block_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-noprint_meta] [-noprint_rows] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    block_id

    block identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    print_meta (optional)

    Include metadata in output

    bool

    true

    print_rows (optional)

    Print each row in the CFile

    bool

    true

    +
    +


    +
    +
    +
    +

    tree: Dump the tree of a Kudu filesystem 

    +
    +

    Usage:
    +kudu fs dump tree [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    uuid: Dump the UUID of a Kudu filesystem 

    +
    +

    Usage:
    +kudu fs dump uuid [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    +
    +
    +

    hms: Operate on remote Hive Metastores

    +
    +
    +


    +
    +
    +

    check: Check metadata consistency between Kudu and the Hive Metastore catalogs 

    +
    +

    Usage:
    +kudu hms check <master_addresses> [-hive_metastore_sasl_enabled] [-hive_metastore_uris=<uris>] [-noignore_other_clusters] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    hive_metastore_sasl_enabled (optional)

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.

    bool

    false

    hive_metastore_uris (optional)

    Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.

    string

    none

    ignore_other_clusters (optional)

    Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    downgrade: Downgrade the metadata to legacy format for Kudu and the Hive Metastores 

    +
    +

    Usage:
    +kudu hms downgrade <master_addresses> [-hive_metastore_sasl_enabled] [-hive_metastore_uris=<uris>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    hive_metastore_sasl_enabled (optional)

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.

    bool

    false

    hive_metastore_uris (optional)

    Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    fix: Fix automatically-repairable metadata inconsistencies in the Kudu and Hive Metastore catalogs 

    +
    +

    Usage:
    +kudu hms fix <master_addresses> [-dryrun] [-drop_orphan_hms_tables] [-nocreate_missing_hms_tables] [-nofix_inconsistent_tables] [-noupgrade_hms_tables] [-hive_metastore_sasl_enabled] [-hive_metastore_uris=<uris>] [-noignore_other_clusters] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    dryrun (optional)

    Print a message for each fix, but do not make modifications to Kudu or the Hive Metastore.

    bool

    false

    drop_orphan_hms_tables (optional)

    Drop orphan Hive Metastore tables which refer to non-existent Kudu tables.

    bool

    false

    create_missing_hms_tables (optional)

    Create a Hive Metastore table for each Kudu table which is missing one.

    bool

    true

    fix_inconsistent_tables (optional)

    Fix tables whose Kudu and Hive Metastore metadata differ. If the table name is different, the table is renamed in Kudu to match the HMS. If the columns or other metadata is different the HMS is updated to match Kudu.

    bool

    true

    upgrade_hms_tables (optional)

    Upgrade Hive Metastore tables from the legacy Impala metadata format to the new Kudu metadata format.

    bool

    true

    hive_metastore_sasl_enabled (optional)

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.

    bool

    false

    hive_metastore_uris (optional)

    Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.

    string

    none

    ignore_other_clusters (optional)

    Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List the Kudu table HMS entries 

    +
    +

    Usage:
    +kudu hms list <master_addresses> [-columns=<columns>] [-format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of HMS entry fields to include in output. +Possible values: database, table, type, owner, comment, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler

    string

    database,table,type,kudu.table_name

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    precheck: Check that the Kudu cluster is prepared to enable the Hive Metastore integration 

    +
    +

    Usage:
    +kudu hms precheck <master_addresses> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    local_replica: Operate on local tablet replicas via the local filesystem

    +
    +
    +


    +
    +
    +

    copy_from_local: Copy tablet replicas from local filesystem. Before using this tool, you MUST stop the master/tserver you want to copy from, and make sure --src_*dir(s) and --dst*_dir(s) are exactly what whey should be. 

    +
    +

    Usage:
    +kudu local_replica copy_from_local <tablet_ids> [-src_fs_wal_dir=<dir>] [-src_fs_metadata_dir=<dir>] [-src_fs_data_dirs=<dirs>] [-dst_fs_wal_dir=<dir>] [-dst_fs_metadata_dir=<dir>] [-dst_fs_data_dirs=<dirs>] [-num_threads=<threads>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    src_fs_wal_dir (optional)

    Source: Directory with write-ahead logs.

    string

    none

    src_fs_metadata_dir (optional)

    Source: Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of --dst_fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, --dst_fs_wal_dir will be used as the metadata directory.

    string

    none

    src_fs_data_dirs (optional)

    Source: Comma-separated list of directories with data blocks. If this is not specified, --src_fs_wal_dir will be used as the sole data block directory.

    string

    none

    dst_fs_wal_dir (optional)

    Destination: Directory with write-ahead logs.

    string

    none

    dst_fs_metadata_dir (optional)

    Destination: Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of --dst_fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, --dst_fs_wal_dir will be used as the metadata directory.

    string

    none

    dst_fs_data_dirs (optional)

    Destination: Comma-separated list of directories with data blocks. If this is not specified, --dst_fs_wal_dir will be used as the sole data block directory.

    string

    none

    num_threads (optional)

    Number of threads to run.

    int32

    2

    +
    +


    +
    +
    +
    +

    copy_from_remote: Copy tablet replicas from a remote server 

    +
    +

    Usage:
    +kudu local_replica copy_from_remote <tablet_ids> <source> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-tablet_copy_download_threads_nums_per_session=<session>] [-num_threads=<threads>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    source

    Source RPC address of form hostname:port

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    tablet_copy_download_threads_nums_per_session (optional)

    Number of threads per tablet copy session for downloading tablet data blocks.

    int32

    4

    num_threads (optional)

    Number of threads to run.

    int32

    2

    +
    +


    +
    +
    +
    +

    data_size: Summarize the data size/space usage of the given local replica(s). 

    +
    +

    Usage:
    +kudu local_replica data_size <tablet_id_pattern> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-format=<format>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id_pattern

    Tablet identifier pattern. This argument supports basic glob syntax: '*' matches 0 or more wildcard characters.

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    +
    +


    +
    +
    +
    +

    delete: Delete tablet replicas from the local filesystem. By default, leaves a tombstone record upon replica removal. 

    +
    +

    Usage:
    +kudu local_replica delete <tablet_id_patterns> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-clean_unsafe] [-ignore_nonexistent] [-tables=<tables>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id_patterns

    Comma-separated list of Tablet identifier patterns. This argument supports basic glob syntax: '*' matches 0 or more wildcard characters.

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    clean_unsafe (optional)

    Delete the local replica completely, not leaving a tombstone. This is not guaranteed to be safe because it also removes the consensus metadata (including Raft voting record) for the specified tablet, which violates the Raft vote durability requirements.

    bool

    false

    ignore_nonexistent (optional)

    Whether to ignore non-existent tablet replicas when deleting: if set to 'true', the tool does not report an error if the requested tablet replica to remove is not found

    bool

    false

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    +
    +


    +
    +
    +
    +

    list: Show list of tablet replicas in the local filesystem 

    +
    +

    Usage:
    +kudu local_replica list [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-list_detail] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    list_detail (optional)

    Print partition info for the local replicas

    bool

    false

    +
    +


    +
    +
    +
    +

    cmeta: Operate on a local tablet replica’s consensus metadata file

    +
    +


    +
    +
    +

    print_replica_uuids: Print all tablet replica peer UUIDs found in a tablet’s Raft configuration 

    +
    +

    Usage:
    +kudu local_replica cmeta print_replica_uuids <tablet_ids> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    rewrite_raft_config: Rewrite a tablet replica’s Raft configuration 

    +
    +

    Usage:
    +kudu local_replica cmeta rewrite_raft_config <tablet_ids> <peers>…​ [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    peers…​

    List of peers where each element is of form 'uuid:hostname:port', with elements of the list separated by a whitespace

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    set_term: Bump the current term stored in consensus metadata 

    +
    +

    Usage:
    +kudu local_replica cmeta set_term <tablet_id> <term> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    term

    the new raft term (must be greater than the current term)

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    +

    tmeta: Edit a local tablet metadata

    +
    +


    +
    +
    +

    delete_rowsets: Delete rowsets from a local replica. 

    +
    +

    The common usage pattern of this tool is described below. +That involves checking the result by a dry run of the tablet server with the modified tablet’s data after running the tool. It’s crucial to customize tablet server’s --enable_tablet_orphaned_block_deletion flag for the dry run to avoid deleting orphaned blocks, so it’s possible to roll back to the original state of the tablet’s data if something goes wrong. First, run the tool with default settings for --backup_metadata and --enable_tablet_orphaned_block_deletion to (a) create a backup of the original metadata file and (b) keep the orphaned blocks on the file system. Second, start the tablet server with --enable_tablet_orphaned_block_deletion=false to check whether the change worked as expected and the tablet server works fine with the new state of the tablet’s data. If it doesn’t work as expected, stop the tablet server (if still running), rollback the change by replacing the updated metadata file with the backup created earlier, and retry the procedure again, specifying proper rowset identifiers to the tool. If the change works as expected and the tablet server runs fine after with the updated tablet’s data, remove the customization for the --enable_tablet_orphaned_block_deletion flag and restart the tablet server.
    +Usage:
    +kudu local_replica tmeta delete_rowsets <tablet_id> <rowset_ids> [-nobackup_metadata] [-enable_tablet_orphaned_block_deletion] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    rowset_ids

    Comma-separated list of Rowset Identifiers

    string

    none

    backup_metadata (optional)

    Whether to backup tablet metadata file when editing it.

    bool

    true

    enable_tablet_orphaned_block_deletion (optional)

    Whether to enable deletion of orphaned blocks from disk. Note: This is only exposed for debugging purposes and used in CLI tools.

    bool

    false

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    +

    dump: Dump a Kudu filesystem

    +
    +


    +
    +
    +

    block_ids: Dump the IDs of all blocks belonging to a local replica 

    +
    +

    Usage:
    +kudu local_replica dump block_ids <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    data_dirs: Dump the data directories where the replica’s data is stored 

    +
    +

    Usage:
    +kudu local_replica dump data_dirs <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    meta: Dump the metadata of a local replica 

    +
    +

    Usage:
    +kudu local_replica dump meta <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    rowset: Dump the rowset contents of a local replica 

    +
    +

    Usage:
    +kudu local_replica dump rowset <tablet_id> [-nodump_all_columns] [-nodump_metadata] [-dump_primary_key_bounds_only] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-nrows=<nrows>] [-rowset_index=<index>] [-use_readable_format] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    dump_all_columns (optional)

    If true, dumped rows include all of the columns in the rowset. If false, dumped rows include just the key columns (in a comparable format).

    bool

    true

    dump_metadata (optional)

    If true, dumps rowset metadata before dumping data. If false, only dumps the data.

    bool

    true

    dump_primary_key_bounds_only (optional)

    Whether to dump rowset primary key bounds only, otherwise, dump all rows.

    bool

    false

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    nrows (optional)

    Number of rows to dump. If negative, dumps all rows.

    int64

    -1

    rowset_index (optional)

    Index of the rowset in local replica, default value(-1) will dump all the rowsets of the local replica

    int64

    -1

    use_readable_format (optional)

    Whether to dump primary key in human readable format, otherwise, dump primary key in comparable format.

    bool

    false

    +
    +


    +
    +
    +
    +

    wals: Dump all WAL (write-ahead log) segments of a local replica 

    +
    +

    Usage:
    +kudu local_replica dump wals <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-print_entries=<entries>] [-noprint_meta] [-truncate_data=<data>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    print_entries (optional)

    How to print entries: + false|0|no = don’t print + true|1|yes|decoded = print them decoded + pb = print the raw protobuf + id = print only their ids

    string

    decoded

    print_meta (optional)

    Include metadata in output

    bool

    true

    truncate_data (optional)

    Truncate the data fields to the given number of bytes before printing. Set to 0 to disable

    int32

    100

    +
    +


    +
    +
    +
    +
    +
    +
    +

    master: Operate on a Kudu Master

    +
    +
    +


    +
    +
    +

    dump_memtrackers: Dump the memtrackers from a Kudu Master 

    +
    +

    Usage:
    +kudu master dump_memtrackers <master_address> [-format=<format>] [-memtracker_output=<output>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    memtracker_output (optional)

    One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.

    string

    table

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    get_flags: Get the gflags for a Kudu Master 

    +
    +

    Usage:
    +kudu master get_flags <master_address> [-all_flags] [-flags=<flags>] [-flag_tags=<tags>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    all_flags (optional)

    Whether to return all flags, or only flags that were explicitly set.

    bool

    false

    flags (optional)

    Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.

    string

    none

    flag_tags (optional)

    Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    run: Run a Kudu Master 

    +
    +

    Note: The master server is started in this process and runs until interrupted.

    +
    +
    +

    The most common configuration flags are described below. For all the configuration options pass --helpfull or see https://kudu.apache.org/docs/configuration_reference.html#kudu-master_supported
    +Usage:
    +kudu master run [-master_addresses=<addresses>] [-fs_wal_dir=<dir>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-log_dir=<dir>] [-logtostderr] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses (optional)

    Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    log_dir (optional)

    If specified, logfiles are written into this directory instead of the default logging directory.

    string

    none

    logtostderr (optional)

    log messages go to stderr instead of logfiles

    bool

    false

    +
    +


    +
    +
    +
    +

    set_flag: Change a gflag value on a Kudu Master 

    +
    +

    Usage:
    +kudu master set_flag <master_address> <flag> <value> [-force] [-norun_consistency_check] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    run_consistency_check (optional)

    If true, Kudu server checks all flags for consistency upon setting a flag. In this mode, the server rolls the flag back to its previous value and sends corresponding error response if an inconsistency is detected.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_flag_for_all: Change a gflag value for all Kudu Masters in the cluster 

    +
    +

    Usage:
    +kudu master set_flag_for_all <master_addresses> <flag> <value> [-force] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    status: Get the status of a Kudu Master 

    +
    +

    Usage:
    +kudu master status <master_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    timestamp: Get the current timestamp of a Kudu Master 

    +
    +

    Usage:
    +kudu master timestamp <master_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List masters in a Kudu cluster 

    +
    +

    Usage:
    +kudu master list <master_addresses> [-columns=<columns>] [-format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of master info fields to include in output. +Possible values: uuid, cluster_id, rpc-addresses, http-addresses, version, seqno, start_time, role and member_type

    string

    uuid,rpc-addresses,role

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    add: Add a master to the Kudu cluster 

    +
    +

    This is an advanced command that orchestrates the workflow to bring up and add a new master to the Kudu cluster. It must be run locally on the new master being added and not on the leader master. This tool shuts down the new master after completion of the command regardless of whether the new master addition is successful. After the command completes successfully, user is expected to explicitly start the new master using the same flags as supplied to this tool.

    +
    +
    +

    Supply all the necessary flags to bring up the new master. The most common configuration flags used to bring up a master are described below. See "Kudu Configuration Reference" for all the configuration options that apply to a Kudu master.

    +
    +
    +

    Please refer to the Kudu administration documentation on "Migrating to Multiple Kudu Masters" for the complete steps.
    +Usage:
    +kudu master add <master_addresses> <master_address> [-wait_secs=<secs>] [-kudu_abs_path=<path>] [-fs_wal_dir=<dir>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-log_dir=<dir>] [-logtostderr] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    wait_secs (optional)

    Timeout in seconds to wait while retrying operations like bringing up new master, running ksck, waiting for the new master to be promoted as VOTER, etc. This flag is not passed to the new master.

    int64

    64

    kudu_abs_path (optional)

    Absolute file path of the 'kudu' executable used to bring up new master and other workflow steps. This flag is not passed to the new master.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    log_dir (optional)

    If specified, logfiles are written into this directory instead of the default logging directory.

    string

    none

    logtostderr (optional)

    log messages go to stderr instead of logfiles

    bool

    false

    +
    +


    +
    +
    +
    +

    remove: Remove a master from the Kudu cluster 

    +
    +

    Removes a master from the Raft configuration of the Kudu cluster.

    +
    +
    +

    Please refer to the Kudu administration documentation on "Removing Kudu Masters from a Multi-Master Deployment" or "Recovering from a dead Kudu Master in a Multi-Master Deployment" as appropriate.
    +Usage:
    +kudu master remove <master_addresses> <master_address> [-master_uuid=<uuid>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    master_uuid (optional)

    Permanent UUID of the master. Only needed to disambiguate in case of multiple masters with same RPC address

    string

    none

    +
    +


    +
    +
    +
    +

    unsafe_rebuild: Rebuild a Kudu master from tablet server metadata 

    +
    +

    Attempts to create or update on-disk metadata that can be used by a non-replicated master to recover a Kudu cluster that has permanently lost its masters. It has a number of limitations:

    +
    +
    +
      +
    • +

      Security metadata like cryptographic keys are not rebuilt. Tablet servers and clients must be restarted before starting the new master in order to communicate with the new master.

      +
    • +
    • +

      Table IDs are known only by the masters. Reconstructed tables will have new IDs.

      +
    • +
    • +

      If a create, delete, or alter table was in progress when the masters were lost, it may not be possible to restore the table.

      +
    • +
    • +

      If all replicas of a tablet are missing, it may not be able to recover the table fully. Moreover, the rebuild tool cannot detect that a tablet is missing.

      +
    • +
    • +

      It’s not possible to determine the replication factor of a table from tablet server metadata. The rebuild tool sets the replication factor of each table to --default_num_replicas instead.

      +
    • +
    • +

      It’s not possible to determine the next column id for a table from tablet server metadata. Instead, the rebuilt tool sets the next column id to a very large number.

      +
    • +
    • +

      Table metadata like comments, owners, and configurations are not stored on tablet servers and are thus not restored.

      +
    • +
    • +

      Without '--tables', the tool will build a brand new syscatalog table based on tablet data on tablet server metadata.

      +
    • +
    • +

      With '--tables', the tool will update specific tables in current syscatalog.

      +
    • +
    +
    +
    + + + + + +
    + + +This tool is potentially unsafe. Only use it when there is no possibility of recovering the original masters, and you know what you are doing. +
    +Usage:
    +kudu master unsafe_rebuild <tserver_addresses>…​ [-default_num_replicas=<replicas>] [-default_schema_version=<version>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-tables=<tables>] +
    +Arguments: +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_addresses…​

    Address list of Kudu tablet servers of form 'hostname-0:port-0 hostname-1:port-1 …​ hostname-n:port-n'. Port may be omitted if the tablet server is bound to the default port.

    string

    none

    default_num_replicas (optional)

    Default number of replicas for tables that do not have the num_replicas set.

    int32

    3

    default_schema_version (optional)

    The table schema version assigned to tables if one cannot be determined automatically. When the tablet server version is < 1.16, a viable value can be determined manually using 'kudu pbc dump tablet-meta/<tablet-id>' on each server and taking the max value found across all tablets. In tablet server versions >= 1.16, Kudu will determine the proper value for each tablet automatically.

    uint32

    0

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    +
    +


    +
    +
    +
    +

    authz_cache: Operate on the authz caches of the Kudu Masters

    +
    +


    +
    +
    +

    refresh: Refresh the authorization policies 

    +
    +

    Usage:
    +kudu master authz_cache refresh <master_addresses> [-force] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    force (optional)

    Ignore mismatches of the specified and the actual lists of master addresses in the cluster

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +
    +

    pbc: Operate on PBC (protobuf container) files

    +
    +
    +


    +
    +
    +

    dump: Dump a PBC (protobuf container) file 

    +
    +

    Usage:
    +kudu pbc dump <path> [-debug] [-oneline] [-json] [-json_pretty] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path

    path to PBC file

    string

    none

    debug (optional)

    Print extra debugging information about each protobuf

    bool

    false

    oneline (optional)

    Print each protobuf on a single line

    bool

    false

    json (optional)

    Print protobufs in JSON format

    bool

    false

    json_pretty (optional)

    Print or edit protobufs in JSON pretty format

    bool

    false

    +
    +


    +
    +
    +
    +

    edit: Edit a PBC (protobuf container) file 

    +
    +

    Usage:
    +kudu pbc edit <path> [-nobackup] [-json] [-json_pretty] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path

    path to PBC file

    string

    none

    backup (optional)

    Write a backup file

    bool

    true

    json (optional)

    Print protobufs in JSON format

    bool

    false

    json_pretty (optional)

    Print or edit protobufs in JSON pretty format

    bool

    false

    +
    +


    +
    +
    +
    +
    +
    +

    perf: Measure the performance of a Kudu cluster

    +
    +
    +


    +
    +
    +

    loadgen: Run load generation with optional scan afterwards 

    +
    +

    Run load generation tool which inserts auto-generated data into an existing or auto-created table as fast as possible. If requested, also scan the inserted rows to check whether the actual count of inserted rows matches the expected one.
    +Usage:
    +kudu perf loadgen <master_addresses> [-auto_database=<database>] [-buffer_flush_watermark_pct=<pct>] [-buffer_size_bytes=<bytes>] [-buffers_num=<num>] [-error_buffer_size_bytes=<bytes>] [-flush_per_n_rows=<rows>] [-keep_auto_table] [-num_rows_per_thread=<thread>] [-num_threads=<threads>] [-run_cleanup] [-run_scan] [-seq_start=<start>] [-show_first_n_errors=<errors>] [-string_fixed=<fixed>] [-string_len=<len>] [-table_name=<name>] [-table_num_hash_partitions=<partitions>] [-table_num_range_partitions=<partitions>] [-table_num_replicas=<replicas>] [-txn_start] [-txn_commit] [-txn_rollback] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    auto_database (optional)

    The database in which to create the automatically generated table. If --table_name is set, this flag has no effect, since a table is not created. This flag is useful primarily when the Hive Metastore integration is enabled in the cluster. If empty, no database is used.

    string

    default

    buffer_flush_watermark_pct (optional)

    Mutation buffer flush watermark, in percentage of total size.

    double

    0.5

    buffer_size_bytes (optional)

    Size of the mutation buffer, per session (bytes).

    int32

    4194304

    buffers_num (optional)

    Number of mutation buffers per session.

    int32

    2

    error_buffer_size_bytes (optional)

    Size of the error buffer, per session (bytes). 0 means 'unlimited'. This setting may impose an additional upper limit for the effective number of errors controlled by the '--show_first_n_errors' flag.

    int32

    16777216

    flush_per_n_rows (optional)

    Perform async flush per given number of rows added. Setting to non-zero implicitly turns on manual flush mode.

    int32

    0

    keep_auto_table (optional)

    If using the auto-generated table, enabling this option retains the table populated with the data after the test finishes. By default, the auto-generated table is dropped after successfully finishing the test. NOTE: this parameter has no effect if using already existing table (see the '--table_name' flag): neither the existing table nor its data is ever dropped/deleted.

    bool

    false

    num_rows_per_thread (optional)

    Number of rows each thread generates and inserts; -1 means unlimited. All rows generated by a thread are inserted in the context of the same session.

    int64

    1000

    num_threads (optional)

    Number of threads to run.

    int32

    2

    run_cleanup (optional)

    Whether to run post-insertion deletion to reset the existing table as before.

    bool

    false

    run_scan (optional)

    Whether to run post-insertion scan to verify that the count of the inserted rows matches the expected number. If enabled, the scan is run only if no errors were encountered while inserting the generated rows.

    bool

    false

    seq_start (optional)

    Initial value for the generator in sequential mode. This is useful when running multiple times against already existing table: for every next run, set this flag to (num_threads * num_rows_per_thread * column_num + seq_start).

    uint64

    0

    show_first_n_errors (optional)

    Output detailed information on the specified number of first n errors (if any). The limit on the per-session error buffer space may impose an additional upper limit for the effective number of errors in the output. If so, consider increasing the size of the error buffer using the '--error_buffer_size_bytes' flag.

    int32

    0

    string_fixed (optional)

    Pre-defined string to write into binary and string columns. Client generates more data per second using pre-defined string compared with auto-generated strings of the same length if run with the same CPU/memory configuration. If left empty, then auto-generated strings of length specified by the '--string_len' parameter are used instead.

    string

    none

    string_len (optional)

    Length of strings to put into string and binary columns. This parameter is not in effect if '--string_fixed' is specified.

    int32

    32

    table_name (optional)

    Name of an existing table to use for the test. The test will determine the structure of the table schema and populate it with data accordingly. If left empty, the test automatically creates a table of pre-defined columnar structure with unique name and uses it to insert auto-generated data. The auto-created table is dropped upon successful completion of the test if not overridden by the '--keep_auto_table' flag. If running the test against an already existing table, it’s recommended to use a dedicated table created just for testing purposes: the tool doesn’t delete the rows it inserted into the table. Neither the existing table nor its data is ever dropped/deleted.

    string

    none

    table_num_hash_partitions (optional)

    The number of hash partitions to create when this tool creates a new table. Note: The total number of partitions must be greater than 1.

    int32

    8

    table_num_range_partitions (optional)

    The number of range partitions to create when this tool creates a new table. A range partition schema will be determined to evenly split a sequential workload across ranges, leaving the outermost ranges unbounded to ensure coverage of the entire keyspace. Note: The total number of partitions must be greater than 1.

    int32

    1

    table_num_replicas (optional)

    The number of replicas for the auto-created table; 0 means 'use server-side default'.

    int32

    1

    txn_start (optional)

    Whether the generated rows are inserted in the context of a multi-row transaction. For now, only supported if configured to insert rows (i.e. UPDATE and DELETE are not yet supported). Unless --txn_commit or --txn_rollback is specified, the started transaction is left 'as is' (i.e. neither commit, nor rollback is performed) once the tool completes its operations.

    bool

    false

    txn_commit (optional)

    Whether to commit the multi-row transaction which contains all the inserted rows. Setting --txn_commit=true implies setting --txn_start=true as well.

    bool

    false

    txn_rollback (optional)

    Whether to rollback the multi-row transaction which contains all the inserted rows. Setting --txn_rollback=true implies setting --txn_start=true as well.

    bool

    false

    use_client_per_thread (optional)

    Use a separate KuduClient instance for each load-generating thread. This increases throughput by reducing contention on various Client internals.

    bool

    true

    use_random (optional)

    Whether to use random numbers instead of sequential ones for both primary keys and non-primary key columns. In case of using random numbers collisions are possible over the data for columns with unique constraint (e.g. primary key). This option has been deprecated, use '--use_random_pk' and/or '--use_random_non_pk' instead. If either '--use_random_pk' or '--use_random_non_pk' is specified with '--use_random' then this option will be ignored.

    bool

    false

    use_random_pk (optional)

    Whether to use random numbers instead of sequential ones for primary key columns. Using random numbers may cause collisions over primary key columns.

    bool

    false

    use_random_non_pk (optional)

    Whether to use random numbers instead of sequential ones for non-primary key columns.

    bool

    false

    use_upsert (optional)

    Whether to use UPSERT instead of INSERT to store the generated data into the table

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    table_scan: Show row count and scanning time cost of tablets in a table 

    +
    +

    Show row count and scanning time of tablets in a table. This can be useful to check for row count skew across different tablets, or whether there is a long latency tail when scanning different tables.
    +Usage:
    +kudu perf table_scan <master_addresses> <table_name> [-columns=<columns>] [-row_count_only] [-report_scanner_stats] [-scan_batch_size=<size>] [-fault_tolerant] [-nofill_cache] [-num_threads=<threads>] [-predicates=<predicates>] [-tablets=<tablets>] [-replica_selection=<selection>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to scan

    string

    none

    columns (optional)

    Comma-separated list of column fields to include in output tables

    string

    uuid,rpc-addresses,role

    row_count_only (optional)

    Whether to only count rows instead of reading row cells: yields an empty projection for the table

    bool

    false

    report_scanner_stats (optional)

    Whether to report scanner statistics

    bool

    false

    scan_batch_size (optional)

    The size for scan results batches, in bytes. A negative value means the server-side default is used, where the server-side default is controlled by the tablet server’s --scanner_default_batch_size_bytes flag.

    int32

    -1

    fault_tolerant (optional)

    Whether to make scans resumable at another tablet server if current server fails. Fault-tolerant scans typically have lower throughput than non fault-tolerant scans, but the results are returned in primary key order for a single tablet.

    bool

    false

    fill_cache (optional)

    Whether to fill block cache when scanning.

    bool

    true

    num_threads (optional)

    Number of threads to run.

    int32

    2

    predicates (optional)

    Query predicates on columns. Unlike traditional SQL syntax, the scan tool’s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'. + * The 'Comparison' type support ⇐, <, =, > and >=, + which can be represented as '[operator, column_name, value]', + e.g. '[">=", "col1", "value"]' + * The 'InList' type can be represented as + '["IN", column_name, [value1, value2, …​]]' + e.g. '["IN", "col2", ["value1", "value2"]]' + * The 'IsNull' type determine whether the value is NULL or not, + which can be represented as '[operator, column_name]' + e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]' +Predicates can be combined together with predicate operators using the syntax + [operator, predicate, predicate, …​, predicate]. +For example, + ["AND", [">=", "col1", "value"], ["NOTNULL", "col2"]] +The only supported predicate operator is AND.

    string

    none

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    replica_selection (optional)

    Replica selection for scan operations. Acceptable values are: CLOSEST, LEADER (maps into KuduClient::CLOSEST_REPLICA and KuduClient::LEADER_ONLY correspondingly).

    string

    CLOSEST

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    tablet_scan: Show row count of a local tablet 

    +
    +

    Usage:
    +kudu perf tablet_scan <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-num_iters=<iters>] [-ordered_scan] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    num_iters (optional)

    Number of times to run the scan.

    int32

    1

    ordered_scan (optional)

    Whether to run an ordered or unordered scan.

    bool

    false

    +
    +


    +
    +
    +
    +
    +
    +

    remote_replica: Operate on remote tablet replicas on a Kudu Tablet Server

    +
    +
    +


    +
    +
    +

    check: Check if all tablet replicas on a Kudu tablet server are running. Tombstoned replica do not count as not running, because they are just records of the previous existence of a replica. 

    +
    +

    Usage:
    +kudu remote_replica check <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    copy: Copy a tablet replica from one Kudu Tablet Server to another 

    +
    +

    Usage:
    +kudu remote_replica copy <tablet_id> <src_address> <dst_address> [-force_copy] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    src_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    dst_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    force_copy (optional)

    Force the copy when the destination tablet server has this replica

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    delete: Delete a tablet replica from a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu remote_replica delete <tserver_address> <tablet_id> <reason> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    reason

    Reason for deleting the replica

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    dump: Dump the data of a tablet replica on a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu remote_replica dump <tserver_address> <tablet_id> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List all tablet replicas on a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu remote_replica list <tserver_address> [-noinclude_schema] [-table_name=<name>] [-tablets=<tablets>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    include_schema (optional)

    Whether to include the schema of each replica

    bool

    true

    table_name (optional)

    Restrict output to a specific table by name

    string

    none

    tablets (optional)

    Comma-separated list of tablet IDs used to filter the list of replicas

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    unsafe_change_config: Force the specified replica to adopt a new Raft config 

    +
    +

    This tool is useful when a config change is necessary because a tablet cannot make progress with its current Raft configuration (e.g. to evict followers when a majority is unavailable).

    +
    +
    +

    Note: The members of the new Raft config must be a subset of (or the same as) the members of the existing committed Raft config.
    +Usage:
    +kudu remote_replica unsafe_change_config <tserver_address> <tablet_id> <peer uuids>…​ [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    peer uuids…​

    List of peer uuids to be part of new config, separated by whitespace

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    table: Operate on Kudu tables

    +
    +
    +


    +
    +
    +

    add_column: Add a column 

    +
    +

    Usage:
    +kudu table add_column <master_addresses> <table_name> <column_name> <data_type> [-encoding_type=<type>] [-compression_type=<type>] [-default_value=<value>] [-comment=<comment>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to add

    string

    none

    data_type

    Data Type, eg: INT8, INT16, INT32, INT64, STRING, BOOL, FLOAT, DOUBLE, BINARY, UNIXTIME_MICROS, DECIMAL, VARCHAR, TIMESTAMP, DATE

    string

    none

    encoding_type (optional)

    Type of encoding for the column including AUTO_ENCODING, PLAIN_ENCODING, PREFIX_ENCODING, RLE, DICT_ENCODING, BIT_SHUFFLE, GROUP_VARINT

    string

    AUTO_ENCODING

    compression_type (optional)

    Type of compression for the column including DEFAULT_COMPRESSION, NO_COMPRESSION, SNAPPY, LZ4, ZLIB

    string

    DEFAULT_COMPRESSION

    default_value (optional)

    Default value for this column.

    string

    none

    comment (optional)

    Comment for this column.

    string

    none

    +
    +


    +
    +
    +
    +

    add_range_partition: Add a range partition for table 

    +
    +

    Usage:
    +kudu table add_range_partition <master_addresses> <table_name> <table_range_lower_bound> <table_range_upper_bound> [-lower_bound_type=<type>] [-upper_bound_type=<type>] [-hash_schema=<schema>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table

    string

    none

    table_range_lower_bound

    String representation of lower bound of the table range partition as a JSON array.If the parameter is an empty array, the lower range partition will be unbounded

    string

    none

    table_range_upper_bound

    String representation of upper bound of the table range partition as a JSON array.If the parameter is an empty array, the upper range partition will be unbounded

    string

    none

    lower_bound_type (optional)

    The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.

    string

    INCLUSIVE_BOUND

    upper_bound_type (optional)

    The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.

    string

    EXCLUSIVE_BOUND

    hash_schema (optional)

    String representation of range-specific hash schema as a JSON object, e.g. {"hash_schema": [{"columns": ["c0"], "num_buckets": 5}]}

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    clear_comment: Clear the comment for a table 

    +
    +

    Usage:
    +kudu table clear_comment <master_addresses> <table_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_remove_default: Remove write_default value for a column 

    +
    +

    Usage:
    +kudu table column_remove_default <master_addresses> <table_name> <column_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_block_size: Set block size for a column 

    +
    +

    Usage:
    +kudu table column_set_block_size <master_addresses> <table_name> <column_name> <block_size> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    block_size

    Block size of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_compression: Set compression type for a column 

    +
    +

    Usage:
    +kudu table column_set_compression <master_addresses> <table_name> <column_name> <compression_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    compression_type

    Compression type of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_default: Set write_default value for a column 

    +
    +

    Usage:
    +kudu table column_set_default <master_addresses> <table_name> <column_name> <default_value> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    default_value

    Write default value of the column, should be provided as a JSON array, e.g. [1] or ["foo"]

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_encoding: Set encoding type for a column 

    +
    +

    Usage:
    +kudu table column_set_encoding <master_addresses> <table_name> <column_name> <encoding_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    encoding_type

    Encoding type of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_comment: Set comment for a column 

    +
    +

    Usage:
    +kudu table column_set_comment <master_addresses> <table_name> <column_name> <column_comment> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    column_comment

    Comment of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    copy: Copy table data to another table 

    +
    +

    Copy table data to another table; the two tables could be in the same cluster or not. The two tables must have the same table schema, but could have different partition schemas. Alternatively, the tool can create the new table using the same table and partition schema as the source table.
    +Usage:
    +kudu table copy <master_addresses> <table_name> <dest_master_addresses> [-nocreate_table] [-create_table_hash_bucket_nums=<nums>] [-create_table_replication_factor=<factor>] [-dst_table=<table>] [-fault_tolerant] [-nofill_cache] [-num_threads=<threads>] [-predicates=<predicates>] [-scan_batch_size=<size>] [-tablets=<tablets>] [-write_type=<type>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the source table

    string

    none

    dest_master_addresses

    Either comma-separated list of destination Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    create_table (optional)

    Whether to create the destination table if it doesn’t exist.

    bool

    true

    create_table_hash_bucket_nums (optional)

    The number of hash buckets in each hash dimension seperated by comma

    string

    none

    create_table_replication_factor (optional)

    The replication factor of the destination table if the table will be created. By default, the replication factor of source table will be used.

    int32

    -1

    dst_table (optional)

    The name of the destination table the data will be copied to. If the empty string, use the same name as the source table.

    string

    none

    fault_tolerant (optional)

    Whether to make scans resumable at another tablet server if current server fails. Fault-tolerant scans typically have lower throughput than non fault-tolerant scans, but the results are returned in primary key order for a single tablet.

    bool

    false

    fill_cache (optional)

    Whether to fill block cache when scanning.

    bool

    true

    num_threads (optional)

    Number of threads to run.

    int32

    2

    predicates (optional)

    Query predicates on columns. Unlike traditional SQL syntax, the scan tool’s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'. + * The 'Comparison' type support ⇐, <, =, > and >=, + which can be represented as '[operator, column_name, value]', + e.g. '[">=", "col1", "value"]' + * The 'InList' type can be represented as + '["IN", column_name, [value1, value2, …​]]' + e.g. '["IN", "col2", ["value1", "value2"]]' + * The 'IsNull' type determine whether the value is NULL or not, + which can be represented as '[operator, column_name]' + e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]' +Predicates can be combined together with predicate operators using the syntax + [operator, predicate, predicate, …​, predicate]. +For example, + ["AND", [">=", "col1", "value"], ["NOTNULL", "col2"]] +The only supported predicate operator is AND.

    string

    none

    scan_batch_size (optional)

    The size for scan results batches, in bytes. A negative value means the server-side default is used, where the server-side default is controlled by the tablet server’s --scanner_default_batch_size_bytes flag.

    int32

    -1

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    write_type (optional)

    Write operation type to use when populating the destination table with the rows from the source table. Choose from 'insert', 'insert_ignore', 'upsert', 'upsert_ignore', or an empty string. Empty string means the data isn’t going to be copied, which is useful with --create_table=true when just creating the destination table without copying the data.

    string

    insert

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    create: Create a new table 

    +
    +

    provide parameters for the table to create as a JSON object, e.g. +'{ + "table_name": "test", + "schema": { + "columns": [ + { + "column_name": "id", + "column_type": "INT32", + "default_value": "1" + }, + { + "column_name": "key", + "column_type": "INT64", + "is_nullable": false, + "comment": "range partition column" + }, + { + "column_name": "name", + "column_type": "STRING", + "is_nullable": false, + "comment": "user name" + } + ], + "key_column_names": ["id", "key"] + }, + "partition": { + "hash_partitions": [{"columns": ["id"], "num_buckets": 2, "seed": 8}], + "range_partition": { + "columns": ["key"], + "range_bounds": [ + { + "lower_bound": {"bound_type": "inclusive", "bound_values": ["2"]}, + "upper_bound": {"bound_type": "exclusive", "bound_values": ["3"]} + }, + { + "lower_bound": {"bound_type": "inclusive", "bound_values": ["3"]} + } + ] + } + }, + "extra_configs": { + "configs": { "kudu.table.history_max_age_sec": "3600" } + }, + "comment": "a test table", + "num_replicas": 3 +}'
    +Usage:
    +kudu table create <master_addresses> <create_table_json> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    create_table_json

    JSON object for creating table

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    delete_column: Delete a column 

    +
    +

    Usage:
    +kudu table delete_column <master_addresses> <table_name> <column_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to delete

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    delete: Delete a table 

    +
    +

    Usage:
    +kudu table delete <master_addresses> <table_name> [-nomodify_external_catalogs] [-reserve_seconds=<seconds>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to delete

    string

    none

    modify_external_catalogs (optional)

    Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.

    bool

    true

    reserve_seconds (optional)

    Grace period before purging a soft-deleted table, in seconds. If set to 0, it would be purged when a table is dropped/deleted.

    int32

    -1

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    describe: Describe a table 

    +
    +

    Usage:
    +kudu table describe <master_addresses> <table_name> [-show_attributes] [-show_column_comment] [-show_avro_format_schema] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to describe

    string

    none

    show_attributes (optional)

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    bool

    false

    show_column_comment (optional)

    Whether to show column comment.

    bool

    false

    show_avro_format_schema (optional)

    Display the table schema in avro format. When enabled it only outputs the table schema in Avro format without any other information like partition/owner/comments. It cannot be used in conjunction with other flags

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    drop_range_partition: Drop a range partition of table 

    +
    +

    Usage:
    +kudu table drop_range_partition <master_addresses> <table_name> <table_range_lower_bound> <table_range_upper_bound> [-lower_bound_type=<type>] [-upper_bound_type=<type>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table

    string

    none

    table_range_lower_bound

    String representation of lower bound of the table range partition as a JSON array

    string

    none

    table_range_upper_bound

    String representation of upper bound of the table range partition as a JSON array

    string

    none

    lower_bound_type (optional)

    The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.

    string

    INCLUSIVE_BOUND

    upper_bound_type (optional)

    The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.

    string

    EXCLUSIVE_BOUND

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    get_extra_configs: Get the extra configuration properties for a table 

    +
    +

    Usage:
    +kudu table get_extra_configs <master_addresses> <table_name> [-config_names=<names>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table for which to get extra configurations

    string

    none

    config_names (optional)

    Comma-separated list of configurations to display. An empty value displays all configs.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List tables 

    +
    +

    Usage:
    +kudu table list <master_addresses> [-soft_deleted_only] [-tables=<tables>] [-list_tablets] [-show_tablet_partition_info] [-show_hash_partition_info] [-show_table_info] [-list_table_output_format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    soft_deleted_only (optional)

    Show only soft-deleted tables if set true, otherwise show regular tables.

    bool

    false

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    list_tablets (optional)

    Include tablet and replica UUIDs in the output

    bool

    false

    show_tablet_partition_info (optional)

    Include partition keys information corresponding to tablet in the output.

    bool

    false

    show_hash_partition_info (optional)

    Include hash partition keys information corresponding to tablet in the output.

    bool

    false

    show_table_info (optional)

    Include extra information such as number of tablets, replicas, and live row count for a table in the output

    bool

    false

    list_table_output_format (optional)

    One of 'json', 'json_compact' or 'pretty'. Pretty output flattens the table list hierarchy.

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    locate_row: Locate which tablet a row belongs to 

    +
    +

    Provide the primary key as a JSON array of primary key values, e.g. '[1, "foo", 2, "bar"]'. The output will be the tablet id associated with the row key. If there is no such tablet, an error message will be printed and the command will return a non-zero status
    +Usage:
    +kudu table locate_row <master_addresses> <table_name> <primary_key> [-check_row_existence] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to look up against

    string

    none

    primary_key

    String representation of the row’s primary key as a JSON array

    string

    none

    check_row_existence (optional)

    Also check for the existence of the row on the leader replica of the tablet. If found, the full row will be printed; if not found, an error message will be printed and the command will return a non-zero status.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    recall: Recall a deleted but still reserved table 

    +
    +

    Usage:
    +kudu table recall <master_addresses> <table_id> [-new_table_name=<name>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_id

    ID of the table to recall

    string

    none

    new_table_name (optional)

    The new name for the recalled table. Leave empty to recall the table under its original name.

    string

    none

    +
    +


    +
    +
    +
    +

    rename_column: Rename a column 

    +
    +

    Usage:
    +kudu table rename_column <master_addresses> <table_name> <column_name> <new_column_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to rename

    string

    none

    new_column_name

    New column name

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    rename_table: Rename a table 

    +
    +

    Usage:
    +kudu table rename_table <master_addresses> <table_name> <new_table_name> [-nomodify_external_catalogs] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to rename

    string

    none

    new_table_name

    New table name

    string

    none

    modify_external_catalogs (optional)

    Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    scan: Scan rows from a table 

    +
    +

    Scan rows from an existing table. See the help for the --predicates flag on how predicates can be specified.
    +Usage:
    +kudu table scan <master_addresses> <table_name> [-columns=<columns>] [-row_count_only] [-report_scanner_stats] [-scan_batch_size=<size>] [-fault_tolerant] [-nofill_cache] [-num_threads=<threads>] [-predicates=<predicates>] [-tablets=<tablets>] [-replica_selection=<selection>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to scan

    string

    none

    columns (optional)

    Comma-separated list of column fields to include in output tables

    string

    uuid,rpc-addresses,role

    row_count_only (optional)

    Whether to only count rows instead of reading row cells: yields an empty projection for the table

    bool

    false

    report_scanner_stats (optional)

    Whether to report scanner statistics

    bool

    false

    scan_batch_size (optional)

    The size for scan results batches, in bytes. A negative value means the server-side default is used, where the server-side default is controlled by the tablet server’s --scanner_default_batch_size_bytes flag.

    int32

    -1

    fault_tolerant (optional)

    Whether to make scans resumable at another tablet server if current server fails. Fault-tolerant scans typically have lower throughput than non fault-tolerant scans, but the results are returned in primary key order for a single tablet.

    bool

    false

    fill_cache (optional)

    Whether to fill block cache when scanning.

    bool

    true

    num_threads (optional)

    Number of threads to run.

    int32

    2

    predicates (optional)

    Query predicates on columns. Unlike traditional SQL syntax, the scan tool’s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'. + * The 'Comparison' type support ⇐, <, =, > and >=, + which can be represented as '[operator, column_name, value]', + e.g. '[">=", "col1", "value"]' + * The 'InList' type can be represented as + '["IN", column_name, [value1, value2, …​]]' + e.g. '["IN", "col2", ["value1", "value2"]]' + * The 'IsNull' type determine whether the value is NULL or not, + which can be represented as '[operator, column_name]' + e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]' +Predicates can be combined together with predicate operators using the syntax + [operator, predicate, predicate, …​, predicate]. +For example, + ["AND", [">=", "col1", "value"], ["NOTNULL", "col2"]] +The only supported predicate operator is AND.

    string

    none

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    replica_selection (optional)

    Replica selection for scan operations. Acceptable values are: CLOSEST, LEADER (maps into KuduClient::CLOSEST_REPLICA and KuduClient::LEADER_ONLY correspondingly).

    string

    CLOSEST

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_comment: Set the comment for a table 

    +
    +

    Usage:
    +kudu table set_comment <master_addresses> <table_name> <column_comment> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_comment

    Comment of the table

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_extra_config: Change a extra configuration value on a table 

    +
    +

    Usage:
    +kudu table set_extra_config <master_addresses> <table_name> <config_name> <config_value> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    config_name

    Name of the configuration

    string

    none

    config_value

    New value for the configuration

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_replication_factor: Change a table’s replication factor 

    +
    +

    Usage:
    +kudu table set_replication_factor <master_addresses> <table_name> <replication_factor> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    replication_factor

    New replication factor of the table

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    statistics: Get table statistics 

    +
    +

    Usage:
    +kudu table statistics <master_addresses> <table_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to get statistics

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_limit: Set the write limit for a table

    +
    +


    +
    +
    +

    disk_size: Set the disk size limit 

    +
    +

    Usage:
    +kudu table set_limit disk_size <master_addresses> <table_name> <disk_size> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to set limit

    string

    none

    disk_size

    The disk size limit, 'unlimited' for no write limit

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    row_count: Set the row count limit 

    +
    +

    Usage:
    +kudu table set_limit row_count <master_addresses> <table_name> <row_count> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to set limit

    string

    none

    row_count

    The row count limit, 'unlimited' for no write limit

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +
    +

    tablet: Operate on remote Kudu tablets

    +
    +
    +


    +
    +
    +

    leader_step_down: Change the tablet’s leader 

    +
    +

    Usage:
    +kudu tablet leader_step_down <master_addresses> <tablet_id> [-abrupt] [-new_leader_uuid=<uuid>] [-current_leader_uuid=<uuid>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    abrupt (optional)

    Whether the leader should step down without attempting to transfer leadership gracefully. A graceful transfer minimizes delays in tablet operations, but will fail if the tablet cannot arrange a successor.

    bool

    false

    new_leader_uuid (optional)

    UUID of the server that leadership should be transferred to. Leadership may only be transferred to a voting member of the leader’s active config. If the designated successor cannot catch up to the leader within one election timeout, leadership transfer will not occur. If blank, the leader chooses its own successor, attempting to transfer leadership as soon as possible. This cannot be set if --abrupt is set.

    string

    none

    current_leader_uuid (optional)

    UUID of the server that currently hosts leader replica of the tablet.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    unsafe_replace_tablet: Replace a tablet with an empty one, deleting the previous tablet. 

    +
    +

    Use this tool to repair a table when one of its tablets has permanently lost all of its replicas. It replaces the unrecoverable tablet with a new empty one representing the same partition. Its primary use is to jettison an unrecoverable tablet in order to make the rest of the table available.

    +
    +
    + + + + + +
    + + +The original tablet will be deleted. Its data will be permanently lost. Additionally, clients should be restarted before attempting to use the repaired table (see KUDU-2376).
    +Usage:
    +kudu tablet unsafe_replace_tablet <master_addresses> <tablet_id> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments: +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    change_config: Change a tablet’s Raft configuration

    +
    +


    +
    +
    +

    add_replica: Add a new replica to a tablet’s Raft configuration 

    +
    +

    Usage:
    +kudu tablet change_config add_replica <master_addresses> <tablet_id> <ts_uuid> <replica_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    ts_uuid

    UUID of the tablet server that should host the new replica

    string

    none

    replica_type

    New replica’s type. Must be VOTER or NON_VOTER.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    change_replica_type: Change the type of an existing replica in a tablet’s Raft configuration 

    +
    +

    Usage:
    +kudu tablet change_config change_replica_type <master_addresses> <tablet_id> <ts_uuid> <replica_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    ts_uuid

    UUID of the tablet server hosting the existing replica

    string

    none

    replica_type

    Existing replica’s new type. Must be VOTER or NON_VOTER.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    move_replica: Move a tablet replica from one tablet server to another 

    +
    +

    The replica move tool effectively moves a replica from one tablet server to another by adding a replica to the new server and then removing it from the old one. It requires that ksck return no errors when run against the target tablet. If the move fails, the user should wait for any tablet copy to complete, and, if the copy succeeds, use remove_replica manually. If the copy fails, the new replica will be deleted automatically after some time, and then the move can be retried.
    +Usage:
    +kudu tablet change_config move_replica <master_addresses> <tablet_id> <from_ts_uuid> <to_ts_uuid> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    from_ts_uuid

    UUID of the tablet server to move from

    string

    none

    to_ts_uuid

    UUID of the tablet server to move to

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    remove_replica: Remove an existing replica from a tablet’s Raft configuration 

    +
    +

    Usage:
    +kudu tablet change_config remove_replica <master_addresses> <tablet_id> <ts_uuid> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    ts_uuid

    UUID of the tablet server hosting the existing replica

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +
    +

    test: Various test actions

    +
    +
    +


    +
    +
    +

    mini_cluster: Spawn a control shell for running a mini-cluster 

    +
    +

    The protocol for the control shell is protobuf-based and is documented in src/kudu/tools/tool.proto. It is currently considered to be highly experimental and subject to change.

    +
    +
    +

    Example JSON input to create and start a cluster: + {"createCluster":{"numTservers":3}} + {"startCluster":{}} +
    +Usage:
    +kudu test mini_cluster [-serialization=<serialization>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    serialization (optional)

    Serialization method to be used by the control shell. Valid values are 'json' (protobuf serialized into JSON and terminated with a newline character) or 'pb' (four byte protobuf message length in big endian followed by the protobuf message itself).

    string

    json

    +
    +


    +
    +
    +
    +
    +
    +

    txn: Operate on multi-row transactions

    +
    +
    +


    +
    +
    +

    list: Show details of multi-row transactions in the cluster 

    +
    +

    Usage:
    +kudu txn list <master_addresses> [-columns=<columns>] [-max_txn_id=<id>] [-min_txn_id=<id>] [-included_states=<states>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of transaction-related info fields to include in the output. +Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime

    string

    txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime

    max_txn_id (optional)

    Inclusive maximum transaction ID to display, or -1 for no maximum.

    int64

    -1

    min_txn_id (optional)

    Inclusive minimum transaction ID to display, or -1 for no minimum.

    int64

    -1

    included_states (optional)

    Comma-separated list of transaction states to display. Supported states are 'open', 'abort_in_progress', 'aborted', 'commit_in_progress', 'finalize_in_progress', and 'committed', or '*' for all states. By default, shows currently active transactions.

    string

    open,abort_in_progress,commit_in_progress,finalize_in_progress

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    show: Show details of a specific transaction 

    +
    +

    Usage:
    +kudu txn show <master_addresses> <txn_id> [-columns=<columns>] [-timeout_ms=<ms>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    txn_id

    Transaction ID on which to operate

    string

    none

    columns (optional)

    Comma-separated list of transaction-related info fields to include in the output. +Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime, participant_tablet_id, participant_is_aborted, participant_flushed_committed_mrs, participant_begin_commit_datetime, participant_begin_commit_hybridtime, participant_commit_datetime, participant_commit_hybridtime

    string

    txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime,participant_tablet_id,participant_begin_commit_datetime,participant_commit_datetime

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    tserver: Operate on a Kudu Tablet Server

    +
    +
    +


    +
    +
    +

    dump_memtrackers: Dump the memtrackers from a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver dump_memtrackers <tserver_address> [-format=<format>] [-memtracker_output=<output>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    memtracker_output (optional)

    One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.

    string

    table

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    get_flags: Get the gflags for a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver get_flags <tserver_address> [-all_flags] [-flags=<flags>] [-flag_tags=<tags>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    all_flags (optional)

    Whether to return all flags, or only flags that were explicitly set.

    bool

    false

    flags (optional)

    Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.

    string

    none

    flag_tags (optional)

    Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    run: Run a Kudu Tablet Server 

    +
    +

    Note: The tablet server is started in this process and runs until interrupted.

    +
    +
    +

    The most common configuration flags are described below. For all the configuration options pass --helpfull or see https://kudu.apache.org/docs/configuration_reference.html#kudu-tserver_supported
    +Usage:
    +kudu tserver run [-tserver_master_addrs=<addrs>] [-fs_wal_dir=<dir>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-block_cache_capacity_mb=<mb>] [-memory_limit_hard_bytes=<bytes>] [-log_dir=<dir>] [-logtostderr] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_master_addrs (optional)

    Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag — configure the masters separately using 'rpc_bind_addresses'.

    string

    127.0.0.1:7051

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    block_cache_capacity_mb (optional)

    block cache capacity in MB

    int64

    512

    memory_limit_hard_bytes (optional)

    Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.

    int64

    0

    log_dir (optional)

    If specified, logfiles are written into this directory instead of the default logging directory.

    string

    none

    logtostderr (optional)

    log messages go to stderr instead of logfiles

    bool

    false

    +
    +


    +
    +
    +
    +

    set_flag: Change a gflag value on a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver set_flag <tserver_address> <flag> <value> [-force] [-norun_consistency_check] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    run_consistency_check (optional)

    If true, Kudu server checks all flags for consistency upon setting a flag. In this mode, the server rolls the flag back to its previous value and sends corresponding error response if an inconsistency is detected.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_flag_for_all: Change a gflag value for all Kudu Tablet Servers in the cluster 

    +
    +

    Usage:
    +kudu tserver set_flag_for_all <master_addresses> <flag> <value> [-force] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    status: Get the status of a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver status <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    timestamp: Get the current timestamp of a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver timestamp <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List tablet servers in a Kudu cluster 

    +
    +

    Usage:
    +kudu tserver list <master_addresses> [-columns=<columns>] [-format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of tserver info fields to include in output. +Possible values: uuid, rpc-addresses, http-addresses, version, seqno, heartbeat, start_time, state

    string

    uuid,rpc-addresses

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    unregister: Unregister a tablet server from the master’s in-memory state and system catalog. 

    +
    +

    Usage:
    +kudu tserver unregister <master_addresses> <tserver_uuid> [-force_unregister_live_tserver] [-noremove_tserver_state] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tserver_uuid

    UUID of a Kudu Tablet Server

    string

    none

    force_unregister_live_tserver (optional)

    If true, force the unregistration of the tserver even if it is not presumed dead by the master. Make sure the tserver has been shut down before setting this true.

    bool

    false

    remove_tserver_state (optional)

    If false, remove the tserver from the master’s in-memory map but keep its persisted state (if any). If the same tserver re-registers on the master it will get its original state

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    quiesce: Operate on the quiescing state of a Kudu Tablet Server.

    +
    +


    +
    +
    +

    status: Output information about the quiescing state of a Tablet Server. 

    +
    +

    Usage:
    +kudu tserver quiesce status <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    start: Start quiescing the given Tablet Server. While a Tablet Server is quiescing, Tablet replicas on it will no longer attempt to become leader, and new scan requests will be retried at other servers. 

    +
    +

    Usage:
    +kudu tserver quiesce start <tserver_address> [-error_if_not_fully_quiesced] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    error_if_not_fully_quiesced (optional)

    If true, the command to start quiescing will return an error if the tserver is not fully quiesced, i.e. there are still tablet leaders or active scanners on it.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    stop: Stop quiescing a Tablet Server. 

    +
    +

    Usage:
    +kudu tserver quiesce stop <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +

    state: Operate on the state of a Kudu Tablet Server

    +
    +


    +
    +
    +

    enter_maintenance: Begin maintenance on the Tablet Server. While under maintenance, downtime of the Tablet Server will not lead to the immediate re-replication of its tablet replicas. 

    +
    +

    Usage:
    +kudu tserver state enter_maintenance <master_addresses> <tserver_uuid> [-allow_missing_tserver] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tserver_uuid

    UUID of a Kudu Tablet Server

    string

    none

    allow_missing_tserver (optional)

    If true, performs the action on the tserver even if it has not been registered with the master and has no existing tserver state records associated with it.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    exit_maintenance: End maintenance of the Tablet Server. 

    +
    +

    Usage:
    +kudu tserver state exit_maintenance <master_addresses> <tserver_uuid> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tserver_uuid

    UUID of a Kudu Tablet Server

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +
    +

    wal: Operate on WAL (write-ahead log) files

    +
    +
    +


    +
    +
    +

    dump: Dump a WAL (write-ahead log) file 

    +
    +

    Usage:
    +kudu wal dump <path> [-print_entries=<entries>] [-noprint_meta] [-truncate_data=<data>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path

    path to WAL file

    string

    none

    print_entries (optional)

    How to print entries: + false|0|no = don’t print + true|1|yes|decoded = print them decoded + pb = print the raw protobuf + id = print only their ids

    string

    decoded

    print_meta (optional)

    Include metadata in output

    bool

    true

    truncate_data (optional)

    Truncate the data fields to the given number of bytes before printing. Set to 0 to disable

    int32

    100

    +
    +


    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/command_line_tools_reference.html b/releases/1.17.1/docs/command_line_tools_reference.html new file mode 100644 index 0000000000..6fd2864dbc --- /dev/null +++ b/releases/1.17.1/docs/command_line_tools_reference.html @@ -0,0 +1,8074 @@ +--- +title: Apache Kudu Command Line Tools Reference +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    Apache Kudu Command Line Tools Reference

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    Command Hierarchy

    +
    +
    + +
    +
    +
    +
    +

    Command Details

    +
    +
    +

    cluster: Operate on a Kudu cluster

    +
    +


    +
    +
    +

    ksck: Check the health of a Kudu cluster 

    +
    +

    By default, ksck checks that master and tablet server processes are running, and that table metadata is consistent. Use the 'checksum' flag to check that tablet data is consistent (also see the 'tables' and 'tablets' flags). Use the 'checksum_snapshot' along with 'checksum' if the table or tablets are actively receiving inserts or updates. Use the 'ksck_format' flag to output detailed information on cluster status even if no inconsistency is found in metadata.
    +Usage:
    +kudu cluster ksck <master_addresses> [-checksum_cache_blocks] [-checksum_scan] [-checksum_scan_concurrency=<concurrency>] [-nochecksum_snapshot] [-checksum_timeout_sec=<sec>] [-color=<color>] [-noconsensus] [-fetch_info_concurrency=<concurrency>] [-flags_categories_to_check=<check>] [-ksck_format=<format>] [-noquiescing_info] [-sections=<sections>] [-tables=<tables>] [-tablets=<tablets>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    checksum_cache_blocks (optional)

    Should the checksum scanners cache the read blocks.

    bool

    false

    checksum_scan (optional)

    Perform a checksum scan on data in the cluster.

    bool

    false

    checksum_scan_concurrency (optional)

    Number of concurrent checksum scans to execute per tablet server.

    int32

    4

    checksum_snapshot (optional)

    Should the checksum scanner use a snapshot scan?

    bool

    true

    checksum_timeout_sec (optional)

    Maximum total seconds to wait for a checksum scan to complete before timing out.

    int32

    86400

    color (optional)

    Specifies whether output should be colorized. The default value 'auto' colorizes output if the output is a terminal. The other valid values are 'always' or 'never'.

    string

    auto

    consensus (optional)

    Whether to check the consensus state from each tablet against the master.

    bool

    true

    fetch_info_concurrency (optional)

    Number of threads to fetch info concurrently.

    int32

    20

    flags_categories_to_check (optional)

    Comma-separated list of flag categories to check for divergence across the cluster; default is time_source; available categories are time_source, unusual.

    string

    time_source

    ksck_format (optional)

    Output format for ksck. Available options are 'plain_concise', 'plain_full', 'json_pretty', and 'json_compact'. +'plain_concise' format is plain text, omitting most information about healthy tablets. +'plain_full' is plain text with all results included. +'json_pretty' produces pretty-printed json. +'json_compact' produces json suitable for parsing by other programs. +'json_pretty' and 'json_compact' differ in format, not content.

    string

    plain_concise

    quiescing_info (optional)

    Whether to display the quiescing-related information of each tablet server, e.g. number of tablet leaders per server, the number of active scanners per server.

    bool

    true

    sections (optional)

    Sections to print (comma-separated list of sections, available sections are: MASTER_SUMMARIES, TSERVER_SUMMARIES, VERSION_SUMMARIES, TABLET_SUMMARIES, TABLE_SUMMARIES, SYSTEM_TABLE_SUMMARIES, CHECKSUM_RESULTS and TOTAL_COUNT.) If not specified, print all sections.

    string

    *

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    rebalance: Move tablet replicas between tablet servers to balance replica counts for each table and for the cluster as a whole. 

    +
    +

    The rebalancing tool moves tablet replicas between tablet servers, in the same manner as the 'kudu tablet change_config move_replica' command, attempting to balance the count of replicas per table on each tablet server, and after that attempting to balance the total number of replicas per tablet server.
    +Usage:
    +kudu cluster rebalance <master_addresses> [-disable_cross_location_rebalancing] [-disable_intra_location_rebalancing] [-disable_policy_fixer] [-fetch_info_concurrency=<concurrency>] [-force_rebalance_replicas_on_maintenance_tservers] [-ignored_tservers=<tservers>] [-intra_location_rebalancing_concurrency=<concurrency>] [-load_imbalance_threshold=<threshold>] [-max_moves_per_server=<server>] [-max_run_time_sec=<sec>] [-max_staleness_interval_sec=<sec>] [-move_replicas_from_ignored_tservers] [-move_single_replicas=<replicas>] [-output_replica_distribution_details] [-enable_range_rebalancing] [-report_only] [-tables=<tables>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    disable_cross_location_rebalancing (optional)

    In case of multi-location cluster, whether to move tablet replicas between locations in attempt to spread tablet replicas among location evenly (equalizing loads of locations throughout the cluster). This setting is applicable to multi-location clusters only.

    bool

    false

    disable_intra_location_rebalancing (optional)

    In case of multi-location cluster, whether to rebalance tablet replica distribution within each location. This setting is applicable to multi-location clusters only.

    bool

    false

    disable_policy_fixer (optional)

    In case of multi-location cluster, whether to detect and fix placement policy violations. Fixing placement policy violations involves moving tablet replicas across different locations of the cluster. This setting is applicable to multi-location clusters only.

    bool

    false

    fetch_info_concurrency (optional)

    Number of threads to fetch info concurrently.

    int32

    20

    force_rebalance_replicas_on_maintenance_tservers (optional)

    This flag only takes effect in the case that some tservers are set maintenance mode but not specified in 'ignored_tservers'. If set true, the tool would rebalance all known replicas among all known tservers. The side effect of this is new replicas may be moved to maintenance tservers which are likely to be restarted or decommissioned soon. It is generally more recommended to specify all maintenance tservers in 'ignored_tservers', so that the rebalancer tool would ignore these tservers' states and replicas on them when planning replica moves.

    bool

    false

    ignored_tservers (optional)

    UUIDs of tablet servers to ignore while rebalancing the cluster (comma-separated list). If specified, the tablet servers are effectively ignored by the rebalancer tool, they are not considered as a part of the cluster as well as the replicas on them. If not specified, the rebalancer tool will run on all the tablet servers in the cluster.

    string

    none

    intra_location_rebalancing_concurrency (optional)

    How many independent intra-location rebalancing sessions can be run in parallel. Since the location assignment naturally provides non-intersecting sets of servers, it’s possible to independently move tablet replicas within different locations in parallel. Value of 0 means 'the number of CPU cores'. The actual number of concurrent sessions is the minimum of two values: this setting and the number of locations in a cluster.

    uint32

    0

    load_imbalance_threshold (optional)

    The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …​) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.

    double

    1

    max_moves_per_server (optional)

    Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.

    uint32

    5

    max_run_time_sec (optional)

    Maximum time to run the rebalancing, in seconds. Specifying 0 means not imposing any limit on the rebalancing run time.

    int64

    0

    max_staleness_interval_sec (optional)

    Maximum duration of the 'staleness' interval, when the rebalancer cannot make any progress in scheduling new moves and no prior scheduled moves are left, even if re-synchronizing against the cluster’s state again and again. Such a staleness usually happens in case of a persistent problem with the cluster or when some unexpected concurrent activity is present (such as automatic recovery of failed replicas, etc.)

    uint32

    300

    move_replicas_from_ignored_tservers (optional)

    Whether to move replicas from the specified 'ignored_tservers' to other servers when the source tablet server is healthy. This setting is effective only if the '--ignored_tservers' flag is specified as well. If set true, then all ignored tablet servers must be placed into the 'maintenance mode'.

    bool

    false

    move_single_replicas (optional)

    Whether to move single replica tablets (i.e. replicas of tablets of replication factor 1). Acceptable values are: 'auto', 'enabled', 'disabled'. The value of 'auto' means turn it on/off depending on the replica management scheme and Kudu version.

    string

    auto

    output_replica_distribution_details (optional)

    Whether to output details on per-table and per-server replica distribution

    bool

    false

    enable_range_rebalancing (optional)

    Whether to enable table range rebalancing

    bool

    false

    report_only (optional)

    Whether to report on table- and cluster-wide replica distribution skew and exit without doing any actual rebalancing

    bool

    false

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +

    diagnose: Diagnostic tools for Kudu servers and clusters

    +
    +


    +
    +
    +

    parse_stacks: Parse sampled stack traces out of a diagnostics log 

    +
    +

    Usage:
    +kudu diagnose parse_stacks <path>…​ +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path…​

    Path(s) to log file(s) to parse, separated by a whitespace, if many

    string

    none

    +
    +


    +
    +
    +
    +

    parse_metrics: Parse metrics out of a diagnostics log 

    +
    +

    Usage:
    +kudu diagnose parse_metrics <path>…​ [-tablet_ids=<ids>] [-simple_metrics=<metrics>] [-rate_metrics=<metrics>] [-histogram_metrics=<metrics>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path…​

    Path(s) to log file(s) to parse, separated by a whitespace, if many

    string

    none

    tablet_ids (optional)

    comma-separated list of tablet identifiers to aggregate tablet metrics across; defaults to aggregating all tablets

    string

    none

    simple_metrics (optional)

    comma-separated list of metrics to parse, of the format <entity>.<metric name>[:<display name>], where <entity> must be one of 'server', 'table', or 'tablet', and <metric name> refers to the metric name; <display name> is optional and stands for the column name/tag that the metric is output with

    string

    none

    rate_metrics (optional)

    comma-separated list of metrics to compute the rates of

    string

    none

    histogram_metrics (optional)

    comma-separated list of histogram metrics to parse percentiles for

    string

    none

    +
    +


    +
    +
    +
    +
    +

    fs: Operate on a local Kudu filesystem

    +
    +


    +
    +
    +

    check: Check a Kudu filesystem for inconsistencies 

    +
    +

    Usage:
    +kudu fs check [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-repair] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    repair (optional)

    Repair any inconsistencies in the filesystem.

    bool

    false

    +
    +


    +
    +
    +
    +

    format: Format a new Kudu filesystem 

    +
    +

    Usage:
    +kudu fs format [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-uuid=<uuid>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    uuid (optional)

    The uuid to use in the filesystem. If not provided, one is generated

    string

    none

    +
    +


    +
    +
    +
    +

    list: List metadata for on-disk tablets, rowsets, blocks, and cfiles 

    +
    +

    This tool is useful for discovering and gathering information about on-disk data. Many field types can be added to the results with the --columns flag, and results can be filtered to a specific table, tablet, rowset, column, or block through flags.

    +
    +
    +

    Note: adding any of the 'cfile' fields to --columns will cause the tool to read on-disk metadata for each CFile in the result set, which could require large amounts of I/O when many results are returned.
    +Usage:
    +kudu fs list [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-table_id=<id>] [-table_name=<name>] [-tablet_id=<id>] [-rowset_id=<id>] [-column_id=<id>] [-block_id=<id>] [-columns=<columns>] [-format=<format>] [-noh] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    table_id (optional)

    Restrict output to a specific table by id

    string

    none

    table_name (optional)

    Restrict output to a specific table by name

    string

    none

    tablet_id (optional)

    Restrict output to a specific tablet

    string

    none

    rowset_id (optional)

    Restrict output to a specific rowset

    int64

    -1

    column_id (optional)

    Restrict output to a specific column

    int32

    -1

    block_id (optional)

    Restrict output to a specific block

    uint64

    0

    columns (optional)

    Comma-separated list of fields to include in output. +Possible values: table, table-id, tablet-id, partition, rowset-id, block-id, block-kind, column, column-id, cfile-data-type, cfile-nullable, cfile-encoding, cfile-compression, cfile-num-values, cfile-size, cfile-incompatible-features, cfile-compatible-features, cfile-min-key, cfile-max-key, cfile-delta-stats

    string

    tablet-id, rowset-id, block-id, block-kind

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    h (optional)

    Pretty-print values in human-readable units

    bool

    true

    +
    +


    +
    +
    +
    +

    update_dirs: Updates the set of data directories in an existing Kudu filesystem 

    +
    +

    If a data directory is in use by a tablet and is removed, the operation will fail unless --force is also used. Starting with Kudu 1.12.0, it is not required to run this tool to add or remove directories. This tool is preserved for backwards compatibility
    +Usage:
    +kudu fs update_dirs [-force] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    force (optional)

    If true, permits the removal of a data directory that is configured for use by existing tablets. Those tablets will fail the next time the server is started

    bool

    false

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +

    dump: Dump a Kudu filesystem

    +
    +


    +
    +
    +
    block: Dump the binary contents of a data block 
    +
    +

    This performs no parsing or interpretation of the data stored in the block but rather outputs its binary contents directly.
    +Usage:
    +kudu fs dump block <block_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    block_id

    block identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    cfile: Dump the contents of a CFile (column file) 
    +
    +

    This interprets the contents of a CFile-formatted block and outputs the decoded row data.
    +Usage:
    +kudu fs dump cfile <block_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-noprint_meta] [-noprint_rows] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    block_id

    block identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    print_meta (optional)

    Include metadata in output

    bool

    true

    print_rows (optional)

    Print each row in the CFile

    bool

    true

    +
    +


    +
    +
    +
    +
    tree: Dump the tree of a Kudu filesystem 
    +
    +

    Usage:
    +kudu fs dump tree [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    uuid: Dump the UUID of a Kudu filesystem 
    +
    +

    Usage:
    +kudu fs dump uuid [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    +
    +

    hms: Operate on remote Hive Metastores

    +
    +


    +
    +
    +

    check: Check metadata consistency between Kudu and the Hive Metastore catalogs 

    +
    +

    Usage:
    +kudu hms check <master_addresses> [-hive_metastore_sasl_enabled] [-hive_metastore_uris=<uris>] [-noignore_other_clusters] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    hive_metastore_sasl_enabled (optional)

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.

    bool

    false

    hive_metastore_uris (optional)

    Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.

    string

    none

    ignore_other_clusters (optional)

    Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    downgrade: Downgrade the metadata to legacy format for Kudu and the Hive Metastores 

    +
    +

    Usage:
    +kudu hms downgrade <master_addresses> [-hive_metastore_sasl_enabled] [-hive_metastore_uris=<uris>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    hive_metastore_sasl_enabled (optional)

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.

    bool

    false

    hive_metastore_uris (optional)

    Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    fix: Fix automatically-repairable metadata inconsistencies in the Kudu and Hive Metastore catalogs 

    +
    +

    Usage:
    +kudu hms fix <master_addresses> [-dryrun] [-drop_orphan_hms_tables] [-nocreate_missing_hms_tables] [-nofix_inconsistent_tables] [-noupgrade_hms_tables] [-hive_metastore_sasl_enabled] [-hive_metastore_uris=<uris>] [-noignore_other_clusters] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    dryrun (optional)

    Print a message for each fix, but do not make modifications to Kudu or the Hive Metastore.

    bool

    false

    drop_orphan_hms_tables (optional)

    Drop orphan Hive Metastore tables which refer to non-existent Kudu tables.

    bool

    false

    create_missing_hms_tables (optional)

    Create a Hive Metastore table for each Kudu table which is missing one.

    bool

    true

    fix_inconsistent_tables (optional)

    Fix tables whose Kudu and Hive Metastore metadata differ. If the table name is different, the table is renamed in Kudu to match the HMS. If the columns or other metadata is different the HMS is updated to match Kudu.

    bool

    true

    upgrade_hms_tables (optional)

    Upgrade Hive Metastore tables from the legacy Impala metadata format to the new Kudu metadata format.

    bool

    true

    hive_metastore_sasl_enabled (optional)

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Only takes effect when --hive_metastore_uris is set, otherwise the configuration from the Kudu master is used. The configured value must match the the hive.metastore.sasl.enabled option in the Hive Metastore configuration.

    bool

    false

    hive_metastore_uris (optional)

    Address of the Hive Metastore instance(s). If not set, the configuration from the Kudu master is used, so this flag should not be overriden in typical situations. The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. The configured value must match the Hive hive.metastore.uris configuration.

    string

    none

    ignore_other_clusters (optional)

    Whether to ignore entirely separate Kudu clusters, as indicated by a different set of master addresses.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List the Kudu table HMS entries 

    +
    +

    Usage:
    +kudu hms list <master_addresses> [-columns=<columns>] [-format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of HMS entry fields to include in output. +Possible values: database, table, type, owner, comment, kudu.table_name, kudu.table_id, kudu.cluster_id, kudu.master_addresses, storage_handler

    string

    database,table,type,kudu.table_name

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    precheck: Check that the Kudu cluster is prepared to enable the Hive Metastore integration 

    +
    +

    Usage:
    +kudu hms precheck <master_addresses> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +

    local_replica: Operate on local tablet replicas via the local filesystem

    +
    +


    +
    +
    +

    copy_from_local: Copy tablet replicas from local filesystem. Before using this tool, you MUST stop the master/tserver you want to copy from, and make sure --src_*dir(s) and --dst*_dir(s) are exactly what whey should be. 

    +
    +

    Usage:
    +kudu local_replica copy_from_local <tablet_ids> [-src_fs_wal_dir=<dir>] [-src_fs_metadata_dir=<dir>] [-src_fs_data_dirs=<dirs>] [-dst_fs_wal_dir=<dir>] [-dst_fs_metadata_dir=<dir>] [-dst_fs_data_dirs=<dirs>] [-num_threads=<threads>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    src_fs_wal_dir (optional)

    Source: Directory with write-ahead logs.

    string

    none

    src_fs_metadata_dir (optional)

    Source: Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of --dst_fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, --dst_fs_wal_dir will be used as the metadata directory.

    string

    none

    src_fs_data_dirs (optional)

    Source: Comma-separated list of directories with data blocks. If this is not specified, --src_fs_wal_dir will be used as the sole data block directory.

    string

    none

    dst_fs_wal_dir (optional)

    Destination: Directory with write-ahead logs.

    string

    none

    dst_fs_metadata_dir (optional)

    Destination: Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of --dst_fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, --dst_fs_wal_dir will be used as the metadata directory.

    string

    none

    dst_fs_data_dirs (optional)

    Destination: Comma-separated list of directories with data blocks. If this is not specified, --dst_fs_wal_dir will be used as the sole data block directory.

    string

    none

    num_threads (optional)

    Number of threads to run.

    int32

    2

    +
    +


    +
    +
    +
    +

    copy_from_remote: Copy tablet replicas from a remote server 

    +
    +

    Usage:
    +kudu local_replica copy_from_remote <tablet_ids> <source> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-tablet_copy_download_threads_nums_per_session=<session>] [-num_threads=<threads>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    source

    Source RPC address of form hostname:port

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    tablet_copy_download_threads_nums_per_session (optional)

    Number of threads per tablet copy session for downloading tablet data blocks.

    int32

    4

    num_threads (optional)

    Number of threads to run.

    int32

    2

    +
    +


    +
    +
    +
    +

    data_size: Summarize the data size/space usage of the given local replica(s). 

    +
    +

    Usage:
    +kudu local_replica data_size <tablet_id_pattern> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-format=<format>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id_pattern

    Tablet identifier pattern. This argument supports basic glob syntax: '*' matches 0 or more wildcard characters.

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    +
    +


    +
    +
    +
    +

    delete: Delete tablet replicas from the local filesystem. By default, leaves a tombstone record upon replica removal. 

    +
    +

    Usage:
    +kudu local_replica delete <tablet_id_patterns> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-clean_unsafe] [-ignore_nonexistent] [-tables=<tables>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id_patterns

    Comma-separated list of Tablet identifier patterns. This argument supports basic glob syntax: '*' matches 0 or more wildcard characters.

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    clean_unsafe (optional)

    Delete the local replica completely, not leaving a tombstone. This is not guaranteed to be safe because it also removes the consensus metadata (including Raft voting record) for the specified tablet, which violates the Raft vote durability requirements.

    bool

    false

    ignore_nonexistent (optional)

    Whether to ignore non-existent tablet replicas when deleting: if set to 'true', the tool does not report an error if the requested tablet replica to remove is not found

    bool

    false

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    +
    +


    +
    +
    +
    +

    list: Show list of tablet replicas in the local filesystem 

    +
    +

    Usage:
    +kudu local_replica list [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-list_detail] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    list_detail (optional)

    Print partition info for the local replicas

    bool

    false

    +
    +


    +
    +
    +
    +

    cmeta: Operate on a local tablet replica’s consensus metadata file

    +
    +


    +
    +
    +
    print_replica_uuids: Print all tablet replica peer UUIDs found in a tablet’s Raft configuration 
    +
    +

    Usage:
    +kudu local_replica cmeta print_replica_uuids <tablet_ids> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    rewrite_raft_config: Rewrite a tablet replica’s Raft configuration 
    +
    +

    Usage:
    +kudu local_replica cmeta rewrite_raft_config <tablet_ids> <peers>…​ [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_ids

    Comma-separated list of Tablet Identifiers

    string

    none

    peers…​

    List of peers where each element is of form 'uuid:hostname:port', with elements of the list separated by a whitespace

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    set_term: Bump the current term stored in consensus metadata 
    +
    +

    Usage:
    +kudu local_replica cmeta set_term <tablet_id> <term> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    term

    the new raft term (must be greater than the current term)

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    +

    tmeta: Edit a local tablet metadata

    +
    +


    +
    +
    +
    delete_rowsets: Delete rowsets from a local replica. 
    +
    +

    The common usage pattern of this tool is described below. +That involves checking the result by a dry run of the tablet server with the modified tablet’s data after running the tool. It’s crucial to customize tablet server’s --enable_tablet_orphaned_block_deletion flag for the dry run to avoid deleting orphaned blocks, so it’s possible to roll back to the original state of the tablet’s data if something goes wrong. First, run the tool with default settings for --backup_metadata and --enable_tablet_orphaned_block_deletion to (a) create a backup of the original metadata file and (b) keep the orphaned blocks on the file system. Second, start the tablet server with --enable_tablet_orphaned_block_deletion=false to check whether the change worked as expected and the tablet server works fine with the new state of the tablet’s data. If it doesn’t work as expected, stop the tablet server (if still running), rollback the change by replacing the updated metadata file with the backup created earlier, and retry the procedure again, specifying proper rowset identifiers to the tool. If the change works as expected and the tablet server runs fine after with the updated tablet’s data, remove the customization for the --enable_tablet_orphaned_block_deletion flag and restart the tablet server.
    +Usage:
    +kudu local_replica tmeta delete_rowsets <tablet_id> <rowset_ids> [-nobackup_metadata] [-enable_tablet_orphaned_block_deletion] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    rowset_ids

    Comma-separated list of Rowset Identifiers

    string

    none

    backup_metadata (optional)

    Whether to backup tablet metadata file when editing it.

    bool

    true

    enable_tablet_orphaned_block_deletion (optional)

    Whether to enable deletion of orphaned blocks from disk. Note: This is only exposed for debugging purposes and used in CLI tools.

    bool

    false

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    +

    dump: Dump a Kudu filesystem

    +
    +


    +
    +
    +
    block_ids: Dump the IDs of all blocks belonging to a local replica 
    +
    +

    Usage:
    +kudu local_replica dump block_ids <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    data_dirs: Dump the data directories where the replica’s data is stored 
    +
    +

    Usage:
    +kudu local_replica dump data_dirs <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    meta: Dump the metadata of a local replica 
    +
    +

    Usage:
    +kudu local_replica dump meta <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    +
    +


    +
    +
    +
    +
    rowset: Dump the rowset contents of a local replica 
    +
    +

    Usage:
    +kudu local_replica dump rowset <tablet_id> [-nodump_all_columns] [-nodump_metadata] [-dump_primary_key_bounds_only] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-nrows=<nrows>] [-rowset_index=<index>] [-use_readable_format] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    dump_all_columns (optional)

    If true, dumped rows include all of the columns in the rowset. If false, dumped rows include just the key columns (in a comparable format).

    bool

    true

    dump_metadata (optional)

    If true, dumps rowset metadata before dumping data. If false, only dumps the data.

    bool

    true

    dump_primary_key_bounds_only (optional)

    Whether to dump rowset primary key bounds only, otherwise, dump all rows.

    bool

    false

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    nrows (optional)

    Number of rows to dump. If negative, dumps all rows.

    int64

    -1

    rowset_index (optional)

    Index of the rowset in local replica, default value(-1) will dump all the rowsets of the local replica

    int64

    -1

    use_readable_format (optional)

    Whether to dump primary key in human readable format, otherwise, dump primary key in comparable format.

    bool

    false

    +
    +


    +
    +
    +
    +
    wals: Dump all WAL (write-ahead log) segments of a local replica 
    +
    +

    Usage:
    +kudu local_replica dump wals <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-print_entries=<entries>] [-noprint_meta] [-truncate_data=<data>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    print_entries (optional)

    How to print entries: + false|0|no = don’t print + true|1|yes|decoded = print them decoded + pb = print the raw protobuf + id = print only their ids

    string

    decoded

    print_meta (optional)

    Include metadata in output

    bool

    true

    truncate_data (optional)

    Truncate the data fields to the given number of bytes before printing. Set to 0 to disable

    int32

    100

    +
    +


    +
    +
    +
    +
    +
    +

    master: Operate on a Kudu Master

    +
    +


    +
    +
    +

    dump_memtrackers: Dump the memtrackers from a Kudu Master 

    +
    +

    Usage:
    +kudu master dump_memtrackers <master_address> [-format=<format>] [-memtracker_output=<output>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    memtracker_output (optional)

    One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.

    string

    table

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    get_flags: Get the gflags for a Kudu Master 

    +
    +

    Usage:
    +kudu master get_flags <master_address> [-all_flags] [-flags=<flags>] [-flag_tags=<tags>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    all_flags (optional)

    Whether to return all flags, or only flags that were explicitly set.

    bool

    false

    flags (optional)

    Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.

    string

    none

    flag_tags (optional)

    Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    run: Run a Kudu Master 

    +
    +

    Note: The master server is started in this process and runs until interrupted.

    +
    +
    +

    The most common configuration flags are described below. For all the configuration options pass --helpfull or see https://kudu.apache.org/docs/configuration_reference.html#kudu-master_supported
    +Usage:
    +kudu master run [-master_addresses=<addresses>] [-fs_wal_dir=<dir>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-log_dir=<dir>] [-logtostderr] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses (optional)

    Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    log_dir (optional)

    If specified, logfiles are written into this directory instead of the default logging directory.

    string

    none

    logtostderr (optional)

    log messages go to stderr instead of logfiles

    bool

    false

    +
    +


    +
    +
    +
    +

    set_flag: Change a gflag value on a Kudu Master 

    +
    +

    Usage:
    +kudu master set_flag <master_address> <flag> <value> [-force] [-norun_consistency_check] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    run_consistency_check (optional)

    If true, Kudu server checks all flags for consistency upon setting a flag. In this mode, the server rolls the flag back to its previous value and sends corresponding error response if an inconsistency is detected.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_flag_for_all: Change a gflag value for all Kudu Masters in the cluster 

    +
    +

    Usage:
    +kudu master set_flag_for_all <master_addresses> <flag> <value> [-force] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    status: Get the status of a Kudu Master 

    +
    +

    Usage:
    +kudu master status <master_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    timestamp: Get the current timestamp of a Kudu Master 

    +
    +

    Usage:
    +kudu master timestamp <master_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List masters in a Kudu cluster 

    +
    +

    Usage:
    +kudu master list <master_addresses> [-columns=<columns>] [-format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of master info fields to include in output. +Possible values: uuid, cluster_id, rpc-addresses, http-addresses, version, seqno, start_time, role and member_type

    string

    uuid,rpc-addresses,role

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    add: Add a master to the Kudu cluster 

    +
    +

    This is an advanced command that orchestrates the workflow to bring up and add a new master to the Kudu cluster. It must be run locally on the new master being added and not on the leader master. This tool shuts down the new master after completion of the command regardless of whether the new master addition is successful. After the command completes successfully, user is expected to explicitly start the new master using the same flags as supplied to this tool.

    +
    +
    +

    Supply all the necessary flags to bring up the new master. The most common configuration flags used to bring up a master are described below. See "Kudu Configuration Reference" for all the configuration options that apply to a Kudu master.

    +
    +
    +

    Please refer to the Kudu administration documentation on "Migrating to Multiple Kudu Masters" for the complete steps.
    +Usage:
    +kudu master add <master_addresses> <master_address> [-wait_secs=<secs>] [-kudu_abs_path=<path>] [-fs_wal_dir=<dir>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-log_dir=<dir>] [-logtostderr] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    wait_secs (optional)

    Timeout in seconds to wait while retrying operations like bringing up new master, running ksck, waiting for the new master to be promoted as VOTER, etc. This flag is not passed to the new master.

    int64

    64

    kudu_abs_path (optional)

    Absolute file path of the 'kudu' executable used to bring up new master and other workflow steps. This flag is not passed to the new master.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    log_dir (optional)

    If specified, logfiles are written into this directory instead of the default logging directory.

    string

    none

    logtostderr (optional)

    log messages go to stderr instead of logfiles

    bool

    false

    +
    +


    +
    +
    +
    +

    remove: Remove a master from the Kudu cluster 

    +
    +

    Removes a master from the Raft configuration of the Kudu cluster.

    +
    +
    +

    Please refer to the Kudu administration documentation on "Removing Kudu Masters from a Multi-Master Deployment" or "Recovering from a dead Kudu Master in a Multi-Master Deployment" as appropriate.
    +Usage:
    +kudu master remove <master_addresses> <master_address> [-master_uuid=<uuid>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    master_address

    Address of a Kudu Master of form 'hostname:port'. Port may be omitted if the Master is bound to the default port.

    string

    none

    master_uuid (optional)

    Permanent UUID of the master. Only needed to disambiguate in case of multiple masters with same RPC address

    string

    none

    +
    +


    +
    +
    +
    +

    unsafe_rebuild: Rebuild a Kudu master from tablet server metadata 

    +
    +

    Attempts to create or update on-disk metadata that can be used by a non-replicated master to recover a Kudu cluster that has permanently lost its masters. It has a number of limitations:

    +
    +
    +
      +
    • +

      Security metadata like cryptographic keys are not rebuilt. Tablet servers and clients must be restarted before starting the new master in order to communicate with the new master.

      +
    • +
    • +

      Table IDs are known only by the masters. Reconstructed tables will have new IDs.

      +
    • +
    • +

      If a create, delete, or alter table was in progress when the masters were lost, it may not be possible to restore the table.

      +
    • +
    • +

      If all replicas of a tablet are missing, it may not be able to recover the table fully. Moreover, the rebuild tool cannot detect that a tablet is missing.

      +
    • +
    • +

      It’s not possible to determine the replication factor of a table from tablet server metadata. The rebuild tool sets the replication factor of each table to --default_num_replicas instead.

      +
    • +
    • +

      It’s not possible to determine the next column id for a table from tablet server metadata. Instead, the rebuilt tool sets the next column id to a very large number.

      +
    • +
    • +

      Table metadata like comments, owners, and configurations are not stored on tablet servers and are thus not restored.

      +
    • +
    • +

      Without '--tables', the tool will build a brand new syscatalog table based on tablet data on tablet server metadata.

      +
    • +
    • +

      With '--tables', the tool will update specific tables in current syscatalog.

      +
    • +
    +
    +
    + + + + + +
    + + +This tool is potentially unsafe. Only use it when there is no possibility of recovering the original masters, and you know what you are doing. +
    +Usage:
    +kudu master unsafe_rebuild <tserver_addresses>…​ [-default_num_replicas=<replicas>] [-default_schema_version=<version>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-tables=<tables>] +
    +Arguments: +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_addresses…​

    Address list of Kudu tablet servers of form 'hostname-0:port-0 hostname-1:port-1 …​ hostname-n:port-n'. Port may be omitted if the tablet server is bound to the default port.

    string

    none

    default_num_replicas (optional)

    Default number of replicas for tables that do not have the num_replicas set.

    int32

    3

    default_schema_version (optional)

    The table schema version assigned to tables if one cannot be determined automatically. When the tablet server version is < 1.16, a viable value can be determined manually using 'kudu pbc dump tablet-meta/<tablet-id>' on each server and taking the max value found across all tablets. In tablet server versions >= 1.16, Kudu will determine the proper value for each tablet automatically.

    uint32

    0

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    +
    +


    +
    +
    +
    +

    authz_cache: Operate on the authz caches of the Kudu Masters

    +
    +


    +
    +
    +
    refresh: Refresh the authorization policies 
    +
    +

    Usage:
    +kudu master authz_cache refresh <master_addresses> [-force] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    force (optional)

    Ignore mismatches of the specified and the actual lists of master addresses in the cluster

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    pbc: Operate on PBC (protobuf container) files

    +
    +


    +
    +
    +

    dump: Dump a PBC (protobuf container) file 

    +
    +

    Usage:
    +kudu pbc dump <path> [-debug] [-oneline] [-json] [-json_pretty] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path

    path to PBC file

    string

    none

    debug (optional)

    Print extra debugging information about each protobuf

    bool

    false

    oneline (optional)

    Print each protobuf on a single line

    bool

    false

    json (optional)

    Print protobufs in JSON format

    bool

    false

    json_pretty (optional)

    Print or edit protobufs in JSON pretty format

    bool

    false

    +
    +


    +
    +
    +
    +

    edit: Edit a PBC (protobuf container) file 

    +
    +

    Usage:
    +kudu pbc edit <path> [-nobackup] [-json] [-json_pretty] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path

    path to PBC file

    string

    none

    backup (optional)

    Write a backup file

    bool

    true

    json (optional)

    Print protobufs in JSON format

    bool

    false

    json_pretty (optional)

    Print or edit protobufs in JSON pretty format

    bool

    false

    +
    +


    +
    +
    +
    +
    +

    perf: Measure the performance of a Kudu cluster

    +
    +


    +
    +
    +

    loadgen: Run load generation with optional scan afterwards 

    +
    +

    Run load generation tool which inserts auto-generated data into an existing or auto-created table as fast as possible. If requested, also scan the inserted rows to check whether the actual count of inserted rows matches the expected one.
    +Usage:
    +kudu perf loadgen <master_addresses> [-auto_database=<database>] [-buffer_flush_watermark_pct=<pct>] [-buffer_size_bytes=<bytes>] [-buffers_num=<num>] [-error_buffer_size_bytes=<bytes>] [-flush_per_n_rows=<rows>] [-keep_auto_table] [-num_rows_per_thread=<thread>] [-num_threads=<threads>] [-run_cleanup] [-run_scan] [-seq_start=<start>] [-show_first_n_errors=<errors>] [-string_fixed=<fixed>] [-string_len=<len>] [-table_name=<name>] [-table_num_hash_partitions=<partitions>] [-table_num_range_partitions=<partitions>] [-table_num_replicas=<replicas>] [-txn_start] [-txn_commit] [-txn_rollback] [-nouse_client_per_thread] [-use_random] [-use_random_pk] [-use_random_non_pk] [-use_upsert] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    auto_database (optional)

    The database in which to create the automatically generated table. If --table_name is set, this flag has no effect, since a table is not created. This flag is useful primarily when the Hive Metastore integration is enabled in the cluster. If empty, no database is used.

    string

    default

    buffer_flush_watermark_pct (optional)

    Mutation buffer flush watermark, in percentage of total size.

    double

    0.5

    buffer_size_bytes (optional)

    Size of the mutation buffer, per session (bytes).

    int32

    4194304

    buffers_num (optional)

    Number of mutation buffers per session.

    int32

    2

    error_buffer_size_bytes (optional)

    Size of the error buffer, per session (bytes). 0 means 'unlimited'. This setting may impose an additional upper limit for the effective number of errors controlled by the '--show_first_n_errors' flag.

    int32

    16777216

    flush_per_n_rows (optional)

    Perform async flush per given number of rows added. Setting to non-zero implicitly turns on manual flush mode.

    int32

    0

    keep_auto_table (optional)

    If using the auto-generated table, enabling this option retains the table populated with the data after the test finishes. By default, the auto-generated table is dropped after successfully finishing the test. NOTE: this parameter has no effect if using already existing table (see the '--table_name' flag): neither the existing table nor its data is ever dropped/deleted.

    bool

    false

    num_rows_per_thread (optional)

    Number of rows each thread generates and inserts; -1 means unlimited. All rows generated by a thread are inserted in the context of the same session.

    int64

    1000

    num_threads (optional)

    Number of threads to run.

    int32

    2

    run_cleanup (optional)

    Whether to run post-insertion deletion to reset the existing table as before.

    bool

    false

    run_scan (optional)

    Whether to run post-insertion scan to verify that the count of the inserted rows matches the expected number. If enabled, the scan is run only if no errors were encountered while inserting the generated rows.

    bool

    false

    seq_start (optional)

    Initial value for the generator in sequential mode. This is useful when running multiple times against already existing table: for every next run, set this flag to (num_threads * num_rows_per_thread * column_num + seq_start).

    uint64

    0

    show_first_n_errors (optional)

    Output detailed information on the specified number of first n errors (if any). The limit on the per-session error buffer space may impose an additional upper limit for the effective number of errors in the output. If so, consider increasing the size of the error buffer using the '--error_buffer_size_bytes' flag.

    int32

    0

    string_fixed (optional)

    Pre-defined string to write into binary and string columns. Client generates more data per second using pre-defined string compared with auto-generated strings of the same length if run with the same CPU/memory configuration. If left empty, then auto-generated strings of length specified by the '--string_len' parameter are used instead.

    string

    none

    string_len (optional)

    Length of strings to put into string and binary columns. This parameter is not in effect if '--string_fixed' is specified.

    int32

    32

    table_name (optional)

    Name of an existing table to use for the test. The test will determine the structure of the table schema and populate it with data accordingly. If left empty, the test automatically creates a table of pre-defined columnar structure with unique name and uses it to insert auto-generated data. The auto-created table is dropped upon successful completion of the test if not overridden by the '--keep_auto_table' flag. If running the test against an already existing table, it’s recommended to use a dedicated table created just for testing purposes: the tool doesn’t delete the rows it inserted into the table. Neither the existing table nor its data is ever dropped/deleted.

    string

    none

    table_num_hash_partitions (optional)

    The number of hash partitions to create when this tool creates a new table. Note: The total number of partitions must be greater than 1.

    int32

    8

    table_num_range_partitions (optional)

    The number of range partitions to create when this tool creates a new table. A range partition schema will be determined to evenly split a sequential workload across ranges, leaving the outermost ranges unbounded to ensure coverage of the entire keyspace. Note: The total number of partitions must be greater than 1.

    int32

    1

    table_num_replicas (optional)

    The number of replicas for the auto-created table; 0 means 'use server-side default'.

    int32

    1

    txn_start (optional)

    Whether the generated rows are inserted in the context of a multi-row transaction. For now, only supported if configured to insert rows (i.e. UPDATE and DELETE are not yet supported). Unless --txn_commit or --txn_rollback is specified, the started transaction is left 'as is' (i.e. neither commit, nor rollback is performed) once the tool completes its operations.

    bool

    false

    txn_commit (optional)

    Whether to commit the multi-row transaction which contains all the inserted rows. Setting --txn_commit=true implies setting --txn_start=true as well.

    bool

    false

    txn_rollback (optional)

    Whether to rollback the multi-row transaction which contains all the inserted rows. Setting --txn_rollback=true implies setting --txn_start=true as well.

    bool

    false

    use_client_per_thread (optional)

    Use a separate KuduClient instance for each load-generating thread. This increases throughput by reducing contention on various Client internals.

    bool

    true

    use_random (optional)

    Whether to use random numbers instead of sequential ones for both primary keys and non-primary key columns. In case of using random numbers collisions are possible over the data for columns with unique constraint (e.g. primary key). This option has been deprecated, use '--use_random_pk' and/or '--use_random_non_pk' instead. If either '--use_random_pk' or '--use_random_non_pk' is specified with '--use_random' then this option will be ignored.

    bool

    false

    use_random_pk (optional)

    Whether to use random numbers instead of sequential ones for primary key columns. Using random numbers may cause collisions over primary key columns.

    bool

    false

    use_random_non_pk (optional)

    Whether to use random numbers instead of sequential ones for non-primary key columns.

    bool

    false

    use_upsert (optional)

    Whether to use UPSERT instead of INSERT to store the generated data into the table

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    table_scan: Show row count and scanning time cost of tablets in a table 

    +
    +

    Show row count and scanning time of tablets in a table. This can be useful to check for row count skew across different tablets, or whether there is a long latency tail when scanning different tables.
    +Usage:
    +kudu perf table_scan <master_addresses> <table_name> [-columns=<columns>] [-row_count_only] [-report_scanner_stats] [-scan_batch_size=<size>] [-fault_tolerant] [-nofill_cache] [-num_threads=<threads>] [-predicates=<predicates>] [-tablets=<tablets>] [-replica_selection=<selection>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to scan

    string

    none

    columns (optional)

    Comma-separated list of column fields to include in output tables

    string

    uuid,rpc-addresses,role

    row_count_only (optional)

    Whether to only count rows instead of reading row cells: yields an empty projection for the table

    bool

    false

    report_scanner_stats (optional)

    Whether to report scanner statistics

    bool

    false

    scan_batch_size (optional)

    The size for scan results batches, in bytes. A negative value means the server-side default is used, where the server-side default is controlled by the tablet server’s --scanner_default_batch_size_bytes flag.

    int32

    -1

    fault_tolerant (optional)

    Whether to make scans resumable at another tablet server if current server fails. Fault-tolerant scans typically have lower throughput than non fault-tolerant scans, but the results are returned in primary key order for a single tablet.

    bool

    false

    fill_cache (optional)

    Whether to fill block cache when scanning.

    bool

    true

    num_threads (optional)

    Number of threads to run.

    int32

    2

    predicates (optional)

    Query predicates on columns. Unlike traditional SQL syntax, the scan tool’s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'. + * The 'Comparison' type support ⇐, <, =, > and >=, + which can be represented as '[operator, column_name, value]', + e.g. '[">=", "col1", "value"]' + * The 'InList' type can be represented as + '["IN", column_name, [value1, value2, …​]]' + e.g. '["IN", "col2", ["value1", "value2"]]' + * The 'IsNull' type determine whether the value is NULL or not, + which can be represented as '[operator, column_name]' + e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]' +Predicates can be combined together with predicate operators using the syntax + [operator, predicate, predicate, …​, predicate]. +For example, + ["AND", [">=", "col1", "value"], ["NOTNULL", "col2"]] +The only supported predicate operator is AND.

    string

    none

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    replica_selection (optional)

    Replica selection for scan operations. Acceptable values are: CLOSEST, LEADER (maps into KuduClient::CLOSEST_REPLICA and KuduClient::LEADER_ONLY correspondingly).

    string

    CLOSEST

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    tablet_scan: Show row count of a local tablet 

    +
    +

    Usage:
    +kudu perf tablet_scan <tablet_id> [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-fs_wal_dir=<dir>] [-num_iters=<iters>] [-ordered_scan] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    num_iters (optional)

    Number of times to run the scan.

    int32

    1

    ordered_scan (optional)

    Whether to run an ordered or unordered scan.

    bool

    false

    +
    +


    +
    +
    +
    +
    +

    remote_replica: Operate on remote tablet replicas on a Kudu Tablet Server

    +
    +


    +
    +
    +

    check: Check if all tablet replicas on a Kudu tablet server are running. Tombstoned replica do not count as not running, because they are just records of the previous existence of a replica. 

    +
    +

    Usage:
    +kudu remote_replica check <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    copy: Copy a tablet replica from one Kudu Tablet Server to another 

    +
    +

    Usage:
    +kudu remote_replica copy <tablet_id> <src_address> <dst_address> [-force_copy] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tablet_id

    Tablet Identifier

    string

    none

    src_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    dst_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    force_copy (optional)

    Force the copy when the destination tablet server has this replica

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    delete: Delete a tablet replica from a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu remote_replica delete <tserver_address> <tablet_id> <reason> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    reason

    Reason for deleting the replica

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    dump: Dump the data of a tablet replica on a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu remote_replica dump <tserver_address> <tablet_id> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List all tablet replicas on a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu remote_replica list <tserver_address> [-noinclude_schema] [-table_name=<name>] [-tablets=<tablets>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    include_schema (optional)

    Whether to include the schema of each replica

    bool

    true

    table_name (optional)

    Restrict output to a specific table by name

    string

    none

    tablets (optional)

    Comma-separated list of tablet IDs used to filter the list of replicas

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    unsafe_change_config: Force the specified replica to adopt a new Raft config 

    +
    +

    This tool is useful when a config change is necessary because a tablet cannot make progress with its current Raft configuration (e.g. to evict followers when a majority is unavailable).

    +
    +
    +

    Note: The members of the new Raft config must be a subset of (or the same as) the members of the existing committed Raft config.
    +Usage:
    +kudu remote_replica unsafe_change_config <tserver_address> <tablet_id> <peer uuids>…​ [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    peer uuids…​

    List of peer uuids to be part of new config, separated by whitespace

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +

    table: Operate on Kudu tables

    +
    +


    +
    +
    +

    add_column: Add a column 

    +
    +

    Usage:
    +kudu table add_column <master_addresses> <table_name> <column_name> <data_type> [-encoding_type=<type>] [-compression_type=<type>] [-default_value=<value>] [-comment=<comment>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to add

    string

    none

    data_type

    Data Type, eg: INT8, INT16, INT32, INT64, STRING, BOOL, FLOAT, DOUBLE, BINARY, UNIXTIME_MICROS, DECIMAL, VARCHAR, TIMESTAMP, DATE

    string

    none

    encoding_type (optional)

    Type of encoding for the column including AUTO_ENCODING, PLAIN_ENCODING, PREFIX_ENCODING, RLE, DICT_ENCODING, BIT_SHUFFLE, GROUP_VARINT

    string

    AUTO_ENCODING

    compression_type (optional)

    Type of compression for the column including DEFAULT_COMPRESSION, NO_COMPRESSION, SNAPPY, LZ4, ZLIB

    string

    DEFAULT_COMPRESSION

    default_value (optional)

    Default value for this column.

    string

    none

    comment (optional)

    Comment for this column.

    string

    none

    +
    +


    +
    +
    +
    +

    add_range_partition: Add a range partition for table 

    +
    +

    Usage:
    +kudu table add_range_partition <master_addresses> <table_name> <table_range_lower_bound> <table_range_upper_bound> [-lower_bound_type=<type>] [-upper_bound_type=<type>] [-hash_schema=<schema>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table

    string

    none

    table_range_lower_bound

    String representation of lower bound of the table range partition as a JSON array.If the parameter is an empty array, the lower range partition will be unbounded

    string

    none

    table_range_upper_bound

    String representation of upper bound of the table range partition as a JSON array.If the parameter is an empty array, the upper range partition will be unbounded

    string

    none

    lower_bound_type (optional)

    The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.

    string

    INCLUSIVE_BOUND

    upper_bound_type (optional)

    The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.

    string

    EXCLUSIVE_BOUND

    hash_schema (optional)

    String representation of range-specific hash schema as a JSON object, e.g. {"hash_schema": [{"columns": ["c0"], "num_buckets": 5}]}

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    clear_comment: Clear the comment for a table 

    +
    +

    Usage:
    +kudu table clear_comment <master_addresses> <table_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_remove_default: Remove write_default value for a column 

    +
    +

    Usage:
    +kudu table column_remove_default <master_addresses> <table_name> <column_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_block_size: Set block size for a column 

    +
    +

    Usage:
    +kudu table column_set_block_size <master_addresses> <table_name> <column_name> <block_size> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    block_size

    Block size of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_compression: Set compression type for a column 

    +
    +

    Usage:
    +kudu table column_set_compression <master_addresses> <table_name> <column_name> <compression_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    compression_type

    Compression type of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_default: Set write_default value for a column 

    +
    +

    Usage:
    +kudu table column_set_default <master_addresses> <table_name> <column_name> <default_value> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    default_value

    Write default value of the column, should be provided as a JSON array, e.g. [1] or ["foo"]

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_encoding: Set encoding type for a column 

    +
    +

    Usage:
    +kudu table column_set_encoding <master_addresses> <table_name> <column_name> <encoding_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    encoding_type

    Encoding type of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    column_set_comment: Set comment for a column 

    +
    +

    Usage:
    +kudu table column_set_comment <master_addresses> <table_name> <column_name> <column_comment> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to alter

    string

    none

    column_comment

    Comment of the column

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    copy: Copy table data to another table 

    +
    +

    Copy table data to another table; the two tables could be in the same cluster or not. The two tables must have the same table schema, but could have different partition schemas. Alternatively, the tool can create the new table using the same table and partition schema as the source table.
    +Usage:
    +kudu table copy <master_addresses> <table_name> <dest_master_addresses> [-nocreate_table] [-create_table_hash_bucket_nums=<nums>] [-create_table_replication_factor=<factor>] [-dst_table=<table>] [-fault_tolerant] [-nofill_cache] [-num_threads=<threads>] [-predicates=<predicates>] [-scan_batch_size=<size>] [-tablets=<tablets>] [-write_type=<type>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the source table

    string

    none

    dest_master_addresses

    Either comma-separated list of destination Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    create_table (optional)

    Whether to create the destination table if it doesn’t exist.

    bool

    true

    create_table_hash_bucket_nums (optional)

    The number of hash buckets in each hash dimension seperated by comma

    string

    none

    create_table_replication_factor (optional)

    The replication factor of the destination table if the table will be created. By default, the replication factor of source table will be used.

    int32

    -1

    dst_table (optional)

    The name of the destination table the data will be copied to. If the empty string, use the same name as the source table.

    string

    none

    fault_tolerant (optional)

    Whether to make scans resumable at another tablet server if current server fails. Fault-tolerant scans typically have lower throughput than non fault-tolerant scans, but the results are returned in primary key order for a single tablet.

    bool

    false

    fill_cache (optional)

    Whether to fill block cache when scanning.

    bool

    true

    num_threads (optional)

    Number of threads to run.

    int32

    2

    predicates (optional)

    Query predicates on columns. Unlike traditional SQL syntax, the scan tool’s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'. + * The 'Comparison' type support ⇐, <, =, > and >=, + which can be represented as '[operator, column_name, value]', + e.g. '[">=", "col1", "value"]' + * The 'InList' type can be represented as + '["IN", column_name, [value1, value2, …​]]' + e.g. '["IN", "col2", ["value1", "value2"]]' + * The 'IsNull' type determine whether the value is NULL or not, + which can be represented as '[operator, column_name]' + e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]' +Predicates can be combined together with predicate operators using the syntax + [operator, predicate, predicate, …​, predicate]. +For example, + ["AND", [">=", "col1", "value"], ["NOTNULL", "col2"]] +The only supported predicate operator is AND.

    string

    none

    scan_batch_size (optional)

    The size for scan results batches, in bytes. A negative value means the server-side default is used, where the server-side default is controlled by the tablet server’s --scanner_default_batch_size_bytes flag.

    int32

    -1

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    write_type (optional)

    Write operation type to use when populating the destination table with the rows from the source table. Choose from 'insert', 'insert_ignore', 'upsert', 'upsert_ignore', or an empty string. Empty string means the data isn’t going to be copied, which is useful with --create_table=true when just creating the destination table without copying the data.

    string

    insert

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    create: Create a new table 

    +
    +

    provide parameters for the table to create as a JSON object, e.g. +'{ + "table_name": "test", + "schema": { + "columns": [ + { + "column_name": "id", + "column_type": "INT32", + "default_value": "1" + }, + { + "column_name": "key", + "column_type": "INT64", + "is_nullable": false, + "comment": "range partition column" + }, + { + "column_name": "name", + "column_type": "STRING", + "is_nullable": false, + "comment": "user name" + } + ], + "key_column_names": ["id", "key"] + }, + "partition": { + "hash_partitions": [{"columns": ["id"], "num_buckets": 2, "seed": 8}], + "range_partition": { + "columns": ["key"], + "range_bounds": [ + { + "lower_bound": {"bound_type": "inclusive", "bound_values": ["2"]}, + "upper_bound": {"bound_type": "exclusive", "bound_values": ["3"]} + }, + { + "lower_bound": {"bound_type": "inclusive", "bound_values": ["3"]} + } + ] + } + }, + "extra_configs": { + "configs": { "kudu.table.history_max_age_sec": "3600" } + }, + "comment": "a test table", + "num_replicas": 3 +}'
    +Usage:
    +kudu table create <master_addresses> <create_table_json> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    create_table_json

    JSON object for creating table

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    delete_column: Delete a column 

    +
    +

    Usage:
    +kudu table delete_column <master_addresses> <table_name> <column_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to delete

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    delete: Delete a table 

    +
    +

    Usage:
    +kudu table delete <master_addresses> <table_name> [-nomodify_external_catalogs] [-reserve_seconds=<seconds>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to delete

    string

    none

    modify_external_catalogs (optional)

    Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.

    bool

    true

    reserve_seconds (optional)

    Grace period before purging a soft-deleted table, in seconds. If set to 0, it would be purged when a table is dropped/deleted.

    int32

    -1

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    describe: Describe a table 

    +
    +

    Usage:
    +kudu table describe <master_addresses> <table_name> [-show_attributes] [-show_column_comment] [-show_avro_format_schema] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to describe

    string

    none

    show_attributes (optional)

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    bool

    false

    show_column_comment (optional)

    Whether to show column comment.

    bool

    false

    show_avro_format_schema (optional)

    Display the table schema in avro format. When enabled it only outputs the table schema in Avro format without any other information like partition/owner/comments. It cannot be used in conjunction with other flags

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    drop_range_partition: Drop a range partition of table 

    +
    +

    Usage:
    +kudu table drop_range_partition <master_addresses> <table_name> <table_range_lower_bound> <table_range_upper_bound> [-lower_bound_type=<type>] [-upper_bound_type=<type>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table

    string

    none

    table_range_lower_bound

    String representation of lower bound of the table range partition as a JSON array

    string

    none

    table_range_upper_bound

    String representation of upper bound of the table range partition as a JSON array

    string

    none

    lower_bound_type (optional)

    The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. This flag is case-insensitive.

    string

    INCLUSIVE_BOUND

    upper_bound_type (optional)

    The type of the upper bound, either inclusive or exclusive. Defaults to exclusive. This flag is case-insensitive.

    string

    EXCLUSIVE_BOUND

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    get_extra_configs: Get the extra configuration properties for a table 

    +
    +

    Usage:
    +kudu table get_extra_configs <master_addresses> <table_name> [-config_names=<names>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table for which to get extra configurations

    string

    none

    config_names (optional)

    Comma-separated list of configurations to display. An empty value displays all configs.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List tables 

    +
    +

    Usage:
    +kudu table list <master_addresses> [-soft_deleted_only] [-tables=<tables>] [-list_tablets] [-show_tablet_partition_info] [-show_hash_partition_info] [-show_table_info] [-list_table_output_format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    soft_deleted_only (optional)

    Show only soft-deleted tables if set true, otherwise show regular tables.

    bool

    false

    tables (optional)

    Tables to include (comma-separated list of table names)If not specified, includes all tables.

    string

    none

    list_tablets (optional)

    Include tablet and replica UUIDs in the output

    bool

    false

    show_tablet_partition_info (optional)

    Include partition keys information corresponding to tablet in the output.

    bool

    false

    show_hash_partition_info (optional)

    Include hash partition keys information corresponding to tablet in the output.

    bool

    false

    show_table_info (optional)

    Include extra information such as number of tablets, replicas, and live row count for a table in the output

    bool

    false

    list_table_output_format (optional)

    One of 'json', 'json_compact' or 'pretty'. Pretty output flattens the table list hierarchy.

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    locate_row: Locate which tablet a row belongs to 

    +
    +

    Provide the primary key as a JSON array of primary key values, e.g. '[1, "foo", 2, "bar"]'. The output will be the tablet id associated with the row key. If there is no such tablet, an error message will be printed and the command will return a non-zero status
    +Usage:
    +kudu table locate_row <master_addresses> <table_name> <primary_key> [-check_row_existence] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to look up against

    string

    none

    primary_key

    String representation of the row’s primary key as a JSON array

    string

    none

    check_row_existence (optional)

    Also check for the existence of the row on the leader replica of the tablet. If found, the full row will be printed; if not found, an error message will be printed and the command will return a non-zero status.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    recall: Recall a deleted but still reserved table 

    +
    +

    Usage:
    +kudu table recall <master_addresses> <table_id> [-new_table_name=<name>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_id

    ID of the table to recall

    string

    none

    new_table_name (optional)

    The new name for the recalled table. Leave empty to recall the table under its original name.

    string

    none

    +
    +


    +
    +
    +
    +

    rename_column: Rename a column 

    +
    +

    Usage:
    +kudu table rename_column <master_addresses> <table_name> <column_name> <new_column_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_name

    Name of the table column to rename

    string

    none

    new_column_name

    New column name

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    rename_table: Rename a table 

    +
    +

    Usage:
    +kudu table rename_table <master_addresses> <table_name> <new_table_name> [-nomodify_external_catalogs] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to rename

    string

    none

    new_table_name

    New table name

    string

    none

    modify_external_catalogs (optional)

    Whether to modify external catalogs, such as the Hive Metastore, when renaming or dropping a table.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    scan: Scan rows from a table 

    +
    +

    Scan rows from an existing table. See the help for the --predicates flag on how predicates can be specified.
    +Usage:
    +kudu table scan <master_addresses> <table_name> [-columns=<columns>] [-row_count_only] [-report_scanner_stats] [-scan_batch_size=<size>] [-fault_tolerant] [-nofill_cache] [-num_threads=<threads>] [-predicates=<predicates>] [-tablets=<tablets>] [-replica_selection=<selection>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to scan

    string

    none

    columns (optional)

    Comma-separated list of column fields to include in output tables

    string

    uuid,rpc-addresses,role

    row_count_only (optional)

    Whether to only count rows instead of reading row cells: yields an empty projection for the table

    bool

    false

    report_scanner_stats (optional)

    Whether to report scanner statistics

    bool

    false

    scan_batch_size (optional)

    The size for scan results batches, in bytes. A negative value means the server-side default is used, where the server-side default is controlled by the tablet server’s --scanner_default_batch_size_bytes flag.

    int32

    -1

    fault_tolerant (optional)

    Whether to make scans resumable at another tablet server if current server fails. Fault-tolerant scans typically have lower throughput than non fault-tolerant scans, but the results are returned in primary key order for a single tablet.

    bool

    false

    fill_cache (optional)

    Whether to fill block cache when scanning.

    bool

    true

    num_threads (optional)

    Number of threads to run.

    int32

    2

    predicates (optional)

    Query predicates on columns. Unlike traditional SQL syntax, the scan tool’s simple query predicates are represented in a simple JSON syntax. Three types of predicates are supported, including 'Comparison', 'InList' and 'IsNull'. + * The 'Comparison' type support ⇐, <, =, > and >=, + which can be represented as '[operator, column_name, value]', + e.g. '[">=", "col1", "value"]' + * The 'InList' type can be represented as + '["IN", column_name, [value1, value2, …​]]' + e.g. '["IN", "col2", ["value1", "value2"]]' + * The 'IsNull' type determine whether the value is NULL or not, + which can be represented as '[operator, column_name]' + e.g. '["NULL", "col1"]', or '["NOTNULL", "col2"]' +Predicates can be combined together with predicate operators using the syntax + [operator, predicate, predicate, …​, predicate]. +For example, + ["AND", [">=", "col1", "value"], ["NOTNULL", "col2"]] +The only supported predicate operator is AND.

    string

    none

    tablets (optional)

    Tablets to check (comma-separated list of IDs) If not specified, checks all tablets.

    string

    none

    replica_selection (optional)

    Replica selection for scan operations. Acceptable values are: CLOSEST, LEADER (maps into KuduClient::CLOSEST_REPLICA and KuduClient::LEADER_ONLY correspondingly).

    string

    CLOSEST

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_comment: Set the comment for a table 

    +
    +

    Usage:
    +kudu table set_comment <master_addresses> <table_name> <column_comment> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    column_comment

    Comment of the table

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_extra_config: Change a extra configuration value on a table 

    +
    +

    Usage:
    +kudu table set_extra_config <master_addresses> <table_name> <config_name> <config_value> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    config_name

    Name of the configuration

    string

    none

    config_value

    New value for the configuration

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_replication_factor: Change a table’s replication factor 

    +
    +

    Usage:
    +kudu table set_replication_factor <master_addresses> <table_name> <replication_factor> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to alter

    string

    none

    replication_factor

    New replication factor of the table

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    statistics: Get table statistics 

    +
    +

    Usage:
    +kudu table statistics <master_addresses> <table_name> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to get statistics

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_limit: Set the write limit for a table

    +
    +


    +
    +
    +
    disk_size: Set the disk size limit 
    +
    +

    Usage:
    +kudu table set_limit disk_size <master_addresses> <table_name> <disk_size> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to set limit

    string

    none

    disk_size

    The disk size limit, 'unlimited' for no write limit

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    row_count: Set the row count limit 
    +
    +

    Usage:
    +kudu table set_limit row_count <master_addresses> <table_name> <row_count> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    table_name

    Name of the table to set limit

    string

    none

    row_count

    The row count limit, 'unlimited' for no write limit

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    tablet: Operate on remote Kudu tablets

    +
    +


    +
    +
    +

    leader_step_down: Change the tablet’s leader 

    +
    +

    Usage:
    +kudu tablet leader_step_down <master_addresses> <tablet_id> [-abrupt] [-new_leader_uuid=<uuid>] [-current_leader_uuid=<uuid>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    abrupt (optional)

    Whether the leader should step down without attempting to transfer leadership gracefully. A graceful transfer minimizes delays in tablet operations, but will fail if the tablet cannot arrange a successor.

    bool

    false

    new_leader_uuid (optional)

    UUID of the server that leadership should be transferred to. Leadership may only be transferred to a voting member of the leader’s active config. If the designated successor cannot catch up to the leader within one election timeout, leadership transfer will not occur. If blank, the leader chooses its own successor, attempting to transfer leadership as soon as possible. This cannot be set if --abrupt is set.

    string

    none

    current_leader_uuid (optional)

    UUID of the server that currently hosts leader replica of the tablet.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    unsafe_replace_tablet: Replace a tablet with an empty one, deleting the previous tablet. 

    +
    +

    Use this tool to repair a table when one of its tablets has permanently lost all of its replicas. It replaces the unrecoverable tablet with a new empty one representing the same partition. Its primary use is to jettison an unrecoverable tablet in order to make the rest of the table available.

    +
    +
    + + + + + +
    + + +The original tablet will be deleted. Its data will be permanently lost. Additionally, clients should be restarted before attempting to use the repaired table (see KUDU-2376).
    +Usage:
    +kudu tablet unsafe_replace_tablet <master_addresses> <tablet_id> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments: +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    change_config: Change a tablet’s Raft configuration

    +
    +


    +
    +
    +
    add_replica: Add a new replica to a tablet’s Raft configuration 
    +
    +

    Usage:
    +kudu tablet change_config add_replica <master_addresses> <tablet_id> <ts_uuid> <replica_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    ts_uuid

    UUID of the tablet server that should host the new replica

    string

    none

    replica_type

    New replica’s type. Must be VOTER or NON_VOTER.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    change_replica_type: Change the type of an existing replica in a tablet’s Raft configuration 
    +
    +

    Usage:
    +kudu tablet change_config change_replica_type <master_addresses> <tablet_id> <ts_uuid> <replica_type> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    ts_uuid

    UUID of the tablet server hosting the existing replica

    string

    none

    replica_type

    Existing replica’s new type. Must be VOTER or NON_VOTER.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    move_replica: Move a tablet replica from one tablet server to another 
    +
    +

    The replica move tool effectively moves a replica from one tablet server to another by adding a replica to the new server and then removing it from the old one. It requires that ksck return no errors when run against the target tablet. If the move fails, the user should wait for any tablet copy to complete, and, if the copy succeeds, use remove_replica manually. If the copy fails, the new replica will be deleted automatically after some time, and then the move can be retried.
    +Usage:
    +kudu tablet change_config move_replica <master_addresses> <tablet_id> <from_ts_uuid> <to_ts_uuid> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    from_ts_uuid

    UUID of the tablet server to move from

    string

    none

    to_ts_uuid

    UUID of the tablet server to move to

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    remove_replica: Remove an existing replica from a tablet’s Raft configuration 
    +
    +

    Usage:
    +kudu tablet change_config remove_replica <master_addresses> <tablet_id> <ts_uuid> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tablet_id

    Tablet Identifier

    string

    none

    ts_uuid

    UUID of the tablet server hosting the existing replica

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    test: Various test actions

    +
    +


    +
    +
    +

    mini_cluster: Spawn a control shell for running a mini-cluster 

    +
    +

    The protocol for the control shell is protobuf-based and is documented in src/kudu/tools/tool.proto. It is currently considered to be highly experimental and subject to change.

    +
    +
    +

    Example JSON input to create and start a cluster: + {"createCluster":{"numTservers":3}} + {"startCluster":{}} +
    +Usage:
    +kudu test mini_cluster [-serialization=<serialization>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    serialization (optional)

    Serialization method to be used by the control shell. Valid values are 'json' (protobuf serialized into JSON and terminated with a newline character) or 'pb' (four byte protobuf message length in big endian followed by the protobuf message itself).

    string

    json

    +
    +


    +
    +
    +
    +
    +

    txn: Operate on multi-row transactions

    +
    +


    +
    +
    +

    list: Show details of multi-row transactions in the cluster 

    +
    +

    Usage:
    +kudu txn list <master_addresses> [-columns=<columns>] [-max_txn_id=<id>] [-min_txn_id=<id>] [-included_states=<states>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of transaction-related info fields to include in the output. +Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime

    string

    txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime

    max_txn_id (optional)

    Inclusive maximum transaction ID to display, or -1 for no maximum.

    int64

    -1

    min_txn_id (optional)

    Inclusive minimum transaction ID to display, or -1 for no minimum.

    int64

    -1

    included_states (optional)

    Comma-separated list of transaction states to display. Supported states are 'open', 'abort_in_progress', 'aborted', 'commit_in_progress', 'finalize_in_progress', and 'committed', or '*' for all states. By default, shows currently active transactions.

    string

    open,abort_in_progress,commit_in_progress,finalize_in_progress

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    show: Show details of a specific transaction 

    +
    +

    Usage:
    +kudu txn show <master_addresses> <txn_id> [-columns=<columns>] [-timeout_ms=<ms>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    txn_id

    Transaction ID on which to operate

    string

    none

    columns (optional)

    Comma-separated list of transaction-related info fields to include in the output. +Possible values: txn_id, user, state, commit_datetime, commit_hybridtime, start_datetime, last_transition_datetime, participant_tablet_id, participant_is_aborted, participant_flushed_committed_mrs, participant_begin_commit_datetime, participant_begin_commit_hybridtime, participant_commit_datetime, participant_commit_hybridtime

    string

    txn_id,user,state,commit_datetime,start_datetime,last_transition_datetime,participant_tablet_id,participant_begin_commit_datetime,participant_commit_datetime

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +

    tserver: Operate on a Kudu Tablet Server

    +
    +


    +
    +
    +

    dump_memtrackers: Dump the memtrackers from a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver dump_memtrackers <tserver_address> [-format=<format>] [-memtracker_output=<output>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    memtracker_output (optional)

    One of 'json', 'json_compact' or 'table'. Table output flattens the memtracker hierarchy.

    string

    table

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    get_flags: Get the gflags for a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver get_flags <tserver_address> [-all_flags] [-flags=<flags>] [-flag_tags=<tags>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    all_flags (optional)

    Whether to return all flags, or only flags that were explicitly set.

    bool

    false

    flags (optional)

    Comma-separated list of flags used to restrict which flags are returned. An empty value means no restriction. If non-empty, all_flags is ignored.

    string

    none

    flag_tags (optional)

    Comma-separated list of tags used to restrict which flags are returned. An empty value matches all tags

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    run: Run a Kudu Tablet Server 

    +
    +

    Note: The tablet server is started in this process and runs until interrupted.

    +
    +
    +

    The most common configuration flags are described below. For all the configuration options pass --helpfull or see https://kudu.apache.org/docs/configuration_reference.html#kudu-tserver_supported
    +Usage:
    +kudu tserver run [-tserver_master_addrs=<addrs>] [-fs_wal_dir=<dir>] [-fs_data_dirs=<dirs>] [-fs_metadata_dir=<dir>] [-block_cache_capacity_mb=<mb>] [-memory_limit_hard_bytes=<bytes>] [-log_dir=<dir>] [-logtostderr] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_master_addrs (optional)

    Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag — configure the masters separately using 'rpc_bind_addresses'.

    string

    127.0.0.1:7051

    fs_wal_dir (optional)

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    string

    none

    fs_data_dirs (optional)

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    string

    none

    fs_metadata_dir (optional)

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    string

    none

    block_cache_capacity_mb (optional)

    block cache capacity in MB

    int64

    512

    memory_limit_hard_bytes (optional)

    Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.

    int64

    0

    log_dir (optional)

    If specified, logfiles are written into this directory instead of the default logging directory.

    string

    none

    logtostderr (optional)

    log messages go to stderr instead of logfiles

    bool

    false

    +
    +


    +
    +
    +
    +

    set_flag: Change a gflag value on a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver set_flag <tserver_address> <flag> <value> [-force] [-norun_consistency_check] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    run_consistency_check (optional)

    If true, Kudu server checks all flags for consistency upon setting a flag. In this mode, the server rolls the flag back to its previous value and sends corresponding error response if an inconsistency is detected.

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    set_flag_for_all: Change a gflag value for all Kudu Tablet Servers in the cluster 

    +
    +

    Usage:
    +kudu tserver set_flag_for_all <master_addresses> <flag> <value> [-force] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    flag

    Name of the gflag

    string

    none

    value

    New value for the gflag

    string

    none

    force (optional)

    If true, allows the set_flag command to set a flag which is not explicitly marked as runtime-settable. Such flag changes may be simply ignored on the server, or may cause the server to crash.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    status: Get the status of a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver status <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    timestamp: Get the current timestamp of a Kudu Tablet Server 

    +
    +

    Usage:
    +kudu tserver timestamp <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    list: List tablet servers in a Kudu cluster 

    +
    +

    Usage:
    +kudu tserver list <master_addresses> [-columns=<columns>] [-format=<format>] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    columns (optional)

    Comma-separated list of tserver info fields to include in output. +Possible values: uuid, rpc-addresses, http-addresses, version, seqno, heartbeat, start_time, state

    string

    uuid,rpc-addresses

    format (optional)

    Format to use for printing list output tables. +Possible values: pretty, space, tsv, csv, and json

    string

    pretty

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    unregister: Unregister a tablet server from the master’s in-memory state and system catalog. 

    +
    +

    Usage:
    +kudu tserver unregister <master_addresses> <tserver_uuid> [-force_unregister_live_tserver] [-noremove_tserver_state] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tserver_uuid

    UUID of a Kudu Tablet Server

    string

    none

    force_unregister_live_tserver (optional)

    If true, force the unregistration of the tserver even if it is not presumed dead by the master. Make sure the tserver has been shut down before setting this true.

    bool

    false

    remove_tserver_state (optional)

    If false, remove the tserver from the master’s in-memory map but keep its persisted state (if any). If the same tserver re-registers on the master it will get its original state

    bool

    true

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +

    quiesce: Operate on the quiescing state of a Kudu Tablet Server.

    +
    +


    +
    +
    +
    status: Output information about the quiescing state of a Tablet Server. 
    +
    +

    Usage:
    +kudu tserver quiesce status <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    start: Start quiescing the given Tablet Server. While a Tablet Server is quiescing, Tablet replicas on it will no longer attempt to become leader, and new scan requests will be retried at other servers. 
    +
    +

    Usage:
    +kudu tserver quiesce start <tserver_address> [-error_if_not_fully_quiesced] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    error_if_not_fully_quiesced (optional)

    If true, the command to start quiescing will return an error if the tserver is not fully quiesced, i.e. there are still tablet leaders or active scanners on it.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    stop: Stop quiescing a Tablet Server. 
    +
    +

    Usage:
    +kudu tserver quiesce stop <tserver_address> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    tserver_address

    Address of a Kudu Tablet Server of form 'hostname:port'. Port may be omitted if the Tablet Server is bound to the default port.

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +

    state: Operate on the state of a Kudu Tablet Server

    +
    +


    +
    +
    +
    enter_maintenance: Begin maintenance on the Tablet Server. While under maintenance, downtime of the Tablet Server will not lead to the immediate re-replication of its tablet replicas. 
    +
    +

    Usage:
    +kudu tserver state enter_maintenance <master_addresses> <tserver_uuid> [-allow_missing_tserver] [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tserver_uuid

    UUID of a Kudu Tablet Server

    string

    none

    allow_missing_tserver (optional)

    If true, performs the action on the tserver even if it has not been registered with the master and has no existing tserver state records associated with it.

    bool

    false

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    exit_maintenance: End maintenance of the Tablet Server. 
    +
    +

    Usage:
    +kudu tserver state exit_maintenance <master_addresses> <tserver_uuid> [-negotiation_timeout_ms=<ms>] [-timeout_ms=<ms>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    master_addresses

    Either comma-separated list of Kudu master addresses where each address is of form 'hostname:port', or a cluster name if it has been configured in ${KUDU_CONFIG}/kudurc

    string

    none

    tserver_uuid

    UUID of a Kudu Tablet Server

    string

    none

    negotiation_timeout_ms (optional)

    Timeout for negotiating an RPC connection to a Kudu server, in milliseconds

    int64

    3000

    timeout_ms (optional)

    RPC timeout in milliseconds

    int64

    60000

    +
    +


    +
    +
    +
    +
    +
    +

    wal: Operate on WAL (write-ahead log) files

    +
    +


    +
    +
    +

    dump: Dump a WAL (write-ahead log) file 

    +
    +

    Usage:
    +kudu wal dump <path> [-print_entries=<entries>] [-noprint_meta] [-truncate_data=<data>] +
    +Arguments:

    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescriptionTypeDefault

    path

    path to WAL file

    string

    none

    print_entries (optional)

    How to print entries: + false|0|no = don’t print + true|1|yes|decoded = print them decoded + pb = print the raw protobuf + id = print only their ids

    string

    decoded

    print_meta (optional)

    Include metadata in output

    bool

    true

    truncate_data (optional)

    Truncate the data fields to the given number of bytes before printing. Set to 0 to disable

    int32

    100

    +
    +


    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/configuration.html b/releases/1.17.1/docs/configuration.html new file mode 100644 index 0000000000..aeb867098f --- /dev/null +++ b/releases/1.17.1/docs/configuration.html @@ -0,0 +1,658 @@ +--- +title: Configuring Apache Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Configuring Apache Kudu

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    Configure Kudu

    +
    +
    +

    Configuration Basics

    +
    +

    To configure the behavior of each Kudu process, you can pass command-line flags when +you start it, or read those options from configuration files by passing them using +one or more --flagfile=<file> options. You can even include the +--flagfile option within your configuration file to include other files. Learn more about gflags +by reading its documentation.

    +
    +
    +

    You can place options for masters and tablet servers into the same configuration +file, and each will ignore options that do not apply.

    +
    +
    +

    Flags can be prefixed with either one or two - characters. This +documentation standardizes on two: --example_flag.

    +
    +
    +
    +

    Discovering Configuration Options

    +
    +

    Only the most common configuration options are documented here. For a more exhaustive +list of configuration options, see the Configuration Reference.

    +
    +
    +

    To see all configuration flags for a given executable, run it with the --help option. +Take care when configuring undocumented flags, as not every possible +configuration has been tested, and undocumented options are not guaranteed to be +maintained in future releases.

    +
    +
    +
    +

    Configuring Clock and Time Source

    +
    +

    Kudu relies on timestamps generated by its clock implementation for the MVCC +and for providing consistency guarantees when processing write and read +requests. Aside from the test-only mock clock, Kudu has two different clock +implementations: one is based on logical time and the other is based on +so-called hybrid time. The former is a plain Lamport clock, the latter +is a combination of the node’s system clock and a Lamport clock. Below, +the former is referred to as LogicalClock and the latter as HybridClock.

    +
    +
    +

    Using the HybridClock implementation is a must for any production-grade, POC, +and other regular Kudu deployments: that’s why --use_hybrid_clock is set +true by default. Setting the flag to false makes Kudu servers use the +LogicalClock implementation: running with such a clock implementation is +acceptable only in the context of running specifically crafted test scenarios +in Kudu development environment.

    +
    +
    + + + + + +
    + + +Setting --use_hybrid_clock=false is strongly discouraged in any +production-grade deployment since that could introduce out-of-control latency +and not-quite-expected behavior, especially when working with multiple tables +in a multi-node Kudu cluster. +
    +
    +
    +

    To provide better accuracy for multi-node cluster deployments where each node +maintains its own system clock, the HybridClock implementation requires each +node’s system clock to be synchronized by NTP.

    +
    +
    + + + + + +
    + + +Setting --time_source=system_unsync removes the requirement for the +node’s system clock to be synchronized by NTP — this allows users to run test +clusters on a single node where there is only one clock used by all Kudu +servers. Setting --time_source=system_unsync is strongly discouraged in any +multi-node Kudu cluster, unless system clocks of all Kudu nodes are guaranteed +to always be synchronized with each other. +
    +
    +
    +

    For Kudu masters and tablet servers, there are two options to make the +HybridClock implementation use a clock synchronized by NTP:

    +
    +
    +
      +
    • +

      Ensure that the system clock of the Kudu node is synchronized with reference +servers using an NTP daemon running on the node. Usually, the NTP daemon is +a part of the node’s OS distribution. As of Kudu 1.12.0 and newer, both +ntpd and chronyd are supported. Prior Kudu versions were tested only +with ntpd, but might work just fine with chronyd as well if chronyd is +configured as recommended by the +chronyd configuration tips for Kudu.

      +
    • +
    • +

      Make Kudu servers maintain their own local clock, synchronizing it with +reference NTP servers. For that, Kudu servers use their built-in NTP client. +This option is available in Kudu 1.11.0 and newer versions.

      +
    • +
    +
    +
    +

    The latter option is provided as a last resort for deployments where properly +configuring NTP daemons at every node of a Kudu cluster is not feasible for +some reason and to simplify Kudu deployments in public cloud environments such +as EC2 and GCP. For on-prem deployments, it’s still recommended to use the +former option since the current implementation of the Kudu built-in NTP client +might not be as robust as the battle-tested ntpd and chronyd system +NTP daemons.

    +
    +
    +

    To switch between these two options above, use the --time_source flag:

    +
    +
    +
      +
    • +

      Setting --time_source=system makes the HybridClock rely on the node’s +system clock.

      +
    • +
    • +

      Setting --time_source=builtin turns on the built-in NTP client in +Kudu masters and tablet servers. Use the --builtin_ntp_servers flag to +customize the set of reference NTP servers for the built-in NTP client: the +value is expected to be a comma-separated list.

      +
    • +
    +
    +
    + + + + + +
    + + +The default setting for the --builtin_ntp_servers flag might require +access to the NTP servers hosted by the +NTP Pool Project. +
    +
    +
    +

    If deploying a Kudu cluster in AWS/EC2 or GCE/GCP public clouds, it might make +sense to set --time_source=auto for all Kudu masters and tablet servers in +the cluster. In this context, setting --time_source=auto leads to the +following:

    +
    +
    +
      +
    • +

      Upon every start, a Kudu server runs the auto-detection procedure to +determine the type of the cloud environment it runs at.

      +
    • +
    • +

      If the procedure of the cloud type auto-detection completes successfully, +the Kudu server starts using its built-in NTP client to synchronize with the +NTP server provided by the cloud environment (see the appropriate +documentation for +EC2 +and GCP +correspondingly).

      +
    • +
    +
    +
    + + + + + +
    + + +Running a Kudu server with --time_source=auto in cloud environments +other than EC2 and GCP, or when the cloud type auto-detection fails, makes +the Kudu server fall back to using the built-in NTP client with the list +of NTP servers as specified by the --builtin_ntp_servers flag, unless it’s +empty or otherwise unparsable. When --builtin_ntp_servers is set to an empty +list and the cloud type auto-detection fails, the Kudu server runs as if it +were configured with the system time source if the OS/platform supports the +get_ntptime() API. Finally, the catch-all case is system_unsync for the +time source. As already mentioned, the system_unsync time source is targeted +for development-only platforms or single-node-runs-it-all proof-of-concept +Kudu clusters. +
    +
    +
    +

    The kudu cluster ksck CLI utility reports the configured and the effective +time source for every Kudu master and tablet server in a cluster. The list of +the NTP servers for the built-in client is reported as well when the effective +time source is builtin. The utility is also able to show the difference in +settings of the related time source flags and warn operators if a discrepancy +is detected. In addition, the information on the configured and effective time +source is reported by the embedded Web server in the Time Source panel at +the /config page.

    +
    +
    + + + + + +
    + + +Changing the value of the --time_source flag implies restarting a Kudu +server. Keep the time source the same for all master and tablet servers in +a Kudu cluster. If using the built-in NTP Kudu client, make sure to use +the same list of reference NTP servers for every Kudu server in a cluster. +
    +
    +
    +
    +

    Directory Configurations

    +
    +

    Every Kudu node requires the specification of directory flags. The +--fs_wal_dir configuration indicates where Kudu will place its write-ahead +logs. The --fs_metadata_dir configuration indicates where Kudu will place +metadata for each tablet. It is recommended, although not necessary, that these +directories be placed on a high-performance drives with high bandwidth and low +latency, e.g. solid-state drives. If --fs_metadata_dir is not specified, +metadata will be placed in the directory specified by --fs_wal_dir. Since +a Kudu node cannot tolerate the loss of its WAL or metadata directories, it +may be wise to mirror the drives containing these directories in order to +make recovering from a drive failure easier; however, mirroring may increase +the latency of Kudu writes.

    +
    +
    +

    The --fs_data_dirs configuration indicates where Kudu will write its data +blocks. This is a comma-separated list of directories; if multiple values are +specified, data will be striped across the directories. If not specified, data +blocks will be placed in the directory specified by --fs_wal_dir. Note that +while a single data directory backed by a RAID-0 array will outperform a single +data directory backed by a single storage device, it is better to let Kudu +manage its own striping over multiple devices rather than delegating the +striping to a RAID-0 array.

    +
    +
    +

    Additionally, --fs_wal_dir and --fs_metadata_dir may be the same as one +of the directories listed in --fs_data_dirs, but must not be sub-directories +of any of them.

    +
    +
    + + + + + +
    + + +Each directory specified by a configuration flag on a given machine +should be used by at most one Kudu process. If multiple Kudu processes on the +same machine are configured to use the same directory, Kudu may refuse to start +up. +
    +
    +
    + + + + + +
    + + +Once --fs_data_dirs is set, extra tooling is required to change it. +For more details, see the Kudu +Administration docs. +
    +
    +
    + + + + + +
    + + +The --fs_wal_dir and --fs_metadata_dir configurations can be changed, +provided the contents of the directories are also moved to match the flags. +
    +
    +
    +
    +

    Configuring the Kudu Master

    +
    +

    To see all available configuration options for the kudu-master executable, run it +with the --help option:

    +
    +
    +
    +
    $ kudu-master --help
    +
    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Supported Configuration Flags for Kudu Masters
    FlagValid OptionsDefaultDescription

    --master_addresses

    string

    localhost

    Comma-separated list of all the RPC +addresses for Master consensus-configuration. If not specified, assumes a standalone Master.

    --fs_data_dirs

    string

    List of directories where the Master will place its data blocks.

    --fs_metadata_dir

    string

    The directory where the Master will place its tablet metadata.

    --fs_wal_dir

    string

    The directory where the Master will place its write-ahead logs.

    --log_dir

    string

    /tmp

    The directory to store Master log files.

    +
    +

    For the full list of flags for masters, see the +Kudu Master Configuration Reference.

    +
    +
    +
    +

    Configuring Tablet Servers

    +
    +

    To see all available configuration options for the kudu-tserver executable, +run it with the --help option:

    +
    +
    +
    +
    $ kudu-tserver --help
    +
    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2. Supported Configuration Flags for Kudu Tablet Servers
    FlagValid OptionsDefaultDescription

    --fs_data_dirs

    string

    List of directories where the Tablet Server will place its data blocks.

    --fs_metadata_dir

    string

    The directory where the Tablet Server will place its tablet metadata.

    --fs_wal_dir

    string

    The directory where the Tablet Server will place its write-ahead logs.

    --log_dir

    string

    /tmp

    The directory to store Tablet Server log files

    --tserver_master_addrs

    string

    127.0.0.1:7051

    Comma separated +addresses of the masters which the tablet server should connect to. The masters +do not read this flag.

    --block_cache_capacity_mb

    integer

    512

    Maximum amount of memory allocated to the Kudu Tablet Server’s block cache.

    --memory_limit_hard_bytes

    integer

    4294967296

    Maximum amount of memory a Tablet Server can consume before it starts rejecting all incoming writes.

    +
    +

    For the full list of flags for tablet servers, see the +Kudu Tablet Server Configuration Reference.

    +
    +
    +
    +
    +
    +

    Configure Kudu Tables

    +
    +
    +

    Kudu allows certain configurations to be set per table. To configure the behavior of a Kudu table, +you can set these configurations at table creation, or alter them via the Kudu API or Kudu command +line tool.

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3. Supported Configurable Properties for Kudu Tables
    ConfigurationValid OptionsDefaultDescription

    kudu.table.history_max_age_sec

    integer

    Number of seconds to retain history for tablets in this table.

    kudu.table.maintenance_priority

    integer

    0

    Priority level of a table for maintenance.

    kudu.table.disable_compaction

    false, true

    false

    Whether to disable data compaction maintenance tasks for all tablets of this table.

    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/configuration_reference.html b/releases/1.17.1/docs/configuration_reference.html new file mode 100644 index 0000000000..18856af9a3 --- /dev/null +++ b/releases/1.17.1/docs/configuration_reference.html @@ -0,0 +1,29250 @@ +--- +title: Apache Kudu Configuration Reference +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    Apache Kudu Configuration Reference

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    kudu-master Flags

    +
    +
    +

    Stable Flags

    +
    +

    Flags tagged stable and not advanced are safe to use for common +configuration tasks.

    +
    +
    +

    --block_cache_capacity_mb

    +
    +

    block cache capacity in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    512

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_servers

    +
    +

    Comma-separated list of NTP servers for the built-in NTP client, each in format <FQDN|IP>[:PORT]. This list will be used in one of the following cases: (A) the built-in NTP client is explicitly set as the time source (i.e. --time_source=builtin) (B) the 'auto' pseudo-source for time is used and the cloud instance detector isn’t aware about any preferred NTP servers provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --time_source

    +
    +

    The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    system

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_force_fsync_all

    +
    +

    Whether the Log/WAL should explicitly call fsync() after each write.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs

    +
    +

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_metadata_dir

    +
    +

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir

    +
    +

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --master_addresses

    +
    +

    Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --keytab_file

    +
    +

    Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --rpc_bind_addresses

    +
    +

    Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0:7051

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --superuser_acl

    +
    +

    The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --user_acl

    +
    +

    The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    *

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --webserver_certificate_file

    +
    +

    The location of the embedded webserver’s TLS/SSL certificate file, in PEM format. If empty, webserver TLS/SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_port

    +
    +

    Port to bind to for the webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8051

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_file

    +
    +

    The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. This flag must be set if the --webserver_certificate_file flag is set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password to decrypt the private key of the webserver’s certificate pointed to by the --webserver_private_key_file flag. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_require_spnego

    +
    +

    Require connections to the webserver to authenticate via Kerberos using SPNEGO.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_filename

    +
    +

    Prefix of log filename - full path is <log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --max_log_files

    +
    +

    Maximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    stable,runtime

    +
    +

     

    +
    +
    +
    +

    --maintenance_manager_num_threads

    +
    +

    Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --memory_limit_hard_bytes

    +
    +

    Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --flagfile

    +
    +

    load flags from file

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --help

    +
    +

    show help on all flags [tip: all flags can have two dashes]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --version

    +
    +

    show version and build info and exit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --colorlogtostderr

    +
    +

    color messages logged to stderr (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --log_dir

    +
    +

    If specified, logfiles are written into this directory instead of the default logging directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --logtostderr

    +
    +

    log messages go to stderr instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --max_log_size

    +
    +

    approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1800

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +
    +

    Stable, Advanced Flags

    +
    +

    Flags tagged stable and advanced are supported, but should be considered +"expert" options and should be used carefully and after thorough testing.

    +
    +
    +

    --principal

    +
    +

    Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu/_HOST

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_history_max_age_sec

    +
    +

    Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    stable,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_process_lifetime_heap_profiling

    +
    +

    Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --heap_profile_path

    +
    +

    Output path to store heap profiles. If not set profiles are stored in /tmp/<process-name>.<pid>.<n>.heap.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --unlock_experimental_flags

    +
    +

    Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --unlock_unsafe_flags

    +
    +

    Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --fromenv

    +
    +

    set flags from the environment [use 'export FLAGS_flag1=value']

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --tryfromenv

    +
    +

    set flags from the environment if present

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --undefok

    +
    +

    comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name. IMPORTANT: flags in this list that have arguments MUST use the flag=value format

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpmatch

    +
    +

    show help on modules whose name contains the specified substr

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpon

    +
    +

    show help on the modules named by this flag value

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helppackage

    +
    +

    show help on all modules in the main package

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpshort

    +
    +

    show help on only the main module for this program

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpxml

    +
    +

    produce an xml version of help

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    + +
    +

    Put additional links to the log files in this directory

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --log_prefix

    +
    +

    Prepend the log prefix to the start of each log line

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --minloglevel

    +
    +

    Messages logged at a lower level than this don’t actually get logged anywhere

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stderrthreshold

    +
    +

    log messages at or above this level are copied to stderr in addition to logfiles. This flag obsoletes --alsologtostderr.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stop_logging_if_full_disk

    +
    +

    Stop attempting to log to disk if the disk is full.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --symbolize_stacktrace

    +
    +

    Symbolize the stack trace in the tombstone

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,stable,runtime

    +
    +

     

    +
    +
    +
    +

    --v

    +
    +

    Show all VLOG(m) messages for m ⇐ this. Overridable by --vmodule.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --vmodule

    +
    +

    per-module verbose level. Argument is a comma-separated list of <module name>=<log level>. <module name> is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). <log level> overrides any value given by --v.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +
    +

    Evolving Flags

    +
    +

    Flags tagged evolving (or not tagged with a stability tag) are not yet +considered final, and while they may be useful for tuning, they are subject to +being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +

     

    +
    +
    +
    +

    --cfile_verify_checksums

    +
    +

    Verify the checksum for each block on read if one exists

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,evolving

    +
    +

     

    +
    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_write_checksums

    +
    +

    Write CRC32 checksums for each block

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --ntp_initial_sync_wait_secs

    +
    +

    Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_default_database

    +
    +

    Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between <ranger_default_database>.<table> and <table>, so privileges granted on <table> in <ranger_default_database> are applied to both <ranger_default_database>.<table> and <table> in Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +

     

    +
    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the data directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_consider_available_space

    +
    +

    Whether to consider available space when selecting a data directory during tablet or data block creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_reserved_bytes

    +
    +

    Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_target_data_dirs_per_tablet

    +
    +

    Indicates the target number of data dirs to spread each tablet’s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the WAL directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_conn_timeout_seconds

    +
    +

    Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_kerberos_principal

    +
    +

    The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    hive

    Tags

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_max_message_size_bytes

    +
    +

    Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    104857600

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_recv_timeout_seconds

    +
    +

    Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_retry_count

    +
    +

    The number of times that HMS operations will retry after encountering retriable failures, such as network errors.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_sasl_enabled

    +
    +

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_send_timeout_seconds

    +
    +

    Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_uris

    +
    +

    Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --server_thread_pool_max_thread_count

    +
    +

    Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    -1

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_user_acl

    +
    +

    Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +

     

    +
    +
    +
    +

    --auto_leader_rebalancing_interval_seconds

    +
    +

    How long to sleep in between auto leader rebalancing cycles, before checking the cluster again to see if there is leader skew and if run task again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --auto_leader_rebalancing_rpc_timeout_seconds

    +
    +

    auto leader rebalancing send leader step down rpc timeout seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --leader_rebalancing_max_moves_per_round

    +
    +

    Max count of leader transfer when every leader rebalance runs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_interval_seconds

    +
    +

    How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_load_imbalance_threshold

    +
    +

    The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …​) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_max_moves_per_server

    +
    +

    Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_rpc_timeout_seconds

    +
    +

    RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_wait_for_replica_moves_seconds

    +
    +

    How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +

     

    +
    +
    +
    +

    --catalog_manager_enable_chunked_tablet_reports

    +
    +

    Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --default_deleted_table_reserve_seconds

    +
    +

    Time in seconds to be reserved before purging a deleted table for the table from DeleteTable request. Value 0 means DeleteTable() works the regular way, i.e. dropping the table and purging its data immediately. If it’s set to anything greater than 0, then all DeleteTable() RPCs are turned into SoftDeleteTable(…​, FLAGS_default_deleted_table_reserve_seconds). NOTE : this flag make no sense for soft-delete function because the reserve_seconds has been specified by user while calling SoftDeleteTable.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --default_num_replicas

    +
    +

    Default number of replicas for tables that do not have the num_replicas set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --enable_per_range_hash_schemas

    +
    +

    Whether to support range-specific hash schemas for tables.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --enable_range_replica_placement

    +
    +

    Whether to use range aware replica placement for newly created tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_ts_rpc_timeout_ms

    +
    +

    Timeout used for the master→TS async rpc calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_column_comment_length

    +
    +

    Maximum length of the comment of a column.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +

     

    +
    +
    +
    +

    --max_create_tablets_per_ts

    +
    +

    The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_owner_length

    +
    +

    Maximum length of the name of a table owner.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    +
    +

     

    +
    +
    +
    +

    --max_table_comment_length

    +
    +

    Maximum length of the comment of a table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +

     

    +
    +
    +
    +

    --min_num_replicas

    +
    +

    Minimum number of replicas that may be specified when creating a table: this is to enforce the minimum replication factor for tables created in a Kudu cluster. For example, setting this flag to 3 enforces every new table to have at least 3 replicas for each of its tablets, so there cannot be a data loss when a single tablet server fails irrecoverably.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --table_locations_cache_capacity_mb

    +
    +

    Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --table_locations_ttl_ms

    +
    +

    Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_creation_timeout_ms

    +
    +

    Timeout used by the master when attempting to create tablet replicas during table creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --unresponsive_ts_rpc_timeout_ms

    +
    +

    After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_notification_log_batch_size

    +
    +

    Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_notification_log_poll_period_seconds

    +
    +

    Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --check_expired_table_interval_seconds

    +
    +

    Interval (in seconds) to check whether there is any soft_deleted table with expired reservation period. Such tables will be purged and cannot be recalled after that.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --location_mapping_cmd

    +
    +

    A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --master_auto_join_cluster

    +
    +

    Whether Kudu Masters should automatically attempt to join existing an existing cluster, specified by the master addresses

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_auto_join_retry_interval_secs

    +
    +

    The interval, in seconds, with which to retry checks to determine whether this Master should be added to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    5

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_auto_join_rpc_timeout_secs

    +
    +

    The amount of time, in seconds, to use as a timeout when sending RPCs to add this Master to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    30

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_client_location_assignment_enabled

    +
    +

    Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --master_support_change_config

    +
    +

    Whether the master supports adding/removing master servers dynamically.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_unresponsive_timeout_ms

    +
    +

    The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_config_path

    +
    +

    Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_crash_master_on_subprocess_failure

    +
    +

    Whether to crash the Master if the Ranger subprocess crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_jar_path

    +
    +

    Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary. It can be a colon-separated list of JARs. If it is, the paths are not verified and passed straight to Java.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_java_extra_args

    +
    +

    Extra JVM arguments to be passed to the Ranger subprocess.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_java_path

    +
    +

    Path where the Java binary was installed. If the value isn’t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user’s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user’s PATH.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_log_config_dir

    +
    +

    Directory in which to look for a kudu-ranger-subprocess-log4j2.properties file. If empty, will use the value of --log_dir. If such a file does not exist, a properties file will be created to honor Kudu’s logging configurations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_log_level

    +
    +

    Log level to use in the Ranger Java subprocess. Supports "all", "trace", "debug", "info", "warn", "error", "fatal", and "off"

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    info

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_logtostdout

    +
    +

    Whether to have the Ranger subprocess log to stdout.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_overwrite_log_config

    +
    +

    Whether to overwrite any existing logging configuration file, if found.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_receiver_fifo_dir

    +
    +

    Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_subnets

    +
    +

    A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_default_level

    +
    +

    The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    debug

    Tags

    evolving,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_authentication

    +
    +

    Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encryption

    +
    +

    Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_deadline_checking_interval_ms

    +
    +

    Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --subprocess_max_message_size_bytes

    +
    +

    Maximum payload size for a message in protobuf format the subprocess server accepts from a subprocess (i.e. its child), in bytes, 0 means unlimited. If a subprocess sends a message with bigger payload than the specified limit, the server rejects the message and responds with AppStatusPB::IO_ERROR error code. This setting is not effective for messages in JSON format.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    8388608

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_num_responder_threads

    +
    +

    Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_queue_full_retry_ms

    +
    +

    Number of milliseconds between attempts to enqueue the request to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --subprocess_request_queue_size_bytes

    +
    +

    Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_response_queue_size_bytes

    +
    +

    Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_timeout_secs

    +
    +

    Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --undo_delta_block_gc_init_budget_millis

    +
    +

    The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_idle_timeout_sec

    +
    +

    Amount of time without activity before a tablet copy session will expire, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    600

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --env_use_fsync

    +
    +

    Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --disable_core_dumps

    +
    +

    Disable core dumps when this process crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --redact

    +
    +

    Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    all

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +

     

    +
    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_minidumps

    +
    +

    Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --max_minidumps

    +
    +

    Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    9

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_path

    +
    +

    Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    minidumps

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_size_limit_hint_kb

    +
    +

    Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20480

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +

     

    +
    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +

     

    +
    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +
    +
    +
    +
    +

    kudu-tserver Flags

    +
    +
    +

    Stable Flags

    +
    +

    Flags tagged stable and not advanced are safe to use for common +configuration tasks.

    +
    +
    +

    --block_cache_capacity_mb

    +
    +

    block cache capacity in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    512

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_servers

    +
    +

    Comma-separated list of NTP servers for the built-in NTP client, each in format <FQDN|IP>[:PORT]. This list will be used in one of the following cases: (A) the built-in NTP client is explicitly set as the time source (i.e. --time_source=builtin) (B) the 'auto' pseudo-source for time is used and the cloud instance detector isn’t aware about any preferred NTP servers provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --time_source

    +
    +

    The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    system

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_force_fsync_all

    +
    +

    Whether the Log/WAL should explicitly call fsync() after each write.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs

    +
    +

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_metadata_dir

    +
    +

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir

    +
    +

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --keytab_file

    +
    +

    Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --rpc_bind_addresses

    +
    +

    Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0:7050

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --superuser_acl

    +
    +

    The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --user_acl

    +
    +

    The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    *

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --webserver_certificate_file

    +
    +

    The location of the embedded webserver’s TLS/SSL certificate file, in PEM format. If empty, webserver TLS/SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_port

    +
    +

    Port to bind to for the webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8050

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_file

    +
    +

    The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. This flag must be set if the --webserver_certificate_file flag is set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password to decrypt the private key of the webserver’s certificate pointed to by the --webserver_private_key_file flag. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_require_spnego

    +
    +

    Require connections to the webserver to authenticate via Kerberos using SPNEGO.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --tserver_master_addrs

    +
    +

    Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag — configure the masters separately using 'rpc_bind_addresses'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    127.0.0.1:7051

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_filename

    +
    +

    Prefix of log filename - full path is <log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --max_log_files

    +
    +

    Maximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    stable,runtime

    +
    +

     

    +
    +
    +
    +

    --maintenance_manager_num_threads

    +
    +

    Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --memory_limit_hard_bytes

    +
    +

    Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --flagfile

    +
    +

    load flags from file

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --help

    +
    +

    show help on all flags [tip: all flags can have two dashes]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --version

    +
    +

    show version and build info and exit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --colorlogtostderr

    +
    +

    color messages logged to stderr (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --log_dir

    +
    +

    If specified, logfiles are written into this directory instead of the default logging directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --logtostderr

    +
    +

    log messages go to stderr instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --max_log_size

    +
    +

    approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1800

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +
    +

    Stable, Advanced Flags

    +
    +

    Flags tagged stable and advanced are supported, but should be considered +"expert" options and should be used carefully and after thorough testing.

    +
    +
    +

    --principal

    +
    +

    Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu/_HOST

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_history_max_age_sec

    +
    +

    Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    604800

    Tags

    stable,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_process_lifetime_heap_profiling

    +
    +

    Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --heap_profile_path

    +
    +

    Output path to store heap profiles. If not set profiles are stored in /tmp/<process-name>.<pid>.<n>.heap.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --unlock_experimental_flags

    +
    +

    Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --unlock_unsafe_flags

    +
    +

    Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --fromenv

    +
    +

    set flags from the environment [use 'export FLAGS_flag1=value']

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --tryfromenv

    +
    +

    set flags from the environment if present

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --undefok

    +
    +

    comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name. IMPORTANT: flags in this list that have arguments MUST use the flag=value format

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpmatch

    +
    +

    show help on modules whose name contains the specified substr

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpon

    +
    +

    show help on the modules named by this flag value

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helppackage

    +
    +

    show help on all modules in the main package

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpshort

    +
    +

    show help on only the main module for this program

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpxml

    +
    +

    produce an xml version of help

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    + +
    +

    Put additional links to the log files in this directory

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --log_prefix

    +
    +

    Prepend the log prefix to the start of each log line

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --minloglevel

    +
    +

    Messages logged at a lower level than this don’t actually get logged anywhere

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stderrthreshold

    +
    +

    log messages at or above this level are copied to stderr in addition to logfiles. This flag obsoletes --alsologtostderr.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stop_logging_if_full_disk

    +
    +

    Stop attempting to log to disk if the disk is full.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --symbolize_stacktrace

    +
    +

    Symbolize the stack trace in the tombstone

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,stable,runtime

    +
    +

     

    +
    +
    +
    +

    --v

    +
    +

    Show all VLOG(m) messages for m ⇐ this. Overridable by --vmodule.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --vmodule

    +
    +

    per-module verbose level. Argument is a comma-separated list of <module name>=<log level>. <module name> is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). <log level> overrides any value given by --v.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +
    +

    Evolving Flags

    +
    +

    Flags tagged evolving (or not tagged with a stability tag) are not yet +considered final, and while they may be useful for tuning, they are subject to +being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +

     

    +
    +
    +
    +

    --cfile_verify_checksums

    +
    +

    Verify the checksum for each block on read if one exists

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,evolving

    +
    +

     

    +
    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_write_checksums

    +
    +

    Write CRC32 checksums for each block

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --ntp_initial_sync_wait_secs

    +
    +

    Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the data directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_consider_available_space

    +
    +

    Whether to consider available space when selecting a data directory during tablet or data block creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_reserved_bytes

    +
    +

    Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_target_data_dirs_per_tablet

    +
    +

    Indicates the target number of data dirs to spread each tablet’s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the WAL directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --server_thread_pool_max_thread_count

    +
    +

    Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    -1

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_subnets

    +
    +

    A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_default_level

    +
    +

    The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    debug

    Tags

    evolving,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_authentication

    +
    +

    Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encryption

    +
    +

    Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --undo_delta_block_gc_init_budget_millis

    +
    +

    The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_idle_timeout_sec

    +
    +

    Amount of time without activity before a tablet copy session will expire, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    600

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_apply_pool_overload_threshold_ms

    +
    +

    The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --env_use_fsync

    +
    +

    Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --disable_core_dumps

    +
    +

    Disable core dumps when this process crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --redact

    +
    +

    Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    all

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +

     

    +
    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_minidumps

    +
    +

    Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --max_minidumps

    +
    +

    Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    9

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_path

    +
    +

    Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    minidumps

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_size_limit_hint_kb

    +
    +

    Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20480

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +

     

    +
    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +

     

    +
    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +
    +
    +
    +
    +

    Apache Kudu Unsupported Configuration Flags

    +
    +
    + + + + + +
    + + +These flags are unsupported and are included for informational purposes only. +They are subject to being changed or removed at any time. +
    +
    +
    +

    kudu-master Unsupported Flags

    +
    +

    Flags not marked stable or evolving are considered experimental and are +unsupported. They are included here for informational purposes only and are +subject to being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +
    +

    --min_compression_ratio

    +
    +

    If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.90000000000000002

    Tags

    experimental

    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +
    +

    --client_use_unix_domain_sockets

    +
    +

    Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +
    +

    --builtin_ntp_request_timeout_ms

    +
    +

    Timeout for requests sent to NTP servers (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3000

    Tags

    runtime,experimental

    +
    +
    +

    --builtin_ntp_true_time_refresh_max_interval_s

    +
    +

    Maximum allowed time interval without refreshing computed true time estimation (in seconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +
    +

    --codegen_dump_functions

    +
    +

    Whether to print the LLVM IR for generated functions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_dump_mc

    +
    +

    Whether to dump the disassembly of the machine code for generated functions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_cache_capacity

    +
    +

    Number of entries which may be stored in the code generation cache.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_queue_capacity

    +
    +

    Number of tasks which may be put in the code generation task queue.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_time_compilation

    +
    +

    Whether to print time that each code generation request took.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --ranger_default_database

    +
    +

    Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between <ranger_default_database>.<table> and <table>, so privileges granted on <table> in <ranger_default_database> are applied to both <ranger_default_database>.<table> and <table> in Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +
    +

    --log_compression_codec

    +
    +

    Codec to use for compressing WAL segments.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    LZ4

    Tags

    experimental

    +
    +
    +

    --log_max_segments_to_retain

    +
    +

    The maximum number of past log segments to keep at all times for the purposes of catching up other peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --leader_failure_exp_backoff_max_delta_ms

    +
    +

    Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20000

    Tags

    experimental

    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +
    +

    --raft_enable_pre_election

    +
    +

    When enabled, candidates will call a pre-election before running a real leader election.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_enable_tombstoned_voting

    +
    +

    When enabled, tombstoned tablets may vote in elections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +
    +

    --raft_prepare_replacement_before_eviction

    +
    +

    When enabled, failed replicas will only be evicted after a replacement has been prepared for them.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --missed_heartbeats_before_rejecting_snapshot_scans

    +
    +

    The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.5

    Tags

    experimental

    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --safe_time_max_lag_ms

    +
    +

    The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental

    +
    +
    +

    --block_manager_preflush_control

    +
    +

    Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    finalize

    Tags

    experimental

    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +
    +

    --cmeta_fsync_override_on_xfs

    +
    +

    Whether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,experimental

    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --log_block_manager_delete_dead_container

    +
    +

    When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +
    +

    --log_container_live_metadata_before_compact_ratio

    +
    +

    Desired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +
    +

    --log_container_metadata_max_size

    +
    +

    Maximum size (soft) of a log container’s metadata. Use 0 for no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_runtime_compact

    +
    +

    Whether to enable metadata file compaction at runtime.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_size_before_compact_ratio

    +
    +

    Desired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.80000000000000004

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +
    +

    --hive_metastore_conn_timeout_seconds

    +
    +

    Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --hive_metastore_kerberos_principal

    +
    +

    The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    hive

    Tags

    +
    +
    +

    --hive_metastore_max_message_size_bytes

    +
    +

    Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    104857600

    Tags

    advanced

    +
    +
    +

    --hive_metastore_recv_timeout_seconds

    +
    +

    Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --hive_metastore_retry_count

    +
    +

    The number of times that HMS operations will retry after encountering retriable failures, such as network errors.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --hive_metastore_sasl_enabled

    +
    +

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --hive_metastore_send_timeout_seconds

    +
    +

    Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --hive_metastore_uris

    +
    +

    Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --trusted_user_acl

    +
    +

    Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +

    --auto_leader_rebalancing_interval_seconds

    +
    +

    How long to sleep in between auto leader rebalancing cycles, before checking the cluster again to see if there is leader skew and if run task again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,advanced

    +
    +
    +

    --auto_leader_rebalancing_rpc_timeout_seconds

    +
    +

    auto leader rebalancing send leader step down rpc timeout seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +
    +

    --leader_rebalancing_max_moves_per_round

    +
    +

    Max count of leader transfer when every leader rebalance runs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +
    +

    --auto_rebalancing_interval_seconds

    +
    +

    How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30

    Tags

    +
    +
    +

    --auto_rebalancing_load_imbalance_threshold

    +
    +

    The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …​) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    +
    +
    +

    --auto_rebalancing_max_moves_per_server

    +
    +

    Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +
    +

    --auto_rebalancing_rpc_timeout_seconds

    +
    +

    RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    60

    Tags

    +
    +
    +

    --auto_rebalancing_wait_for_replica_moves_seconds

    +
    +

    How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +
    +

    --auto_leader_rebalancing_enabled

    +
    +

    Whether automatic leader rebalancing is enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --auto_rebalancing_enabled

    +
    +

    Whether auto-rebalancing is enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --catalog_manager_enable_chunked_tablet_reports

    +
    +

    Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --default_deleted_table_reserve_seconds

    +
    +

    Time in seconds to be reserved before purging a deleted table for the table from DeleteTable request. Value 0 means DeleteTable() works the regular way, i.e. dropping the table and purging its data immediately. If it’s set to anything greater than 0, then all DeleteTable() RPCs are turned into SoftDeleteTable(…​, FLAGS_default_deleted_table_reserve_seconds). NOTE : this flag make no sense for soft-delete function because the reserve_seconds has been specified by user while calling SoftDeleteTable.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +

    --default_num_replicas

    +
    +

    Default number of replicas for tables that do not have the num_replicas set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    runtime,advanced

    +
    +
    +

    --enable_chunked_tablet_writes

    +
    +

    Whether to split tablet actions into chunks when persisting them in sys.catalog table. If disabled, any update of the sys.catalog table will be rejected if exceeds --rpc_max_message_size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --enable_metadata_cleanup_for_deleted_tables_and_tablets

    +
    +

    Whether to clean up metadata for deleted tables and tablets from master’s in-memory map and the 'sys.catalog' table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --enable_per_range_hash_schemas

    +
    +

    Whether to support range-specific hash schemas for tables.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --enable_range_replica_placement

    +
    +

    Whether to use range aware replica placement for newly created tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --enable_table_write_limit

    +
    +

    Enable the table write limit. When the table’s size or row count is approaching the limit, the write may be forbidden.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --master_failover_catchup_timeout_ms

    +
    +

    Amount of time to give a newly-elected leader master to load the previous master’s metadata and become active. If this time is exceeded, the node crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +

    --master_ts_rpc_timeout_ms

    +
    +

    Timeout used for the master→TS async rpc calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    runtime,advanced

    +
    +
    +

    --max_column_comment_length

    +
    +

    Maximum length of the comment of a column.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +
    +

    --max_create_tablets_per_ts

    +
    +

    The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    runtime,advanced

    +
    +
    +

    --max_owner_length

    +
    +

    Maximum length of the name of a table owner.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    +
    +
    +

    --max_table_comment_length

    +
    +

    Maximum length of the comment of a table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +
    +

    --metadata_for_deleted_table_and_tablet_reserved_secs

    +
    +

    After this amount of time, the metadata of a deleted table/tablet will be cleaned up if --enable_metadata_cleanup_for_deleted_tables_and_tablets=true.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +

    --min_num_replicas

    +
    +

    Minimum number of replicas that may be specified when creating a table: this is to enforce the minimum replication factor for tables created in a Kudu cluster. For example, setting this flag to 3 enforces every new table to have at least 3 replicas for each of its tablets, so there cannot be a data loss when a single tablet server fails irrecoverably.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,advanced

    +
    +
    +

    --require_new_spec_for_custom_hash_schema_range_bound

    +
    +

    Whether to require the client to use newer signature to specify range bounds when working with a table having custom hash schema per range.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --table_disk_size_limit

    +
    +

    Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    experimental

    +
    +
    +

    --table_locations_cache_capacity_mb

    +
    +

    Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --table_locations_ttl_ms

    +
    +

    Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,advanced

    +
    +
    +

    --table_row_count_limit

    +
    +

    Set the target row count of a table to write. This is a system wide configuration for every newly created table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    experimental

    +
    +
    +

    --table_write_limit_ratio

    +
    +

    Set the ratio of how much write limit can be reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.94999999999999996

    Tags

    experimental

    +
    +
    +

    --tablet_creation_timeout_ms

    +
    +

    Timeout used by the master when attempting to create tablet replicas during table creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --unresponsive_ts_rpc_timeout_ms

    +
    +

    After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    advanced

    +
    +
    +

    --hive_metastore_notification_log_batch_size

    +
    +

    Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    runtime,advanced

    +
    +
    +

    --hive_metastore_notification_log_poll_period_seconds

    +
    +

    Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    runtime,advanced

    +
    +
    +

    --authn_token_validity_seconds

    +
    +

    Period of time for which an issued authentication token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    604800

    Tags

    experimental

    +
    +
    +

    --authz_token_validity_seconds

    +
    +

    Period of time for which an issued authorization token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    300

    Tags

    experimental

    +
    +
    +

    --check_expired_table_interval_seconds

    +
    +

    Interval (in seconds) to check whether there is any soft_deleted table with expired reservation period. Such tables will be purged and cannot be recalled after that.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +

    --location_mapping_cmd

    +
    +

    A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --master_registration_rpc_timeout_ms

    +
    +

    Timeout for retrieving master registration over RPC.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1500

    Tags

    experimental

    +
    +
    +

    --master_rpc_proxy_advertised_addresses

    +
    +

    RPC endpoints of all masters in this cluster exposed to the external network via a TCP proxy. This is a comma-separated list of the masters' proxy-advertised RPC addresses, each specified via the --rpc_proxy_advertised_addresses flag for a single master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --tsk_rotation_seconds

    +
    +

    Number of seconds between consecutive activations of newly generated TSKs (Token Signing Keys).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    86400

    Tags

    experimental,advanced

    +
    +
    +

    --ipki_ca_cert_expiration_seconds

    +
    +

    validity interval for self-signed root CA certifcate issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    315360000

    Tags

    experimental

    +
    +
    +

    --ipki_ca_key_size

    +
    +

    the number of bits for self-signed root CA cert used by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --ipki_server_cert_expiration_seconds

    +
    +

    validity interval for server certificates issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    315360000

    Tags

    experimental

    +
    +
    +

    --master_auto_join_cluster

    +
    +

    Whether Kudu Masters should automatically attempt to join existing an existing cluster, specified by the master addresses

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --master_auto_join_retry_interval_secs

    +
    +

    The interval, in seconds, with which to retry checks to determine whether this Master should be added to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    5

    Tags

    runtime

    +
    +
    +

    --master_auto_join_rpc_timeout_secs

    +
    +

    The amount of time, in seconds, to use as a timeout when sending RPCs to add this Master to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    30

    Tags

    runtime

    +
    +
    +

    --master_client_location_assignment_enabled

    +
    +

    Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --master_support_change_config

    +
    +

    Whether the master supports adding/removing master servers dynamically.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --tserver_unresponsive_timeout_ms

    +
    +

    The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --txn_manager_lazily_initialized

    +
    +

    Whether to initialize TxnManager upon arrival of first request. Otherwise, TxnManager is initialized upon master’s startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --txn_manager_status_table_num_replicas

    +
    +

    Number of replicas for transaction status table

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3

    Tags

    experimental,advanced

    +
    +
    +

    --txn_manager_status_table_range_partition_span

    +
    +

    A span for a status table’s range partition. Once TxnManager detects there isn’t a backing tablet for a transaction identifier, it adds a new range partition in the transaction status table with the lower bound equal to the upper bound of the previous range and (lower bound + span) as the upper bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1000000

    Tags

    experimental,advanced

    +
    +
    +

    --ranger_config_path

    +
    +

    Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_crash_master_on_subprocess_failure

    +
    +

    Whether to crash the Master if the Ranger subprocess crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --ranger_jar_path

    +
    +

    Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary. It can be a colon-separated list of JARs. If it is, the paths are not verified and passed straight to Java.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_java_extra_args

    +
    +

    Extra JVM arguments to be passed to the Ranger subprocess.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_java_path

    +
    +

    Path where the Java binary was installed. If the value isn’t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user’s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user’s PATH.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_receiver_fifo_dir

    +
    +

    Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rpc_trace_negotiation

    +
    +

    If enabled, dump traces of all RPC negotiations to the log

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --ipki_server_key_size

    +
    +

    the number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --tsk_num_rsa_bits

    +
    +

    Number of bits in RSA keys used for token signing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --diagnostics_log_stack_traces_interval_ms

    +
    +

    The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    experimental,runtime

    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --rpc_proxied_addresses

    +
    +

    Comma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_proxy_advertised_addresses

    +
    +

    This server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_reuseport

    +
    +

    Whether to set the SO_REUSEPORT option on listening RPC sockets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    advanced

    +
    +
    +

    --enable_jwt_token_auth

    +
    +

    This enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +
    +

    --jwks_file_path

    +
    +

    File path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --jwks_url

    +
    +

    URL of the JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +
    +

    --rpc_ca_certificate_file

    +
    +

    Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_certificate_file

    +
    +

    Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +
    +

    --rpc_listen_on_unix_domain_socket

    +
    +

    Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +
    +

    --rpc_private_key_file

    +
    +

    Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +
    +

    --rpc_tls_excluded_protocols

    +
    +

    A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +
    +

    --wall_clock_jump_detection

    +
    +

    Whether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    auto

    Tags

    experimental

    +
    +
    +

    --wall_clock_jump_threshold_sec

    +
    +

    Maximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    900

    Tags

    experimental

    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --subprocess_deadline_checking_interval_ms

    +
    +

    Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +
    +

    --subprocess_max_message_size_bytes

    +
    +

    Maximum payload size for a message in protobuf format the subprocess server accepts from a subprocess (i.e. its child), in bytes, 0 means unlimited. If a subprocess sends a message with bigger payload than the specified limit, the server rejects the message and responds with AppStatusPB::IO_ERROR error code. This setting is not effective for messages in JSON format.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    8388608

    Tags

    advanced

    +
    +
    +

    --subprocess_num_responder_threads

    +
    +

    Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --subprocess_queue_full_retry_ms

    +
    +

    Number of milliseconds between attempts to enqueue the request to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +
    +

    --subprocess_request_queue_size_bytes

    +
    +

    Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +
    +

    --subprocess_response_queue_size_bytes

    +
    +

    Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +
    +

    --subprocess_timeout_secs

    +
    +

    Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15

    Tags

    advanced

    +
    +
    +

    --budgeted_compaction_target_rowset_size

    +
    +

    The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    33554432

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_approximation_ratio

    +
    +

    Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.0499999523162842

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +
    +

    --rowset_compaction_delta_memory_factor

    +
    +

    The initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    5

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_enforce_preset_factor

    +
    +

    Whether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_estimate_min_deltas_size_mb

    +
    +

    Minimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    64

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_memory_estimate_enabled

    +
    +

    Whether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +
    +

    --deltafile_default_block_size

    +
    +

    Block size for delta files. In the future, this may become configurable on a per-table basis.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    32768

    Tags

    experimental

    +
    +
    +

    --deltafile_default_compression_codec

    +
    +

    The compression codec used when writing deltafiles.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    lz4

    Tags

    experimental

    +
    +
    +

    --default_composite_key_index_block_size_bytes

    +
    +

    Block size used for composite key indexes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    experimental

    +
    +
    +

    --rowset_metadata_store_keys

    +
    +

    Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_major_compact_min_ratio

    +
    +

    Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000149011612

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_minor_compact_max

    +
    +

    How many delta stores are required before forcing a minor delta compaction (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    experimental

    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +
    +

    --compaction_small_rowset_tradeoff

    +
    +

    The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0089999999999999993

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rows_writed_per_sec_for_hot_tablets

    +
    +

    Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --scans_started_per_sec_for_hot_tablets

    +
    +

    Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +
    +

    --tablet_compaction_budget_mb

    +
    +

    Budget for a single compaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_burst_factor

    +
    +

    Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_bytes_per_sec

    +
    +

    Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_rpc_per_sec

    +
    +

    Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --workload_score_upper_bound

    +
    +

    Upper bound for workload score.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_metric_collection_interval_ms

    +
    +

    The interval in milliseconds at which we collect workload metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_rate_collection_min_interval_ms

    +
    +

    The minimal interval in milliseconds at which we collect read/write rates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,experimental

    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --enable_workload_score_for_perf_improvement_ops

    +
    +

    Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --update_stats_log_throttling_interval_sec

    +
    +

    Log throttling interval for messages on disabled compaction emitted by UpdateStats method.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    600

    Tags

    experimental,runtime

    +
    +
    +

    --tablet_max_pending_txn_write_ops

    +
    +

    Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    2

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_mb

    +
    +

    Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_secs

    +
    +

    Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120

    Tags

    runtime,experimental

    +
    +
    +

    --flush_upper_bound_ms

    +
    +

    Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_background_rpc_timeout_ms

    +
    +

    Period (in milliseconds) with which transaction-related background requests are made

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    5000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +
    +

    --txn_keepalive_interval_ms

    +
    +

    Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_staleness_tracker_interval_ms

    +
    +

    Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_status_tablet_failover_catchup_timeout_ms

    +
    +

    Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +

    --enable_txn_system_client_init

    +
    +

    Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +
    +

    --completed_scan_history_count

    +
    +

    Number of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --slow_scan_history_count

    +
    +

    Number of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --txn_participant_registration_pool_num_threads

    +
    +

    Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental,advanced

    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --trace_to_console

    +
    +

    Trace pattern specifying which trace events should be dumped directly to the console

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --crash_on_eio

    +
    +

    Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,advanced

    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --env_use_ioctl_hole_punch_on_xfs

    +
    +

    Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --heap_sample_every_n_bytes

    +
    +

    Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental,advanced

    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +

    --data_gc_min_size_mb

    +
    +

    The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --data_gc_prioritization_prob

    +
    +

    The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_target_replay_size_mb

    +
    +

    The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1024

    Tags

    experimental

    +
    +
    +

    --maintenance_op_multiplier

    +
    +

    Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.1000000000000001

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --max_priority_range

    +
    +

    Maximal priority range of OPs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --local_ip_for_outbound_sockets

    +
    +

    IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +
    +

    kudu-tserver Unsupported Flags

    +
    +

    Flags not marked stable or evolving are considered experimental and are +unsupported. They are included here for informational purposes only and are +subject to being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +
    +

    --min_compression_ratio

    +
    +

    If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.90000000000000002

    Tags

    experimental

    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +
    +

    --client_use_unix_domain_sockets

    +
    +

    Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +
    +

    --builtin_ntp_request_timeout_ms

    +
    +

    Timeout for requests sent to NTP servers (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3000

    Tags

    runtime,experimental

    +
    +
    +

    --builtin_ntp_true_time_refresh_max_interval_s

    +
    +

    Maximum allowed time interval without refreshing computed true time estimation (in seconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +
    +

    --codegen_dump_functions

    +
    +

    Whether to print the LLVM IR for generated functions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_dump_mc

    +
    +

    Whether to dump the disassembly of the machine code for generated functions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_cache_capacity

    +
    +

    Number of entries which may be stored in the code generation cache.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_queue_capacity

    +
    +

    Number of tasks which may be put in the code generation task queue.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_time_compilation

    +
    +

    Whether to print time that each code generation request took.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +
    +

    --log_compression_codec

    +
    +

    Codec to use for compressing WAL segments.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    LZ4

    Tags

    experimental

    +
    +
    +

    --log_max_segments_to_retain

    +
    +

    The maximum number of past log segments to keep at all times for the purposes of catching up other peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --leader_failure_exp_backoff_max_delta_ms

    +
    +

    Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20000

    Tags

    experimental

    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +
    +

    --raft_enable_pre_election

    +
    +

    When enabled, candidates will call a pre-election before running a real leader election.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_enable_tombstoned_voting

    +
    +

    When enabled, tombstoned tablets may vote in elections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +
    +

    --raft_prepare_replacement_before_eviction

    +
    +

    When enabled, failed replicas will only be evicted after a replacement has been prepared for them.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --missed_heartbeats_before_rejecting_snapshot_scans

    +
    +

    The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.5

    Tags

    experimental

    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --safe_time_max_lag_ms

    +
    +

    The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental

    +
    +
    +

    --block_manager_preflush_control

    +
    +

    Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    finalize

    Tags

    experimental

    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +
    +

    --cmeta_fsync_override_on_xfs

    +
    +

    Whether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,experimental

    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --log_block_manager_delete_dead_container

    +
    +

    When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +
    +

    --log_container_live_metadata_before_compact_ratio

    +
    +

    Desired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +
    +

    --log_container_metadata_max_size

    +
    +

    Maximum size (soft) of a log container’s metadata. Use 0 for no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_runtime_compact

    +
    +

    Whether to enable metadata file compaction at runtime.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_size_before_compact_ratio

    +
    +

    Desired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.80000000000000004

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rpc_trace_negotiation

    +
    +

    If enabled, dump traces of all RPC negotiations to the log

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --ipki_server_key_size

    +
    +

    the number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --diagnostics_log_stack_traces_interval_ms

    +
    +

    The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    experimental,runtime

    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20

    Tags

    advanced

    +
    +
    +

    --rpc_proxied_addresses

    +
    +

    Comma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_proxy_advertised_addresses

    +
    +

    This server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_reuseport

    +
    +

    Whether to set the SO_REUSEPORT option on listening RPC sockets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --enable_jwt_token_auth

    +
    +

    This enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +
    +

    --jwks_file_path

    +
    +

    File path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --jwks_url

    +
    +

    URL of the JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +
    +

    --rpc_ca_certificate_file

    +
    +

    Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_certificate_file

    +
    +

    Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +
    +

    --rpc_listen_on_unix_domain_socket

    +
    +

    Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +
    +

    --rpc_private_key_file

    +
    +

    Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +
    +

    --rpc_tls_excluded_protocols

    +
    +

    A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +
    +

    --wall_clock_jump_detection

    +
    +

    Whether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    auto

    Tags

    experimental

    +
    +
    +

    --wall_clock_jump_threshold_sec

    +
    +

    Maximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    900

    Tags

    experimental

    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --budgeted_compaction_target_rowset_size

    +
    +

    The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    33554432

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_approximation_ratio

    +
    +

    Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.0499999523162842

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +
    +

    --rowset_compaction_delta_memory_factor

    +
    +

    The initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    5

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_enforce_preset_factor

    +
    +

    Whether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_estimate_min_deltas_size_mb

    +
    +

    Minimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    64

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_memory_estimate_enabled

    +
    +

    Whether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +
    +

    --deltafile_default_block_size

    +
    +

    Block size for delta files. In the future, this may become configurable on a per-table basis.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    32768

    Tags

    experimental

    +
    +
    +

    --deltafile_default_compression_codec

    +
    +

    The compression codec used when writing deltafiles.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    lz4

    Tags

    experimental

    +
    +
    +

    --default_composite_key_index_block_size_bytes

    +
    +

    Block size used for composite key indexes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    experimental

    +
    +
    +

    --rowset_metadata_store_keys

    +
    +

    Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_major_compact_min_ratio

    +
    +

    Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000149011612

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_minor_compact_max

    +
    +

    How many delta stores are required before forcing a minor delta compaction (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    experimental

    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +
    +

    --compaction_small_rowset_tradeoff

    +
    +

    The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0089999999999999993

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rows_writed_per_sec_for_hot_tablets

    +
    +

    Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --scans_started_per_sec_for_hot_tablets

    +
    +

    Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +
    +

    --tablet_compaction_budget_mb

    +
    +

    Budget for a single compaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_burst_factor

    +
    +

    Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_bytes_per_sec

    +
    +

    Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_rpc_per_sec

    +
    +

    Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --workload_score_upper_bound

    +
    +

    Upper bound for workload score.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_metric_collection_interval_ms

    +
    +

    The interval in milliseconds at which we collect workload metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_rate_collection_min_interval_ms

    +
    +

    The minimal interval in milliseconds at which we collect read/write rates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,experimental

    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --enable_workload_score_for_perf_improvement_ops

    +
    +

    Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --update_stats_log_throttling_interval_sec

    +
    +

    Log throttling interval for messages on disabled compaction emitted by UpdateStats method.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    600

    Tags

    experimental,runtime

    +
    +
    +

    --tablet_max_pending_txn_write_ops

    +
    +

    Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    2

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_mb

    +
    +

    Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_secs

    +
    +

    Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120

    Tags

    runtime,experimental

    +
    +
    +

    --flush_upper_bound_ms

    +
    +

    Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_background_rpc_timeout_ms

    +
    +

    Period (in milliseconds) with which transaction-related background requests are made

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    5000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +
    +

    --txn_keepalive_interval_ms

    +
    +

    Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_staleness_tracker_interval_ms

    +
    +

    Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_status_tablet_failover_catchup_timeout_ms

    +
    +

    Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +

    --enable_txn_system_client_init

    +
    +

    Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +
    +

    --completed_scan_history_count

    +
    +

    Number of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --slow_scan_history_count

    +
    +

    Number of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +
    +

    --tablet_apply_pool_overload_threshold_ms

    +
    +

    The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --txn_participant_registration_pool_num_threads

    +
    +

    Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental,advanced

    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --trace_to_console

    +
    +

    Trace pattern specifying which trace events should be dumped directly to the console

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --crash_on_eio

    +
    +

    Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,advanced

    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --env_use_ioctl_hole_punch_on_xfs

    +
    +

    Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --heap_sample_every_n_bytes

    +
    +

    Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental,advanced

    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +

    --data_gc_min_size_mb

    +
    +

    The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --data_gc_prioritization_prob

    +
    +

    The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_target_replay_size_mb

    +
    +

    The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1024

    Tags

    experimental

    +
    +
    +

    --maintenance_op_multiplier

    +
    +

    Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.1000000000000001

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --max_priority_range

    +
    +

    Maximal priority range of OPs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --local_ip_for_outbound_sockets

    +
    +

    IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/configuration_reference_unsupported.html b/releases/1.17.1/docs/configuration_reference_unsupported.html new file mode 100644 index 0000000000..980fd3dc4e --- /dev/null +++ b/releases/1.17.1/docs/configuration_reference_unsupported.html @@ -0,0 +1,14513 @@ +--- +title: Apache Kudu Unsupported Configuration Flags +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    Apache Kudu Unsupported Configuration Flags

    +
    +
    +
    + + + + + +
    + + +These flags are unsupported and are included for informational purposes only. +They are subject to being changed or removed at any time. +
    +
    +
    +
    +
    +

    kudu-master Unsupported Flags

    +
    +
    +

    Flags not marked stable or evolving are considered experimental and are +unsupported. They are included here for informational purposes only and are +subject to being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +
    +

    --min_compression_ratio

    +
    +

    If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.90000000000000002

    Tags

    experimental

    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +
    +

    --client_use_unix_domain_sockets

    +
    +

    Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +
    +

    --builtin_ntp_request_timeout_ms

    +
    +

    Timeout for requests sent to NTP servers (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3000

    Tags

    runtime,experimental

    +
    +
    +

    --builtin_ntp_true_time_refresh_max_interval_s

    +
    +

    Maximum allowed time interval without refreshing computed true time estimation (in seconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +
    +

    --codegen_dump_functions

    +
    +

    Whether to print the LLVM IR for generated functions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_dump_mc

    +
    +

    Whether to dump the disassembly of the machine code for generated functions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_cache_capacity

    +
    +

    Number of entries which may be stored in the code generation cache.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_queue_capacity

    +
    +

    Number of tasks which may be put in the code generation task queue.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_time_compilation

    +
    +

    Whether to print time that each code generation request took.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --ranger_default_database

    +
    +

    Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between <ranger_default_database>.<table> and <table>, so privileges granted on <table> in <ranger_default_database> are applied to both <ranger_default_database>.<table> and <table> in Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +
    +

    --log_compression_codec

    +
    +

    Codec to use for compressing WAL segments.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    LZ4

    Tags

    experimental

    +
    +
    +

    --log_max_segments_to_retain

    +
    +

    The maximum number of past log segments to keep at all times for the purposes of catching up other peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --leader_failure_exp_backoff_max_delta_ms

    +
    +

    Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20000

    Tags

    experimental

    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +
    +

    --raft_enable_pre_election

    +
    +

    When enabled, candidates will call a pre-election before running a real leader election.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_enable_tombstoned_voting

    +
    +

    When enabled, tombstoned tablets may vote in elections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +
    +

    --raft_prepare_replacement_before_eviction

    +
    +

    When enabled, failed replicas will only be evicted after a replacement has been prepared for them.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --missed_heartbeats_before_rejecting_snapshot_scans

    +
    +

    The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.5

    Tags

    experimental

    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --safe_time_max_lag_ms

    +
    +

    The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental

    +
    +
    +

    --block_manager_preflush_control

    +
    +

    Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    finalize

    Tags

    experimental

    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +
    +

    --cmeta_fsync_override_on_xfs

    +
    +

    Whether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,experimental

    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --log_block_manager_delete_dead_container

    +
    +

    When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +
    +

    --log_container_live_metadata_before_compact_ratio

    +
    +

    Desired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +
    +

    --log_container_metadata_max_size

    +
    +

    Maximum size (soft) of a log container’s metadata. Use 0 for no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_runtime_compact

    +
    +

    Whether to enable metadata file compaction at runtime.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_size_before_compact_ratio

    +
    +

    Desired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.80000000000000004

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +
    +

    --hive_metastore_conn_timeout_seconds

    +
    +

    Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --hive_metastore_kerberos_principal

    +
    +

    The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    hive

    Tags

    +
    +
    +

    --hive_metastore_max_message_size_bytes

    +
    +

    Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    104857600

    Tags

    advanced

    +
    +
    +

    --hive_metastore_recv_timeout_seconds

    +
    +

    Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --hive_metastore_retry_count

    +
    +

    The number of times that HMS operations will retry after encountering retriable failures, such as network errors.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --hive_metastore_sasl_enabled

    +
    +

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --hive_metastore_send_timeout_seconds

    +
    +

    Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --hive_metastore_uris

    +
    +

    Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --trusted_user_acl

    +
    +

    Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +

    --auto_leader_rebalancing_interval_seconds

    +
    +

    How long to sleep in between auto leader rebalancing cycles, before checking the cluster again to see if there is leader skew and if run task again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,advanced

    +
    +
    +

    --auto_leader_rebalancing_rpc_timeout_seconds

    +
    +

    auto leader rebalancing send leader step down rpc timeout seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +
    +

    --leader_rebalancing_max_moves_per_round

    +
    +

    Max count of leader transfer when every leader rebalance runs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +
    +

    --auto_rebalancing_interval_seconds

    +
    +

    How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30

    Tags

    +
    +
    +

    --auto_rebalancing_load_imbalance_threshold

    +
    +

    The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …​) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    +
    +
    +

    --auto_rebalancing_max_moves_per_server

    +
    +

    Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +
    +

    --auto_rebalancing_rpc_timeout_seconds

    +
    +

    RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    60

    Tags

    +
    +
    +

    --auto_rebalancing_wait_for_replica_moves_seconds

    +
    +

    How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +
    +

    --auto_leader_rebalancing_enabled

    +
    +

    Whether automatic leader rebalancing is enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --auto_rebalancing_enabled

    +
    +

    Whether auto-rebalancing is enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --catalog_manager_enable_chunked_tablet_reports

    +
    +

    Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --default_deleted_table_reserve_seconds

    +
    +

    Time in seconds to be reserved before purging a deleted table for the table from DeleteTable request. Value 0 means DeleteTable() works the regular way, i.e. dropping the table and purging its data immediately. If it’s set to anything greater than 0, then all DeleteTable() RPCs are turned into SoftDeleteTable(…​, FLAGS_default_deleted_table_reserve_seconds). NOTE : this flag make no sense for soft-delete function because the reserve_seconds has been specified by user while calling SoftDeleteTable.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +

    --default_num_replicas

    +
    +

    Default number of replicas for tables that do not have the num_replicas set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    runtime,advanced

    +
    +
    +

    --enable_chunked_tablet_writes

    +
    +

    Whether to split tablet actions into chunks when persisting them in sys.catalog table. If disabled, any update of the sys.catalog table will be rejected if exceeds --rpc_max_message_size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --enable_metadata_cleanup_for_deleted_tables_and_tablets

    +
    +

    Whether to clean up metadata for deleted tables and tablets from master’s in-memory map and the 'sys.catalog' table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --enable_per_range_hash_schemas

    +
    +

    Whether to support range-specific hash schemas for tables.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --enable_range_replica_placement

    +
    +

    Whether to use range aware replica placement for newly created tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --enable_table_write_limit

    +
    +

    Enable the table write limit. When the table’s size or row count is approaching the limit, the write may be forbidden.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --master_failover_catchup_timeout_ms

    +
    +

    Amount of time to give a newly-elected leader master to load the previous master’s metadata and become active. If this time is exceeded, the node crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +

    --master_ts_rpc_timeout_ms

    +
    +

    Timeout used for the master→TS async rpc calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    runtime,advanced

    +
    +
    +

    --max_column_comment_length

    +
    +

    Maximum length of the comment of a column.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +
    +

    --max_create_tablets_per_ts

    +
    +

    The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    runtime,advanced

    +
    +
    +

    --max_owner_length

    +
    +

    Maximum length of the name of a table owner.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    +
    +
    +

    --max_table_comment_length

    +
    +

    Maximum length of the comment of a table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +
    +

    --metadata_for_deleted_table_and_tablet_reserved_secs

    +
    +

    After this amount of time, the metadata of a deleted table/tablet will be cleaned up if --enable_metadata_cleanup_for_deleted_tables_and_tablets=true.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +

    --min_num_replicas

    +
    +

    Minimum number of replicas that may be specified when creating a table: this is to enforce the minimum replication factor for tables created in a Kudu cluster. For example, setting this flag to 3 enforces every new table to have at least 3 replicas for each of its tablets, so there cannot be a data loss when a single tablet server fails irrecoverably.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,advanced

    +
    +
    +

    --require_new_spec_for_custom_hash_schema_range_bound

    +
    +

    Whether to require the client to use newer signature to specify range bounds when working with a table having custom hash schema per range.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --table_disk_size_limit

    +
    +

    Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    experimental

    +
    +
    +

    --table_locations_cache_capacity_mb

    +
    +

    Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --table_locations_ttl_ms

    +
    +

    Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,advanced

    +
    +
    +

    --table_row_count_limit

    +
    +

    Set the target row count of a table to write. This is a system wide configuration for every newly created table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    experimental

    +
    +
    +

    --table_write_limit_ratio

    +
    +

    Set the ratio of how much write limit can be reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.94999999999999996

    Tags

    experimental

    +
    +
    +

    --tablet_creation_timeout_ms

    +
    +

    Timeout used by the master when attempting to create tablet replicas during table creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --unresponsive_ts_rpc_timeout_ms

    +
    +

    After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    advanced

    +
    +
    +

    --hive_metastore_notification_log_batch_size

    +
    +

    Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    runtime,advanced

    +
    +
    +

    --hive_metastore_notification_log_poll_period_seconds

    +
    +

    Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    runtime,advanced

    +
    +
    +

    --authn_token_validity_seconds

    +
    +

    Period of time for which an issued authentication token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    604800

    Tags

    experimental

    +
    +
    +

    --authz_token_validity_seconds

    +
    +

    Period of time for which an issued authorization token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    300

    Tags

    experimental

    +
    +
    +

    --check_expired_table_interval_seconds

    +
    +

    Interval (in seconds) to check whether there is any soft_deleted table with expired reservation period. Such tables will be purged and cannot be recalled after that.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +

    --location_mapping_cmd

    +
    +

    A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --master_registration_rpc_timeout_ms

    +
    +

    Timeout for retrieving master registration over RPC.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1500

    Tags

    experimental

    +
    +
    +

    --master_rpc_proxy_advertised_addresses

    +
    +

    RPC endpoints of all masters in this cluster exposed to the external network via a TCP proxy. This is a comma-separated list of the masters' proxy-advertised RPC addresses, each specified via the --rpc_proxy_advertised_addresses flag for a single master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --tsk_rotation_seconds

    +
    +

    Number of seconds between consecutive activations of newly generated TSKs (Token Signing Keys).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    86400

    Tags

    experimental,advanced

    +
    +
    +

    --ipki_ca_cert_expiration_seconds

    +
    +

    validity interval for self-signed root CA certifcate issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    315360000

    Tags

    experimental

    +
    +
    +

    --ipki_ca_key_size

    +
    +

    the number of bits for self-signed root CA cert used by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --ipki_server_cert_expiration_seconds

    +
    +

    validity interval for server certificates issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    315360000

    Tags

    experimental

    +
    +
    +

    --master_auto_join_cluster

    +
    +

    Whether Kudu Masters should automatically attempt to join existing an existing cluster, specified by the master addresses

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --master_auto_join_retry_interval_secs

    +
    +

    The interval, in seconds, with which to retry checks to determine whether this Master should be added to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    5

    Tags

    runtime

    +
    +
    +

    --master_auto_join_rpc_timeout_secs

    +
    +

    The amount of time, in seconds, to use as a timeout when sending RPCs to add this Master to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    30

    Tags

    runtime

    +
    +
    +

    --master_client_location_assignment_enabled

    +
    +

    Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --master_support_change_config

    +
    +

    Whether the master supports adding/removing master servers dynamically.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --tserver_unresponsive_timeout_ms

    +
    +

    The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --txn_manager_lazily_initialized

    +
    +

    Whether to initialize TxnManager upon arrival of first request. Otherwise, TxnManager is initialized upon master’s startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --txn_manager_status_table_num_replicas

    +
    +

    Number of replicas for transaction status table

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3

    Tags

    experimental,advanced

    +
    +
    +

    --txn_manager_status_table_range_partition_span

    +
    +

    A span for a status table’s range partition. Once TxnManager detects there isn’t a backing tablet for a transaction identifier, it adds a new range partition in the transaction status table with the lower bound equal to the upper bound of the previous range and (lower bound + span) as the upper bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1000000

    Tags

    experimental,advanced

    +
    +
    +

    --ranger_config_path

    +
    +

    Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_crash_master_on_subprocess_failure

    +
    +

    Whether to crash the Master if the Ranger subprocess crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --ranger_jar_path

    +
    +

    Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary. It can be a colon-separated list of JARs. If it is, the paths are not verified and passed straight to Java.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_java_extra_args

    +
    +

    Extra JVM arguments to be passed to the Ranger subprocess.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_java_path

    +
    +

    Path where the Java binary was installed. If the value isn’t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user’s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user’s PATH.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --ranger_receiver_fifo_dir

    +
    +

    Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rpc_trace_negotiation

    +
    +

    If enabled, dump traces of all RPC negotiations to the log

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --ipki_server_key_size

    +
    +

    the number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --tsk_num_rsa_bits

    +
    +

    Number of bits in RSA keys used for token signing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --diagnostics_log_stack_traces_interval_ms

    +
    +

    The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    experimental,runtime

    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --rpc_proxied_addresses

    +
    +

    Comma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_proxy_advertised_addresses

    +
    +

    This server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_reuseport

    +
    +

    Whether to set the SO_REUSEPORT option on listening RPC sockets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    advanced

    +
    +
    +

    --enable_jwt_token_auth

    +
    +

    This enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +
    +

    --jwks_file_path

    +
    +

    File path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --jwks_url

    +
    +

    URL of the JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +
    +

    --rpc_ca_certificate_file

    +
    +

    Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_certificate_file

    +
    +

    Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +
    +

    --rpc_listen_on_unix_domain_socket

    +
    +

    Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +
    +

    --rpc_private_key_file

    +
    +

    Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +
    +

    --rpc_tls_excluded_protocols

    +
    +

    A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +
    +

    --wall_clock_jump_detection

    +
    +

    Whether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    auto

    Tags

    experimental

    +
    +
    +

    --wall_clock_jump_threshold_sec

    +
    +

    Maximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    900

    Tags

    experimental

    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --subprocess_deadline_checking_interval_ms

    +
    +

    Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +
    +

    --subprocess_max_message_size_bytes

    +
    +

    Maximum payload size for a message in protobuf format the subprocess server accepts from a subprocess (i.e. its child), in bytes, 0 means unlimited. If a subprocess sends a message with bigger payload than the specified limit, the server rejects the message and responds with AppStatusPB::IO_ERROR error code. This setting is not effective for messages in JSON format.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    8388608

    Tags

    advanced

    +
    +
    +

    --subprocess_num_responder_threads

    +
    +

    Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --subprocess_queue_full_retry_ms

    +
    +

    Number of milliseconds between attempts to enqueue the request to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +
    +

    --subprocess_request_queue_size_bytes

    +
    +

    Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +
    +

    --subprocess_response_queue_size_bytes

    +
    +

    Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +
    +

    --subprocess_timeout_secs

    +
    +

    Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15

    Tags

    advanced

    +
    +
    +

    --budgeted_compaction_target_rowset_size

    +
    +

    The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    33554432

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_approximation_ratio

    +
    +

    Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.0499999523162842

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +
    +

    --rowset_compaction_delta_memory_factor

    +
    +

    The initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    5

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_enforce_preset_factor

    +
    +

    Whether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_estimate_min_deltas_size_mb

    +
    +

    Minimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    64

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_memory_estimate_enabled

    +
    +

    Whether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +
    +

    --deltafile_default_block_size

    +
    +

    Block size for delta files. In the future, this may become configurable on a per-table basis.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    32768

    Tags

    experimental

    +
    +
    +

    --deltafile_default_compression_codec

    +
    +

    The compression codec used when writing deltafiles.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    lz4

    Tags

    experimental

    +
    +
    +

    --default_composite_key_index_block_size_bytes

    +
    +

    Block size used for composite key indexes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    experimental

    +
    +
    +

    --rowset_metadata_store_keys

    +
    +

    Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_major_compact_min_ratio

    +
    +

    Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000149011612

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_minor_compact_max

    +
    +

    How many delta stores are required before forcing a minor delta compaction (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    experimental

    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +
    +

    --compaction_small_rowset_tradeoff

    +
    +

    The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0089999999999999993

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rows_writed_per_sec_for_hot_tablets

    +
    +

    Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --scans_started_per_sec_for_hot_tablets

    +
    +

    Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +
    +

    --tablet_compaction_budget_mb

    +
    +

    Budget for a single compaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_burst_factor

    +
    +

    Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_bytes_per_sec

    +
    +

    Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_rpc_per_sec

    +
    +

    Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --workload_score_upper_bound

    +
    +

    Upper bound for workload score.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_metric_collection_interval_ms

    +
    +

    The interval in milliseconds at which we collect workload metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_rate_collection_min_interval_ms

    +
    +

    The minimal interval in milliseconds at which we collect read/write rates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,experimental

    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --enable_workload_score_for_perf_improvement_ops

    +
    +

    Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --update_stats_log_throttling_interval_sec

    +
    +

    Log throttling interval for messages on disabled compaction emitted by UpdateStats method.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    600

    Tags

    experimental,runtime

    +
    +
    +

    --tablet_max_pending_txn_write_ops

    +
    +

    Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    2

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_mb

    +
    +

    Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_secs

    +
    +

    Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120

    Tags

    runtime,experimental

    +
    +
    +

    --flush_upper_bound_ms

    +
    +

    Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_background_rpc_timeout_ms

    +
    +

    Period (in milliseconds) with which transaction-related background requests are made

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    5000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +
    +

    --txn_keepalive_interval_ms

    +
    +

    Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_staleness_tracker_interval_ms

    +
    +

    Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_status_tablet_failover_catchup_timeout_ms

    +
    +

    Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +

    --enable_txn_system_client_init

    +
    +

    Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +
    +

    --completed_scan_history_count

    +
    +

    Number of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --slow_scan_history_count

    +
    +

    Number of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --txn_participant_registration_pool_num_threads

    +
    +

    Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental,advanced

    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --trace_to_console

    +
    +

    Trace pattern specifying which trace events should be dumped directly to the console

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --crash_on_eio

    +
    +

    Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,advanced

    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --env_use_ioctl_hole_punch_on_xfs

    +
    +

    Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --heap_sample_every_n_bytes

    +
    +

    Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental,advanced

    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +

    --data_gc_min_size_mb

    +
    +

    The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --data_gc_prioritization_prob

    +
    +

    The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_target_replay_size_mb

    +
    +

    The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1024

    Tags

    experimental

    +
    +
    +

    --maintenance_op_multiplier

    +
    +

    Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.1000000000000001

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --max_priority_range

    +
    +

    Maximal priority range of OPs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --local_ip_for_outbound_sockets

    +
    +

    IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +
    +
    +

    kudu-tserver Unsupported Flags

    +
    +
    +

    Flags not marked stable or evolving are considered experimental and are +unsupported. They are included here for informational purposes only and are +subject to being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +
    +

    --min_compression_ratio

    +
    +

    If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.90000000000000002

    Tags

    experimental

    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +
    +

    --client_use_unix_domain_sockets

    +
    +

    Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +
    +

    --builtin_ntp_request_timeout_ms

    +
    +

    Timeout for requests sent to NTP servers (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3000

    Tags

    runtime,experimental

    +
    +
    +

    --builtin_ntp_true_time_refresh_max_interval_s

    +
    +

    Maximum allowed time interval without refreshing computed true time estimation (in seconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +
    +

    --codegen_dump_functions

    +
    +

    Whether to print the LLVM IR for generated functions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_dump_mc

    +
    +

    Whether to dump the disassembly of the machine code for generated functions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --codegen_cache_capacity

    +
    +

    Number of entries which may be stored in the code generation cache.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_queue_capacity

    +
    +

    Number of tasks which may be put in the code generation task queue.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +

    --codegen_time_compilation

    +
    +

    Whether to print time that each code generation request took.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +
    +

    --log_compression_codec

    +
    +

    Codec to use for compressing WAL segments.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    LZ4

    Tags

    experimental

    +
    +
    +

    --log_max_segments_to_retain

    +
    +

    The maximum number of past log segments to keep at all times for the purposes of catching up other peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --leader_failure_exp_backoff_max_delta_ms

    +
    +

    Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20000

    Tags

    experimental

    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +
    +

    --raft_enable_pre_election

    +
    +

    When enabled, candidates will call a pre-election before running a real leader election.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_enable_tombstoned_voting

    +
    +

    When enabled, tombstoned tablets may vote in elections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +
    +

    --raft_prepare_replacement_before_eviction

    +
    +

    When enabled, failed replicas will only be evicted after a replacement has been prepared for them.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --missed_heartbeats_before_rejecting_snapshot_scans

    +
    +

    The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.5

    Tags

    experimental

    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --safe_time_max_lag_ms

    +
    +

    The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental

    +
    +
    +

    --block_manager_preflush_control

    +
    +

    Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    finalize

    Tags

    experimental

    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +
    +

    --cmeta_fsync_override_on_xfs

    +
    +

    Whether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,experimental

    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --log_block_manager_delete_dead_container

    +
    +

    When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +
    +

    --log_container_live_metadata_before_compact_ratio

    +
    +

    Desired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +
    +

    --log_container_metadata_max_size

    +
    +

    Maximum size (soft) of a log container’s metadata. Use 0 for no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_runtime_compact

    +
    +

    Whether to enable metadata file compaction at runtime.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --log_container_metadata_size_before_compact_ratio

    +
    +

    Desired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.80000000000000004

    Tags

    experimental,advanced

    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rpc_trace_negotiation

    +
    +

    If enabled, dump traces of all RPC negotiations to the log

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,runtime,advanced

    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --ipki_server_key_size

    +
    +

    the number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --diagnostics_log_stack_traces_interval_ms

    +
    +

    The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    experimental,runtime

    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20

    Tags

    advanced

    +
    +
    +

    --rpc_proxied_addresses

    +
    +

    Comma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_proxy_advertised_addresses

    +
    +

    This server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_reuseport

    +
    +

    Whether to set the SO_REUSEPORT option on listening RPC sockets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --enable_jwt_token_auth

    +
    +

    This enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +
    +

    --jwks_file_path

    +
    +

    File path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --jwks_url

    +
    +

    URL of the JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +
    +

    --rpc_ca_certificate_file

    +
    +

    Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_certificate_file

    +
    +

    Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +
    +

    --rpc_listen_on_unix_domain_socket

    +
    +

    Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +
    +

    --rpc_private_key_file

    +
    +

    Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +
    +

    --rpc_tls_excluded_protocols

    +
    +

    A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +
    +

    --wall_clock_jump_detection

    +
    +

    Whether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    auto

    Tags

    experimental

    +
    +
    +

    --wall_clock_jump_threshold_sec

    +
    +

    Maximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    900

    Tags

    experimental

    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +

    --budgeted_compaction_target_rowset_size

    +
    +

    The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    33554432

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_approximation_ratio

    +
    +

    Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.0499999523162842

    Tags

    experimental,advanced

    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +
    +

    --rowset_compaction_delta_memory_factor

    +
    +

    The initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    5

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_enforce_preset_factor

    +
    +

    Whether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_estimate_min_deltas_size_mb

    +
    +

    Minimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    64

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_memory_estimate_enabled

    +
    +

    Whether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +
    +

    --deltafile_default_block_size

    +
    +

    Block size for delta files. In the future, this may become configurable on a per-table basis.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    32768

    Tags

    experimental

    +
    +
    +

    --deltafile_default_compression_codec

    +
    +

    The compression codec used when writing deltafiles.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    lz4

    Tags

    experimental

    +
    +
    +

    --default_composite_key_index_block_size_bytes

    +
    +

    Block size used for composite key indexes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    experimental

    +
    +
    +

    --rowset_metadata_store_keys

    +
    +

    Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_major_compact_min_ratio

    +
    +

    Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000149011612

    Tags

    experimental

    +
    +
    +

    --tablet_delta_store_minor_compact_max

    +
    +

    How many delta stores are required before forcing a minor delta compaction (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    experimental

    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +
    +

    --compaction_small_rowset_tradeoff

    +
    +

    The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0089999999999999993

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +

    --rows_writed_per_sec_for_hot_tablets

    +
    +

    Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,experimental

    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --scans_started_per_sec_for_hot_tablets

    +
    +

    Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +
    +

    --tablet_compaction_budget_mb

    +
    +

    Budget for a single compaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_burst_factor

    +
    +

    Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_bytes_per_sec

    +
    +

    Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --tablet_throttler_rpc_per_sec

    +
    +

    Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --workload_score_upper_bound

    +
    +

    Upper bound for workload score.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_metric_collection_interval_ms

    +
    +

    The interval in milliseconds at which we collect workload metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,experimental

    +
    +
    +

    --workload_stats_rate_collection_min_interval_ms

    +
    +

    The minimal interval in milliseconds at which we collect read/write rates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,experimental

    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +

    --enable_workload_score_for_perf_improvement_ops

    +
    +

    Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +

    --update_stats_log_throttling_interval_sec

    +
    +

    Log throttling interval for messages on disabled compaction emitted by UpdateStats method.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    600

    Tags

    experimental,runtime

    +
    +
    +

    --tablet_max_pending_txn_write_ops

    +
    +

    Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    2

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_mb

    +
    +

    Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    runtime,experimental

    +
    +
    +

    --flush_threshold_secs

    +
    +

    Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120

    Tags

    runtime,experimental

    +
    +
    +

    --flush_upper_bound_ms

    +
    +

    Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_background_rpc_timeout_ms

    +
    +

    Period (in milliseconds) with which transaction-related background requests are made

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    5000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +
    +

    --txn_keepalive_interval_ms

    +
    +

    Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_staleness_tracker_interval_ms

    +
    +

    Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime,experimental

    +
    +
    +

    --txn_status_tablet_failover_catchup_timeout_ms

    +
    +

    Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +

    --enable_txn_system_client_init

    +
    +

    Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +
    +

    --completed_scan_history_count

    +
    +

    Number of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +

    --slow_scan_history_count

    +
    +

    Number of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +
    +

    --tablet_apply_pool_overload_threshold_ms

    +
    +

    The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --txn_participant_registration_pool_num_threads

    +
    +

    Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental,advanced

    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --trace_to_console

    +
    +

    Trace pattern specifying which trace events should be dumped directly to the console

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --crash_on_eio

    +
    +

    Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,advanced

    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +

    --env_use_ioctl_hole_punch_on_xfs

    +
    +

    Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +

    --heap_sample_every_n_bytes

    +
    +

    Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental,advanced

    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +

    --data_gc_min_size_mb

    +
    +

    The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +

    --data_gc_prioritization_prob

    +
    +

    The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +

    --log_target_replay_size_mb

    +
    +

    The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1024

    Tags

    experimental

    +
    +
    +

    --maintenance_op_multiplier

    +
    +

    Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.1000000000000001

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --max_priority_range

    +
    +

    Maximal priority range of OPs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced,experimental

    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +

    --local_ip_for_outbound_sockets

    +
    +

    IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/contributing.html b/releases/1.17.1/docs/contributing.html new file mode 100644 index 0000000000..d770320672 --- /dev/null +++ b/releases/1.17.1/docs/contributing.html @@ -0,0 +1,1129 @@ +--- +title: Contributing to Apache Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:39:22 -0700' +--- + + + +
    +
    +
    + +

    Contributing to Apache Kudu

    +
    +

    Contributing Patches Using Gerrit

    +
    +
    +

    The Kudu team uses Gerrit for code review, rather than Github pull requests. Typically, +you pull from Github but push to Gerrit, and Gerrit is used to review code and merge +it into Github.

    +
    +
    +

    See the Gerrit Tutorial +for an overview of using Gerrit for code review.

    +
    +
    +

    Initial Setup for Gerrit

    +
    +
      +
    1. +

      Sign in to Gerrit using your Github username.

      +
    2. +
    3. +

      Go to Settings. Update your name +and email address on the Contact Information page, and upload a SSH public +key under SSH Public Keys if you would like to use SSH to connect to Gerrit. +Generate an HTTP password under HTTP Password if you would like to use HTTP +or HTTPS to connect to Gerrit. (Most Kudu developers use the SSH option.)

      +
      + + + + + +
      + + +If you do not update your name, it will appear as "Anonymous Coward" in +Gerrit reviews. +
      +
      +
    4. +
    5. +

      If you have not done so, clone the main Kudu repository. By default, the main remote +is called origin. When you fetch or pull, you will do so from origin.

      +
      +
      +
      git clone https://github.com/apache/kudu
      +
      +
      +
    6. +
    7. +

      Change to the new kudu directory.

      +
    8. +
    9. +

      Add a gerrit remote.

      +
      +

      If using SSH to connect to Gerrit, use the following command to add the Gerrit +remote (substitute <username> with your Github username):

      +
      +
      +
      +
      git remote add gerrit ssh://<username>@gerrit.cloudera.org:29418/kudu
      +
      +
      +
      +

      If using HTTP or HTTPS to connect to Gerrit, use the following command to add +the Gerrit remote (http:// also works):

      +
      +
      +
      +
      git remote add gerrit https://gerrit.cloudera.org/a/kudu
      +
      +
      +
      + + + + + +
      + + +
      +

      If you are using Gerrit’s HTTP or HTTPS endpoints and prefer not to type a +username and password each time you submit a patch, you can put your login and +password into a .netrc file located at $HOME/.netrc and Git will use it. +The password is stored as plaintext and the file format is as follows:

      +
      +
      +
      +
      machine <hostname>
      +  login <username>
      +  password <password>
      +
      +
      +
      +
      +
    10. +
    11. +

      Run the following command to install the Gerrit commit-msg hook:

      +
      +
      +
      cd kudu
      +gitdir=$(git rev-parse --git-dir)
      +curl -LSsf https://gerrit.cloudera.org/tools/hooks/commit-msg -o ${gitdir}/hooks/commit-msg
      +chmod +x ${gitdir}/hooks/commit-msg
      +
      +
      +
    12. +
    13. +

      Be sure you have set the Kudu repository to use pull --rebase by default. You +can use the following two commands, assuming you have only ever checked out master +so far:

      +
      +
      +
      git config branch.autosetuprebase always
      +git config branch.master.rebase true
      +
      +
      +
      +

      If for some reason you had already checked out branches other than master, substitute +master for the other branch names in the second command above.

      +
      +
    14. +
    +
    +
    +
    +

    Submitting Patches

    +
    +

    To submit a patch, first commit your change (using a descriptive multi-line +commit message if possible), then push the request to the gerrit remote. For instance, to push a change +to the master branch:

    +
    +
    +
    +
    git push gerrit HEAD:refs/for/master --no-thin
    +
    +
    +
    +

    or to push a change to the gh-pages branch (to update the website):

    +
    +
    +
    +
    git push gerrit HEAD:refs/for/gh-pages --no-thin
    +
    +
    +
    + + + + + +
    + + +While preparing a patch for review, it’s a good idea to follow +generic git commit guidelines and good practices. +
    +
    +
    + + + + + +
    + + +The --no-thin argument is a workaround to prevent an error in Gerrit. See +https://code.google.com/p/gerrit/issues/detail?id=1582. +
    +
    +
    + + + + + +
    + + +Consider creating Git aliases for the above commands. Gerrit also includes +a command-line tool called +git-review, +which you may find helpful. +
    +
    +
    + + + + + +
    + + +You can add reviewers automatically for a patch by adding their GitHub +username or associated email address to the remote branch name following with +the "r" flag: +
    +
    +
    +
    +
    git push gerrit HEAD:refs/for/master%r=githubuser,r=example@apache.org
    +
    +
    +
    + + + + + +
    + + +To find possible reviewer candidates for your commit, use git blame or git +log to find out who are involved with the area you’re touching. It’s also a +good idea to add as reviewer whoever is involved with the JIRA you’re working +on. +
    +
    +
    +

    Gerrit will add a change ID to your commit message and will create a Gerrit review, +whose URL will be emitted as part of the push reply. If desired, you can send a message +to the kudu-dev mailing list, explaining your patch and requesting review.

    +
    +
    +

    After getting feedback, you can update or amend your commit, (for instance, using +a command like git commit --amend) while leaving the Change +ID intact. Push your change to Gerrit again, and this will create a new patch set +in Gerrit and notify all reviewers about the change.

    +
    +
    +

    When your code has been reviewed and is ready to be merged into the Kudu code base, +a Kudu committer will merge it using Gerrit. You can discard your local branch.

    +
    +
    +
    +

    Abandoning a Review

    +
    +

    If your patch is not accepted or you decide to pull it from consideration, you can +use the Gerrit UI to Abandon the patch. It will still show in Gerrit’s history, +but will not be listed as a pending review.

    +
    +
    +
    +

    Reviewing Patches In Gerrit

    +
    +

    You can view a unified or side-by-side diff of changes in Gerrit using the web UI. +To leave a comment, click the relevant line number or highlight the relevant part +of the line, and type 'c' to bring up a comment box. To submit your comments and/or +your review status, go up to the top level of the review and click Reply. You can +add additional top-level comments here, and submit them.

    +
    +
    +

    To check out code from a Gerrit review, click Download and paste the relevant Git +commands into your Git client. You can then update the commit and push to Gerrit to +submit a patch to the review, even if you were not the original reviewer.

    +
    +
    +

    Gerrit allows you to vote on a review. A vote of +2 from at least one committer +(besides the submitter) is required before the patch can be merged.

    +
    +
    +
    +
    +
    +

    Code Style

    +
    +
    +

    C++ Code Style

    +
    +

    Get familiar with these guidelines so that your contributions can be reviewed and +integrated quickly and easily.

    +
    +
    +

    In general, Kudu follows the +Google C++ Style Guide.

    +
    +
    +

    A clang-format file is provided in src/kudu/.clang-format which allows +automatic formatting of source code whitespacing, indentation, etc. Not all +existing code conforms to this automatic formatting, so prefer using +clang-format-diff to format only the lines changed by your patch. For example, +after making a commit, run the following from the root of your checked out +source:

    +
    +
    +

    +

    +
    +
    +
    +
    git show -U0 | build-support/clang_format_diff.sh -i -p1
    +git commit -a --amend
    +
    +
    +
    +
    +

    Exceptions from Google Style Guide

    +
    +

    Kudu’s code base makes the following notable exceptions from the Google Style Guide +referenced above:

    +
    +
    +

    Notes on C++ 11

    +
    +

    Kudu uses C++ 11. Check out this handy guide to C++ 11 move semantics and rvalue +references: https://www.chromium.org/rvalue-references

    +
    +
    +

    We aim to follow most of the same guidelines, such as, where possible, migrating +away from foo.Pass() in favor of std::move(foo).

    +
    +
    +
    +

    Limitations on boost Use

    +
    +

    boost classes from header-only libraries can be used in cases where a suitable +replacement does not exist in the Kudu code base. However:

    +
    +
    +
      +
    • +

      Do not introduce dependencies on boost classes where equivalent functionality +exists in the standard C++ library or in src/kudu/gutil/. For example, prefer +strings::Split() from gutil rather than boost::split.

      +
    • +
    • +

      Prefer using functionality from boost rather than re-implementing the same +functionality, unless using the boost functionality requires excessive use of +C++ features which are disallowed by our style guidelines. For example, +boost::spirit is heavily based on template metaprogramming and should not be used.

      +
    • +
    • +

      Do not use boost in any public headers for the Kudu C++ client, because +boost commonly breaks backward compatibility, and passing data between two +boost versions (one by the user, one by Kudu) causes serious issues.

      +
    • +
    +
    +
    +

    When in doubt about introducing a new dependency on any boost functionality, +it is best to email dev@kudu.apache.org to start a discussion.

    +
    +
    +
    +

    Line length

    +
    +

    The Kudu team allows line lengths of 100 characters per line, rather than Google’s standard of 80. Try to +keep under 80 where possible, but you can spill over to 100 or so if necessary.

    +
    +
    +
    +

    Pointers

    +
    +
    Smart Pointers and Singly-Owned Pointers
    +

    Generally, most objects should have clear "single-owner" semantics. +Most of the time, singly-owned objects can be wrapped in a unique_ptr<> +which ensures deletion on scope exit and prevents accidental copying.

    +
    +
    +

    If an object is singly owned, but referenced from multiple places, such as when +the pointed-to object is known to be valid at least as long as the pointer itself, +associate a comment with the constructor which takes and stores the raw pointer, +as in the following example.

    +
    +
    +
    +
      // 'blah' must remain valid for the lifetime of this class
    +  MyClass(const Blah* blah) :
    +    blah_(blah) {
    +  }
    +
    +
    +
    + + + + + +
    + + +Using std::auto_ptr is strictly disallowed because of its difficult and +bug-prone semantics. Besides, std::auto_ptr is declared deprecated +since C++11. +
    +
    +
    +
    Smart Pointers for Multiply-Owned Pointers:
    +

    Although single ownership is ideal, sometimes it is not possible, particularly +when multiple threads are in play and the lifetimes of the pointers are not +clearly defined. In these cases, you can use either std::shared_ptr or +Kudu’s own scoped_refptr from gutil/ref_counted.hpp. Each of these mechanisms +relies on reference counting to automatically delete the referent once no more +pointers remain. The key difference between these two types of pointers is that +scoped_refptr requires that the object extend a RefCounted base class, and +stores its reference count inside the object storage itself, while shared_ptr +maintains a separate reference count on the heap.

    +
    +
    +

    The pros and cons are:

    +
    +
    +
    shared_ptr
    +
      +
    • +

      can be used with any type of object, without the +object deriving from a special base class

      +
    • +
    • +

      part of the standard library and familiar to most +C++ developers

      +
    • +
    • +

      supports the weak_ptr use cases:

      +
      +
        +
      • +

        a temporary ownership when an object needs to be accessed only if it exists

        +
      • +
      • +

        break circular references of shared_ptr, if any exists due to aggregation

        +
      • +
      +
      +
    • +
    • +

      you can convert from the +shared_ptr into the weak_ptr and back

      +
    • +
    • +

      if creating an instance with +std::make_shared<>() only one allocation is made (since C++11; +a non-binding requirement in the Standard, though)

      +
    • +
    • +

      if creating a new object with +shared_ptr<T> p(new T) requires two allocations (one to create the ref count, +and one to create the object)

      +
    • +
    • +

      the ref count may not be near the object on the heap, +so extra cache misses may be incurred on access

      +
    • +
    • +

      the shared_ptr instance itself requires 16 bytes +(pointer to the ref count and pointer to the object)

      +
    • +
    +
    +
    +
    scoped_refptr
    +
      +
    • +

      only requires a single allocation, and ref count +is on the same cache line as the object

      +
    • +
    • +

      the pointer only requires 8 bytes (since +the ref count is within the object)

      +
    • +
    • +

      you can manually increase or decrease +reference counts when more control is required

      +
    • +
    • +

      you can convert from a raw pointer back +to a scoped_refptr safely without worrying about double freeing

      +
    • +
    • +

      since we control the implementation, we +can implement features, such as debug builds that capture the stack trace of every +referent to help debug leaks.

      +
    • +
    • +

      the referred-to object must inherit +from RefCounted

      +
    • +
    • +

      does not support the weak_ptr use cases

      +
    • +
    +
    +
    +

    Since scoped_refptr is generally faster and smaller, try to use it +rather than shared_ptr in new code. Existing code uses shared_ptr +in many places. When interfacing with that code, you can continue to use shared_ptr.

    +
    +
    +
    +

    Function Binding and Callbacks

    +
    +

    All code should use C++11 lambdas to capture and manage functors. Functions that +take a lambda as an argument should use std::function as the argument’s +type. Do not use boost::bind or std::bind to create functors. Lambdas offer +the compiler greater opportunity to inline, and std::bind in particular is +error-prone and has a proclivity towards heap +allocation for storing bound parameters.

    +
    +
    +

    Until Kudu is upgraded to C++14, lambda support will be +somewhat incomplete. For example, it +is not possible in C++11 to capture an argument by move. Nor is it possible +to define new variables in the context of a lambda capture. Workarounds for +these deficiencies exist, and they must be used in the interim.

    +
    +
    +
    +

    GFlags

    +
    +

    Kudu uses gflags for both command-line and file-based configuration. Use these guidelines +to add a new gflag. All new gflags must conform to these +guidelines. Existing non-conformant ones will be made conformant in time.

    +
    +
    +
    Name
    +

    The gflag’s name conveys a lot of information, so choose a good name. The name +will propagate into other systems, such as the +Configuration Reference.

    +
    +
    +
      +
    • +

      The different parts of a multi-word name should be separated by underscores. +For example, fs_data_dirs.

      +
    • +
    • +

      The name should be prefixed with the context that it affects. For example, +webserver_num_worker_threads and cfile_default_block_size. Context can be +difficult to define, so bear in mind that this prefix will be +used to group similar gflags together. If the gflag affects the entire +process, it should not be prefixed.

      +
    • +
    • +

      If the gflag is for a quantity, the name should be suffixed with the units. +For example, tablet_copy_idle_timeout_ms.

      +
    • +
    • +

      Where possible, use short names. This will save time for those entering +command line options by hand.

      +
    • +
    • +

      The name is part of Kudu’s compatibility contract, and should not change +without very good reason.

      +
    • +
    +
    +
    +
    Default value
    +

    Choosing a default value is generally simple, but like the name, it propagates +into other systems.

    +
    +
    +
      +
    • +

      The default value is part of Kudu’s compatibility contract, and should not +change without very good reason.

      +
    • +
    +
    +
    +
    Description
    +

    The gflag’s description should supplement the name and provide additional +context and information. Like the name, the description propagates into other +systems.

    +
    +
    +
      +
    • +

      The description may include multiple sentences. Each should begin with a +capital letter, end with a period, and begin one space after the previous.

      +
    • +
    • +

      The description should NOT include the gflag’s type or default value; they are +provided out-of-band.

      +
    • +
    • +

      The description should be in the third person. Do not use words like you.

      +
    • +
    • +

      A gflag description can be changed freely; it is not expected to remain the +same across Kudu releases.

      +
    • +
    +
    +
    +
    Tags
    +

    Kudu’s gflag tagging mechanism adds machine-readable context to each gflag, for +use in consuming systems such as documentation or management tools. See the large block +comment in flag_tags.h for guidelines.

    +
    +
    +
    Miscellaneous
    +
      +
    • +

      Avoid creating multiple gflags for the same logical parameter. For +example, many Kudu binaries need to configure a WAL directory. Rather than +creating foo_wal_dir and bar_wal_dir gflags, better to have a single +kudu_wal_dir gflag for use universally.

      +
    • +
    +
    +
    +
    +
    +

    Java Code Style

    +
    +

    Preconditions vs assert in the Kudu Java client

    +
    +

    Use assert for verification of the static (i.e. non-runtime) internal +invariants. Internal means the pre- and post-conditions which are +completely under control of the code of a class or a function itself and cannot +be influenced by input parameters and other runtime/dynamic conditions.

    +
    +
    +

    Use Preconditions for verification of the input parameters and the other +conditions which are outside of the control of the local code, or conditions +which are dependent on the state of other objects/components in runtime.

    +
    +
    +
    +
    Object pop() {
    +  // Use Preconditions here because the external user of the class should not
    +  // call pop() on an empty stack, but the stack itself is internally consistent
    +  Preconditions.checkState(curSize > 0, "queue must not be empty");
    +  Object toReturn = data[--curSize];
    +  // Use an assert here because if we ended up with a negative size counter,
    +  // that's an indication of a broken implementation of the stack; i.e. it's
    +  // an invariant, not a state check.
    +  assert curSize >= 0;
    +  return toReturn;
    +}
    +
    +
    +
    +

    However, keep in mind that assert checks are enabled only when the JVM is +run with -ea option. So, if some dynamic condition is crucial for the +overall consistency (e.g. a data loss can occur if some dynamic condition is not +satisfied and the code continues its execution), consider throwing an +AssertionError:

    +
    +
    +
    +
    if (!isCriticalConditionSatisfied) {
    +  throw new AssertionError("cannot continue: data loss is possible otherwise");
    +}
    +
    +
    +
    +
    Checking code style with Gradle checkStyle
    +
    +

    Before posting a Java patch to Gerrit for review, make sure to check Java code +style with Gradle checkstyle plugin. See +Gradle Checkstyle Plugin documentation +for more information.

    +
    +
    +
    +
    ./gradlew checkstyle
    +
    +
    +
    + +
    +
    +
    +

    CMake Style Guide

    +
    +

    CMake allows commands in lower, upper, or mixed case. To keep +the CMake files consistent, please use the following guidelines:

    +
    +
    +
      +
    • +

      built-in commands in lowercase

      +
    • +
    +
    +
    +
    +
    add_subdirectory(some/path)
    +
    +
    +
    +
      +
    • +

      built-in arguments in uppercase

      +
    • +
    +
    +
    +
    +
    message(STATUS "message goes here")
    +
    +
    +
    +
      +
    • +

      custom commands or macros in uppercase

      +
    • +
    +
    +
    +
    +
    ADD_KUDU_TEST(some-test)
    +
    +
    +
    +
    +
    +
    +

    Third-party dependencies

    +
    +
    +

    Like many complex applications, Kudu depends on a number of third-party +dependencies. Some (such as OpenSSL) are expected to be found on the build +system itself. However, the vast majority are "vendored" in the thirdparty/ +tree. These dependencies are all versioned and pinned. They are also +source-based; the dependencies are built before the rest of Kudu is built using +the build-if-necessary.sh script.

    +
    +
    +

    Third-party dependencies and their versions are defined in vars.sh. The source +code for each dependency is located in a tarball, typically named +<dependency>-<version>.tar.gz. The tarballs are stored in an Amazon S3 bucket +operated by Cloudera. The bucket is cached in Amazon CloudFront to maximize +download performance and reliability.

    +
    +
    +

    If as part of your contribution you need to add a new third-party dependency, +here’s what you need to do:

    +
    +
    +
      +
    1. +

      Begin by preparing a source tarball for the new dependency. Ideally it should +be a vanilla tarball obtained directly from an upstream project, but sometimes +either its name or the contents need to be massaged to meet Kudu’s expectations.

      +
    2. +
    3. +

      Add the new dependency to the third-party build. You’ll need to modify +vars.sh, download-thirdparty.sh, build-definitions.sh, and +build-thirdparty.sh.

      +
    4. +
    5. +

      On your local machine, extract the source tarball into thirdparty/src.

      +
    6. +
    7. +

      Test the dependency’s build by running build-thirdparty.sh <dependency>. +This should build and install the dependency into thirdparty/installed, making +it available for the Kudu build.

      +
    8. +
    9. +

      Test the Kudu build using the new dependency. You will need to pass +NO_REBUILD_THIRDPARTY=1 in the environment to prevent the Kudu build from +rebuilding the thirdparty/ tree (whereupon it’ll fail to download the new +dependency).

      +
    10. +
    11. +

      When everything checks out, contact a Kudu committer who is also a Cloudera +employee and ask them to upload your source tarball to S3.

      +
    12. +
    13. +

      After the tarball has been uploaded, test the entire third-party build +end-to-end by running build-if-necessary.sh.

      +
    14. +
    15. +

      Publish your patch to gerrit. With the tarball uploaded, the precommit builds +should download and build the new dependency successfully.

      +
    16. +
    +
    +
    +
    +
    +

    Testing

    +
    +
    +
    +
    All new code should have tests.
    +
    +

    Add new tests either in existing files, or create new test files as necessary.

    +
    +
    All bug fixes should have tests.
    +
    +

    It’s OK to fix a bug without adding a +new test if it’s triggered by an existing test case. For example, if a +race shows up when running a multi-threaded system test after 20 +minutes or so, it’s worth trying to make a more targeted test case to +trigger the bug. But if that’s hard to do, the existing system test +should be enough.

    +
    +
    Tests should run quickly (< 1s).
    +
    +

    If you want to write a time-intensive +test, make the runtime dependent on KuduTest#AllowSlowTests, which is +enabled via the KUDU_ALLOW_SLOW_TESTS environment variable and is +used by Jenkins test execution.

    +
    +
    Tests which run a number of iterations of some task should use a gflags command-line argument for the number of iterations.
    +
    +

    This is handy for writing quick stress tests or performance tests.

    +
    +
    Commits which may affect performance should include before/after perf-stat(1) output.
    +
    +

    This will show performance improvement or non-regression. +Performance-sensitive code should include some test case which can be used as a +targeted benchmark.

    +
    +
    +
    +
    +
    +
    +

    Documentation

    +
    +
    +

    See the +Documentation Style Guide +for guidelines about contributing to the official Kudu documentation.

    +
    +
    +
    +
    +

    Blog posts

    +
    +
    +

    Writing a post on the Kudu blog

    +
    +

    If you are using or integrating with Kudu, consider doing a write-up about your +use case and your integration with Kudu and submitting it to be posted as an +article on the Kudu blog. People in the community love to read about how Kudu +is being used around the world.

    +
    +
    +

    Consider checking with the project developers on the Kudu Slack instance or on +dev@kudu.apache.org if you have any questions about +the content or the topic of a potential Kudu blog post.

    +
    +
    +
    +

    Submitting a blog post in Google Doc format

    +
    +

    If you don’t have the time to learn Markdown or to submit a Gerrit change +request, but you would still like to submit a post for the Kudu blog, feel free +to write your post in Google Docs format and share the draft with us publicly +on dev@kudu.apache.org — we’ll be happy to review +it and post it to the blog for you once it’s ready to go.

    +
    +
    +

    If you would like to submit the post directly to Gerrit for review in Markdown +format (the developers will appreciate it if you do), please read below.

    +
    +
    +
    +

    How to format a Kudu blog post

    +
    +

    Blog posts live in the gh-pages branch under the _posts directory in +Markdown format. They’re automatically rendered by Jekyll so for those familiar +with Markdown or Jekyll, submitting a blog post should be fairly +straightforward.

    +
    +
    +

    Each post is a separate file named in the following format:

    +
    +
    +
    +
    YYYY-MM-DD-title-of-the-post.md
    +
    +
    +
    +

    The YYYY-MM-DD part is the date which will be included in the link as +/YYYY-MM-DD, then title-of-the-post is used verbatim. The words should be +separated by dashes and should contain only lowercase letters of the English +alphabet and numbers. Finally, the .md extension will be replaced with +.html.

    +
    +
    +

    The header contains the layout information (which is always "post"), the +title and the author’s name.

    +
    +
    +
    +
    ---
    +layout: post
    +title: Example Post
    +author: John Doe
    +---
    +
    +
    +
    +

    The actual text of the blog post goes below this header, beginning with the +"lead" which is a short excerpt that shows up in the index. This is separated +by the <!--more--> string from the rest of the post.

    +
    +
    +
    +

    How to check the rendering of a blog post

    +
    +

    Once you’ve finished the post, there is a command you can run to make sure it +looks good called site_tool in the root of the gh-pages branch that can +start up Jekyll and serve the rendered site locally. To run this, you need Ruby +and Python to be installed on your machine, and you can start it with the below +command.

    +
    +
    +
    +
    $ ./site_tool jekyll serve
    +
    +
    +
    +

    When starting, it will print the URL where you can reach the site, but it should +be http://localhost:4000, or to reach the blog directly, +http://localhost:4000/blog

    +
    +
    +

    You should be able to see the title and lead of your post along with your name +at the top of this page, and after clicking on the title or the "Read full +post…​", the whole post.

    +
    +
    +
    +

    How to submit a blog post

    +
    +

    To submit the post, you’ll need to commit your change and push it to +Gerrit for review. If the post is deemed +useful for the community and all comments are addressed, a committer can merge +and publish your post.

    +
    +
    + + + + + +
    + + +
    +

    If you have a GitHub account, you can fork Kudu from +https://github.com/apache/kudu and push the change to your fork too. GitHub will +automatically render it on https://<yourname>.github.io/blog and you can link it +directly on Gerrit.

    +
    +
    +

    This way the reviewers can see that the post renders well without having to +download it, which can speed up the review process.

    +
    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/developing.html b/releases/1.17.1/docs/developing.html new file mode 100644 index 0000000000..277ad58833 --- /dev/null +++ b/releases/1.17.1/docs/developing.html @@ -0,0 +1,784 @@ +--- +title: Developing Applications With Apache Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Developing Applications With Apache Kudu

    +
    +
    +
    +

    Kudu provides C++, Java and Python client APIs, as well as reference examples to illustrate +their use.

    +
    +
    + + + + + +
    + + +Use of server-side or private interfaces is not supported, and interfaces +which are not part of public APIs have no stability guarantees. +
    +
    +
    +
    +
    +

    Viewing the API Documentation

    +
    +
    +
    C++ API Documentation
    +

    You can view the C++ client API documentation +online. Alternatively, after +building Kudu from source, you can +additionally build the doxygen target (e.g., run make doxygen if using +make) and use the locally generated API documentation by opening +docs/doxygen/client_api/html/index.html file in your favorite Web browser.

    +
    +
    + + + + + +
    + + +In order to build the doxygen target, it’s necessary to have +doxygen of version 1.8.11 or newer with Dot (graphviz) support installed at +your build machine. If you installed doxygen after building Kudu from source, +you will need to run cmake again to pick up the doxygen location and generate +appropriate targets. +
    +
    +
    +
    Java API Documentation
    +

    You can view the Java API documentation online. +Alternatively, after building +the Java client, Java API documentation is available in +java/kudu-client/target/apidocs/index.html.

    +
    +
    +
    +
    +

    Working Examples

    +
    +
    +

    Several example applications are provided in the +examples directory +of the Apache Kudu git repository. Each example includes a README that shows +how to compile and run it. The following list includes some of the +examples that are available today. Check the repository itself in case this list goes +out of date.

    +
    +
    +
    +
    cpp/example.cc
    +
    +

    A simple C++ application which connects to a Kudu instance, creates a table, writes data to it, then drops the table.

    +
    +
    java/java-example
    +
    +

    A simple Java application which connects to a Kudu instance, creates a table, writes data to it, then drops the table.

    +
    +
    java/collectl
    +
    +

    A small Java application which listens on a TCP socket for time series data corresponding to the Collectl wire protocol. +The commonly-available collectl tool can be used to send example data to the server.

    +
    +
    java/insert-loadgen
    +
    +

    A Java application that generates random insert load.

    +
    +
    python/dstat-kudu
    +
    +

    An example program that shows how to use the Kudu Python API to load data into a new / existing Kudu table +generated by an external program, dstat in this case.

    +
    +
    python/graphite-kudu
    +
    +

    An example plugin for using graphite-web with Kudu as a backend.

    +
    +
    +
    +
    +

    These examples should serve as helpful starting points for your own Kudu applications and integrations.

    +
    +
    +
    +
    +

    Maven Artifacts

    +
    +
    +

    The following Maven <dependency> element is valid for the Apache Kudu public release +(since 1.0.0):

    +
    +
    +
    +
    <dependency>
    +  <groupId>org.apache.kudu</groupId>
    +  <artifactId>kudu-client</artifactId>
    +  <version>1.14.0</version>
    +</dependency>
    +
    +
    +
    +

    Convenience binary artifacts for the Java client and various Java integrations (e.g. Spark, Flume) +are also available via the ASF Maven repository and +Maven Central repository.

    +
    +
    +
    +
    +

    Example Impala Commands With Kudu

    +
    +
    +

    See Using Impala With Kudu for guidance on installing +and using Impala with Kudu, including several impala-shell examples.

    +
    +
    +
    +
    +

    Kudu Integration with Spark

    +
    +
    +

    Kudu integrates with Spark through the Data Source API as of version 1.0.0. +Include the kudu-spark dependency using the --packages option:

    +
    +
    +

    Use the kudu-spark_2.10 artifact if using Spark with Scala 2.10. Note that Spark 1 is no +longer supported in Kudu starting from version 1.6.0. So in order to use Spark 1 integrated +with Kudu, version 1.5.0 is the latest to go to.

    +
    +
    +
    +
    spark-shell --packages org.apache.kudu:kudu-spark_2.10:1.5.0
    +
    +
    +
    +

    Use kudu-spark2_2.11 artifact if using Spark 2 with Scala 2.11.

    +
    +
    + + + + + +
    + + +kudu-spark versions 1.8.0 and below have slightly different syntax. +See the documentation of your version for a valid example. Versioned documentation can be found +on the releases page. +
    +
    +
    +
    +
    spark-shell --packages org.apache.kudu:kudu-spark2_2.11:1.14.0
    +
    +
    +
    +

    Below is a minimal Spark SQL "select" example. We first import the kudu spark package, +then create a DataFrame, and then create a view from the DataFrame. After those +steps, the table is accessible from Spark SQL.

    +
    +
    + + + + + +
    + + +There is also a Spark quickstart + guide and another example + available. +
    +
    +
    + + + + + +
    + + +You can use the Kudu CLI tool to create table and generate data by + kudu perf loadgen kudu.master:7051 -keep_auto_table for the following two examples. +
    +
    +
    +
    +
    import org.apache.kudu.spark.kudu._
    +
    +// Create a DataFrame that points to the Kudu table we want to query.
    +val df = spark.read.options(Map("kudu.master" -> "kudu.master:7051",
    +                                "kudu.table" -> "default.my_table")).format("kudu").load
    +// Create a view from the DataFrame to make it accessible from Spark SQL.
    +df.createOrReplaceTempView("my_table")
    +// Now we can run Spark SQL queries against our view of the Kudu table.
    +spark.sql("select * from my_table").show()
    +
    +
    +
    +

    Below is a more sophisticated example that includes both reads and writes:

    +
    +
    +
    +
    import org.apache.kudu.client._
    +import org.apache.kudu.spark.kudu.KuduContext
    +import collection.JavaConverters._
    +
    +// Read a table from Kudu
    +val df = spark.read
    +  .options(Map("kudu.master" -> "kudu.master:7051", "kudu.table" -> "kudu_table"))
    +  .format("kudu").load
    +
    +// Query using the Spark API...
    +df.select("key").filter("key >= 5").show()
    +
    +// ...or register a temporary table and use SQL
    +df.createOrReplaceTempView("kudu_table")
    +val filteredDF = spark.sql("select key from kudu_table where key >= 5").show()
    +
    +// Use KuduContext to create, delete, or write to Kudu tables
    +val kuduContext = new KuduContext("kudu.master:7051", spark.sparkContext)
    +
    +// Create a new Kudu table from a DataFrame schema
    +// NB: No rows from the DataFrame are inserted into the table
    +kuduContext.createTable(
    +    "test_table", df.schema, Seq("key"),
    +    new CreateTableOptions()
    +        .setNumReplicas(1)
    +        .addHashPartitions(List("key").asJava, 3))
    +
    +// Check for the existence of a Kudu table
    +kuduContext.tableExists("test_table")
    +
    +// Insert data
    +kuduContext.insertRows(df, "test_table")
    +
    +// Delete data
    +kuduContext.deleteRows(df, "test_table")
    +
    +// Upsert data
    +kuduContext.upsertRows(df, "test_table")
    +
    +// Update data
    +val updateDF = df.select($"key", ($"int_val" + 1).as("int_val"))
    +kuduContext.updateRows(updateDF, "test_table")
    +
    +// Data can also be inserted into the Kudu table using the data source, though the methods on
    +// KuduContext are preferred
    +// NB: The default is to upsert rows; to perform standard inserts instead, set operation = insert
    +// in the options map
    +// NB: Only mode Append is supported
    +df.write
    +  .options(Map("kudu.master"-> "kudu.master:7051", "kudu.table"-> "test_table"))
    +  .mode("append")
    +  .format("kudu").save
    +
    +// Delete a Kudu table
    +kuduContext.deleteTable("test_table")
    +
    +
    +
    +

    Upsert option in Kudu Spark

    +
    +

    The upsert operation in kudu-spark supports an extra write option of ignoreNull. If set to true, +it will avoid setting existing column values in Kudu table to Null if the corresponding DataFrame +column values are Null. If unspecified, ignoreNull is false by default.

    +
    +
    +
    +
    val dataFrame = spark.read
    +  .options(Map("kudu.master" -> "kudu.master:7051", "kudu.table" -> simpleTableName))
    +  .format("kudu").load
    +dataFrame.createOrReplaceTempView(simpleTableName)
    +dataFrame.show()
    +// Below is the original data in the table 'simpleTableName'
    ++---+---+
    +|key|val|
    ++---+---+
    +|  0|foo|
    ++---+---+
    +
    +// Upsert a row with existing key 0 and val Null with ignoreNull set to true
    +val nullDF = spark.createDataFrame(Seq((0, null.asInstanceOf[String]))).toDF("key", "val")
    +val wo = new KuduWriteOptions
    +wo.ignoreNull = true
    +kuduContext.upsertRows(nullDF, simpleTableName, wo)
    +dataFrame.show()
    +// The val field stays unchanged
    ++---+---+
    +|key|val|
    ++---+---+
    +|  0|foo|
    ++---+---+
    +
    +// Upsert a row with existing key 0 and val Null with ignoreNull default/set to false
    +kuduContext.upsertRows(nullDF, simpleTableName)
    +// Equivalent to:
    +// val wo = new KuduWriteOptions
    +// wo.ignoreNull = false
    +// kuduContext.upsertRows(nullDF, simpleTableName, wo)
    +df.show()
    +// The val field is set to Null this time
    ++---+----+
    +|key| val|
    ++---+----+
    +|  0|null|
    ++---+----+
    +
    +
    +
    +
    +

    Using Spark with a Secure Kudu Cluster

    +
    +

    The Kudu Spark integration is able to operate on secure Kudu clusters which have +authentication and encryption enabled, but the submitter of the Spark job must +provide the proper credentials. For Spark jobs using the default 'client' deploy +mode, the submitting user must have an active Kerberos ticket granted through +kinit. For Spark jobs using the 'cluster' deploy mode, a Kerberos principal +name and keytab location must be provided through the --principal and +--keytab arguments to spark2-submit.

    +
    +
    +
    +

    Spark Integration Best Practices

    +
    +

    Avoid multiple Kudu clients per cluster.

    +
    +

    One common Kudu-Spark coding error is instantiating extra KuduClient objects. +In kudu-spark, a KuduClient is owned by the KuduContext. Spark application code +should not create another KuduClient connecting to the same cluster. Instead, +application code should use the KuduContext to access a KuduClient using +KuduContext#syncClient.

    +
    +
    +

    To diagnose multiple KuduClient instances in a Spark job, look for signs in +the logs of the master being overloaded by many GetTableLocations or +GetTabletLocations requests coming from different clients, usually around the +same time. This symptom is especially likely in Spark Streaming code, +where creating a KuduClient per task will result in periodic waves of master +requests from new clients.

    +
    +
    +
    +
    +

    Spark Integration Known Issues and Limitations

    +
    +
      +
    • +

      Spark 2.2+ requires Java 8 at runtime even though Kudu Spark 2.x integration +is Java 7 compatible. Spark 2.2 is the default dependency version as of +Kudu 1.5.0.

      +
    • +
    • +

      Kudu tables with a name containing upper case or non-ascii characters must be +assigned an alternate name when registered as a temporary table.

      +
    • +
    • +

      Kudu tables with a column name containing upper case or non-ascii characters +may not be used with SparkSQL. Columns may be renamed in Kudu to work around +this issue.

      +
    • +
    • +

      <> and OR predicates are not pushed to Kudu, and instead will be evaluated +by the Spark task. Only LIKE predicates with a suffix wildcard are pushed to +Kudu, meaning that LIKE "FOO%" is pushed down but LIKE "FOO%BAR" isn’t.

      +
    • +
    • +

      Kudu does not support every type supported by Spark SQL. For example, +Date and complex types are not supported.

      +
    • +
    • +

      Kudu tables may only be registered as temporary tables in SparkSQL. +Kudu tables may not be queried using HiveContext.

      +
    • +
    +
    +
    +
    +
    +
    +

    JVM-Based Integration Testing

    +
    +
    +

    As of version 1.9.0, Kudu ships with an experimental feature called the binary +test JAR. This feature gives people who want to test against Kudu the +capability to start a Kudu "mini cluster" from Java or another JVM-based +language without having to first build Kudu locally. This is possible because +the Kudu binary JAR contains relocatable Kudu binaries that are used by the +KuduTestHarness in the kudu-test-utils module. The KuduTestHarness +contains logic to search the classpath for the Kudu binaries and to start a +mini cluster using them.

    +
    +
    +

    Important: The kudu-binary module should only be used to run Kudu for +integration testing purposes. It should never be used to run an actual Kudu +service, in production or development, because the kudu-binary module +includes native security-related dependencies that have been copied from the +build system and will not be patched when the operating system on the runtime +host is patched.

    +
    +
    +

    System Requirements

    +
    +

    The binary test JAR must be run on one of the +supported Kudu platforms, +which includes:

    +
    +
    +
      +
    • +

      macOS Big Sur (11) or later;

      +
    • +
    • +

      CentOS 7+, Ubuntu 18.04+, or another recent distribution of Linux

      +
    • +
    +
    +
    +

    The related Maven integration using os-maven-plugin requires Maven 3.1 or later.

    +
    +
    +
    +

    Using the Kudu Binary Test Jar

    +
    +

    Take the following steps to start a Kudu mini cluster from a Java project.

    +
    +
    +

    1. Add build-time dependencies. The kudu-binary artifact contains the +native Kudu (server and command-line tool) binaries for specific operating +systems. In order to download the right artifact for the running operating +system, use the os-maven-plugin to detect the current runtime environment. +Finally, the kudu-test-utils module provides the KuduTestHarness class, +which runs a Kudu mini cluster.

    +
    +
    +

    Maven example for Kudu 1.14.0:

    +
    +
    +
    +
    <build>
    +  <extensions>
    +    <!-- Used to find the right kudu-binary artifact with the Maven
    +         property ${os.detected.classifier} -->
    +    <extension>
    +      <groupId>kr.motd.maven</groupId>
    +      <artifactId>os-maven-plugin</artifactId>
    +      <version>1.6.2</version>
    +    </extension>
    +  </extensions>
    +</build>
    +
    +<dependencies>
    +  <dependency>
    +    <groupId>org.apache.kudu</groupId>
    +    <artifactId>kudu-test-utils</artifactId>
    +    <version>1.14.0</version>
    +    <scope>test</scope>
    +  </dependency>
    +  <dependency>
    +    <groupId>org.apache.kudu</groupId>
    +    <artifactId>kudu-binary</artifactId>
    +    <version>1.14.0</version>
    +    <classifier>${os.detected.classifier}</classifier>
    +    <scope>test</scope>
    +  </dependency>
    +</dependencies>
    +
    +
    +
    +

    2. Write a test that starts a Kudu mini cluster using the KuduTestHarness. +It will automatically find the binary test JAR if Maven is configured correctly.

    +
    +
    +

    The recommended way to start a Kudu mini cluster is by using the +KuduTestHarness class from the kudu-test-utils module, which also acts as a +JUnit Rule. Here is an example of a Java-based integration test that starts a +Kudu cluster, creates a Kudu table on the cluster, and then exits:

    +
    +
    +
    +
    import org.apache.kudu.ColumnSchema;
    +import org.apache.kudu.Schema;
    +import org.apache.kudu.Type;
    +import org.apache.kudu.test.KuduTestHarness;
    +import org.junit.Rule;
    +import org.junit.Test;
    +
    +import java.util.ArrayList;
    +import java.util.Collections;
    +import java.util.List;
    +
    +public class MyKuduTest {
    +  // The KuduTestHarness automatically starts and stops a real Kudu cluster
    +  // when each test is run. Kudu persists its on-disk state in a temporary
    +  // directory under a location defined by the environment variable TEST_TMPDIR
    +  // if set, or under /tmp otherwise. That cluster data is deleted on
    +  // successful exit of the test. The cluster output is logged through slf4j.
    +  @Rule
    +  public KuduTestHarness harness = new KuduTestHarness();
    +
    +  @Test
    +  public void test() throws Exception {
    +    // Get a KuduClient configured to talk to the running mini cluster.
    +    KuduClient client = harness.getClient();
    +
    +    // Create a new Kudu table.
    +    List<ColumnSchema> columns = new ArrayList<>();
    +    columns.add(
    +        new ColumnSchema.ColumnSchemaBuilder(
    +            "key", Type.INT32).key(true).build());
    +    Schema schema = new Schema(columns);
    +    CreateTableOptions opts =
    +        new CreateTableOptions().setRangePartitionColumns(
    +            Collections.singletonList("key"));
    +    client.createTable("table-1", schema, opts);
    +
    +    // Now we may insert rows into the newly-created Kudu table using 'client',
    +    // scan the table, etc.
    +  }
    +}
    +
    +
    +
    +

    For more examples of using the KuduTestHarness, including how to pass +configuration options to the Kudu cluster being managed by the harness, see the +java-example +project in the Kudu source code repository, or look at the various Kudu +integration tests under +java in the Kudu source +code repository.

    +
    +
    +
    +
    +
    +

    Kudu Python Client

    +
    +
    +

    The Kudu Python client provides a Python friendly interface to the C++ client API. +The sample below demonstrates the use of part of the Python client.

    +
    +
    +
    +
    import kudu
    +from kudu.client import Partitioning
    +from datetime import datetime
    +
    +# Connect to Kudu master server
    +client = kudu.connect(host='kudu.master', port=7051)
    +
    +# Define a schema for a new table
    +builder = kudu.schema_builder()
    +builder.add_column('key').type(kudu.int64).nullable(False).primary_key()
    +builder.add_column('ts_val', type_=kudu.unixtime_micros, nullable=False, compression='lz4')
    +schema = builder.build()
    +
    +# Define partitioning schema
    +partitioning = Partitioning().add_hash_partitions(column_names=['key'], num_buckets=3)
    +
    +# Create new table
    +client.create_table('python-example', schema, partitioning)
    +
    +# Open a table
    +table = client.table('python-example')
    +
    +# Create a new session so that we can apply write operations
    +session = client.new_session()
    +
    +# Insert a row
    +op = table.new_insert({'key': 1, 'ts_val': datetime.utcnow()})
    +session.apply(op)
    +
    +# Upsert a row
    +op = table.new_upsert({'key': 2, 'ts_val': "2016-01-01T00:00:00.000000"})
    +session.apply(op)
    +
    +# Updating a row
    +op = table.new_update({'key': 1, 'ts_val': ("2017-01-01", "%Y-%m-%d")})
    +session.apply(op)
    +
    +# Delete a row
    +op = table.new_delete({'key': 2})
    +session.apply(op)
    +
    +# Flush write operations, if failures occur, capture print them.
    +try:
    +    session.flush()
    +except kudu.KuduBadStatus as e:
    +    print(session.get_pending_errors())
    +
    +# Create a scanner and add a predicate
    +scanner = table.scanner()
    +scanner.add_predicate(table['ts_val'] == datetime(2017, 1, 1))
    +
    +# Open Scanner and read all tuples
    +# Note: This doesn't scale for large scans
    +result = scanner.open().read_all_tuples()
    +
    +
    +
    +
    +
    +

    Integration with MapReduce, YARN, and Other Frameworks

    +
    +
    +

    Kudu was designed to integrate with MapReduce, YARN, Spark, and other frameworks in +the Hadoop ecosystem. See +RowCounter.java +and +ImportCsv.java +for examples which you can model your own integrations on. Stay tuned for more examples +using YARN and Spark in the future.

    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/export_control.html b/releases/1.17.1/docs/export_control.html new file mode 100644 index 0000000000..3979feeb05 --- /dev/null +++ b/releases/1.17.1/docs/export_control.html @@ -0,0 +1,166 @@ +--- +title: Export Control Notice +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Export Control Notice

    +
    +
    +
    +

    This distribution includes cryptographic software. The country in +which you currently reside may have restrictions on the import, +possession, use, and/or re-export to another country, of +encryption software. BEFORE using any encryption software, please +check your country’s laws, regulations and policies concerning the +import, possession, or use, and re-export of encryption software, to +see if this is permitted. See http://www.wassenaar.org/ for more +information.

    +
    +
    +

    The U.S. Government Department of Commerce, Bureau of Industry and +Security (BIS), has classified this software as Export Commodity +Control Number (ECCN) 5D002.C.1, which includes information security +software using or performing cryptographic functions with asymmetric +algorithms. The form and manner of this Apache Software Foundation +distribution makes it eligible for export under the License Exception +ENC Technology Software Unrestricted (TSU) exception (see the BIS +Export Administration Regulations, Section 740.13) for both object +code and source code.

    +
    +
    +

    The following provides more details on the included cryptographic +software:

    +
    +
    +
      +
    • +

      This software uses OpenSSL to enable TLS-encrypted connections, +generate keys for asymmetric cryptography, and generate and +verify signatures using those keys.

      +
    • +
    • +

      This software uses Java SE Security libraries including the +Java Secure Socket Extension (JSSE), Java Generic Security Service +(JGSS), and Java Authentication and Authorization APIs (JAAS) +to provide secure authentication and TLS-protected transport.

      +
    • +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/hive_metastore.html b/releases/1.17.1/docs/hive_metastore.html new file mode 100644 index 0000000000..94987127c4 --- /dev/null +++ b/releases/1.17.1/docs/hive_metastore.html @@ -0,0 +1,685 @@ +--- +title: Using the Hive Metastore with Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Using the Hive Metastore with Kudu

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    Overview

    +
    +
    +

    Kudu has an optional feature which allows it to integrate its own catalog with +the Hive Metastore (HMS). The HMS is the de-facto standard catalog and metadata +provider in the Hadoop ecosystem. When the HMS integration is enabled, Kudu +tables can be discovered and used by external HMS-aware tools, even if they are +not otherwise aware of or integrated with Kudu. Additionally, these components +can use the HMS to discover necessary information to connect to the Kudu +cluster which owns the table, such as the Kudu master addresses.

    +
    +
    +
    +
    +

    Databases and Table Names

    +
    +
    +

    With the Hive Metastore integration disabled, Kudu presents tables as a single +flat namespace, with no hierarchy or concept of a database. Additionally, +Kudu’s only restriction on table names is that they be a valid UTF-8 encoded +string. When the HMS integration is enabled in Kudu, both of these properties +change in order to match the HMS model: the table name must indicate the +table’s membership of a Hive database, and table name identifiers (i.e. the +table name and database name) are subject to the Hive table name identifier +constraints.

    +
    +
    +

    Databases

    +
    +

    Hive has the concept of a database, which is a collection of individual tables. +Each database forms its own independent namespace of table names. In order to +fit into this model, Kudu tables must be assigned a database when the HMS +integration is enabled. No new APIs have been added to create or delete +databases, nor are there APIs to assign an existing Kudu table to a database. +Instead, a new convention has been introduced that Kudu table names must be in +the format <hive-database-name>.<hive-table-name>. Thus, databases are an +implicit part of the Kudu table name. By including databases as an implicit +part of the Kudu table name, existing applications that use Kudu tables can +operate on non-HMS-integrated and HMS-integrated table names with minimal or no +changes.

    +
    +
    +

    Kudu provides no additional tooling to create or drop Hive databases. +Administrators or users should use existing Hive tools such as the Beeline +Shell or Impala to do so.

    +
    +
    +
    +

    Naming Constraints

    +
    +

    When the Hive Metastore integration is enabled, the database and table names of +Kudu tables must follow the Hive Metastore naming constraints. Namely, the +database and table name must contain only alphanumeric ASCII characters and +underscores (_).

    +
    +
    + + + + + +
    + + +When the hive.support.special.characters.tablename Hive configuration +is true, the forward-slash (/) character in table name identifiers (i.e. the +table name and database name) is also supported. +
    +
    +
    +

    Additionally, the Hive Metastore does not enforce case sensitivity for table +name identifiers. As such, when enabled, Kudu will follow suit and disallow +tables from being created when one already exists whose table name identifier +differs only by case. Operations that open, alter, or drop tables will also be +case-insensitive for the table name identifiers.

    +
    +
    + + + + + +
    + + +Given the case insensitivity upon enabling the integration, if +multiple Kudu tables exist whose names only differ by case, the Kudu master(s) +will fail to start up. Be sure to rename such conflicting tables before +enabling the Hive Metastore integration. +
    +
    +
    +
    +

    Metadata Synchronization

    +
    +

    When the Hive Metastore integration is enabled, Kudu will automatically +synchronize metadata changes to Kudu tables between Kudu and the HMS. As such, +it is important to always ensure that the Kudu and HMS have a consistent view +of existing tables, using the administrative tools described in the below +section. Failure to do so may result in issues like Kudu tables not being +discoverable or usable by external, HMS-aware components (e.g. Apache Sentry, +Apache Impala).

    +
    +
    + + + + + +
    + + +the Hive Metastore automatically creates directories for Kudu tables. +These directories are benign and can safely be ignored. +
    +
    +
    +

    Impala has notions of internal and external Kudu tables. When dropping an +internal table from Impala, the table’s data is dropped in Kudu; in contrast +when dropping an external table, the table’s data is not dropped in Kudu. +External tables may refer to tables by names that are different from the names +of the underlying Kudu tables, while internal tables must use the same names as +those stored in Kudu. Additionally, multiple external tables may refer to the +same underlying Kudu table. Thus, since external tables may not map one-to-one +with Kudu tables, the Hive Metastore integration and tooling will only +automatically synchronize metadata for internal tables. See the +Kudu Impala integration documentation +for more information about table types in Impala

    +
    +
    +
    +
    +
    +

    Enabling the Hive Metastore Integration

    +
    +
    + + + + + +
    + + +Before enabling the Hive Metastore integration on an existing cluster, +make sure to upgrade any tables that may exist in Kudu’s or in the HMS’s +catalog. See Upgrading Existing Tables for more details. +
    +
    +
    +
      +
    • +

      When the Hive Metastore is configured with fine-grained authorization, the +Kudu admin needs to be able to access and modify directories that are created +for Kudu by the HMS. This can be done by adding the Kudu admin user to the group +of the Hive service users, e.g. by running usermod -aG hive kudu on the HMS +nodes.

      +
    • +
    • +

      Configure the Hive Metastore to include the notification event listener and +the Kudu HMS plugin, to allow altering and dropping columns, and to add full +Thrift objects in notifications. Add the following values to the HMS +configuration in hive-site.xml:

      +
    • +
    +
    +
    +
    +
    <property>
    +  <name>hive.metastore.transactional.event.listeners</name>
    +  <value>
    +    org.apache.hive.hcatalog.listener.DbNotificationListener,
    +    org.apache.kudu.hive.metastore.KuduMetastorePlugin
    +  </value>
    +</property>
    +
    +<property>
    +  <name>hive.metastore.disallow.incompatible.col.type.changes</name>
    +  <value>false</value>
    +</property>
    +
    +<property>
    +  <name>hive.metastore.notifications.add.thrift.objects</name>
    +  <value>true</value>
    +</property>
    +
    +
    +
    +
      +
    • +

      After building Kudu from source, add the hms-plugin.jar found under the build +directory (e.g. build/release/bin) to the HMS classpath.

      +
    • +
    • +

      Restart the HMS.

      +
    • +
    • +

      Enable the Hive Metastore integration in Kudu with the following +configuration properties for the Kudu master(s):

      +
    • +
    +
    +
    +
    +
    --hive_metastore_uris=<HMS Thrift URI(s)>
    +--hive_metastore_sasl_enabled=<value of the Hive Metastore's hive.metastore.sasl.enabled configuration>
    +
    +
    +
    + + + + + +
    + + +In a secured cluster, in which --hive_metastore_sasl_enabled is set to +true, --hive_metastore_kerberos_principal must match the primary portion of +hive.metastore.kerberos.principal in the Hive Metastore configuration. +
    +
    +
    +
      +
    • +

      Restart the Kudu master(s).

      +
    • +
    +
    +
    +
    +
    +

    Administrative Tools

    +
    +
    +

    Kudu provides the command line tools kudu hms list, kudu hms precheck, +kudu hms check, and kudu hms fix to allow administrators to find and fix +metadata inconsistencies between the internal Kudu catalog and the Hive +Metastore catalog, during the upgrade process described below or during the +normal operation of a Kudu cluster.

    +
    +
    +

    kudu hms tools should be run from the command line as the Kudu admin user. +They require the full list of master addresses to be specified:

    +
    +
    +
    +
    $ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051
    +
    +
    +
    +

    To see a full list of the options available with the kudu hms tool, use the +--help flag.

    +
    +
    + + + + + +
    + + +When fine-grained authorization is enabled, the Kudu admin user, commonly +"kudu", needs to have access to all the Kudu tables to be +able to run the kudu hms tools. This can be done by configuring the user as a +trusted user via the --trusted_user_acl master configuration. See +here for more information about trusted users. +
    +
    +
    + + + + + +
    + + +If the Hive Metastore is configured with fine-grained authorization, the +Kudu admin user needs to have read and write privileges on HMS table entries. +Configured this in the Hive Metastore. For Apache Sentry this can be configured +using the sentry.metastore.service.users property. +
    +
    +
    +

    kudu hms list

    +
    +

    The kudu hms list tool scans the Hive Metastore catalog, and lists the HMS +entries (including table name and type) for Kudu tables, as indicated by their +HMS storage handler.

    +
    +
    +
    +

    kudu hms precheck

    +
    +

    The kudu hms precheck tool scans the Kudu catalog and validates that if there +are multiple Kudu tables whose names only differ by case and logs the conflicted +table names.

    +
    +
    +
    +

    kudu hms check

    +
    +

    The kudu hms check tool scans the Kudu and Hive Metastore catalogs, and +validates that the two catalogs agree on what Kudu tables exist. The tool will +make suggestions on how to fix any inconsistencies that are found. Typically, +the suggestion will be to run the kudu hms fix tool, however some certain +inconsistencies require using Impala Shell for fixing.

    +
    +
    +
    +

    kudu hms fix

    +
    +

    The kudu hms fix tool analyzes the Kudu and HMS catalogs and attempts to fix +any automatically-fixable issues, for instance, by creating a table entry in +the HMS for each Kudu table that doesn’t already have one. The --dryrun option +shows the proposed fix instead of actually executing it. When no automatic fix +is available, it will make suggestions on how a manual fix can help.

    +
    +
    + + + + + +
    + + +The kudu hms fix tool will not automatically fix Impala external tables +for the reasons described above. It is instead recommended to fix issues with +external tables by dropping and recreating them. +
    +
    +
    +
    +

    kudu hms downgrade

    +
    +

    The kudu hms downgrade downgrades the metadata to legacy format for Kudu and +the Hive Metastores. It is discouraged to use unless necessary, since the legacy +format can be deprecated in future releases.

    +
    +
    +
    +
    +
    +

    Upgrading Existing Tables

    +
    +
    +

    Before enabling the Kudu-HMS integration, it is important to ensure that the +Kudu and HMS start with a consistent view of existing tables. This may entail +renaming Kudu tables to conform to the Hive naming constraints. This detailed +workflow describes how to upgrade existing tables before enabling the Hive +Metastore integration.

    +
    +
    +

    Prepare for the Upgrade

    +
    +
      +
    1. +

      Establish a maintenance window. During this time the Kudu cluster will still be +available, but tables in Kudu and the Hive Metastore may be altered or +renamed as a part of the upgrade process.

      +
    2. +
    3. +

      Make note of all external tables using the following command and drop them. This reduces +the chance of having naming conflicts with Kudu tables which can lead to errors during +upgrading process. It also helps in cases where a catalog upgrade breaks +external tables, due to the underlying Kudu tables being renamed. The +external tables can be recreated after upgrade is complete.

      +
      +
      +
      $ sudo -u kudu kudu hms list master-name-1:7051,master-name-2:7051,master-name-3:7051
      +
      +
      +
    4. +
    +
    +
    +
    +

    Perform the Upgrade

    +
    +
      +
    1. +

      Run the kudu hms precheck tool to ensure no Kudu tables only differ by +case. If the tool does not report any warnings, you can skip the next step.

      +
      +
      +
      $ sudo -u kudu kudu hms precheck master-name-1:7051,master-name-2:7051,master-name-3:7051
      +
      +
      +
    2. +
    3. +

      If the kudu hms precheck tool reports conflicting tables, rename these to +case-insensitive unique names using the following command:

      +
      +
      +
      $ sudo -u kudu kudu table rename_table master-name-1:7051,master-name-2:7051,master-name-3:7051 <conflicting_table_name> <new_table_name>
      +
      +
      +
    4. +
    5. +

      Run the kudu hms check tool using the following command. If the tool does +not report any catalog inconsistencies, skip to Step 7 below.

      +
      +
      +
      $ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=<hive_metastore_uris> [--ignore_other_clusters=<ignores_other_clusters>]
      +
      +
      +
      + + + + + +
      + + +By default, the kudu hms tools will ignore metadata in the HMS that +refer to a different Kudu cluster than that being operated on, as indicated by +having different masters specified. The tools compare the value of the +kudu.master_addresses table property (either supplied at table creation or as +--kudu_master_hosts on impalad daemons) in each HMS metadata entry against +the RPC endpoints (including the ports) of the Kudu masters. To have the +tooling account for and fix metadata entries with different master RPC +endpoints specified (e.g. if ports are not specified in the HMS), supply +--ignore_other_clusters=false as an argument to the kud hms check and fix +tools. +
      +
      +
      +
      +
      Example
      +
      +
      +
      +
      $ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=thrift://hive-metastore:9083 --ignore_other_clusters=false
      +
      +
      +
      +
      +
      +
    6. +
    7. +

      If the kudu hms check tool reports an inconsistent catalog, perform a +dry-run of the kudu hms fix tool to understand how the tool will attempt to +address the automatically-fixable issues.

      +
      +
      +
      $ sudo -u kudu kudu hms fix master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=<hive_metastore_uris> --dryrun=true [--ignore_other_clusters=<ignore_other_clusters>]
      +
      +
      +
      +
      +
      Example
      +
      +
      +
      +
      $ sudo -u kudu kudu hms check master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=thrift://hive-metastore:9083 --dryrun=true --ignore_other_clusters=false
      +
      +
      +
      +
      +
      +
    8. +
    9. +

      Manually fix any issues that are reported by the check tool that cannot +be automatically fixed. For example, rename any tables with names that are not +Hive-conformant.

      +
    10. +
    11. +

      Run kudu hms fix tool to automatically fix all the remaining issues.

      +
      +
      +
      $ sudo -u kudu kudu hms fix master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=<hive_metastore_uris> [--drop_orphan_hms_tables=<drops_orphan_hms_tables>] [--ignore_other_clusters=<ignore_other_clusters>]
      +
      +
      +
      +
      +
      Example
      +
      +
      +
      +
      $ sudo -u kudu kudu hms fix master-name-1:7051,master-name-2:7051,master-name-3:7051 --hive_metastore_uris=thrift://hive-metastore:9083 --ignore_other_clusters=false
      +
      +
      +
      + + + + + +
      + + +The --drop_orphan_hms_tables argument indicates whether to drop orphan +Hive Metastore tables that refer to non-existent Kudu tables. Due to +KUDU-2883 this option may +fail to drop HMS entries that have no table ID. A workaround to this is to drop +the table via Impala Shell. +
      +
      +
      +
      +
      +
    12. +
    13. +

      Recreate any external tables that were dropped when preparing for the upgrade +by using Impala Shell.

      +
    14. +
    15. +

      Enable the Hive Metastore Integration as described +Enabling the Hive Metastore Integration.

      +
    16. +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/images/design-docs_transactions.png b/releases/1.17.1/docs/images/design-docs_transactions.png new file mode 100644 index 0000000000..6f6914e0eb Binary files /dev/null and b/releases/1.17.1/docs/images/design-docs_transactions.png differ diff --git a/releases/1.17.1/docs/images/hash-hash-partitioning-example.png b/releases/1.17.1/docs/images/hash-hash-partitioning-example.png new file mode 100644 index 0000000000..c843f73fa5 Binary files /dev/null and b/releases/1.17.1/docs/images/hash-hash-partitioning-example.png differ diff --git a/releases/1.17.1/docs/images/hash-partitioning-example.png b/releases/1.17.1/docs/images/hash-partitioning-example.png new file mode 100644 index 0000000000..56de4e8136 Binary files /dev/null and b/releases/1.17.1/docs/images/hash-partitioning-example.png differ diff --git a/releases/1.17.1/docs/images/hash-range-partitioning-example.png b/releases/1.17.1/docs/images/hash-range-partitioning-example.png new file mode 100644 index 0000000000..6e16ada323 Binary files /dev/null and b/releases/1.17.1/docs/images/hash-range-partitioning-example.png differ diff --git a/releases/1.17.1/docs/images/kudu-architecture-2.png b/releases/1.17.1/docs/images/kudu-architecture-2.png new file mode 100644 index 0000000000..fcaeba59fd Binary files /dev/null and b/releases/1.17.1/docs/images/kudu-architecture-2.png differ diff --git a/releases/1.17.1/docs/images/range-partitioning-example.png b/releases/1.17.1/docs/images/range-partitioning-example.png new file mode 100644 index 0000000000..23eac017dc Binary files /dev/null and b/releases/1.17.1/docs/images/range-partitioning-example.png differ diff --git a/releases/1.17.1/docs/index.html b/releases/1.17.1/docs/index.html new file mode 100644 index 0000000000..ff898dc9b7 --- /dev/null +++ b/releases/1.17.1/docs/index.html @@ -0,0 +1,509 @@ +--- +title: Introducing Apache Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Introducing Apache Kudu

    +
    +
    +
    +

    Kudu is a distributed columnar storage engine optimized for OLAP workloads. +Kudu runs on commodity hardware, is horizontally scalable, and supports highly +available operation.

    +
    +
    +

    Kudu’s design sets it apart. Some of Kudu’s benefits include:

    +
    +
    +
      +
    • +

      Fast processing of OLAP workloads.

      +
    • +
    • +

      Strong but flexible consistency model, allowing you to choose consistency +requirements on a per-request basis, including the option for +strict-serializable consistency.

      +
    • +
    • +

      Structured data model.

      +
    • +
    • +

      Strong performance for running sequential and random workloads simultaneously.

      +
    • +
    • +

      Tight integration with Apache Impala, making it a good, mutable alternative to +using HDFS with Apache Parquet.

      +
    • +
    • +

      Integration with Apache NiFi and Apache Spark.

      +
    • +
    • +

      Integration with Hive Metastore (HMS) and Apache Ranger to provide +fine-grain authorization and access control.

      +
    • +
    • +

      Authenticated and encrypted RPC communication.

      +
    • +
    • +

      High availability: Tablet Servers and Masters use the Raft Consensus Algorithm, which ensures +that as long as more than half the total number of tablet replicas is +available, the tablet is available for reads and writes. For instance, +if 2 out of 3 replicas (or 3 out of 5 replicas, etc.) are available, +the tablet is available. Reads can be serviced by read-only follower tablet +replicas, even in the event of a leader replica’s failure.

      +
    • +
    • +

      Automatic fault detection and self-healing: to keep data highly available, +the system detects failed tablet replicas and re-replicates data from +available ones, so failed replicas are automatically replaced when enough +Tablet Servers are available in the cluster.

      +
    • +
    • +

      Location awareness (a.k.a. rack awareness) to keep the system available +in case of correlated failures and allowing Kudu clusters to span over +multiple availability zones.

      +
    • +
    • +

      Logical backup (full and incremental) and restore.

      +
    • +
    • +

      Multi-row transactions (only for INSERT/INSERT_IGNORE operations as of +Kudu 1.15 release).

      +
    • +
    • +

      Easy to administer and manage.

      +
    • +
    +
    +
    +

    By combining all of these properties, Kudu targets support for families of +applications that are difficult or impossible to implement using Hadoop storage +technologies, while it is compatible with most of the data processing +frameworks in the Hadoop ecosystem.

    +
    +
    +

    A few examples of applications for which Kudu is a great solution are:

    +
    +
    +
      +
    • +

      Reporting applications where newly-arrived data needs to be immediately available for end users

      +
    • +
    • +

      Time-series applications that must simultaneously support:

      +
      +
        +
      • +

        queries across large amounts of historic data

        +
      • +
      • +

        granular queries about an individual entity that must return very quickly

        +
      • +
      +
      +
    • +
    • +

      Applications that use predictive models to make real-time decisions with periodic +refreshes of the predictive model based on all historic data

      +
    • +
    +
    +
    +

    For more information about these and other scenarios, see Example Use Cases.

    +
    +
    +
    +
    +

    Kudu-Impala Integration Features

    +
    +
    +
    +
    CREATE/ALTER/DROP TABLE
    +
    +

    Impala supports creating, altering, and dropping tables using Kudu as the persistence layer. +The tables follow the same internal / external approach as other tables in Impala, +allowing for flexible data ingestion and querying.

    +
    +
    INSERT
    +
    +

    Data can be inserted into Kudu tables in Impala using the same syntax as +any other Impala table like those using HDFS or HBase for persistence.

    +
    +
    UPDATE / DELETE
    +
    +

    Impala supports the UPDATE and DELETE SQL commands to modify existing data in +a Kudu table row-by-row or as a batch. The syntax of the SQL commands is chosen +to be as compatible as possible with existing standards. In addition to simple DELETE +or UPDATE commands, you can specify complex joins with a FROM clause in a subquery.

    +
    +
    Flexible Partitioning
    +
    +

    Similar to partitioning of tables in Hive, Kudu allows you to dynamically +pre-split tables by hash or range into a predefined number of tablets, in order +to distribute writes and queries evenly across your cluster. You can partition by +any number of primary key columns, by any number of hashes, and an optional list of +split rows. See Schema Design.

    +
    +
    Parallel Scan
    +
    +

    To achieve the highest possible performance on modern hardware, the Kudu client +used by Impala parallelizes scans across multiple tablets.

    +
    +
    High-efficiency queries
    +
    +

    Where possible, Impala pushes down predicate evaluation to Kudu, so that predicates +are evaluated as close as possible to the data. Query performance is comparable +to Parquet in many workloads.

    +
    +
    +
    +
    +

    For more details regarding querying data stored in Kudu using Impala, please +refer to the Impala documentation.

    +
    +
    +
    +
    +

    Concepts and Terms

    +
    +
    +
    Columnar Data Store
    +

    Kudu is a columnar data store. A columnar data store stores data in strongly-typed +columns. With a proper design, it is superior for analytical or data warehousing +workloads for several reasons.

    +
    +
    +
    +
    Read Efficiency
    +
    +

    For analytical queries, you can read a single column, or a portion +of that column, while ignoring other columns. This means you can fulfill your query +while reading a minimal number of blocks on disk. With a row-based store, you need +to read the entire row, even if you only return values from a few columns.

    +
    +
    Data Compression
    +
    +

    Because a given column contains only one type of data, +pattern-based compression can be orders of magnitude more efficient than +compressing mixed data types, which are used in row-based solutions. Combined +with the efficiencies of reading data from columns, compression allows you to +fulfill your query while reading even fewer blocks from disk. See +Data Compression

    +
    +
    +
    +
    +
    Table
    +

    A table is where your data is stored in Kudu. A table has a schema and +a totally ordered primary key. A table is split into segments called tablets.

    +
    +
    +
    Tablet
    +

    A tablet is a contiguous segment of a table, similar to a partition in +other data storage engines or relational databases. A given tablet is +replicated on multiple tablet servers, and at any given point in time, +one of these replicas is considered the leader tablet. Any replica can service +reads, and writes require consensus among the set of tablet servers serving the tablet.

    +
    +
    +
    Tablet Server
    +

    A tablet server stores and serves tablets to clients. For a +given tablet, one tablet server acts as a leader, and the others act as +follower replicas of that tablet. Only leaders service write requests, while +leaders or followers each service read requests. Leaders are elected using +Raft Consensus Algorithm. One tablet server can serve multiple tablets, and one tablet can be served +by multiple tablet servers.

    +
    +
    +
    Master
    +

    The master keeps track of all the tablets, tablet servers, the +Catalog Table, and other metadata related to the cluster. At a given point +in time, there can only be one acting master (the leader). If the current leader +disappears, a new master is elected using Raft Consensus Algorithm.

    +
    +
    +

    The master also coordinates metadata operations for clients. For example, when +creating a new table, the client internally sends the request to the master. The +master writes the metadata for the new table into the catalog table, and +coordinates the process of creating tablets on the tablet servers.

    +
    +
    +

    All the master’s data is stored in a tablet, which can be replicated to all the +other candidate masters.

    +
    +
    +

    Tablet servers heartbeat to the master at a set interval (the default is once +per second).

    +
    +
    +
    Raft Consensus Algorithm
    +

    Kudu uses the Raft consensus algorithm as +a means to guarantee fault-tolerance and consistency, both for regular tablets and for master +data. Through Raft, multiple replicas of a tablet elect a leader, which is responsible +for accepting and replicating writes to follower replicas. Once a write is persisted +in a majority of replicas it is acknowledged to the client. A given group of N replicas +(usually 3 or 5) is able to accept writes with at most (N - 1)/2 faulty replicas.

    +
    +
    +
    Catalog Table
    +

    The catalog table is the central location for +metadata of Kudu. It stores information about tables and tablets. The catalog +table may not be read or written directly. Instead, it is accessible +only via metadata operations exposed in the client API.

    +
    +
    +

    The catalog table stores two categories of metadata:

    +
    +
    +
    +
    Tables
    +
    +

    table schemas, locations, and states

    +
    +
    Tablets
    +
    +

    the list of existing tablets, which tablet servers have replicas of +each tablet, the tablet’s current state, and start and end keys.

    +
    +
    +
    +
    +
    Logical Replication
    +

    Kudu replicates operations, not on-disk data. This is referred to as logical replication, +as opposed to physical replication. This has several advantages:

    +
    +
    +
      +
    • +

      Although inserts and updates do transmit data over the network, deletes do not need +to move any data. The delete operation is sent to each tablet server, which performs +the delete locally.

      +
    • +
    • +

      Physical operations, such as compaction, do not need to transmit the data over the +network in Kudu. This is different from storage systems that use HDFS, where +the blocks need to be transmitted over the network to fulfill the required number of +replicas.

      +
    • +
    • +

      Tablets do not need to perform compactions at the same time or on the same schedule, +or otherwise remain in sync on the physical storage layer. This decreases the chances +of all tablet servers experiencing high latency at the same time, due to compactions +or heavy write loads.

      +
    • +
    +
    +
    +
    +
    +

    Architectural Overview

    +
    +
    +

    The following diagram shows a Kudu cluster with three masters and multiple tablet +servers, each serving multiple tablets. It illustrates how Raft consensus is used +to allow for both leaders and followers for both the masters and tablet servers. In +addition, a tablet server can be a leader for some tablets, and a follower for others. +Leaders are shown in gold, while followers are shown in blue.

    +
    +
    +
    +Kudu Architecture +
    +
    +
    +
    +
    +

    Example Use Cases

    +
    +
    +
    Streaming Input with Near Real Time Availability
    +

    A common challenge in data analysis is one where new data arrives rapidly and constantly, +and the same data needs to be available in near real time for reads, scans, and +updates. Kudu offers the powerful combination of fast inserts and updates with +efficient columnar scans to enable real-time analytics use cases on a single storage layer.

    +
    +
    +
    Time-series application with widely varying access patterns
    +

    A time-series schema is one in which data points are organized and keyed according +to the time at which they occurred. This can be useful for investigating the +performance of metrics over time or attempting to predict future behavior based +on past data. For instance, time-series customer data might be used both to store +purchase click-stream history and to predict future purchases, or for use by a +customer support representative. While these different types of analysis are occurring, +inserts and mutations may also be occurring individually and in bulk, and become available +immediately to read workloads. Kudu can handle all of these access patterns +simultaneously in a scalable and efficient manner.

    +
    +
    +

    Kudu is a good fit for time-series workloads for several reasons. With Kudu’s support for +hash-based partitioning, combined with its native support for compound row keys, it is +simple to set up a table spread across many servers without the risk of "hotspotting" +that is commonly observed when range partitioning is used. Kudu’s columnar storage engine +is also beneficial in this context, because many time-series workloads read only a few columns, +as opposed to the whole row.

    +
    +
    +

    In the past, you might have needed to use multiple data stores to handle different +data access patterns. This practice adds complexity to your application and operations, +and duplicates your data, doubling (or worse) the amount of storage +required. Kudu can handle all of these access patterns natively and efficiently, +without the need to off-load work to other data stores.

    +
    +
    +
    Predictive Modeling
    +

    Data scientists often develop predictive learning models from large sets of data. The +model and the data may need to be updated or modified often as the learning takes +place or as the situation being modeled changes. In addition, the scientist may want +to change one or more factors in the model to see what happens over time. Updating +a large set of data stored in files in HDFS is resource-intensive, as each file needs +to be completely rewritten. In Kudu, updates happen in near real time. The scientist +can tweak the value, re-run the query, and refresh the graph in seconds or minutes, +rather than hours or days. In addition, batch or incremental algorithms can be run +across the data at any time, with near-real-time results.

    +
    +
    +
    Combining Data In Kudu With Legacy Systems
    +

    Companies generate data from multiple sources and store it in a variety of systems +and formats. For instance, some of your data may be stored in Kudu, some in a traditional +RDBMS, and some in files in HDFS. You can access and query all of these sources and +formats using Impala, without the need to change your legacy systems.

    +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/installation.html b/releases/1.17.1/docs/installation.html new file mode 100644 index 0000000000..8d9ba23295 --- /dev/null +++ b/releases/1.17.1/docs/installation.html @@ -0,0 +1,1374 @@ +--- +title: Installing Apache Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:39:22 -0700' +--- + + + +
    +
    +
    + +

    Installing Apache Kudu

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +

    The Apache Kudu project only publishes source code releases, to deploy Kudu on a +cluster follow the steps below to build Kudu from source.

    +
    +
    +
    +
    +

    Prerequisites and Requirements

    +
    +
    +
    Hardware
    +
      +
    • +

      One or more hosts to run Kudu masters. It is recommended to have either one master (no fault +tolerance), or three masters (can tolerate one failure). The number of masters must be odd.

      +
    • +
    • +

      One or more hosts to run Kudu tablet servers. When using replication, a minimum of three tablet +servers is necessary.

      +
    • +
    +
    +
    + + + + + +
    + + +A deployment with an even number of masters provides the same level of fault tolerance as a +deployment with one fewer master. For example, both four-master and three-master deployments can +only tolerate a single failure; two-master deployments cannot tolerate any failures. +
    +
    +
    +
    Operating System Requirements
    +
    +
    Linux
    +
    +
    +
      +
    • +

      RHEL 7, RHEL 8, CentOS 7, CentOS 8, +Ubuntu 18.04 (bionic), Ubuntu 20.04 (focal)

      +
    • +
    • +

      A kernel and filesystem that support hole punching. Hole punching is the use of the +fallocate(2) system call with the FALLOC_FL_PUNCH_HOLE option set. See +troubleshooting hole punching for more +information.

      +
    • +
    • +

      ntp or chrony.

      +
    • +
    • +

      xfs or ext4 formatted drives.

      +
    • +
    • +

      Although not a strict requirement, it’s highly recommended to use nscd +to cache both DNS name resolution and static name resolution. See +troubleshooting slow DNS lookups +for more information.

      +
    • +
    +
    +
    +
    macOS
    +
    +
    +
      +
    • +

      macOS 11 (Big Sur), macOS 12 (Monterey), macOS 13 (Ventura)

      +
    • +
    +
    +
    +
    Windows
    +
    +
    +
      +
    • +

      Microsoft Windows is unsupported.

      +
    • +
    +
    +
    +
    +
    +
    +
    Storage
    +
      +
    • +

      If solid state storage is available, storing Kudu WALs on such high-performance +media may significantly improve latency when Kudu is configured for its highest +durability levels.

      +
    • +
    +
    +
    +
    Java
    +
      +
    • +

      JDK 8 is required to build Kudu, but a JRE is not required at runtime +except for tests.

      +
    • +
    +
    +
    +
    +
    +

    Build From Source

    +
    +
    +

    Below are the steps for each supported operating system to build Kudu from source.

    +
    +
    + + + + + +
    + + +
    Known Build Issues
    +
    +
      +
    • +

      It is not possible to build Kudu on Microsoft Windows.

      +
    • +
    • +

      A C+17 capable compiler (GCC 7.0) is required.

      +
    • +
    +
    +
    +
    +
    +

    RHEL or CentOS

    +
    +

    RHEL or CentOS 7.0 or later is required to build Kudu from source. To build +on a version older than 8.0, the Red Hat Developer Toolset must be installed +(in order to have access to a C++17 capable compiler).

    +
    +
    +
      +
    1. +

      Install the prerequisite libraries, if they are not installed.

      +
      +
      +
      $ sudo yum install autoconf automake cyrus-sasl-devel cyrus-sasl-gssapi \
      +  cyrus-sasl-plain flex gcc gcc-c++ gdb git java-1.8.0-openjdk-devel \
      +  krb5-server krb5-workstation libtool make openssl-devel patch \
      +  pkgconfig redhat-lsb-core rsync unzip vim-common which
      +
      +
      +
    2. +
    3. +

      If building on RHEL or CentOS older than 8.0, install the Red Hat Developer Toolset. +Below are the steps required for CentOS. If you are on RHEL, follow their documentation +here.

      +
      +
      +
      $ sudo yum install centos-release-scl-rh
      +$ sudo yum install devtoolset-8
      +
      +
      +
    4. +
    5. +

      Optional: If support for Kudu’s NVM (non-volatile memory) block cache is +desired, install the memkind library.

      +
      +
      +
      $ sudo yum install memkind
      +
      +
      +
      +

      If the memkind package provided with the Linux distribution is too old (1.8.0 or +newer is required), build and install it from source.

      +
      +
      +
      +
      $ sudo yum install numactl-libs numactl-devel
      +$ git clone https://github.com/memkind/memkind.git
      +$ cd memkind
      +$ ./build.sh --prefix=/usr
      +$ sudo yum remove memkind
      +$ sudo make install
      +$ sudo ldconfig
      +
      +
      +
    6. +
    7. +

      Optional: Install some additional packages, including ruby, if you plan to build documentation.

      +
      +
      +
      $ sudo yum install gem graphviz ruby-devel zlib-devel
      +
      +
      +
      + + + + + +
      + + +If building on RHEL or CentOS older than 7.0, the gem package may need to be replaced with rubygems +
      +
      +
      + + + + + +
      + + +Doxygen 1.8.19 or later is required to build the documentation, which has to be +built from source manually. Building +this version of Doxygen on CentOS or RHEL older than 8.0 also requires +devtoolset. +
      +
      +
    8. +
    9. +

      Optional: Install lsof if you plan to run tests:

      +
      +
      +
      $ sudo yum install lsof
      +
      +
      +
    10. +
    11. +

      Clone the Git repository and change to the new kudu directory.

      +
      +
      +
      $ git clone https://github.com/apache/kudu
      +$ cd kudu
      +
      +
      +
    12. +
    13. +

      Build any missing third-party requirements using the build-if-necessary.sh script. Not using +the devtoolset will result in Host compiler appears to require libatomic, but cannot find it.

      +
      +
      +
      $ build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
      +
      +
      +
    14. +
    15. +

      Build Kudu, using the utilities installed in the previous step. Choose a build +directory for the intermediate output, which can be anywhere in your filesystem +except for the kudu directory itself. Notice that the devtoolset must still be specified, +else you’ll get cc1plus: error: unrecognized command line option "-std=c++17".

      +
      +
      +
      mkdir -p build/release
      +cd build/release
      +../../build-support/enable_devtoolset.sh \
      +  ../../thirdparty/installed/common/bin/cmake \
      +  -DCMAKE_BUILD_TYPE=release ../..
      +make -j4
      +
      +
      +
      + + + + + +
      + + +
      +

      If you need to install only a subset of Kudu executables, you can set the following cmake flags +to OFF in order to skip any of the executables.

      +
      +
      +
        +
      • +

        KUDU_CLIENT_INSTALL (set to OFF to skip installing /usr/local/bin/kudu executable)

        +
      • +
      • +

        KUDU_TSERVER_INSTALL (set to OFF to skip installing /usr/local/sbin/kudu-tserver executable)

        +
      • +
      • +

        KUDU_MASTER_INSTALL (set to OFF to skip installing /usr/local/sbin/kudu-master executable)

        +
      • +
      +
      +
      +

      E.g., use the following variation of cmake command if you need to install only Kudu client +libraries and headers:

      +
      +
      +
      +
      ../../build-support/enable_devtoolset.sh \
      +  ../../thirdparty/installed/common/bin/cmake \
      +  -DKUDU_CLIENT_INSTALL=OFF \
      +  -DKUDU_MASTER_INSTALL=OFF \
      +  -DKUDU_TSERVER_INSTALL=OFF
      +  -DCMAKE_BUILD_TYPE=release ../..
      +
      +
      +
      +
      +
    16. +
    17. +

      Optional: install Kudu executables, libraries and headers.

      +
      + + + + + +
      + + +
      +

      Running sudo make install installs the following:

      +
      +
      +
        +
      • +

        kudu-tserver and kudu-master executables in /usr/local/sbin

        +
      • +
      • +

        Kudu command line tool in /usr/local/bin

        +
      • +
      • +

        Kudu client library in /usr/local/lib64/

        +
      • +
      • +

        Kudu client headers in /usr/local/include/kudu

        +
      • +
      +
      +
      +
      +
      +

      The default installation directory is /usr/local. You can customize it through the DESTDIR +environment variable.

      +
      +
      +
      +
      sudo make DESTDIR=/opt/kudu install
      +
      +
      +
    18. +
    19. +

      Optional: Build the documentation. NOTE: This command builds local documentation that +is not appropriate for uploading to the Kudu website.

      +
      +
      +
      $ make docs
      +
      +
      +
    20. +
    +
    +
    +
    Example 1. RHEL / CentOS Build Script
    +
    +
    +

    This script provides an overview of the procedure to build Kudu on a +newly-installed RHEL or CentOS host, and can be used as the basis for an +automated deployment scenario. It skips the steps marked Optional above.

    +
    +
    +
    +
    #!/bin/bash
    +
    +sudo yum -y install autoconf automake curl cyrus-sasl-devel cyrus-sasl-gssapi \
    +  cyrus-sasl-plain flex gcc gcc-c++ gdb git java-1.8.0-openjdk-devel \
    +  krb5-server krb5-workstation libtool make openssl-devel patch pkgconfig \
    +  redhat-lsb-core rsync unzip vim-common which
    +sudo yum -y install centos-release-scl-rh
    +sudo yum -y install devtoolset-8
    +git clone https://github.com/apache/kudu
    +cd kudu
    +build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
    +mkdir -p build/release
    +cd build/release
    +../../build-support/enable_devtoolset.sh \
    +  ../../thirdparty/installed/common/bin/cmake \
    +  -DCMAKE_BUILD_TYPE=release \
    +  ../..
    +make -j4
    +
    +
    +
    +
    +
    +
    +

    Ubuntu or Debian

    +
    +
      +
    1. +

      Install the prerequisite libraries, if they are not installed.

      +
      +
      +
      $ sudo apt-get install autoconf automake curl flex g++ gcc gdb git \
      +  krb5-admin-server krb5-kdc krb5-user libkrb5-dev libsasl2-dev libsasl2-modules \
      +  libsasl2-modules-gssapi-mit libssl-dev libtool lsb-release make ntp \
      +  openjdk-8-jdk openssl patch pkg-config python rsync unzip vim-common
      +
      +
      +
    2. +
    3. +

      Optional: If support for Kudu’s NVM (non-volatile memory) block cache is +desired, install the memkind library.

      +
      +
      +
      $ sudo apt-get install libmemkind0
      +
      +
      +
      +

      If the memkind package provided with the Linux distribution is too old (1.8.0 or +newer is required), build and install it from source.

      +
      +
      +
      +
      $ sudo apt-get install libnuma1 libnuma-dev
      +$ git clone https://github.com/memkind/memkind.git
      +$ cd memkind
      +$ ./build.sh --prefix=/usr
      +$ sudo apt-get remove memkind
      +$ sudo make install
      +$ sudo ldconfig
      +
      +
      +
    4. +
    5. +

      Optional: Install some additional packages, including ruby, if you plan to build documentation.

      +
      +
      +
      $ sudo apt-get install gem graphviz ruby-dev xsltproc zlib1g-dev
      +
      +
      +
      + + + + + +
      + + +Doxygen 1.8.19 or later is required to build the documentation, which has to be +built from source manually. +
      +
      +
    6. +
    7. +

      Optional: Install lsof if you plan to run tests:

      +
      +
      +
      $ sudo apt-get install lsof
      +
      +
      +
    8. +
    9. +

      Clone the Git repository and change to the new kudu directory.

      +
      +
      +
      $ git clone https://github.com/apache/kudu
      +$ cd kudu
      +
      +
      +
    10. +
    11. +

      Build any missing third-party requirements using the build-if-necessary.sh script.

      +
      +
      +
      $ thirdparty/build-if-necessary.sh
      +
      +
      +
    12. +
    13. +

      Build Kudu, using the utilities installed in the previous step. Choose a build +directory for the intermediate output, which can be anywhere in your filesystem +except for the kudu directory itself.

      +
      +
      +
      mkdir -p build/release
      +cd build/release
      +../../thirdparty/installed/common/bin/cmake -DCMAKE_BUILD_TYPE=release ../..
      +make -j4
      +
      +
      +
      + + + + + +
      + + +
      +

      If you need to install only a subset of Kudu executables, you can set the following cmake flags +to OFF in order to skip any of the executables.

      +
      +
      +
        +
      • +

        KUDU_CLIENT_INSTALL (set to OFF to skip installing /usr/local/bin/kudu executable)

        +
      • +
      • +

        KUDU_TSERVER_INSTALL (set to OFF to skip installing /usr/local/sbin/kudu-tserver executable)

        +
      • +
      • +

        KUDU_MASTER_INSTALL (set to OFF to skip installing /usr/local/sbin/kudu-master executable)

        +
      • +
      +
      +
      +

      E.g., use the following variation of cmake command if you need to install only Kudu client +libraries and headers:

      +
      +
      +
      +
        ../../thirdparty/installed/common/bin/cmake \
      +  -DKUDU_CLIENT_INSTALL=OFF \
      +  -DKUDU_MASTER_INSTALL=OFF \
      +  -DKUDU_TSERVER_INSTALL=OFF
      +  -DCMAKE_BUILD_TYPE=release ../..
      +
      +
      +
      +
      +
    14. +
    15. +

      Optional: install Kudu executables, libraries and headers.

      +
      + + + + + +
      + + +
      +

      Running sudo make install installs the following:

      +
      +
      +
        +
      • +

        kudu-tserver and kudu-master executables in /usr/local/sbin

        +
      • +
      • +

        Kudu command line tool in /usr/local/bin

        +
      • +
      • +

        Kudu client library in /usr/local/lib64/

        +
      • +
      • +

        Kudu client headers in /usr/local/include/kudu

        +
      • +
      +
      +
      +
      +
      +

      The default installation directory is /usr/local. You can customize it through the DESTDIR +environment variable.

      +
      +
      +
      +
      sudo make DESTDIR=/opt/kudu install
      +
      +
      +
    16. +
    17. +

      Optional: Build the documentation. NOTE: This command builds local documentation that +is not appropriate for uploading to the Kudu website.

      +
      +
      +
      $ make docs
      +
      +
      +
    18. +
    +
    +
    +
    Example 2. Ubuntu / Debian Build Script
    +
    +
    +

    This script provides an overview of the procedure to build Kudu on Ubuntu, and +can be used as the basis for an automated deployment scenario. It skips +the steps marked Optional above.

    +
    +
    +
    +
    #!/bin/bash
    +
    +sudo apt-get -y install autoconf automake curl flex g++ gcc gdb git \
    +  krb5-admin-server krb5-kdc krb5-user libkrb5-dev libsasl2-dev libsasl2-modules \
    +  libsasl2-modules-gssapi-mit libssl-dev libtool lsb-release make ntp \
    +  openjdk-8-jdk openssl patch pkg-config python rsync unzip vim-common
    +git clone https://github.com/apache/kudu
    +cd kudu
    +thirdparty/build-if-necessary.sh
    +mkdir -p build/release
    +cd build/release
    +../../thirdparty/installed/common/bin/cmake \
    +  -DCMAKE_BUILD_TYPE=release ../..
    +make -j4
    +
    +
    +
    +
    +
    +
    +

    SUSE Linux Enterprise Server (SLES)

    +
    +
      +
    1. +

      Install the prerequisite libraries, if they are not installed.

      +
      +
      +
      $ sudo zypper install autoconf automake cmake curl cyrus-sasl-devel \
      +  cyrus-sasl-plain cyrus-sasl-gssapi flex gdb git gzip \
      +  java-1_8_0-openjdk-devel krb5-client krb5-server krb5-devel \
      +  libtool lsb-release make ntp patch pkg-config python rsync unzip vim
      +$ sudo zypper install libopenssl-devel
      +
      +
      +
    2. +
    3. +

      If building on something older than SLES 15:

      +
      +
      +
      $ sudo zypper install openssl-devel
      +
      +
      +
    4. +
    5. +

      Install gcc8 and gcc8-c++ (might require activating Development Tools +Module to add corresponding package repositories):

      +
      +
      +
      $ sudo zypper install gcc8 gcc8-c++
      +
      +
      +
    6. +
    7. +

      NOTE: If building on SLES 15, the system compiler (GCC7) may be used +instead:

      +
      +
      +
      $ sudo zypper install gcc7 gcc7-c++
      +
      +
      +
    8. +
    9. +

      Optional: If support for Kudu’s NVM (non-volatile memory) block cache is +desired, install the memkind library.

      +
      +
      +
      $ sudo zypper install memkind
      +
      +
      +
      +

      If the memkind package provided with the Linux distribution is too old (1.8.0 or +newer is required), build and install it from source.

      +
      +
      +
      +
      $ sudo zypper install numactl-libs numactl-devel
      +$ git clone https://github.com/memkind/memkind.git
      +$ cd memkind
      +$ ./build.sh --prefix=/usr
      +$ sudo zypper remove memkind
      +$ sudo make install
      +$ sudo ldconfig
      +
      +
      +
    10. +
    11. +

      Optional: Install lsof if you plan to run tests:

      +
      +
      +
      $ sudo zypper install lsof
      +
      +
      +
    12. +
    13. +

      Clone the Git repository and change to the new kudu directory.

      +
      +
      +
      $ git clone https://github.com/apache/kudu
      +$ cd kudu
      +
      +
      +
    14. +
    15. +

      Build any missing third-party requirements using the build-if-necessary.sh script.

      +
      +
      +
      $ build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
      +
      +
      +
    16. +
    17. +

      Build Kudu, using the utilities installed in the previous step. Choose a build +directory for the intermediate output, which can be anywhere in your filesystem +except for the kudu directory itself.

      +
      +
      +
      mkdir -p build/release
      +cd build/release
      +../../build-support/enable_devtoolset.sh \
      +  ../../thirdparty/installed/common/bin/cmake \
      +  -DCMAKE_BUILD_TYPE=release ../..
      +make -j4
      +
      +
      +
      + + + + + +
      + + +
      +

      If you need to install only a subset of Kudu executables, you can set the following cmake flags +to OFF in order to skip any of the executables.

      +
      +
      +
        +
      • +

        KUDU_CLIENT_INSTALL (set to OFF to skip installing /usr/local/bin/kudu executable)

        +
      • +
      • +

        KUDU_TSERVER_INSTALL (set to OFF to skip installing /usr/local/sbin/kudu-tserver executable)

        +
      • +
      • +

        KUDU_MASTER_INSTALL (set to OFF to skip installing /usr/local/sbin/kudu-master executable)

        +
      • +
      +
      +
      +

      E.g., use the following variation of cmake command if you need to install only Kudu client +libraries and headers:

      +
      +
      +
      +
      ../../build-support/enable_devtoolset.sh \
      +  ../../thirdparty/installed/common/bin/cmake \
      +  -DKUDU_CLIENT_INSTALL=OFF \
      +  -DKUDU_TSERVER_INSTALL=OFF \
      +  -DKUDU_MASTER_INSTALL=OFF
      +  -DCMAKE_BUILD_TYPE=release ../..
      +
      +
      +
      +
      +
    18. +
    19. +

      Optional: install Kudu executables, libraries and headers.

      +
      + + + + + +
      + + +
      +

      Running sudo make install installs the following:

      +
      +
      +
        +
      • +

        kudu-tserver and kudu-master executables in /usr/local/sbin

        +
      • +
      • +

        Kudu command line tool in /usr/local/bin

        +
      • +
      • +

        Kudu client library in /usr/local/lib64/

        +
      • +
      • +

        Kudu client headers in /usr/local/include/kudu

        +
      • +
      +
      +
      +
      +
      +

      The default installation directory is /usr/local. You can customize it through the DESTDIR +environment variable.

      +
      +
      +
      +
      sudo make DESTDIR=/opt/kudu install
      +
      +
      +
    20. +
    +
    +
    +
    Example 3. SLES Build Script
    +
    +
    +

    This script provides an overview of the procedure to build Kudu on SLES, and +can be used as the basis for an automated deployment scenario. It skips +the steps marked Optional above. If running this on something older than +SLES 15, replace libopenssl-devel with openssl-devel. If running this +on SLES 15, the system compiler GCC7 may be used instead of GCC8 (i.e. +replace gcc8 with gcc7, and gcc8-c` with `gcc7-c correspondingly).

    +
    +
    +
    +
    #!/bin/bash
    +
    +sudo zypper install -y autoconf automake cmake curl cyrus-sasl-devel \
    +  cyrus-sasl-gssapi flex gdb git java-1_8_0-openjdk-devel \
    +  krb5-devel libtool lsb-release make ntp patch \
    +  pkg-config python rsync unzip vim
    +sudo zypper install gcc8 gcc8-c++
    +sudo zypper install libopenssl-devel
    +git clone https://github.com/apache/kudu
    +cd kudu
    +build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
    +mkdir -p build/release
    +cd build/release
    +../../build-support/enable_devtoolset.sh \
    +  ../../thirdparty/installed/common/bin/cmake \
    +  -DCMAKE_BUILD_TYPE=release \
    +  ../..
    +make -j4
    +
    +
    +
    +
    +
    +
    +

    macOS

    +
    +

    Kudu works on both Intel and ARM based Macs (Apple M chips). +Kudu support for macOS is experimental, and should only be used for development.

    +
    +
    + + + + + +
    + + +
    macOS Known Issues
    +
    +

    See macOS Limitations & Known Issues +for more information. For any test related issues please first check whether it’s already tracked: +Get all tests passing on macOS.

    +
    +
    +
    +
    +

    The Xcode package is necessary for +compiling Kudu. Some of the instructions below use Homebrew +to install dependencies, but manual dependency installation is possible.

    +
    +
    + + + + + +
    + + +
    ARM Macs
    +
    +

    Apple introduced support for Apple silicon in Xcode version +12.2. +To build Kudu on ARM-based Macs (Apple M chips), use Xcode of version 12.2 or above.

    +
    +
    +
    +
    +

    After installing Xcode, don’t forget to accept the license and install command-line +tools, if it’s not done yet:

    +
    +
    +
    +
    $ sudo xcodebuild -license
    +$ sudo xcode-select --install
    +
    +
    +
    +
      +
    1. +

      Install the prerequisite libraries, if they are not installed.

      +
      +
      +
      $ brew install autoconf automake cmake git krb5 libtool openssl@1.1 pkg-config pstree
      +
      +
      +
    2. +
    3. +

      Add OpenSSL to the pkg-config path. Kudu and thirdparty JWT fail to build without proper +OPENSSL_ROOT_DIR. If one sets the following environment variable, it takes care of both cases.

      +
      +
      +
      $ export PKG_CONFIG_PATH="$(brew --prefix openssl@1.1)/lib/pkgconfig:$PKG_CONFIG_PATH"
      +
      +
      +
    4. +
    5. +

      Optional: Install some additional packages, including ruby, if you plan to build documentation.

      +
      +
      +
      $ brew install doxygen graphviz ruby
      +$ brew install gnu-sed --with-default-names #The macOS default sed handles the -i parameter differently
      +
      +
      +
    6. +
    7. +

      Optional: Install lsof if you plan to run tests:

      +
      +
      +
      $ brew install lsof
      +
      +
      +
    8. +
    9. +

      Clone the Git repository and change to the new kudu directory.

      +
      +
      +
      $ git clone https://github.com/apache/kudu
      +$ cd kudu
      +
      +
      +
    10. +
    11. +

      Build any missing third-party requirements using the build-if-necessary.sh script.

      +
      +
      +
      $ thirdparty/build-if-necessary.sh
      +
      +
      +
      +
        +
      • +

        If different versions of the dependencies are installed and used when calling +thirdparty/build-if-necessary.sh, you may get stuck with output similar to the +following:

        +
        +
        +
        ./configure: line 16299: error near unexpected token `newline'
        +./configure: line 16299: `  PKG_CHECK_MODULES('
        +
        +
        +
        +

        The thirdparty builds may be cached and may reflect the incorrect versions of the +dependencies. Ensure that you have the correct dependencies listed in Step 1, clean +the workspace, and then try to re-build.

        +
        +
        +
        +
        $ git clean -fdx
        +$ thirdparty/build-if-necessary.sh
        +
        +
        +
      • +
      • +

        Some combinations of Homebrew installations and system upgrades can result with a +different kind of error:

        +
        +
        +
        libtool: Version mismatch error.  This is libtool 2.4.6, but the
        +libtool: definition of this LT_INIT comes from libtool 2.4.2.
        +libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
        +libtool: and run autoconf again.
        +
        +
        +
        +

        As described in this thread, +a possible fix is to uninstall and reinstall libtool:

        +
        +
        +
        +
        $ brew uninstall libtool && brew install libtool
        +
        +
        +
      • +
      +
      +
    12. +
    13. +

      Build Kudu. Choose a build directory for the intermediate output, which can be +anywhere in your filesystem except for the kudu directory itself.

      +
      +
      +
      mkdir -p build/release
      +cd build/release
      +../../thirdparty/installed/common/bin/cmake \
      +  -DCMAKE_BUILD_TYPE=release \
      +  ../..
      +make -j4
      +
      +
      +
    14. +
    +
    +
    +
    Example 4. macOS Build Script
    +
    +
    +

    This script provides an overview of the procedure to build Kudu on macOS, and can +be used as the basis for an automated deployment scenario. It assumes Xcode and Homebrew +are installed.

    +
    +
    +
    +
    #!/bin/bash
    +
    +brew tap homebrew/dupes
    +brew install autoconf automake cmake git krb5 libtool openssl pkg-config pstree
    +export PKG_CONFIG_PATH="$(brew --prefix openssl@1.1)/lib/pkgconfig:$PKG_CONFIG_PATH"
    +git clone https://github.com/apache/kudu
    +cd kudu
    +thirdparty/build-if-necessary.sh
    +mkdir -p build/release
    +cd build/release
    +../../thirdparty/installed/common/bin/cmake \
    +  -DCMAKE_BUILD_TYPE=release \
    +  ../..
    +make -j4
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Installing the C++ Client Libraries

    +
    +
    +

    See the Kudu client install section at the bottom of Build From Source above.

    +
    +
    + + + + + +
    + + +Only build against the client libraries and headers (kudu_client.so and client.h). +Other libraries and headers are internal to Kudu and have no stability guarantees. +
    +
    +
    +
    +
    +

    Build the Java Client

    +
    +
    +
    Requirements
    +
      +
    • +

      JDK 8

      +
    • +
    +
    +
    +

    To build the Java client, clone the Kudu Git repository, change to the java +directory, and issue the following command:

    +
    +
    +
    +
    $ ./gradlew assemble
    +
    +
    +
    +

    For more information on building the Java parts of the Kudu project, as well +as Eclipse integration, see java/README.md.

    +
    +
    +
    +
    +

    Upgrade from a Previous Version of Kudu

    +
    +
    +

    Before upgrading, you should read the Release Notes for +the version of Kudu that you are about to install. Pay close attention to the +incompatibilities, upgrade, and downgrade notes that are documented there.

    +
    +
    + + + + + +
    + + +The following upgrade process is only relevant when you have binaries available. +
    +
    +
    +
      +
    1. +

      Prepare the software.

      +
      +
        +
      • +

        Place the new kudu-tserver, kudu-master, and kudu binaries into the appropriate +Kudu binary directory.

        +
      • +
      +
      +
    2. +
    3. +

      Upgrade the tablet servers.

      +
      +
        +
      • +

        Set the follower_unavailable_considered_failed_sec configuration to a high value +(conservatively, twice the expected restart time) to prevent tablet replicas hosted +on restarting tablet servers from being evicted and re-replicated.

        +
        +
        +
        $ ./kudu tserver set_flag <tserver> follower_unavailable_considered_failed_sec 7200
        +
        +
        +
      • +
      • +

        Restart one tablet server.

        +
      • +
      • +

        Wait for all tablet replicas on the tablet server to finish bootstrapping by viewing +/tablets page in the tablet server web UI.

        +
      • +
      • +

        Restarting the tablet server will have reset the follower_unavailable_considered_failed_sec +configuration. Raise it again as needed.

        +
      • +
      • +

        Repeat the previous 3 steps for the remaining tablet servers.

        +
      • +
      • +

        Restore the original gflag value of every tablet server (the default is 5 minutes)

        +
        +
        +
        $ ./kudu tserver set_flag <tserver> follower_unavailable_considered_failed_sec 300
        +
        +
        +
        +

        An example for a cluster with three tablet servers A, B, C:

        +
        +
        +
        +
        # Step 1: Set the unavailable time for every tablet server to a large value
        +$ ./kudu tserver set_flag A follower_unavailable_considered_failed_sec 7200
        +$ ./kudu tserver set_flag B follower_unavailable_considered_failed_sec 7200
        +$ ./kudu tserver set_flag C follower_unavailable_considered_failed_sec 7200
        +
        +# Step 2: Restart the tablet server and reset the gflag one by one
        +<restart A and wait until A is online>
        +$ ./kudu tserver set_flag A follower_unavailable_considered_failed_sec 7200
        +<restart B and wait until B is online>
        +$ ./kudu tserver set_flag B follower_unavailable_considered_failed_sec 7200
        +<restart C and wait until C is online>
        +$ ./kudu tserver set_flag C follower_unavailable_considered_failed_sec 7200
        +
        +# Step 3: Restore the default gflag value (5 minutes) for every tablet server
        +$ ./kudu tserver set_flag A follower_unavailable_considered_failed_sec 300
        +$ ./kudu tserver set_flag B follower_unavailable_considered_failed_sec 300
        +$ ./kudu tserver set_flag C follower_unavailable_considered_failed_sec 300
        +
        +
        +
      • +
      +
      +
    4. +
    5. +

      Upgrade the master servers.

      +
      +
        +
      • +

        Restart the master server one by one.

        +
      • +
      +
      +
    6. +
    +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/known_issues.html b/releases/1.17.1/docs/known_issues.html new file mode 100644 index 0000000000..b9380e1693 --- /dev/null +++ b/releases/1.17.1/docs/known_issues.html @@ -0,0 +1,470 @@ +--- +title: Known Issues and Limitations +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:39:22 -0700' +--- + + + +
    +
    +
    + +

    Known Issues and Limitations

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    Schema

    +
    +
    +

    Primary keys

    +
    +
      +
    • +

      The primary key may not be changed after the table is created. +You must drop and recreate a table to select a new primary key.

      +
    • +
    • +

      The columns which make up the primary key must be listed first in the schema.

      +
    • +
    • +

      The primary key of a row may not be modified using the UPDATE functionality. +To modify a row’s primary key, the row must be deleted and re-inserted with +the modified key. Such a modification is non-atomic.

      +
    • +
    • +

      Columns with DOUBLE, FLOAT, or BOOL types are not allowed as part of a +primary key definition. Additionally, all columns that are part of a primary +key definition must be NOT NULL.

      +
    • +
    • +

      Auto-generated primary keys are not supported.

      +
    • +
    • +

      Cells making up a composite primary key are limited to a total of 16KiB after the internal +composite-key encoding done by Kudu.

      +
    • +
    +
    +
    +
    +

    Columns

    +
    +
      +
    • +

      CHAR and complex types like ARRAY, MAP, and STRUCT are not yet +supported.

      +
    • +
    • +

      Type, nullability and type attributes (i.e. precision and scale of DECIMAL, +length of VARCHAR) of existing columns cannot be changed by altering the +table.

      +
    • +
    • +

      Tables can have a maximum of 300 columns by default.

      +
    • +
    +
    +
    +
    +

    Tables

    +
    +
      +
    • +

      Tables must have an odd number of replicas, with a maximum of 7.

      +
    • +
    • +

      The replication factor is set at table creation time and cannot be changed +later. As a workaround, create a new table with the same schema and +the desired replication factor and insert the contents of the old table +into the new one.

      +
    • +
    +
    +
    +
    +

    Cells (individual values)

    +
    +
      +
    • +

      By default, cells cannot be larger than 64KiB before encoding or compression.

      +
    • +
    +
    +
    +
    +

    Other usage limitations

    +
    +
      +
    • +

      Secondary indexes are not supported.

      +
    • +
    • +

      Multi-row transactions are not yet supported.

      +
    • +
    • +

      Relational features, like foreign keys, are not supported.

      +
    • +
    • +

      Identifiers such as column and table names are restricted to be valid UTF-8 strings. +Additionally, a maximum length of 256 characters is enforced.

      +
    • +
    • +

      Dropping a column does not immediately reclaim space. Compaction must run first.

      +
    • +
    • +

      There is no way to run compaction manually, but dropping the table will reclaim the +space immediately.

      +
    • +
    +
    +
    +
    +
    +
    +

    Partitioning Limitations

    +
    +
    +
      +
    • +

      Tables must be manually pre-split into tablets using simple or compound primary +keys. Automatic splitting is not yet possible. Range partitions may be added +or dropped after a table has been created. See +Schema Design for more information.

      +
    • +
    • +

      Data in existing tables cannot currently be automatically repartitioned. As a workaround, +create a new table with the new partitioning and insert the contents of the old +table.

      +
    • +
    • +

      Tablets that lose a majority of replicas (such as 1 left out of 3) require manual +intervention to be repaired.

      +
    • +
    +
    +
    +
    +
    +

    Cluster management

    +
    +
    +
      +
    • +

      Recommended maximum point-to-point latency within a Kudu cluster is 20 milliseconds.

      +
    • +
    • +

      Recommended minimum point-to-point bandwidth within a Kudu cluster is 10 Gbps.

      +
    • +
    • +

      If you intend to use the location awareness feature to place tablet servers in +different locations, it is recommended to measure the bandwidth and latency between servers +to ensure they fit within the above guidelines.

      +
    • +
    • +

      All masters must be started at the same time when the cluster is started for the very first time.

      +
    • +
    +
    +
    +
    +
    +

    Server management

    +
    +
    +
      +
    • +

      Production deployments should configure a least 4 GiB of memory for tablet servers, +and ideally more than 16 GiB when approaching the data and tablet Scale limits.

      +
    • +
    • +

      Write ahead logs (WAL) can only be stored on one disk.

      +
    • +
    • +

      Tablet servers can’t change address/port.

      +
    • +
    • +

      Kudu has a requirement on having the server-side clock synchronized with NTP. +Kudu masters and tablet servers crash if detecting that the clock is out of +sync. For the clock synchronization, either synchronize the local clock +using an NTP server such as ntpd or chronyd, or use the built-in NTP +client for Kudu masters and tablet servers.

      +
    • +
    +
    +
    +
    +
    +

    Scale

    +
    +
    +

    Kudu is known to run seamlessly across a wide array of environments and workloads +with minimal expertise and configuration at the following scale:

    +
    +
    +
      +
    • +

      3 master servers

      +
    • +
    • +

      100 tablet servers

      +
    • +
    • +

      8 TiB of stored data per tablet server, post-replication and post-compression.

      +
    • +
    • +

      1000 tablets per tablet server, post-replication.

      +
    • +
    • +

      60 tablets per table, per tablet server, at table-creation time.

      +
    • +
    • +

      10 GiB of stored data per tablet.

      +
    • +
    +
    +
    +

    Staying within these limits will provide the most predictable and straightforward +Kudu experience.

    +
    +
    +

    However, experienced users who run on modern hardware, use the latest +versions of Kudu, test and tune Kudu for their use case, and work closely with +the community, can achieve much higher scales comfortably. Below are some +anecdotal values that have been seen in real world production clusters:

    +
    +
    +
      +
    • +

      3 master servers

      +
    • +
    • +

      300+ tablet servers

      +
    • +
    • +

      10+ TiB of stored data per tablet server, post-replication and post-compression.

      +
    • +
    • +

      4000+ tablets per tablet server, post-replication.

      +
    • +
    • +

      50 GiB of stored data per tablet. Going beyond this can cause issues such a +reduced performance, compaction issues, and slow tablet startup times.

      +
    • +
    +
    +
    +
    +
    +

    Security Limitations

    +
    +
    +
      +
    • +

      Row-level authorization is not available.

      +
    • +
    • +

      Data encryption at rest is not directly built into Kudu. Encryption of +Kudu data at rest can be achieved through the use of local block device +encryption software such as dmcrypt.

      +
    • +
    • +

      Server certificates generated by Kudu IPKI are incompatible with +bouncycastle version 1.52 and earlier. See +KUDU-2145 for details.

      +
    • +
    +
    +
    +
    +
    +

    Other Known Issues

    +
    +
    +

    The following are known bugs and issues with the current release of Kudu. They will +be addressed in later releases. Note that this list is not exhaustive, and is meant +to communicate only the most important known issues.

    +
    +
    +
      +
    • +

      If a tablet server has a very large number of tablets, it may take several minutes +to start up. It is recommended to limit the number of tablets per server to 1000 +or fewer. Consider this limitation when pre-splitting your tables. If you notice slow +start-up times, you can monitor the number of tablets per server in the web UI.

      +
    • +
    • +

      NVM-based cache doesn’t work reliably on RH6/CentOS6 +(see KUDU-2978).

      +
    • +
    • +

      When upgrading a Kudu cluster to 1.11.0 version with existing pre-1.11.0 +tables, the live_row_count and on_disk_size metrics might produce +inconsistent readings in some scenarios +(see KUDU-2986).

      +
    • +
    • +

      In Kudu 1.10.0 and Kudu 1.11.0, the kudu-binary JAR (targeted for +containerized Kudu deployments using mini-cluster) contains libnuma dynamic +library. Also, if building Kudu binaries in release mode with default cmake +settings, the libnuma library is linked statically with the Kudu binaries +(add -DKUDU_LINK=dynamic when running cmake to avoid that). The library is +licensed under LGPL v.2.1, however the ASF thirdparty license policy +explicitly prohibits including such contents into releases: see +Category X. This +issue has been addressed in 1.10.1 and 1.11.1 patch releases correspondingly +(see KUDU-2990).

      +
    • +
    • +

      Due to a bug in SSSD PAC plugin of version prior to 1.16, a KRPC connection +negotiation may stuck and the whole process wouldn’t be able to negotiate +any new connection for about 5 minutes in a secure Kudu cluster using SSSD. +If using SSSD in secure Kudu cluster deployments, make sure SSSD packages are +of version 1.16 or newer +(see KUDU-3217).

      +
    • +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/kudu-master_configuration_reference.html b/releases/1.17.1/docs/kudu-master_configuration_reference.html new file mode 100644 index 0000000000..6b4b211099 --- /dev/null +++ b/releases/1.17.1/docs/kudu-master_configuration_reference.html @@ -0,0 +1,8329 @@ +--- +title: kudu-master Flags +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:18 -0800' +--- + + + +
    +
    +
    + +

    kudu-master Flags

    +
    +

    Stable Flags

    +
    +
    +

    Flags tagged stable and not advanced are safe to use for common +configuration tasks.

    +
    +
    +

    --block_cache_capacity_mb

    +
    +

    block cache capacity in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    512

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_servers

    +
    +

    Comma-separated list of NTP servers for the built-in NTP client, each in format <FQDN|IP>[:PORT]. This list will be used in one of the following cases: (A) the built-in NTP client is explicitly set as the time source (i.e. --time_source=builtin) (B) the 'auto' pseudo-source for time is used and the cloud instance detector isn’t aware about any preferred NTP servers provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --time_source

    +
    +

    The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    system

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_force_fsync_all

    +
    +

    Whether the Log/WAL should explicitly call fsync() after each write.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs

    +
    +

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_metadata_dir

    +
    +

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir

    +
    +

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --master_addresses

    +
    +

    Comma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --keytab_file

    +
    +

    Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --rpc_bind_addresses

    +
    +

    Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0:7051

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --superuser_acl

    +
    +

    The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --user_acl

    +
    +

    The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    *

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --webserver_certificate_file

    +
    +

    The location of the embedded webserver’s TLS/SSL certificate file, in PEM format. If empty, webserver TLS/SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_port

    +
    +

    Port to bind to for the webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8051

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_file

    +
    +

    The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. This flag must be set if the --webserver_certificate_file flag is set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password to decrypt the private key of the webserver’s certificate pointed to by the --webserver_private_key_file flag. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_require_spnego

    +
    +

    Require connections to the webserver to authenticate via Kerberos using SPNEGO.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_filename

    +
    +

    Prefix of log filename - full path is <log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --max_log_files

    +
    +

    Maximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    stable,runtime

    +
    +

     

    +
    +
    +
    +

    --maintenance_manager_num_threads

    +
    +

    Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --memory_limit_hard_bytes

    +
    +

    Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --flagfile

    +
    +

    load flags from file

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --help

    +
    +

    show help on all flags [tip: all flags can have two dashes]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --version

    +
    +

    show version and build info and exit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --colorlogtostderr

    +
    +

    color messages logged to stderr (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --log_dir

    +
    +

    If specified, logfiles are written into this directory instead of the default logging directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --logtostderr

    +
    +

    log messages go to stderr instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --max_log_size

    +
    +

    approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1800

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +
    +
    +

    Stable, Advanced Flags

    +
    +
    +

    Flags tagged stable and advanced are supported, but should be considered +"expert" options and should be used carefully and after thorough testing.

    +
    +
    +

    --principal

    +
    +

    Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu/_HOST

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_history_max_age_sec

    +
    +

    Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    stable,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_process_lifetime_heap_profiling

    +
    +

    Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --heap_profile_path

    +
    +

    Output path to store heap profiles. If not set profiles are stored in /tmp/<process-name>.<pid>.<n>.heap.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --unlock_experimental_flags

    +
    +

    Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --unlock_unsafe_flags

    +
    +

    Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --fromenv

    +
    +

    set flags from the environment [use 'export FLAGS_flag1=value']

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --tryfromenv

    +
    +

    set flags from the environment if present

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --undefok

    +
    +

    comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name. IMPORTANT: flags in this list that have arguments MUST use the flag=value format

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpmatch

    +
    +

    show help on modules whose name contains the specified substr

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpon

    +
    +

    show help on the modules named by this flag value

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helppackage

    +
    +

    show help on all modules in the main package

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpshort

    +
    +

    show help on only the main module for this program

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpxml

    +
    +

    produce an xml version of help

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    + +
    +

    Put additional links to the log files in this directory

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --log_prefix

    +
    +

    Prepend the log prefix to the start of each log line

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --minloglevel

    +
    +

    Messages logged at a lower level than this don’t actually get logged anywhere

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stderrthreshold

    +
    +

    log messages at or above this level are copied to stderr in addition to logfiles. This flag obsoletes --alsologtostderr.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stop_logging_if_full_disk

    +
    +

    Stop attempting to log to disk if the disk is full.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --symbolize_stacktrace

    +
    +

    Symbolize the stack trace in the tombstone

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,stable,runtime

    +
    +

     

    +
    +
    +
    +

    --v

    +
    +

    Show all VLOG(m) messages for m ⇐ this. Overridable by --vmodule.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --vmodule

    +
    +

    per-module verbose level. Argument is a comma-separated list of <module name>=<log level>. <module name> is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). <log level> overrides any value given by --v.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +
    +
    +

    Evolving Flags

    +
    +
    +

    Flags tagged evolving (or not tagged with a stability tag) are not yet +considered final, and while they may be useful for tuning, they are subject to +being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +

     

    +
    +
    +
    +

    --cfile_verify_checksums

    +
    +

    Verify the checksum for each block on read if one exists

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,evolving

    +
    +

     

    +
    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_write_checksums

    +
    +

    Write CRC32 checksums for each block

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --ntp_initial_sync_wait_secs

    +
    +

    Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_default_database

    +
    +

    Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between <ranger_default_database>.<table> and <table>, so privileges granted on <table> in <ranger_default_database> are applied to both <ranger_default_database>.<table> and <table> in Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +

     

    +
    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the data directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_consider_available_space

    +
    +

    Whether to consider available space when selecting a data directory during tablet or data block creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_reserved_bytes

    +
    +

    Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_target_data_dirs_per_tablet

    +
    +

    Indicates the target number of data dirs to spread each tablet’s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the WAL directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_conn_timeout_seconds

    +
    +

    Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_kerberos_principal

    +
    +

    The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    hive

    Tags

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_max_message_size_bytes

    +
    +

    Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    104857600

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_recv_timeout_seconds

    +
    +

    Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_retry_count

    +
    +

    The number of times that HMS operations will retry after encountering retriable failures, such as network errors.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_sasl_enabled

    +
    +

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_send_timeout_seconds

    +
    +

    Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_uris

    +
    +

    Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --server_thread_pool_max_thread_count

    +
    +

    Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    -1

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_user_acl

    +
    +

    Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +

     

    +
    +
    +
    +

    --auto_leader_rebalancing_interval_seconds

    +
    +

    How long to sleep in between auto leader rebalancing cycles, before checking the cluster again to see if there is leader skew and if run task again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --auto_leader_rebalancing_rpc_timeout_seconds

    +
    +

    auto leader rebalancing send leader step down rpc timeout seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --leader_rebalancing_max_moves_per_round

    +
    +

    Max count of leader transfer when every leader rebalance runs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_interval_seconds

    +
    +

    How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_load_imbalance_threshold

    +
    +

    The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …​) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_max_moves_per_server

    +
    +

    Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_rpc_timeout_seconds

    +
    +

    RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --auto_rebalancing_wait_for_replica_moves_seconds

    +
    +

    How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +

     

    +
    +
    +
    +

    --catalog_manager_enable_chunked_tablet_reports

    +
    +

    Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --default_deleted_table_reserve_seconds

    +
    +

    Time in seconds to be reserved before purging a deleted table for the table from DeleteTable request. Value 0 means DeleteTable() works the regular way, i.e. dropping the table and purging its data immediately. If it’s set to anything greater than 0, then all DeleteTable() RPCs are turned into SoftDeleteTable(…​, FLAGS_default_deleted_table_reserve_seconds). NOTE : this flag make no sense for soft-delete function because the reserve_seconds has been specified by user while calling SoftDeleteTable.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --default_num_replicas

    +
    +

    Default number of replicas for tables that do not have the num_replicas set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --enable_per_range_hash_schemas

    +
    +

    Whether to support range-specific hash schemas for tables.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --enable_range_replica_placement

    +
    +

    Whether to use range aware replica placement for newly created tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_ts_rpc_timeout_ms

    +
    +

    Timeout used for the master→TS async rpc calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_column_comment_length

    +
    +

    Maximum length of the comment of a column.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +

     

    +
    +
    +
    +

    --max_create_tablets_per_ts

    +
    +

    The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_owner_length

    +
    +

    Maximum length of the name of a table owner.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    +
    +

     

    +
    +
    +
    +

    --max_table_comment_length

    +
    +

    Maximum length of the comment of a table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +

     

    +
    +
    +
    +

    --min_num_replicas

    +
    +

    Minimum number of replicas that may be specified when creating a table: this is to enforce the minimum replication factor for tables created in a Kudu cluster. For example, setting this flag to 3 enforces every new table to have at least 3 replicas for each of its tablets, so there cannot be a data loss when a single tablet server fails irrecoverably.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --table_locations_cache_capacity_mb

    +
    +

    Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --table_locations_ttl_ms

    +
    +

    Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_creation_timeout_ms

    +
    +

    Timeout used by the master when attempting to create tablet replicas during table creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --unresponsive_ts_rpc_timeout_ms

    +
    +

    After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_notification_log_batch_size

    +
    +

    Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --hive_metastore_notification_log_poll_period_seconds

    +
    +

    Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --check_expired_table_interval_seconds

    +
    +

    Interval (in seconds) to check whether there is any soft_deleted table with expired reservation period. Such tables will be purged and cannot be recalled after that.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --location_mapping_cmd

    +
    +

    A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --master_auto_join_cluster

    +
    +

    Whether Kudu Masters should automatically attempt to join existing an existing cluster, specified by the master addresses

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_auto_join_retry_interval_secs

    +
    +

    The interval, in seconds, with which to retry checks to determine whether this Master should be added to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    5

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_auto_join_rpc_timeout_secs

    +
    +

    The amount of time, in seconds, to use as a timeout when sending RPCs to add this Master to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    30

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --master_client_location_assignment_enabled

    +
    +

    Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --master_support_change_config

    +
    +

    Whether the master supports adding/removing master servers dynamically.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_unresponsive_timeout_ms

    +
    +

    The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_config_path

    +
    +

    Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_crash_master_on_subprocess_failure

    +
    +

    Whether to crash the Master if the Ranger subprocess crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_jar_path

    +
    +

    Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary. It can be a colon-separated list of JARs. If it is, the paths are not verified and passed straight to Java.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_java_extra_args

    +
    +

    Extra JVM arguments to be passed to the Ranger subprocess.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_java_path

    +
    +

    Path where the Java binary was installed. If the value isn’t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user’s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user’s PATH.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --ranger_log_config_dir

    +
    +

    Directory in which to look for a kudu-ranger-subprocess-log4j2.properties file. If empty, will use the value of --log_dir. If such a file does not exist, a properties file will be created to honor Kudu’s logging configurations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_log_level

    +
    +

    Log level to use in the Ranger Java subprocess. Supports "all", "trace", "debug", "info", "warn", "error", "fatal", and "off"

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    info

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_logtostdout

    +
    +

    Whether to have the Ranger subprocess log to stdout.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_overwrite_log_config

    +
    +

    Whether to overwrite any existing logging configuration file, if found.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --ranger_receiver_fifo_dir

    +
    +

    Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_subnets

    +
    +

    A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_default_level

    +
    +

    The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    debug

    Tags

    evolving,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_authentication

    +
    +

    Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encryption

    +
    +

    Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_deadline_checking_interval_ms

    +
    +

    Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --subprocess_max_message_size_bytes

    +
    +

    Maximum payload size for a message in protobuf format the subprocess server accepts from a subprocess (i.e. its child), in bytes, 0 means unlimited. If a subprocess sends a message with bigger payload than the specified limit, the server rejects the message and responds with AppStatusPB::IO_ERROR error code. This setting is not effective for messages in JSON format.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    8388608

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_num_responder_threads

    +
    +

    Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_queue_full_retry_ms

    +
    +

    Number of milliseconds between attempts to enqueue the request to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --subprocess_request_queue_size_bytes

    +
    +

    Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_response_queue_size_bytes

    +
    +

    Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --subprocess_timeout_secs

    +
    +

    Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --undo_delta_block_gc_init_budget_millis

    +
    +

    The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_idle_timeout_sec

    +
    +

    Amount of time without activity before a tablet copy session will expire, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    600

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --env_use_fsync

    +
    +

    Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --disable_core_dumps

    +
    +

    Disable core dumps when this process crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --redact

    +
    +

    Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    all

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +

     

    +
    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_minidumps

    +
    +

    Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --max_minidumps

    +
    +

    Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    9

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_path

    +
    +

    Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    minidumps

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_size_limit_hint_kb

    +
    +

    Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20480

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +

     

    +
    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +

     

    +
    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/kudu-master_configuration_reference_unsupported.html b/releases/1.17.1/docs/kudu-master_configuration_reference_unsupported.html new file mode 100644 index 0000000000..d3f831838f --- /dev/null +++ b/releases/1.17.1/docs/kudu-master_configuration_reference_unsupported.html @@ -0,0 +1,8952 @@ +--- +title: kudu-master Unsupported Flags +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:18 -0800' +--- + + + +
    +
    +
    + +

    kudu-master Unsupported Flags

    +
    +
    +
    +

    Flags not marked stable or evolving are considered experimental and are +unsupported. They are included here for informational purposes only and are +subject to being changed or removed without notice.

    +
    +
    +
    +
    +

    --block_cache_type

    +
    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +
    +
    +

    --min_compression_ratio

    +
    +
    +

    If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.90000000000000002

    Tags

    experimental

    +
    +
    +
    +

    --cfile_default_block_size

    +
    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +
    +
    +

    --cfile_default_compression_codec

    +
    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --client_use_unix_domain_sockets

    +
    +
    +

    Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --show_attributes

    +
    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --show_column_comment

    +
    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --builtin_ntp_request_timeout_ms

    +
    +
    +

    Timeout for requests sent to NTP servers (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --builtin_ntp_true_time_refresh_max_interval_s

    +
    +
    +

    Maximum allowed time interval without refreshing computed true time estimation (in seconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +
    +

    --max_clock_sync_error_usec

    +
    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --codegen_dump_functions

    +
    +
    +

    Whether to print the LLVM IR for generated functions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --codegen_dump_mc

    +
    +
    +

    Whether to dump the disassembly of the machine code for generated functions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --codegen_cache_capacity

    +
    +
    +

    Number of entries which may be stored in the code generation cache.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +
    +

    --codegen_queue_capacity

    +
    +
    +

    Number of tasks which may be put in the code generation task queue.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +
    +

    --codegen_time_compilation

    +
    +
    +

    Whether to print time that each code generation request took.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --predicate_effectivess_enabled

    +
    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +
    +
    +

    --ranger_default_database

    +
    +
    +

    Name of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between <ranger_default_database>.<table> and <table>, so privileges granted on <table> in <ranger_default_database> are applied to both <ranger_default_database>.<table> and <table> in Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +
    +

    --cmeta_force_fsync

    +
    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +
    +
    +

    --fs_wal_use_file_cache

    +
    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +
    +
    +

    --log_compression_codec

    +
    +
    +

    Codec to use for compressing WAL segments.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    LZ4

    Tags

    experimental

    +
    +
    +
    +

    --log_max_segments_to_retain

    +
    +
    +

    The maximum number of past log segments to keep at all times for the purposes of catching up other peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    experimental,runtime,advanced

    +
    +
    +
    +

    --log_min_segments_to_retain

    +
    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +
    +
    +

    --log_cache_size_limit_mb

    +
    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +
    +

    --log_async_preallocate_segments

    +
    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --log_preallocate_segments

    +
    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --log_segment_size_mb

    +
    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +
    +
    +

    --evict_failed_followers

    +
    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +
    +

    --leader_failure_exp_backoff_max_delta_ms

    +
    +
    +

    Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20000

    Tags

    experimental

    +
    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +
    +
    +

    --raft_enable_pre_election

    +
    +
    +

    When enabled, candidates will call a pre-election before running a real leader election.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +
    +

    --raft_enable_tombstoned_voting

    +
    +
    +

    When enabled, tombstoned tablets may vote in elections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +
    +
    +

    --raft_prepare_replacement_before_eviction

    +
    +
    +

    When enabled, failed replicas will only be evicted after a replacement has been prepared for them.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +
    +

    --missed_heartbeats_before_rejecting_snapshot_scans

    +
    +
    +

    The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.5

    Tags

    experimental

    +
    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --safe_time_max_lag_ms

    +
    +
    +

    The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental

    +
    +
    +
    +

    --block_manager_preflush_control

    +
    +
    +

    Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    finalize

    Tags

    experimental

    +
    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +
    +
    +

    --block_manager

    +
    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +
    +
    +

    --cmeta_fsync_override_on_xfs

    +
    +
    +

    Whether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,experimental

    +
    +
    +
    +

    --encryption_cluster_key_name

    +
    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +
    +
    +

    --encryption_key_provider

    +
    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +
    +
    +

    --ranger_kms_url

    +
    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --log_block_manager_delete_dead_container

    +
    +
    +

    When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +
    +
    +

    --log_container_live_metadata_before_compact_ratio

    +
    +
    +

    Desired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +
    +

    --log_container_max_blocks

    +
    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +
    +
    +

    --log_container_max_size

    +
    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +
    +
    +

    --log_container_metadata_max_size

    +
    +
    +

    Maximum size (soft) of a log container’s metadata. Use 0 for no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --log_container_metadata_runtime_compact

    +
    +
    +

    Whether to enable metadata file compaction at runtime.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --log_container_metadata_size_before_compact_ratio

    +
    +
    +

    Desired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.80000000000000004

    Tags

    experimental,advanced

    +
    +
    +
    +

    --log_container_preallocate_bytes

    +
    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +
    +
    +

    --hive_metastore_conn_timeout_seconds

    +
    +
    +

    Configures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +
    +

    --hive_metastore_kerberos_principal

    +
    +
    +

    The service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    hive

    Tags

    +
    +
    +
    +

    --hive_metastore_max_message_size_bytes

    +
    +
    +

    Maximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    104857600

    Tags

    advanced

    +
    +
    +
    +

    --hive_metastore_recv_timeout_seconds

    +
    +
    +

    Configures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +
    +

    --hive_metastore_retry_count

    +
    +
    +

    The number of times that HMS operations will retry after encountering retriable failures, such as network errors.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +
    +

    --hive_metastore_sasl_enabled

    +
    +
    +

    Configures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --hive_metastore_send_timeout_seconds

    +
    +
    +

    Configures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +
    +

    --hive_metastore_uris

    +
    +
    +

    Address of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --trusted_user_acl

    +
    +
    +

    Comma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +
    +

    --auto_leader_rebalancing_interval_seconds

    +
    +
    +

    How long to sleep in between auto leader rebalancing cycles, before checking the cluster again to see if there is leader skew and if run task again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,advanced

    +
    +
    +
    +

    --auto_leader_rebalancing_rpc_timeout_seconds

    +
    +
    +

    auto leader rebalancing send leader step down rpc timeout seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +
    +
    +

    --leader_rebalancing_max_moves_per_round

    +
    +
    +

    Max count of leader transfer when every leader rebalance runs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10

    Tags

    runtime,advanced

    +
    +
    +
    +

    --auto_rebalancing_interval_seconds

    +
    +
    +

    How long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30

    Tags

    +
    +
    +
    +

    --auto_rebalancing_load_imbalance_threshold

    +
    +
    +

    The threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …​) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    +
    +
    +
    +

    --auto_rebalancing_max_moves_per_server

    +
    +
    +

    Maximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +
    +
    +

    --auto_rebalancing_rpc_timeout_seconds

    +
    +
    +

    RPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    60

    Tags

    +
    +
    +
    +

    --auto_rebalancing_wait_for_replica_moves_seconds

    +
    +
    +

    How long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    +
    +
    +
    +

    --auto_leader_rebalancing_enabled

    +
    +
    +

    Whether automatic leader rebalancing is enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --auto_rebalancing_enabled

    +
    +
    +

    Whether auto-rebalancing is enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --catalog_manager_enable_chunked_tablet_reports

    +
    +
    +

    Whether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --default_deleted_table_reserve_seconds

    +
    +
    +

    Time in seconds to be reserved before purging a deleted table for the table from DeleteTable request. Value 0 means DeleteTable() works the regular way, i.e. dropping the table and purging its data immediately. If it’s set to anything greater than 0, then all DeleteTable() RPCs are turned into SoftDeleteTable(…​, FLAGS_default_deleted_table_reserve_seconds). NOTE : this flag make no sense for soft-delete function because the reserve_seconds has been specified by user while calling SoftDeleteTable.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +
    +

    --default_num_replicas

    +
    +
    +

    Default number of replicas for tables that do not have the num_replicas set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    runtime,advanced

    +
    +
    +
    +

    --enable_chunked_tablet_writes

    +
    +
    +

    Whether to split tablet actions into chunks when persisting them in sys.catalog table. If disabled, any update of the sys.catalog table will be rejected if exceeds --rpc_max_message_size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +
    +

    --enable_metadata_cleanup_for_deleted_tables_and_tablets

    +
    +
    +

    Whether to clean up metadata for deleted tables and tablets from master’s in-memory map and the 'sys.catalog' table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --enable_per_range_hash_schemas

    +
    +
    +

    Whether to support range-specific hash schemas for tables.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --enable_range_replica_placement

    +
    +
    +

    Whether to use range aware replica placement for newly created tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +
    +

    --enable_table_write_limit

    +
    +
    +

    Enable the table write limit. When the table’s size or row count is approaching the limit, the write may be forbidden.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --master_failover_catchup_timeout_ms

    +
    +
    +

    Amount of time to give a newly-elected leader master to load the previous master’s metadata and become active. If this time is exceeded, the node crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +
    +

    --master_ts_rpc_timeout_ms

    +
    +
    +

    Timeout used for the master→TS async rpc calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --max_column_comment_length

    +
    +
    +

    Maximum length of the comment of a column.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +
    +
    +

    --max_create_tablets_per_ts

    +
    +
    +

    The number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    runtime,advanced

    +
    +
    +
    +

    --max_owner_length

    +
    +
    +

    Maximum length of the name of a table owner.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    +
    +
    +
    +

    --max_table_comment_length

    +
    +
    +

    Maximum length of the comment of a table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    256

    Tags

    +
    +
    +
    +

    --metadata_for_deleted_table_and_tablet_reserved_secs

    +
    +
    +

    After this amount of time, the metadata of a deleted table/tablet will be cleaned up if --enable_metadata_cleanup_for_deleted_tables_and_tablets=true.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +
    +

    --min_num_replicas

    +
    +
    +

    Minimum number of replicas that may be specified when creating a table: this is to enforce the minimum replication factor for tables created in a Kudu cluster. For example, setting this flag to 3 enforces every new table to have at least 3 replicas for each of its tablets, so there cannot be a data loss when a single tablet server fails irrecoverably.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,advanced

    +
    +
    +
    +

    --require_new_spec_for_custom_hash_schema_range_bound

    +
    +
    +

    Whether to require the client to use newer signature to specify range bounds when working with a table having custom hash schema per range.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --table_disk_size_limit

    +
    +
    +

    Set the target size in bytes of a table to write. This is a system wide configuration for every newly created table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    experimental

    +
    +
    +
    +

    --table_locations_cache_capacity_mb

    +
    +
    +

    Capacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --table_locations_ttl_ms

    +
    +
    +

    Maximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --table_row_count_limit

    +
    +
    +

    Set the target row count of a table to write. This is a system wide configuration for every newly created table.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    experimental

    +
    +
    +
    +

    --table_write_limit_ratio

    +
    +
    +

    Set the ratio of how much write limit can be reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.94999999999999996

    Tags

    experimental

    +
    +
    +
    +

    --tablet_creation_timeout_ms

    +
    +
    +

    Timeout used by the master when attempting to create tablet replicas during table creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +
    +

    --unresponsive_ts_rpc_timeout_ms

    +
    +
    +

    After this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    advanced

    +
    +
    +
    +

    --hive_metastore_notification_log_batch_size

    +
    +
    +

    Number of notification log entries which are retrieved from the Hive Metastore per batch when polling.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    runtime,advanced

    +
    +
    +
    +

    --hive_metastore_notification_log_poll_period_seconds

    +
    +
    +

    Amount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    runtime,advanced

    +
    +
    +
    +

    --authn_token_validity_seconds

    +
    +
    +

    Period of time for which an issued authentication token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    604800

    Tags

    experimental

    +
    +
    +
    +

    --authz_token_validity_seconds

    +
    +
    +

    Period of time for which an issued authorization token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    300

    Tags

    experimental

    +
    +
    +
    +

    --check_expired_table_interval_seconds

    +
    +
    +

    Interval (in seconds) to check whether there is any soft_deleted table with expired reservation period. Such tables will be purged and cannot be recalled after that.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +
    +

    --location_mapping_cmd

    +
    +
    +

    A Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --master_registration_rpc_timeout_ms

    +
    +
    +

    Timeout for retrieving master registration over RPC.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1500

    Tags

    experimental

    +
    +
    +
    +

    --master_rpc_proxy_advertised_addresses

    +
    +
    +

    RPC endpoints of all masters in this cluster exposed to the external network via a TCP proxy. This is a comma-separated list of the masters' proxy-advertised RPC addresses, each specified via the --rpc_proxy_advertised_addresses flag for a single master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --tsk_rotation_seconds

    +
    +
    +

    Number of seconds between consecutive activations of newly generated TSKs (Token Signing Keys).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    86400

    Tags

    experimental,advanced

    +
    +
    +
    +

    --ipki_ca_cert_expiration_seconds

    +
    +
    +

    validity interval for self-signed root CA certifcate issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    315360000

    Tags

    experimental

    +
    +
    +
    +

    --ipki_ca_key_size

    +
    +
    +

    the number of bits for self-signed root CA cert used by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +
    +

    --ipki_server_cert_expiration_seconds

    +
    +
    +

    validity interval for server certificates issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    315360000

    Tags

    experimental

    +
    +
    +
    +

    --master_auto_join_cluster

    +
    +
    +

    Whether Kudu Masters should automatically attempt to join existing an existing cluster, specified by the master addresses

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +
    +

    --master_auto_join_retry_interval_secs

    +
    +
    +

    The interval, in seconds, with which to retry checks to determine whether this Master should be added to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    5

    Tags

    runtime

    +
    +
    +
    +

    --master_auto_join_rpc_timeout_secs

    +
    +
    +

    The amount of time, in seconds, to use as a timeout when sending RPCs to add this Master to a cluster.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    30

    Tags

    runtime

    +
    +
    +
    +

    --master_client_location_assignment_enabled

    +
    +
    +

    Whether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +
    +

    --master_support_change_config

    +
    +
    +

    Whether the master supports adding/removing master servers dynamically.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --tserver_unresponsive_timeout_ms

    +
    +
    +

    The period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +
    +

    --txn_manager_lazily_initialized

    +
    +
    +

    Whether to initialize TxnManager upon arrival of first request. Otherwise, TxnManager is initialized upon master’s startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +
    +

    --txn_manager_status_table_num_replicas

    +
    +
    +

    Number of replicas for transaction status table

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3

    Tags

    experimental,advanced

    +
    +
    +
    +

    --txn_manager_status_table_range_partition_span

    +
    +
    +

    A span for a status table’s range partition. Once TxnManager detects there isn’t a backing tablet for a transaction identifier, it adds a new range partition in the transaction status table with the lower bound equal to the upper bound of the previous range and (lower bound + span) as the upper bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1000000

    Tags

    experimental,advanced

    +
    +
    +
    +

    --ranger_config_path

    +
    +
    +

    Path to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --ranger_crash_master_on_subprocess_failure

    +
    +
    +

    Whether to crash the Master if the Ranger subprocess crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --ranger_jar_path

    +
    +
    +

    Path to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary. It can be a colon-separated list of JARs. If it is, the paths are not verified and passed straight to Java.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --ranger_java_extra_args

    +
    +
    +

    Extra JVM arguments to be passed to the Ranger subprocess.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --ranger_java_path

    +
    +
    +

    Path where the Java binary was installed. If the value isn’t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user’s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user’s PATH.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --ranger_receiver_fifo_dir

    +
    +
    +

    Directory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +
    +

    --rpc_trace_negotiation

    +
    +
    +

    If enabled, dump traces of all RPC negotiations to the log

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,runtime,advanced

    +
    +
    +
    +

    --rpc_callback_max_cycles

    +
    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +
    +

    --remember_clients_ttl_ms

    +
    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +
    +
    +

    --remember_responses_ttl_ms

    +
    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +
    +
    +

    --rpc_dump_all_traces

    +
    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --rpc_max_message_size

    +
    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +
    +
    +

    --use_system_auth_to_local

    +
    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --ipki_server_key_size

    +
    +
    +

    the number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +
    +

    --tsk_num_rsa_bits

    +
    +
    +

    Number of bits in RSA keys used for token signing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +
    +

    --web_log_bytes

    +
    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +
    +

    --diagnostics_log_stack_traces_interval_ms

    +
    +
    +

    The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    experimental,runtime

    +
    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --rpc_advertised_addresses

    +
    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +
    +

    --rpc_num_service_threads

    +
    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --rpc_proxied_addresses

    +
    +
    +

    Comma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +
    +

    --rpc_proxy_advertised_addresses

    +
    +
    +

    This server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +
    +

    --rpc_reuseport

    +
    +
    +

    Whether to set the SO_REUSEPORT option on listening RPC sockets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --rpc_service_queue_length

    +
    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    advanced

    +
    +
    +
    +

    --enable_jwt_token_auth

    +
    +
    +

    This enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +
    +
    +

    --jwks_file_path

    +
    +
    +

    File path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --jwks_url

    +
    +
    +

    URL of the JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --max_negotiation_threads

    +
    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +
    +

    --min_negotiation_threads

    +
    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --num_reactor_threads

    +
    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +
    +
    +

    --rpc_ca_certificate_file

    +
    +
    +

    Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --rpc_certificate_file

    +
    +
    +

    Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +
    +
    +

    --rpc_listen_on_unix_domain_socket

    +
    +
    +

    Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +
    +
    +

    --rpc_private_key_file

    +
    +
    +

    Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --rpc_tls_ciphers

    +
    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +
    +
    +

    --rpc_tls_excluded_protocols

    +
    +
    +

    A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +
    +

    --rpc_tls_min_protocol

    +
    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +
    +

    --server_max_open_files

    +
    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --wall_clock_jump_detection

    +
    +
    +

    Whether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    auto

    Tags

    experimental

    +
    +
    +
    +

    --wall_clock_jump_threshold_sec

    +
    +
    +

    Maximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    900

    Tags

    experimental

    +
    +
    +
    +

    --webserver_enabled

    +
    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --metrics_log_interval_ms

    +
    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +
    +

    --webserver_enable_csp

    +
    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +
    +

    --webserver_x_frame_options

    +
    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +
    +
    +

    --webserver_advertised_addresses

    +
    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --webserver_authentication_domain

    +
    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --webserver_doc_root

    +
    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --webserver_enable_doc_root

    +
    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --webserver_interface

    +
    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --webserver_num_worker_threads

    +
    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +
    +

    --webserver_password_file

    +
    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +
    +

    --webserver_tls_ciphers

    +
    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +
    +

    --webserver_tls_min_protocol

    +
    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +
    +

    --subprocess_deadline_checking_interval_ms

    +
    +
    +

    Interval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +
    +
    +

    --subprocess_max_message_size_bytes

    +
    +
    +

    Maximum payload size for a message in protobuf format the subprocess server accepts from a subprocess (i.e. its child), in bytes, 0 means unlimited. If a subprocess sends a message with bigger payload than the specified limit, the server rejects the message and responds with AppStatusPB::IO_ERROR error code. This setting is not effective for messages in JSON format.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    8388608

    Tags

    advanced

    +
    +
    +
    +

    --subprocess_num_responder_threads

    +
    +
    +

    Number of threads that will be dedicated to reading responses from the inbound queue and returning to callers

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +
    +

    --subprocess_queue_full_retry_ms

    +
    +
    +

    Number of milliseconds between attempts to enqueue the request to the subprocess

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced,runtime

    +
    +
    +
    +

    --subprocess_request_queue_size_bytes

    +
    +
    +

    Maximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +
    +
    +

    --subprocess_response_queue_size_bytes

    +
    +
    +

    Maximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    16777216

    Tags

    advanced

    +
    +
    +
    +

    --subprocess_timeout_secs

    +
    +
    +

    Number of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15

    Tags

    advanced

    +
    +
    +
    +

    --budgeted_compaction_target_rowset_size

    +
    +
    +

    The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    33554432

    Tags

    experimental,advanced

    +
    +
    +
    +

    --compaction_approximation_ratio

    +
    +
    +

    Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.0499999523162842

    Tags

    experimental,advanced

    +
    +
    +
    +

    --compaction_minimum_improvement

    +
    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +
    +
    +

    --rowset_compaction_delta_memory_factor

    +
    +
    +

    The initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    5

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_enforce_preset_factor

    +
    +
    +

    Whether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_estimate_min_deltas_size_mb

    +
    +
    +

    Minimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    64

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_memory_estimate_enabled

    +
    +
    +

    Whether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +
    +
    +

    --deltafile_default_block_size

    +
    +
    +

    Block size for delta files. In the future, this may become configurable on a per-table basis.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    32768

    Tags

    experimental

    +
    +
    +
    +

    --deltafile_default_compression_codec

    +
    +
    +

    The compression codec used when writing deltafiles.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    lz4

    Tags

    experimental

    +
    +
    +
    +

    --default_composite_key_index_block_size_bytes

    +
    +
    +

    Block size used for composite key indexes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    experimental

    +
    +
    +
    +

    --rowset_metadata_store_keys

    +
    +
    +

    Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --tablet_delta_store_major_compact_min_ratio

    +
    +
    +

    Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000149011612

    Tags

    experimental

    +
    +
    +
    +

    --tablet_delta_store_minor_compact_max

    +
    +
    +

    How many delta stores are required before forcing a minor delta compaction (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    experimental

    +
    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +
    +
    +

    --compaction_small_rowset_tradeoff

    +
    +
    +

    The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0089999999999999993

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +
    +

    --rows_writed_per_sec_for_hot_tablets

    +
    +
    +

    Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scans_started_per_sec_for_hot_tablets

    +
    +
    +

    Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +
    +

    --tablet_bloom_block_size

    +
    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +
    +
    +

    --tablet_compaction_budget_mb

    +
    +
    +

    Budget for a single compaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    experimental

    +
    +
    +
    +

    --tablet_throttler_burst_factor

    +
    +
    +

    Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    experimental

    +
    +
    +
    +

    --tablet_throttler_bytes_per_sec

    +
    +
    +

    Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +
    +

    --tablet_throttler_rpc_per_sec

    +
    +
    +

    Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +
    +

    --workload_score_upper_bound

    +
    +
    +

    Upper bound for workload score.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +
    +

    --workload_stats_metric_collection_interval_ms

    +
    +
    +

    The interval in milliseconds at which we collect workload metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --workload_stats_rate_collection_min_interval_ms

    +
    +
    +

    The minimal interval in milliseconds at which we collect read/write rates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +
    +

    --enable_workload_score_for_perf_improvement_ops

    +
    +
    +

    Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --update_stats_log_throttling_interval_sec

    +
    +
    +

    Log throttling interval for messages on disabled compaction emitted by UpdateStats method.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    600

    Tags

    experimental,runtime

    +
    +
    +
    +

    --tablet_max_pending_txn_write_ops

    +
    +
    +

    Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    2

    Tags

    runtime,experimental

    +
    +
    +
    +

    --flush_threshold_mb

    +
    +
    +

    Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    runtime,experimental

    +
    +
    +
    +

    --flush_threshold_secs

    +
    +
    +

    Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120

    Tags

    runtime,experimental

    +
    +
    +
    +

    --flush_upper_bound_ms

    +
    +
    +

    Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_background_rpc_timeout_ms

    +
    +
    +

    Period (in milliseconds) with which transaction-related background requests are made

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    5000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +
    +
    +

    --txn_keepalive_interval_ms

    +
    +
    +

    Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_staleness_tracker_interval_ms

    +
    +
    +

    Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_status_tablet_failover_catchup_timeout_ms

    +
    +
    +

    Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +
    +

    --enable_txn_system_client_init

    +
    +
    +

    Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --heartbeat_interval_ms

    +
    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +
    +
    +

    --completed_scan_history_count

    +
    +
    +

    Number of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +
    +

    --scanner_ttl_ms

    +
    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --show_slow_scans

    +
    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +
    +

    --slow_scan_history_count

    +
    +
    +

    Number of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +
    +
    +

    --scanner_batch_size_rows

    +
    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scanner_max_wait_ms

    +
    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --tserver_enforce_access_control

    +
    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --txn_participant_registration_pool_num_threads

    +
    +
    +

    Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental,advanced

    +
    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_aws_ntp_server

    +
    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_gce_ntp_server

    +
    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +
    +
    +

    --trusted_certificate_file

    +
    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --trace_to_console

    +
    +
    +

    Trace pattern specifying which trace events should be dumped directly to the console

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --crash_on_eio

    +
    +
    +

    Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,advanced

    +
    +
    +
    +

    --encrypt_data_at_rest

    +
    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --encryption_key_length

    +
    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +
    +

    --env_use_ioctl_hole_punch_on_xfs

    +
    +
    +

    Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +
    +

    --heap_sample_every_n_bytes

    +
    +
    +

    Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental,advanced

    +
    +
    +
    +

    --umask

    +
    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +
    +
    +

    --jwks_update_frequency_s

    +
    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +
    +

    --data_gc_min_size_mb

    +
    +
    +

    The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +
    +

    --data_gc_prioritization_prob

    +
    +
    +

    The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +
    +

    --log_target_replay_size_mb

    +
    +
    +

    The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1024

    Tags

    experimental

    +
    +
    +
    +

    --maintenance_op_multiplier

    +
    +
    +

    Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.1000000000000001

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --max_priority_range

    +
    +
    +

    Maximal priority range of OPs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --metrics_retirement_age_ms

    +
    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +
    +

    --host_for_tests

    +
    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --local_ip_for_outbound_sockets

    +
    +
    +

    IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --nvm_cache_path

    +
    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +
    +
    +

    --memory_limit_soft_percentage

    +
    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +
    +
    +

    --memory_pressure_percentage

    +
    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --colorlogtostdout

    +
    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --drop_log_memory

    +
    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --log_backtrace_at

    +
    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --log_utc_time

    +
    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --log_year_in_prefix

    +
    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +

    --logbuflevel

    +
    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +
    +

    --logbufsecs

    +
    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +
    +
    +

    --logcleansecs

    +
    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +
    +
    +

    --logfile_mode

    +
    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +
    +
    +

    --logtostdout

    +
    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --timestamp_in_logfile_name

    +
    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/kudu-master_metrics_reference.html b/releases/1.17.1/docs/kudu-master_metrics_reference.html new file mode 100644 index 0000000000..c21e934e89 --- /dev/null +++ b/releases/1.17.1/docs/kudu-master_metrics_reference.html @@ -0,0 +1,12472 @@ +--- +title: kudu-master Metrics +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:18 -0800' +--- + + + +
    +
    +
    + +

    kudu-master Metrics

    +
    +

    Warning Metrics

    +
    +
    +

    Metrics tagged as 'warn' are metrics which can often indicate operational oddities +that may need more investigation.

    +
    +
    +

    cluster_replica_skew

    +
    +

    Cluster Replica Skew +  +The difference between the number of replicas on the tablet server hosting the most replicas and the number of replicas on the tablet server hosting the least replicas.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    data_dirs_failed

    +
    +

    Data Directories Failed +  +Number of data directories whose disks are currently in a failed state

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    data_dirs_full

    +
    +

    Data Directories Full +  +Number of data directories whose disks are currently full

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    failed_elections_since_stable_leader

    +
    +

    Failed Elections Since Stable Leader +  +Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    follower_memory_pressure_rejections

    +
    +

    Follower Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while FOLLOWER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_error_messages

    +
    +

    ERROR-level Log Messages +  +Number of ERROR-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_warning_messages

    +
    +

    WARNING-level Log Messages +  +Number of WARNING-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolating

    +
    +

    Hybrid Clock Is Being Extrapolated +  +Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolation_intervals

    +
    +

    Intervals of Hybrid Clock Extrapolation +  +The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    seconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    leader_memory_pressure_rejections

    +
    +

    Leader Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while LEADER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    maintenance_op_prepare_failed

    +
    +

    Number Of Operations With Failed Prepare() +  +Number of times when calling Prepare() on a maintenance operation failed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    operations

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_length

    +
    +

    Operation Apply Queue Length +  +Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tasks

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_overload_rejections

    +
    +

    Number of Rejected Write Requests Due to Queue Overloaded Error +  +Number of rejected write requests due to overloaded op apply queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_time

    +
    +

    Operation Apply Queue Time +  +Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_run_time

    +
    +

    Operation Apply Run Time +  +Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    ops_behind_leader

    +
    +

    Operations Behind Leader +  +Number of operations this server believes it is behind the leader.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    ranger_server_dropped_messages

    +
    +

    Number of messages dropped by the subprocess server +  +Number of responses that the Ranger client had sent, but the subprocess server failed to receive because they were oversized, corrupted, etc.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_queue_overflow

    +
    +

    RPC Queue Overflows +  +Number of RPCs dropped because the service queue was full.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_timed_out_in_queue

    +
    +

    RPC Queue Timeouts +  +Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    scanners_expired

    +
    +

    Scanners Expired +  +Number of scanners that have expired due to inactivity since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    slow_scans

    +
    +

    Slow Scans +  +Number of slow scanners that are defined by --slow_scanner_threshold_ms if --show_slow_scans set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    spinlock_contention_time

    +
    +

    Spinlock Contention Time +  +Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    startup_progress_steps_remaining

    +
    +

    Server Startup Steps Remaining +  +Server startup progress steps remaining

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    sys_catalog_oversized_write_requests

    +
    +

    System Catalog Oversized Write Requests +  +Number of oversized write requests to the system catalog tablet rejected since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    tablets_num_failed

    +
    +

    Number of Failed Tablets +  +Number of failed tablets

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_limit_rejections

    +
    +

    Tablet Op Memory Limit Rejections +  +Number of ops rejected because the tablet’s op memory limit was reached.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_pressure_rejections

    +
    +

    Op Memory Pressure Rejections +  +Number of ops rejected because the tablet’s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +
    +
    +

    Info Metrics

    +
    +
    +

    Metrics tagged as 'info' are generally useful metrics that operators always want +to have available but may not be monitored under normal circumstances.

    +
    +
    +

    active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    average_diskrowset_height

    +
    +

    Average DiskRowSet Height +  +Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_cache_usage

    +
    +

    Block Cache Memory Usage +  +Memory consumed by the block cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_reading

    +
    +

    Data Blocks Open For Read +  +Number of data blocks currently open for reading

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_writing

    +
    +

    Data Blocks Open For Write +  +Number of data blocks currently open for writing

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_error

    +
    +

    Built-in NTP Latest Maximum Time Error +  +Latest maximum time error as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_local_clock_delta

    +
    +

    Local Clock vs Built-In NTP True Time Delta +  +Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    column_count

    +
    +

    Table Column count +  +The column count in the table’s latest schema.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_duration

    +
    +

    RowSet Compaction Duration +  +Time spent compacting RowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage

    +
    +

    Peak Memory Usage for CompactRowSetsOp +  +Peak memory usage of rowset merge compaction operations (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage_to_deltas_size_ratio

    +
    +

    Peak Memory Usage to On-Disk Delta Size Ratio for CompactRowSetsOp +  +Ratio of the peak memory usage to the estimated on-disk size of all deltas for rowsets involved in rowset merge compaction (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_stime

    +
    +

    System CPU Time +  +Total system CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_utime

    +
    +

    User CPU Time +  +Total user CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    data_dirs_space_available_bytes

    +
    +

    Data Directories Space Free +  +Total space available in all the data directories. Set to -1 if reading any of the disks fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_duration

    +
    +

    Deleted Rowset GC Duration +  +Time spent running the maintenance operation to GC deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups_per_op

    +
    +

    Delta File Lookups per Operation +  +Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_duration

    +
    +

    Major Delta Compaction Duration +  +Seconds spent major delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_duration

    +
    +

    Minor Delta Compaction Duration +  +Time spent minor delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    file_cache_usage

    +
    +

    File Cache Usage +  +Number of entries in the file cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_dms_duration

    +
    +

    DeltaMemStore Flush Duration +  +Time spent flushing DeltaMemStores.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_mrs_duration

    +
    +

    MemRowSet Flush Duration +  +Time spent flushing MemRowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_current_allocated_bytes

    +
    +

    Heap Memory Usage +  +Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_heap_size

    +
    +

    Reserved Heap Memory +  +Bytes of system memory reserved by TCMalloc.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_AddMaster

    +
    +

    kudu.master.MasterService.AddMaster RPC Time +  +Microseconds spent handling kudu.master.MasterService.AddMaster RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_AlterTable

    +
    +

    kudu.master.MasterService.AlterTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.AlterTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ChangeTServerState

    +
    +

    kudu.master.MasterService.ChangeTServerState RPC Time +  +Microseconds spent handling kudu.master.MasterService.ChangeTServerState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ConnectToMaster

    +
    +

    kudu.master.MasterService.ConnectToMaster RPC Time +  +Microseconds spent handling kudu.master.MasterService.ConnectToMaster RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_CreateTable

    +
    +

    kudu.master.MasterService.CreateTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.CreateTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_DeleteTable

    +
    +

    kudu.master.MasterService.DeleteTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.DeleteTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetMasterRegistration

    +
    +

    kudu.master.MasterService.GetMasterRegistration RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetMasterRegistration RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTableLocations

    +
    +

    kudu.master.MasterService.GetTableLocations RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTableLocations RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTableSchema

    +
    +

    kudu.master.MasterService.GetTableSchema RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTableSchema RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTableStatistics

    +
    +

    kudu.master.MasterService.GetTableStatistics RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTableStatistics RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTabletLocations

    +
    +

    kudu.master.MasterService.GetTabletLocations RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTabletLocations RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_IsAlterTableDone

    +
    +

    kudu.master.MasterService.IsAlterTableDone RPC Time +  +Microseconds spent handling kudu.master.MasterService.IsAlterTableDone RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_IsCreateTableDone

    +
    +

    kudu.master.MasterService.IsCreateTableDone RPC Time +  +Microseconds spent handling kudu.master.MasterService.IsCreateTableDone RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ListMasters

    +
    +

    kudu.master.MasterService.ListMasters RPC Time +  +Microseconds spent handling kudu.master.MasterService.ListMasters RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ListTables

    +
    +

    kudu.master.MasterService.ListTables RPC Time +  +Microseconds spent handling kudu.master.MasterService.ListTables RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ListTabletServers

    +
    +

    kudu.master.MasterService.ListTabletServers RPC Time +  +Microseconds spent handling kudu.master.MasterService.ListTabletServers RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_Ping

    +
    +

    kudu.master.MasterService.Ping RPC Time +  +Microseconds spent handling kudu.master.MasterService.Ping RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_RecallDeletedTable

    +
    +

    kudu.master.MasterService.RecallDeletedTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.RecallDeletedTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_RefreshAuthzCache

    +
    +

    kudu.master.MasterService.RefreshAuthzCache RPC Time +  +Microseconds spent handling kudu.master.MasterService.RefreshAuthzCache RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_RemoveMaster

    +
    +

    kudu.master.MasterService.RemoveMaster RPC Time +  +Microseconds spent handling kudu.master.MasterService.RemoveMaster RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ReplaceTablet

    +
    +

    kudu.master.MasterService.ReplaceTablet RPC Time +  +Microseconds spent handling kudu.master.MasterService.ReplaceTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_TSHeartbeat

    +
    +

    kudu.master.MasterService.TSHeartbeat RPC Time +  +Microseconds spent handling kudu.master.MasterService.TSHeartbeat RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_UnregisterTServer

    +
    +

    kudu.master.MasterService.UnregisterTServer RPC Time +  +Microseconds spent handling kudu.master.MasterService.UnregisterTServer RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Time +  +Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Time +  +Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Time +  +Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Time +  +Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_AbortTransaction

    +
    +

    kudu.transactions.TxnManagerService.AbortTransaction RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.AbortTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_BeginTransaction

    +
    +

    kudu.transactions.TxnManagerService.BeginTransaction RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.BeginTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_CommitTransaction

    +
    +

    kudu.transactions.TxnManagerService.CommitTransaction RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.CommitTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_GetTransactionState

    +
    +

    kudu.transactions.TxnManagerService.GetTransactionState RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.GetTransactionState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive

    +
    +

    kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.KeepTransactionAlive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_error

    +
    +

    Hybrid Clock Error +  +Server clock maximum error; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_timestamp

    +
    +

    Hybrid Clock Timestamp +  +Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    involuntary_context_switches

    +
    +

    Involuntary Context Switches +  +Total involuntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    live_row_count

    +
    +

    Table Live Row count +  +Pre-replication aggregated number of live rows in this table. Only accurate if all tablets in the table support live row counting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    rows

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    live_row_count

    +
    +

    Tablet Live Row Count +  +Number of live rows in this tablet, excludes deleted rows.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_append_latency

    +
    +

    Log Append Latency +  +Microseconds spent on appending to the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_blocks_under_management

    +
    +

    Blocks Under Management +  +Number of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_bytes_under_management

    +
    +

    Bytes Under Management +  +Number of bytes of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers

    +
    +

    Number of Block Containers +  +Number of log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_full_containers

    +
    +

    Number of Full Block Containers +  +Number of full log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_processed_containers_startup

    +
    +

    Number of Log Block Containers opened during startup +  +Number of log block containers which were opened/processed during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_total_containers_startup

    +
    +

    Total number of Log Block Containers during startup +  +Number of log block containers which were present during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_duration

    +
    +

    Log GC Duration +  +Time spent garbage collecting the logs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_running

    +
    +

    Log GCs Running +  +Number of log GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_reader_read_batch_latency

    +
    +

    Log Read Latency +  +Microseconds spent reading log entry batches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_sync_latency

    +
    +

    Log Sync Latency +  +Microseconds spent on synchronizing the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    logical_clock_timestamp

    +
    +

    Logical Clock Timestamp +  +Logical clock timestamp.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    maintenance_op_find_best_candidate_duration

    +
    +

    Time Taken To Find Best Maintenance Operation +  +Time spent choosing a maintenance operation with highest scores among available candidates

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memory_usage

    +
    +

    Current Memory Usage +  +Current memory usage of the server process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memrowset_size

    +
    +

    MemRowSet Memory Usage +  +Size of this tablet’s memrowset

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_server

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_table

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_tablet

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_raft_leaders

    +
    +

    Number of Raft Leaders +  +Number of tablet replicas that are Raft leaders

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_rowsets_on_disk

    +
    +

    Tablet Number of Rowsets on Disk +  +Number of diskrowsets in this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_data_size

    +
    +

    Tablet Data Size On Disk +  +Space used by this tablet’s data blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_size

    +
    +

    Table Size On Disk +  +Pre-replication aggregated disk space used by all tablets in this table, including metadata.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_size

    +
    +

    Tablet Size On Disk +  +Space used by this tablet on disk, including metadata.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_length

    +
    +

    Operation Prepare Queue Length +  +Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    tasks

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_time

    +
    +

    Operation Prepare Queue Time +  +Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_run_time

    +
    +

    Operation Prepare Run Time +  +Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ops_timed_out_in_prepare_queue

    +
    +

    Number of Requests Timed Out In Prepare Queue +  +Number of WriteRequest RPCs that timed out while their corresponding operations were waiting in the tablet’s prepare queue, and thus were not started but acknowledged with TimedOut error status.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_AddMaster

    +
    +

    kudu.master.MasterService.AddMaster RPC Rejections +  +Number of rejected kudu.master.MasterService.AddMaster requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_AlterTable

    +
    +

    kudu.master.MasterService.AlterTable RPC Rejections +  +Number of rejected kudu.master.MasterService.AlterTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState

    +
    +

    kudu.master.MasterService.ChangeTServerState RPC Rejections +  +Number of rejected kudu.master.MasterService.ChangeTServerState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster

    +
    +

    kudu.master.MasterService.ConnectToMaster RPC Rejections +  +Number of rejected kudu.master.MasterService.ConnectToMaster requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_CreateTable

    +
    +

    kudu.master.MasterService.CreateTable RPC Rejections +  +Number of rejected kudu.master.MasterService.CreateTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_DeleteTable

    +
    +

    kudu.master.MasterService.DeleteTable RPC Rejections +  +Number of rejected kudu.master.MasterService.DeleteTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration

    +
    +

    kudu.master.MasterService.GetMasterRegistration RPC Rejections +  +Number of rejected kudu.master.MasterService.GetMasterRegistration requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTableLocations

    +
    +

    kudu.master.MasterService.GetTableLocations RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTableLocations requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTableSchema

    +
    +

    kudu.master.MasterService.GetTableSchema RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTableSchema requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics

    +
    +

    kudu.master.MasterService.GetTableStatistics RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTableStatistics requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations

    +
    +

    kudu.master.MasterService.GetTabletLocations RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTabletLocations requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone

    +
    +

    kudu.master.MasterService.IsAlterTableDone RPC Rejections +  +Number of rejected kudu.master.MasterService.IsAlterTableDone requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone

    +
    +

    kudu.master.MasterService.IsCreateTableDone RPC Rejections +  +Number of rejected kudu.master.MasterService.IsCreateTableDone requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ListMasters

    +
    +

    kudu.master.MasterService.ListMasters RPC Rejections +  +Number of rejected kudu.master.MasterService.ListMasters requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ListTables

    +
    +

    kudu.master.MasterService.ListTables RPC Rejections +  +Number of rejected kudu.master.MasterService.ListTables requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ListTabletServers

    +
    +

    kudu.master.MasterService.ListTabletServers RPC Rejections +  +Number of rejected kudu.master.MasterService.ListTabletServers requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_Ping

    +
    +

    kudu.master.MasterService.Ping RPC Rejections +  +Number of rejected kudu.master.MasterService.Ping requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_RecallDeletedTable

    +
    +

    kudu.master.MasterService.RecallDeletedTable RPC Rejections +  +Number of rejected kudu.master.MasterService.RecallDeletedTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache

    +
    +

    kudu.master.MasterService.RefreshAuthzCache RPC Rejections +  +Number of rejected kudu.master.MasterService.RefreshAuthzCache requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_RemoveMaster

    +
    +

    kudu.master.MasterService.RemoveMaster RPC Rejections +  +Number of rejected kudu.master.MasterService.RemoveMaster requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet

    +
    +

    kudu.master.MasterService.ReplaceTablet RPC Rejections +  +Number of rejected kudu.master.MasterService.ReplaceTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat

    +
    +

    kudu.master.MasterService.TSHeartbeat RPC Rejections +  +Number of rejected kudu.master.MasterService.TSHeartbeat requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_UnregisterTServer

    +
    +

    kudu.master.MasterService.UnregisterTServer RPC Rejections +  +Number of rejected kudu.master.MasterService.UnregisterTServer requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Rejections +  +Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Rejections +  +Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Rejections +  +Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Rejections +  +Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Rejections +  +Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Rejections +  +Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Rejections +  +Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Rejections +  +Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction

    +
    +

    kudu.transactions.TxnManagerService.AbortTransaction RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.AbortTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction

    +
    +

    kudu.transactions.TxnManagerService.BeginTransaction RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.BeginTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction

    +
    +

    kudu.transactions.TxnManagerService.CommitTransaction RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.CommitTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState

    +
    +

    kudu.transactions.TxnManagerService.GetTransactionState RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.GetTransactionState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive

    +
    +

    kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.KeepTransactionAlive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_inbound_queue_size_bytes

    +
    +

    Ranger server inbound queue size (bytes) +  +Number of bytes in the inbound response queue of the Ranger server, recorded at the time a new response is read from the pipe and added to the inbound queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_inbound_queue_time_ms

    +
    +

    Ranger server inbound queue time (ms) +  +Duration of time in ms spent in the Ranger server’s inbound response queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_outbound_queue_size_bytes

    +
    +

    Ranger server outbound queue size (bytes) +  +Number of bytes in the outbound request queue of the Ranger server, recorded at the time a new request is added to the outbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_outbound_queue_time_ms

    +
    +

    Ranger server outbound queue time (ms) +  +Duration of time in ms spent in the Ranger server’s outbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_execution_time_ms

    +
    +

    Ranger subprocess execution time (ms) +  +Duration of time in ms spent executing the Ranger subprocess request, excluding time spent spent in the subprocess queues

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_inbound_queue_length

    +
    +

    Ranger subprocess inbound queue length +  +Number of request messages in the Ranger subprocess' inbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_inbound_queue_time_ms

    +
    +

    Ranger subprocess inbound queue time (ms) +  +Duration of time in ms spent in the Ranger subprocess' inbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_outbound_queue_length

    +
    +

    Ranger subprocess outbound queue length +  +Number of request messages in the Ranger subprocess' outbound response queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_outbound_queue_time_ms

    +
    +

    Ranger subprocess outbound queue time (ms) +  +Duration of time in ms spent in the Ranger subprocess' outbound response queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_active_latency_us

    +
    +

    Reactor Thread Active Latency +  +Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_load_percent

    +
    +

    Reactor Thread Load Percentage +  +The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_deleted

    +
    +

    Rows Deleted +  +Number of row delete operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_inserted

    +
    +

    Rows Inserted +  +Number of rows inserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_updated

    +
    +

    Rows Updated +  +Number of row update operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_upserted

    +
    +

    Rows Upserted +  +Number of rows upserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted

    +
    +

    RPC Connections Accepted +  +Number of incoming TCP connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted_unix_domain_socket

    +
    +

    RPC Connections Accepted via UNIX Domain Socket +  +Number of incoming UNIX Domain Socket connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_incoming_queue_time

    +
    +

    RPC Queue Time +  +Number of microseconds incoming RPC requests spend in the worker queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_duration

    +
    +

    Scanner Duration +  +Histogram of the duration of active scanners on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_predicates_disabled

    +
    +

    Scanner Column Predicates Disabled +  +Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    schema_version

    +
    +

    Table Schema Version +  +The table’s schema version.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    startup_progress_time_elapsed

    +
    +

    Server Startup Progress Time Elapsed +  +Time taken by the server to complete the startup ortime elapsed so far for the server to startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    state

    +
    +

    Tablet State +  +State of this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    state

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_client_sessions

    +
    +

    Open Table Copy Client Sessions +  +Number of currently open tablet copy client sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_source_sessions

    +
    +

    Open Table Copy Source Sessions +  +Number of currently open tablet copy source sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_bootstrapping

    +
    +

    Number of Bootstrapping Tablets +  +Number of tablets currently bootstrapping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_initialized

    +
    +

    Number of Initialized Tablets +  +Number of tablets currently initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_not_initialized

    +
    +

    Number of Not Initialized Tablets +  +Number of tablets currently not initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_opened_startup

    +
    +

    Number of Tablets Opened During Startup +  +Number of tablets opened during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_running

    +
    +

    Number of Running Tablets +  +Number of tablets currently running

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_shutdown

    +
    +

    Number of Shut Down Tablets +  +Number of tablets currently shut down

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopped

    +
    +

    Number of Stopped Tablets +  +Number of tablets currently stopped

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopping

    +
    +

    Number of Stopping Tablets +  +Number of tablets currently stopping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_total_startup

    +
    +

    Number of Tablets Present During Startup +  +Number of tablets present during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_current_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Usage +  +A measure of some of the memory TCMalloc is using (for small objects).

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_max_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Limit +  +A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for — in some situations — improved efficiency.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_free_bytes

    +
    +

    Free Heap Memory +  +Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_unmapped_bytes

    +
    +

    Unmapped Heap Memory +  +Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    threads_running

    +
    +

    Threads Running +  +Current number of running threads

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_delete_duration

    +
    +

    Undo Delta Block GC Delete Duration +  +Time spent deleting ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_init_duration

    +
    +

    Undo Delta Block GC Init Duration +  +Time spent initializing ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_perform_duration

    +
    +

    Undo Delta Block GC Perform Duration +  +Time spent running the maintenance operation to GC ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    upserts_as_updates

    +
    +

    Upserts converted into updates +  +Number of upserts which were applied as updates because the key already existed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    uptime

    +
    +

    Server Uptime +  +Time interval since the server has started

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    voluntary_context_switches

    +
    +

    Voluntary Context Switches +  +Total voluntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    wal_dir_space_available_bytes

    +
    +

    WAL Directory Space Free +  +Total WAL directory space available. Set to -1 if reading the disk fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +
    +
    +

    Debug Metrics

    +
    +
    +

    Metrics tagged as 'debug' are diagnostically helpful but generally not monitored +during normal operation.

    +
    +
    +

    all_transactions_inflight

    +
    +

    Ops In Flight +  +Number of ops currently in-flight, including any type.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    alter_schema_transactions_inflight

    +
    +

    Alter Schema Ops In Flight +  +Number of alter schema ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_evictions

    +
    +

    Block Cache Evictions +  +Number of blocks evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits

    +
    +

    Block Cache Hits +  +Number of lookups that found a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits_caching

    +
    +

    Block Cache Hits (Caching) +  +Number of lookups that were expecting a block that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_inserts

    +
    +

    Block Cache Inserts +  +Number of blocks inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_lookups

    +
    +

    Block Cache Lookups +  +Number of blocks looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses

    +
    +

    Block Cache Misses +  +Number of lookups that didn’t yield a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses_caching

    +
    +

    Block Cache Misses (Caching) +  +Number of lookups that were expecting a block that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_created

    +
    +

    Data Blocks Created +  +Number of data blocks that were created since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_deleted

    +
    +

    Data Blocks Deleted +  +Number of data blocks that were deleted since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_read

    +
    +

    Block Data Bytes Read +  +Number of bytes of block data read since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_written

    +
    +

    Block Data Bytes Written +  +Number of bytes of block data written since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_disk_sync

    +
    +

    Block Data Disk Synchronization Count +  +Number of disk synchronizations of block data since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_readable_blocks

    +
    +

    Data Blocks Opened For Read +  +Number of data blocks opened for reading since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_writable_blocks

    +
    +

    Data Blocks Opened For Write +  +Number of data blocks opened for writing since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups

    +
    +

    Bloom Filter Lookups +  +Number of times a bloom filter was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups_per_op

    +
    +

    Bloom Lookups per Operation +  +Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_max_errors

    +
    +

    Built-In NTP Maximum Time Errors +  +Statistics on the maximum true time error computed by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_time

    +
    +

    Built-in NTP Time +  +Latest true time as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bytes_flushed

    +
    +

    Bytes Flushed +  +Amount of data that has been flushed to disk by this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    clock_ntp_status

    +
    +

    Clock NTP Status String +  +Output of ntp_adjtime()/ntp_gettime() kernel API call

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_hits

    +
    +

    Codegen Cache Hits +  +Number of codegen cache hits since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    hits

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_queries

    +
    +

    Codegen Cache Queries +  +Number of codegen cache queries (hits + misses) since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    queries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    commit_wait_duration

    +
    +

    Commit-Wait Duration +  +Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    compact_rs_running

    +
    +

    RowSet Compactions Running +  +Number of RowSet compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delete_ignore_errors

    +
    +

    Delete Ignore Errors +  +Number of delete ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Deleted Rowsets +  +Estimated bytes of deletable data in deleted rowsets for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_bytes_deleted

    +
    +

    Deleted Rowsets GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_running

    +
    +

    Deleted Rowset GC Running +  +Number of deleted rowset GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups

    +
    +

    Delta File Lookups +  +Number of times a delta file was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_running

    +
    +

    Major Delta Compactions Running +  +Number of delta major compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_running

    +
    +

    Minor Delta Compactions Running +  +Number of delta minor compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_evictions

    +
    +

    File Cache Evictions +  +Number of file descriptors evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits

    +
    +

    File Cache Hits +  +Number of lookups that found a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits_caching

    +
    +

    File Cache Hits (Caching) +  +Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_inserts

    +
    +

    File Cache Inserts +  +Number of file descriptors inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_lookups

    +
    +

    File Cache Lookups +  +Number of file descriptors looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses

    +
    +

    File Cache Misses +  +Number of lookups that didn’t yield a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses_caching

    +
    +

    File Cache Misses (Caching) +  +Number of lookups that were expecting a file descriptor that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_dms_running

    +
    +

    DeltaMemStore Flushes Running +  +Number of delta memstore flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_mrs_running

    +
    +

    MemRowSet Flushes Running +  +Number of MemRowSet flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    glog_info_messages

    +
    +

    INFO-level Log Messages +  +Number of INFO-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_max_errors

    +
    +

    Hybrid Clock Maximum Errors +  +The statistics on the maximum error of the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    in_progress_ops

    +
    +

    Operations in Progress +  +Number of operations in the peer’s queue ack’d by a minority of peers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insert_ignore_errors

    +
    +

    Insert Ignore Errors +  +Number of insert ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insertions_failed_dup_key

    +
    +

    Duplicate Key Inserts +  +Number of inserts which failed because the key already existed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups

    +
    +

    Key File Lookups +  +Number of times a key cfile was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups_per_op

    +
    +

    Key Lookups per Operation +  +Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_read_elapsed_time

    +
    +

    Seconds Since Last Read +  +The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been read since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_write_elapsed_time

    +
    +

    Seconds Since Last Write +  +The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been written to since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    location_mapping_cache_hits

    +
    +

    Location Mapping Cache Hits +  +Number of times location mapping assignment used cached data

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    hits

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    location_mapping_cache_queries

    +
    +

    Location Mapping Cache Queries +  +Number of queries to the location mapping cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    queries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers_processing_time_startup

    +
    +

    Time taken to open all log block containers during server startup +  +The total time taken by the server to open all the containerfiles during the startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_dead_containers_deleted

    +
    +

    Number of Dead Block Containers Deleted +  +Number of full (but dead) block containers that were deleted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_holes_punched

    +
    +

    Number of Holes Punched +  +Number of holes punched since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    holes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_bytes_logged

    +
    +

    Bytes Written to WAL +  +Number of bytes logged since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_num_ops

    +
    +

    Log Cache Operation Count +  +Number of operations in the log cache.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_size

    +
    +

    Log Cache Memory Usage +  +Amount of memory in use for caching the local log.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_entry_batches_per_group

    +
    +

    Log Group Commit Batch Size +  +Number of log entry batches in a group commit group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_group_commit_latency

    +
    +

    Log Group Commit Latency +  +Microseconds spent on committing an entire group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_bytes_read

    +
    +

    Bytes Read From Log +  +Data read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_entries_read

    +
    +

    Entries Read From Log +  +Number of entries read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_roll_latency

    +
    +

    Log Roll Latency +  +Microseconds spent on rolling over to a new log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    majority_done_ops

    +
    +

    Leader Operations Acked by Majority +  +Number of operations in the leader queue ack’d by a majority but not all peers. This metric is always zero for followers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    mrs_lookups

    +
    +

    MemRowSet Lookups +  +Number of times a MemRowSet was consulted.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    raft_term

    +
    +

    Current Raft Consensus Term +  +Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_returned

    +
    +

    Scanner Bytes Returned +  +Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_scanned_from_disk

    +
    +

    Scanner Bytes Scanned From Disk +  +Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_returned

    +
    +

    Scanner Cells Returned +  +Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_scanned_from_disk

    +
    +

    Scanner Cells Scanned From Disk +  +Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_returned

    +
    +

    Scanner Rows Returned +  +Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_scanned

    +
    +

    Scanner Rows Scanned +  +Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scans_started

    +
    +

    Scans Started +  +Number of scanners which have been started on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scheduling_priority

    +
    +

    Scheduling Priority +  +The scheduling priority of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    snapshot_read_inflight_wait_duration

    +
    +

    Time Waiting For Snapshot Reads +  +Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_evictions

    +
    +

    Table Locations Cache Evictions +  +Number of entries evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_hits

    +
    +

    Table Locations Cache Hits +  +Number of lookups that found a cached entry

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_inserts

    +
    +

    Table Locations Cache Inserts +  +Number of entries inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_lookups

    +
    +

    Table Locations Cache Lookups +  +Number of entries looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_memory_usage

    +
    +

    Table Locations Cache Memory Usage +  +Memory consumed by the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_misses

    +
    +

    Table Locations Cache Misses +  +Number of lookups that didn’t find a cached entry

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_fetched

    +
    +

    Bytes Fetched By Tablet Copy +  +Number of bytes fetched during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_sent

    +
    +

    Bytes Sent For Tablet Copy +  +Number of bytes sent during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablets_opening_time_startup

    +
    +

    Time Taken to Start the Tablets During Startup +  +Time taken to start the tablets during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    threads_started

    +
    +

    Threads Started +  +Total number of threads started on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    time_since_last_leader_heartbeat

    +
    +

    Time Since Last Leader Heartbeat +  +The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Undo Delta Blocks +  +Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_bytes_deleted

    +
    +

    Undo Delta Block GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_running

    +
    +

    Undo Delta Block GC Running +  +Number of UNDO delta block GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    update_ignore_errors

    +
    +

    Update Ignore Errors +  +Number of update ignore operations for this tablet which were ignored due to an error since service start. Note that when ignoring to update the immutable cells, the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_updated will be counted too if update successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    upsert_ignore_errors

    +
    +

    Upsert Ignore Errors +  +Number of upsert ignore operations for this tablet which were ignored due to an error since service start. This metric counts the number of attempts to update a present row by changing the value of any of its immutable cells. Note that the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_upserted will be counted too if upsert successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_client_propagated_consistency

    +
    +

    Write Op Duration with Propagated Consistency +  +Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_commit_wait_consistency

    +
    +

    Write Op Duration with Commit-Wait Consistency +  +Duration of writes to this tablet with external consistency set to COMMIT_WAIT.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_transactions_inflight

    +
    +

    Write Ops In Flight +  +Number of write ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/kudu-tserver_configuration_reference.html b/releases/1.17.1/docs/kudu-tserver_configuration_reference.html new file mode 100644 index 0000000000..5b5037029a --- /dev/null +++ b/releases/1.17.1/docs/kudu-tserver_configuration_reference.html @@ -0,0 +1,6618 @@ +--- +title: kudu-tserver Flags +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    kudu-tserver Flags

    +
    +

    Stable Flags

    +
    +
    +

    Flags tagged stable and not advanced are safe to use for common +configuration tasks.

    +
    +
    +

    --block_cache_capacity_mb

    +
    +

    block cache capacity in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    512

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_servers

    +
    +

    Comma-separated list of NTP servers for the built-in NTP client, each in format <FQDN|IP>[:PORT]. This list will be used in one of the following cases: (A) the built-in NTP client is explicitly set as the time source (i.e. --time_source=builtin) (B) the 'auto' pseudo-source for time is used and the cloud instance detector isn’t aware about any preferred NTP servers provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --time_source

    +
    +

    The time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    system

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_force_fsync_all

    +
    +

    Whether the Log/WAL should explicitly call fsync() after each write.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs

    +
    +

    Comma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_metadata_dir

    +
    +

    Directory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir

    +
    +

    Directory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --keytab_file

    +
    +

    Path to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --rpc_bind_addresses

    +
    +

    Comma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0:7050

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --superuser_acl

    +
    +

    The list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --user_acl

    +
    +

    The list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    *

    Tags

    sensitive,stable

    +
    +

     

    +
    +
    +
    +

    --webserver_certificate_file

    +
    +

    The location of the embedded webserver’s TLS/SSL certificate file, in PEM format. If empty, webserver TLS/SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_port

    +
    +

    Port to bind to for the webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8050

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_file

    +
    +

    The full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. This flag must be set if the --webserver_certificate_file flag is set.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password to decrypt the private key of the webserver’s certificate pointed to by the --webserver_private_key_file flag. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable,sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_require_spnego

    +
    +

    Require connections to the webserver to authenticate via Kerberos using SPNEGO.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --tserver_master_addrs

    +
    +

    Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag — configure the masters separately using 'rpc_bind_addresses'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    127.0.0.1:7051

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --log_filename

    +
    +

    Prefix of log filename - full path is <log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --max_log_files

    +
    +

    Maximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    stable,runtime

    +
    +

     

    +
    +
    +
    +

    --maintenance_manager_num_threads

    +
    +

    Size of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --memory_limit_hard_bytes

    +
    +

    Maximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --flagfile

    +
    +

    load flags from file

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --help

    +
    +

    show help on all flags [tip: all flags can have two dashes]

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --version

    +
    +

    show version and build info and exit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --colorlogtostderr

    +
    +

    color messages logged to stderr (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --log_dir

    +
    +

    If specified, logfiles are written into this directory instead of the default logging directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    stable

    +
    +

     

    +
    +
    +
    +

    --logtostderr

    +
    +

    log messages go to stderr instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +

    --max_log_size

    +
    +

    approx. maximum log file size (in MB). A value of 0 will be silently overridden to 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1800

    Tags

    runtime,stable

    +
    +

     

    +
    +
    +
    +
    +
    +

    Stable, Advanced Flags

    +
    +
    +

    Flags tagged stable and advanced are supported, but should be considered +"expert" options and should be used carefully and after thorough testing.

    +
    +
    +

    --principal

    +
    +

    Kerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu/_HOST

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_history_max_age_sec

    +
    +

    Number of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    604800

    Tags

    stable,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_process_lifetime_heap_profiling

    +
    +

    Enables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --heap_profile_path

    +
    +

    Output path to store heap profiles. If not set profiles are stored in /tmp/<process-name>.<pid>.<n>.heap.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --unlock_experimental_flags

    +
    +

    Unlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --unlock_unsafe_flags

    +
    +

    Unlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    stable,advanced

    +
    +

     

    +
    +
    +
    +

    --fromenv

    +
    +

    set flags from the environment [use 'export FLAGS_flag1=value']

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --tryfromenv

    +
    +

    set flags from the environment if present

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --undefok

    +
    +

    comma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name. IMPORTANT: flags in this list that have arguments MUST use the flag=value format

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpmatch

    +
    +

    show help on modules whose name contains the specified substr

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpon

    +
    +

    show help on the modules named by this flag value

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helppackage

    +
    +

    show help on all modules in the main package

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpshort

    +
    +

    show help on only the main module for this program

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --helpxml

    +
    +

    produce an xml version of help

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    + +
    +

    Put additional links to the log files in this directory

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +

    --log_prefix

    +
    +

    Prepend the log prefix to the start of each log line

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --minloglevel

    +
    +

    Messages logged at a lower level than this don’t actually get logged anywhere

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stderrthreshold

    +
    +

    log messages at or above this level are copied to stderr in addition to logfiles. This flag obsoletes --alsologtostderr.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --stop_logging_if_full_disk

    +
    +

    Stop attempting to log to disk if the disk is full.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --symbolize_stacktrace

    +
    +

    Symbolize the stack trace in the tombstone

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,stable,runtime

    +
    +

     

    +
    +
    +
    +

    --v

    +
    +

    Show all VLOG(m) messages for m ⇐ this. Overridable by --vmodule.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,stable,advanced

    +
    +

     

    +
    +
    +
    +

    --vmodule

    +
    +

    per-module verbose level. Argument is a comma-separated list of <module name>=<log level>. <module name> is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). <log level> overrides any value given by --v.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced,stable

    +
    +

     

    +
    +
    +
    +
    +
    +

    Evolving Flags

    +
    +
    +

    Flags tagged evolving (or not tagged with a stability tag) are not yet +considered final, and while they may be useful for tuning, they are subject to +being changed or removed without notice.

    +
    +
    +

    --block_cache_type

    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +

     

    +
    +
    +
    +

    --cfile_verify_checksums

    +
    +

    Verify the checksum for each block on read if one exists

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,evolving

    +
    +

     

    +
    +
    +
    +

    --cfile_default_block_size

    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_default_compression_codec

    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cfile_write_checksums

    +
    +

    Write CRC32 checksums for each block

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_attributes

    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --show_column_comment

    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_clock_sync_error_usec

    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --ntp_initial_sync_wait_secs

    +
    +

    Amount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_enabled

    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cmeta_force_fsync

    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_use_file_cache

    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_min_segments_to_retain

    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_cache_size_limit_mb

    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_async_preallocate_segments

    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_preallocate_segments

    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_segment_size_mb

    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --evict_failed_followers

    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the data directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_consider_available_space

    +
    +

    Whether to consider available space when selecting a data directory during tablet or data block creation.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_data_dirs_reserved_bytes

    +
    +

    Number of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    evolving,runtime

    +
    +

     

    +
    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --fs_target_data_dirs_per_tablet

    +
    +

    Indicates the target number of data dirs to spread each tablet’s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_available_space_cache_seconds

    +
    +

    TTL for the cached metric of the available disk space in the WAL directories, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    runtime,advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --block_manager

    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --encryption_cluster_key_name

    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_provider

    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +

     

    +
    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --ranger_kms_url

    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_blocks

    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_max_size

    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_container_preallocate_bytes

    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --server_thread_pool_max_thread_count

    +
    +

    Maximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    -1

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_callback_max_cycles

    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_clients_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --remember_responses_ttl_ms

    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_dump_all_traces

    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_subnets

    +
    +

    A trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_max_message_size

    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --use_system_auth_to_local

    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_default_level

    +
    +

    The default severity level to use when filtering the metrics. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    debug

    Tags

    evolving,advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --web_log_bytes

    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_num_service_threads

    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_service_queue_length

    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --max_negotiation_threads

    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --min_negotiation_threads

    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_reactor_threads

    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_authentication

    +
    +

    Whether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_encryption

    +
    +

    Whether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    optional

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphers

    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rpc_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --server_max_open_files

    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enabled

    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --metrics_log_interval_ms

    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_csp

    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_x_frame_options

    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_advertised_addresses

    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_authentication_domain

    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --webserver_doc_root

    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_enable_doc_root

    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_interface

    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_num_worker_threads

    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_password_file

    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_ciphers

    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --webserver_tls_min_protocol

    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --compaction_minimum_improvement

    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_block_size

    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --undo_delta_block_gc_init_budget_millis

    +
    +

    The maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced,evolving

    +
    +

     

    +
    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_interval_ms

    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --scanner_ttl_ms

    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --show_slow_scans

    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +

     

    +
    +
    +
    +

    --tablet_copy_idle_timeout_sec

    +
    +

    Amount of time without activity before a tablet copy session will expire, in seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    600

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_apply_pool_overload_threshold_ms

    +
    +

    The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_batch_size_rows

    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --scanner_max_wait_ms

    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --tserver_enforce_access_control

    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_aws_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_gce_ntp_server

    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --trusted_certificate_file

    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --encrypt_data_at_rest

    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --encryption_key_length

    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --env_use_fsync

    +
    +

    Use fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --disable_core_dumps

    +
    +

    Disable core dumps when this process crashes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --redact

    +
    +

    Comma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    all

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --umask

    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +

     

    +
    +
    +
    +

    --jwks_update_frequency_s

    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +

     

    +
    +
    +
    +

    --metrics_retirement_age_ms

    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +

     

    +
    +
    +
    +

    --enable_minidumps

    +
    +

    Whether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --max_minidumps

    +
    +

    Maximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    9

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_path

    +
    +

    Directory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    minidumps

    Tags

    evolving

    +
    +

     

    +
    +
    +
    +

    --minidump_size_limit_hint_kb

    +
    +

    Size limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20480

    Tags

    evolving,advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --host_for_tests

    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_path

    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +

     

    +
    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_soft_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --memory_pressure_percentage

    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --colorlogtostdout

    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --drop_log_memory

    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --log_backtrace_at

    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +

     

    +
    +
    +
    +

    --log_utc_time

    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --log_year_in_prefix

    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +

    --logbuflevel

    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logbufsecs

    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +

     

    +
    +
    +
    +

    --logcleansecs

    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +

     

    +
    +
    +
    +

    --logfile_mode

    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +

     

    +
    +
    +
    +

    --logtostdout

    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +

     

    +
    +
    +
    +

    --timestamp_in_logfile_name

    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +

     

    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/kudu-tserver_configuration_reference_unsupported.html b/releases/1.17.1/docs/kudu-tserver_configuration_reference_unsupported.html new file mode 100644 index 0000000000..711975f790 --- /dev/null +++ b/releases/1.17.1/docs/kudu-tserver_configuration_reference_unsupported.html @@ -0,0 +1,6768 @@ +--- +title: kudu-tserver Unsupported Flags +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    kudu-tserver Unsupported Flags

    +
    +
    +
    +

    Flags not marked stable or evolving are considered experimental and are +unsupported. They are included here for informational purposes only and are +subject to being changed or removed without notice.

    +
    +
    +
    +
    +

    --block_cache_type

    +
    +
    +

    Which type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DRAM

    Tags

    +
    +
    +
    +

    --min_compression_ratio

    +
    +
    +

    If a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.90000000000000002

    Tags

    experimental

    +
    +
    +
    +

    --cfile_default_block_size

    +
    +
    +

    The default block size to use in cfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    262144

    Tags

    advanced

    +
    +
    +
    +

    --cfile_default_compression_codec

    +
    +
    +

    Default cfile block compression codec.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    no_compression

    Tags

    advanced

    +
    +
    +
    +

    --client_tablet_locations_by_id_ttl_ms

    +
    +
    +

    Maximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --client_use_unix_domain_sockets

    +
    +
    +

    Whether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --show_attributes

    +
    +
    +

    Whether to show column attributes, including column encoding type, compression type, and default read/write value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --show_column_comment

    +
    +
    +

    Whether to show column comment.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --builtin_ntp_client_bind_address

    +
    +
    +

    Local address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    0.0.0.0

    Tags

    advanced

    +
    +
    +
    +

    --builtin_ntp_poll_interval_ms

    +
    +
    +

    The time between successive polls of a single NTP server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    16000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --builtin_ntp_request_timeout_ms

    +
    +
    +

    Timeout for requests sent to NTP servers (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --builtin_ntp_true_time_refresh_max_interval_s

    +
    +
    +

    Maximum allowed time interval without refreshing computed true time estimation (in seconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    3600

    Tags

    runtime,experimental

    +
    +
    +
    +

    --max_clock_sync_error_usec

    +
    +
    +

    Maximum allowed clock synchronization error as reported by NTP before the server will abort.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10000000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --codegen_dump_functions

    +
    +
    +

    Whether to print the LLVM IR for generated functions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --codegen_dump_mc

    +
    +
    +

    Whether to dump the disassembly of the machine code for generated functions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --codegen_cache_capacity

    +
    +
    +

    Number of entries which may be stored in the code generation cache.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +
    +

    --codegen_queue_capacity

    +
    +
    +

    Number of tasks which may be put in the code generation task queue.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    100

    Tags

    experimental

    +
    +
    +
    +

    --codegen_time_compilation

    +
    +
    +

    Whether to print time that each code generation request took.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --predicate_effectivess_enabled

    +
    +
    +

    Should ineffective predicate filtering be disabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --predicate_effectivess_num_skip_blocks

    +
    +
    +

    Number of blocks to skip for every predicate effectiveness check

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +
    +

    --predicate_effectivess_reject_ratio

    +
    +
    +

    Rejection ratio below which predicate filter is considered ineffective

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cmeta_force_fsync

    +
    +
    +

    Whether fsync() should be called when consensus metadata files are updated

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +
    +

    --consensus_rpc_timeout_ms

    +
    +
    +

    Timeout used for all consensus internal RPC communications.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +
    +

    --consensus_max_batch_size_bytes

    +
    +
    +

    The maximum per-tablet RPC batch size when updating peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    advanced

    +
    +
    +
    +

    --follower_unavailable_considered_failed_sec

    +
    +
    +

    Seconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    runtime,advanced

    +
    +
    +
    +

    --fs_wal_use_file_cache

    +
    +
    +

    Whether to use the server-wide file cache for WAL segments and WAL index chunks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,runtime

    +
    +
    +
    +

    --group_commit_queue_size_bytes

    +
    +
    +

    Maximum size of the group commit queue in bytes

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4194304

    Tags

    advanced

    +
    +
    +
    +

    --log_compression_codec

    +
    +
    +

    Codec to use for compressing WAL segments.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    LZ4

    Tags

    experimental

    +
    +
    +
    +

    --log_max_segments_to_retain

    +
    +
    +

    The maximum number of past log segments to keep at all times for the purposes of catching up other peers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    experimental,runtime,advanced

    +
    +
    +
    +

    --log_min_segments_to_retain

    +
    +
    +

    The minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced,runtime

    +
    +
    +
    +

    --global_log_cache_size_limit_mb

    +
    +
    +

    Server-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    advanced

    +
    +
    +
    +

    --log_cache_size_limit_mb

    +
    +
    +

    The total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +
    +

    --log_async_preallocate_segments

    +
    +
    +

    Whether the WAL segments preallocation should happen asynchronously

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --log_preallocate_segments

    +
    +
    +

    Whether the WAL should preallocate the entire segment before writing to it

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --log_segment_size_mb

    +
    +
    +

    The default size for log segments, in MB

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8

    Tags

    advanced

    +
    +
    +
    +

    --evict_failed_followers

    +
    +
    +

    Whether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --leader_failure_exp_backoff_max_delta_ms

    +
    +
    +

    Maximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20000

    Tags

    experimental

    +
    +
    +
    +

    --leader_failure_max_missed_heartbeat_periods

    +
    +
    +

    Maximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    3

    Tags

    advanced

    +
    +
    +
    +

    --raft_enable_pre_election

    +
    +
    +

    When enabled, candidates will call a pre-election before running a real leader election.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +
    +

    --raft_enable_tombstoned_voting

    +
    +
    +

    When enabled, tombstoned tablets may vote in elections.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,experimental

    +
    +
    +
    +

    --raft_heartbeat_interval_ms

    +
    +
    +

    The heartbeat interval for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    500

    Tags

    advanced

    +
    +
    +
    +

    --raft_prepare_replacement_before_eviction

    +
    +
    +

    When enabled, failed replicas will only be evicted after a replacement has been prepared for them.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +
    +

    --missed_heartbeats_before_rejecting_snapshot_scans

    +
    +
    +

    The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.5

    Tags

    experimental

    +
    +
    +
    +

    --safe_time_advancement_without_writes

    +
    +
    +

    Whether to enable the advancement of "safe" time in the absense of write operations

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --safe_time_max_lag_ms

    +
    +
    +

    The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental

    +
    +
    +
    +

    --block_manager_preflush_control

    +
    +
    +

    Controls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    finalize

    Tags

    experimental

    +
    +
    +
    +

    --fs_max_thread_count_per_data_dir

    +
    +
    +

    Maximum work thread per data directory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    8

    Tags

    advanced

    +
    +
    +
    +

    --block_manager

    +
    +
    +

    Which block manager to use for storage. Valid options are 'file' and 'log'. The file block manager is not suitable for production use due to scaling limitations.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    log

    Tags

    advanced

    +
    +
    +
    +

    --cmeta_fsync_override_on_xfs

    +
    +
    +

    Whether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced,experimental

    +
    +
    +
    +

    --encryption_cluster_key_name

    +
    +
    +

    Name of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    kudu_cluster_key

    Tags

    +
    +
    +
    +

    --encryption_key_provider

    +
    +
    +

    Key provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    default

    Tags

    +
    +
    +
    +

    --fs_wal_dir_reserved_bytes

    +
    +
    +

    Number of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    runtime

    +
    +
    +
    +

    --ranger_kms_url

    +
    +
    +

    Comma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --log_block_manager_delete_dead_container

    +
    +
    +

    When enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +
    +

    --log_container_excess_space_before_cleanup_fraction

    +
    +
    +

    Additional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000000000001

    Tags

    advanced

    +
    +
    +
    +

    --log_container_live_metadata_before_compact_ratio

    +
    +
    +

    Desired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +
    +

    --log_container_max_blocks

    +
    +
    +

    Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    -1

    Tags

    advanced

    +
    +
    +
    +

    --log_container_max_size

    +
    +
    +

    Maximum size (soft) of a log container

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    10737418240

    Tags

    advanced

    +
    +
    +
    +

    --log_container_metadata_max_size

    +
    +
    +

    Maximum size (soft) of a log container’s metadata. Use 0 for no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --log_container_metadata_runtime_compact

    +
    +
    +

    Whether to enable metadata file compaction at runtime.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --log_container_metadata_size_before_compact_ratio

    +
    +
    +

    Desired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.80000000000000004

    Tags

    experimental,advanced

    +
    +
    +
    +

    --log_container_preallocate_bytes

    +
    +
    +

    Number of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    33554432

    Tags

    advanced

    +
    +
    +
    +

    --rpc_acceptor_listen_backlog

    +
    +
    +

    Socket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +
    +

    --rpc_encrypt_loopback_connections

    +
    +
    +

    Whether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +
    +

    --rpc_trace_negotiation

    +
    +
    +

    If enabled, dump traces of all RPC negotiations to the log

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,runtime,advanced

    +
    +
    +
    +

    --rpc_callback_max_cycles

    +
    +
    +

    The maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    100000000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --tcp_keepalive_probe_period_s

    +
    +
    +

    The duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +
    +

    --tcp_keepalive_retry_count

    +
    +
    +

    The maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --tcp_keepalive_retry_period_s

    +
    +
    +

    The duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +
    +

    --remember_clients_ttl_ms

    +
    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3600000

    Tags

    advanced

    +
    +
    +
    +

    --remember_responses_ttl_ms

    +
    +
    +

    Maximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    600000

    Tags

    advanced

    +
    +
    +
    +

    --rpc_dump_all_traces

    +
    +
    +

    If true, dump all RPC traces at INFO level

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +
    +

    --rpc_duration_too_long_ms

    +
    +
    +

    Threshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --rpc_max_message_size

    +
    +
    +

    The maximum size of a message that any RPC that the server will accept. Must be at least 1MB.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    52428800

    Tags

    runtime,advanced

    +
    +
    +
    +

    --use_system_auth_to_local

    +
    +
    +

    When enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --ipki_server_key_size

    +
    +
    +

    the number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    2048

    Tags

    experimental

    +
    +
    +
    +

    --web_log_bytes

    +
    +
    +

    The maximum number of bytes to display on the debug webserver’s log page

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +
    +

    --diagnostics_log_stack_traces_interval_ms

    +
    +
    +

    The interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    experimental,runtime

    +
    +
    +
    +

    --disable_gflag_filter_logic_for_testing

    +
    +
    +

    Whether to disable filter logic on the server side for test purpose.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --rpc_advertised_addresses

    +
    +
    +

    Comma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --rpc_num_acceptors_per_address

    +
    +
    +

    Number of RPC acceptor threads for each bound address

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +
    +

    --rpc_num_service_threads

    +
    +
    +

    Number of RPC worker threads to run

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    20

    Tags

    advanced

    +
    +
    +
    +

    --rpc_proxied_addresses

    +
    +
    +

    Comma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +
    +

    --rpc_proxy_advertised_addresses

    +
    +
    +

    This server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +
    +

    --rpc_reuseport

    +
    +
    +

    Whether to set the SO_REUSEPORT option on listening RPC sockets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --rpc_service_queue_length

    +
    +
    +

    Default length of queue for incoming RPC requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +
    +

    --enable_jwt_token_auth

    +
    +
    +

    This enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --gc_tcmalloc_memory_interval_seconds

    +
    +
    +

    Interval seconds to GC tcmalloc memory, 0 means disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    30

    Tags

    runtime,advanced

    +
    +
    +
    +

    --jwks_file_path

    +
    +
    +

    File path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --jwks_url

    +
    +
    +

    URL of the JSON Web Key Set (JWKS) for JWT verification.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --max_negotiation_threads

    +
    +
    +

    Maximum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +
    +

    --min_negotiation_threads

    +
    +
    +

    Minimum number of connection negotiation threads.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --num_reactor_threads

    +
    +
    +

    Number of libev reactor threads to start.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    advanced

    +
    +
    +
    +

    --rpc_ca_certificate_file

    +
    +
    +

    Path to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --rpc_certificate_file

    +
    +
    +

    Path to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --rpc_default_keepalive_time_ms

    +
    +
    +

    If an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    65000

    Tags

    advanced

    +
    +
    +
    +

    --rpc_listen_on_unix_domain_socket

    +
    +
    +

    Whether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --rpc_negotiation_timeout_ms

    +
    +
    +

    Timeout for negotiating an RPC connection, in milliseconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    3000

    Tags

    advanced

    +
    +
    +
    +

    --rpc_private_key_file

    +
    +
    +

    Path to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --rpc_private_key_password_cmd

    +
    +
    +

    A Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --rpc_tls_ciphers

    +
    +
    +

    TLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +
    +

    --rpc_tls_ciphersuites

    +
    +
    +

    TLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

    Tags

    advanced

    +
    +
    +
    +

    --rpc_tls_excluded_protocols

    +
    +
    +

    A comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental,advanced

    +
    +
    +
    +

    --rpc_tls_min_protocol

    +
    +
    +

    The minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +
    +

    --server_max_open_files

    +
    +
    +

    Maximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --wall_clock_jump_detection

    +
    +
    +

    Whether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    auto

    Tags

    experimental

    +
    +
    +
    +

    --wall_clock_jump_threshold_sec

    +
    +
    +

    Maximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    900

    Tags

    experimental

    +
    +
    +
    +

    --webserver_enabled

    +
    +
    +

    Whether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --metrics_log_interval_ms

    +
    +
    +

    Interval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +
    +

    --webserver_enable_csp

    +
    +
    +

    The webserver adds the Content-Security-Policy header to response when enabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --webserver_max_post_length_bytes

    +
    +
    +

    The maximum length of a POST request that will be accepted by the embedded web server.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +
    +

    --webserver_x_frame_options

    +
    +
    +

    The webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    DENY

    Tags

    advanced

    +
    +
    +
    +

    --webserver_advertised_addresses

    +
    +
    +

    Comma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --webserver_authentication_domain

    +
    +
    +

    Domain used for the authentication by the embedded webserver

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --webserver_doc_root

    +
    +
    +

    Files under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --webserver_enable_doc_root

    +
    +
    +

    If true, webserver may serve static files from the webserver_doc_root

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    advanced

    +
    +
    +
    +

    --webserver_interface

    +
    +
    +

    Interface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --webserver_num_worker_threads

    +
    +
    +

    Maximum number of threads to start for handling webserver requests

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    50

    Tags

    advanced

    +
    +
    +
    +

    --webserver_password_file

    +
    +
    +

    Location of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    sensitive

    +
    +
    +
    +

    --webserver_tls_ciphers

    +
    +
    +

    The cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

    Tags

    advanced

    +
    +
    +
    +

    --webserver_tls_min_protocol

    +
    +
    +

    The minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    TLSv1.2

    Tags

    advanced

    +
    +
    +
    +

    --budgeted_compaction_target_rowset_size

    +
    +
    +

    The target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    33554432

    Tags

    experimental,advanced

    +
    +
    +
    +

    --compaction_approximation_ratio

    +
    +
    +

    Approximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.0499999523162842

    Tags

    experimental,advanced

    +
    +
    +
    +

    --compaction_minimum_improvement

    +
    +
    +

    The minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0099999997764825821

    Tags

    advanced

    +
    +
    +
    +

    --rowset_compaction_delta_memory_factor

    +
    +
    +

    The initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    5

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_enforce_preset_factor

    +
    +
    +

    Whether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_estimate_min_deltas_size_mb

    +
    +
    +

    Minimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    64

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_memory_estimate_enabled

    +
    +
    +

    Whether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --all_delete_op_delta_file_cnt_for_compaction

    +
    +
    +

    The minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint64

    Default

    18446744073709551615

    Tags

    +
    +
    +
    +

    --deltafile_default_block_size

    +
    +
    +

    Block size for delta files. In the future, this may become configurable on a per-table basis.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    32768

    Tags

    experimental

    +
    +
    +
    +

    --deltafile_default_compression_codec

    +
    +
    +

    The compression codec used when writing deltafiles.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    lz4

    Tags

    experimental

    +
    +
    +
    +

    --default_composite_key_index_block_size_bytes

    +
    +
    +

    Block size used for composite key indexes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    experimental

    +
    +
    +
    +

    --rowset_metadata_store_keys

    +
    +
    +

    Whether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --tablet_delta_store_major_compact_min_ratio

    +
    +
    +

    Minimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.10000000149011612

    Tags

    experimental

    +
    +
    +
    +

    --tablet_delta_store_minor_compact_max

    +
    +
    +

    How many delta stores are required before forcing a minor delta compaction (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    experimental

    +
    +
    +
    +

    --tablet_transaction_memory_limit_mb

    +
    +
    +

    Maximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    64

    Tags

    advanced

    +
    +
    +
    +

    --compaction_small_rowset_tradeoff

    +
    +
    +

    The weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.0089999999999999993

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --enable_gc_deleted_rowsets_without_live_row_count

    +
    +
    +

    Whether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    advanced

    +
    +
    +
    +

    --rows_writed_per_sec_for_hot_tablets

    +
    +
    +

    Minimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_max_ratio

    +
    +
    +

    The ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.20000000000000001

    Tags

    runtime,advanced

    +
    +
    +
    +

    --rowset_compaction_ancient_delta_threshold_enabled

    +
    +
    +

    Whether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scans_started_per_sec_for_hot_tablets

    +
    +
    +

    Minimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +
    +

    --tablet_bloom_block_size

    +
    +
    +

    Block size of the bloom filters used for tablet keys.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4096

    Tags

    advanced

    +
    +
    +
    +

    --tablet_bloom_target_fp_rate

    +
    +
    +

    Target false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    9.9999997473787516e-05

    Tags

    advanced

    +
    +
    +
    +

    --tablet_compaction_budget_mb

    +
    +
    +

    Budget for a single compaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    experimental

    +
    +
    +
    +

    --tablet_throttler_burst_factor

    +
    +
    +

    Burst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    experimental

    +
    +
    +
    +

    --tablet_throttler_bytes_per_sec

    +
    +
    +

    Maximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +
    +

    --tablet_throttler_rpc_per_sec

    +
    +
    +

    Maximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +
    +

    --workload_score_upper_bound

    +
    +
    +

    Upper bound for workload score.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1

    Tags

    runtime,experimental

    +
    +
    +
    +

    --workload_stats_metric_collection_interval_ms

    +
    +
    +

    The interval in milliseconds at which we collect workload metrics.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --workload_stats_rate_collection_min_interval_ms

    +
    +
    +

    The minimal interval in milliseconds at which we collect read/write rates.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --enable_deleted_rowset_gc

    +
    +
    +

    Whether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime

    +
    +
    +
    +

    --enable_workload_score_for_perf_improvement_ops

    +
    +
    +

    Whether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,experimental

    +
    +
    +
    +

    --update_stats_log_throttling_interval_sec

    +
    +
    +

    Log throttling interval for messages on disabled compaction emitted by UpdateStats method.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    600

    Tags

    experimental,runtime

    +
    +
    +
    +

    --tablet_max_pending_txn_write_ops

    +
    +
    +

    Maximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    2

    Tags

    runtime,experimental

    +
    +
    +
    +

    --flush_threshold_mb

    +
    +
    +

    Size at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1024

    Tags

    runtime,experimental

    +
    +
    +
    +

    --flush_threshold_secs

    +
    +
    +

    Number of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120

    Tags

    runtime,experimental

    +
    +
    +
    +

    --flush_upper_bound_ms

    +
    +
    +

    Number of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3600000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_background_rpc_timeout_ms

    +
    +
    +

    Period (in milliseconds) with which transaction-related background requests are made

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    5000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_client_initialization_timeout_ms

    +
    +
    +

    Amount of time Kudu will try to initialize a client with which to perform transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime

    +
    +
    +
    +

    --txn_keepalive_interval_ms

    +
    +
    +

    Maximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    30000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_staleness_tracker_interval_ms

    +
    +
    +

    Period (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    10000

    Tags

    runtime,experimental

    +
    +
    +
    +

    --txn_status_tablet_failover_catchup_timeout_ms

    +
    +
    +

    Amount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    experimental,advanced

    +
    +
    +
    +

    --enable_txn_system_client_init

    +
    +
    +

    Whether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental

    +
    +
    +
    +

    --txn_system_client_op_timeout_ms

    +
    +
    +

    Op timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    10000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --heartbeat_incompatible_replica_management_is_fatal

    +
    +
    +

    Whether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --heartbeat_interval_ms

    +
    +
    +

    Interval at which the TS heartbeats to the master.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +
    +

    --heartbeat_max_failures_before_backoff

    +
    +
    +

    Maximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    3

    Tags

    advanced

    +
    +
    +
    +

    --heartbeat_rpc_timeout_ms

    +
    +
    +

    Timeout used for the TS→Master heartbeat RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    15000

    Tags

    advanced

    +
    +
    +
    +

    --tserver_send_tombstoned_tablets_report_inteval_secs

    +
    +
    +

    Time interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1800

    Tags

    runtime

    +
    +
    +
    +

    --completed_scan_history_count

    +
    +
    +

    Number of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +
    +

    --scanner_ttl_ms

    +
    +
    +

    Number of milliseconds of inactivity allowed for a scanner before it may be expired

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --show_slow_scans

    +
    +
    +

    Whether to show slow scans on the /scans page of web or record it in the log. Please note that once set to true, full table scans may occur, which may affect the normal Kudu service unexpectedly.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime,advanced

    +
    +
    +
    +

    --slow_scan_history_count

    +
    +
    +

    Number of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental

    +
    +
    +
    +

    --slow_scanner_threshold_ms

    +
    +
    +

    Number of milliseconds for the threshold of slow scan.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --tablet_copy_begin_session_timeout_ms

    +
    +
    +

    Tablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    30000

    Tags

    advanced

    +
    +
    +
    +

    --tablet_copy_download_threads_nums_per_session

    +
    +
    +

    Number of threads per tablet copy session for downloading tablet data blocks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    4

    Tags

    +
    +
    +
    +

    --tablet_apply_pool_overload_threshold_ms

    +
    +
    +

    The threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --scanner_batch_size_rows

    +
    +
    +

    The number of rows to batch for servicing scan requests.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scanner_default_batch_size_bytes

    +
    +
    +

    The default size for batches of scan results

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1048576

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scanner_max_batch_size_bytes

    +
    +
    +

    The maximum batch size that a client may request for scan results.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    8388608

    Tags

    runtime,advanced

    +
    +
    +
    +

    --scanner_max_wait_ms

    +
    +
    +

    The maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --tserver_enforce_access_control

    +
    +
    +

    If set, the server will apply fine-grained access control rules to client RPCs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    runtime

    +
    +
    +
    +

    --num_tablets_to_copy_simultaneously

    +
    +
    +

    Number of threads available to copy tablets from remote servers.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --num_tablets_to_delete_simultaneously

    +
    +
    +

    Number of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --num_tablets_to_open_simultaneously

    +
    +
    +

    Number of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --num_txn_status_tablets_to_reload_simultaneously

    +
    +
    +

    Number of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    advanced

    +
    +
    +
    +

    --tablet_state_walk_min_period_ms

    +
    +
    +

    Minimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1000

    Tags

    advanced

    +
    +
    +
    +

    --txn_commit_pool_num_threads

    +
    +
    +

    Number of threads available for transaction commit tasks.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --txn_participant_registration_pool_num_threads

    +
    +
    +

    Number of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    experimental,advanced

    +
    +
    +
    +

    --update_tablet_stats_interval_ms

    +
    +
    +

    Interval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5000

    Tags

    advanced

    +
    +
    +
    +

    --cloud_aws_instance_id_url

    +
    +
    +

    The URL to fetch the identifier of an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/latest/meta-data/instance-id

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_aws_ntp_server

    +
    +
    +

    IP address/FQDN of the internal NTP server to use from within an AWS instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    169.254.169.123

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_azure_instance_id_url

    +
    +
    +

    The URL to fetch the identifier of an Azure instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/metadata/instance/compute/vmId?api-version=2018-10-01&format=text

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_gce_instance_id_url

    +
    +
    +

    The URL to fetch the identifier of a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://metadata.google.internal/computeMetadata/v1/instance/id

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_gce_ntp_server

    +
    +
    +

    IP address/FQDN of the internal NTP server to use from within a GCE instance

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    metadata.google.internal

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_metadata_server_request_timeout_ms

    +
    +
    +

    Timeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1000

    Tags

    runtime,advanced

    +
    +
    +
    +

    --cloud_openstack_metadata_url

    +
    +
    +

    The URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    http://169.254.169.254/openstack/latest/meta_data.json

    Tags

    runtime,advanced

    +
    +
    +
    +

    --trusted_certificate_file

    +
    +
    +

    Path to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --trace_to_console

    +
    +
    +

    Trace pattern specifying which trace events should be dumped directly to the console

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --crash_on_eio

    +
    +
    +

    Kill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    experimental,advanced

    +
    +
    +
    +

    --encrypt_data_at_rest

    +
    +
    +

    Whether sensitive files should be encrypted on the file system.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --encryption_key_length

    +
    +
    +

    Encryption key length.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    128

    Tags

    advanced

    +
    +
    +
    +

    --env_use_ioctl_hole_punch_on_xfs

    +
    +
    +

    Use the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    experimental,advanced

    +
    +
    +
    +

    --file_cache_expiry_period_ms

    +
    +
    +

    Period of time (in ms) between removing expired file cache descriptors

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60000

    Tags

    advanced

    +
    +
    +
    +

    --heap_sample_every_n_bytes

    +
    +
    +

    Enable heap occupancy sampling. If this flag is set to some positive value N, a memory allocation will be sampled approximately every N bytes. Lower values of N incur larger overhead but give more accurate results. A value such as 524288 (512KB) is a reasonable choice with relatively low overhead.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental,advanced

    +
    +
    +
    +

    --umask

    +
    +
    +

    The umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    077

    Tags

    advanced

    +
    +
    +
    +

    --jwks_pulling_timeout_s

    +
    +
    +

    The time in seconds for connection timed out when pulling JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    +
    +
    +
    +

    --jwks_update_frequency_s

    +
    +
    +

    The time in seconds to wait between downloading JWKS from the specified URL.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    +
    +
    +
    +

    --data_gc_min_size_mb

    +
    +
    +

    The (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    0

    Tags

    experimental

    +
    +
    +
    +

    --data_gc_prioritization_prob

    +
    +
    +

    The probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    0.5

    Tags

    experimental

    +
    +
    +
    +

    --log_target_replay_size_mb

    +
    +
    +

    The target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int64

    Default

    1024

    Tags

    experimental

    +
    +
    +
    +

    --maintenance_op_multiplier

    +
    +
    +

    Multiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.1000000000000001

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --max_priority_range

    +
    +
    +

    Maximal priority range of OPs.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced,experimental

    +
    +
    +
    +

    --metrics_retirement_age_ms

    +
    +
    +

    The minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    120000

    Tags

    advanced,runtime

    +
    +
    +
    +

    --dns_resolver_cache_capacity_mb

    +
    +
    +

    Capacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    1

    Tags

    advanced

    +
    +
    +
    +

    --dns_resolver_cache_ttl_sec

    +
    +
    +

    TTL of records in the DNS resolver cache, in seconds.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    uint32

    Default

    15

    Tags

    advanced

    +
    +
    +
    +

    --dns_resolver_max_threads_num

    +
    +
    +

    The maximum number of threads to use for async DNS resolution

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    1

    Tags

    advanced

    +
    +
    +
    +

    --host_for_tests

    +
    +
    +

    Host to use when resolving a given server’s locally bound or advertised addresses.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    +
    +
    +
    +

    --local_ip_for_outbound_sockets

    +
    +
    +

    IP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    experimental

    +
    +
    +
    +

    --nvm_cache_path

    +
    +
    +

    The path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    /pmem

    Tags

    +
    +
    +
    +

    --nvm_cache_usage_ratio

    +
    +
    +

    A ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    double

    Default

    1.25

    Tags

    advanced

    +
    +
    +
    +

    --memory_limit_soft_percentage

    +
    +
    +

    Percentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    80

    Tags

    advanced

    +
    +
    +
    +

    --memory_limit_warn_threshold_percentage

    +
    +
    +

    Percentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    98

    Tags

    advanced

    +
    +
    +
    +

    --memory_pressure_percentage

    +
    +
    +

    Percentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    60

    Tags

    advanced

    +
    +
    +
    +

    --tcmalloc_max_free_bytes_percentage

    +
    +
    +

    Maximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    10

    Tags

    advanced

    +
    +
    +
    +

    --colorlogtostdout

    +
    +
    +

    color messages logged to stdout (if supported by terminal)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --drop_log_memory

    +
    +
    +

    Drop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    runtime,advanced

    +
    +
    +
    +

    --log_backtrace_at

    +
    +
    +

    Emit a backtrace when logging at file:linenum.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    string

    Default

    none

    Tags

    advanced

    +
    +
    +
    +

    --log_utc_time

    +
    +
    +

    Use UTC time for logging.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --log_year_in_prefix

    +
    +
    +

    Include the year in the log prefix

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +

    --logbuflevel

    +
    +
    +

    Buffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …​)

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    0

    Tags

    runtime,advanced

    +
    +
    +
    +

    --logbufsecs

    +
    +
    +

    Buffer log messages for at most this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    5

    Tags

    runtime,advanced

    +
    +
    +
    +

    --logcleansecs

    +
    +
    +

    Clean overdue logs every this many seconds

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    300

    Tags

    +
    +
    +
    +

    --logfile_mode

    +
    +
    +

    Log file mode/permissions.

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    int32

    Default

    436

    Tags

    +
    +
    +
    +

    --logtostdout

    +
    +
    +

    log messages go to stdout instead of logfiles

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    false

    Tags

    +
    +
    +
    +

    --timestamp_in_logfile_name

    +
    +
    +

    put a timestamp at the end of the log file name

    +
    + ++++ + + + + + + + + + + + + + + +

    Type

    bool

    Default

    true

    Tags

    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/kudu-tserver_metrics_reference.html b/releases/1.17.1/docs/kudu-tserver_metrics_reference.html new file mode 100644 index 0000000000..eaac18e381 --- /dev/null +++ b/releases/1.17.1/docs/kudu-tserver_metrics_reference.html @@ -0,0 +1,9637 @@ +--- +title: kudu-tserver Metrics +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    kudu-tserver Metrics

    +
    +

    Warning Metrics

    +
    +
    +

    Metrics tagged as 'warn' are metrics which can often indicate operational oddities +that may need more investigation.

    +
    +
    +

    data_dirs_failed

    +
    +

    Data Directories Failed +  +Number of data directories whose disks are currently in a failed state

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    data_dirs_full

    +
    +

    Data Directories Full +  +Number of data directories whose disks are currently full

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    failed_elections_since_stable_leader

    +
    +

    Failed Elections Since Stable Leader +  +Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    follower_memory_pressure_rejections

    +
    +

    Follower Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while FOLLOWER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_error_messages

    +
    +

    ERROR-level Log Messages +  +Number of ERROR-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_warning_messages

    +
    +

    WARNING-level Log Messages +  +Number of WARNING-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolating

    +
    +

    Hybrid Clock Is Being Extrapolated +  +Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolation_intervals

    +
    +

    Intervals of Hybrid Clock Extrapolation +  +The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    seconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    leader_memory_pressure_rejections

    +
    +

    Leader Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while LEADER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    maintenance_op_prepare_failed

    +
    +

    Number Of Operations With Failed Prepare() +  +Number of times when calling Prepare() on a maintenance operation failed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    operations

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_length

    +
    +

    Operation Apply Queue Length +  +Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tasks

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_overload_rejections

    +
    +

    Number of Rejected Write Requests Due to Queue Overloaded Error +  +Number of rejected write requests due to overloaded op apply queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_time

    +
    +

    Operation Apply Queue Time +  +Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_run_time

    +
    +

    Operation Apply Run Time +  +Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    ops_behind_leader

    +
    +

    Operations Behind Leader +  +Number of operations this server believes it is behind the leader.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_queue_overflow

    +
    +

    RPC Queue Overflows +  +Number of RPCs dropped because the service queue was full.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_timed_out_in_queue

    +
    +

    RPC Queue Timeouts +  +Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    scanners_expired

    +
    +

    Scanners Expired +  +Number of scanners that have expired due to inactivity since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    slow_scans

    +
    +

    Slow Scans +  +Number of slow scanners that are defined by --slow_scanner_threshold_ms if --show_slow_scans set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    spinlock_contention_time

    +
    +

    Spinlock Contention Time +  +Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    startup_progress_steps_remaining

    +
    +

    Server Startup Steps Remaining +  +Server startup progress steps remaining

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    tablets_num_failed

    +
    +

    Number of Failed Tablets +  +Number of failed tablets

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_limit_rejections

    +
    +

    Tablet Op Memory Limit Rejections +  +Number of ops rejected because the tablet’s op memory limit was reached.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_pressure_rejections

    +
    +

    Op Memory Pressure Rejections +  +Number of ops rejected because the tablet’s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +
    +
    +

    Info Metrics

    +
    +
    +

    Metrics tagged as 'info' are generally useful metrics that operators always want +to have available but may not be monitored under normal circumstances.

    +
    +
    +

    active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    average_diskrowset_height

    +
    +

    Average DiskRowSet Height +  +Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_cache_usage

    +
    +

    Block Cache Memory Usage +  +Memory consumed by the block cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_reading

    +
    +

    Data Blocks Open For Read +  +Number of data blocks currently open for reading

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_writing

    +
    +

    Data Blocks Open For Write +  +Number of data blocks currently open for writing

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_error

    +
    +

    Built-in NTP Latest Maximum Time Error +  +Latest maximum time error as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_local_clock_delta

    +
    +

    Local Clock vs Built-In NTP True Time Delta +  +Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_duration

    +
    +

    RowSet Compaction Duration +  +Time spent compacting RowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage

    +
    +

    Peak Memory Usage for CompactRowSetsOp +  +Peak memory usage of rowset merge compaction operations (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage_to_deltas_size_ratio

    +
    +

    Peak Memory Usage to On-Disk Delta Size Ratio for CompactRowSetsOp +  +Ratio of the peak memory usage to the estimated on-disk size of all deltas for rowsets involved in rowset merge compaction (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_stime

    +
    +

    System CPU Time +  +Total system CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_utime

    +
    +

    User CPU Time +  +Total user CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    data_dirs_space_available_bytes

    +
    +

    Data Directories Space Free +  +Total space available in all the data directories. Set to -1 if reading any of the disks fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_duration

    +
    +

    Deleted Rowset GC Duration +  +Time spent running the maintenance operation to GC deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups_per_op

    +
    +

    Delta File Lookups per Operation +  +Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_duration

    +
    +

    Major Delta Compaction Duration +  +Seconds spent major delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_duration

    +
    +

    Minor Delta Compaction Duration +  +Time spent minor delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    file_cache_usage

    +
    +

    File Cache Usage +  +Number of entries in the file cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_dms_duration

    +
    +

    DeltaMemStore Flush Duration +  +Time spent flushing DeltaMemStores.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_mrs_duration

    +
    +

    MemRowSet Flush Duration +  +Time spent flushing MemRowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_current_allocated_bytes

    +
    +

    Heap Memory Usage +  +Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_heap_size

    +
    +

    Reserved Heap Memory +  +Bytes of system memory reserved by TCMalloc.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Time +  +Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Time +  +Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Time +  +Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Time +  +Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_error

    +
    +

    Hybrid Clock Error +  +Server clock maximum error; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_timestamp

    +
    +

    Hybrid Clock Timestamp +  +Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    involuntary_context_switches

    +
    +

    Involuntary Context Switches +  +Total involuntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    live_row_count

    +
    +

    Tablet Live Row Count +  +Number of live rows in this tablet, excludes deleted rows.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_append_latency

    +
    +

    Log Append Latency +  +Microseconds spent on appending to the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_blocks_under_management

    +
    +

    Blocks Under Management +  +Number of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_bytes_under_management

    +
    +

    Bytes Under Management +  +Number of bytes of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers

    +
    +

    Number of Block Containers +  +Number of log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_full_containers

    +
    +

    Number of Full Block Containers +  +Number of full log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_processed_containers_startup

    +
    +

    Number of Log Block Containers opened during startup +  +Number of log block containers which were opened/processed during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_total_containers_startup

    +
    +

    Total number of Log Block Containers during startup +  +Number of log block containers which were present during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_duration

    +
    +

    Log GC Duration +  +Time spent garbage collecting the logs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_running

    +
    +

    Log GCs Running +  +Number of log GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_reader_read_batch_latency

    +
    +

    Log Read Latency +  +Microseconds spent reading log entry batches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_sync_latency

    +
    +

    Log Sync Latency +  +Microseconds spent on synchronizing the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    logical_clock_timestamp

    +
    +

    Logical Clock Timestamp +  +Logical clock timestamp.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    maintenance_op_find_best_candidate_duration

    +
    +

    Time Taken To Find Best Maintenance Operation +  +Time spent choosing a maintenance operation with highest scores among available candidates

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memory_usage

    +
    +

    Current Memory Usage +  +Current memory usage of the server process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memrowset_size

    +
    +

    MemRowSet Memory Usage +  +Size of this tablet’s memrowset

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_server

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_tablet

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_raft_leaders

    +
    +

    Number of Raft Leaders +  +Number of tablet replicas that are Raft leaders

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_rowsets_on_disk

    +
    +

    Tablet Number of Rowsets on Disk +  +Number of diskrowsets in this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_data_size

    +
    +

    Tablet Data Size On Disk +  +Space used by this tablet’s data blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_size

    +
    +

    Tablet Size On Disk +  +Space used by this tablet on disk, including metadata.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_length

    +
    +

    Operation Prepare Queue Length +  +Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    tasks

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_time

    +
    +

    Operation Prepare Queue Time +  +Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_run_time

    +
    +

    Operation Prepare Run Time +  +Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ops_timed_out_in_prepare_queue

    +
    +

    Number of Requests Timed Out In Prepare Queue +  +Number of WriteRequest RPCs that timed out while their corresponding operations were waiting in the tablet’s prepare queue, and thus were not started but acknowledged with TimedOut error status.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Rejections +  +Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Rejections +  +Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Rejections +  +Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Rejections +  +Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Rejections +  +Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Rejections +  +Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Rejections +  +Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Rejections +  +Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_active_latency_us

    +
    +

    Reactor Thread Active Latency +  +Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_load_percent

    +
    +

    Reactor Thread Load Percentage +  +The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_deleted

    +
    +

    Rows Deleted +  +Number of row delete operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_inserted

    +
    +

    Rows Inserted +  +Number of rows inserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_updated

    +
    +

    Rows Updated +  +Number of row update operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_upserted

    +
    +

    Rows Upserted +  +Number of rows upserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted

    +
    +

    RPC Connections Accepted +  +Number of incoming TCP connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted_unix_domain_socket

    +
    +

    RPC Connections Accepted via UNIX Domain Socket +  +Number of incoming UNIX Domain Socket connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_incoming_queue_time

    +
    +

    RPC Queue Time +  +Number of microseconds incoming RPC requests spend in the worker queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_duration

    +
    +

    Scanner Duration +  +Histogram of the duration of active scanners on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_predicates_disabled

    +
    +

    Scanner Column Predicates Disabled +  +Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    startup_progress_time_elapsed

    +
    +

    Server Startup Progress Time Elapsed +  +Time taken by the server to complete the startup ortime elapsed so far for the server to startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    state

    +
    +

    Tablet State +  +State of this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    state

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_client_sessions

    +
    +

    Open Table Copy Client Sessions +  +Number of currently open tablet copy client sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_source_sessions

    +
    +

    Open Table Copy Source Sessions +  +Number of currently open tablet copy source sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_bootstrapping

    +
    +

    Number of Bootstrapping Tablets +  +Number of tablets currently bootstrapping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_initialized

    +
    +

    Number of Initialized Tablets +  +Number of tablets currently initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_not_initialized

    +
    +

    Number of Not Initialized Tablets +  +Number of tablets currently not initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_opened_startup

    +
    +

    Number of Tablets Opened During Startup +  +Number of tablets opened during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_running

    +
    +

    Number of Running Tablets +  +Number of tablets currently running

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_shutdown

    +
    +

    Number of Shut Down Tablets +  +Number of tablets currently shut down

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopped

    +
    +

    Number of Stopped Tablets +  +Number of tablets currently stopped

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopping

    +
    +

    Number of Stopping Tablets +  +Number of tablets currently stopping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_total_startup

    +
    +

    Number of Tablets Present During Startup +  +Number of tablets present during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_current_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Usage +  +A measure of some of the memory TCMalloc is using (for small objects).

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_max_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Limit +  +A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for — in some situations — improved efficiency.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_free_bytes

    +
    +

    Free Heap Memory +  +Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_unmapped_bytes

    +
    +

    Unmapped Heap Memory +  +Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    threads_running

    +
    +

    Threads Running +  +Current number of running threads

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_delete_duration

    +
    +

    Undo Delta Block GC Delete Duration +  +Time spent deleting ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_init_duration

    +
    +

    Undo Delta Block GC Init Duration +  +Time spent initializing ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_perform_duration

    +
    +

    Undo Delta Block GC Perform Duration +  +Time spent running the maintenance operation to GC ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    upserts_as_updates

    +
    +

    Upserts converted into updates +  +Number of upserts which were applied as updates because the key already existed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    uptime

    +
    +

    Server Uptime +  +Time interval since the server has started

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    voluntary_context_switches

    +
    +

    Voluntary Context Switches +  +Total voluntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    wal_dir_space_available_bytes

    +
    +

    WAL Directory Space Free +  +Total WAL directory space available. Set to -1 if reading the disk fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +
    +
    +

    Debug Metrics

    +
    +
    +

    Metrics tagged as 'debug' are diagnostically helpful but generally not monitored +during normal operation.

    +
    +
    +

    all_transactions_inflight

    +
    +

    Ops In Flight +  +Number of ops currently in-flight, including any type.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    alter_schema_transactions_inflight

    +
    +

    Alter Schema Ops In Flight +  +Number of alter schema ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_evictions

    +
    +

    Block Cache Evictions +  +Number of blocks evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits

    +
    +

    Block Cache Hits +  +Number of lookups that found a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits_caching

    +
    +

    Block Cache Hits (Caching) +  +Number of lookups that were expecting a block that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_inserts

    +
    +

    Block Cache Inserts +  +Number of blocks inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_lookups

    +
    +

    Block Cache Lookups +  +Number of blocks looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses

    +
    +

    Block Cache Misses +  +Number of lookups that didn’t yield a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses_caching

    +
    +

    Block Cache Misses (Caching) +  +Number of lookups that were expecting a block that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_created

    +
    +

    Data Blocks Created +  +Number of data blocks that were created since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_deleted

    +
    +

    Data Blocks Deleted +  +Number of data blocks that were deleted since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_read

    +
    +

    Block Data Bytes Read +  +Number of bytes of block data read since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_written

    +
    +

    Block Data Bytes Written +  +Number of bytes of block data written since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_disk_sync

    +
    +

    Block Data Disk Synchronization Count +  +Number of disk synchronizations of block data since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_readable_blocks

    +
    +

    Data Blocks Opened For Read +  +Number of data blocks opened for reading since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_writable_blocks

    +
    +

    Data Blocks Opened For Write +  +Number of data blocks opened for writing since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups

    +
    +

    Bloom Filter Lookups +  +Number of times a bloom filter was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups_per_op

    +
    +

    Bloom Lookups per Operation +  +Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_max_errors

    +
    +

    Built-In NTP Maximum Time Errors +  +Statistics on the maximum true time error computed by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_time

    +
    +

    Built-in NTP Time +  +Latest true time as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bytes_flushed

    +
    +

    Bytes Flushed +  +Amount of data that has been flushed to disk by this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    clock_ntp_status

    +
    +

    Clock NTP Status String +  +Output of ntp_adjtime()/ntp_gettime() kernel API call

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_hits

    +
    +

    Codegen Cache Hits +  +Number of codegen cache hits since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    hits

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_queries

    +
    +

    Codegen Cache Queries +  +Number of codegen cache queries (hits + misses) since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    queries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    commit_wait_duration

    +
    +

    Commit-Wait Duration +  +Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    compact_rs_running

    +
    +

    RowSet Compactions Running +  +Number of RowSet compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delete_ignore_errors

    +
    +

    Delete Ignore Errors +  +Number of delete ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Deleted Rowsets +  +Estimated bytes of deletable data in deleted rowsets for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_bytes_deleted

    +
    +

    Deleted Rowsets GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_running

    +
    +

    Deleted Rowset GC Running +  +Number of deleted rowset GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups

    +
    +

    Delta File Lookups +  +Number of times a delta file was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_running

    +
    +

    Major Delta Compactions Running +  +Number of delta major compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_running

    +
    +

    Minor Delta Compactions Running +  +Number of delta minor compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_evictions

    +
    +

    File Cache Evictions +  +Number of file descriptors evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits

    +
    +

    File Cache Hits +  +Number of lookups that found a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits_caching

    +
    +

    File Cache Hits (Caching) +  +Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_inserts

    +
    +

    File Cache Inserts +  +Number of file descriptors inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_lookups

    +
    +

    File Cache Lookups +  +Number of file descriptors looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses

    +
    +

    File Cache Misses +  +Number of lookups that didn’t yield a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses_caching

    +
    +

    File Cache Misses (Caching) +  +Number of lookups that were expecting a file descriptor that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_dms_running

    +
    +

    DeltaMemStore Flushes Running +  +Number of delta memstore flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_mrs_running

    +
    +

    MemRowSet Flushes Running +  +Number of MemRowSet flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    glog_info_messages

    +
    +

    INFO-level Log Messages +  +Number of INFO-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_max_errors

    +
    +

    Hybrid Clock Maximum Errors +  +The statistics on the maximum error of the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    in_progress_ops

    +
    +

    Operations in Progress +  +Number of operations in the peer’s queue ack’d by a minority of peers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insert_ignore_errors

    +
    +

    Insert Ignore Errors +  +Number of insert ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insertions_failed_dup_key

    +
    +

    Duplicate Key Inserts +  +Number of inserts which failed because the key already existed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups

    +
    +

    Key File Lookups +  +Number of times a key cfile was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups_per_op

    +
    +

    Key Lookups per Operation +  +Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_read_elapsed_time

    +
    +

    Seconds Since Last Read +  +The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been read since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_write_elapsed_time

    +
    +

    Seconds Since Last Write +  +The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been written to since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers_processing_time_startup

    +
    +

    Time taken to open all log block containers during server startup +  +The total time taken by the server to open all the containerfiles during the startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_dead_containers_deleted

    +
    +

    Number of Dead Block Containers Deleted +  +Number of full (but dead) block containers that were deleted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_holes_punched

    +
    +

    Number of Holes Punched +  +Number of holes punched since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    holes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_bytes_logged

    +
    +

    Bytes Written to WAL +  +Number of bytes logged since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_num_ops

    +
    +

    Log Cache Operation Count +  +Number of operations in the log cache.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_size

    +
    +

    Log Cache Memory Usage +  +Amount of memory in use for caching the local log.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_entry_batches_per_group

    +
    +

    Log Group Commit Batch Size +  +Number of log entry batches in a group commit group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_group_commit_latency

    +
    +

    Log Group Commit Latency +  +Microseconds spent on committing an entire group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_bytes_read

    +
    +

    Bytes Read From Log +  +Data read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_entries_read

    +
    +

    Entries Read From Log +  +Number of entries read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_roll_latency

    +
    +

    Log Roll Latency +  +Microseconds spent on rolling over to a new log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    majority_done_ops

    +
    +

    Leader Operations Acked by Majority +  +Number of operations in the leader queue ack’d by a majority but not all peers. This metric is always zero for followers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    mrs_lookups

    +
    +

    MemRowSet Lookups +  +Number of times a MemRowSet was consulted.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    raft_term

    +
    +

    Current Raft Consensus Term +  +Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_returned

    +
    +

    Scanner Bytes Returned +  +Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_scanned_from_disk

    +
    +

    Scanner Bytes Scanned From Disk +  +Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_returned

    +
    +

    Scanner Cells Returned +  +Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_scanned_from_disk

    +
    +

    Scanner Cells Scanned From Disk +  +Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_returned

    +
    +

    Scanner Rows Returned +  +Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_scanned

    +
    +

    Scanner Rows Scanned +  +Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scans_started

    +
    +

    Scans Started +  +Number of scanners which have been started on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scheduling_priority

    +
    +

    Scheduling Priority +  +The scheduling priority of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    snapshot_read_inflight_wait_duration

    +
    +

    Time Waiting For Snapshot Reads +  +Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_fetched

    +
    +

    Bytes Fetched By Tablet Copy +  +Number of bytes fetched during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_sent

    +
    +

    Bytes Sent For Tablet Copy +  +Number of bytes sent during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablets_opening_time_startup

    +
    +

    Time Taken to Start the Tablets During Startup +  +Time taken to start the tablets during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    threads_started

    +
    +

    Threads Started +  +Total number of threads started on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    time_since_last_leader_heartbeat

    +
    +

    Time Since Last Leader Heartbeat +  +The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Undo Delta Blocks +  +Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_bytes_deleted

    +
    +

    Undo Delta Block GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_running

    +
    +

    Undo Delta Block GC Running +  +Number of UNDO delta block GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    update_ignore_errors

    +
    +

    Update Ignore Errors +  +Number of update ignore operations for this tablet which were ignored due to an error since service start. Note that when ignoring to update the immutable cells, the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_updated will be counted too if update successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    upsert_ignore_errors

    +
    +

    Upsert Ignore Errors +  +Number of upsert ignore operations for this tablet which were ignored due to an error since service start. This metric counts the number of attempts to update a present row by changing the value of any of its immutable cells. Note that the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_upserted will be counted too if upsert successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_client_propagated_consistency

    +
    +

    Write Op Duration with Propagated Consistency +  +Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_commit_wait_consistency

    +
    +

    Write Op Duration with Commit-Wait Consistency +  +Duration of writes to this tablet with external consistency set to COMMIT_WAIT.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_transactions_inflight

    +
    +

    Write Ops In Flight +  +Number of write ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/kudu_impala_integration.html b/releases/1.17.1/docs/kudu_impala_integration.html new file mode 100644 index 0000000000..cf531adc94 --- /dev/null +++ b/releases/1.17.1/docs/kudu_impala_integration.html @@ -0,0 +1,1227 @@ +--- +title: Using Apache Kudu with Apache Impala +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:39:22 -0700' +--- + + + +
    +
    +
    + +

    Using Apache Kudu with Apache Impala

    +
    +

    Overview

    +
    +
    +

    Kudu has tight integration with Apache Impala, allowing you to use Impala +to insert, query, update, and delete data from Kudu tablets using Impala’s SQL +syntax, as an alternative to using the Kudu APIs +to build a custom Kudu application. In addition, you can use JDBC or ODBC to connect +existing or new applications written in any language, framework, or business intelligence +tool to your Kudu data, using Impala as the broker.

    +
    +
    +
    +
    +

    Requirements

    +
    +
    +
      +
    • +

      This documentation is specific to the certain versions of Impala. The syntax +described will work only in the following releases:

      +
      +
        +
      • +

        The version of Impala 2.7.0 that ships with CDH 5.10. SELECT VERSION() will +report impalad version 2.7.0-cdh5.10.0.

        +
      • +
      • +

        Apache Impala 2.8.0 releases compiled from source. SELECT VERSION() will +report impalad version 2.8.0.

        +
      • +
      +
      +
    • +
    +
    +
    +

    Older versions of Impala 2.7 (including the special IMPALA_KUDU releases +previously available) have incompatible syntax. Future versions are likely to be +compatible with this syntax, but we recommend checking that this is the latest +available documentation corresponding to the appropriate version you have +installed.

    +
    +
    +
      +
    • +

      This documentation does not describe Impala installation procedures. Please +refer to the Impala documentation and be sure that you are able to run simple +queries against Impala tables on HDFS before proceeding.

      +
    • +
    +
    +
    +
    +
    +

    Configuration

    +
    +
    +

    No configuration changes are required within Kudu to enable access from Impala.

    +
    +
    +

    Although not strictly necessary, it is recommended to configure Impala with the +locations of the Kudu Master servers:

    +
    +
    +
      +
    • +

      Set the --kudu_master_hosts=<master1>[:port],<master2>[:port],<master3>[:port] +flag in the Impala service configuration.

      +
    • +
    +
    +
    +

    If this flag is not set within the Impala service, it will be necessary to manually +provide this configuration each time you create a table by specifying the +kudu.master_addresses property inside a TBLPROPERTIES clause.

    +
    +
    +

    The rest of this guide assumes that the configuration has been set.

    +
    +
    +
    +
    +

    Using the Impala Shell

    +
    +
    + + + + + +
    + + +This is only a small sub-set of Impala Shell functionality. For more details, see the +Impala Shell documentation. +
    +
    +
    +
      +
    • +

      Start Impala Shell using the impala-shell command. By default, impala-shell +attempts to connect to the Impala daemon on localhost on port 21000. To connect +to a different host,, use the -i <host:port> option. To automatically connect to +a specific Impala database, use the -d <database> option. For instance, if all your +Kudu tables are in Impala in the database impala_kudu, use -d impala_kudu to use +this database.

      +
    • +
    • +

      To quit the Impala Shell, use the following command: quit;

      +
    • +
    +
    +
    +

    Internal and External Impala Tables

    +
    +

    When creating a new Kudu table using Impala, you can create the table as an internal +table or an external table.

    +
    +
    +
    +
    Internal
    +
    +

    An internal table is managed by Impala, and when you drop it from Impala, +the data and the table truly are dropped. When you create a new table using Impala, +it is generally a internal table.

    +
    +
    External
    +
    +

    An external table (created by CREATE EXTERNAL TABLE) is not managed by +Impala, and dropping such a table does not drop the table from its source location +(here, Kudu). Instead, it only removes the mapping between Impala and Kudu. This is +the mode used in the syntax provided by Kudu for mapping an existing table to Impala.

    +
    +
    +
    +
    +

    See the +Impala documentation +for more information about internal and external tables.

    +
    +
    +
    +

    Using the Hive Metastore Integration

    +
    +

    Starting from Kudu 1.10.0 and Impala 3.3.0, the Impala integration +can take advantage of the automatic Kudu-HMS catalog synchronization enabled by +Kudu’s Hive Metastore integration. Since there may be no one-to-one mapping +between Kudu tables and external tables, only internal tables are automatically +synchronized. See the HMS integration +documentation for more details on Kudu’s Hive Metastore integration.

    +
    +
    + + + + + +
    + + +When Kudu’s integration with the Hive Metastore is not enabled, Impala +will create metadata entries in the HMS on behalf of Kudu. +
    +
    +
    + + + + + +
    + + +When Kudu’s integration with the Hive Metastore is enabled, Impala should +be configured to use the same Hive Metastore as Kudu. +
    +
    +
    +
    +

    Querying an Existing Kudu Table In Impala

    +
    +

    Without the HMS integration enabled, tables created through the Kudu API or +other integrations such as Apache Spark are not automatically visible in +Impala. To query them, you must first create an external table within Impala to +map the Kudu table into an Impala database:

    +
    +
    +
    +
    CREATE EXTERNAL TABLE my_mapping_table
    +STORED AS KUDU
    +TBLPROPERTIES (
    +  'kudu.table_name' = 'my_kudu_table'
    +);
    +
    +
    +
    +

    When the Kudu-HMS integration is enabled, internal table entries will be +created automatically in the HMS when tables are created in Kudu without +Impala. To access these tables through Impala, run invalidate metadata so +Impala picks up the latest metadata.

    +
    +
    +
    +
    INVALIDATE METADATA;
    +
    +
    +
    +
    +

    Creating a New Kudu Table From Impala

    +
    +

    Creating a new table in Kudu from Impala is similar to mapping an existing Kudu table +to an Impala table, except that you need to specify the schema and partitioning +information yourself.

    +
    +
    +

    Use the following example as a guideline. Impala first creates the table, then creates +the mapping.

    +
    +
    +
    +
    CREATE TABLE my_first_table
    +(
    +  id BIGINT,
    +  name STRING,
    +  PRIMARY KEY(id)
    +)
    +PARTITION BY HASH PARTITIONS 16
    +STORED AS KUDU;
    +
    +
    +
    +

    In the CREATE TABLE statement, the columns that comprise the primary key must +be listed first. Additionally, primary key columns are implicitly marked NOT NULL.

    +
    +
    +

    When creating a new Kudu table, you are required to specify a distribution scheme. +See Partitioning Tables. The table creation example above is distributed into +16 partitions by hashing the id column, for simplicity. See +Partitioning Rules of Thumb for guidelines on partitioning.

    +
    +
    +

    By default, Kudu tables created through Impala use a tablet replication factor of 3. +To specify the replication factor for a Kudu table, add a TBLPROPERTIES clause +to the CREATE TABLE statement as shown below where n is the replication factor +you want to use:

    +
    +
    +
    +
    TBLPROPERTIES ('kudu.num_tablet_replicas' = 'n')
    +
    +
    +
    +

    A replication factor must be an odd number.

    +
    +
    +

    Changing the kudu.num_tablet_replicas table property using ALTER TABLE currently +has no effect.

    +
    +
    +

    CREATE TABLE AS SELECT

    +
    +

    You can create a table by querying any other table or tables in Impala, using a CREATE +TABLE …​ AS SELECT statement. The following example imports all rows from an existing table +old_table into a Kudu table new_table. The names and types of columns in new_table +will determined from the columns in the result set of the SELECT statement. Note that you must +additionally specify the primary key and partitioning.

    +
    +
    +
    +
    CREATE TABLE new_table
    +PRIMARY KEY (ts, name)
    +PARTITION BY HASH(name) PARTITIONS 8
    +STORED AS KUDU
    +AS SELECT ts, name, value FROM old_table;
    +
    +
    +
    +
    +

    Specifying Tablet Partitioning

    +
    +

    Tables are divided into tablets which are each served by one or more tablet +servers. Ideally, tablets should split a table’s data relatively equally. Kudu currently +has no mechanism for automatically (or manually) splitting a pre-existing tablet. +Until this feature has been implemented, you must specify your partitioning when +creating a table. When designing your table schema, consider primary keys that will allow you to +split your table into partitions which grow at similar rates. You can designate +partitions using a PARTITION BY clause when creating a table using Impala:

    +
    +
    + + + + + +
    + + +Impala keywords, such as group, are enclosed by back-tick characters when +they are not used in their keyword sense. +
    +
    +
    +
    +
    CREATE TABLE cust_behavior (
    +  _id BIGINT PRIMARY KEY,
    +  salary STRING,
    +  edu_level INT,
    +  usergender STRING,
    +  `group` STRING,
    +  city STRING,
    +  postcode STRING,
    +  last_purchase_price FLOAT,
    +  last_purchase_date BIGINT,
    +  category STRING,
    +  sku STRING,
    +  rating INT,
    +  fulfilled_date BIGINT
    +)
    +PARTITION BY RANGE (_id)
    +(
    +    PARTITION VALUES < 1439560049342,
    +    PARTITION 1439560049342 <= VALUES < 1439566253755,
    +    PARTITION 1439566253755 <= VALUES < 1439572458168,
    +    PARTITION 1439572458168 <= VALUES < 1439578662581,
    +    PARTITION 1439578662581 <= VALUES < 1439584866994,
    +    PARTITION 1439584866994 <= VALUES < 1439591071407,
    +    PARTITION 1439591071407 <= VALUES
    +)
    +STORED AS KUDU;
    +
    +
    +
    +

    If you have multiple primary key columns, you can specify partition bounds +using tuple syntax: ('va',1), ('ab',2). The expression must be valid JSON.

    +
    +
    +
    +

    Impala Databases and Kudu

    +
    +

    Every Impala table is contained within a namespace called a database. The default +database is called default, and users may create and drop additional databases +as desired.

    +
    +
    +

    When a managed Kudu table is created from within Impala, the corresponding +Kudu table will be named impala::database_name.table_name. The prefix is +always impala:: and the database name and table name follow, separated by a +dot.

    +
    +
    +

    For example if a table called foo is created in database bar in Impala and +it’s storeed in Kudu, it will be called impala::bar.foo in Kudu and bar.foo +in Impala.

    +
    +
    +
    +

    Impala Keywords Not Supported for Kudu Tables

    +
    +

    The following Impala keywords are not supported when creating Kudu tables: +- PARTITIONED +- LOCATION +- ROWFORMAT

    +
    +
    +
    +
    +

    Optimizing Performance for Evaluating SQL Predicates

    +
    +

    If the WHERE clause of your query includes comparisons with the operators +=, <=, '\<', '\>', >=, BETWEEN, or IN, Kudu evaluates the condition directly +and only returns the relevant results. This provides optimum performance, because Kudu +only returns the relevant results to Impala. For predicates !=, LIKE, or any other +predicate type supported by Impala, Kudu does not evaluate the predicates directly, but +returns all results to Impala and relies on Impala to evaluate the remaining predicates and +filter the results accordingly. This may cause differences in performance, depending +on the delta of the result set before and after evaluating the WHERE clause.

    +
    +
    +
    +

    Partitioning Tables

    +
    +

    Tables are partitioned into tablets according to a partition schema on the primary +key columns. Each tablet is served by at least one tablet server. Ideally, a table +should be split into tablets that are distributed across a number of tablet servers +to maximize parallel operations. The details of the partitioning schema you use +will depend entirely on the type of data you store and how you access it. For a full +discussion of schema design in Kudu, see Schema Design.

    +
    +
    +

    Kudu currently has no mechanism for splitting or merging tablets after the table has +been created. You must provide a partition schema for your table when you create it. +When designing your tables, consider using primary keys that will allow you to partition +your table into tablets which grow at similar rates.

    +
    +
    +

    You can partition your table using Impala’s PARTITION BY keyword, which +supports distribution by RANGE or HASH. The partition scheme can contain zero +or more HASH definitions, followed by an optional RANGE definition. The RANGE +definition can refer to one or more primary key columns. +Examples of basic and advanced +partitioning are shown below.

    +
    +
    +

    Basic Partitioning

    +
    +
    PARTITION BY RANGE
    +

    You can specify range partitions for one or more primary key columns. +Range partitioning in Kudu allows splitting a table based based on +specific values or ranges of values of the chosen partition keys. This allows +you to balance parallelism in writes with scan efficiency.

    +
    +
    +

    Suppose you have a table that has columns state, name, and purchase_count. The +following example creates 50 tablets, one per US state.

    +
    +
    + + + + + +
    + + +
    Monotonically Increasing Values
    +
    +

    If you partition by range on a column whose values are monotonically increasing, +the last tablet will grow much larger than the others. Additionally, all data +being inserted will be written to a single tablet at a time, limiting the scalability +of data ingest. In that case, consider distributing by HASH instead of, or in +addition to, RANGE.

    +
    +
    +
    +
    +
    +
    CREATE TABLE customers (
    +  state STRING,
    +  name STRING,
    +  purchase_count int,
    +  PRIMARY KEY (state, name)
    +)
    +PARTITION BY RANGE (state)
    +(
    +  PARTITION VALUE = 'al',
    +  PARTITION VALUE = 'ak',
    +  PARTITION VALUE = 'ar',
    +  -- ... etc ...
    +  PARTITION VALUE = 'wv',
    +  PARTITION VALUE = 'wy'
    +)
    +STORED AS KUDU;
    +
    +
    +
    +
    PARTITION BY HASH
    +

    Instead of distributing by an explicit range, or in combination with range distribution, +you can distribute into a specific number of 'buckets' by hash. You specify the primary +key columns you want to partition by, and the number of buckets you want to use. Rows are +distributed by hashing the specified key columns. Assuming that the values being +hashed do not themselves exhibit significant skew, this will serve to distribute +the data evenly across buckets.

    +
    +
    +

    You can specify multiple definitions, and you can specify definitions which +use compound primary keys. However, one column cannot be mentioned in multiple hash +definitions. Consider two columns, a and b: +* HASH(a), HASH(b) +* HASH(a,b) +* HASH(a), HASH(a,b)

    +
    +
    + + + + + +
    + + +PARTITION BY HASH with no column specified is a shortcut to create the desired +number of buckets by hashing all primary key columns. +
    +
    +
    +

    Hash partitioning is a reasonable approach if primary key values are evenly +distributed in their domain and no data skew is apparent, such as timestamps or +serial IDs.

    +
    +
    +

    The following example creates 16 tablets by hashing the id and sku columns. This spreads +writes across all 16 tablets. In this example, a query for a range of sku values +is likely to need to read all 16 tablets, so this may not be the optimum schema for +this table. See Advanced Partitioning for an extended example.

    +
    +
    +
    +
    CREATE TABLE cust_behavior (
    +  id BIGINT,
    +  sku STRING,
    +  salary STRING,
    +  edu_level INT,
    +  usergender STRING,
    +  `group` STRING,
    +  city STRING,
    +  postcode STRING,
    +  last_purchase_price FLOAT,
    +  last_purchase_date BIGINT,
    +  category STRING,
    +  rating INT,
    +  fulfilled_date BIGINT,
    +  PRIMARY KEY (id, sku)
    +)
    +PARTITION BY HASH PARTITIONS 16
    +STORED AS KUDU;
    +
    +
    +
    +
    +

    Advanced Partitioning

    +
    +

    You can combine HASH and RANGE partitioning to create more complex partition schemas. +You can specify zero or more HASH definitions, followed by zero or one RANGE definitions. +Each definition can encompass one or more columns. While enumerating every possible distribution +schema is out of the scope of this document, a few examples illustrate some of the +possibilities.

    +
    +
    +
    +

    PARTITION BY HASH and RANGE

    +
    +

    Consider the simple hashing example above, If you often query for a range of sku +values, you can optimize the example by combining hash partitioning with range partitioning.

    +
    +
    +

    The following example still creates 16 tablets, by first hashing the id column into 4 +buckets, and then applying range partitioning to split each bucket into four tablets, +based upon the value of the sku string. Writes are spread across at least four tablets +(and possibly up to 16). When you query for a contiguous range of sku values, you have a +good chance of only needing to read from a quarter of the tablets to fulfill the query.

    +
    +
    + + + + + +
    + + +By default, the entire primary key is hashed when you use PARTITION BY HASH. +To hash on only part of the primary key, specify it by using syntax like PARTITION +BY HASH (id, sku). +
    +
    +
    +
    +
    CREATE TABLE cust_behavior (
    +  id BIGINT,
    +  sku STRING,
    +  salary STRING,
    +  edu_level INT,
    +  usergender STRING,
    +  `group` STRING,
    +  city STRING,
    +  postcode STRING,
    +  last_purchase_price FLOAT,
    +  last_purchase_date BIGINT,
    +  category STRING,
    +  rating INT,
    +  fulfilled_date BIGINT,
    +  PRIMARY KEY (id, sku)
    +)
    +PARTITION BY HASH (id) PARTITIONS 4,
    +RANGE (sku)
    +(
    +  PARTITION VALUES < 'g',
    +  PARTITION 'g' <= VALUES < 'o',
    +  PARTITION 'o' <= VALUES < 'u',
    +  PARTITION 'u' <= VALUES
    +)
    +STORED AS KUDU;
    +
    +
    +
    +
    Multiple PARTITION BY HASH Definitions
    +

    Again expanding the example above, suppose that the query pattern will be unpredictable, +but you want to ensure that writes are spread across a large number of tablets +You can achieve maximum distribution across the entire primary key by hashing on +both primary key columns.

    +
    +
    +
    +
    CREATE TABLE cust_behavior (
    +  id BIGINT,
    +  sku STRING,
    +  salary STRING,
    +  edu_level INT,
    +  usergender STRING,
    +  `group` STRING,
    +  city STRING,
    +  postcode STRING,
    +  last_purchase_price FLOAT,
    +  last_purchase_date BIGINT,
    +  category STRING,
    +  rating INT,
    +  fulfilled_date BIGINT,
    +  PRIMARY KEY (id, sku)
    +)
    +PARTITION BY HASH (id) PARTITIONS 4,
    +             HASH (sku) PARTITIONS 4
    +STORED AS KUDU;
    +
    +
    +
    +

    The example creates 16 partitions. You could also use HASH (id, sku) PARTITIONS 16. +However, a scan for sku values would almost always impact all 16 partitions, rather +than possibly being limited to 4.

    +
    +
    +
    Non-Covering Range Partitions
    +

    Kudu 1.0 and higher supports the use of non-covering range partitions, +which address scenarios like the following:

    +
    +
    +
      +
    • +

      Without non-covering range partitions, in the case of time-series data or other +schemas which need to account for constantly-increasing primary keys, tablets +serving old data will be relatively fixed in size, while tablets receiving new +data will grow without bounds.

      +
    • +
    • +

      In cases where you want to partition data based on its category, such as sales +region or product type, without non-covering range partitions you must know all +of the partitions ahead of time or manually recreate your table if partitions +need to be added or removed, such as the introduction or elimination of a product +type.

      +
    • +
    +
    +
    +

    See Schema Design for the caveats of non-covering partitions.

    +
    +
    +

    This example creates a tablet per year (5 tablets total), for storing log data. +The table only accepts data from 2012 to 2016. Keys outside of these +ranges will be rejected.

    +
    +
    +
    +
    CREATE TABLE sales_by_year (
    +  year INT, sale_id INT, amount INT,
    +  PRIMARY KEY (year, sale_id)
    +)
    +PARTITION BY RANGE (year) (
    +  PARTITION VALUE = 2012,
    +  PARTITION VALUE = 2013,
    +  PARTITION VALUE = 2014,
    +  PARTITION VALUE = 2015,
    +  PARTITION VALUE = 2016
    +)
    +STORED AS KUDU;
    +
    +
    +
    +

    When records start coming in for 2017, they will be rejected. At that point, the 2017 +range should be added as follows:

    +
    +
    +
    +
    ALTER TABLE sales_by_year ADD RANGE PARTITION VALUE = 2017;
    +
    +
    +
    +

    In use cases where a rolling window of data retention is required, range partitions +may also be dropped. For example, if data from 2012 should no longer be retained, +it may be deleted in bulk:

    +
    +
    +
    +
    ALTER TABLE sales_by_year DROP RANGE PARTITION VALUE = 2012;
    +
    +
    +
    +

    Note that, just like dropping a table, this irrecoverably deletes all data +stored in the dropped partition.

    +
    +
    +
    +

    Partitioning Rules of Thumb

    +
    +
      +
    • +

      For large tables, such as fact tables, aim for as many tablets as you have +cores in the cluster.

      +
    • +
    • +

      For small tables, such as dimension tables, ensure that each tablet is at +least 1 GB in size.

      +
    • +
    +
    +
    +

    In general, be mindful the number of tablets limits the parallelism of reads, +in the current implementation. Increasing the number of tablets significantly +beyond the number of cores is likely to have diminishing returns.

    +
    +
    +
    +
    +

    Inserting Data Into Kudu Tables

    +
    +

    Impala allows you to use standard SQL syntax to insert data into Kudu.

    +
    +
    +

    Inserting Single Values

    +
    +

    This example inserts a single row.

    +
    +
    +
    +
    INSERT INTO my_first_table VALUES (99, "sarah");
    +
    +
    +
    +

    This example inserts three rows using a single statement.

    +
    +
    +
    +
    INSERT INTO my_first_table VALUES (1, "john"), (2, "jane"), (3, "jim");
    +
    +
    +
    +
    +

    Inserting In Bulk

    +
    +

    When inserting in bulk, there are at least three common choices. Each may have advantages +and disadvantages, depending on your data and circumstances.

    +
    +
    +
    +
    Multiple single INSERT statements
    +
    +

    This approach has the advantage of being easy to +understand and implement. This approach is likely to be inefficient because Impala +has a high query start-up cost compared to Kudu’s insertion performance. This will +lead to relatively high latency and poor throughput.

    +
    +
    Single INSERT statement with multiple VALUES
    +
    +

    If you include more +than 1024 VALUES statements, Impala batches them into groups of 1024 (or the value +of batch_size) before sending the requests to Kudu. This approach may perform +slightly better than multiple sequential INSERT statements by amortizing the query start-up +penalties on the Impala side. To set the batch size for the current Impala +Shell session, use the following syntax: set batch_size=10000;

    +
    + + + + + +
    + + +Increasing the Impala batch size causes Impala to use more memory. You should +verify the impact on your cluster and tune accordingly. +
    +
    +
    +
    Batch Insert
    +
    +

    The approach that usually performs best, from the standpoint of +both Impala and Kudu, is usually to import the data using a SELECT FROM statement +in Impala.

    +
    +
      +
    1. +

      If your data is not already in Impala, one strategy is to +import it from a text file, +such as a TSV or CSV file.

      +
    2. +
    3. +

      Create the Kudu table, being mindful that the columns +designated as primary keys cannot have null values.

      +
    4. +
    5. +

      Insert values into the Kudu table by querying the table containing the original +data, as in the following example:

      +
      +
      +
      INSERT INTO my_kudu_table
      +  SELECT * FROM legacy_data_import_table;
      +
      +
      +
    6. +
    +
    +
    +
    Ingest using the C++ or Java API
    +
    +

    In many cases, the appropriate ingest path is to +use the C++ or Java API to insert directly into Kudu tables. Unlike other Impala tables, +data inserted into Kudu tables via the API becomes available for query in Impala without +the need for any INVALIDATE METADATA statements or other statements needed for other +Impala storage types.

    +
    +
    +
    +
    +
    +

    INSERT and Primary Key Uniqueness Violations

    +
    +

    In most relational databases, if you try to insert a row that has already been inserted, the insertion +will fail because the primary key would be duplicated. See Failures During INSERT, UPDATE, and DELETE Operations. +Impala, however, will not fail the query. Instead, it will generate a warning, but continue +to execute the remainder of the insert statement.

    +
    +
    +

    If the inserted rows are meant to replace existing rows, UPSERT may be used instead of INSERT.

    +
    +
    +
    +
    INSERT INTO my_first_table VALUES (99, "sarah");
    +UPSERT INTO my_first_table VALUES (99, "zoe");
    +-- the current value of the row is 'zoe'
    +
    +
    +
    +
    +
    +

    Updating a Row

    +
    +
    +
    UPDATE my_first_table SET name="bob" where id = 3;
    +
    +
    +
    + + + + + +
    + + +The UPDATE statement only works in Impala when the target table is in +Kudu. +
    +
    +
    +

    Updating In Bulk

    +
    +

    You can update in bulk using the same approaches outlined in +Inserting In Bulk.

    +
    +
    +
    +
    UPDATE my_first_table SET name="bob" where age > 10;
    +
    +
    +
    +
    +
    +

    Deleting a Row

    +
    +
    +
    DELETE FROM my_first_table WHERE id < 3;
    +
    +
    +
    +

    You can also delete using more complex syntax. A comma in the FROM sub-clause is +one way that Impala specifies a join query. For more information about Impala joins, +see https://impala.apache.org/docs/build/html/topics/impala_joins.html.

    +
    +
    +
    +
    DELETE c FROM my_second_table c, stock_symbols s WHERE c.name = s.symbol;
    +
    +
    +
    + + + + + +
    + + +The DELETE statement only works in Impala when the target table is in +Kudu. +
    +
    +
    +

    Deleting In Bulk

    +
    +

    You can delete in bulk using the same approaches outlined in +Inserting In Bulk.

    +
    +
    +
    +
    DELETE FROM my_first_table WHERE id < 3;
    +
    +
    +
    +
    +
    +

    Failures During INSERT, UPDATE, and DELETE Operations

    +
    +

    INSERT, UPDATE, and DELETE statements cannot be considered transactional as +a whole. If one of these operations fails part of the way through, the keys may +have already been created (in the case of INSERT) or the records may have already +been modified or removed by another process (in the case of UPDATE or DELETE). +You should design your application with this in mind.

    +
    +
    +
    +

    Altering Table Properties

    +
    +

    You can change Impala’s metadata relating to a given Kudu table by altering the table’s +properties. These properties include the table name, the list of Kudu master addresses, +and whether the table is managed by Impala (internal) or externally.

    +
    +
    +
    Rename an Impala Mapping Table
    +
    +
    ALTER TABLE my_table RENAME TO my_new_table;
    +
    +
    +
    + + + + + +
    + + +In Impala 3.2 and lower, renaming a table using the ALTER TABLE …​ RENAME statement +only renames the Impala mapping table, regardless of whether the table is an internal +or external table. Starting from Impala 3.3, renaming a table also renames the underlying +Kudu table. +
    +
    +
    +
    Rename the underlying Kudu table for an internal table
    +

    In Impala 2.11 and lower, the underlying Kudu table may be renamed by changing +the kudu.table_name property:

    +
    +
    +
    +
    ALTER TABLE my_internal_table
    +SET TBLPROPERTIES('kudu.table_name' = 'new_name')
    +
    +
    +
    +
    Remapping an external table to a different Kudu table
    +

    If another application has renamed a Kudu table under Impala, it is possible to +re-map an external table to point to a different Kudu table name.

    +
    +
    +
    +
    ALTER TABLE my_external_table_
    +SET TBLPROPERTIES('kudu.table_name' = 'some_other_kudu_table')
    +
    +
    +
    +
    Change the Kudu Master Address
    +
    +
    ALTER TABLE my_table
    +SET TBLPROPERTIES('kudu.master_addresses' = 'kudu-new-master.example.com:7051');
    +
    +
    +
    +
    Change an Internally-Managed Table to External
    +
    +
    ALTER TABLE my_table SET TBLPROPERTIES('EXTERNAL' = 'TRUE');
    +
    +
    +
    + + + + + +
    + + +When the Hive Metastore integration is enabled, changing the table +type is disallowed to avoid potentially introducing inconsistency between the +Kudu and HMS catalogs. +
    +
    +
    +
    +

    Dropping a Kudu Table Using Impala

    +
    +

    If the table was created as an internal table in Impala, using CREATE TABLE, the +standard DROP TABLE syntax drops the underlying Kudu table and all its data. If +the table was created as an external table, using CREATE EXTERNAL TABLE, the mapping +between Impala and Kudu is dropped, but the Kudu table is left intact, with all its +data.

    +
    +
    +
    +
    DROP TABLE my_first_table;
    +
    +
    +
    +
    +
    +
    +

    What’s Next?

    +
    +
    +

    The examples above have only explored a fraction of what you can do with Impala Shell.

    +
    +
    + +
    +
    +

    Known Issues and Limitations

    +
    +
      +
    • +

      Kudu tables with a name containing upper case or non-ascii characters must be +assigned an alternate name when used as an external table in Impala.

      +
    • +
    • +

      Kudu tables with a column name containing upper case or non-ascii characters +may not be used as an external table in Impala. Columns may be renamed in Kudu +to work around this issue.

      +
    • +
    • +

      When creating a Kudu table, the CREATE TABLE statement must include the +primary key columns before other columns, in primary key order.

      +
    • +
    • +

      Impala can not create Kudu tables with nested-typed columns.

      +
    • +
    • +

      Impala cannot update values in primary key columns.

      +
    • +
    • +

      != and LIKE predicates are not pushed to Kudu, and +instead will be evaluated by the Impala scan node. This may decrease performance +relative to other types of predicates.

      +
    • +
    • +

      Updates, inserts, and deletes via Impala are non-transactional. If a query +fails part of the way through, its partial effects will not be rolled back.

      +
    • +
    • +

      The maximum parallelism of a single query is limited to the number of tablets +in a table. For good analytic performance, aim for 10 or more tablets per host +for large tables.

      +
    • +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/metrics_reference.html b/releases/1.17.1/docs/metrics_reference.html new file mode 100644 index 0000000000..6685af529b --- /dev/null +++ b/releases/1.17.1/docs/metrics_reference.html @@ -0,0 +1,22006 @@ +--- +title: Apache Kudu Metrics Reference +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    Apache Kudu Metrics Reference

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    kudu-master Metrics

    +
    +
    +

    Warning Metrics

    +
    +

    Metrics tagged as 'warn' are metrics which can often indicate operational oddities +that may need more investigation.

    +
    +
    +

    cluster_replica_skew

    +
    +

    Cluster Replica Skew +  +The difference between the number of replicas on the tablet server hosting the most replicas and the number of replicas on the tablet server hosting the least replicas.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    data_dirs_failed

    +
    +

    Data Directories Failed +  +Number of data directories whose disks are currently in a failed state

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    data_dirs_full

    +
    +

    Data Directories Full +  +Number of data directories whose disks are currently full

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    failed_elections_since_stable_leader

    +
    +

    Failed Elections Since Stable Leader +  +Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    follower_memory_pressure_rejections

    +
    +

    Follower Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while FOLLOWER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_error_messages

    +
    +

    ERROR-level Log Messages +  +Number of ERROR-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_warning_messages

    +
    +

    WARNING-level Log Messages +  +Number of WARNING-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolating

    +
    +

    Hybrid Clock Is Being Extrapolated +  +Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolation_intervals

    +
    +

    Intervals of Hybrid Clock Extrapolation +  +The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    seconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    leader_memory_pressure_rejections

    +
    +

    Leader Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while LEADER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    maintenance_op_prepare_failed

    +
    +

    Number Of Operations With Failed Prepare() +  +Number of times when calling Prepare() on a maintenance operation failed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    operations

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_length

    +
    +

    Operation Apply Queue Length +  +Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tasks

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_overload_rejections

    +
    +

    Number of Rejected Write Requests Due to Queue Overloaded Error +  +Number of rejected write requests due to overloaded op apply queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_time

    +
    +

    Operation Apply Queue Time +  +Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_run_time

    +
    +

    Operation Apply Run Time +  +Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    ops_behind_leader

    +
    +

    Operations Behind Leader +  +Number of operations this server believes it is behind the leader.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    ranger_server_dropped_messages

    +
    +

    Number of messages dropped by the subprocess server +  +Number of responses that the Ranger client had sent, but the subprocess server failed to receive because they were oversized, corrupted, etc.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_queue_overflow

    +
    +

    RPC Queue Overflows +  +Number of RPCs dropped because the service queue was full.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_timed_out_in_queue

    +
    +

    RPC Queue Timeouts +  +Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    scanners_expired

    +
    +

    Scanners Expired +  +Number of scanners that have expired due to inactivity since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    slow_scans

    +
    +

    Slow Scans +  +Number of slow scanners that are defined by --slow_scanner_threshold_ms if --show_slow_scans set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    spinlock_contention_time

    +
    +

    Spinlock Contention Time +  +Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    startup_progress_steps_remaining

    +
    +

    Server Startup Steps Remaining +  +Server startup progress steps remaining

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    sys_catalog_oversized_write_requests

    +
    +

    System Catalog Oversized Write Requests +  +Number of oversized write requests to the system catalog tablet rejected since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    tablets_num_failed

    +
    +

    Number of Failed Tablets +  +Number of failed tablets

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_limit_rejections

    +
    +

    Tablet Op Memory Limit Rejections +  +Number of ops rejected because the tablet’s op memory limit was reached.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_pressure_rejections

    +
    +

    Op Memory Pressure Rejections +  +Number of ops rejected because the tablet’s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +
    +

    Info Metrics

    +
    +

    Metrics tagged as 'info' are generally useful metrics that operators always want +to have available but may not be monitored under normal circumstances.

    +
    +
    +

    active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    average_diskrowset_height

    +
    +

    Average DiskRowSet Height +  +Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_cache_usage

    +
    +

    Block Cache Memory Usage +  +Memory consumed by the block cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_reading

    +
    +

    Data Blocks Open For Read +  +Number of data blocks currently open for reading

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_writing

    +
    +

    Data Blocks Open For Write +  +Number of data blocks currently open for writing

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_error

    +
    +

    Built-in NTP Latest Maximum Time Error +  +Latest maximum time error as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_local_clock_delta

    +
    +

    Local Clock vs Built-In NTP True Time Delta +  +Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    column_count

    +
    +

    Table Column count +  +The column count in the table’s latest schema.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_duration

    +
    +

    RowSet Compaction Duration +  +Time spent compacting RowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage

    +
    +

    Peak Memory Usage for CompactRowSetsOp +  +Peak memory usage of rowset merge compaction operations (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage_to_deltas_size_ratio

    +
    +

    Peak Memory Usage to On-Disk Delta Size Ratio for CompactRowSetsOp +  +Ratio of the peak memory usage to the estimated on-disk size of all deltas for rowsets involved in rowset merge compaction (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_stime

    +
    +

    System CPU Time +  +Total system CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_utime

    +
    +

    User CPU Time +  +Total user CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    data_dirs_space_available_bytes

    +
    +

    Data Directories Space Free +  +Total space available in all the data directories. Set to -1 if reading any of the disks fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_duration

    +
    +

    Deleted Rowset GC Duration +  +Time spent running the maintenance operation to GC deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups_per_op

    +
    +

    Delta File Lookups per Operation +  +Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_duration

    +
    +

    Major Delta Compaction Duration +  +Seconds spent major delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_duration

    +
    +

    Minor Delta Compaction Duration +  +Time spent minor delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    file_cache_usage

    +
    +

    File Cache Usage +  +Number of entries in the file cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_dms_duration

    +
    +

    DeltaMemStore Flush Duration +  +Time spent flushing DeltaMemStores.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_mrs_duration

    +
    +

    MemRowSet Flush Duration +  +Time spent flushing MemRowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_current_allocated_bytes

    +
    +

    Heap Memory Usage +  +Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_heap_size

    +
    +

    Reserved Heap Memory +  +Bytes of system memory reserved by TCMalloc.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_AddMaster

    +
    +

    kudu.master.MasterService.AddMaster RPC Time +  +Microseconds spent handling kudu.master.MasterService.AddMaster RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_AlterTable

    +
    +

    kudu.master.MasterService.AlterTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.AlterTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ChangeTServerState

    +
    +

    kudu.master.MasterService.ChangeTServerState RPC Time +  +Microseconds spent handling kudu.master.MasterService.ChangeTServerState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ConnectToMaster

    +
    +

    kudu.master.MasterService.ConnectToMaster RPC Time +  +Microseconds spent handling kudu.master.MasterService.ConnectToMaster RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_CreateTable

    +
    +

    kudu.master.MasterService.CreateTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.CreateTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_DeleteTable

    +
    +

    kudu.master.MasterService.DeleteTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.DeleteTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetMasterRegistration

    +
    +

    kudu.master.MasterService.GetMasterRegistration RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetMasterRegistration RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTableLocations

    +
    +

    kudu.master.MasterService.GetTableLocations RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTableLocations RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTableSchema

    +
    +

    kudu.master.MasterService.GetTableSchema RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTableSchema RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTableStatistics

    +
    +

    kudu.master.MasterService.GetTableStatistics RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTableStatistics RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_GetTabletLocations

    +
    +

    kudu.master.MasterService.GetTabletLocations RPC Time +  +Microseconds spent handling kudu.master.MasterService.GetTabletLocations RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_IsAlterTableDone

    +
    +

    kudu.master.MasterService.IsAlterTableDone RPC Time +  +Microseconds spent handling kudu.master.MasterService.IsAlterTableDone RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_IsCreateTableDone

    +
    +

    kudu.master.MasterService.IsCreateTableDone RPC Time +  +Microseconds spent handling kudu.master.MasterService.IsCreateTableDone RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ListMasters

    +
    +

    kudu.master.MasterService.ListMasters RPC Time +  +Microseconds spent handling kudu.master.MasterService.ListMasters RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ListTables

    +
    +

    kudu.master.MasterService.ListTables RPC Time +  +Microseconds spent handling kudu.master.MasterService.ListTables RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ListTabletServers

    +
    +

    kudu.master.MasterService.ListTabletServers RPC Time +  +Microseconds spent handling kudu.master.MasterService.ListTabletServers RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_Ping

    +
    +

    kudu.master.MasterService.Ping RPC Time +  +Microseconds spent handling kudu.master.MasterService.Ping RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_RecallDeletedTable

    +
    +

    kudu.master.MasterService.RecallDeletedTable RPC Time +  +Microseconds spent handling kudu.master.MasterService.RecallDeletedTable RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_RefreshAuthzCache

    +
    +

    kudu.master.MasterService.RefreshAuthzCache RPC Time +  +Microseconds spent handling kudu.master.MasterService.RefreshAuthzCache RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_RemoveMaster

    +
    +

    kudu.master.MasterService.RemoveMaster RPC Time +  +Microseconds spent handling kudu.master.MasterService.RemoveMaster RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_ReplaceTablet

    +
    +

    kudu.master.MasterService.ReplaceTablet RPC Time +  +Microseconds spent handling kudu.master.MasterService.ReplaceTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_TSHeartbeat

    +
    +

    kudu.master.MasterService.TSHeartbeat RPC Time +  +Microseconds spent handling kudu.master.MasterService.TSHeartbeat RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_master_MasterService_UnregisterTServer

    +
    +

    kudu.master.MasterService.UnregisterTServer RPC Time +  +Microseconds spent handling kudu.master.MasterService.UnregisterTServer RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Time +  +Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Time +  +Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Time +  +Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Time +  +Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_AbortTransaction

    +
    +

    kudu.transactions.TxnManagerService.AbortTransaction RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.AbortTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_BeginTransaction

    +
    +

    kudu.transactions.TxnManagerService.BeginTransaction RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.BeginTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_CommitTransaction

    +
    +

    kudu.transactions.TxnManagerService.CommitTransaction RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.CommitTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_GetTransactionState

    +
    +

    kudu.transactions.TxnManagerService.GetTransactionState RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.GetTransactionState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_transactions_TxnManagerService_KeepTransactionAlive

    +
    +

    kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Time +  +Microseconds spent handling kudu.transactions.TxnManagerService.KeepTransactionAlive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_error

    +
    +

    Hybrid Clock Error +  +Server clock maximum error; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_timestamp

    +
    +

    Hybrid Clock Timestamp +  +Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    involuntary_context_switches

    +
    +

    Involuntary Context Switches +  +Total involuntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    live_row_count

    +
    +

    Table Live Row count +  +Pre-replication aggregated number of live rows in this table. Only accurate if all tablets in the table support live row counting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    rows

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    live_row_count

    +
    +

    Tablet Live Row Count +  +Number of live rows in this tablet, excludes deleted rows.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_append_latency

    +
    +

    Log Append Latency +  +Microseconds spent on appending to the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_blocks_under_management

    +
    +

    Blocks Under Management +  +Number of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_bytes_under_management

    +
    +

    Bytes Under Management +  +Number of bytes of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers

    +
    +

    Number of Block Containers +  +Number of log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_full_containers

    +
    +

    Number of Full Block Containers +  +Number of full log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_processed_containers_startup

    +
    +

    Number of Log Block Containers opened during startup +  +Number of log block containers which were opened/processed during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_total_containers_startup

    +
    +

    Total number of Log Block Containers during startup +  +Number of log block containers which were present during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_duration

    +
    +

    Log GC Duration +  +Time spent garbage collecting the logs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_running

    +
    +

    Log GCs Running +  +Number of log GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_reader_read_batch_latency

    +
    +

    Log Read Latency +  +Microseconds spent reading log entry batches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_sync_latency

    +
    +

    Log Sync Latency +  +Microseconds spent on synchronizing the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    logical_clock_timestamp

    +
    +

    Logical Clock Timestamp +  +Logical clock timestamp.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    maintenance_op_find_best_candidate_duration

    +
    +

    Time Taken To Find Best Maintenance Operation +  +Time spent choosing a maintenance operation with highest scores among available candidates

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memory_usage

    +
    +

    Current Memory Usage +  +Current memory usage of the server process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memrowset_size

    +
    +

    MemRowSet Memory Usage +  +Size of this tablet’s memrowset

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_server

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_table

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_tablet

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_raft_leaders

    +
    +

    Number of Raft Leaders +  +Number of tablet replicas that are Raft leaders

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_rowsets_on_disk

    +
    +

    Tablet Number of Rowsets on Disk +  +Number of diskrowsets in this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_data_size

    +
    +

    Tablet Data Size On Disk +  +Space used by this tablet’s data blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_size

    +
    +

    Table Size On Disk +  +Pre-replication aggregated disk space used by all tablets in this table, including metadata.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_size

    +
    +

    Tablet Size On Disk +  +Space used by this tablet on disk, including metadata.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_length

    +
    +

    Operation Prepare Queue Length +  +Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    tasks

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_time

    +
    +

    Operation Prepare Queue Time +  +Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_run_time

    +
    +

    Operation Prepare Run Time +  +Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ops_timed_out_in_prepare_queue

    +
    +

    Number of Requests Timed Out In Prepare Queue +  +Number of WriteRequest RPCs that timed out while their corresponding operations were waiting in the tablet’s prepare queue, and thus were not started but acknowledged with TimedOut error status.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_AddMaster

    +
    +

    kudu.master.MasterService.AddMaster RPC Rejections +  +Number of rejected kudu.master.MasterService.AddMaster requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_AlterTable

    +
    +

    kudu.master.MasterService.AlterTable RPC Rejections +  +Number of rejected kudu.master.MasterService.AlterTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ChangeTServerState

    +
    +

    kudu.master.MasterService.ChangeTServerState RPC Rejections +  +Number of rejected kudu.master.MasterService.ChangeTServerState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ConnectToMaster

    +
    +

    kudu.master.MasterService.ConnectToMaster RPC Rejections +  +Number of rejected kudu.master.MasterService.ConnectToMaster requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_CreateTable

    +
    +

    kudu.master.MasterService.CreateTable RPC Rejections +  +Number of rejected kudu.master.MasterService.CreateTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_DeleteTable

    +
    +

    kudu.master.MasterService.DeleteTable RPC Rejections +  +Number of rejected kudu.master.MasterService.DeleteTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetMasterRegistration

    +
    +

    kudu.master.MasterService.GetMasterRegistration RPC Rejections +  +Number of rejected kudu.master.MasterService.GetMasterRegistration requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTableLocations

    +
    +

    kudu.master.MasterService.GetTableLocations RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTableLocations requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTableSchema

    +
    +

    kudu.master.MasterService.GetTableSchema RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTableSchema requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTableStatistics

    +
    +

    kudu.master.MasterService.GetTableStatistics RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTableStatistics requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_GetTabletLocations

    +
    +

    kudu.master.MasterService.GetTabletLocations RPC Rejections +  +Number of rejected kudu.master.MasterService.GetTabletLocations requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_IsAlterTableDone

    +
    +

    kudu.master.MasterService.IsAlterTableDone RPC Rejections +  +Number of rejected kudu.master.MasterService.IsAlterTableDone requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_IsCreateTableDone

    +
    +

    kudu.master.MasterService.IsCreateTableDone RPC Rejections +  +Number of rejected kudu.master.MasterService.IsCreateTableDone requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ListMasters

    +
    +

    kudu.master.MasterService.ListMasters RPC Rejections +  +Number of rejected kudu.master.MasterService.ListMasters requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ListTables

    +
    +

    kudu.master.MasterService.ListTables RPC Rejections +  +Number of rejected kudu.master.MasterService.ListTables requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ListTabletServers

    +
    +

    kudu.master.MasterService.ListTabletServers RPC Rejections +  +Number of rejected kudu.master.MasterService.ListTabletServers requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_Ping

    +
    +

    kudu.master.MasterService.Ping RPC Rejections +  +Number of rejected kudu.master.MasterService.Ping requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_RecallDeletedTable

    +
    +

    kudu.master.MasterService.RecallDeletedTable RPC Rejections +  +Number of rejected kudu.master.MasterService.RecallDeletedTable requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_RefreshAuthzCache

    +
    +

    kudu.master.MasterService.RefreshAuthzCache RPC Rejections +  +Number of rejected kudu.master.MasterService.RefreshAuthzCache requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_RemoveMaster

    +
    +

    kudu.master.MasterService.RemoveMaster RPC Rejections +  +Number of rejected kudu.master.MasterService.RemoveMaster requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_ReplaceTablet

    +
    +

    kudu.master.MasterService.ReplaceTablet RPC Rejections +  +Number of rejected kudu.master.MasterService.ReplaceTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_TSHeartbeat

    +
    +

    kudu.master.MasterService.TSHeartbeat RPC Rejections +  +Number of rejected kudu.master.MasterService.TSHeartbeat requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_master_MasterService_UnregisterTServer

    +
    +

    kudu.master.MasterService.UnregisterTServer RPC Rejections +  +Number of rejected kudu.master.MasterService.UnregisterTServer requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Rejections +  +Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Rejections +  +Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Rejections +  +Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Rejections +  +Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Rejections +  +Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Rejections +  +Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Rejections +  +Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Rejections +  +Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_AbortTransaction

    +
    +

    kudu.transactions.TxnManagerService.AbortTransaction RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.AbortTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_BeginTransaction

    +
    +

    kudu.transactions.TxnManagerService.BeginTransaction RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.BeginTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_CommitTransaction

    +
    +

    kudu.transactions.TxnManagerService.CommitTransaction RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.CommitTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_GetTransactionState

    +
    +

    kudu.transactions.TxnManagerService.GetTransactionState RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.GetTransactionState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_transactions_TxnManagerService_KeepTransactionAlive

    +
    +

    kudu.transactions.TxnManagerService.KeepTransactionAlive RPC Rejections +  +Number of rejected kudu.transactions.TxnManagerService.KeepTransactionAlive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_inbound_queue_size_bytes

    +
    +

    Ranger server inbound queue size (bytes) +  +Number of bytes in the inbound response queue of the Ranger server, recorded at the time a new response is read from the pipe and added to the inbound queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_inbound_queue_time_ms

    +
    +

    Ranger server inbound queue time (ms) +  +Duration of time in ms spent in the Ranger server’s inbound response queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_outbound_queue_size_bytes

    +
    +

    Ranger server outbound queue size (bytes) +  +Number of bytes in the outbound request queue of the Ranger server, recorded at the time a new request is added to the outbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_server_outbound_queue_time_ms

    +
    +

    Ranger server outbound queue time (ms) +  +Duration of time in ms spent in the Ranger server’s outbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_execution_time_ms

    +
    +

    Ranger subprocess execution time (ms) +  +Duration of time in ms spent executing the Ranger subprocess request, excluding time spent spent in the subprocess queues

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_inbound_queue_length

    +
    +

    Ranger subprocess inbound queue length +  +Number of request messages in the Ranger subprocess' inbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_inbound_queue_time_ms

    +
    +

    Ranger subprocess inbound queue time (ms) +  +Duration of time in ms spent in the Ranger subprocess' inbound request queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_outbound_queue_length

    +
    +

    Ranger subprocess outbound queue length +  +Number of request messages in the Ranger subprocess' outbound response queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ranger_subprocess_outbound_queue_time_ms

    +
    +

    Ranger subprocess outbound queue time (ms) +  +Duration of time in ms spent in the Ranger subprocess' outbound response queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_active_latency_us

    +
    +

    Reactor Thread Active Latency +  +Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_load_percent

    +
    +

    Reactor Thread Load Percentage +  +The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_deleted

    +
    +

    Rows Deleted +  +Number of row delete operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_inserted

    +
    +

    Rows Inserted +  +Number of rows inserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_updated

    +
    +

    Rows Updated +  +Number of row update operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_upserted

    +
    +

    Rows Upserted +  +Number of rows upserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted

    +
    +

    RPC Connections Accepted +  +Number of incoming TCP connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted_unix_domain_socket

    +
    +

    RPC Connections Accepted via UNIX Domain Socket +  +Number of incoming UNIX Domain Socket connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_incoming_queue_time

    +
    +

    RPC Queue Time +  +Number of microseconds incoming RPC requests spend in the worker queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_duration

    +
    +

    Scanner Duration +  +Histogram of the duration of active scanners on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_predicates_disabled

    +
    +

    Scanner Column Predicates Disabled +  +Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    schema_version

    +
    +

    Table Schema Version +  +The table’s schema version.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    table

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    startup_progress_time_elapsed

    +
    +

    Server Startup Progress Time Elapsed +  +Time taken by the server to complete the startup ortime elapsed so far for the server to startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    state

    +
    +

    Tablet State +  +State of this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    state

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_client_sessions

    +
    +

    Open Table Copy Client Sessions +  +Number of currently open tablet copy client sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_source_sessions

    +
    +

    Open Table Copy Source Sessions +  +Number of currently open tablet copy source sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_bootstrapping

    +
    +

    Number of Bootstrapping Tablets +  +Number of tablets currently bootstrapping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_initialized

    +
    +

    Number of Initialized Tablets +  +Number of tablets currently initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_not_initialized

    +
    +

    Number of Not Initialized Tablets +  +Number of tablets currently not initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_opened_startup

    +
    +

    Number of Tablets Opened During Startup +  +Number of tablets opened during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_running

    +
    +

    Number of Running Tablets +  +Number of tablets currently running

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_shutdown

    +
    +

    Number of Shut Down Tablets +  +Number of tablets currently shut down

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopped

    +
    +

    Number of Stopped Tablets +  +Number of tablets currently stopped

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopping

    +
    +

    Number of Stopping Tablets +  +Number of tablets currently stopping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_total_startup

    +
    +

    Number of Tablets Present During Startup +  +Number of tablets present during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_current_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Usage +  +A measure of some of the memory TCMalloc is using (for small objects).

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_max_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Limit +  +A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for — in some situations — improved efficiency.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_free_bytes

    +
    +

    Free Heap Memory +  +Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_unmapped_bytes

    +
    +

    Unmapped Heap Memory +  +Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    threads_running

    +
    +

    Threads Running +  +Current number of running threads

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_delete_duration

    +
    +

    Undo Delta Block GC Delete Duration +  +Time spent deleting ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_init_duration

    +
    +

    Undo Delta Block GC Init Duration +  +Time spent initializing ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_perform_duration

    +
    +

    Undo Delta Block GC Perform Duration +  +Time spent running the maintenance operation to GC ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    upserts_as_updates

    +
    +

    Upserts converted into updates +  +Number of upserts which were applied as updates because the key already existed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    uptime

    +
    +

    Server Uptime +  +Time interval since the server has started

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    voluntary_context_switches

    +
    +

    Voluntary Context Switches +  +Total voluntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    wal_dir_space_available_bytes

    +
    +

    WAL Directory Space Free +  +Total WAL directory space available. Set to -1 if reading the disk fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +
    +

    Debug Metrics

    +
    +

    Metrics tagged as 'debug' are diagnostically helpful but generally not monitored +during normal operation.

    +
    +
    +

    all_transactions_inflight

    +
    +

    Ops In Flight +  +Number of ops currently in-flight, including any type.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    alter_schema_transactions_inflight

    +
    +

    Alter Schema Ops In Flight +  +Number of alter schema ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_evictions

    +
    +

    Block Cache Evictions +  +Number of blocks evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits

    +
    +

    Block Cache Hits +  +Number of lookups that found a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits_caching

    +
    +

    Block Cache Hits (Caching) +  +Number of lookups that were expecting a block that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_inserts

    +
    +

    Block Cache Inserts +  +Number of blocks inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_lookups

    +
    +

    Block Cache Lookups +  +Number of blocks looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses

    +
    +

    Block Cache Misses +  +Number of lookups that didn’t yield a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses_caching

    +
    +

    Block Cache Misses (Caching) +  +Number of lookups that were expecting a block that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_created

    +
    +

    Data Blocks Created +  +Number of data blocks that were created since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_deleted

    +
    +

    Data Blocks Deleted +  +Number of data blocks that were deleted since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_read

    +
    +

    Block Data Bytes Read +  +Number of bytes of block data read since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_written

    +
    +

    Block Data Bytes Written +  +Number of bytes of block data written since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_disk_sync

    +
    +

    Block Data Disk Synchronization Count +  +Number of disk synchronizations of block data since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_readable_blocks

    +
    +

    Data Blocks Opened For Read +  +Number of data blocks opened for reading since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_writable_blocks

    +
    +

    Data Blocks Opened For Write +  +Number of data blocks opened for writing since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups

    +
    +

    Bloom Filter Lookups +  +Number of times a bloom filter was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups_per_op

    +
    +

    Bloom Lookups per Operation +  +Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_max_errors

    +
    +

    Built-In NTP Maximum Time Errors +  +Statistics on the maximum true time error computed by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_time

    +
    +

    Built-in NTP Time +  +Latest true time as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bytes_flushed

    +
    +

    Bytes Flushed +  +Amount of data that has been flushed to disk by this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    clock_ntp_status

    +
    +

    Clock NTP Status String +  +Output of ntp_adjtime()/ntp_gettime() kernel API call

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_hits

    +
    +

    Codegen Cache Hits +  +Number of codegen cache hits since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    hits

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_queries

    +
    +

    Codegen Cache Queries +  +Number of codegen cache queries (hits + misses) since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    queries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    commit_wait_duration

    +
    +

    Commit-Wait Duration +  +Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    compact_rs_running

    +
    +

    RowSet Compactions Running +  +Number of RowSet compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delete_ignore_errors

    +
    +

    Delete Ignore Errors +  +Number of delete ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Deleted Rowsets +  +Estimated bytes of deletable data in deleted rowsets for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_bytes_deleted

    +
    +

    Deleted Rowsets GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_running

    +
    +

    Deleted Rowset GC Running +  +Number of deleted rowset GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups

    +
    +

    Delta File Lookups +  +Number of times a delta file was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_running

    +
    +

    Major Delta Compactions Running +  +Number of delta major compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_running

    +
    +

    Minor Delta Compactions Running +  +Number of delta minor compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_evictions

    +
    +

    File Cache Evictions +  +Number of file descriptors evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits

    +
    +

    File Cache Hits +  +Number of lookups that found a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits_caching

    +
    +

    File Cache Hits (Caching) +  +Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_inserts

    +
    +

    File Cache Inserts +  +Number of file descriptors inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_lookups

    +
    +

    File Cache Lookups +  +Number of file descriptors looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses

    +
    +

    File Cache Misses +  +Number of lookups that didn’t yield a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses_caching

    +
    +

    File Cache Misses (Caching) +  +Number of lookups that were expecting a file descriptor that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_dms_running

    +
    +

    DeltaMemStore Flushes Running +  +Number of delta memstore flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_mrs_running

    +
    +

    MemRowSet Flushes Running +  +Number of MemRowSet flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    glog_info_messages

    +
    +

    INFO-level Log Messages +  +Number of INFO-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_max_errors

    +
    +

    Hybrid Clock Maximum Errors +  +The statistics on the maximum error of the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    in_progress_ops

    +
    +

    Operations in Progress +  +Number of operations in the peer’s queue ack’d by a minority of peers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insert_ignore_errors

    +
    +

    Insert Ignore Errors +  +Number of insert ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insertions_failed_dup_key

    +
    +

    Duplicate Key Inserts +  +Number of inserts which failed because the key already existed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups

    +
    +

    Key File Lookups +  +Number of times a key cfile was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups_per_op

    +
    +

    Key Lookups per Operation +  +Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_read_elapsed_time

    +
    +

    Seconds Since Last Read +  +The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been read since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_write_elapsed_time

    +
    +

    Seconds Since Last Write +  +The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been written to since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    location_mapping_cache_hits

    +
    +

    Location Mapping Cache Hits +  +Number of times location mapping assignment used cached data

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    hits

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    location_mapping_cache_queries

    +
    +

    Location Mapping Cache Queries +  +Number of queries to the location mapping cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    queries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers_processing_time_startup

    +
    +

    Time taken to open all log block containers during server startup +  +The total time taken by the server to open all the containerfiles during the startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_dead_containers_deleted

    +
    +

    Number of Dead Block Containers Deleted +  +Number of full (but dead) block containers that were deleted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_holes_punched

    +
    +

    Number of Holes Punched +  +Number of holes punched since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    holes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_bytes_logged

    +
    +

    Bytes Written to WAL +  +Number of bytes logged since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_num_ops

    +
    +

    Log Cache Operation Count +  +Number of operations in the log cache.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_size

    +
    +

    Log Cache Memory Usage +  +Amount of memory in use for caching the local log.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_entry_batches_per_group

    +
    +

    Log Group Commit Batch Size +  +Number of log entry batches in a group commit group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_group_commit_latency

    +
    +

    Log Group Commit Latency +  +Microseconds spent on committing an entire group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_bytes_read

    +
    +

    Bytes Read From Log +  +Data read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_entries_read

    +
    +

    Entries Read From Log +  +Number of entries read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_roll_latency

    +
    +

    Log Roll Latency +  +Microseconds spent on rolling over to a new log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    majority_done_ops

    +
    +

    Leader Operations Acked by Majority +  +Number of operations in the leader queue ack’d by a majority but not all peers. This metric is always zero for followers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    mrs_lookups

    +
    +

    MemRowSet Lookups +  +Number of times a MemRowSet was consulted.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    raft_term

    +
    +

    Current Raft Consensus Term +  +Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_returned

    +
    +

    Scanner Bytes Returned +  +Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_scanned_from_disk

    +
    +

    Scanner Bytes Scanned From Disk +  +Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_returned

    +
    +

    Scanner Cells Returned +  +Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_scanned_from_disk

    +
    +

    Scanner Cells Scanned From Disk +  +Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_returned

    +
    +

    Scanner Rows Returned +  +Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_scanned

    +
    +

    Scanner Rows Scanned +  +Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scans_started

    +
    +

    Scans Started +  +Number of scanners which have been started on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scheduling_priority

    +
    +

    Scheduling Priority +  +The scheduling priority of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    snapshot_read_inflight_wait_duration

    +
    +

    Time Waiting For Snapshot Reads +  +Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_evictions

    +
    +

    Table Locations Cache Evictions +  +Number of entries evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_hits

    +
    +

    Table Locations Cache Hits +  +Number of lookups that found a cached entry

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_inserts

    +
    +

    Table Locations Cache Inserts +  +Number of entries inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_lookups

    +
    +

    Table Locations Cache Lookups +  +Number of entries looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_memory_usage

    +
    +

    Table Locations Cache Memory Usage +  +Memory consumed by the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    table_locations_cache_misses

    +
    +

    Table Locations Cache Misses +  +Number of lookups that didn’t find a cached entry

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_fetched

    +
    +

    Bytes Fetched By Tablet Copy +  +Number of bytes fetched during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_sent

    +
    +

    Bytes Sent For Tablet Copy +  +Number of bytes sent during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablets_opening_time_startup

    +
    +

    Time Taken to Start the Tablets During Startup +  +Time taken to start the tablets during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    threads_started

    +
    +

    Threads Started +  +Total number of threads started on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    time_since_last_leader_heartbeat

    +
    +

    Time Since Last Leader Heartbeat +  +The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Undo Delta Blocks +  +Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_bytes_deleted

    +
    +

    Undo Delta Block GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_running

    +
    +

    Undo Delta Block GC Running +  +Number of UNDO delta block GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    update_ignore_errors

    +
    +

    Update Ignore Errors +  +Number of update ignore operations for this tablet which were ignored due to an error since service start. Note that when ignoring to update the immutable cells, the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_updated will be counted too if update successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    upsert_ignore_errors

    +
    +

    Upsert Ignore Errors +  +Number of upsert ignore operations for this tablet which were ignored due to an error since service start. This metric counts the number of attempts to update a present row by changing the value of any of its immutable cells. Note that the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_upserted will be counted too if upsert successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_client_propagated_consistency

    +
    +

    Write Op Duration with Propagated Consistency +  +Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_commit_wait_consistency

    +
    +

    Write Op Duration with Commit-Wait Consistency +  +Duration of writes to this tablet with external consistency set to COMMIT_WAIT.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_transactions_inflight

    +
    +

    Write Ops In Flight +  +Number of write ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +
    +
    +
    +
    +

    kudu-tserver Metrics

    +
    +
    +

    Warning Metrics

    +
    +

    Metrics tagged as 'warn' are metrics which can often indicate operational oddities +that may need more investigation.

    +
    +
    +

    data_dirs_failed

    +
    +

    Data Directories Failed +  +Number of data directories whose disks are currently in a failed state

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    data_dirs_full

    +
    +

    Data Directories Full +  +Number of data directories whose disks are currently full

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    data directories

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    failed_elections_since_stable_leader

    +
    +

    Failed Elections Since Stable Leader +  +Number of failed elections on this node since there was a stable leader. This number increments on each failed election and resets on each successful one.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    follower_memory_pressure_rejections

    +
    +

    Follower Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while FOLLOWER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_error_messages

    +
    +

    ERROR-level Log Messages +  +Number of ERROR-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    glog_warning_messages

    +
    +

    WARNING-level Log Messages +  +Number of WARNING-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolating

    +
    +

    Hybrid Clock Is Being Extrapolated +  +Whether HybridClock timestamps are extrapolated because of inability to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_extrapolation_intervals

    +
    +

    Intervals of Hybrid Clock Extrapolation +  +The statistics on the duration of intervals when the underlying clock was extrapolated instead of using the direct readings

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    seconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    leader_memory_pressure_rejections

    +
    +

    Leader Memory Pressure Rejections +  +Number of RPC requests rejected due to memory pressure while LEADER.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    maintenance_op_prepare_failed

    +
    +

    Number Of Operations With Failed Prepare() +  +Number of times when calling Prepare() on a maintenance operation failed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    operations

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_length

    +
    +

    Operation Apply Queue Length +  +Number of operations waiting to be applied to the tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tasks

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_overload_rejections

    +
    +

    Number of Rejected Write Requests Due to Queue Overloaded Error +  +Number of rejected write requests due to overloaded op apply queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_queue_time

    +
    +

    Operation Apply Queue Time +  +Time that operations spent waiting in the apply queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    op_apply_run_time

    +
    +

    Operation Apply Run Time +  +Time that operations spent being applied to the tablet. High values may indicate that the server is under-provisioned or that operations consist of very large batches.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    ops_behind_leader

    +
    +

    Operations Behind Leader +  +Number of operations this server believes it is behind the leader.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_queue_overflow

    +
    +

    RPC Queue Overflows +  +Number of RPCs dropped because the service queue was full.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    rpcs_timed_out_in_queue

    +
    +

    RPC Queue Timeouts +  +Number of RPCs whose timeout elapsed while waiting in the service queue, and thus were not processed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    scanners_expired

    +
    +

    Scanners Expired +  +Number of scanners that have expired due to inactivity since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    slow_scans

    +
    +

    Slow Scans +  +Number of slow scanners that are defined by --slow_scanner_threshold_ms if --show_slow_scans set to 'true'.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    spinlock_contention_time

    +
    +

    Spinlock Contention Time +  +Amount of time consumed by contention on internal spinlocks since the server started. If this increases rapidly, it may indicate a performance issue in Kudu internals triggered by a particular workload and warrant investigation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    startup_progress_steps_remaining

    +
    +

    Server Startup Steps Remaining +  +Server startup progress steps remaining

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    tablets_num_failed

    +
    +

    Number of Failed Tablets +  +Number of failed tablets

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_limit_rejections

    +
    +

    Tablet Op Memory Limit Rejections +  +Number of ops rejected because the tablet’s op memory limit was reached.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +

    transaction_memory_pressure_rejections

    +
    +

    Op Memory Pressure Rejections +  +Number of ops rejected because the tablet’s opmemory usage exceeds the op memory limit or the limitof an ancestral tracker.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    counter

    Level

    warn

    +
    +

     

    +
    +
    +
    +
    +

    Info Metrics

    +
    +

    Metrics tagged as 'info' are generally useful metrics that operators always want +to have available but may not be monitored under normal circumstances.

    +
    +
    +

    active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    scanners

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    average_diskrowset_height

    +
    +

    Average DiskRowSet Height +  +Average height of the diskrowsets in this tablet replica. The larger the average height, the more uncompacted the tablet replica is.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_cache_usage

    +
    +

    Block Cache Memory Usage +  +Memory consumed by the block cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_reading

    +
    +

    Data Blocks Open For Read +  +Number of data blocks currently open for reading

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    block_manager_blocks_open_writing

    +
    +

    Data Blocks Open For Write +  +Number of data blocks currently open for writing

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_error

    +
    +

    Built-in NTP Latest Maximum Time Error +  +Latest maximum time error as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_local_clock_delta

    +
    +

    Local Clock vs Built-In NTP True Time Delta +  +Delta between local clock and true time tracked by built-in NTP client; set to 2^63-1 when true time is not tracked

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_duration

    +
    +

    RowSet Compaction Duration +  +Time spent compacting RowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage

    +
    +

    Peak Memory Usage for CompactRowSetsOp +  +Peak memory usage of rowset merge compaction operations (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    compact_rs_mem_usage_to_deltas_size_ratio

    +
    +

    Peak Memory Usage to On-Disk Delta Size Ratio for CompactRowSetsOp +  +Ratio of the peak memory usage to the estimated on-disk size of all deltas for rowsets involved in rowset merge compaction (CompactRowSetsOp)

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_stime

    +
    +

    System CPU Time +  +Total system CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    cpu_utime

    +
    +

    User CPU Time +  +Total user CPU time of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    data_dirs_space_available_bytes

    +
    +

    Data Directories Space Free +  +Total space available in all the data directories. Set to -1 if reading any of the disks fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_duration

    +
    +

    Deleted Rowset GC Duration +  +Time spent running the maintenance operation to GC deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups_per_op

    +
    +

    Delta File Lookups per Operation +  +Tracks the number of delta file lookups performed by each operation. A single operation may perform several delta file lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_duration

    +
    +

    Major Delta Compaction Duration +  +Seconds spent major delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_duration

    +
    +

    Minor Delta Compaction Duration +  +Time spent minor delta compacting.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    file_cache_usage

    +
    +

    File Cache Usage +  +Number of entries in the file cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_dms_duration

    +
    +

    DeltaMemStore Flush Duration +  +Time spent flushing DeltaMemStores.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    flush_mrs_duration

    +
    +

    MemRowSet Flush Duration +  +Time spent flushing MemRowSets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_current_allocated_bytes

    +
    +

    Heap Memory Usage +  +Number of bytes used by the application. This will not typically match the memory use reported by the OS, because it does not include TCMalloc overhead or memory fragmentation.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    generic_heap_size

    +
    +

    Reserved Heap Memory +  +Bytes of system memory reserved by TCMalloc.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.BulkChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.ChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetConsensusState RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetLastOpId RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.GetNodeInstance RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.LeaderStepDown RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RequestConsensusVote RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.RunLeaderElection RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.StartTabletCopy RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UnsafeChangeConfig RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Time +  +Microseconds spent handling kudu.consensus.ConsensusService.UpdateConsensus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Time +  +Microseconds spent handling kudu.server.GenericService.CheckLeaks RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Time +  +Microseconds spent handling kudu.server.GenericService.DumpMemTrackers RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Time +  +Microseconds spent handling kudu.server.GenericService.FlushCoverage RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetFlags RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Time +  +Microseconds spent handling kudu.server.GenericService.GetStatus RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Time +  +Microseconds spent handling kudu.server.GenericService.ServerClock RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetFlag RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Time +  +Microseconds spent handling kudu.server.GenericService.SetServerWallClockForTests RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.BeginTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.CheckSessionActive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.EndTabletCopySession RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Time +  +Microseconds spent handling kudu.tserver.TabletCopyService.FetchData RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.AlterSchema RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.CreateTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.DeleteTablet RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerAdminService.Quiesce RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Checksum RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ListTablets RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Ping RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Scan RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.ScannerKeepAlive RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.SplitKeyRange RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    handler_latency_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Time +  +Microseconds spent handling kudu.tserver.TabletServerService.Write RPC requests

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_error

    +
    +

    Hybrid Clock Error +  +Server clock maximum error; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_timestamp

    +
    +

    Hybrid Clock Timestamp +  +Hybrid clock timestamp; returns 2^64-1 when unable to read the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    involuntary_context_switches

    +
    +

    Involuntary Context Switches +  +Total involuntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    live_row_count

    +
    +

    Tablet Live Row Count +  +Number of live rows in this tablet, excludes deleted rows.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_append_latency

    +
    +

    Log Append Latency +  +Microseconds spent on appending to the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_blocks_under_management

    +
    +

    Blocks Under Management +  +Number of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_bytes_under_management

    +
    +

    Bytes Under Management +  +Number of bytes of data blocks currently under management

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers

    +
    +

    Number of Block Containers +  +Number of log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_full_containers

    +
    +

    Number of Full Block Containers +  +Number of full log block containers

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_processed_containers_startup

    +
    +

    Number of Log Block Containers opened during startup +  +Number of log block containers which were opened/processed during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_block_manager_total_containers_startup

    +
    +

    Total number of Log Block Containers during startup +  +Number of log block containers which were present during the server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_duration

    +
    +

    Log GC Duration +  +Time spent garbage collecting the logs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_gc_running

    +
    +

    Log GCs Running +  +Number of log GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_reader_read_batch_latency

    +
    +

    Log Read Latency +  +Microseconds spent reading log entry batches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    log_sync_latency

    +
    +

    Log Sync Latency +  +Microseconds spent on synchronizing the log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    logical_clock_timestamp

    +
    +

    Logical Clock Timestamp +  +Logical clock timestamp.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    maintenance_op_find_best_candidate_duration

    +
    +

    Time Taken To Find Best Maintenance Operation +  +Time spent choosing a maintenance operation with highest scores among available candidates

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memory_usage

    +
    +

    Current Memory Usage +  +Current memory usage of the server process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    memrowset_size

    +
    +

    MemRowSet Memory Usage +  +Size of this tablet’s memrowset

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_server

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    merged_entities_count_of_tablet

    +
    +

    Entities Count Merged From +  +Count of entities merged together when entities are merged by common attribute value.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_raft_leaders

    +
    +

    Number of Raft Leaders +  +Number of tablet replicas that are Raft leaders

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    num_rowsets_on_disk

    +
    +

    Tablet Number of Rowsets on Disk +  +Number of diskrowsets in this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_data_size

    +
    +

    Tablet Data Size On Disk +  +Space used by this tablet’s data blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    on_disk_size

    +
    +

    Tablet Size On Disk +  +Space used by this tablet on disk, including metadata.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_length

    +
    +

    Operation Prepare Queue Length +  +Number of operations waiting to be prepared within this tablet. High queue lengths indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    tasks

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_queue_time

    +
    +

    Operation Prepare Queue Time +  +Time that operations spent waiting in the prepare queue before being processed. High queue times indicate that the server is unable to process operations as fast as they are being written to the WAL.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    op_prepare_run_time

    +
    +

    Operation Prepare Run Time +  +Time that operations spent being prepared in the tablet. High values may indicate that the server is under-provisioned or that operations are experiencing high contention with one another for locks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    ops_timed_out_in_prepare_queue

    +
    +

    Number of Requests Timed Out In Prepare Queue +  +Number of WriteRequest RPCs that timed out while their corresponding operations were waiting in the tablet’s prepare queue, and thus were not started but acknowledged with TimedOut error status.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_BulkChangeConfig

    +
    +

    kudu.consensus.ConsensusService.BulkChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.BulkChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_ChangeConfig

    +
    +

    kudu.consensus.ConsensusService.ChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.ChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetConsensusState

    +
    +

    kudu.consensus.ConsensusService.GetConsensusState RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetConsensusState requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetLastOpId

    +
    +

    kudu.consensus.ConsensusService.GetLastOpId RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetLastOpId requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_GetNodeInstance

    +
    +

    kudu.consensus.ConsensusService.GetNodeInstance RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.GetNodeInstance requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_LeaderStepDown

    +
    +

    kudu.consensus.ConsensusService.LeaderStepDown RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.LeaderStepDown requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RequestConsensusVote

    +
    +

    kudu.consensus.ConsensusService.RequestConsensusVote RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RequestConsensusVote requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_RunLeaderElection

    +
    +

    kudu.consensus.ConsensusService.RunLeaderElection RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.RunLeaderElection requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_StartTabletCopy

    +
    +

    kudu.consensus.ConsensusService.StartTabletCopy RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.StartTabletCopy requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UnsafeChangeConfig

    +
    +

    kudu.consensus.ConsensusService.UnsafeChangeConfig RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UnsafeChangeConfig requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_consensus_ConsensusService_UpdateConsensus

    +
    +

    kudu.consensus.ConsensusService.UpdateConsensus RPC Rejections +  +Number of rejected kudu.consensus.ConsensusService.UpdateConsensus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_CheckLeaks

    +
    +

    kudu.server.GenericService.CheckLeaks RPC Rejections +  +Number of rejected kudu.server.GenericService.CheckLeaks requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_DumpMemTrackers

    +
    +

    kudu.server.GenericService.DumpMemTrackers RPC Rejections +  +Number of rejected kudu.server.GenericService.DumpMemTrackers requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_FlushCoverage

    +
    +

    kudu.server.GenericService.FlushCoverage RPC Rejections +  +Number of rejected kudu.server.GenericService.FlushCoverage requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetFlags

    +
    +

    kudu.server.GenericService.GetFlags RPC Rejections +  +Number of rejected kudu.server.GenericService.GetFlags requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_GetStatus

    +
    +

    kudu.server.GenericService.GetStatus RPC Rejections +  +Number of rejected kudu.server.GenericService.GetStatus requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_ServerClock

    +
    +

    kudu.server.GenericService.ServerClock RPC Rejections +  +Number of rejected kudu.server.GenericService.ServerClock requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetFlag

    +
    +

    kudu.server.GenericService.SetFlag RPC Rejections +  +Number of rejected kudu.server.GenericService.SetFlag requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_server_GenericService_SetServerWallClockForTests

    +
    +

    kudu.server.GenericService.SetServerWallClockForTests RPC Rejections +  +Number of rejected kudu.server.GenericService.SetServerWallClockForTests requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_BeginTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.BeginTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.BeginTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_CheckSessionActive

    +
    +

    kudu.tserver.TabletCopyService.CheckSessionActive RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.CheckSessionActive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_EndTabletCopySession

    +
    +

    kudu.tserver.TabletCopyService.EndTabletCopySession RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.EndTabletCopySession requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletCopyService_FetchData

    +
    +

    kudu.tserver.TabletCopyService.FetchData RPC Rejections +  +Number of rejected kudu.tserver.TabletCopyService.FetchData requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_AlterSchema

    +
    +

    kudu.tserver.TabletServerAdminService.AlterSchema RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.AlterSchema requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CoordinateTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.CoordinateTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CoordinateTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_CreateTablet

    +
    +

    kudu.tserver.TabletServerAdminService.CreateTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.CreateTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_DeleteTablet

    +
    +

    kudu.tserver.TabletServerAdminService.DeleteTablet RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.DeleteTablet requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_ParticipateInTransaction

    +
    +

    kudu.tserver.TabletServerAdminService.ParticipateInTransaction RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.ParticipateInTransaction requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerAdminService_Quiesce

    +
    +

    kudu.tserver.TabletServerAdminService.Quiesce RPC Rejections +  +Number of rejected kudu.tserver.TabletServerAdminService.Quiesce requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Checksum

    +
    +

    kudu.tserver.TabletServerService.Checksum RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Checksum requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ListTablets

    +
    +

    kudu.tserver.TabletServerService.ListTablets RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ListTablets requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Ping

    +
    +

    kudu.tserver.TabletServerService.Ping RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Ping requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Scan

    +
    +

    kudu.tserver.TabletServerService.Scan RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Scan requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_ScannerKeepAlive

    +
    +

    kudu.tserver.TabletServerService.ScannerKeepAlive RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.ScannerKeepAlive requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_SplitKeyRange

    +
    +

    kudu.tserver.TabletServerService.SplitKeyRange RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.SplitKeyRange requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    queue_overflow_rejections_kudu_tserver_TabletServerService_Write

    +
    +

    kudu.tserver.TabletServerService.Write RPC Rejections +  +Number of rejected kudu.tserver.TabletServerService.Write requests due to RPC queue overflow

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    requests

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_active_latency_us

    +
    +

    Reactor Thread Active Latency +  +Histogram of the wall clock time for reactor thread wake-ups. The reactor thread is responsible for all network I/O and therefore outliers in this latency histogram directly contribute to the latency of both inbound and outbound RPCs.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    reactor_load_percent

    +
    +

    Reactor Thread Load Percentage +  +The percentage of time that the reactor is busy (not blocked awaiting network activity). If this metric shows significant samples nears 100%, increasing the number of reactors may be beneficial.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    units

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_deleted

    +
    +

    Rows Deleted +  +Number of row delete operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_inserted

    +
    +

    Rows Inserted +  +Number of rows inserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_updated

    +
    +

    Rows Updated +  +Number of row update operations performed on this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rows_upserted

    +
    +

    Rows Upserted +  +Number of rows upserted into this tablet since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted

    +
    +

    RPC Connections Accepted +  +Number of incoming TCP connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_connections_accepted_unix_domain_socket

    +
    +

    RPC Connections Accepted via UNIX Domain Socket +  +Number of incoming UNIX Domain Socket connections made to the RPC server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    connections

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    rpc_incoming_queue_time

    +
    +

    RPC Queue Time +  +Number of microseconds incoming RPC requests spend in the worker queue

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_duration

    +
    +

    Scanner Duration +  +Histogram of the duration of active scanners on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    scanner_predicates_disabled

    +
    +

    Scanner Column Predicates Disabled +  +Number of column predicates disabled during scan requests. This count measures the number of disableable column predicates like Bloom filter predicate that are automatically disabled if determined to be ineffective.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    startup_progress_time_elapsed

    +
    +

    Server Startup Progress Time Elapsed +  +Time taken by the server to complete the startup ortime elapsed so far for the server to startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    state

    +
    +

    Tablet State +  +State of this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    state

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_client_sessions

    +
    +

    Open Table Copy Client Sessions +  +Number of currently open tablet copy client sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablet_copy_open_source_sessions

    +
    +

    Open Table Copy Source Sessions +  +Number of currently open tablet copy source sessions on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    sessions

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_bootstrapping

    +
    +

    Number of Bootstrapping Tablets +  +Number of tablets currently bootstrapping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_initialized

    +
    +

    Number of Initialized Tablets +  +Number of tablets currently initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_not_initialized

    +
    +

    Number of Not Initialized Tablets +  +Number of tablets currently not initialized

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_opened_startup

    +
    +

    Number of Tablets Opened During Startup +  +Number of tablets opened during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_running

    +
    +

    Number of Running Tablets +  +Number of tablets currently running

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_shutdown

    +
    +

    Number of Shut Down Tablets +  +Number of tablets currently shut down

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopped

    +
    +

    Number of Stopped Tablets +  +Number of tablets currently stopped

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_stopping

    +
    +

    Number of Stopping Tablets +  +Number of tablets currently stopping

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tablets_num_total_startup

    +
    +

    Number of Tablets Present During Startup +  +Number of tablets present during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    tablets

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_current_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Usage +  +A measure of some of the memory TCMalloc is using (for small objects).

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_max_total_thread_cache_bytes

    +
    +

    Thread Cache Memory Limit +  +A limit to how much memory TCMalloc dedicates for small objects. Higher numbers trade off more memory use for — in some situations — improved efficiency.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_free_bytes

    +
    +

    Free Heap Memory +  +Number of bytes in free, mapped pages in page heap. These bytes can be used to fulfill allocation requests. They always count towards virtual memory usage, and unless the underlying memory is swapped out by the OS, they also count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    tcmalloc_pageheap_unmapped_bytes

    +
    +

    Unmapped Heap Memory +  +Number of bytes in free, unmapped pages in page heap. These are bytes that have been released back to the OS, possibly by one of the MallocExtension "Release" calls. They can be used to fulfill allocation requests, but typically incur a page fault. They always count towards virtual memory usage, and depending on the OS, typically do not count towards physical memory usage.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    threads_running

    +
    +

    Threads Running +  +Current number of running threads

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_delete_duration

    +
    +

    Undo Delta Block GC Delete Duration +  +Time spent deleting ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_init_duration

    +
    +

    Undo Delta Block GC Init Duration +  +Time spent initializing ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_perform_duration

    +
    +

    Undo Delta Block GC Perform Duration +  +Time spent running the maintenance operation to GC ancient UNDO delta blocks.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    histogram

    Level

    info

    +
    +

     

    +
    +
    +
    +

    upserts_as_updates

    +
    +

    Upserts converted into updates +  +Number of upserts which were applied as updates because the key already existed.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    uptime

    +
    +

    Server Uptime +  +Time interval since the server has started

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +

    voluntary_context_switches

    +
    +

    Voluntary Context Switches +  +Total voluntary context switches

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    context switches

    Type

    counter

    Level

    info

    +
    +

     

    +
    +
    +
    +

    wal_dir_space_available_bytes

    +
    +

    WAL Directory Space Free +  +Total WAL directory space available. Set to -1 if reading the disk fails

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    gauge

    Level

    info

    +
    +

     

    +
    +
    +
    +
    +

    Debug Metrics

    +
    +

    Metrics tagged as 'debug' are diagnostically helpful but generally not monitored +during normal operation.

    +
    +
    +

    all_transactions_inflight

    +
    +

    Ops In Flight +  +Number of ops currently in-flight, including any type.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    alter_schema_transactions_inflight

    +
    +

    Alter Schema Ops In Flight +  +Number of alter schema ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_evictions

    +
    +

    Block Cache Evictions +  +Number of blocks evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits

    +
    +

    Block Cache Hits +  +Number of lookups that found a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_hits_caching

    +
    +

    Block Cache Hits (Caching) +  +Number of lookups that were expecting a block that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_inserts

    +
    +

    Block Cache Inserts +  +Number of blocks inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_lookups

    +
    +

    Block Cache Lookups +  +Number of blocks looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses

    +
    +

    Block Cache Misses +  +Number of lookups that didn’t yield a block

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_cache_misses_caching

    +
    +

    Block Cache Misses (Caching) +  +Number of lookups that were expecting a block that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_created

    +
    +

    Data Blocks Created +  +Number of data blocks that were created since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_blocks_deleted

    +
    +

    Data Blocks Deleted +  +Number of data blocks that were deleted since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_read

    +
    +

    Block Data Bytes Read +  +Number of bytes of block data read since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_bytes_written

    +
    +

    Block Data Bytes Written +  +Number of bytes of block data written since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_disk_sync

    +
    +

    Block Data Disk Synchronization Count +  +Number of disk synchronizations of block data since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_readable_blocks

    +
    +

    Data Blocks Opened For Read +  +Number of data blocks opened for reading since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    block_manager_total_writable_blocks

    +
    +

    Data Blocks Opened For Write +  +Number of data blocks opened for writing since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    blocks

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups

    +
    +

    Bloom Filter Lookups +  +Number of times a bloom filter was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bloom_lookups_per_op

    +
    +

    Bloom Lookups per Operation +  +Tracks the number of bloom filter lookups performed by each operation. A single operation may perform several bloom filter lookups if the tablet is not fully compacted. High frequency of high values may indicate that compaction is falling behind.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_max_errors

    +
    +

    Built-In NTP Maximum Time Errors +  +Statistics on the maximum true time error computed by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    builtin_ntp_time

    +
    +

    Built-in NTP Time +  +Latest true time as tracked by built-in NTP client

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    bytes_flushed

    +
    +

    Bytes Flushed +  +Amount of data that has been flushed to disk by this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    clock_ntp_status

    +
    +

    Clock NTP Status String +  +Output of ntp_adjtime()/ntp_gettime() kernel API call

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_hits

    +
    +

    Codegen Cache Hits +  +Number of codegen cache hits since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    hits

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    code_cache_queries

    +
    +

    Codegen Cache Queries +  +Number of codegen cache queries (hits + misses) since start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    queries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    commit_wait_duration

    +
    +

    Commit-Wait Duration +  +Time spent waiting for COMMIT_WAIT external consistency writes for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    compact_rs_running

    +
    +

    RowSet Compactions Running +  +Number of RowSet compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delete_ignore_errors

    +
    +

    Delete Ignore Errors +  +Number of delete ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Deleted Rowsets +  +Estimated bytes of deletable data in deleted rowsets for this tablet.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_bytes_deleted

    +
    +

    Deleted Rowsets GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting deleted rowsets.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    deleted_rowset_gc_running

    +
    +

    Deleted Rowset GC Running +  +Number of deleted rowset GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_file_lookups

    +
    +

    Delta File Lookups +  +Number of times a delta file was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_major_compact_rs_running

    +
    +

    Major Delta Compactions Running +  +Number of delta major compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    delta_minor_compact_rs_running

    +
    +

    Minor Delta Compactions Running +  +Number of delta minor compactions currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_evictions

    +
    +

    File Cache Evictions +  +Number of file descriptors evicted from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits

    +
    +

    File Cache Hits +  +Number of lookups that found a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_hits_caching

    +
    +

    File Cache Hits (Caching) +  +Number of lookups that were expecting a file descriptor that found one. Use this number instead of cache_hits when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_inserts

    +
    +

    File Cache Inserts +  +Number of file descriptors inserted in the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_lookups

    +
    +

    File Cache Lookups +  +Number of file descriptors looked up from the cache

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses

    +
    +

    File Cache Misses +  +Number of lookups that didn’t yield a file descriptor

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    file_cache_misses_caching

    +
    +

    File Cache Misses (Caching) +  +Number of lookups that were expecting a file descriptor that didn’t yield one. Use this number instead of cache_misses when trying to determine how efficient the cache is

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_dms_running

    +
    +

    DeltaMemStore Flushes Running +  +Number of delta memstore flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    flush_mrs_running

    +
    +

    MemRowSet Flushes Running +  +Number of MemRowSet flushes currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    glog_info_messages

    +
    +

    INFO-level Log Messages +  +Number of INFO-level log messages emitted by the application.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    messages

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    hybrid_clock_max_errors

    +
    +

    Hybrid Clock Maximum Errors +  +The statistics on the maximum error of the underlying clock

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    in_progress_ops

    +
    +

    Operations in Progress +  +Number of operations in the peer’s queue ack’d by a minority of peers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insert_ignore_errors

    +
    +

    Insert Ignore Errors +  +Number of insert ignore operations for this tablet which were ignored due to an error since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    insertions_failed_dup_key

    +
    +

    Duplicate Key Inserts +  +Number of inserts which failed because the key already existed

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups

    +
    +

    Key File Lookups +  +Number of times a key cfile was consulted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    key_file_lookups_per_op

    +
    +

    Key Lookups per Operation +  +Tracks the number of key file lookups performed by each operation. A single operation may perform several key file lookups if the tablet is not fully compacted and if bloom filters are not effectively culling lookups.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_read_elapsed_time

    +
    +

    Seconds Since Last Read +  +The elapsed time, in seconds, since the last read operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been read since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    last_write_elapsed_time

    +
    +

    Seconds Since Last Write +  +The elapsed time, in seconds, since the last write operation on this tablet, or since this Tablet object was created on current tserver if it hasn’t been written to since then.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    seconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_containers_processing_time_startup

    +
    +

    Time taken to open all log block containers during server startup +  +The total time taken by the server to open all the containerfiles during the startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_dead_containers_deleted

    +
    +

    Number of Dead Block Containers Deleted +  +Number of full (but dead) block containers that were deleted

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    log block containers

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_block_manager_holes_punched

    +
    +

    Number of Holes Punched +  +Number of holes punched since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    holes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_bytes_logged

    +
    +

    Bytes Written to WAL +  +Number of bytes logged since service start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_num_ops

    +
    +

    Log Cache Operation Count +  +Number of operations in the log cache.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_cache_size

    +
    +

    Log Cache Memory Usage +  +Amount of memory in use for caching the local log.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_entry_batches_per_group

    +
    +

    Log Group Commit Batch Size +  +Number of log entry batches in a group commit group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    requests

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_group_commit_latency

    +
    +

    Log Group Commit Latency +  +Microseconds spent on committing an entire group

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_bytes_read

    +
    +

    Bytes Read From Log +  +Data read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_reader_entries_read

    +
    +

    Entries Read From Log +  +Number of entries read from the WAL since tablet start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    entries

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    log_roll_latency

    +
    +

    Log Roll Latency +  +Microseconds spent on rolling over to a new log segment file

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    majority_done_ops

    +
    +

    Leader Operations Acked by Majority +  +Number of operations in the leader queue ack’d by a majority but not all peers. This metric is always zero for followers.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    mrs_lookups

    +
    +

    MemRowSet Lookups +  +Number of times a MemRowSet was consulted.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    probes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    raft_term

    +
    +

    Current Raft Consensus Term +  +Current Term of the Raft Consensus algorithm. This number increments each time a leader election is started.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    units

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_returned

    +
    +

    Scanner Bytes Returned +  +Number of bytes returned by scanners to clients. This count is measured after predicates are applied and the data is decoded for consumption by clients, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_bytes_scanned_from_disk

    +
    +

    Scanner Bytes Scanned From Disk +  +Number of bytes read by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual IO that has been caused by scan operations compared to the Scanner Bytes Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_returned

    +
    +

    Scanner Cells Returned +  +Number of table cells returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_cells_scanned_from_disk

    +
    +

    Scanner Cells Scanned From Disk +  +Number of table cells processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table cells that have been processed by scan operations compared to the Scanner Cells Returned metric. +Note that this only counts data that has been flushed to disk, and does not include data read from in-memory stores. However, itincludes both cache misses and cache hits.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    cells

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_returned

    +
    +

    Scanner Rows Returned +  +Number of rows returned by scanners to clients. This count is measured after predicates are applied, and thus is not a reflection of the amount of work being done by scanners.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scanner_rows_scanned

    +
    +

    Scanner Rows Scanned +  +Number of rows processed by scan requests. This is measured as a raw count prior to application of predicates, deleted data,or MVCC-based filtering. Thus, this is a better measure of actual table rows that have been processed by scan operations compared to the Scanner Rows Returned metric.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scans_started

    +
    +

    Scans Started +  +Number of scanners which have been started on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    scheduling_priority

    +
    +

    Scheduling Priority +  +The scheduling priority of the process

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    state

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    snapshot_read_inflight_wait_duration

    +
    +

    Time Waiting For Snapshot Reads +  +Time spent waiting for in-flight writes to complete for READ_AT_SNAPSHOT scans.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_active_scanners

    +
    +

    Active Scanners +  +Number of scanners that are currently active on this tablet

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    scanners

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_fetched

    +
    +

    Bytes Fetched By Tablet Copy +  +Number of bytes fetched during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablet_copy_bytes_sent

    +
    +

    Bytes Sent For Tablet Copy +  +Number of bytes sent during tablet copy operations since server start

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    tablets_opening_time_startup

    +
    +

    Time Taken to Start the Tablets During Startup +  +Time taken to start the tablets during server startup

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    threads_started

    +
    +

    Threads Started +  +Total number of threads started on this server

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    server

    Unit

    threads

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    time_since_last_leader_heartbeat

    +
    +

    Time Since Last Leader Heartbeat +  +The time elapsed since the last heartbeat from the leader in milliseconds. This metric is identically zero on a leader replica.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    milliseconds

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_estimated_retained_bytes

    +
    +

    Estimated Deletable Bytes Retained in Undo Delta Blocks +  +Estimated bytes of deletable data in undo delta blocks for this tablet. May be an overestimate.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_bytes_deleted

    +
    +

    Undo Delta Block GC Bytes Deleted +  +Number of bytes deleted by garbage-collecting old UNDO delta blocks on this tablet since this server was restarted. Does not include bytes garbage collected during compactions.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    bytes

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    undo_delta_block_gc_running

    +
    +

    Undo Delta Block GC Running +  +Number of UNDO delta block GC operations currently running.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    operations

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    update_ignore_errors

    +
    +

    Update Ignore Errors +  +Number of update ignore operations for this tablet which were ignored due to an error since service start. Note that when ignoring to update the immutable cells, the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_updated will be counted too if update successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    upsert_ignore_errors

    +
    +

    Upsert Ignore Errors +  +Number of upsert ignore operations for this tablet which were ignored due to an error since service start. This metric counts the number of attempts to update a present row by changing the value of any of its immutable cells. Note that the rest of the cells (i.e. the mutable ones) in such case are updated accordingly to the operation’s data,and rows_upserted will be counted too if upsert successfully.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    rows

    Type

    counter

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_client_propagated_consistency

    +
    +

    Write Op Duration with Propagated Consistency +  +Duration of writes to this tablet with external consistency set to CLIENT_PROPAGATED.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_op_duration_commit_wait_consistency

    +
    +

    Write Op Duration with Commit-Wait Consistency +  +Duration of writes to this tablet with external consistency set to COMMIT_WAIT.

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    microseconds

    Type

    histogram

    Level

    debug

    +
    +

     

    +
    +
    +
    +

    write_transactions_inflight

    +
    +

    Write Ops In Flight +  +Number of write ops currently in-flight

    +
    + ++++ + + + + + + + + + + + + + + + + + + +

    Entity Type

    tablet

    Unit

    transactions

    Type

    gauge

    Level

    debug

    +
    +

     

    +
    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/prior_release_notes.html b/releases/1.17.1/docs/prior_release_notes.html new file mode 100644 index 0000000000..053b624b29 --- /dev/null +++ b/releases/1.17.1/docs/prior_release_notes.html @@ -0,0 +1,6601 @@ +--- +title: Apache Kudu Prior Version Release Notes +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:39:22 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Prior Version Release Notes

    +
    +
    +
    +

    This section reproduces the release notes for new features and incompatible +changes in prior releases of Apache Kudu.

    +
    +
    + + + + + +
    + + +The list of known issues and limitations for prior releases are not +reproduced on this page. Please consult the +documentation of the appropriate release +for a list of known issues and limitations. +
    +
    +
    +
    +

    Apache Kudu 1.16.0 Release Notes

    +
    +

    Upgrade Notes

    +
    + +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Python 2.x and Python 3.4 and earlier is deprecated and may be +removed in the next minor release.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Clients can now require authentication and encryption instead of depending on +server-side settings +(KUDU-1921).

      +
    • +
    • +

      Kudu Masters now automatically attempt to add themselves to an existing +cluster if there is a healthy Raft quorum among Kudu Masters.

      +
    • +
    • +

      A new tool kudu master unsafe_rebuild is added to reconstruct the master +catalog from tablet metadata collected from tablet servers. This can be used +in emergencies to restore access to tables when all masters are unavailable.

      +
    • +
    • +

      A new tool kudu table set_replication_factor is added to alter the +replication factor of a table. The tool immediately updates table metadata in +the master, and the master will asynchronously effect the new replication +factor. Progress can be monitored by running ksck.

      +
    • +
    • +

      It’s now possible to require a minimum replication factor for a Kudu table. +This can be achieved by customizing the setting for the newly introduced +--min_num_replicas kudu-master’s flag. For example, setting +--min_num_replicas=3 enforces every newly created table to have at least 3 +replicas for each of its tablets, so there cannot be a data loss when just a +single tablet server in the cluster fails irrecoverably. For the sake of +backward compatibility, --min_num_replicas is set to 1 by default.

      +
    • +
    • +

      It’s now possible to track startup progress on the /startup page on the web +UI. There are also metrics added to track the overall server startup progress +as well as the processing of the log block containers and starting of the +tablets (KUDU-1959).

      +
    • +
    • +

      A new tool kudu table add_column is added to add columns to existing tables +using the CLI +(KUDU-3339).

      +
    • +
    • +

      A new tool kudu tserver unregister is added to remove a dead tablet server +from the cluster without restarting the masters +(KUDU-2915).

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Kudu will now more aggressively fsync consensus-related metadata when metadata +is configured to be on an XFS mount. This may lead to increased contention on +the device that backs metadata, but will prevent corruption in the event of an +outage (KUDU-2195).

      +
    • +
    • +

      A clearer message is logged when the Ranger subprocess crashes, to specify a +problem with the Ranger client.

      +
    • +
    • +

      Two new flags have been introduced for the kudu table scan and kudu perf +table_scan CLI tools: --row_count_only and --report_scanner_stats. With +these new flags, the above mentioned CLI tools allow to issue scan requests +equivalent to running “SELECT COUNT(1) FROM <table_name>” from impala-shell. +These new provisions are useful in detecting and troubleshooting scan +performance issues.

      +
    • +
    • +

      Added replica selection configuration knob for the kudu table scan and kudu +perf table_scan CLI tools: it’s controlled by the --replica_selection flag.

      +
    • +
    • +

      To improve security, the following flags are now marked as sensitive and will +be redacted in the logs and WebUI when the redaction is enabled:

      +
      +
        +
      • +

        --webserver_private_key_file

        +
      • +
      • +

        --webserver_private_key_password_cmd

        +
      • +
      • +

        --webserver_password_file

        +
      • +
      +
      +
    • +
    • +

      The logic to select the effective time source when running with +--time_source=auto has been updated. The builtin time source would be +auto-selected if a Kudu server runs with --time_source=auto in an +environment where the instance detector isn’t aware of dedicated NTP servers +AND the --builtin_ntp_servers flag is set to a valid value. Otherwise, if +--builtin_ntp_servers flag is set to an empty or invalid value, the +effective time source becomes system for platforms supporting the +get_ntptime() API, otherwise the catch-all case selects the system_unsync +as the time effective source.

      +
    • +
    • +

      It is now possible to print or edit PBC files in batch using the kudu pbc +CLI tool, and also to format its JSON input/output as “pretty”.

      +
    • +
    • +

      Client connection timeout is now configurable in the Java client +(KUDU-3240).

      +
    • +
    • +

      A new /healthz endpoint is now available on the kudu-master and tablet-server +embedded web servers for liveness checks +(KUDU-3308).

      +
    • +
    • +

      Hive Metastore URI is now logged to the console when connecting via kudu hms +CLI tool (KUDU-3189).

      +
    • +
    • +

      It is now possible to start up a master when there is an additional master +address present in the master addresses flag +(KUDU-3311).

      +
    • +
    • +

      Table entity is now accessible in KuduWriteOperation in the C++ client, +making understanding errors on the client side easier +(KUDU-2623).

      +
    • +
    • +

      The rebalancer tool now doesn’t move replicas to tablet servers in maintenance +mode (KUDU-3328).

      +
    • +
    • +

      Improved the performance of the run length encoding (RLE).

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Log4J used in Ranger subprocess was upgraded to 2.17.1 which contains patches +go several security vulnerabilities +(CVE-2021-44832, +CVE-2021-45105, +CVE-2021-45046, and +CVE-2021-44228).

      +
    • +
    • +

      Kudu servers previously crashed if hostnames became unresolvable via DNS (e.g. +if the container hosting a server were destroyed). Such errors are now treated +as transient and the lookups are retried periodically. See +KUDU-75, +KUDU-1620, +and KUDU-1885 for more details.

      +
    • +
    • +

      Fixed an issue in Kudu Java client where concurrent flushing of data buffers +could lead to errors reported as 'java.lang.AssertionError: This Deferred was +already called' +(KUDU-3277).

      +
    • +
    • +

      Fixed Kudu RPC negotiation issue when running with cyrus-sasl-gssapi-2.1.27-5 +and newer versions of the RPM package. A failed RPC connection negotiation +attempt would result in an error logged along with the full connection +negotiation trace: Runtime error: SASL(-15): mechanism too weak for this +user: Unable to find a callback: 32775 +(KUDU-3297).

      +
    • +
    • +

      Fixed crash in kudu-master and kudu-tserver when running with kernel where the +getrandom(2) API is not available (versions of Linux kernel prior to 3.17).

      +
    • +
    • +

      Fixed bug which could lead to exhaustion of the address space for the outgoing +connections on a busy Kudu cluster +(KUDU-3352).

      +
    • +
    • +

      Fixed a bug in the Java client where a malformed tablet server ID in the scan +token causes connection failures and timeouts in some cases +(KUDU-3349).

      +
    • +
    • +

      Fixed a bug where the rebalancer failed with -ignored_tservers flag +(KUDU-3346).

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.16.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.16 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.15 and Kudu 1.16 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.16 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.16 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.16 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.16 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.16.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.16 Java client library is API- and ABI-compatible with Kudu 1.15. Applications +written against Kudu 1.15 will compile and run against the Kudu 1.16 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.16 C++ client is API- and ABI-forward-compatible with Kudu 1.15. +Applications written and compiled against the Kudu 1.15 client library will run without +modification against the Kudu 1.16 client library. Applications written and compiled +against the Kudu 1.16 client library will run without modification against the Kudu 1.15 +client library.

      +
    • +
    • +

      The Kudu 1.16 Python client is API-compatible with Kudu 1.15. Applications +written against Kudu 1.15 will continue to run against the Kudu 1.16 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.16.0 includes contributions from 17 people, including 5 first-time contributors:

    +
    +
    +
      +
    • +

      Riza Suminto

      +
    • +
    • +

      Zoltan Chovan

      +
    • +
    • +

      kedeng

      +
    • +
    • +

      khazarmammadli

      +
    • +
    • +

      yejiabao

      +
    • +
    +
    +
    +

    Thank you for your contributions!

    +
    +
    +
    +

    Apache Kudu 1.15.0 Release Notes

    +
    +

    Upgrade Notes

    +
    + +
    +
    +
    +

    Obsoletions

    +
    +
    +
      +
    • +

      The kudu-mapreduce integration has been removed in the 1.15.0 release. +Similar functionality and capabilities now exist via the Apache Spark, Apache Hive, Apache Impala, +and Apache NiFi integrations. See KUDU-3142 +for details.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Python 2.x and Python 3.4 and earlier is deprecated and may be removed in the next minor +release.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu now experimentally supports multi-row transactions. Currently only INSERT and +INSERT_IGNORE operations are supported. +See here for a +design overview of this feature.

      +
    • +
    • +

      Kudu now supports Raft configuration change for Kudu masters and CLI tools for orchestrating +addition and removal of masters in a Kudu cluster. These tools substantially simplify the process +of migrating to multiple masters, recovering a dead master and removing masters from a Kudu cluster. +For detailed steps, see the latest administration documentation. This feature is evolving and +the steps to add, remove and recover masters may change in the future. +See KUDU-2181 for details.

      +
    • +
    • +

      Kudu now supports table comments directly on Kudu tables which are automatically synchronized +when the Hive Metastore integration is enabled. These comments can be added at table creation time +and changed via table alteration.

      +
    • +
    • +

      Kudu now experimentally supports per-table size limits based on leader disk space usage or number +of rows. When generating new authorization tokens, Masters will now consider the size limits and +strip tokens of INSERT and UPDATE privileges if either limit is reached. To enable this feature, +set the --enable_table_write_limit master flag; adjust the --table_disk_size_limit and +--table_row_count_limit flags as desired or use the kudu table set_limit tool to set limits per +table.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      It is now possible to change the Kerberos Service Principal Name using the --principal flag. The +default SPN is still kudu/_HOST. Clients connecting to a cluster using a non-default SPN must set +the sasl_protocol_name or saslProtocolName to match the SPN base +(i.e. “kudu” if the SPN is “kudu/_HOST”) in the client builder or the Kudu CLI. +See KUDU-1884 for details.

      +
    • +
    • +

      Kudu RPC now supports TLSv1.3. Kudu servers and clients automatically negotiate TLSv1.3 for Kudu +RPC if OpenSSL (or Java runtime correspondingly) on each side supports TLSv1.3. +If necessary, use the newly introduced flag --rpc_tls_ciphersuites to customize TLSv1.3-specific +cipher suites at the server side. +See KUDU-2871 for details.

      +
    • +
    • +

      TLS ciphers renegotiation for TLSv1.2 and prior protocol versions is now explicitly disabled. +See KUDU-1926 for details.

      +
    • +
    • +

      The location assignment for Kudu clients is now disabled by default since it doesn’t bring a lot +of benefits, but rather puts an extra load to Kudu masters. This change reduces the load on Kudu +masters which is essential if too many clients run in a cluster. To enable the location assignment +for clients, override the default by setting --master_client_location_assignment_enabled=true for +Kudu masters.

      +
    • +
    • +

      The behavior of the C++ client replica selection for closest replica, the default, was updated to +match the behavior of the Java client. Instead of picking a random replica each time, a static value +is used for each process ensuring that the selection remains deterministic and can benefit from +better caching. See KUDU-3248 for details.

      +
    • +
    • +

      The Web UI /rpcz endpoint now displays information on whether an RPC connection is protected by +TLS, and if so, provides information on the negotiated TLS cipher suite.

      +
    • +
    • +

      Tooling requests and C++ client requests bound for leader masters will now be retried in the event +the masters cannot be reached.

      +
    • +
    • +

      Cluster tooling will now validate that the master argument contains no duplicate values. +See KUDU-3226 for details.

      +
    • +
    • +

      The error message output by Kudu Java client in an attempt to write into a non-existent table +partition now contains the table’s name. +See KUDU-3267 for details.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed a bug in the Kudu tablet servers that could result in a crash when performing an incremental +backup of rows that had many batches of updates. +See KUDU-3291 for more details.

      +
    • +
    • +

      The Kudu Java client will now retry scans bound for tablets hosted on quiescing tablet servers at +replicas on other tablet servers. See +KUDU-3213 for more details.

      +
    • +
    • +

      Fixed a race between the scheduling of a maintenance op and the destruction of a tablet. This +could previously lead to a crash. +See KUDU-3268 for more details.

      +
    • +
    • +

      Fixed crash in Kudu C++ client introduced with KUDU-1802. +See KUDU-3254 for details.

      +
    • +
    • +

      Fixed bug in Kudu Java client which manifested in AUTO_FLUSH_BACKGROUND sessions hung in a call +to KuduSession.flush() method. Another sign of the bug were stuck data ingest workloads based on +Java client (e.g., kudu-spark applications) with +"java.lang.AssertionError: This Deferred was already called!" message in the logs. +See KUDU-3277 for details.

      +
    • +
    • +

      Fixed crash in Kudu server due to lack of getrandom(2) system call in Linux kernel version +earlier than 3.17 by instead using /dev/random for uuid generation in the Boost library. +Crash includes the following message in the logs +"terminate called after throwing an instance of 'boost::wrapexcept<boost::uuids::entropy_error>'". +See the fix for a sample stack trace.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.15.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.15 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.14 and Kudu 1.15 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.15 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.15 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.15 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.15 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.15.0

    +
    +
    +
      +
    • +

      Updated hash computation for empty strings in the FastHash implementation to conform with the +handling in Apache Impala. For Bloom filter predicate pushdown feature that uses FastHash, +this makes the Kudu client older than version 1.15.0 incompatible with Kudu server version 1.15.0 +and Kudu client version at or newer than 1.15.0 incompatible with Kudu server version earlier than +1.15.0. Both client library and Kudu server need to be updated to version 1.15.0 or above if using +the Bloom filter predicate feature. One manifestation of this incompatibility is following message +in the logs, "Not implemented: call requires unsupported application feature flags: 4". +See KUDU-3286 for details.

      +
    • +
    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.15 Java client library is API- and ABI-compatible with Kudu 1.14. Applications +written against Kudu 1.14 will compile and run against the Kudu 1.15 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.15 C++ client is API- and ABI-forward-compatible with Kudu 1.14. +Applications written and compiled against the Kudu 1.14 client library will run without +modification against the Kudu 1.15 client library. Applications written and compiled +against the Kudu 1.15 client library will run without modification against the Kudu 1.14 +client library.

      +
    • +
    • +

      The Kudu 1.15 Python client is API-compatible with Kudu 1.14. Applications +written against Kudu 1.14 will continue to run against the Kudu 1.15 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.15.0 includes contributions from 12 people, including 2 first-time contributors:

    +
    +
    +
      +
    • +

      Abhishek Chennaka

      +
    • +
    • +

      shenxingwuying

      +
    • +
    +
    +
    +

    Thank you for your contributions!

    +
    +
    +
    +

    Apache Kudu 1.14.0 Release Notes

    +
    +

    Upgrade Notes

    +
    + +
    +
    +
    +

    Obsoletions

    +
    +
    +
      +
    • +

      Support for CentOS 6/RHEL 6, Ubuntu 14, Ubuntu 16, and Debian 8 platforms has been dropped +given they are at or near end-of-life. We will no longer validate these platforms as a +part of the release process, though patches will still be accepted going forward.

      +
    • +
    • +

      Developer support for OS X 10.10 Yosemite, OS X 10.11 El Capitan, and OS X 10.12 Sierra +has been dropped. We will no longer validate these versions as a part of the release +process, though patches will still be accepted going forward.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Python 2.x and Python 3.4 and earlier is deprecated and may be +removed in the next minor release.

      +
    • +
    • +

      The kudu-mapreduce integration has been deprecated and may be removed in the +next minor release. Similar functionality and capabilities now exist via the +Apache Spark, Apache Hive, Apache Impala, and Apache NiFi integrations.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Full support for INSERT_IGNORE, UPDATE_IGNORE, and DELETE_IGNORE operations +was added. The INSERT_IGNORE operation will insert a row if one matching the key +does not exist and ignore the operation if one already exists. The UPDATE_IGNORE +operation will update the row if one matching the key exists and ignore the operation +if one does not exist. The DELETE_IGNORE operation will delete the row if one matching +the key exists and ignore the operation if one does not exist. These operations are +particularly useful in situations where retries or duplicate operations could occur and +you do not want to handle the errors that could result manually or you do not want to cause +unnecessary writes and compaction work as a result of using the UPSERT operation. +The Java client can check if the cluster it is communicating with supports these operations +by calling the supportsIgnoreOperations() method on the KuduClient. See +KUDU-1563 for more details.

      +
    • +
    • +

      Spark 3 compatible JARs compiled for Scala 2.12 are now published for the Kudu Spark integration. +See KUDU-3202 for more details.

      +
    • +
    • +

      Every Kudu cluster now has an automatically generated cluster Id that can be used to uniquely +identify a cluster. The cluster Id is shown in the masters web-UI, the kudu master list tool, +and in master server logs. See KUDU-2574 +for more details.

      +
    • +
    • +

      It is now possible to enforce that OpenSSL is initialized in FIPS approved mode in the servers +and the C++ client by setting the KUDU_REQUIRE_FIPS_MODE environment variable to “1”, “yes” or +“true”. See KUDU-3210 for more details.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Downloading the WAL data and data blocks when copying tablets to another tablet server is now +parallelized, resulting in much faster tablet copy operations. These operations occur when +recovering from a down tablet server or when running the cluster rebalancer. See +KUDU-1728 and +KUDU-3214 for more details.

      +
    • +
    • +

      The HMS integration now supports multiple Kudu clusters associated with a single HMS +including Kudu clusters that do not have HMS synchronization enabled. This is possible, +because the Kudu master will now leverage the cluster Id to ignore notifications from +tables in a different cluster. Additionally, the HMS plugin will check if the Kudu cluster +associated with a table has HMS synchronization enabled. +See KUDU-3192 and +KUDU-3187 for more details.

      +
    • +
    • +

      The HMS integration now supports gzipped HMS notifications. This is important in order to +support Hive 4 where the default encoder was changed to be the GzipJSONMessageEncoder. See +KUDU-3201 for more details.

      +
    • +
    • +

      Kudu will now fail tablet replicas that have been corrupted due to KUDU-2233 instead of +crashing the tablet server. If a healthy majority still exists, a new replica will be created +and the failed replica will be evicted and deleted. See +KUDU-3191 and +KUDU-2233 for more details.

      +
    • +
    • +

      DeltaMemStores will now be flushed as long as any DMS in a tablet is older than the point +defined by --flush_threshold_secs, rather than flushing once every --flush_threshold_secs +period. This can reduce memory pressure under update- or delete-heavy workloads, and lower tablet +server restart times following such workloads. See +KUDU-3195 for more details.

      +
    • +
    • +

      The kudu perf loadgen CLI tool now supports UPSERT for storing the generated data into +the table. To switch to UPSERT for row operations (instead of default INSERT), add the +--use_upsert command-line flag.

      +
    • +
    • +

      Users can now specify the level of parallelization when copying a tablet using the +kudu local_replica copy_from_remote CLI tool by passing the +--tablet_copy_download_threads_nums_per_session argument.

      +
    • +
    • +

      The Kudu Masters now discriminate between overlapped and exact duplicate key ranges when adding +new partitions, returning Status::AlreadyPresent() for exact range duplicates and +Status::InvalidArgument() for otherwise overlapped ones. In prior releases, the master +returned Status::InvalidArgument() both in case of duplicate and otherwise overlapped ranges.

      +
    • +
    • +

      The handling of an empty list of master addresses in Kudu C++ client has improved. In prior +releases, KuduClientBuilder::Build() would hang in ConnectToCluster() if no master addresses +were provided. Now, KuduClientBuilder::Build() instantly returns Status::InvalidArgument() +in such a case.

      +
    • +
    • +

      The connection negotiation timeout for Kudu C client is now programmatically configurable. +To customize the connection negotiation timeout, use the newly introduced +`KuduClientBuilder::connection_negotiation_timeout()` method in the Kudu C client API.

      +
    • +
    • +

      All RPC-related kudu CLI tools now have --negotiation_timeout_ms command line flag to +control the client-side connection negotiation timeout. The default value for the new flag is +set to 3000 milliseconds for backward compatibility. Keep in mind that the total RPC timeout +includes the connection negotiation time, so in general it makes sense to bump --timeout_ms +along with --negotiation_timeout_ms by the same delta.

      +
    • +
    • +

      Kudu now reports on slow SASL calls (i.e. calls taking more than 250 milliseconds to complete) +when connecting to a server. This is to help diagnose issues like described in +KUDU-3217.

      +
    • +
    • +

      MaintenanceManager now has a new histogram-based maintenance_op_find_best_candidate_duration +metric to capture the stats on how long it takes (in microseconds) to find the best maintenance +operation among available candidates. The newly introduced metric can help in diagnosing +conditions where MaintenanceManager seems lagging behind the rate of write operations in a busy +Kudu cluster with many replicas per tablet server.

      +
    • +
    • +

      The KuduScanToken Java API has been extended with a deserializeIntoScannerBuilder() method that +can be used to further customize generated tokens.

      +
    • +
    • +

      Logging of the error message produced when applying an op while a Java KuduSession is closed +has been throttled. See +KUDU-3012 for more details.

      +
    • +
    • +

      Added a new uptime metric for a Kudu server. The metric’s value is reported as the length of +the time interval passed from the start of the server, in microseconds. Knowing the server’s +uptime, it’s easier to interpret and compare metrics reported by different Kudu servers.

      +
    • +
    • +

      Documentation for Kudu’s metrics are now automatically generated for each release and can be seen +here.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed lock contention between MaintenanceManager op registration and the scheduling of new +maintenance ops. On particularly dense tablet servers, this contention was previously shown to +significantly slow down startup times. See +KUDU-3149 for more details.

      +
    • +
    • +

      Fixed lock contention between MaintenanceManager’s threads performing already scheduled +operations and the scheduler thread itself. This benefits clusters with heavy ingest/update +workloads that have many replicas per tablet server. See +KUDU-1954 for more details.

      +
    • +
    • +

      Fixed a bug in the merge iterator that could result in a crash. This could surface as a crash +when performing ordered or differential scans, particularly when the underlying data contained +deletes and reinserts. See +KUDU-3108 for more details.

      +
    • +
    • +

      Fixed a heap-use-after-free bug in Kudu C++ client that might manifest itself when altering a +table to update the partitioning schema. See +KUDU-3238 for more details.

      +
    • +
    • +

      Fixed a bug where building scan tokens would result in a NullPointerException if a tablet not +found error occurred before generating the token. See +KUDU-3205 for more details.

      +
    • +
    • +

      Fixed a bug where a delete operation would fail if the row being deleted contained exactly +64 columns and all values were set on the row. See +KUDU-3198 for more details.

      +
    • +
    • +

      Fixed a bug where Slf4j classes were shaded into the Spark integration JARs. See +KUDU-3157 for more details.

      +
    • +
    • +

      Fixed a bug where the 'kudu hms fix' tool mistakenly reports non-matching master addresses +when the addresses are in-fact canonically the same. See +KUDU-2884 for more details.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.14.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.14 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.13 and Kudu 1.14 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.14 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.14 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.14 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.14 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.14.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.14 Java client library is API- and ABI-compatible with Kudu 1.13. Applications +written against Kudu 1.13 will compile and run against the Kudu 1.14 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.14 C++ client is API- and ABI-forward-compatible with Kudu 1.13. +Applications written and compiled against the Kudu 1.13 client library will run without +modification against the Kudu 1.14 client library. Applications written and compiled +against the Kudu 1.14 client library will run without modification against the Kudu 1.13 +client library.

      +
    • +
    • +

      The Kudu 1.14 Python client is API-compatible with Kudu 1.13. Applications +written against Kudu 1.13 will continue to run against the Kudu 1.14 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.14.0 includes contributions from 12 people, including 1 first-time +contributors:

    +
    +
    +
      +
    • +

      liguohao

      +
    • +
    +
    +
    +

    Thank you for your contributions!

    +
    +
    +
    +

    Apache Kudu 1.13.0 Release Notes

    +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      The Sentry integration has been removed and the Ranger integration should now +be used in its place for fine-grained authorization.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Python 2.x and Python 3.4 and earlier is deprecated and may be +removed in the next minor release.

      +
    • +
    • +

      The kudu-mapreduce integration has been deprecated and may be removed in the +next minor release. Similar functionality and capabilities now exist via the +Apache Spark, Apache Hive, Apache Impala, and Apache NiFi integrations.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Added table ownership support. All newly created tables are automatically +owned by the user creating them. It is also possible to change the owner by +altering the table. You can also assign privileges to table owners via Apache +Ranger (see KUDU-3090).

      +
    • +
    • +

      An experimental feature is added to Kudu that allows it to automatically +rebalance tablet replicas among tablet servers. The background task can be +enabled by setting the --auto_rebalancing_enabled flag on the Kudu masters. +Before starting auto-rebalancing on an existing cluster, the CLI rebalancer +tool should be run first (see +KUDU-2780).

      +
    • +
    • +

      Bloom filter column predicate pushdown has been added to allow optimized +execution of filters which match on a set of column values with a +false-positive rate. Support for Impala queries utilizing Bloom filter +predicate is available yielding performance improvements of 19% to 30% in TPC-H +benchmarks and around 41% improvement for distributed joins across large +tables. Support for Spark is not yet available. (see +KUDU-2483).

      +
    • +
    • +

      AArch64-based (ARM) architectures are now supported including published Docker +images.

      +
    • +
    • +

      The Java client now supports the columnar row format returned from the server +transparently. Using this format can reduce the server CPU and size of the +request over the network for scans. The columnar format can be enabled via the +setRowDataFormat() method on the KuduScanner.

      +
    • +
    • +

      An experimental feature that can be enabled by setting the +--enable_workload_score_for_perf_improvement_ops prioritizes flushing and +compacting hot tablets.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Hive metastore synchronization now supports Hive 3 and later.

      +
    • +
    • +

      The Spark KuduContext accumulator metrics now track operation counts per table +instead of cumulatively for all tables.

      +
    • +
    • +

      The kudu local_replica delete CLI tool now accepts multiple tablet +identifiers. Along with the newly added --ignore_nonexistent flag, this +helps with scripting scenarios when removing multiple tablet replicas from a +particular Tablet Server.

      +
    • +
    • +

      Both Master’s and Tablet Server’s web UI now displays the name for a service +thread pool group at the /threadz page

      +
    • +
    • +

      Introduced queue_overflow_rejections_ metrics for both Masters and Tablet +Servers: number of RPC requests of a particular type dropped due to RPC +service queue overflow.

      +
    • +
    • +

      Introduced a CoDel-like queue control mechanism for the apply queue. This +helps to avoid accumulating too many write requests and timing them out in +case of seek-bound workloads (e.g., uniform random inserts). The newly +introduced queue control mechanism is disabled by default. To enable it, set +the --tablet_apply_pool_overload_threshold_ms Tablet Server’s flag to +appropriate value, e.g. 250 (see +KUDU-1587).

      +
    • +
    • +

      Java client’s error collector can be resized (see +KUDU-1422).

      +
    • +
    • +

      Calls to the Kudu master server are now drastically reduced when using scan +tokens. Previously deserializing a scan token would result in a GetTableSchema +request and potentially a GetTableLocations request. Now the table schema and +location information is serialized into the scan token itself avoiding the +need for any requests to the master when processing them.

      +
    • +
    • +

      The default size of Master’s RPC queue is now 100 (it was 50 in earlier +releases). This is to optimize for use cases where a Kudu cluster has many +clients working concurrently.

      +
    • +
    • +

      Masters now have an option to cache table location responses. This is +targeted for Kudu clusters which have many clients working concurrently. By +default, the caching of table location responses is disabled. To enable table +location caching, set the proper capacity of the table location cache using +Master’s --table_locations_cache_capacity_mb flag (setting to 0 disables the +caching). Up to 17% of improvement is observed in GetTableLocations request +rate when enabling the caching.

      +
    • +
    • +

      Removed lock contention on Raft consensus lock in Tablet Servers while +processing a write request. This helps to avoid RPC queue overflows when +handling concurrent write requests to the same tablet from multiple clients +(see KUDU-2727).

      +
    • +
    • +

      Master’s performance for handling concurrent GetTableSchema requests has been +improved. End-to-end tests indicated up to 15% improvement in sustained +request rate for high concurrency scenarios.

      +
    • +
    • +

      Kudu servers now use protobuf Arena objects to perform all RPC +request/response-related memory allocations. This gives a boost for overall +RPC performance, and with further optimization the result request rate +was increased significantly for certain methods. For example, the result request +rate increased up to 25% for Master’s GetTabletLocations() RPC in case of +highly concurrent scenarios (see +KUDU-636).

      +
    • +
    • +

      Tablet Servers now use protobuf Arena for allocating Raft-related runtime +structures. This results in substantial reduction of CPU cycles used and +increases write throughput (see +KUDU-636).

      +
    • +
    • +

      Tablet Servers now use protobuf Arena for allocating EncodedKeys to reduce +allocator contention and improve memory locality (see +KUDU-636).

      +
    • +
    • +

      Bloom filter predicate evaluation for scans can be computationally expensive. +A heuristic has been added that verifies rejection rate of the supplied Bloom +filter predicate below which the Bloom filter predicate is automatically +disabled. This helped reduce regression observed with Bloom filter predicate +in TPC-H benchmark query #9 (see +KUDU-3140).

      +
    • +
    • +

      Improved scan performance of dictionary and plain-encoded string columns by +avoiding copying them (see +KUDU-2844).

      +
    • +
    • +

      Improved maintenance manager’s heuristics to prioritize larger memstores +(see KUDU-3180).

      +
    • +
    • +

      Spark client’s KuduReadOptions now supports setting a snapshot timestamp for +repeatable reads with READ_AT_SNAPSHOT consistency mode (see +KUDU-3177).

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Kudu scans now honor location assignments when multiple tablet servers are +co-located with the client.

      +
    • +
    • +

      Fixed a bug that caused IllegalArgumentException to be thrown when trying to +create a predicate for a DATE column in Kudu Java client (see +KUDU-3152).

      +
    • +
    • +

      Fixed a potential race when multiple RPCs work on the same scanner object.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.13.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.13 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.12 and Kudu 1.13 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.13 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.13 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.13 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.13 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.13.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.13 Java client library is API- and ABI-compatible with Kudu 1.12. Applications +written against Kudu 1.12 will compile and run against the Kudu 1.13 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.13 C++ client is API- and ABI-forward-compatible with Kudu 1.12. +Applications written and compiled against the Kudu 1.12 client library will run without +modification against the Kudu 1.13 client library. Applications written and compiled +against the Kudu 1.13 client library will run without modification against the Kudu 1.12 +client library.

      +
    • +
    • +

      The Kudu 1.13 Python client is API-compatible with Kudu 1.12. Applications +written against Kudu 1.12 will continue to run against the Kudu 1.13 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.13.0 includes contributions from 22 people, including 9 first-time +contributors:

    +
    +
    +
      +
    • +

      Jim Apple

      +
    • +
    • +

      Kevin J McCarthy

      +
    • +
    • +

      Li Zhiming

      +
    • +
    • +

      Mahesh Reddy

      +
    • +
    • +

      Romain Rigaux

      +
    • +
    • +

      RuiChen

      +
    • +
    • +

      Shuping Zhou

      +
    • +
    • +

      ningw

      +
    • +
    • +

      wenjie

      +
    • +
    +
    +
    +
    +

    Apache Kudu 1.12.0 Release Notes

    +
    +

    Upgrade Notes

    +
    + +
    +
    +
    +

    Obsoletions

    +
    +
    +
      +
    • +

      The Flume sink has been migrated to the Apache Flume project and removed +from Kudu. Users depending on the Flume integration can use the old +kudu-flume jars or migrate to the Flume jars containing the Kudu sink.

      +
    • +
    • +

      Support for Apache Sentry authorization has been deprecated and may be +removed in the next minor release. Users depending on the Sentry integration +should migrate to the Apache Ranger integration for fine-grained authorization.

      +
    • +
    • +

      Support for Python 2 has been deprecated and may be removed in the next minor +release.

      +
    • +
    • +

      Support for CentOS/RHEL 6, Debian 8, Ubuntu 14 has been deprecated and may +be removed in the next minor release.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    + +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu now supports native fine-grained authorization via integration with +Apache Ranger. Kudu may now enforce access control policies defined for +Kudu tables and columns stored in Ranger. See the +authorization documentation +for more details.

      +
    • +
    • +

      Kudu’s web UI now supports proxying via Apache Knox. Kudu may be deployed +in a firewalled state behind a Knox Gateway which will forward HTTP requests +and responses between clients and the Kudu web UI.

      +
    • +
    • +

      Kudu’s web UI now supports HTTP keep-alive. Operations that access multiple +URLs will now reuse a single HTTP connection, improving their performance.

      +
    • +
    • +

      The kudu tserver quiesce tool is added to quiesce tablet servers. While a +tablet server is quiescing, it will stop hosting tablet leaders and stop +serving new scan requests. This can be used to orchestrate a rolling restart +without stopping on-going Kudu workloads.

      +
    • +
    • +

      Introduced auto time source for HybridClock timestamps. With +--time_source=auto in AWS and GCE cloud environments, Kudu masters and +tablet servers use the built-in NTP client synchronized with dedicated NTP +servers available via host-only networks. With --time_source=auto in +environments other than AWS/GCE, Kudu masters and tablet servers rely on +their local machine’s clock synchronized by NTP. The default setting for +the HybridClock time source (--time_source=system) is backward-compatible, +requiring the local machine’s clock to be synchronized by the kernel’s NTP +discipline.

      +
    • +
    • +

      The kudu cluster rebalance tool now supports moving replicas away from +specific tablet servers by supplying the --ignored_tservers and +--move_replicas_from_ignored_tservers arguments (see +KUDU-2914 for more +details).

      +
    • +
    • +

      The kudu table create tool is added to allow users to specify table +creation options using JSON.

      +
    • +
    • +

      Kudu now supports DATE and VARCHAR data types. See the +schema design documentation +for more details.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Write Ahead Log file segments and index chunks are now managed by Kudu’s file +cache. With that, all long-lived file descriptors used by Kudu are managed by +the file cache, and there’s no longer a need for capacity planning of file +descriptor usage.

      +
    • +
    • +

      Kudu no longer requires the running of kudu fs update_dirs to change a +directory configuration or recover from a disk failure +(see KUDU-2993).

      +
    • +
    • +

      Kudu tablet servers and masters now expose a tablet-level metric +num_raft_leaders for the number of Raft leaders hosted on the server.

      +
    • +
    • +

      Kudu’s maintenance operation scheduling has been updated to prioritize +reducing WAL retention under memory pressure. Kudu would previously prioritize +operations that yielded high-memory reduction, which could result in high WAL +disk usage in workloads that contained updates +(see KUDU-3002).

      +
    • +
    • +

      A new maintenance operation is introduced to remove rowsets that have had all +of their rows deleted and whose newest delete operations are considered +ancient (see KUDU-1625).

      +
    • +
    • +

      The built-in NTP client is now fully supported as the time source for Kudu’s +HybridTime clock, i.e. it’s no longer marked as experimental. To switch the +time source from the existing system time source (which is the default) +to the built-in NTP client, use --time_source=builtin.

      +
    • +
    • +

      Introduced additional metrics for the built-in NTP client +(see KUDU-3048).

      +
    • +
    • +

      Updated /config page of masters' and tablet servers' web UI to display +configured and effective time source. In addition, the effective list of +reference servers for the built-in NTP client is shown there as well, +if applicable.

      +
    • +
    • +

      chronyd (version 3.4 and newer) is now supported as NTP server for +synchronizing the local machine’s clock in a Kudu cluster. It’s important to +have the rtcsync option enabled in the configuration of the chronyd NTP +daemon (see KUDU-2573).

      +
    • +
    • +

      Kudu now supports building and running on RHEL/CentOS 8. This has been tested +with CentOS 8.1.

      +
    • +
    • +

      The processing of Raft consensus vote requests has been improved to be more +robust during high contention scenarios like election storms.

      +
    • +
    • +

      Added a validator to enforce consistency between the maximum size of an RPC +and the maximum size of tablet transaction memory, controlled by +--rpc_max_message_size and --tablet_transaction_memory flags +correspondingly. In prior releases, if the limit on the size of RPC requests +is increased and the limit on tablet transaction memory size is kept with the +default setting, certain Raft transactions could be committed but not applied +(see KUDU-3023).

      +
    • +
    • +

      The metrics endpoint now supports filtering metrics by a metric severity level. +See the documentation +for more details.

      +
    • +
    • +

      Many kudu local_replica tools are updated to not open the block manager, +which significantly reduces the amount of IO done when running them (see +KUDU-3070 for more +details).

      +
    • +
    • +

      The Kudu Java client now exposes a way to get the resource metrics associated +with a given scanner (see +KUDU-2162 for more +details).

      +
    • +
    • +

      Scan predicates are pushed down to RLE decoders, improving +predicate-evaluation-efficiency in some workloads (see +KUDU-2852 for more +details).

      +
    • +
    • +

      The log block manager will now attempt to use multiple threads to open blocks +in each data directory, in some tests reducing startup time by up to 20% (see +KUDU-2977 and +KUDU-3001 for more +details).

      +
    • +
    • +

      Kudu’s tablet server web UI scans page is updated to show the number of round +trips per scanner.

      +
    • +
    • +

      Kudu’s master and tablet server web UIs are updated to show critical +partition information, including tablet count and on-disk size.

      +
    • +
    • +

      Kudu servers now expose the last_read_elapsed_seconds and +last_write_elapsed_seconds tablet-level metrics that indicate how long ago +the most recent read and write operations to a given tablet were.

      +
    • +
    • +

      Kudu servers now expose the transaction_memory_limit_rejections +tablet-level metric that tracks the number of transactions rejected because a +given tablet’s transactional memory limit was reached (see +KUDU-3021 for more +details).

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed a bug in which Kudu would not schedule compactions if a server were +under memory pressure +(see KUDU-2929).

      +
    • +
    • +

      Fixed a bug where DDL operations like ALTER TABLE on tables with huge +number of partitions might result in a DoS situation for Kudu masters +(see KUDU-3036).

      +
    • +
    • +

      Fixed a bug where Kudu Java client cannot negotiate a secure connection +with Kudu masters and tablet servers if using BouncyCastle JCE provider +(see KUDU-3106).

      +
    • +
    • +

      Kudu masters will now crash immediately upon hitting a disk failure (see +KUDU-2904 for more details).

      +
    • +
    • +

      Fixed an issue in the Kudu master in which delays in receiving tablet server +heartbeats could result in an excess amount of RPC traffic between the +masters and tablet servers (see +KUDU-2992 for more +details).

      +
    • +
    • +

      Fixed an issue with Kudu’s location placement policy that would place all +replicas in one location when two locations were available (see +KUDU-3008 for more +details).

      +
    • +
    • +

      The Java client will now correctly propagate timestamps when sending write +batches (see KUDU-3035 +for more detail).

      +
    • +
    • +

      Fixed an issue with the Kudu backup Spark jobs in which Kudu would return +with a non-zero exit if the job succeeded but backed up no rows (see +KUDU-3099 for more +details).

      +
    • +
    • +

      The raft_term and time_since_last_leader_heartbeat aggregated table +metrics will now return the maximum metric reported instead of the sum.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.12.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.12 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.11 and Kudu 1.12 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.12 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.12 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.12 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.12 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.12.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.12 Java client library is API- and ABI-compatible with Kudu 1.11. Applications +written against Kudu 1.11 will compile and run against the Kudu 1.12 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.12 C++ client is API- and ABI-forward-compatible with Kudu 1.11. +Applications written and compiled against the Kudu 1.11 client library will run without +modification against the Kudu 1.12 client library. Applications written and compiled +against the Kudu 1.12 client library will run without modification against the Kudu 1.11 +client library.

      +
    • +
    • +

      The Kudu 1.12 Python client is API-compatible with Kudu 1.11. Applications +written against Kudu 1.11 will continue to run against the Kudu 1.12 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.12 includes contributions from 33 people, including 8 first-time +contributors:

    +
    +
    +
      +
    • +

      Andy Singer

      +
    • +
    • +

      Michele Milesi

      +
    • +
    • +

      Ning Wang

      +
    • +
    • +

      Renhai Zhao

      +
    • +
    • +

      Sheng Liu

      +
    • +
    • +

      Thomas D’Silva

      +
    • +
    • +

      Tianhua Huang

      +
    • +
    • +

      Waleed Fateem

      +
    • +
    +
    +
    +

    Thank you for your help in making Kudu even better!

    +
    +
    +

    Apache Kudu 1.11.1 is a bug-fix release which fixes one critical licensing +issue in Kudu 1.11.0.

    +
    +
    +
    +
    +

    Upgrade Notes

    +
    +
    +

    When upgrading from earlier versions of Kudu, if support for Kudu’s NVM +(non-volatile memory) block cache is desired, install the memkind library +of version 1.8.0 or newer as documented in Kudu +Installation for corresponding platform. This is a mandatory step for existing +users of the NVM block cache (i.e. those who set --block_cache_type=NVM +for kudu-master and kudu-tserver): they must install memkind, otherwise +their Kudu processes will crash at startup.

    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed an issue with distributing libnuma dynamic library with kudu-binary +JAR artifact. Also, fixed the issue of statically compiling in libnuma.a +into kudu-master and kudu-tserver binaries when building Kudu +from source in release mode. The fix removes both numactl and memkind +projects from Kudu’s thirdparty dependencies and makes the dependency on the +libmemkind library optional, opening the library using dlopen() and +resolving required symbols via dlsym() +(see KUDU-2990).

      +
    • +
    • +

      Fixed an issue with kudu cluster rebalancer CLI tool crashing when running +against a location-aware cluster if a tablet server in one location doesn’t +contain a single tablet replica +(see KUDU-2987).

      +
    • +
    • +

      Fixed an issue with connection negotiation using SASL mechanism when server +FQDN is longer than 64 characters +(see KUDU-2989).

      +
    • +
    • +

      Fixed an issue in the test harness of the kudu-binary JAR artifact. With this +fix, kudu-master and kudu-tserver processes of the mini-cluster’s test +harness no longer rely on the test NTP server to synchronize their built-in +NTP client. Instead, the test harness relies on the local machine clock +synchronized by the system NTP daemon +(see KUDU-2994).

      +
    • +
    +
    +
    +
    +

    Apache Kudu 1.11.0 Release Notes

    +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      Since KUDU-2625 is +addressed, tablet servers now reject individual write operations which +violate schema constraints in a batch of write operations. In prior versions +the behavior was to reject the whole batch of write operations if a violation +of the schema constraints is detected even for a single row. It’s recommended +to revise applications which relied on the behavior mentioned above +upon upgrading to Kudu 1.11.0.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      The Kudu Flume integration is deprecated and may be removed in the +next minor release. The integration will be moved to the Apache Flume +project going forward +(see FLUME-3345).

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu now supports putting tablet servers into maintenance. While in this +mode, the tablet server’s replicas will not be re-replicated if it fails. +Only upon exiting maintenance will re-replication be triggered for any +remaining under-replicated tablets. The kudu tserver state enter_maintenance +and kudu tserver state exit_maintenance tools are added to orchestrate +tablet server maintenance, and the kudu tserver list tool is amended with +a "state" column option to display current state of each tablet server +(see KUDU-2069).

      +
    • +
    • +

      Kudu now has a built-in NTP client which maintains the internal wallclock +time used for generation of HybridTime timestamps. When enabled, system clock +synchronization for nodes running Kudu is no longer necessary. This is useful +for containerized deployments and in other cases when it’s troublesome +to maintain properly configured system NTP service at each node of a Kudu +cluster. The list of NTP servers to synchronize against is specified with the +--builtin_ntp_servers flag. By default, Kudu masters and tablet servers use +public servers hosted by the NTP Pool project. To use the built-in NTP +client, set --time_source=builtin and reconfigure --builtin_ntp_servers +if necessary +(see KUDU-2935).

      +
    • +
    • +

      Aggregated table statistics are now available to Kudu clients via +KuduClient.getTableStatistics() and KuduTable.getTableStatistics() +methods in the Kudu Java client and KuduClient.GetTableStatistics() +in the Kudu C++ client. This allows for various query optimizations. +For example, Spark now uses it to perform join optimizations. +The statistics are available via the API of both C++ and Java Kudu clients. +In addition, per-table statistics are available via kudu table statistics +CLI tool. The statistics are also available via master’s Web UI at +master:8051/metrics and master:8051/table?id=<uuid> URIs +(see KUDU-2797 and + KUDU-2921).

      +
    • +
    • +

      The kudu CLI tool now supports altering table columns. Use the newly +introduced sub-commands such as kudu table column_set_default, +kudu table column_remove_default, kudu table column_set_compression, +kudu table column_set_encoding, and kudu table column_set_block_size +to alter a column of the specified table.

      +
    • +
    • +

      The kudu CLI tool now supports dropping table columns. Use the newly +introduced kudu table delete_column sub-command to drop a column of the +specified table.

      +
    • +
    • +

      The kudu CLI tool now supports getting and setting extra +configuration properties for a table. Use kudu table get_extra_configs +and kudu table set_extra_config sub-commands to perform the corresponding +operations +(see KUDU-2514).

      +
    • +
    • +

      The kudu CLI tool now supports creating and dropping range partitions +for a table. Use kudu table add_range_partition and +kudu table drop_range_partition sub-commands to perform the corresponding +operations +(see KUDU-2881).

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      The kudu fs dump uuid CLI tool is now significantly faster and consumes +significantly less IO.

      +
    • +
    • +

      The memory consumed by CFileReaders and BloomFileReaders is factored out and +accounted separately by the tablet server memory tracking. The stats are +available via Web UI as "CFileReaders" and "BloomFileReaders" entries.

      +
    • +
    • +

      KuduScanBatch::const_iterator in Kudu C++ client now supports +operator→() +(see KUDU-1561).

      +
    • +
    • +

      Master server Web UI now supports sorting the list of tables by the columns +of "Table Name", "Create Time", and "Last Alter Time".

      +
    • +
    • +

      Tablet servers now expand a tablet’s data directory group with available +healthy directories when all directories of the group are full +(see KUDU-2907).

      +
    • +
    • +

      For scan operations run with CLOSEST_REPLICA selection mode, the Kudu Java +client now picks a random available replica in case no replica is located at +the same node with the client that initiated the scan operation. This helps +to spread the load generated by multiple scan requests to the same tablet +among all available replicas. In prior releases, all such scan requests might +end up fetching data from the same tablet replica +(see KUDU-2348).

      +
    • +
    • +

      The serialization of in-memory rows to Kudu’s wire format has been optimized +to be more CPU efficient +(see KUDU-2847).

      +
    • +
    • +

      Tablet servers and masters can now aggregate metrics by the same attribute. +For example, it’s now possible to fetch aggregated metrics from a tablet +server by retrieving data from URLs of form +http://<host>:<port>/metrics?merge_rules=tablet|table|table_name

      +
    • +
    • +

      Introduced Docker image for Python Kudu client +(see KUDU-2849).

      +
    • +
    • +

      Tablet servers now consider available disk space when choosing a set of data +directories for a tablet’s data directory group, and when deciding in which +data directory a new block should be written +(see KUDU-2901).

      +
    • +
    • +

      Added a quick-start example of using Apache Spark to load, query, and modify +a real data set stored in Kudu.

      +
    • +
    • +

      Added a quick-start example of using Apache Nifi to ingest data into Kudu.

      +
    • +
    • +

      Tablet servers now reject individual write operations which violate schema +constraints in a batch of write operations received from a client. The +previous behavior was to reject the whole batch of write operations +if a violation of the schema constraints is detected even for a single row +(see KUDU-2625).

      +
    • +
    • +

      Tablet replicas can now be optionally placed in accordance with a +dimension-based placement policy. To specify a dimension label for a table, +use the KuduTableCreator::dimension_label() and +CreateTableOptions.setDimensionLabel() methods of the C++ and Java Kudu +clients. To add a partition with a dimension label, use the +KuduTableAlterer::AddRangePartitionWithDimension() and +AlterTableOptions.addRangePartition() methods of the C++ and Java Kudu +clients +(see KUDU-2823).

      +
    • +
    • +

      Kudu RPC now enables TCP keepalive for all outbound connections for faster +detection of no-longer-reachable nodes +(see KUDU-2192).

      +
    • +
    • +

      The kudu table scan and kudu table copy CLI tools now fail gracefully +rather than crashing upon hitting an error +(see KUDU-2851).

      +
    • +
    • +

      Optimized decoding of deltas' timestamps +(see KUDU-2867).

      +
    • +
    • +

      Optimized the initialization of DeltaMemStore for the case when no matching +deltas are present +(see KUDU-2381).

      +
    • +
    • +

      Improved the rehydration of scan tokens. Now a scan token created +before renaming a column can be used even after the column has been renamed.

      +
    • +
    • +

      The memory reserved by tcmalloc is now released to OS periodically to avoid +potential OOM issues in the case of read-only workloads +(see KUDU-2836).

      +
    • +
    • +

      Optimized evaluation of predicates on columns of primitive types and +NULL/NOT NULL predicates to leverage SIMD instructions +(see KUDU-2846).

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed an issue of fault-tolerant scan operation failing for a projection +with key columns specified in other than the table schema’s order +(see KUDU-2980).

      +
    • +
    • +

      Fixed an issue that would cause frequent leader elections in case when +persisting Raft transactions to the WAL took longer than the leader +election timeout. The issue was contributing to election storms +(see KUDU-2947).

      +
    • +
    • +

      Fixed a tablet server crash in cases where blocks were not removed due to IO +error. This issue may have surfaced after recovering from a disk failure +(see KUDU-2635).

      +
    • +
    • +

      Fixed a crash in master and tablet server by validating the size of default +values when de-serializing ColumnSchemaPB +(see KUDU-2622).

      +
    • +
    • +

      Fixed RPC negotiation failure in the case when TLS v1.3 is supported at +both the client and the server side. This is a temporary workaround before +the connection negotiation code is properly updated to support 1.5-RTT +handshake used in TLS v1.3. The issue affected Linux distributions shipped +or updated with OpenSSL version 1.0.2 and newer +(see KUDU-2871).

      +
    • +
    • +

      Fixed a race between GetTabletLocations() and tablet report processing. +The race could crash the Kudu master +(see KUDU-2842).

      +
    • +
    • +

      Fixed a bug in AlterSchemaTransactionState::ToString() that led to a crash +of tablet server when removing a tablet replica with a pending AlterSchema +transaction.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.11.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.11 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.10 and Kudu 1.11 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.11 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.11 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.11 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.11 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.11 Java client library is API- and ABI-compatible with Kudu 1.10. Applications +written against Kudu 1.10 will compile and run against the Kudu 1.11 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.11 C++ client is API- and ABI-forward-compatible with Kudu 1.10. +Applications written and compiled against the Kudu 1.10 client library will run without +modification against the Kudu 1.11 client library. Applications written and compiled +against the Kudu 1.11 client library will run without modification against the Kudu 1.10 +client library.

      +
    • +
    • +

      The Kudu 1.11 Python client is API-compatible with Kudu 1.10. Applications +written against Kudu 1.10 will continue to run against the Kudu 1.11 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.11 includes contributions from 24 people, including 8 first-time +contributors:

    +
    +
    +
      +
    • +

      Hannah Nguyen

      +
    • +
    • +

      lingbin

      +
    • +
    • +

      Ritwik Yadav

      +
    • +
    • +

      Scott Reynolds

      +
    • +
    • +

      Volodymyr Verovkin

      +
    • +
    • +

      Xiaokai Wang

      +
    • +
    • +

      Xin He

      +
    • +
    • +

      Yao Wang

      +
    • +
    +
    +
    +

    Thank you for your help in making Kudu even better!

    +
    +
    +

    Apache Kudu 1.10.1 is a bug-fix release which fixes one critical licensing +issue in Kudu 1.10.0.

    +
    +
    +
    +
    +

    Upgrade Notes

    +
    +
    +

    When upgrading from earlier versions of Kudu, if support for Kudu’s NVM +(non-volatile memory) block cache is desired, install the memkind library +of version 1.6.0 or newer as documented in Kudu +Installation for corresponding platform. This is a mandatory step for existing +users of the NVM block cache (i.e. those who set --block_cache_type=NVM +for kudu-master and kudu-tserver): they must install memkind, otherwise +their Kudu processes will crash at startup.

    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed an issue with distributing libnuma dynamic library with kudu-binary +JAR artifact. Also, fixed the issue of statically compiling in libnuma.a +into kudu-master and kudu-tserver binaries when building Kudu +from source in release mode. The fix removes both numactl and memkind +projects from Kudu’s thirdparty dependencies and makes the dependency on the +libmemkind library optional, opening the library using dlopen() and +resolving required symbols via dlsym() +(see KUDU-2990).

      +
    • +
    +
    +
    +
    + +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      The default tablet history retention time has been raised from 15 minutes to +7 days to better support touchless incremental backups +(see KUDU-2677).

      +
    • +
    +
    +
    +
    +
    +

    Obsoletions

    +
    + +
    +
    +
    +

    Deprecations

    +
    + +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu now supports both full and incremental table backups via a job +implemented using Apache Spark. Additionally it supports restoring +tables from full and incremental backups via a restore job implemented using +Apache Spark. See the backup documentation +for more details.

      +
    • +
    • +

      Kudu can now synchronize its internal catalog with the Apache Hive Metastore, +automatically updating Hive Metastore table entries upon table creation, +deletion, and alterations in Kudu. See the +HMS synchronization documentation +for more details.

      +
    • +
    • +

      Kudu now supports native fine-grained authorization via integration with +Apache Sentry. Kudu may now enforce access control policies defined for Kudu +tables and columns, as well as policies defined on Hive servers and databases +that may store Kudu tables. See the +authorization documentation for more +details.

      +
    • +
    • +

      Kudu’s web UI now supports SPNEGO, a protocol for securing HTTP requests with +Kerberos by passing negotiation through HTTP headers. To enable, set the +--webserver_require_spnego command line flag.

      +
    • +
    • +

      Column comments can now be stored in Kudu tables, and can be updated using +the AlterTable API +(see KUDU-1711).

      +
    • +
    • +

      The Java scan token builder can now create multiple tokens per tablet. +To use this functionality, call setSplitSizeBytes() to specify how many bytes +of data each token should scan. The same API is also available in Kudu’s +Spark integration, where it can be used to spawn multiple Spark tasks per +scanned tablet +(see KUDU-2670).

      +
    • +
    • +

      Experimental Kudu Docker images are now published on +Docker Hub.

      +
    • +
    • +

      Kudu now has an experimental Kubernetes StatefulSet manifest and Helm chart, +which can be used to define and provision Kudu clusters using Kubernetes +(see KUDU-2398).

      +
    • +
    • +

      The Kudu CLI now has rudimentary YAML-based configuration file support, +which can be used to provide cluster connection information via cluster name +instead of keying in comma-separated lists of master addresses. +See the cluster name documentation +for more details.

      +
    • +
    • +

      kudu perf table_scan scans a table and displays a table’s row count as well +as the time it took to run the scan.

      +
    • +
    • +

      kudu table copy copies data from one table to another, within the same +cluster or across clusters. Note, this implementation leverages a single client, +therefore it may not be suitable for large tables.

      +
    • +
    • +

      Tablet history retention time can now be configured on a table-by-table basis. +(see KUDU-2514).

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      The performance of mutations (i.e. UPDATE, DELETE, and re-INSERT) to +not-yet-flushed Kudu data has been significantly optimized +(see KUDU-2826 and +f9f9526d3).

      +
    • +
    • +

      Predicate performance for primitive columns has been optimized +(see KUDU-2846).

      +
    • +
    • +

      IS NULL and IS NOT NULL predicate performance has been optimized +(see KUDU-2846).

      +
    • +
    • +

      Optimized the performance of fetching tablet locations from the master for +tables with large numbers of partitions. This can improve the performance of +short-running Spark or Impala queries as well as user applications which make +use of short-lived client instances +(see KUDU-2711).

      +
    • +
    • +

      The tableExists() (Java) and TableExists() (C++) APIs are now more performant +(see KUDU-2802).

      +
    • +
    • +

      Fault tolerant scans are now much more performant and consume far less memory +(see KUDU-2466).

      +
    • +
    • +

      kudu cluster ksck now sends more requests in parallel, which should result +in a speed-up when running against clusters with many tables or when there’s +high latency between the node running the CLI and the cluster nodes.

      +
    • +
    • +

      Kudu’s block manager now deletes spent block containers when needed instead of +just at server startup. This should reduce server startup times somewhat +(see KUDU-2636).

      +
    • +
    • +

      DNS resolutions are now cached by Kudu masters, tablet servers, and +Kudu C++ clients. The TTL for a resolved DNS entry in the cache is 15 seconds +by default +(see KUDU-2791).

      +
    • +
    • +

      Tables created in Kudu 1.10.0 or later will show their creation time as well +as their last alteration time in the web UI +(see KUDU-2750).

      +
    • +
    • +

      The Kudu CLI and C++ client now support overriding the local username using +the ‘KUDU_USER_NAME’ environment variable. This allows operating against a +Kudu cluster using an identity which differs from the local Unix user on the +client. Note that this has no effect on secure clusters, where client identity +is determined by Kerberos authentication +(see KUDU-2717).

      +
    • +
    • +

      Kudu C++ client now performs stricter verification on the input data of +INSERT and UPSERT operations w.r.t. table schema constraints. This helps +spotting schema violations before sending the data to a tablet server.

      +
    • +
    • +

      The KuduScanner in the Java client is now iterable. Additionally the +KuduScannerIterator will automatically make scanner keep alive calls to +ensure scanners do not time out while iterating.

      +
    • +
    • +

      A KuduPartitioner API was added to the Java client. The KuduPartitioner +API allows a client to determine which partition a row falls into without +actually writing that row. For example, the KuduPartitioner is used in the +Spark integration to optionally repartition and pre-sort the data before +writing to Kudu +(see KUDU-2674 and +KUDU-2672).

      +
    • +
    • +

      The PartialRow and RowResult Java API have new methods that accept and return +Java Objects. These methods are useful when you don’t care about autoboxing +and your existing type handling logic is based on Java types. See the javadoc +for more details.

      +
    • +
    • +

      The Kudu Java client now logs RPC trace summaries instead of full RPC traces when +the log level is INFO or higher. This reduces log noise and makes RPC issues +more visible in a more compact format +(see KUDU-2830).

      +
    • +
    • +

      Kudu servers now display the time at which they were started in their web UIs.

      +
    • +
    • +

      Kudu tablet servers now display a table’s total column count in the web UI.

      +
    • +
    • +

      The /metrics web UI endpoint now supports filtering on entity types, +entity IDs, entity attributes, and metric names. This can be used to more +efficiently collect important metrics when there is a large number of tablets +on a tablet server.

      +
    • +
    • +

      The Kudu rebalancer now accepts the --ignored_tservers command line +argument, which can be used to ignore the health status of specific tablet +servers (i.e. if they are down) when deciding whether or not it’s safe to +rebalance the cluster.

      +
    • +
    • +

      kudu master list now displays the Raft consensus role of each master in the +cluster (i.e. LEADER or FOLLOWER) +(see KUDU-2825).

      +
    • +
    • +

      kudu table scan no longer interleaves its output, and now projects all +columns without having to manually list the column names.

      +
    • +
    • +

      kudu perf loadgen now supports creating empty tables. The semantics of the +special value of 0 for --num_rows_per_thread flag has changed. A value of 0 +now indicates that no rows should be generated, and a value of -1 indicates +there should be no limit to the number of rows generated.

      +
    • +
    • +

      Running make install after building Kudu from source will now install the +Kudu binaries into appropriate locations. +(see KUDU-1344).

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed an issue where the Java client would fail scans that took a very long +time to return a single block of rows, such as highly selective scans over a +large amount of data +(see KUDU-1868).

      +
    • +
    • +

      Fixed the handling of SERVICE_UNAVAILABLE errors that caused the Java client +to do unnecessary master lookups.

      +
    • +
    • +

      Kudu scan tokens now work correctly when the target table is renamed between +when the scan token is created and when it is rehydrated into a scanner.

      +
    • +
    • +

      Kudu’s “NTP synchronization wait” behavior at startup now works properly when +Kudu is run in a containerized environment.

      +
    • +
    • +

      Fixed a crash when a flush or compaction overlapped with another compaction +(see KUDU-2807).

      +
    • +
    • +

      Fixed a rare race at startup where the leader master would fruitlessly try to +tablet copy to a healthy follower master, causing the cluster to operate as if +it had two masters until master leadership changed +(see KUDU-2748).

      +
    • +
    • +

      Under rare circumstances, it was possible for Kudu to crash in libkrb5 when +negotiating multiple TLS connections concurrently. This crash has been fixed +(see KUDU-2706).

      +
    • +
    • +

      Kudu no longer crashes at startup on machines with disabled CPUs +(see KUDU-2721).

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.10.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.10 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.9 and Kudu 1.10 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.10 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.10 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.10 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.10 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.10.0

    +
    +
    +
      +
    • +

      Support for building and running with Java 7 has been dropped in this release. +It had been deprecated since Kudu 1.5.0. +(see KUDU-2099).

      +
    • +
    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.10 Java client library is API- and ABI-compatible with Kudu 1.9. Applications +written against Kudu 1.9 will compile and run against the Kudu 1.10 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.10 C++ client is API- and ABI-forward-compatible with Kudu 1.9. +Applications written and compiled against the Kudu 1.9 client library will run without +modification against the Kudu 1.10 client library. Applications written and compiled +against the Kudu 1.10 client library will run without modification against the Kudu 1.9 +client library.

      +
    • +
    • +

      The Kudu 1.10 Python client is API-compatible with Kudu 1.9. Applications +written against Kudu 1.9 will continue to run against the Kudu 1.10 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.10 includes contributions from 27 people, including 6 first-time contributors:

    +
    +
    +
      +
    • +

      Csaba Fulop

      +
    • +
    • +

      Florentino Sainz

      +
    • +
    • +

      Guangchao Deng

      +
    • +
    • +

      Jia Hongchao

      +
    • +
    • +

      Ye Yuqiang

      +
    • +
    • +

      Yifan Zhang

      +
    • +
    +
    +
    +

    Thank you for your help in making Kudu even better!

    +
    +
    +
    + +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      Flume 1.8+ requires Java 8 at runtime even though the Kudu Flume integration +is Java 7 compatible. Flume 1.9 is the default dependency version as of +Kudu 1.9.0.

      +
    • +
    • +

      Hadoop 3.0+ requires Java 8 at runtime even though the Kudu Hadoop integration +is Java 7 compatible. Hadoop 3.2 is the default dependency version as of +Kudu 1.9.0.

      +
    • +
    +
    +
    +
    +
    +

    Obsoletions

    +
    + +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in +the next major release.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu now supports location awareness. When configured, Kudu will make a best +effort to avoid placing a majority of replicas for a given tablet at the same +location. The kudu cluster rebalance tool has been updated to act in +accordance with the placement policy of a location-aware Kudu. The +administrative +documentation has been updated to detail the usage of this feature.

      +
    • +
    • +

      Docker scripts have been introduced to build and run Kudu on various operating +systems. See the /docker subdirectory of the source repository for more +details. An official repository has +been created for Apache Kudu Docker artifacts.

      +
    • +
    • +

      Developers integrating with Kudu can now write Java tests that start a Kudu +mini cluster without having to first locally build and install Kudu. This is +made possible by the Kudu team providing platform-specific binaries available +to Gradle or Maven for download and install at test time. More information on +this feature can be found here. This binary test +artifact is currently considered to be experimental.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      When creating a table, the master now enforces a restriction on the total +number of replicas rather than the total number of partitions. If manually +overriding --max_create_tablets_per_ts, the maximum size of a new table +has effectively been cut by a factor of its replication factor. Note that +partitions can still be added after table creation.

      +
    • +
    • +

      The compaction policy has been updated to favor reducing the number of +rowsets. This can lead to faster scans and lower bootup times, particularly +in the face of a “trickling inserts” workload, where rows are inserted slowly +in primary key order (see +KUDU-1400).

      +
    • +
    • +

      A tablet-level metric average_diskrowset_height has been added to indicate +how much a replica needs to be compacted, as indicated by the average number +of rowsets per unit of keyspace.

      +
    • +
    • +

      Scans which read multiple columns of tables undergoing a heavy UPDATE +workload are now more CPU efficient. In some cases, scan performance of such +tables may be several times faster upon upgrading to this release.

      +
    • +
    • +

      Kudu-Spark users can now provide the short “kudu” format alias to Spark. This +enables using .format(“kudu”) in places where you would have needed to +provide the fully qualified name like .format(“org.apache.kudu.spark.kudu") +or imported org.apache.kudu.spark.kudu._ and used the implicit .kudu +functions. The +Spark +integration documentation has been updated to reflect this improvement.

      +
    • +
    • +

      The KuduSink class has been added to the Spark integration as a +StreamSinkProvider, allowing structured streaming writes into Kudu (see +KUDU-2640).

      +
    • +
    • +

      The amount of server-side logging has been greatly reduced for Kudu’s +consensus implementation and background processes. This logging was determined +to be not useful and unnecessarily verbose.

      +
    • +
    • +

      The web UI now more obviously depicts which columns are a part of the primary +key (see KUDU-2477).

      +
    • +
    • +

      The kudu table describe tool has been added to support describing table +attributes, including schema, partitioning, replication factor, column +encodings, compressions, and default values.

      +
    • +
    • +

      The kudu table scan tool has been added to scan rows from a table, +supporting comparison, in-list, and is-null predicates.

      +
    • +
    • +

      The kudu locate_row tool has been added to allow users to determine what +tablet a given primary key belongs to, and whether a row exists for that +primary key.

      +
    • +
    • +

      The kudu diagnose dump_mem_trackers tool is added to allow users to output +the contents of the /mem-trackers web UI page in a CSV format.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      To avoid glitches and undefined behavior, the Kudu Python client now +detects and reports on conflicting/incorrect initialization of the OpenSSL +library.

      +
    • +
    • +

      Fixed a crash caused by a race between altering tablet schemas and deleting +tablet replicas (see +KUDU-1678).

      +
    • +
    • +

      Fixed an issue that would prevent the kudu fs update_dirs tool from +removing directories in the presence of tablet tombstones (see +KUDU-2680).

      +
    • +
    • +

      The --cmeta_force_fsync flag may be used to fsync Kudu’s consensus +metadata more aggressively. Setting this to true may decrease Kudu’s +performance, but improve its durability in the face of power failures and +forced shutdowns (see +KUDU-2195).

      +
    • +
    • +

      Fixed an issue that would cause an excessive amount of RPC traffic from Kudu +masters if the tablet servers were configured with duplicated master addresses +(see KUDU-2684).

      +
    • +
    • +

      Fixed an issue that would cause the kudu cluster rebalance tool to run +indefinitely in the case of tables with a replication factor of 2 (see +KUDU-2688).

      +
    • +
    • +

      Fixed an issue that could lead to a failure to bootstrap tablet replicas +that were a part of workloads with many alter table operations +(see KUDU-2690).

      +
    • +
    • +

      Fixed an issue with the Java scanner’s keepAlive that could lead to a +permanent hang in the scanner (see +KUDU-2710).

      +
    • +
    • +

      Fixed an issue that would cause undefined behavior upon connecting to a +secure cluster concurrently from multiple C++ clients (see +KUDU-2706).

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.9.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.9 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.8 and Kudu 1.9 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.9 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.9 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.9 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.9 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.9.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.9 Java client library is API- and ABI-compatible with Kudu 1.8. Applications +written against Kudu 1.8 will compile and run against the Kudu 1.9 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.9 C++ client is API- and ABI-forward-compatible with Kudu 1.8. +Applications written and compiled against the Kudu 1.8 client library will run without +modification against the Kudu 1.9 client library. Applications written and compiled +against the Kudu 1.9 client library will run without modification against the Kudu 1.8 +client library.

      +
    • +
    • +

      The Kudu 1.9 Python client is API-compatible with Kudu 1.8. Applications +written against Kudu 1.8 will continue to run against the Kudu 1.9 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.9 includes contributions from 24 people, including 5 first-time contributors:

    +
    +
    +
      +
    • +

      Bankim Bhavsar

      +
    • +
    • +

      Mike Parker

      +
    • +
    • +

      Mitch Barnett

      +
    • +
    • +

      Tim Armstrong

      +
    • +
    • +

      Yingchun Lai

      +
    • +
    +
    +
    +

    Thank you for your help in making Kudu even better!

    +
    +
    +
    + +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      Upgrading directly from Kudu 1.7.0 is supported and no special upgrade steps are +required. A rolling upgrade may work, however it has not been tested. When upgrading +Kudu, it is recommended to first shut down all Kudu processes across the cluster, then +upgrade the software on all servers, then restart the Kudu processes on all servers in +the cluster.

      +
    • +
    • +

      Kudu Flume Sink released with Kudu 1.8.0 is compiled against Apache Flume 1.8 and might +not function with earlier versions of Flume. Note that Flume 1.8 requires Java 1.8 or +higher.

      +
    • +
    • +

      Hadoop 3.0+ requires Java 8 at runtime even though the Kudu Hadoop integration is Java 7 +compatible. Hadoop 3.1 is the default dependency version as of Kudu 1.8.0, used by +certain features in the Java client.

      +
    • +
    +
    +
    +
    +
    +

    Obsoletions

    +
    +
    +
      +
    • +

      The -table_num_buckets configuration option of the kudu perf loadgen tool is now +removed in favor of -table_num_hash_partitions and -table_num_range_partitions +(see KUDU-1861).

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in the next +major release.

      +
    • +
    • +

      The producer.skipMissingColumn, producer.skipBadColumnValue, and +producer.warnUnmatchedRows Kudu Flume sink configuration parameters have been +deprecated in favor of producer.missingColumnPolicy, producer.badColumnValuePolicy, +and producer.unmatchedRowPolicy respectively (see +KUDU-1882).

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Examples showcasing functionality in C++, Java, and Python, previously +hosted in a separate repository have been added. They can be found in the +examples/ +top-level subdirectory.

      +
    • +
    • +

      Added kudu diagnose parse_stacks, a tool to parse sampled stack traces out of a +diagnostics log (see KUDU-2353).

      +
    • +
    • +

      Added support for IS NULL and IS NOT NULL predicates to the Kudu Python client (see +KUDU-2399).

      +
    • +
    • +

      Introduced manual data rebalancer into the kudu +CLI tool. The rebalancer can be used to redistribute table replicas among tablet +servers. The rebalancer can be run via kudu cluster rebalance sub-command. Using the +new tool, it’s possible to rebalance Kudu clusters of version 1.4.0 and newer.

      +
    • +
    • +

      Added kudu tserver get_flags and kudu master get_flags, two tools that allow +superusers to retrieve all the values of command line flags from remote Kudu processes. +The get_flags tools support filtering the returned flags by tag, and by default will +return only flags that were explicitly set.

      +
    • +
    • +

      Added kudu tablet unsafe_replace_tablet, a tool to replace a tablet with a new one. +This tool is meant to be used to recover a table when one of its tablets has permanently +lost all replicas. The data in the tablet that is replaced is lost, so this tool should +only be used as a last resort (see +KUDU-2290).

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      There is a new metric for each tablet replica tracking the number of election failures +since the last successful election attempt and the time since the last heartbeat from +the leader (see KUDU-2287).

      +
    • +
    • +

      Kudu now supports building and running on Ubuntu 18.04 (“Bionic Beaver”) (see +KUDU-2427).

      +
    • +
    • +

      Kudu now supports building and running against OpenSSL 1.1 (see +KUDU-1889).

      +
    • +
    • +

      Added Kerberos support to the Kudu Flume sink (see +KUDU-2012).

      +
    • +
    • +

      The Kudu Spark connector now supports Spark Streaming DataFrames (see +KUDU-2539).

      +
    • +
    • +

      Added -tables filtering argument to kudu table list (see +KUDU-2529).

      +
    • +
    • +

      Clients now support setting a limit on the number of returned rows in scans (see +KUDU-16).

      +
    • +
    • +

      Added Pandas support to the Python client (see +KUDU-1276).

      +
    • +
    • +

      Enabled configuration of mutation buffer in the Python client (see +KUDU-2441).

      +
    • +
    • +

      Added a keepAlive API call to the KuduScanner and AsyncKuduScanner in the Java +client. This API can be used to keep the scanners alive on the server when processing +of messages will take longer than the scanner TTL (see +KUDU-2095).

      +
    • +
    • +

      The Kudu Spark integration now uses the keepAlive API when reading data. By default it +will call keepAlive on a scanner with a period of 15 seconds. This will ensure that +Spark jobs with large batch sizes or slow processing times do not fail with scanner not +found errors (see KUDU-2563).

      +
    • +
    • +

      Number of reactor threads in the C++ client is now configurable (see +KUDU-2368).

      +
    • +
    • +

      Added an optimization to reduce CPU consumption when performing hot metadata lookups in +the C++ client (see KUDU-1977).

      +
    • +
    • +

      Added an optimization to avoid bottlenecks on getpwuid_r() in libnss during a Raft +leader election storm (see +KUDU-2395).

      +
    • +
    • +

      Improved rowset tree pruning making scans with open-ended intervals on primary key (see +KUDU-2566).

      +
    • +
    • +

      The kudu perf loadgen tool now supports generating range-partitioned tables. The +-table_num_buckets configuration is now removed in favor of +-table_num_hash_partitions and -table_num_range_partitions (see +KUDU-1861).

      +
    • +
    • +

      CFile checksum failures will now cause the affected tablet replicas to be failed and +re-replicated elsewhere (see +KUDU-2469).

      +
    • +
    • +

      Servers are now able to start up with data directories missing on disk (see +KUDU-2359).

      +
    • +
    • +

      The kudu perf loadgen tool now creates tables with a period-separated database name, +for example default.loadgen_auto_abc123. This new behavior does not take effect if the +--table flag is provided. The database of the table can be changed using a new +--auto_database flag. This change is made in anticipation of an eventual Kudu/HMS +integration (see KUDU-2191).

      +
    • +
    • +

      Introduced FAILED_UNRECOVERABLE replica health status. This is to mark replicas which +are not able to catch up with the leader due to GC-collected segments of WAL and other +unrecoverable cases like disk failure. With that, the replica management scheme becomes +hybrid: the system evicts replicas with FAILED_UNRECOVERABLE health status before +adding a replacement if it anticipates that it can commit the transaction, while in +other cases it first adds a non-voter replica and removes the failed one only after +promoting a newly added replica to voter role.

      +
    • +
    • +

      Two additional configuration parameters, socketReadTimeoutMs and scanRequestTimeout +have been added to the Spark connector to allow better tuning to avoid scan timeouts +under high load.

      +
    • +
    • +

      The kudu table tool now supports two new options to rename tables and columns, +rename_table and rename_column respectively.

      +
    • +
    • +

      Kudu will now wait for the clock to become synchronized at startup, controlled by a new +flag -ntp_initial_sync_wait_secs (see +KUDU-2242).

      +
    • +
    • +

      Tablet deletions are now throttled, which will help Kudu clusters remain stable even +when many tablets are deleted at once. The number of tablets that a tablet server will +delete at once is controlled by the new flag -num_tablets_to_delete_simultaneously +(see KUDU-2289).

      +
    • +
    • +

      The kudu cluster ksck tool has been significantly enhanced. It now checks master +health and consensus status, displays any unsafe or hidden flags set in the cluster, and +produces a summary of the Kudu versions running on the master and tablet servers. In +addition, it now supports JSON output, both in pretty-printed and compact form. The +output format is controlled by the -ksck_format flag.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      When a tablet server was wiped and recreated with the same RPC address, ksck listed it +twice, both as healthy, even though only one of them was there. This bug is now fixed by +verifying the UUID of the server (see +KUDU-2364).

      +
    • +
    • +

      Fixed an issue preventing Kudu from starting when using Vormetric’s encrypted filesystem +(secfs2) on ext4 (see KUDU-2406).

      +
    • +
    • +

      Fixed an issue where Kudu’s block cache memory tracking (as seen on the /mem-trackers +web UI page) wasn’t accounting for all of the overhead of the cache itself (see +KUDU-972).

      +
    • +
    • +

      Fixed an issue where the C++ client would fail to reopen an expired scanner; instead, +the client would retry in a tight loop and eventually timeout (see +KUDU-2414).

      +
    • +
    • +

      When a tablet is deleted, its write-ahead log recovery directory is also deleted, if it +exists (see KUDU-1038).

      +
    • +
    • +

      Fixed a tablet server crash when a tablet is scanned with two predicates on its primary +key and the predicates do not overlap (see +KUDU-2447).

      +
    • +
    • +

      Fixed an issue where the Kudu MapReduce connector’s KuduTableInputFormat may exhaust +its scan too early (see +KUDU-2525).

      +
    • +
    • +

      Fixed an issue with failed tablet copies that would cause subsequent tablet copies to +crash the tablet server (see +KUDU-2293).

      +
    • +
    • +

      Fixed a bug in which incorrect results would be returned in scans following a +server restart (see +KUDU-2463).

      +
    • +
    • +

      Fixed a bug causing a tablet server crash when a write batch request from a client +failed coarse-grained authorization (see +KUDU-2540).

      +
    • +
    • +

      Fixed use-after-free in case of WAL replay error (see +KUDU-2509).

      +
    • +
    • +

      Fixed authentication token reacquisition in the C++ client (see +KUDU-2580).

      +
    • +
    • +

      Fixed a bug where leader logged excessively when the followers fell behind (see +KUDU-2322).

      +
    • +
    • +

      Fixed reporting of leader health during lifecycle transitions (see +KUDU-2335).

      +
    • +
    • +

      Fixed moving single-replica tablets (see +KUDU-2443).

      +
    • +
    • +

      Fixed an error that would cause the kudu CLI tool to unexpectedly exit when the +connection to the master or tserver was abruptly closed.

      +
    • +
    • +

      Fixed a rare issue where system failure could leave unexpected null bytes at the end of +metadata files, causing Kudu to be unable to restart (see +KUDU-2260).

      +
    • +
    • +

      Fixed an issue where kudu cluster ksck running a snapshot checksum scan would use a +single snapshot timestamp for all tablets. This caused the checksum process to fail if +the checksum process took a long time and the number of tablets was sufficiently large. +The tool should now be able to checksum tables even if the process takes many hours. +(see KUDU-2179).

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.8.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.8 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.8 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations on wire +compatibility between Kudu 1.8 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.8 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.8 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.8.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.8 Java client library is API- and ABI-compatible with Kudu 1.7. Applications +written against Kudu 1.7 will compile and run against the Kudu 1.8 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.8 C++ client is API- and ABI-forward-compatible with Kudu 1.7. +Applications written and compiled against the Kudu 1.7 client library will run without +modification against the Kudu 1.8 client library. Applications written and compiled +against the Kudu 1.8 client library will run without modification against the Kudu 1.7 +client library.

      +
    • +
    • +

      The Kudu 1.8 Python client is API-compatible with Kudu 1.7. Applications written against +Kudu 1.7 will continue to run against the Kudu 1.8 client and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.8 includes contributions from 40 people, including 15 first-time contributors:

    +
    +
    +
      +
    • +

      Anupama Gupta

      +
    • +
    • +

      Attila Piros

      +
    • +
    • +

      Brian McDevitt

      +
    • +
    • +

      Fengling Wang

      +
    • +
    • +

      Ferenc Szabó

      +
    • +
    • +

      Greg Solovyev

      +
    • +
    • +

      Kiyoshi Mizumaru

      +
    • +
    • +

      Shriya Gupta

      +
    • +
    • +

      Thomas Tauber-Marshall

      +
    • +
    • +

      Tigerquoll

      +
    • +
    • +

      Yao Xu

      +
    • +
    • +

      ZhangYao

      +
    • +
    • +

      helifu

      +
    • +
    • +

      jinxing64

      +
    • +
    • +

      qqchang2nd

      +
    • +
    +
    +
    +

    Thank you for helping to make Kudu even better!

    +
    +
    +
    + +
    +

    Fixed Issues

    +
    +
    +

    Apache Kudu 1.7.1 is a bug-fix release which fixes critical issues in Kudu 1.7.0.

    +
    +
    +
      +
    • +

      Fixed and issue where a leader replica could report a follower’s health status +as FAILED instead of FAILED_UNRECOVERABLE. In configurations where the tablet +replication factor equals to the total number of tablet servers in the cluster, +that lead to situations where the tablet could not be automatically recovered +until a new leader was elected or corresponding tablet servers were restarted. +(see KUDU-2367).

      +
    • +
    • +

      Fixed an issue where Kudu would fail to start if RLIMIT_NPROC was set to -1. +(see KUDU-2377).

      +
    • +
    • +

      Fixed an issue where kudu-spark was unable to connect to secure clusters. +(see KUDU-2379).

      +
    • +
    • +

      Fixed an issue where the kudu-python client would not compile in environments +where __int128 is not supported. This was most commonly el6 environments. +(see KUDU-2412).

      +
    • +
    • +

      Fixed an issue where unaligned loads of __int128 integers could result +in a crash. +(see KUDU-2378).

      +
    • +
    • +

      Fixed a bug in PartialRow.setMin that could lead to incorrect partition +pruning when a decimal column is part of the tables range partition but +not a part of the query predicate. +(see KUDU-2416).

      +
    • +
    • +

      Fixed an equality check on decimal column predicates that could result +in pruning that is too conservative.

      +
    • +
    +
    +
    +
    + +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      Upgrading directly from Kudu 1.6.0 is supported and no special upgrade steps +are required. A rolling upgrade of the server side will not work because +the default replica management scheme changed, and running masters and tablet +servers with different replica management schemes is not supported, see +Incompatible Changes in Kudu 1.7.0 for details. However, mixing client and +server sides of different versions is not a problem. You can still +update your clients before your servers or vice versa. +When upgrading to Kudu 1.7, it is required to first shut down all Kudu processes +across the cluster, then upgrade the software on all servers, then restart +the Kudu processes on all servers in the cluster.

      +
    • +
    +
    +
    +
    +
    +

    Obsoletions

    +
    +
    +
      +
    • +

      The tcmalloc_contention_time metric, which previously tracked the amount +of time spent in memory allocator lock contention, has been removed.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in +the next major release.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu now supports the decimal column type. The decimal type is a numeric data type +with fixed scale and precision suitable for financial and other arithmetic +calculations where the imprecise representation and rounding behavior of float and +double make those types impractical. The decimal type is also useful for integers +larger than int64 and cases with fractional values in a primary key. +See Decimal Type for more details.

      +
    • +
    • +

      The strategy Kudu uses for automatically healing tablets which have lost a +replica due to server or disk failures has been improved. The new re-replication +strategy, or replica management scheme, first adds a replacement tablet replica +before evicting the failed one. With the previous replica management scheme, +the system first evicts the failed replica and then adds a replacement. The new +replica management scheme allows for much faster recovery of tablets in +scenarios where one tablet server goes down and then returns back shortly after +5 minutes or so. The new scheme also provides substantially better overall +stability on clusters with frequent server failures. +(see KUDU-1097).

      +
    • +
    • +

      The kudu fs update_dirs tool now supports removing directories. Unless the +--force flag is specified, Kudu will not allow the removal of a directory +across which tablets are configured to spread data. If specified, all tablet +replicas configured to use that directory will fail upon starting up and be +replicated elsewhere, provided a majority exists elsewhere.

      +
    • +
    • +

      Users can use the new --fs_metadata_dir to specify the directory in which +to place tablet-specific metadata. It is recommended, although not +necessary, that this be placed on a high-performance drive with high +bandwidth and low latency, e.g. a solid-state drive. If not specified, +metadata will be placed in the directory specified by --fs_wal_dir, or in +the directory specified by the first entry of --fs_data_dirs if metadata +already exists there from a pre-Kudu 1.7 deployment. Kudu will not +automatically move existing metadata based on this configuration.

      +
    • +
    • +

      Kudu 1.7 introduces a new scan read mode READ_YOUR_WRITES. Users can specify +READ_YOUR_WRITES when creating a new scanner in C++, Java and Python clients. +If this mode is used, the client will perform a read such that it follows all +previously known writes and reads from this client. Reads in this mode ensure +read-your-writes and read-your-reads session guarantees, while minimizing +latency caused by waiting for outstanding write transactions to complete. +Note that this is still an experimental feature which may be stabilized in +future releases.

      +
    • +
    • +

      The tablet server web UI scans dashboard (/scans) has been improved with +several new features, including: showing the most recently completed scans, +a pseudo-SQL scan descriptor that concisely shows the selected columns and +applied predicates, and more complete and better documented scan statistics.

      +
    • +
    • +

      Kudu daemons now expose a web page /stacks which dumps the current stack +trace of every thread running in the server. This information can be helpful +when diagnosing performance issues.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      By default, each tablet replica will now stripe data blocks across 3 data +directories instead of all data directories. This decreases the likelihood +that any given tablet will be affected in the event of a single disk failure. +No substantial performance impact is expected due to this feature based on +performance testing. +This change only affects new replicas created after upgrading to Kudu 1.7.

      +
    • +
    • +

      Kudu servers previously offered the ability to enable a separate metrics log +which stores periodic snapshots of all metrics available on a server. This +functionality is now available as part of a more general “diagnostics log” +which is enabled by default. The diagnostics log includes periodic dumps of +server metrics as well as collections of thread stack traces. The default +configuration ensures that no more than 640MB of diagnostics logs are retained, +and typically the space consumption is significantly less due to compression. +The format and contents of this log file are documented in the +Administration guide.

      +
    • +
    • +

      The handling of errors in the synchronous Java client has been improved so that, +when an exception is thrown, the stack trace indicates the correct location +where the client function was invoked rather than a call stack of an internal +worker thread. The original call stack from the worker thread is available as +a “suppressed exception”.

      +
    • +
    • +

      The logging of errors in the Java client has been improved to exclude exception +stack traces for expected scenarios such as failure to connect to a server in a +cluster. Instead, only a single line informational message will be logged in +such cases to aid in debugging.

      +
    • +
    • +

      The Java client now uses a predefined prioritized list of TLS ciphers when +establishing an encrypted connection to Kudu servers. This cipher list matches +the list of ciphers preferred for server-to-server communication and ensures +that the most efficient and secure ciphers are preferred. When the Kudu client +is running on Java 8 or newer, this provides a substantial speed-up to read +and write performance.

      +
    • +
    • +

      Reporting for the kudu cluster ksck tool has been updated so tablets and +tables with on-going tablet copies are shown as "recovering". Additional +reporting changes have been made to make various common scenarios, +particularly tablet copies, less alarming.

      +
    • +
    • +

      The performance of inserting rows containing many string or binary columns has +been improved, especially in the case of highly concurrent write workloads.

      +
    • +
    • +

      By default, Spark tasks that scan Kudu will now be able to scan non-leader +replicas. This allows Spark to more easily schedule kudu-spark tasks local to +the data. Users can disable this behavior by passing 'leader_only' to the +'kudu.scanLocality' option."

      +
    • +
    • +

      The number of OS threads used in the steady state and during bursts of +activity (such as in Raft leader elections triggered by a node failure) has +been drastically reduced and should no longer exceed the value of ulimit -u. +As such, it should no longer be necessary to increase the value of ulimit -u +(or of /proc/sys/kernel/threads-max) in order to run a Kudu tablet server in +most cases. +(see KUDU-1913).

      +
    • +
    • +

      An issue where sparse column predicates could cause excessive data-block reads +has been fixed. Previously in certain scans with sparsely matching predicates +on multiple columns, Kudu would read and decode the same data blocks many times. +The improvement typically results in a 5-10x performance increase for the +affected scans. +(see KUDU-2231).

      +
    • +
    • +

      The efficiency and on-disk size of large updated values has been improved. +This will improve update-heavy workloads which overwrite large (1KiB+) values. +(see KUDU-2253).

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed a scenario where the on-disk data of a tablet server was completely +erased and and a new tablet server was started on the same host. This issue +could prevent tablet replicas previously hosted on the server from being +evicted and re-replicated. +Tablets now immediately evict replicas that respond with a different server +UUID than expected. +(see KUDU-1613).

      +
    • +
    • +

      Fixed a rare race condition when connecting to masters during their +startup which might cause a client to get a response without a CA certificate +and/or authentication token. This would cause the client to fail to authenticate +with other servers in the cluster. The leader master now always sends a CA +certificate and an authentication token (when applicable) to a Kudu client +with a successful ConnectToMaster response. +(see KUDU-1927).

      +
    • +
    • +

      The Kudu Java client now will retry a connection if no master is discovered as a +leader, and the user has a valid authentication token. This avoids failure +in recoverable cases when masters are in the process of the very first leader +election after starting up. +(see KUDU-2262).

      +
    • +
    • +

      The Java client will now automatically attempt to re-acquire Kerberos +credentials from the ticket cache when the prior credentials are about to +expire. This allows client instances to persist longer than the expiration +time of a single Kerberos ticket so long as some other process renews the +credentials in the ticket cache. Documentation on interacting with Kerberos +authentication has been added to the Javadoc for the AsyncKuduClient class. +(see KUDU-2264).

      +
    • +
    • +

      Follower masters are now able to verify authentication tokens even if they have never +been a leader. Prior to this fix, if a follower master had never been a leader, +clients would be unable to authenticate to that master, resulting in spurious +error messages being logged. +(see KUDU-2265).

      +
    • +
    • +

      Fixed a tablet server crash when a tablet replica is deleted during a scan. +(see KUDU-2295).

      +
    • +
    • +

      The evaluation order of predicates in scans with multiple predicates has been +made deterministic. Due to a bug, this was not necessarily the case previously. +Predicates are applied in most to least selective order, with ties broken by +column index. The evaluation order may change in the future, particularly when +better column statistics are made available internally. +(see KUDU-2312).

      +
    • +
    • +

      Previously, the kudu tablet change_config move_replica tool required all +tablet servers in the cluster to be available when performing a move. This +restriction has been relaxed: only the tablet server that will receive a replica +of the tablet being moved and the hosts of the tablet’s existing replicas need to be +available for the move to occur. +(see KUDU-2331).

      +
    • +
    • +

      Fixed a bug in the Java client which prevented the client from locating the +new leader master after a leader failover in the case that the previous leader +either remained online or restarted quickly. This bug resulted in the client +timing out operations with errors indicating that there was no leader master. +(see KUDU-2343).

      +
    • +
    • +

      The Unix process username of the client is now included inside the exported +security credentials, so that the effective username of clients who import +credentials and subsequently use unauthenticated (SASL PLAIN) connections +matches the client who exported the security credentials. For example, this is +useful to let the Spark executors know which username to use if the Spark +driver has no authentication token. This change only affects clusters with +encryption disabled using --rpc_encryption=disabled. +(see KUDU-2259).

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.7.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.7 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.6 and Kudu 1.7 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.7 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.7 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.7 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.7 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.7.0

    +
    +
    +
      +
    • +

      The newly introduced replica management scheme is not compatible with the +old scheme, so it’s not possible to run pre-1.7 Kudu masters with +1.7 Kudu tablet servers or vice versa. This is a server-side +incompatibility only and it does not affect client compatibility. In other words, +Kudu clients of prior versions are compatible with upgraded Kudu clusters.

      +
      +
        +
      • +

        Kudu masters of 1.7 version will not register Kudu tablet servers of 1.6 +and prior versions.

        +
      • +
      • +

        Kudu tablet servers of 1.7 version will not work with Kudu masters of 1.6 +and prior versions.

        +
      • +
      +
      +
    • +
    • +

      The format of the previously-optional metrics log has changed to include a +human-readable timestamp on each line. The path of the log file has also +changed with the word “diagnostics” replacing the word “metrics” in the file +name. The metrics log has been optimized to only include those metrics which +have changed in between successive samples, and to not include entity attributes +such as tablet partition information in the log. +(see KUDU-2297).

      +
    • +
    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.7 Java client library is API- and ABI-compatible with Kudu 1.6. Applications +written against Kudu 1.6 will compile and run against the Kudu 1.7 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.7 C++ client is API- and ABI-forward-compatible with Kudu 1.6. +Applications written and compiled against the Kudu 1.6 client library will run without +modification against the Kudu 1.7 client library. Applications written and compiled +against the Kudu 1.7 client library will run without modification against the Kudu 1.6 +client library.

      +
    • +
    • +

      The Kudu 1.7 Python client is API-compatible with Kudu 1.6. Applications +written against Kudu 1.6 will continue to run against the Kudu 1.7 client +and vice-versa.

      +
    • +
    • +

      Kudu 1.7 clients that attempt to create a table with a decimal column on a +target server running Kudu 1.6 or earlier will receive an error response. +Similarly Kudu clients running Kudu 1.6 or earlier will result in an error +when attempting to access any table containing containing a decimal +column.

      +
    • +
    +
    +
    +
    +
    + +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      Upgrading directly from Kudu 1.5.0 is supported and no special upgrade steps +are required. A rolling upgrade may work, however it has not been tested. +When upgrading Kudu, it is recommended to first shut down all Kudu processes +across the cluster, then upgrade the software on all servers, then restart +the Kudu processes on all servers in the cluster.

      +
    • +
    +
    +
    +
    +
    +

    Obsoletions

    +
    +
    +
      +
    • +

      Support for Spark 1 (kudu-spark_2.10) has been removed in Kudu 1.6.0 and +now only Spark 2 is supported. Spark 1 support was deprecated in Kudu 1.5.0.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Java 7 has been deprecated since Kudu 1.5.0 and may be removed in +the next major release.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Tablet servers' tolerance of disk failures is now enabled by default and has +been extended to handle data directory failures at runtime. In the event of +a disk failure at runtime, any tablets with data on a failed disk will be +shut down and restarted on another tablet server. There is a configurable +tradeoff between a newly added tablet’s tolerance to disk failures and its +ability to parallelize reads via the experimental +--fs_target_data_dirs_per_tablet flag. Tablets that are spread across fewer +disks are less likely to be affected by a disk failure, at the cost of +reduced parallelism. By default, tablets are striped across all available +disks. Note that the first configured data directory and the WAL directory +cannot currently tolerate disk failures. This will be further improved in +future Kudu releases.

      +
    • +
    • +

      Kudu servers can now adopt new data directories via the new +kudu fs update_dirs tool. The new directory will be used by new tablet +replicas only. Note that removing directories is not yet supported +(see KUDU-2202).

      +
    • +
    • +

      Kudu servers have two new flags to control webui TLS/HTTPS +settings: --webserver_tls_ciphers and --webserver_tls_min_protocol. +These flags allow the advertised TLS ciphers and TLS protocol versions to be +configured. Additionally, the webserver now excludes insecure legacy ciphers +by default +(see KUDU-2190).

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Kudu servers can now tolerate short interruptions in NTP clock +synchronization. NTP synchronization is still required when any Kudu daemon +starts up. If NTP synchronization is not available, diagnostic information +is now logged to help pinpoint the issue +(see KUDU-1578).

      +
    • +
    • +

      Tablet server startup time has been improved significantly on servers +containing large numbers of blocks.

      +
    • +
    • +

      The log block manager now performs disk data deletion in batches. This +optimization can significantly reduce the time taken to delete data on a tablet.

      +
    • +
    • +

      The usage of sensitive data redaction flag has been slightly changed. By +setting --redact=log flag, redaction will be disabled in the web UI but +retained for server logs. Alternatively, --redact=none can be used to +disable redaction completely.

      +
    • +
    • +

      The Spark DataSource integration now can take advantage of scan locality +for better scan performance, the scan will take place at the closest replica +instead of going to the leader.

      +
    • +
    • +

      Various optimizations were made to reduce the 99th percentile latency of +writes on the tablet server. This can also improve throughput on certain +write workloads, particularly on larger clusters.

      +
    • +
    • +

      Kudu may now be configured to ignore system-wide auth_to_local mappings +configured in /etc/krb5.conf by setting the configuration flag +--use_system_auth_to_local=false +(see KUDU-2198).

      +
    • +
    • +

      The performance of the compaction scheduler has been improved. In +previous versions, certain types of time series workloads were found to +cause compaction scheduling to take tens of seconds. These workloads now +schedule compactions an order of magnitude more efficiently.

      +
    • +
    • +

      The compaction scheduler has been improved to avoid running a compaction +when the benefit of that compaction is extremely small.

      +
    • +
    • +

      Tablet servers now consider the health of all replicas of a tablet before +deciding to evict one. This can improve stability of the Kudu cluster after +experiencing multiple simultaneous daemon failures +(see KUDU-2048).

      +
    • +
    • +

      Several performance improvements have been made to the Kudu master, +particularly in concurrency of clients opening tables. This should improve +performance in highly concurrent workloads.

      +
    • +
    • +

      The on-disk size metric for a tablet now includes all data and metadata. +Previously, it excluded WAL segments and consensus metadata +(see KUDU-1755).

      +
    • +
    • +

      Added verbose mode for the 'kudu cluster ksck' command to enable output +of detailed information on the cluster’s metadata, even when no errors are +detected.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      HybridTime timestamp propagation now works in the Java client when using scan +tokens (see KUDU-1411).

      +
    • +
    • +

      Fixed an error message commonly found in tablet server logs indicating that +operations were being read "from the future" +(see KUDU-1078).

      +
    • +
    • +

      Tombstoned tablets no longer report metrics +(see KUDU-2044).

      +
    • +
    • +

      Fixed a bug in the C++ client which could cause tablets to be erroneously +pruned, or skipped, during certain scans, resulting in fewer results than +expected being returned from queries. The bug only affected tables whose range +partition columns are a proper prefix of the primary key +(see KUDU-2173).

      +
    • +
    • +

      Published Kudu Java artifacts are now fully compatible with JRE 7 and JRE 8. +There was previously a bug in the release process which made them compatible +only with JRE 8 +(see KUDU-2188).

      +
    • +
    • +

      Fixed a typo in the list of default TLS ciphers used by Kudu servers. As a +result, two additional cipher suites are now available:

      +
      +
        +
      • +

        ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256

        +
      • +
      • +

        AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD

        +
      • +
      +
      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.6.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.6 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.5 and Kudu 1.6 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.6 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.6 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.6 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.6 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.6.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.6 Java client library is API- and ABI-compatible with Kudu 1.5. Applications +written against Kudu 1.5 will compile and run against the Kudu 1.6 client library and +vice-versa.

      +
    • +
    • +

      The Kudu 1.6 C++ client is API- and ABI-forward-compatible with Kudu 1.5. +Applications written and compiled against the Kudu 1.5 client library will run without +modification against the Kudu 1.6 client library. Applications written and compiled +against the Kudu 1.6 client library will run without modification against the Kudu 1.5 +client library.

      +
    • +
    • +

      The Kudu 1.6 Python client is API-compatible with Kudu 1.5. Applications +written against Kudu 1.5 will continue to run against the Kudu 1.6 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    + +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      Kudu 1.5 now enables the optional ability to compute, store, and verify +checksums on all pieces of data stored on a server by default. Due to +storage format changes, downgrading to versions 1.3 or earlier is not +supported and will result in an error.

      +
    • +
    • +

      Spark 2.2+ requires Java 8 at runtime even though Kudu Spark 2.x integration +is Java 7 compatible. Spark 2.2 is the default dependency version as of +Kudu 1.5.0.

      +
    • +
    • +

      The kudu-spark-tools module has been renamed to kudu-spark2-tools_2.11 in +order to include the Spark and Scala base versions. This matches the pattern +used in the kudu-spark module and artifacts.

      +
    • +
    • +

      To improve security, world-readable Kerberos keytab files are no longer +accepted by default. Set --allow_world_readable_credentials=true to override +this behavior. See +KUDU-1955 for additional +details.

      +
    • +
    +
    +
    +
    +
    +

    Deprecations

    +
    +
    +
      +
    • +

      Support for Java 7 is deprecated as of Kudu 1.5.0 and may be removed in the +next major release.

      +
    • +
    • +

      Support for Spark 1 (kudu-spark_2.10) is deprecated as of Kudu 1.5.0 and may +be removed in the next minor release.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Tablet servers are now optionally able to tolerate disk failures at +startup. This feature is experimental; by default, Kudu will crash if it +experiences a disk failure. When enabled, tablets with any data on the failed +disk will not be opened and will be replicated as needed. To enable this, set +the --crash_on_eio flag to false. Additionally, there is a configurable +tradeoff between a newly added tablet’s tolerance to disk failures and its +parallelization of I/O via the --fs_target_data_dirs_per_tablet flag. +Tablets that are spread across fewer disks are less likely to be affected by a +disk failure, at the cost of reduced parallelism. Note that the first +configured data directory and the WAL directory cannot currently tolerate disk +failures, and disk failures during run-time are still fatal.

      +
    • +
    • +

      Kudu server web UIs have a new configuration dashboard (/config) which +provides a high level summary of important security configuration values, such +as whether RPC authentication is required, or web server HTTPS encryption is +enabled. Other types of configuration will be added in future releases.

      +
    • +
    • +

      The kudu command line tool has two new features: kudu tablet change_config +move_replica and kudu local_replica data_size. The 'tablet change_config +move_replica' tool moves a tablet replica from one tablet server to another, +under the condition that the tablet is healthy. An operator can use this tool to +rebalance tablet replicas between tablet servers. The 'local_replica data size' +tool summarizes the space usage of a tablet, breaking it down by type of file, +column, and rowset.

      +
    • +
    • +

      kudu-client-tools now supports exporting CSV files and importing +Apache Parquet files. This feature is unstable and may change APIs and +functionality in future releases.

      +
    • +
    • +

      kudu-spark-tools now supports importing and exporting CSV, Apache Avro and +Apache Parquet files. This feature is unstable and may change APIs and +functionality in future releases.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      The log block manager now performs disk synchronization in batches. +This optimization can significantly reduce the time taken to copy tablet data +from one server to another; in one case tablet copy time is reduced by 35%. +It also improves the general performance of flushes and compactions.

      +
    • +
    • +

      A new feature referred to as "tombstoned voting" is added to the Raft +consensus subsystem to allow tablet replicas in the TABLET_DATA_TOMBSTONED +state to vote in tablet leader elections. This feature increases Kudu’s +stability and availability by improving the likelihood that Kudu will be able +to self-heal in more edge-case scenarios, such as when tablet copy operations +fail. See KUDU-871 for +details.

      +
    • +
    • +

      The tablet on-disk size metric has been made more accurate. Previously, the +metric included only REDO deltas; it now counts all deltas. Additionally, the +metric includes the size of bloomfiles, ad hoc indexes, and the tablet +superblock. WAL segments and consensus metadata are still not counted. The +latter is very small compared to the size of data, but the former may be +significant depending on the workload (this will be resolved in a future +release).

      +
    • +
    • +

      The number of threads used by the Kudu tablet server has been further reduced. +Previously, each follower tablet replica used a dedicated thread to detect +leader tablet replica failures, and each leader replica used one dedicated +thread per follower to send Raft heartbeats to that follower. The work +performed by these dedicated threads has been reassigned to other threads. +Other improvements were made to facilitate better thread sharing by tablets. +For the purpose of capacity planning, expect the Kudu tablet server to create +one thread for every five "cold" (i.e. those not servicing writes) tablets, +and an additional three threads for every "hot" tablet. This will be further +improved upon in future Kudu releases.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      The Java Kudu client now automatically requests new authentication tokens +after expiration. As a result, long-lived Java clients are now supported. See +KUDU-2013 for more +details.

      +
    • +
    • +

      Multiple Kerberos compatibility bugs have been fixed, including support +for environments with disabled reverse DNS, FreeIPA compatibility, principal +names including uppercase characters, and hosts without a FQDN.

      +
    • +
    • +

      A bug in the binary prefix decoder which could cause a tablet server 'check' +assertion crash has been fixed. The crash could only be triggered in very +specific scenarios; see +KUDU-2085 for additional +details.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.5.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.5 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.4 and Kudu 1.5 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.5 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.5 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.5 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.5 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.5.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.5 Java client library is API- and ABI-compatible with Kudu 1.4. Applications +written against Kudu 1.4 will compile and run against the Kudu 1.5 client library and +vice-versa, unless one of the following newly added APIs is used:

      +
    • +
    • +

      The Kudu 1.5 C++ client is API- and ABI-forward-compatible with Kudu 1.4. +Applications written and compiled against the Kudu 1.4 client library will run without +modification against the Kudu 1.5 client library. Applications written and compiled +against the Kudu 1.5 client library will run without modification against the Kudu 1.4 +client library.

      +
    • +
    • +

      The Kudu 1.5 Python client is API-compatible with Kudu 1.4. Applications +written against Kudu 1.4 will continue to run against the Kudu 1.5 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    + +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      The Maintenance Manager now fully uses the threads it’s given (see the improvements +described further below), so it’s now able to generate a lot more IO by flushing and +compacting more often. Generally, the recommended ratio of MM threads to data +directories is 1:3; operators of clusters above that ratio should be mindful of +this when upgrading.

      +
    • +
    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      The C++ and Java client libraries now support the ability to alter the +storage attributes (e.g. encoding and compression) and default value +of existing columns. Additionally, it is now possible to rename +a column which is part of a table’s primary key.

      +
    • +
    • +

      The C++ client library now includes an experimental KuduPartitioner API which may +be used to efficiently map rows to their associated partitions and hosts. +This may be used to achieve better locality or distribution of writes +in client applications.

      +
    • +
    • +

      The Java client library now supports enabling fault tolerance on scanners. +Fault tolerant scanners are able to transparently recover from concurrent +server crashes at the cost of some performance overhead. See the Java +API documentation for more details on usage.

      +
    • +
    • +

      The kudu command line tool now includes a new advanced administrative +command kudu remote_replica unsafe_change_config. This command may be used +to force a tablet to perform an unsafe change of its Raft replication +configuration. This can be used to recover from scenarios such as a loss +of a majority of replicas, at the risk of losing edits.

      +
    • +
    • +

      The kudu command line tool now includes the kudu fs check command +which performs various offline consistency checks on the local on-disk +storage of a Kudu Tablet Server or Master. In addition to detecting +various inconsistencies or corruptions, it can also detect and remove +data blocks that are no longer referenced by any tablet but were not +fully removed from disk due to a crash or a bug in prior versions of Kudu.

      +
    • +
    • +

      The kudu command line tool can now be used to list the addresses and +identifiers of the servers in the cluster using either kudu master list +or kudu tserver list.

      +
    • +
    • +

      Kudu 1.4 now includes the optional ability to compute, store, and verify +checksums on all pieces of data stored on a server. Prior versions only +performed checksums on certain portions of the stored data. This feature +is not enabled by default since it makes a backward-incompatible change +to the on-disk formats and thus prevent downgrades. Kudu 1.5 will enable +the feature by default.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      kudu cluster ksck now detects and reports new classes of +inconsistencies and issues. In particular, it is better able to +detect cases where a configuration change such as a replica eviction +or addition is pending but is unable to be committed. It also now +properly detects and reports cases where a tablet has no elected +leader.

      +
    • +
    • +

      The default size for Write Ahead Log (WAL) segments has been reduced +from 64MB to 8MB. Additionally, in the case that all replicas of a +tablet are fully up to date and data has been flushed from memory, +servers will now retain only a single WAL segment rather than +two. These changes are expected to reduce the average consumption of +disk space on the configured WAL disk by 16x, as well as improve the +startup speed of tablet servers by reducing the number and size of +WAL segments that need to be re-read.

      +
    • +
    • +

      The default on-disk storage system used by Kudu servers (Log Block Manager) +has been improved to compact its metadata and remove dead containers. +This compaction and garbage collection occurs only at startup. Thus, the +first startup after upgrade is expected to be longer than usual, and +subsequent restarts should be shorter.

      +
    • +
    • +

      The usability of the Kudu web interfaces has been improved, +particularly for the case where a server hosts many tablets or a +table has many partitions. Pages that list tablets now include +a top-level summary of tablet status and show the complete list +under a toggleable section.

      +
    • +
    • +

      The Maintenance Manager has been improved to improve utilization of the +configured maintenance threads. Previously, maintenance work would +only be scheduled a maximum of 4 times per second, but now maintenance +work will be scheduled immediately whenever any configured thread is +available. This can improve the throughput of write-heavy workloads.

      +
    • +
    • +

      The Maintenance Manager will now aggressively schedule flushes of +in-memory data when memory consumption crosses 60% of the configured +process-wide memory limit. The backpressure mechanism which begins +to throttle client writes has been accordingly adjusted to not begin +throttling until reaching 80% of the configured limit. These two +changes together result in improved write throughput, more consistent +latency, and fewer timeouts due to memory exhaustion.

      +
    • +
    • +

      Many performance improvements were made to write performance. Applications +which send large batches of writes to Kudu should see substantially +improved throughput in Kudu 1.4.

      +
    • +
    • +

      Several improvements were made to reduce the memory consumption of +Kudu Tablet Servers which hold large volumes of data. The specific +amount of memory saved varies depending on workload, but the expectation +is that approximately 350MB of excess peak memory usage has been eliminated +per TB of data stored.

      +
    • +
    • +

      The number of threads used by the Kudu Tablet Server has been reduced. +Previously, each tablet used a dedicated thread to append to its WAL. +Those threads now automatically stop running if there is no activity +on a given tablet for a short period of time.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      KUDU-2020 +Fixed an issue where re-replication after a failure would proceed +significantly slower than expected. This bug caused many tablets +to be unnecessarily copied multiple times before successfully +being considered re-replicated, resulting in significantly more +network and IO bandwidth usage than expected. Mean time to recovery +on clusters with large amounts of data is improved by up to 10x by this +fix.

      +
    • +
    • +

      KUDU-1982 +Fixed an issue where the Java client would call NetworkInterface.getByInetAddress +very often, causing performance problems particularly on Windows +where this function can be quite slow.

      +
    • +
    • +

      KUDU-1755 +Improved the accuracy of the on_disk_size replica metrics to +include the size consumed by bloom filters, primary key indexes, +and superblock metadata, and delta files. Note that, because the size +metric is now more accurate, the reported values are expected to +increase after upgrading to Kudu 1.4. This does not indicate that +replicas are using more space after the upgrade; rather, it is +now accurately reporting the amount of space that has always been +used.

      +
    • +
    • +

      KUDU-1192 +Kudu servers will now periodically flush their log messages to disk +even if no WARNING-level messages have been logged. This makes it +easier to tail the logs to see progress output during normal startup.

      +
    • +
    • +

      KUDU-1999 +Fixed the ability to run Spark jobs in "cluster" mode against +Kudu clusters secured by Kerberos.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.4.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.4 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.4 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.3 and Kudu 1.4 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.4 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.4 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.4 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.4.0

    +
    +
    +
      +
    • +

      Kudu servers, by default, will now only allow unencrypted or unauthenticated connections +from trusted subnets, which are private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12, +192.168.0.0/16,169.254.0.0/16) and local subnets of all local network interfaces. +Unencrypted or unauthenticated connections from publicly routable IPs will be rejected, +even if encryption and authentication are not configured.

      +
      +

      The trusted subnets can be configured using the --trusted_subnets flag, which can be set + to IP blocks represented in CIDR notation separated by comma. Set it to '0.0.0.0/0' to + allow unauthenticated connections from all remote IP addresses. However, if network access + is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized + access. This can be mitigated if authentication and encryption are configured to be + required.

      +
      +
    • +
    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.4 Java client library is API- and ABI-compatible with Kudu 1.3. Applications +written against Kudu 1.3 will compile and run against the Kudu 1.4 client library and +vice-versa, unless one of the following newly added APIs is used:

      +
      +
        +
      • +

        [Async]KuduScannerBuilder.setFaultTolerant(…​)

        +
      • +
      • +

        New methods in AlterTableOptions: removeDefault, changeDefault, changeDesiredBlockSize, +changeEncoding, changeCompressionAlgorithm

        +
      • +
      • +

        KuduClient.updateLastPropagatedTimestamp

        +
      • +
      • +

        KuduClient.getLastPropagatedTimestamp

        +
      • +
      • +

        New getters in PartialRow: getBoolean, getByte, getShort, getInt, getLong, +getFloat, getDouble, getString, getBinaryCopy, getBinary, isNull, +isSet.

        +
      • +
      +
      +
    • +
    • +

      The Kudu 1.4 C++ client is API- and ABI-forward-compatible with Kudu 1.3. +Applications written and compiled against the Kudu 1.3 client library will run without +modification against the Kudu 1.4 client library. Applications written and compiled +against the Kudu 1.4 client library will run without modification against the Kudu 1.3 +client library unless they use one of the following new APIs:

      +
      +
        +
      • +

        KuduPartitionerBuilder

        +
      • +
      • +

        `KuduPartitioner

        +
      • +
      • +

        KuduScanner::SetRowFormatFlags (unstable API)

        +
      • +
      • +

        KuduScanBatch::direct_data, KuduScanBatch::indirect_data (unstable API)

        +
      • +
      +
      +
    • +
    • +

      The Kudu 1.4 Python client is API-compatible with Kudu 1.3. Applications +written against Kudu 1.3 will continue to run against the Kudu 1.4 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    + +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu 1.3 adds support for strong authentication based on Kerberos. This optional feature +allows users to authenticate themselves using Kerberos tickets, and also provides +mutual authentication of servers using Kerberos credentials stored in keytabs. This +feature is optional, but recommended for deployments requiring security.

      +
    • +
    • +

      Kudu 1.3 adds support for encryption of data on the network using Transport Layer Security +(TLS). Kudu will now use TLS to encrypt all network traffic between clients and servers as +well as any internal traffic among servers, with the exception of traffic determined to +be within a localhost network connection. Encryption is enabled by default whenever it can +be determined that both the client and server support the feature.

      +
    • +
    • +

      Kudu 1.3 adds coarse-grained service-level authorization of access to the cluster. +The operator may set up lists of permitted users who may act as administrators and +as clients of the cluster. Combined with the strong authentication feature described +above, this can enable a secure environment for some use cases. Note that fine-grained +access control (e.g. table-level or column-level) is not yet supported.

      +
    • +
    • +

      Kudu 1.3 adds a background task to tablet servers which removes historical versions of +data which have fallen behind the configured data retention time. This reduces disk space +usage in all workloads, but particularly in those with a higher volume of updates or +upserts.

      +
    • +
    • +

      Kudu now incorporates Google Breakpad, a library which writes crash reports in +the case of a server crash. These reports can be found within the configured log directory, +and can be useful during bug diagnosis.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Kudu servers will now change the file permissions of data directories and contained +data files based on a new configuration flag --umask. As a result, after upgrading, +permissions on disk may be more restrictive than in previous versions. The new default +configuration improves data security.

      +
    • +
    • +

      Kudu’s web UI will now redact strings which may include sensitive user data. For example, +the monitoring page which shows in-progress scans no longer includes the scanner predicate +values. The tracing and RPC diagnostics endpoints no longer include contents of RPCs which +may include table data.

      +
    • +
    • +

      By default, Kudu now reserves 1% of each configured data volume as free space. If a volume +is seen to have less than 1% of disk space free, Kudu will stop writing to that volume +to avoid completely filling up the disk.

      +
    • +
    • +

      The default encoding for numeric columns (int, float, and double) has been changed +to BIT_SHUFFLE. The default encoding for binary and string columns has been +changed to DICT_ENCODING. Dictionary encoding automatically falls back to the old +default (PLAIN) when cardinality is too high to be effectively encoded.

      +
      +

      These new defaults match the default behavior of other storage mechanisms such as + Apache Parquet and are likely to perform better out of the box.

      +
      +
    • +
    • +

      Kudu now uses LZ4 compression when writing its Write Ahead Log (WAL). This improves +write performance and stability for many use cases.

      +
    • +
    • +

      Kudu now uses LZ4 compression when writing delta files. This can improve both +read and write performance as well as save substantial disk usage, especially +for workloads involving a high number of updates or upserts containing compressible +data.

      +
    • +
    • +

      The Kudu API now supports the ability to express IS NULL and IS NOT NULL predicates +on scanners. The Spark DataSource integration will take advantage of these new +predicates when possible.

      +
    • +
    • +

      Both C++ and Java clients have been optimized to prune partitions more effectively +when performing scans using the IN (…​) predicate.

      +
    • +
    • +

      The exception messages produced by the Java client are now truncated to a maximum length +of 32KB.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      KUDU-1893 +Fixed a critical bug in which wrong results would be returned when evaluating +predicates applied to columns added using the ALTER TABLE operation.

      +
    • +
    • +

      KUDU-1905 +Fixed a crash after inserting a row sharing a primary key with a recently-deleted +row in tables where the primary key is comprised of all of the columns.

      +
    • +
    • +

      KUDU-1899 +Fixed a crash after inserting a row with an empty string as the single-column +primary key.

      +
    • +
    • +

      KUDU-1904 +Fixed a potential crash when performing random reads against a column using RLE +encoding and containing long runs of NULL values.

      +
    • +
    • +

      KUDU-1853 +Fixed an issue where disk space could be leaked on servers which experienced an error +during the process of copying tablet data from another server.

      +
    • +
    • +

      KUDU-1856 +Fixed an issue in which disk space could be leaked by Kudu servers storing data on +partitions using the XFS file system. Any leaked disk space will be automatically +recovered upon upgrade.

      +
    • +
    • +

      KUDU-1888, +KUDU-1906 +Fixed multiple issues in the Java client where operation callbacks would never be +triggered, causing the client to hang.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.3.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.3 clients may connect to servers running Kudu 1.0. If the client uses features +that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.3 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.2 and Kudu 1.3 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    +
    +
    +

    The authentication features newly introduced in Kudu 1.3 place the following limitations +on wire compatibility with older versions:

    +
    +
    +
      +
    • +

      If a Kudu 1.3 cluster is configured with authentication or encryption set to "required", +older clients will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.3 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.3.0

    +
    +
    +
      +
    • +

      Due to storage format changes in Kudu 1.3, downgrade from Kudu 1.3 to earlier versions +is not supported. After upgrading to Kudu 1.3, attempting to restart with an earlier +version will result in an error.

      +
    • +
    • +

      In order to support running MapReduce and Spark jobs on secure clusters, these +frameworks now connect to the cluster at job submission time to retrieve authentication +credentials which can later be used by the tasks to be spawned. This means that +the process submitting jobs to Kudu clusters must have direct access to that cluster.

      +
    • +
    • +

      The embedded web servers in Kudu processes now specify the X-Frame-Options: DENY HTTP +header which prevents embedding Kudu web pages in HTML iframe elements.

      +
    • +
    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.3 Java client library is API- and ABI-compatible with Kudu 1.2. Applications +written against Kudu 1.2 will compile and run against the Kudu 1.3 client library and +vice-versa, unless one of the following newly added APIs is used:

      +
      +
        +
      • +

        [Async]KuduClient.exportAuthenticationCredentials(…​) (unstable API)

        +
      • +
      • +

        [Async]KuduClient.importAuthenticationCredentials(…​) (unstable API)

        +
      • +
      • +

        [Async]KuduClient.getMasterAddressesAsString()

        +
      • +
      • +

        KuduPredicate.newIsNotNullPredicate()

        +
      • +
      • +

        KuduPredicate.newIsNullPredicate()

        +
      • +
      +
      +
    • +
    • +

      The Kudu 1.3 C++ client is API- and ABI-forward-compatible with Kudu 1.2. +Applications written and compiled against the Kudu 1.2 client library will run without +modification against the Kudu 1.3 client library. Applications written and compiled +against the Kudu 1.3 client library will run without modification against the Kudu 1.2 +client library unless they use one of the following new APIs:

      +
      +
        +
      • +

        kudu::DisableOpenSSLInitialization()

        +
      • +
      • +

        KuduClientBuilder::import_authentication_credentials(…​)

        +
      • +
      • +

        KuduClient::ExportAuthenticationCredentials(…​)

        +
      • +
      • +

        KuduClient::NewIsNotNullPredicate(…​)

        +
      • +
      • +

        KuduClient::NewIsNullPredicate(…​)

        +
      • +
      +
      +
    • +
    • +

      The Kudu 1.3 Python client is API-compatible with Kudu 1.2. Applications +written against Kudu 1.2 will continue to run against the Kudu 1.3 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    + +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu clients and servers now redact user data such as cell values +from log messages, Java exception messages, and Status strings. +User metadata such as table names, column names, and partition +bounds are not redacted.

      +
      +

      Redaction is enabled by default, but may be disabled by setting the new +log_redact_user_data flag to false.

      +
      +
    • +
    • +

      Kudu’s ability to provide consistency guarantees has been substantially +improved:

      +
      +
        +
      • +

        Replicas now correctly track their "safe timestamp". This timestamp +is the maximum timestamp at which reads are guaranteed to be +repeatable.

        +
      • +
      • +

        A scan created using the SCAN_AT_SNAPSHOT mode will now +either wait for the requested snapshot to be "safe" at the replica +being scanned, or be re-routed to a replica where the requested +snapshot is "safe". This ensures that all such scans are repeatable.

        +
      • +
      • +

        Kudu Tablet Servers now properly retain historical data when a row +with a given primary key is inserted and deleted, followed by the +insertion of a new row with the same key. Previous versions of Kudu +would not retain history in such situations. This allows the server +to return correct results for snapshot scans with a timestamp in the +past, even in the presence of such "reinsertion" scenarios.

        +
      • +
      • +

        The Kudu clients now automatically retain the timestamp of their latest +successful read or write operation. Scans using the READ_AT_SNAPSHOT mode +without a client-provided timestamp automatically assign a timestamp +higher than the timestamp of their most recent write. Writes also propagate +the timestamp, ensuring that sequences of operations with causal dependencies +between them are assigned increasing timestamps. Together, these changes +allow clients to achieve read-your-writes consistency, and also ensure +that snapshot scans performed by other clients return causally-consistent +results.

        +
      • +
      +
      +
    • +
    • +

      Kudu servers now automatically limit the number of log files. +The number of log files retained can be configured using the +max_log_files flag. By default, 10 log files will be retained +at each severity level.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      The logging in the Java and C++ clients has been substantially quieted. +Clients no longer log messages in normal operation unless there +is some kind of error.

      +
    • +
    • +

      The C++ client now includes a KuduSession::SetErrorBufferSpace +API which can limit the amount of memory used to buffer +errors from asynchronous operations.

      +
    • +
    • +

      The Java client now fetches tablet locations from the Kudu Master +in batches of 1000, increased from batches of 10 in prior versions. +This can substantially improve the performance of Spark and Impala +queries running against Kudu tables with large numbers of tablets.

      +
    • +
    • +

      Table metadata lock contention in the Kudu Master was substantially +reduced. This improves the performance of tablet location lookups on +large clusters with a high degree of concurrency.

      +
    • +
    • +

      Lock contention in the Kudu Tablet Server during high-concurrency +write workloads was also reduced. This can reduce CPU consumption and +improve performance when a large number of concurrent clients are writing +to a smaller number of a servers.

      +
    • +
    • +

      Lock contention when writing log messages has been substantially reduced. +This source of contention could cause high tail latencies on requests, +and when under high load could contribute to cluster instability +such as election storms and request timeouts.

      +
    • +
    • +

      The BITSHUFFLE column encoding has been optimized to use the AVX2 +instruction set present on processors including Intel® Sandy Bridge +and later. Scans on BITSHUFFLE-encoded columns are now up to 30% faster.

      +
    • +
    • +

      The kudu tool now accepts hyphens as an alternative to underscores +when specifying actions. For example, kudu local-replica copy-from-remote +may be used as an alternative to kudu local_replica copy_from_remote.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      KUDU-1508 +Fixed a long-standing issue in which running Kudu on ext4 file systems +could cause file system corruption.

      +
    • +
    • +

      KUDU-1399 +Implemented an LRU cache for open files, which prevents running out of +file descriptors on long-lived Kudu clusters. By default, Kudu will +limit its file descriptor usage to half of its configured ulimit.

      +
    • +
    • +

      Gerrit #5192 +Fixed an issue which caused data corruption and crashes in the case that +a table had a non-composite (single-column) primary key, and that column +was specified to use DICT_ENCODING or BITSHUFFLE encodings. If a +table with an affected schema was written in previous versions of Kudu, +the corruption will not be automatically repaired; users are encouraged +to re-insert such tables after upgrading to Kudu 1.2 or later.

      +
    • +
    • +

      Gerrit #5541 +Fixed a bug in the Spark KuduRDD implementation which could cause +rows in the result set to be silently skipped in some cases.

      +
    • +
    • +

      KUDU-1551 +Fixed an issue in which the tablet server would crash on restart in the +case that it had previously crashed during the process of allocating +a new WAL segment.

      +
    • +
    • +

      KUDU-1764 +Fixed an issue where Kudu servers would leak approximately 16-32MB of disk +space for every 10GB of data written to disk. After upgrading to Kudu +1.2 or later, any disk space leaked in previous versions will be +automatically recovered on startup.

      +
    • +
    • +

      KUDU-1750 +Fixed an issue where the API to drop a range partition would drop any +partition with a matching lower or upper bound, rather than any partition +with matching lower and upper bound.

      +
    • +
    • +

      KUDU-1766 +Fixed an issue in the Java client where equality predicates which compared +an integer column to its maximum possible value (e.g. Integer.MAX_VALUE) +would return incorrect results.

      +
    • +
    • +

      KUDU-1780 +Fixed the kudu-client Java artifact to properly shade classes in the +com.google.thirdparty namespace. The lack of proper shading in prior +releases could cause conflicts with certain versions of Google Guava.

      +
    • +
    • +

      Gerrit #5327 +Fixed shading issues in the kudu-flume-sink Java artifact. The sink +now expects that Hadoop dependencies are provided by Flume, and properly +shades the Kudu client’s dependencies.

      +
    • +
    • +

      Fixed a few issues using the Python client library from Python 3.

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.2.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.2 clients may connect to servers running Kudu 1.0. If the client uses features +that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.2 without limitations.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.1 and Kudu 1.2 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.2.0

    +
    +
    +
      +
    • +

      The replication factor of tables is now limited to a maximum of 7. In addition, +it is no longer allowed to create a table with an even replication factor.

      +
    • +
    • +

      The GROUP_VARINT encoding is now deprecated. Kudu servers have never supported +this encoding, and now the client-side constant has been deprecated to match the +server’s capabilities.

      +
    • +
    +
    +
    +

    New Restrictions on Data, Schemas, and Identifiers

    +
    +

    Kudu 1.2.0 introduces several new restrictions on schemas, cell size, and identifiers:

    +
    +
    +
    +
    Number of Columns
    +
    +

    By default, Kudu will not permit the creation of tables with +more than 300 columns. We recommend schema designs that use fewer columns for best +performance.

    +
    +
    Size of Cells
    +
    +

    No individual cell may be larger than 64KB. The cells making up a +a composite key are limited to a total of 16KB after the internal composite-key encoding +done by Kudu. Inserting rows not conforming to these limitations will result in errors +being returned to the client.

    +
    +
    Valid Identifiers
    +
    +

    Identifiers such as column and table names are now restricted to +be valid UTF-8 strings. Additionally, a maximum length of 256 characters is enforced.

    +
    +
    +
    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.2 Java client is API- and ABI-compatible with Kudu 1.1. Applications +written against Kudu 1.1 will compile and run against the Kudu 1.2 client and +vice-versa.

      +
    • +
    • +

      The Kudu 1.2 C++ client is API- and ABI-forward-compatible with Kudu 1.1. +Applications written and compiled against the Kudu 1.1 client will run without +modification against the Kudu 1.2 client. Applications written and compiled +against the Kudu 1.2 client will run without modification against the Kudu 1.1 +client unless they use one of the following new APIs:

      +
      +
        +
      • +

        kudu::DisableSaslInitialization()

        +
      • +
      • +

        KuduSession::SetErrorBufferSpace(…​)

        +
      • +
      +
      +
    • +
    • +

      The Kudu 1.2 Python client is API-compatible with Kudu 1.1. Applications +written against Kudu 1.1 will continue to run against the Kudu 1.2 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    + +
    +

    New features

    +
    +
    +
      +
    • +

      The Python client has been brought up to feature parity with the Java and C++ clients +and as such the package version will be brought to 1.1 with this release (from 0.3). A +list of the highlights can be found below.

      +
      +
        +
      • +

        Improved Partial Row semantics

        +
      • +
      • +

        Range partition support

        +
      • +
      • +

        Scan Token API

        +
      • +
      • +

        Enhanced predicate support

        +
      • +
      • +

        Support for all Kudu data types (including a mapping of Python’s datetime.datetime to +UNIXTIME_MICROS)

        +
      • +
      • +

        Alter table support

        +
      • +
      • +

        Enabled Read at Snapshot for Scanners

        +
      • +
      • +

        Enabled Scanner Replica Selection

        +
      • +
      • +

        A few bug fixes for Python 3 in addition to various other improvements.

        +
      • +
      +
      +
    • +
    • +

      IN LIST predicate pushdown support was added to allow optimized execution of filters which +match on a set of column values. Support for Spark, Map Reduce and Impala queries utilizing +IN LIST pushdown is not yet complete.

      +
    • +
    • +

      The Java client now features client-side request tracing in order to help troubleshoot timeouts. +Error messages are now augmented with traces that show which servers were contacted before the +timeout occurred instead of just the last error. The traces also contain RPCs that were +required to fulfill the client’s request, such as contacting the master to discover a tablet’s +location. Note that the traces are not available for successful requests and are not +programmatically queryable.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Kudu now publishes JAR files for Spark 2.0 compiled with Scala 2.11 along with the +existing Spark 1.6 JAR compiled with Scala 2.10.

      +
    • +
    • +

      The Java client now allows configuring scanners to read from the closest replica instead of +the known leader replica. The default remains the latter. Use the relevant ReplicaSelection +enum with the scanner’s builder to change this behavior.

      +
    • +
    • +

      Tablet servers use a new policy for retaining write-ahead log (WAL) segments. +Previously, servers used the 'log_min_segments_to_retain' flag to prioritize +any flushes which were retaining log segments past the configured value (default 2). +This policy caused servers to flush in-memory data more frequently than necessary, +limiting write performance.

      +
      +

      The new policy introduces a new flag 'log_target_replay_size_mb' which + determines the threshold at which write-ahead log retention will prioritize flushes. + The new flag is considered experimental and users should not need to modify + its value.

      +
      +
      +

      The improved policy has been seen to improve write performance in some use cases + by a factor of 2x relative to the old policy.

      +
      +
    • +
    • +

      Kudu’s implementation of the Raft consensus algorithm has been improved to include +a "pre-election" phase. This can improve the stability of tablet leader election +in high-load scenarios, especially if each server hosts a high number of tablets.

      +
    • +
    • +

      Tablet server start-up time has been substantially improved in the case that +the server contains a high number of tombstoned tablet replicas.

      +
    • +
    +
    +
    +

    Command line tools

    +
    +
      +
    • +

      The tool kudu tablet leader_step_down has been added to manually force a leader to step down.

      +
    • +
    • +

      The tool kudu remote_replica copy has been added to manually copy a replica from +one running tablet server to another.

      +
    • +
    • +

      The tool kudu local_replica delete has been added to delete a replica of a tablet.

      +
    • +
    • +

      The kudu test loadgen tool has been added to replace the obsoleted +insert-generated-rows standalone binary. The new tool is enriched with +additional functionality and can be used to run load generation tests against +a Kudu cluster.

      +
    • +
    +
    +
    +
    +
    +
    +

    Wire protocol compatibility

    +
    +
    +

    Kudu 1.1.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.1 clients may connect to servers running Kudu 1.0. If the client uses the new +'IN LIST' predicate type, an error will be returned.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.1 without limitations.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.0 and Kudu 1.1 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible changes in Kudu 1.1.0

    +
    +
    +

    Client APIs (C++/Java/Python)

    +
    +
      +
    • +

      The C++ client no longer requires the +old gcc5 ABI. +Which ABI is actually used depends on the compiler configuration. Some new distros +(e.g. Ubuntu 16.04) will use the new ABI. Your application must use the same ABI as is +used by the client library; an easy way to guarantee this is to use the same compiler +to build both.

      +
    • +
    • +

      The C++ client’s KuduSession::CountBufferedOperations() method is +deprecated. Its behavior is inconsistent unless the session runs in the +MANUAL_FLUSH mode. Instead, to get number of buffered operations, count +invocations of the KuduSession::Apply() method since last +KuduSession::Flush() call or, if using asynchronous flushing, since last +invocation of the callback passed into KuduSession::FlushAsync().

      +
    • +
    • +

      The Java client’s OperationResponse.getWriteTimestamp method was renamed to getWriteTimestampRaw +to emphasize that it doesn’t return milliseconds, unlike what its Javadoc indicated. The renamed +method was also hidden from the public APIs and should not be used.

      +
    • +
    • +

      The Java client’s sync API (KuduClient, KuduSession, KuduScanner) used to throw either +a NonRecoverableException or a TimeoutException for a timeout, and now it’s only possible for the +client to throw the former.

      +
    • +
    • +

      The Java client’s handling of errors in KuduSession was modified so that subclasses of +KuduException are converted into RowErrors instead of being thrown.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 1.0.1

    +
    +
    +

    Apache Kudu 1.0.1 is a bug fix release, with no new features or backwards +incompatible changes.

    +
    +
    +

    Fixed Issues

    +
    +
      +
    • +

      KUDU-1681 Fixed a bug in +the tablet server which could cause a crash when the DNS lookup during master +heartbeat failed.

      +
    • +
    • +

      KUDU-1660: Fixed a bug +which would cause the Kudu master and tablet server to fail to start on single +CPU systems.

      +
    • +
    • +

      KUDU-1652: Fixed a bug +that would cause the C++ client, tablet server, and Java client to crash or +throw an exception when attempting to scan a table with a predicate which +simplifies to IS NOT NULL on a non-nullable column. For instance, setting a +⇐ 127 predicate on an INT8 column could trigger this bug, since the +predicate only filters null values.

      +
    • +
    • +

      KUDU-1651: Fixed a bug +that would cause the tablet server to crash when evaluating a scan with +predicates over a dictionary encoded column containing an entire block of null +values.

      +
    • +
    • +

      KUDU-1623: Fixed a bug +that would cause the tablet server to crash when handling UPSERT operations +that only set values for the primary key columns.

      +
    • +
    • +

      Gerrit #4488 Fixed a bug in the +Java client’s KuduException class which could cause an unexpected +NullPointerException to be thrown when the exception did not have an +associated message.

      +
    • +
    • +

      KUDU-1090 Fixed a bug in +the memory tracker which could cause a rare crash during tablet server +startup.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 1.0.0

    +
    +
    +

    After approximately a year of beta releases, Apache Kudu has reached version 1.0. +This version number signifies that the development team feels that Kudu is stable +enough for usage in production environments.

    +
    +
    +

    If you are new to Kudu, check out its list of features and benefits.

    +
    +
    +

    New features

    +
    +

    Kudu 1.0.0 delivers a number of new features, bug fixes, and optimizations.

    +
    +
    +
      +
    • +

      Removal of multiversion concurrency control (MVCC) history is now supported. +This is known as tablet history GC. This allows Kudu to reclaim disk space, +where previously Kudu would keep a full history of all changes made to a +given table since the beginning of time. Previously, the only way to reclaim +disk space was to drop a table.

      +
      +

      Kudu will still keep historical data, and the amount of history retained is + controlled by setting the configuration flag --tablet_history_max_age_sec, + which defaults to 15 minutes (expressed in seconds). The timestamp + represented by the current time minus tablet_history_max_age_sec is known + as the ancient history mark (AHM). When a compaction or flush occurs, Kudu + will remove the history of changes made prior to the ancient history mark. + This only affects historical data; currently-visible data will not be + removed. A specialized maintenance manager background task to remove existing + "cold" historical data that is not in a row affected by the normal compaction + process will be added in a future release.

      +
      +
    • +
    • +

      Most of Kudu’s command line tools have been consolidated under a new +top-level kudu tool. This reduces the number of large binaries distributed +with Kudu and also includes much-improved help output.

      +
    • +
    • +

      The Kudu Flume Sink now supports processing events containing Avro-encoded +records, using the new AvroKuduOperationsProducer.

      +
    • +
    • +

      Administrative tools including kudu cluster ksck now support running +against multi-master Kudu clusters.

      +
    • +
    • +

      The output of the ksck tool is now colorized and much easier to read.

      +
    • +
    • +

      The C++ client API now supports writing data in AUTO_FLUSH_BACKGROUND mode. +This can provide higher throughput for ingest workloads.

      +
    • +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
      +
    • +

      The performance of comparison predicates on dictionary-encoded columns has +been substantially optimized. Users are encouraged to use dictionary encoding +on any string or binary columns with low cardinality, especially if these +columns will be filtered with predicates.

      +
    • +
    • +

      The Java client is now able to prune partitions from scanners based on the +provided predicates. For example, an equality predicate on a hash-partitioned +column will now only access those tablets that could possibly contain matching +data. This is expected to improve performance for the Spark integration as well +as applications using the Java client API.

      +
    • +
    • +

      The performance of compaction selection in the tablet server has been +substantially improved. This can increase the efficiency of the background +maintenance threads and improve overall throughput of heavy write workloads.

      +
    • +
    • +

      The policy by which the tablet server retains write-ahead log (WAL) files has +been improved so that it takes into account other replicas of the tablet. +This should help mitigate the spurious eviction of tablet replicas on machines +that temporarily lag behind the other replicas.

      +
    • +
    +
    +
    +
    +

    Wire protocol compatibility

    +
    +

    Kudu 1.0.0 maintains client-server wire-compatibility with previous releases. +Applications using the Kudu client libraries may be upgraded either +before, at the same time, or after the Kudu servers.

    +
    +
    +

    Kudu 1.0.0 does not maintain server-server wire compatibility with previous +releases. Therefore, rolling upgrades between earlier versions of Kudu and +Kudu 1.0.0 are not supported.

    +
    +
    +
    +

    Incompatible changes in Kudu 1.0.0

    +
    +

    Command line tools

    +
    +
      +
    • +

      The kudu-pbc-dump tool has been removed. The same functionality is now +implemented as kudu pbc dump.

      +
    • +
    • +

      The kudu-ksck tool has been removed. The same functionality is now +implemented as kudu cluster ksck.

      +
    • +
    • +

      The cfile-dump tool has been removed. The same functionality is now +implemented as kudu fs cfile dump.

      +
    • +
    • +

      The log-dump tool has been removed. The same functionality is now +implemented as kudu wal dump and kudu local_replica dump wals.

      +
    • +
    • +

      The kudu-admin tool has been removed. The same functionality is now +implemented within kudu table and kudu tablet.

      +
    • +
    • +

      The kudu-fs_dump tool has been removed. The same functionality is now +implemented as kudu fs dump.

      +
    • +
    • +

      The kudu-ts-cli tool has been removed. The same functionality is now +implemented within kudu master, kudu remote_replica, and kudu tserver.

      +
    • +
    • +

      The kudu-fs_list tool has been removed and some similar useful +functionality has been moved under 'kudu local_replica'.

      +
    • +
    +
    +
    +
    +

    Configuration flags

    +
    +
      +
    • +

      Some configuration flags are now marked as 'unsafe' and 'experimental'. Such flags +are disallowed by default. Users may access these flags by enabling the additional +flags --unlock_unsafe_flags and --unlock_experimental_flags. Usage of such flags +is not recommended, as the flags may be removed or modified with no deprecation period +and without notice in future Kudu releases.

      +
    • +
    +
    +
    +
    +

    Client APIs (C++/Java/Python)

    +
    +
      +
    • +

      The TIMESTAMP column type has been renamed to UNIXTIME_MICROS in order to +reduce confusion between Kudu’s timestamp support and the timestamps supported +by other systems such as Apache Hive and Apache Impala (incubating). Existing +tables will automatically be updated to use the new name for the type.

      +
      +

      Clients upgrading to the new client libraries must move to the new name for + the type. Clients using old client libraries will continue to operate using + the old type name, even when connected to clusters that have been + upgraded. Similarly, if clients are upgraded before servers, existing + timestamp columns will be available using the new type name.

      +
      +
    • +
    • +

      KuduSession methods in the C++ library are no longer advertised as thread-safe +to have one set of semantics for both C++ and Java Kudu client libraries.

      +
    • +
    • +

      The KuduScanToken::TabletServers method in the C++ library has been removed. +The same information can now be found in the KuduScanToken::tablet method.

      +
    • +
    +
    +
    +
    +

    Apache Flume Integration

    +
    +
      +
    • +

      The KuduEventProducer interface used to process Flume events into Kudu operations +for the Kudu Flume Sink has changed, and has been renamed KuduOperationsProducer. +The existing `KuduEventProducer`s have been updated for the new interface, and have +been renamed similarly.

      +
    • +
    +
    +
    +
    +
    +
    +
    +

    Release notes specific to 0.10.0

    +
    +
    +

    Kudu 0.10.0 delivers a number of new features, bug fixes, and optimizations, +detailed below.

    +
    +
    +

    Kudu 0.10.0 maintains wire-compatibility with previous releases, meaning +that applications using the Kudu client libraries may be upgraded either +before, at the same time, or after the Kudu servers. However, if you begin +using new features of Kudu 0.10.0 such as manually range-partitioned tables, +you must first upgrade all clients to this release.

    +
    +
    +

    This release does not maintain full Java API or ABI compatibility with +Kudu 0.9.x due to a package rename and some other small changes. See below for details.

    +
    + +
    +

    Incompatible changes and deprecated APIs in 0.10.0

    +
    +
      +
    • +

      Gerrit #3737 The Java client has been repackaged +under org.apache.kudu instead of org.kududb. Import statements for Kudu classes must +be modified in order to compile against 0.10.0. Wire compatibility is maintained.

      +
    • +
    • +

      Gerrit #3055 The Java client’s +synchronous API methods now throw KuduException instead of Exception. +Existing code that catches Exception should still compile, but introspection of an +exception’s message may be impacted. This change was made to allow thrown exceptions to be +queried more easily using KuduException.getStatus and calling one of Status’s methods. +For example, an operation that tries to delete a table that doesn’t exist would return a +`Status that returns true when queried on isNotFound().

      +
    • +
    • +

      The Java client’s KuduTable.getTabletsLocations set of methods is now +deprecated. Additionally, they now take an exclusive end partition key instead +of an inclusive key. Applications are encouraged to use the scan tokens API +instead of these methods in the future.

      +
    • +
    • +

      The C++ API for specifying split points on range-partitioned tables has been improved +to make it easier for callers to properly manage the ownership of the provided rows.

      +
      +

      The TableCreator::split_rows API took a vector<const KuduPartialRow*>, which + made it very difficult for the calling application to do proper error handling with + cleanup when setting the fields of the KuduPartialRow. This API has been now been + deprecated and replaced by a new method TableCreator::add_range_split which allows + easier use of smart pointers for safe memory management.

      +
      +
    • +
    • +

      The Java client’s internal buffering has been reworked. Previously, the number of +buffered write operations was constrained on a per-tablet-server basis. Now, the configured +maximum buffer size constrains the total number of buffered operations across all +tablet servers in the cluster. This provides a more consistent bound on the memory +usage of the client regardless of the size of the cluster to which it is writing.

      +
      +

      This change can negatively affect the write performance of Java clients which rely on + buffered writes. Consider using the setMutationBufferSpace API to increase a + session’s maximum buffer size if write performance seems to be degraded after upgrading + to Kudu 0.10.0.

      +
      +
    • +
    • +

      The "remote bootstrap" process used to copy a tablet replica from one host to +another has been renamed to "Tablet Copy". This resulted in the renaming of +several RPC metrics. Any users previously explicitly fetching or monitoring metrics +related to Remote Bootstrap should update their scripts to reflect the new names.

      +
    • +
    • +

      The SparkSQL datasource for Kudu no longer supports mode Overwrite. Users should +use the new KuduContext.upsertRows method instead. Additionally, inserts using the +datasource are now upserts by default. The older behavior can be restored by setting +the operation parameter to insert.

      +
    • +
    +
    +
    +
    +

    New features

    +
    +
      +
    • +

      Users may now manually manage the partitioning of a range-partitioned table. +When a table is created, the user may specify a set of range partitions that +do not cover the entire available key space. A user may add or drop range +partitions to existing tables.

      +
      +

      This feature can be particularly helpful with time series workloads in which + new partitions can be created on an hourly or daily basis. Old partitions + may be efficiently dropped if the application does not need to retain historical + data past a certain point.

      +
      +
      +

      This feature is considered experimental for the 0.10 release. More details of + the new feature can be found in the accompanying + blog post.

      +
      +
    • +
    • +

      Support for running Kudu clusters with multiple masters has been stabilized. +Users may start a cluster with three or five masters to provide fault tolerance +despite a failure of one or two masters, respectively.

      +
      +

      Note that certain tools (e.g. ksck) are still lacking complete support for + multiple masters. These deficiencies will be addressed in a following release.

      +
      +
    • +
    • +

      Kudu now supports the ability to reserve a certain amount of free disk space +in each of its configured data directories. If a directory’s free disk space +drops to less than the configured minimum, Kudu will stop writing to that +directory until space becomes available. If no space is available in any +configured directory, Kudu will abort.

      +
      +

      This feature may be configured using the fs_data_dirs_reserved_bytes and + fs_wal_dir_reserved_bytes flags.

      +
      +
    • +
    • +

      The Spark integration’s KuduContext now supports four new methods for writing to +Kudu tables: insertRows, upsertRows, updateRows, and deleteRows. These are +now the preferred way to write to Kudu tables from Spark.

      +
    • +
    +
    +
    +
    +

    Improvements and optimizations

    +
    +
      +
    • +

      KUDU-1516 The kudu-ksck tool +has been improved and now detects problems such as when a tablet does not have +a majority of replicas on live tablet servers, or if those replicas aren’t in a +good state. Users who currently depend on the tool to detect inconsistencies may now see +failures when before they wouldn’t see any.

      +
    • +
    • +

      Gerrit #3477 The way operations are buffered in +the Java client has been reworked. Previously, the session’s buffer size was set per tablet, meaning that a buffer +size of 1,000 for 10 tablets being written to allowed for 10,000 operations to be buffered at the +same time. With this change, all the tablets share one buffer, so users might need to set a +bigger buffer size in order to reach the same level of performance as before.

      +
    • +
    • +

      Gerrit #3674 Added LESS and GREATER options for +column predicates.

      +
    • +
    • +

      KUDU-1444 added support for passing +back basic per-scan metrics (e.g cache hit rate) from the server to the C++ client. See the +KuduScanner::GetResourceMetrics() API for detailed usage. This feature will be supported +in the Java client API in a future release.

      +
    • +
    • +

      KUDU-1446 improved the order in +which the tablet server evaluates predicates, so that predicates on smaller columns +are evaluated first. This may improve performance on queries which apply predicates +on multiple columns of different sizes.

      +
    • +
    • +

      KUDU-1398 improved the storage +efficiency of Kudu’s internal primary key indexes. This optimization should decrease space +usage and improve random access performance, particularly for workloads with lengthy +primary keys.

      +
    • +
    +
    +
    +
    +

    Fixed Issues

    +
    +
      +
    • +

      Gerrit #3541 Fixed a problem in the Java client +whereby an RPC could be dropped when a connection to a tablet server or master was forcefully +closed on the server-side while RPCs to that server were in the process of being encoded. +The effect was that the RPC would not be sent, and users of the synchronous API would receive +a TimeoutException. Several other Java client bugs which could cause similar spurious timeouts +were also fixed in this release.

      +
    • +
    • +

      Gerrit #3724 Fixed a problem in the Java client +whereby an RPC could be dropped when a socket timeout was fired while that RPC was being sent to +a tablet server or master. This would manifest itself in the same way +Gerrit #3541.

      +
    • +
    • +

      KUDU-1538 fixed a bug in which recycled +block identifiers could cause the tablet server to lose data. Following this bug fix, block +identifiers will no longer be reused.

      +
    • +
    +
    +
    +
    +

    Other noteworthy changes

    +
    +
      +
    • +

      This is the first release of Apache Kudu as a top-level (non-incubating) +project!

      +
    • +
    • +

      The default false positive rate for Bloom filters has been changed +from 1% to 0.01%. This will increase the space consumption of Bloom +filters by a factor of two (from approximately 10 bits per row to +approximately 20 bits per row). This is expected to substantially +improve the performance of random-write workloads at the cost of an +incremental increase in disk space usage.

      +
    • +
    • +

      The Kudu C++ client library now has Doxygen-based +API documentation +available online.

      +
    • +
    • +

      Kudu now + +uses the Raft consensus algorithm even for unreplicated tables. +This change simplifies code and will also allow administrators to enable +replication on a previously-unreplicated table. This change is internal and +should not be visible to users.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 0.9.1

    +
    +
    +

    Kudu 0.9.1 delivers incremental bug fixes over Kudu 0.9.0. It is fully compatible with +Kudu 0.9.0.

    +
    + +
    +

    Fixed Issues

    +
    +
      +
    • +

      KUDU-1469 fixed a bug in +our Raft consensus implementation that could cause a tablet to stop making progress after a leader +election.

      +
    • +
    • +

      Gerrit #3456 fixed a bug in which +servers under high load could store metric information in incorrect memory +locations, causing crashes or data corruption.

      +
    • +
    • +

      Gerrit #3457 fixed a bug in which +errors from the Java client would carry an incorrect error message.

      +
    • +
    • +

      Several other small bug fixes were backported to improve stability.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 0.9.0

    +
    +
    +

    Kudu 0.9.0 delivers incremental features, improvements, and bug fixes over the previous versions.

    +
    + +
    +

    Incompatible changes

    +
    +
      +
    • +

      The KuduTableInputFormat command has changed the way in which it handles +scan predicates, including how it serializes predicates to the job configuration +object. The new configuration key is kudu.mapreduce.encoded.predicate. Clients +using the TableInputFormatConfigurator are not affected.

      +
    • +
    • +

      The kudu-spark sub-project has been renamed to follow naming conventions for +Scala. The new name is kudu-spark_2.10.

      +
    • +
    • +

      Default table partitioning has been removed. All tables must now be created +with explicit partitioning. Existing tables are unaffected. See the +schema design guide for more +details.

      +
    • +
    +
    +
    +
    +

    New features

    +
    +
      +
    • +

      KUDU-1002 Added support for +UPSERT operations, whereby a row is inserted if it does not already exist, but +updated if it does. Support for UPSERT is included in Java, C++, and Python APIs, +but not in Impala.

      +
    • +
    • +

      KUDU-1306 Scan token API +for creating partition-aware scan descriptors. This API simplifies executing +parallel scans for clients and query engines.

      +
    • +
    • +

      Gerrit 2848 Added a kudu datasource +for Spark. This datasource uses the Kudu client directly instead of +using the MapReduce API. Predicate pushdowns for spark-sql and Spark filters are +included, as well as parallel retrieval for multiple tablets and column projections. +See an example of Kudu integration with Spark.

      +
    • +
    • +

      Gerrit 2992 Added the ability +to update and insert from Spark using a Kudu datasource.

      +
    • +
    +
    +
    +
    +

    Improvements

    +
    +
      +
    • +

      KUDU-1415 Added statistics in the Java +client such as the number of bytes written and the number of operations applied.

      +
    • +
    • +

      KUDU-1451 Improved tablet server restart +time when the tablet server needs to clean up of a lot previously deleted tablets. Tablets are +now cleaned up after they are deleted.

      +
    • +
    +
    +
    +
    +

    Fixed Issues

    +
    +
      +
    • +

      KUDU-678 Fixed a leak that happened during +DiskRowSet compactions where tiny blocks were still written to disk even if there were no REDO +records. With the default block manager, it usually resulted in block containers with thousands +of tiny blocks.

      +
    • +
    • +

      KUDU-1437 Fixed a data corruption issue +that occured after compacting sequences of negative INT32 values in a column that +was configured with RLE encoding.

      +
    • +
    +
    +
    +
    +

    Other noteworthy changes

    +
    +

    All Kudu clients have longer default timeout values, as listed below.

    +
    +
    +
    Java
    +
      +
    • +

      The default operation timeout and the default admin operation timeout +are now set to 30 seconds instead of 10.

      +
    • +
    • +

      The default socket read timeout is now 10 seconds instead of 5.

      +
    • +
    +
    +
    +
    C++
    +
      +
    • +

      The default admin timeout is now 30 seconds instead of 10.

      +
    • +
    • +

      The default RPC timeout is now 10 seconds instead of 5.

      +
    • +
    • +

      The default scan timeout is now 30 seconds instead of 15.

      +
    • +
    • +

      Some default settings related to I/O behavior during flushes and compactions have been changed: +The default for flush_threshold_mb has been increased from 64MB to 1000MB. The default +cfile_do_on_finish has been changed from close to flush. +Experiments using YCSB indicate that these +values will provide better throughput for write-heavy applications on typical server hardware.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 0.8.0

    +
    +
    +

    Kudu 0.8.0 delivers incremental features, improvements, and bug fixes over the previous versions.

    +
    + +
    +

    To upgrade to Kudu 0.8.0, see Upgrade from 0.7.1 to 0.8.0.

    +
    +
    +

    Incompatible changes

    +
    +
      +
    • +

      0.8.0 clients are not fully compatible with servers running Kudu 0.7.1 or lower. +In particular, scans that specify column predicates will fail. To work around this +issue, upgrade all Kudu servers before upgrading clients.

      +
    • +
    +
    +
    +
    +

    New features

    +
    +
      +
    • +

      KUDU-431 A simple Flume +sink has been implemented.

      +
    • +
    +
    +
    +
    +

    Improvements

    +
    +
      +
    • +

      KUDU-839 Java RowError now uses an enum error code.

      +
    • +
    • +

      Gerrit 2138 The handling of +column predicates has been re-implemented in the server and clients.

      +
    • +
    • +

      KUDU-1379 Partition pruning +has been implemented for C++ clients (but not yet for the Java client). This feature +allows you to avoid reading a tablet if you know it does not serve the row keys you are querying.

      +
    • +
    • +

      Gerrit 2641 Kudu now uses +earliest-deadline-first RPC scheduling and rejection. This changes the behavior +of the RPC service queue to prevent unfairness when processing a backlog of RPC +threads and to increase the likelihood that an RPC will be processed before it +can time out.

      +
    • +
    +
    +
    +
    +

    Fixed Issues

    +
    +
      +
    • +

      KUDU-1337 Tablets from tables +that were deleted might be unnecessarily re-bootstrapped when the leader gets the +notification to delete itself after the replicas do.

      +
    • +
    • +

      KUDU-969 If a tablet server +shuts down while compacting a rowset and receiving updates for it, it might immediately +crash upon restart while bootstrapping that rowset’s tablet.

      +
    • +
    • +

      KUDU-1354 Due to a bug in Kudu’s +MVCC implementation where row locks were released before the MVCC commit happened, +flushed data would include out-of-order transactions, triggering a crash on the +next compaction.

      +
    • +
    • +

      KUDU-1322 The C++ client +now retries write operations if the tablet it is trying to reach has already been +deleted.

      +
    • +
    • +

      Gerrit 2571 Due to a bug in the +Java client, users were unable to close the kudu-spark shell because of +lingering non-daemon threads.

      +
    • +
    +
    +
    +
    +

    Other noteworthy changes

    +
    +
      +
    • +

      Gerrit 2239 The concept of "feature flags" +was introduced in order to manage compatibility between different +Kudu versions. One case where this is helpful is if a newer client attempts to use +a feature unsupported by the currently-running tablet server. Rather than receiving +a cryptic error, the user gets an error message that is easier to interpret. +This is an internal change for Kudu system developers and requires no action by +users of the clients or API.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 0.7.1

    +
    +
    +

    Kudu 0.7.1 is a bug fix release for 0.7.0.

    +
    +
    +

    Fixed Issues

    +
    +
      +
    • +

      KUDU-1325 fixes a tablet server crash that could +occur during table deletion. In some cases, while a table was being deleted, other replicas would +attempt to re-replicate tablets to servers that had already processed the deletion. This could +trigger a race condition that caused a crash.

      +
    • +
    • +

      KUDU-1341 fixes a potential data corruption and +crash that could happen shortly after tablet server restarts in workloads that repeatedly delete +and re-insert rows with the same primary key. In most cases, this corruption affected only a single +replica and could be repaired by re-replicating from another.

      +
    • +
    • +

      KUDU-1343 fixes a bug in the Java client that +occurs when a scanner has to scan multiple batches from one tablet and then start scanning from +another. In particular, this would affect any scans using the Java client that read large numbers +of rows from multi-tablet tables.

      +
    • +
    • +

      KUDU-1345 fixes a bug where in some cases the +hybrid clock could jump backwards, resulting in a crash followed by an inability to +restart the affected tablet server.

      +
    • +
    • +

      KUDU-1360 fixes a bug in the kudu-spark module +which prevented reading rows with NULL values.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 0.7.0

    +
    +
    +

    Kudu 0.7.0 is the first release done as part of the Apache Incubator and includes a number +of changes, new features, improvements, and fixes.

    +
    + +
    +

    The upgrade instructions can be found at Upgrade from 0.6.0 to 0.7.0.

    +
    +
    +

    Incompatible changes

    +
    +
      +
    • +

      The C++ client includes a new API, KuduScanBatch, which performs better when a +large number of small rows are returned in a batch. The old API of vector<KuduRowResult> +is deprecated.

      +
      + + + + + +
      + + +This change is API-compatible but not ABI-compatible. +
      +
      +
    • +
    • +

      The default replication factor has been changed from 1 to 3. Existing tables will +continue to use the replication factor they were created with. Applications that create +tables may not work properly if they assume a replication factor of 1 and fewer than +3 replicas are available. To use the previous default replication factor, start the +master with the configuration flag --default_num_replicas=1.

      +
    • +
    • +

      The Python client has been completely rewritten, with a focus on improving code +quality and testing. The read path (scanners) has been improved by adding many of +the features already supported by the C++ and Java clients. The Python client is no +longer considered experimental.

      +
    • +
    +
    +
    +
    +

    New features

    +
    +
      +
    • +

      With the goal of Spark integration in mind, a new kuduRDD API has been added, +which wraps newAPIHadoopRDD and includes a default source for Spark SQL.

      +
    • +
    +
    +
    +
    +

    Improvements

    +
    +
      +
    • +

      The Java client includes new methods countPendingErrors() and +getPendingErrors() on KuduSession. These methods allow you to count and +retrieve outstanding row errors when configuring sessions with AUTO_FLUSH_BACKGROUND.

      +
    • +
    • +

      New server-level metrics allow you to monitor CPU usage and context switching.

      +
    • +
    • +

      Kudu now builds on RHEL 7, CentOS 7, and SLES 12. Extra instructions are included +for SLES 12.

      +
    • +
    +
    +
    +
    +

    Fixed Issues

    +
    +
      +
    • +

      KUDU-1288 fixes a severe file descriptor +leak, which could previously only be resolved by restarting the tablet server.

      +
    • +
    • +

      KUDU-1250 fixes a hang in the Java +client when processing an in-flight batch and the previous batch encountered an error.

      +
    • +
    +
    +
    +
    +

    Other noteworthy changes

    +
    +
      +
    • +

      The file block manager’s performance was improved, but it is still not recommended for +real-world use.

      +
    • +
    • +

      The master now attempts to spread tablets more evenly across the cluster during +table creation. This has no impact on existing tables, but will improve the speed +at which under-replicated tablets are re-replicated after a tablet server failure.

      +
    • +
    • +

      All licensing documents have been modified to adhere to ASF guidelines.

      +
    • +
    • +

      Kudu now requires an out-of-tree build directory. Review the build instructions +for additional information.

      +
    • +
    • +

      The C` client library is now explicitly built against the +link:https://gcc.gnu.org/onlinedocs/libstdc/manual/using_dual_abi.html[old gcc5 ABI]. +If you use gcc5 to build a Kudu application, your application must use the old ABI +as well. This is typically achieved by defining the `_GLIBCXX_USE_CXX11_ABI macro +at compile-time when building your application. For more information, see the +previous link and link:http://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/.

      +
    • +
    • +

      The Python client is no longer considered experimental.

      +
    • +
    +
    +
    +
    +
    +
    +

    Release notes specific to 0.6.0

    +
    +
    +

    The 0.6.0 release contains incremental improvements and bug fixes. The most notable +changes are:

    +
    +
    +
      +
    • +

      The Java client’s CreateTableBuilder and AlterTableBuilder classes have been renamed +to CreateTableOptions and AlterTableOptions. Their methods now also return this objects, +allowing them to be used as builders.

      +
    • +
    • +

      The Java client’s AbstractKuduScannerBuilder#maxNumBytes() setter is now called +batchSizeBytes as is the corresponding property in AsyncKuduScanner. This makes it +consistent with the C++ client.

      +
    • +
    • +

      The "kudu-admin" tool can now list and delete tables via its new subcommands +"list_tables" and "delete_table <table_name>".

      +
    • +
    • +

      OSX is now supported for single-host development. Please consult its specific installation +instructions in OS X.

      +
    • +
    +
    +
    +
    +
    +

    Release Notes Specific to 0.5.0

    +
    +
    +

    Kudu 0.5.0 was the first public release. As such, no improvements or changes were +noted in its release notes.

    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/quickstart.html b/releases/1.17.1/docs/quickstart.html new file mode 100644 index 0000000000..f10b10f949 --- /dev/null +++ b/releases/1.17.1/docs/quickstart.html @@ -0,0 +1,491 @@ +--- +title: Apache Kudu Quickstart +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Quickstart

    +
    +
    +
    +

    Follow these instructions to set up and run a local Kudu Cluster using Docker, +and get started using Apache Kudu in minutes.

    +
    +
    + + + + + +
    + + +This is intended for demonstration purposes only and shouldn’t +be used for production or performance/scale testing. +
    +
    +
    +
    +
    +

    Install Docker

    +
    +
    +

    Follow the Docker install documentation +to install docker in your Linux, Mac, or Windows environment.

    +
    +
    +

    Configure the Docker install to have enough resources to run the quickstart guides.

    +
    + +
    +

    A minimum configuration that can run all the quickstart examples comfortably is:

    +
    +
    +
      +
    • +

      4 CPUs

      +
    • +
    • +

      6 GB Memory

      +
    • +
    • +

      50 GB Disk

      +
    • +
    +
    +
    + + + + + +
    + + +You can likely get by with a lower resource configuration, but you may lose some performance and stability. +
    +
    +
    +

    You may also want to read through the Docker getting started guide, but that isn’t a requirement.

    +
    +
    +
    +
    +

    Clone the Repository

    +
    +
    +

    Clone the Apache Kudu repository using Git and change to the kudu directory:

    +
    +
    +
    +
    git clone https://github.com/apache/kudu
    +cd kudu
    +
    +
    +
    +
    +
    +

    Start the Quickstart Cluster

    +
    +
    +

    Set KUDU_QUICKSTART_IP

    +
    +

    Set the KUDU_QUICKSTART_IP environment variable to your ip address:

    +
    +
    +
    +
    export KUDU_QUICKSTART_IP=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 |  awk '{print $2}' | tail -1)
    +
    +
    +
    +
    +

    Bring up the Cluster

    +
    +

    Then use docker-compose to start a cluster with 3 master servers and 5 tablet servers. +When inside the docker network/containers the master addresses will be +kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 and when on the host machine +you can specify the master addresses with localhost:7051,localhost:7151,localhost:7251.

    +
    +
    +
    +
    docker-compose -f docker/quickstart.yml up -d
    +
    +
    +
    + + + + + +
    + + +You can remove the -d flag to run the cluster in the foreground. +
    +
    +
    +
    +

    View the Web-UI

    +
    +

    Once the cluster is started you can view the master web-ui by visiting localhost:8050.

    +
    +
    +
    +

    Check the cluster health

    +
    +

    Use the command below to get a bash shell in the kudu-master-1 container:

    +
    +
    +
    +
    docker exec -it $(docker ps -aqf "name=kudu-master-1") /bin/bash
    +
    +
    +
    +

    You can now run the Kudu ksck tool to verify the cluster is healthy:

    +
    +
    +
    +
    kudu cluster ksck kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251
    +
    +
    +
    +

    Alternatively, if you have a kudu binary available on your host machine, +you can run ksck there via:

    +
    +
    +
    +
    export KUDU_USER_NAME=kudu
    +kudu cluster ksck localhost:7051,localhost:7151,localhost:7251
    +
    +
    +
    + + + + + +
    + + +Setting KUDU_USER_NAME=kudu simplifies using Kudu from various user +accounts in a non-secure environment. +
    +
    +
    + + + + + +
    + + +Remembering master addresses each time when using the kudu command +line tool can be unwieldy. As an alternative to this, +the command line tool +can identify clusters by name. +
    +
    +
    + + + + + +
    + + +Setting environment variables in the current shell session in order to Master +addresses and substituting them later on can also simplify the calls to Kudu CLI +greatly. +
    +
    +
    +
    +
    export KUDU_MASTER_ADDRESSES=localhost:7051,localhost:7151,localhost:7251
    +kudu table list $KUDU_MASTER_ADDRESSES
    +
    +
    +
    +
    +
    +
    +

    Running a Brief Example

    +
    +
    +

    Now that a Kudu cluster is up and running, examples and integrations can be +run against the cluster. The commands below run the java-example against +the quickstart cluster:

    +
    +
    +
    +
    export KUDU_USER_NAME=kudu
    +cd examples/java/java-example
    +mvn package
    +java -DkuduMasters=localhost:7051,localhost:7151,localhost:7251 -jar target/kudu-java-example-1.0-SNAPSHOT.jar
    +
    +
    +
    +
    +
    +

    More Examples

    +
    +
    +

    More complete walkthroughs using the quickstart Kudu cluster can be found in the +examples/quickstart directory. For convenience you can browse them on +Github.

    +
    + +
    +
    +
    +

    Destroying the Cluster

    +
    +
    +

    Once you are done with the quickstart cluster you can shutdown in a couple of ways. +If you ran docker-compose without the -d flag, you can use ctrl + c to +stop the cluster.

    +
    +
    +

    If you ran docker-compose with the -d flag, you can use the following to +gracefully shutdown the cluster:

    +
    +
    +
    +
    docker-compose -f docker/quickstart.yml down
    +
    +
    +
    +

    Another alternative is to stop all of the Kudu containers via:

    +
    +
    +
    +
    docker stop $(docker ps -aqf "name=kudu")
    +
    +
    +
    +

    If you want to remove the cluster state you can also remove the docker +containers and volumes via:

    +
    +
    +
    +
    docker rm $(docker ps -aqf "name=kudu")
    +docker volume rm $(docker volume ls --filter name=kudu -q)
    +
    +
    +
    +
    +
    +

    Troubleshooting

    +
    +
    +

    Viewing the logs

    +
    +

    To view the logs you can use the docker logs command. Below is an example +that will show the logs one of the tablet servers:

    +
    +
    +
    +
    docker logs $(docker ps -aqf "name=kudu-tserver-1")
    +
    +
    +
    +
    +

    Changing the Kudu version

    +
    +

    To change the version of Kudu Docker images used you can override the default value +of latest by setting the KUDU_QUICKSTART_VERSION environment variable.

    +
    +
    +
    +
    export KUDU_QUICKSTART_VERSION="1.14.0"
    +
    +
    +
    +
    +

    Changing the Kudu configuration

    +
    +

    To change the configuration flags passed to the master and tablet servers you +can edit the docker/quickstart.yml file before starting the cluster.

    +
    +
    +
    +

    Killing a Kudu master

    +
    +

    Due to KUDU-1620 master hosts +are always expected to be reachable.

    +
    +
    +
    +
    +
    +

    Next Steps

    +
    + +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/quickstartdev.html b/releases/1.17.1/docs/quickstartdev.html new file mode 100644 index 0000000000..ad78484dcf --- /dev/null +++ b/releases/1.17.1/docs/quickstartdev.html @@ -0,0 +1,93 @@ +--- +title: Quickstart using Bash scripts +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Quickstart using Bash scripts

    +
    +
    +
    +

    Create, start, and stop Kudu cluster using shell scripts

    +
    +
    +
    +
    +

    Start Kudu cluster

    +
    +
    +

    Create and start Kudu cluster with one master and three tablet servers

    +
    +
    +
    +
    cd build/latest
    +../../src/kudu/scripts/start_kudu.sh
    +
    +
    +
    +
    +
    +

    Check Kudu master server web interface

    +
    +
    +

    Open in browser: http://localhost:8765/

    +
    +
    +
    +
    +

    Generate and load some data into Kudu

    +
    +
    +
    +
    ./bin/kudu perf loadgen 127.0.0.1:8764 --keep_auto_table=true --num_rows_per_thread=100000 --run_scan=true
    +
    +
    +
    +
    +
    +

    Query Kudu servers

    +
    +
    +
    +
    ./bin/kudu master get_flags 127.0.0.1:8764
    +./bin/kudu tserver get_flags 127.0.0.1:9870
    +
    +
    +
    +
    +
    +

    Stop Kudu cluster

    +
    +
    +
    +
    ../../src/kudu/scripts/stop_kudu.sh
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/release_notes.html b/releases/1.17.1/docs/release_notes.html new file mode 100644 index 0000000000..5325a5d2a9 --- /dev/null +++ b/releases/1.17.1/docs/release_notes.html @@ -0,0 +1,876 @@ +--- +title: Apache Kudu 1.17.1 Release Notes +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-30 12:07:52 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu 1.17.1 Release Notes

    +
    +
    +
    +

    Apache Kudu 1.17.1 is a maintenance release which fixes several bugs and build issues seen +in Kudu 1.17.0.

    +
    +
    +
    +
    +

    Upgrade Notes

    +
    + +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed issue where unexpected behavior was seen when trying to drop an unbounded range +in a table using hash and range partitioned schema and created in Kudu 1.16.0 or earlier +(see KUDU-3515).

      +
    • +
    • +

      Upgraded 3rd-party libunwind to fix issues seen with aarch64, in particular Graviton3 instances.

      +
    • +
    • +

      Fixed issue where flushing of data in batches causes index out of bound exception +if the table schema has changed (see KUDU-3483).

      +
    • +
    • +

      Fixed crash of Kudu servers when system time is being synchronized by PTPd +(see KUDU-3521).

      +
    • +
    • +

      Fixed file descriptor leak issue when issues are encountered during encryption-at-rest +(see KUDU-3520).

      +
    • +
    • +

      Fixed bug in range-aware tablet replica placement causing Kudu master to crash +(see KUDU-3532).

      +
    • +
    • +

      Fixed NPE thrown by Kudu Java client when establishing a connection to a Kudu server +in busy clusters.

      +
    • +
    • +

      Fixed issue when changing multi-master configuration through kudu command line tools +(see KUDU-3491).

      +
    • +
    • +

      Do not expose non-arithmetic gauges via Prometheus metrics. +(see KUDU-3549).

      +
    • +
    • +

      Optimizations around tombstoned tablets to reduce resource usage in specific scenarios +(see KUDU-3486 and KUDU-3535).

      +
    • +
    • +

      Fixed the IN-list predicate pruning to get the right hash schema based on specific +partition’s lower bound key (see KUDU-3564).

      +
    • +
    • +

      Fixed the issue of unexpectedly setting a newly added column cell to its default value +when a C++ client application was using stale table schema +(see KUDU-3495).

      +
    • +
    • +

      Fixed scan issues where an unexpected predicate was introduced +(see KUDU-3518).

      +
    • +
    • +

      Upgraded Netty to version 4.1.110.Final, addressing the well-known +CVE.

      +
    • +
    • +

      Removed the dependency on sse2neon by rewriting SSE2 and AVX code +with native NEON instructions.

      +
    • +
    • +

      Upgraded 3rd-party curl to version 8.4.0.

      +
    • +
    • +

      Upgraded 3rd-party gperftools to version 2.13.

      +
    • +
    • +

      Fixed integer overflow in available space metrics +(see KUDU-3562).

      +
    • +
    • +

      Fixed an issue where altering the number of columns in tables with per-range hash +schemas causes the table to become unusable +(see KUDU-3577).

      +
    • +
    • +

      Fixed heap-use-after-free and data races in MajorDeltaCompactionOp when AlterTablet +is running (see KUDU-3570).

      +
    • +
    • +

      Fixed data race in CFileSet::Iterator::OptimizePKPredicates() +(see KUDU-3569).

      +
    • +
    • +

      Fixed memory barriers in concurrent binary tree implementation which causes +failures in ARM platform as ARM allows stores to memory locations not +necessarily in program order.

      +
    • +
    • +

      Fixed an issue where major compactions would fail on empty rowsets due to a +regression from a previous fix +(see KUDU-3619).

      +
    • +
    • +

      Fixed heap-use-after-free and undefined behavior in OpDriver +(see KUDU-3620).

      +
    • +
    • +

      Added support for Python versions 3.9 and 3.10.

      +
    • +
    • +

      Simplified setting up of Kudu Python client by automatically installing +the supported version of Cython during the setup process.

      +
    • +
    • +

      Implemented code changes to address the compiler bugs introduced in g10 +and g11 (see commit).

      +
    • +
    • +

      Fixed docker scripts for Ubuntu 22.04 and later to use Python3 to deal with +the Python package name changes.

      +
    • +
    +
    +
    +
    +
    +

    Obsoletions

    +
    +
    +
      +
    • +

      Discontinued support for Python verions 3.0 to 3.5.

      +
    • +
    +
    +
    +
    +

    Apache Kudu 1.17.0 Release Notes

    +
    +

    Upgrade Notes

    +
    +
    +
      +
    • +

      TLSv1.2 is the minimum TLS protocol version that newer Kudu clients are able to use for secure +Kudu RPC. The newer clients are not able to communicate with servers built and run with OpenSSL of +versions prior to 1.0.1. If such a Kudu cluster is running on a deprecated OS versions +(e.g., RHEL/CentOS 6.4), the following options are available to work around the incompatibility:

      +
      +
        +
      • +

        use Kudu clients of 1.14 or earlier versions to communicate with such cluster

        +
      • +
      • +

        disable RPC encryption and authentication for Kudu RPC, setting --rpc_authentication=disabled +and --rpc_encryption=disabled for all masters and tablet servers in the cluster to allow the new +client to work with the old cluster

        +
      • +
      +
      +
    • +
    • +

      TLSv1.2 is the minimum TLS protocol version that newer Kudu servers are able to use for secure +Kudu RPC. The newer servers are not able to communicate using secure Kudu RPC with Kudu C++ client +applications linked with libkudu_client library built against OpenSSL of versions prior to 1.0.1 or +with Java client applications run with outdated Java runtime that doesn’t support TLSv1.2. The +following options are available to work around this incompatibility:

      +
      +
        +
      • +

        customize settings for the --rpc_tls_min_protocol and --rpc_tls_ciphers flags on all masters +and tablet servers in the cluster, setting --rpc_tls_min_protocol=TLSv1 and adding TLSv1-capable +cipher suites (e.g. AES128-SHA and AES256-SHA) into the list

        +
      • +
      • +

        disable RPC encryption and authentication for Kudu RPC, setting --rpc_authentication=disabled +and --rpc_encryption=disabled for all masters and tablet servers in the cluster to allow such Kudu +clients to work with newer clusters

        +
      • +
      +
      +
    • +
    +
    +
    +
    +
    +

    Obsoletions

    +
    + +
    +
    +
    +

    Deprecations

    +
    +
    +

    Support for Python 2.x and Python 3.4 and earlier is deprecated and may be removed in the next minor +release.

    +
    +
    +
    +
    +

    New features

    +
    +
    +
      +
    • +

      Kudu now supports encrypting data at rest. Kudu supports AES-128-CTR, AES-192-CTR, and +AES-256-CTR ciphers to encrypt data, supports Apache Ranger KMS and Apache Hadoop KMS. See +Data at rest for more details.

      +
    • +
    • +

      Kudu now supports range-specific hash schemas for tables. It’s now possible to add ranges with +their own unique hash schema independent of the table-wide hash schema. This can be done at table +creation time and while altering the table. It’s controlled by the --enable_per_range_hash_schemas +master flag which is enabled by default (see +KUDU-2671).

      +
    • +
    • +

      Kudu now supports soft-deleted tables. Kudu keeps a soft-deleted table aside for a period of time +(a.k.a. reservation), not purging the data yet. The table can be restored/recalled back before its +reservation expires. The reservation period can be customized via Kudu client API upon +soft-deleting the table. The default reservation period is controlled by the +--default_deleted_table_reserve_seconds master’s flag. +NOTE: As of Kudu 1.17 release, the soft-delete functionality is not supported when HMS integration +is enabled, but this should be addressed in a future release (see +KUDU-3326).

      +
    • +
    • +

      Introduced Auto-Incrementing column. An auto-incrementing column is populated on the server side +with a monotonically increasing counter. The counter is local to every tablet, i.e. each tablet has +a separate auto incrementing counter (see +KUDU-1945).

      +
    • +
    • +

      Kudu now supports experimental non-unique primary key. When a table with non-unique primary key is +created, an Auto-Incrementing column named auto_incrementing_id is added automatically to the +table as the key column. The non-unique key columns and the Auto-Incrementing column together form +the effective primary key (see KUDU-1945).

      +
    • +
    • +

      Introduced Immutable column. It’s useful to represent a semantically constant entity (see +KUDU-3353).

      +
    • +
    • +

      An experimental feature is added to Kudu that allows it to automatically rebalance tablet leader +replicas among tablet servers. The background task can be enabled by setting the +--auto_leader_rebalancing_enabled flag on the Kudu masters. By default, the flag is set to 'false' +(see KUDU-3390).

      +
    • +
    • +

      Introduced an experimental feature: authentication of Kudu client applications to Kudu servers +using JSON Web Tokens (JWT). The JWT-based authentication can be used as an alternative to Kerberos +authentication for Kudu applications running at edge nodes where configuring Kerberos might be +cumbersome. Similar to Kerberos credentials, a JWT is considered a primary client’s credentials. +The server-side capability of JWT-based authentication is controlled by the +--enable_jwt_token_auth flag (set 'false' by default). When the flat set to 'true', a Kudu server +is capable of authenticating Kudu clients using the JWT provided by the client during RPC connection +negotiation. From its side, a Kudu client authenticates a Kudu server by verifying its TLS +certificate. For the latter to succeed, the client should use Kudu client API to add the cluster’s +IPKI CA certificate into the list of trusted certificates.

      +
    • +
    • +

      The C++ client scan token builder can now create multiple tokens per tablet. So, it’s now possible +to dynamically scale the set of readers/scanners fetching data from a Kudu table in parallel. To use +this functionality, use the newly introduced SetSplitSizeBytes() method of the Kudu client API to +specify how many bytes of data each token should scan +(see KUDU-3393).

      +
    • +
    • +

      Kudu’s default replica placement algorithm is now range and table aware to prevent hotspotting +unlike the old power of two choices algorithm. New replicas from the same range are spread evenly +across available tablet servers, the table the range belongs to is used as a tiebreaker (see +KUDU-3476).

      +
    • +
    • +

      Statistics on various write operations is now available via Kudu client API at the session level +(see KUDU-3351, +KUDU-3365).

      +
    • +
    • +

      Kudu now exposes all its metrics except for string gauges in Prometheus format via the embedded +webserver’s /metrics_prometheus endpoint (see +KUDU-3375).

      +
    • +
    • +

      It’s now possible to deploy Kudu clusters in an internal network (e.g. in K8S environment) and +avoid internal traffic (i.e. tservers and masters) using advertised addresses and allow Kudu clients +running in external networks. This can be achieved by customizing the setting for the newly +introduced --rpc_proxy_advertised_addresses and --rpc_proxied_addresses server flags. This might +be useful in various scenarios where Kudu cluster is running in an internal network behind a +firewall, but Kudu clients are running at the other side of the firewall using JWT to authenticate +to Kudu servers, and the RPC traffic between to the Kudu cluster is forwarded through a TCP/SOCKS +proxy (see KUDU-3357).

      +
    • +
    • +

      It’s now possible to clean up metadata for deleted tables/tablets from Kudu master’s in-memory map +and the sys.catalog table. This is useful in reducing the memory consumption and bootstrap time +for masters. This can be achieved by customizing the setting for the newly introduced +--enable_metadata_cleanup_for_deleted_tables_and_tablets and +--metadata_for_deleted_table_and_tablet_reserved_secs kudu-master’s flags.

      +
    • +
    • +

      It’s now possible to perform range rebalancing for a single table per run in the kudu cluster +rebalance CLI tool by setting the newly introduced --enable_range_rebalancing tool flag. This is +useful to address various hot-spotting issues when too many tablet replicas from the same range (but +different hash buckets) were placed at the same tablet server. The hot-spotting issue in tablet +replica placement should be address in a follow-up releases, see +KUDU-3476 for details.

      +
    • +
    • +

      It’s now possible to compact log container metadata files at runtime. This is useful in +reclaiming the disk space once the container becomes full. This feature can be turned on/off by +customizing the setting for the newly introduced --log_container_metadata_runtime_compact +kudu-tserver flag (see KUDU-3318).

      +
    • +
    • +

      New CLI tools kudu master/tserver set_flag_for_all are added to update flags for all masters and +tablet servers in a Kudu cluster at once.

      +
    • +
    • +

      A new CLI tool kudu local_replica copy_from_local is added to copy tablet replicas' data at the +filesystem level. It can be used when adding disks and for quick rebalancing of data between disks, +or can be used when migrating data from one data directory to the other. It will make data more +dense than data on old data directories too.

      +
    • +
    • +

      A new CLI tool kudu diagnose parse_metrics is added to parse metrics out of diagnostic logs (see +KUDU-2353).

      +
    • +
    • +

      A new CLI tool kudu local_replica tmeta delete_rowsets is added to delete rowsets from the +tablet.

      +
    • +
    • +

      A sanity check has been added to detect wall clock jumps, it is controlled by the newly introduced +--wall_clock_jump_detection and --wall_clock_jump_threshold_sec flags. That should help to +address issues reported in KUDU-2906.

      +
    • +
    +
    +
    +
    +
    +

    Optimizations and improvements

    +
    +
    +
      +
    • +

      Reduce the memory consumption if there are frequent alter schema operations for tablet servers +(see KUDU-3197).

      +
    • +
    • +

      Reduce the memory consumption by implementing memory budgeting for performing RowSet merge +compactions (i.e. CompactRowSetsOp maintenance operations). Several flags have been introduced, +while the --rowset_compaction_memory_estimate_enabled flag indicates whether to check for +available memory necessary to run CompactRowSetsOp maintenance operations (see +KUDU-3406).

      +
    • +
    • +

      Optimized evaluating in-list predicates based on RowSet PK bounds. A tablet server can now +effectively skip rows when the predicate is on a non-prefix part of the primary key and the leading +columns' cardinality is 1 (see KUDU-1644).

      +
    • +
    • +

      Speed up CLI tool kudu cluster rebalance to run intra-location rebalancing in parallel for +location-aware Kudu cluster. Theoretically, running intra-location rebalancing in parallel might +shorten the runtime by N times compared with running sequentially, where N is the number of +locations in a Kudu cluster. This can be achieved by customizing the setting for the newly +introduced --intra_location_rebalancing_concurrency flag.

      +
    • +
    • +

      Two new flags --show_tablet_partition_info and --show_hash_partition_info have been introduced +for the kudu table list CLI tool to show the corresponding relationship between partitions and +tablet ids, and it’s possible to specify the output format by specifying +--list_table_output_format flag.

      +
    • +
    • +

      A new flag --create_table_replication_factor has been introduced for the kudu table copy CLI +tool to specify the replication factor for the destination table.

      +
    • +
    • +

      A new flag --create_table_hash_bucket_nums has been introduced for the kudu table copy CLI +tool to specify the number of hash buckets in each hash dimension for the destination table.

      +
    • +
    • +

      A new flag --tables has been introduced for the kudu master unsafe_rebuild CLI tool to rebuild +the metadata of specified tables on Kudu master, and it has no effect on the other tables.

      +
    • +
    • +

      A new flag --fault_tolerant has been introduced for the kudu table copy/scan and +kudu perf table_scan CLI tool to make the scanner fault-tolerant and the results returned in +primary key order per-tablet.

      +
    • +
    • +

      A new flag --show_column_comment has been introduced for the kudu table describe CLI tool to +show column comments.

      +
    • +
    • +

      A new flag --current_leader_uuid has been introduced for the kudu tablet leader_step_down CLI +tool to conveniently step down leader replica using a given UUID.

      +
    • +
    • +

      A new flag --use_readable_format has been introduced for the kudu local_replica dump rowset +CLI tool to indicate whether to dump the primary key in human readable format. Besides, another flag +--dump_primary_key_bounds_only has been introduced to this tool to indicate whether to dump rowset +primary key bounds only.

      +
    • +
    • +

      A new flag --tables has been introduced for the kudu local_replica delete CLI tool to +conveniently delete multiple tablets by table name.

      +
    • +
    • +

      It’s now possible to specify owner and comment fields when using the kudu table create CLI +tool to create tables.

      +
    • +
    • +

      It’s now possible to use the kudu local_replica copy_from_remote CLI tool to copy tablets in a +batch.

      +
    • +
    • +

      It’s now possible to enable or disable auto rebalancer by setting --auto_rebalancing_enabled +flag to Kudu master at runtime.

      +
    • +
    • +

      It’s now possible for kudu tserver/master get_flags CLI tool to filter flags even if the server +side doesn’t support flags filter function (the latter is for Kudu servers of releases prior to +1.12).

      +
    • +
    • +

      Added a CSP (Content Security Policy) header to prevent security scanners flagging Kudu’s web UI +as vulnerable.

      +
    • +
    • +

      A separated section has been introduced to include all non-default flags specially on path /varz +of Kudu’s web UI.

      +
    • +
    • +

      A separated section has been introduced to show slow scans on path /scans of Kudu’s web UI, it +can be enabled by tweaking the --show_slow_scans flag for tablet servers. A scan is called 'slow' +if it takes more time than defined by --slow_scanner_threshold_ms.

      +
    • +
    • +

      A new Data retained column has been introduced to the Non-running operations section to +indicate the approximate amount of disk space that would be freed on path /maintenance-manager of +Kudu’s web UI.

      +
    • +
    • +

      The default value of tablet history retention time (controlled by --tablet_history_max_age_sec +flag) on Kudu master has been reduced from 7 days to 5 minutes. It’s not necessary to keep such a +long history of the system tablet since masters always scan data at the latest available snapshot.

      +
    • +
    • +

      Kudu can now be built and run on Apple M chips and macOS 11, 12. As with prior releases, Kudu’s +support for macOS is experimental, and should only be used for development.

      +
    • +
    +
    +
    +
    +
    +

    Fixed Issues

    +
    +
    +
      +
    • +

      Fixed an issue where historical MVCC data older than the ancient history mark (configured by +--tablet_history_max_age_sec) that had only DELETE operations wouldn’t be compacted correctly. As +a result, the ancient history data could not be GCed if the tablet had been created by Kudu servers +of releases prior to 1.10 (those versions did not support live row counting) (see +KUDU-3367).

      +
    • +
    • +

      Fixed an issue where the Kudu server could potentially crash on malicious negotiation attempts.

      +
    • +
    • +

      Fixed a bug when a Kudu tablet server started under an OS account that had no permission to access +tablet metadata files would stuck in the tablet bootstrapping phase (see +KUDU-3419).

      +
    • +
    • +

      Fixed a bug in the C++ client where toggling SetFaultTolerant(false) would not work.

      +
    • +
    • +

      Fixed a bug in the C++ client where toggling KuduScanner::SetSelection() would not work.

      +
    • +
    • +

      Fixed a bug in the Java client where under certain conditions same rows would be returned multiple +times even if the scanner was configured to be fault-tolerant.

      +
    • +
    • +

      Fixed a bug in the Java client where the last propagated timestamp and resource metrics would not +be updated in subsequent scan responses.

      +
    • +
    • +

      Fixed a bug in the Java client where it would not invalidate stale locations of the leader master.

      +
    • +
    • +

      Fixed a bug in the Kudu HMS client that was causing failures when scanning Kudu tables from Hive +(see KUDU-3401).

      +
    • +
    • +

      Fixed a bug where the kudu table copy CLI tool would fail copying an unpartitioned table.

      +
    • +
    • +

      Fixed a bug where the kudu master unsafe_rebuild CLI tool would rebuild the system catalog with +outdated schemas of tables that were unhealthy during the rebuild process.

      +
    • +
    • +

      Fixed a bug where kudu table copy failed to copy tables that had STRING, BINARY or VARCHAR type +of columns in their range keys (see +KUDU-3306).

      +
    • +
    • +

      Fixed a bug of the kudu table copy CLI tool crashing if encountering an error while copying rows +to the destination table. The tool now exits gracefully and provides additional information for +troubleshooting in such a condition.

      +
    • +
    • +

      Fixed a bug where the kudu local_replica list CLI tool would crash if the --list_detail flag +was enabled.

      +
    • +
    • +

      Fixed a bug when a sub-process running Ranger client would crash when receiving a oversized +message from Kudu master. With the fix, each peer communicating via the Subprocess protocol now +discards an oversized message, logs about the issue, and clears the channel, and is able to receive +further messages after encountering such a condition.

      +
    • +
    • +

      Fixed a bug when a Kudu application linked with kudu_client library would crash with SIGILL if +running on a machine lacking SSE4.2 support (see +KUDU-3248).

      +
    • +
    • +

      Fixed a bug where the subprocess crashes in case of receiving large messages from the Kudu master +when the pipe gets full to transport the entire message in one go or when there is a delay in +sending from the master (see +KUDU-3489).

      +
    • +
    +
    +
    +
    +
    +

    Wire Protocol compatibility

    +
    +
    +

    Kudu 1.17.0 is wire-compatible with previous versions of Kudu:

    +
    +
    +
      +
    • +

      Kudu 1.17 clients may connect to servers running Kudu 1.0 or later. If the client uses +features that are not available on the target server, an error will be returned.

      +
    • +
    • +

      Rolling upgrade between Kudu 1.16 and Kudu 1.17 servers is believed to be possible +though has not been sufficiently tested. Users are encouraged to shut down all nodes +in the cluster, upgrade the software, and then restart the daemons on the new version.

      +
    • +
    • +

      Kudu 1.0 clients may connect to servers running Kudu 1.17 with the exception of the +below-mentioned restrictions regarding secure clusters.

      +
    • +
    +
    +
    +

    The authentication features introduced in Kudu 1.3 place the following limitations +on wire compatibility between Kudu 1.17 and versions earlier than 1.3:

    +
    +
    +
      +
    • +

      If a Kudu 1.17 cluster is configured with authentication or encryption set to "required", +clients older than Kudu 1.3 will be unable to connect.

      +
    • +
    • +

      If a Kudu 1.17 cluster is configured with authentication and encryption set to "optional" +or "disabled", older clients will still be able to connect.

      +
    • +
    +
    +
    +
    +
    +

    Incompatible Changes in Kudu 1.17.0

    +
    +
    +

    Client Library Compatibility

    +
    +
      +
    • +

      The Kudu 1.17 Java client library is API- and ABI-compatible with Kudu 1.16. Applications written +against Kudu 1.16 will compile and run against the Kudu 1.17 client library. Applications written +against Kudu 1.17 will compile and run against the Kudu 1.16 client library unless they use the +API newly introduced in Kudu 1.17.

      +
    • +
    • +

      The Kudu 1.17 C++ client is API- and ABI-forward-compatible with Kudu 1.16. Applications written +and compiled against the Kudu 1.16 client library will run without modification against the Kudu +1.17 client library. Applications written and compiled against the Kudu 1.17 client library will +run without modification against the Kudu 1.16 client library unless they use the API newly +introduced in Kudu 1.17.

      +
    • +
    • +

      The Kudu 1.17 Python client is API-compatible with Kudu 1.16. Applications +written against Kudu 1.16 will continue to run against the Kudu 1.17 client +and vice-versa.

      +
    • +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    Please refer to the Known Issues and Limitations section of the +documentation.

    +
    +
    +
    +
    +

    Contributors

    +
    +
    +

    Kudu 1.17.0 includes contributions from 26 people, including 12 first-time contributors:

    +
    +
    +
      +
    • +

      Ashwani Raina

      +
    • +
    • +

      Hari Reddy

      +
    • +
    • +

      Kurt Deschler

      +
    • +
    • +

      Marton Greber

      +
    • +
    • +

      Song Jiacheng

      +
    • +
    • +

      Zoltan Martonka

      +
    • +
    • +

      bsglz

      +
    • +
    • +

      mammadli.khazar

      +
    • +
    • +

      wzhou-code

      +
    • +
    • +

      xinghuayu007

      +
    • +
    • +

      xlwh

      +
    • +
    • +

      Ádám Bakai

      +
    • +
    +
    +
    +
    + +
    +

    Installation Options

    +
    +
    +

    For full installation details, see Kudu Installation.

    +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/scaling_guide.html b/releases/1.17.1/docs/scaling_guide.html new file mode 100644 index 0000000000..07f747b660 --- /dev/null +++ b/releases/1.17.1/docs/scaling_guide.html @@ -0,0 +1,477 @@ +--- +title: Apache Kudu Scaling Guide +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Scaling Guide

    +
    +
    +
    +

    This document describes in detail how Kudu scales with respect to various system resources, +including memory, file descriptors, and threads. See the +scaling limits for the maximum recommended parameters of a Kudu +cluster. They can be used to estimate roughly the number of servers required for a given quantity +of data.

    +
    +
    + + + + + +
    + + +The recommendations and conclusions here are only approximations. Appropriate numbers +depend on use case. There is no substitute for measurement and monitoring of resources used during a +representative workload. +
    +
    +
    +
    +
    +

    Terms

    +
    +
    +

    We will use the following terms:

    +
    +
    +
      +
    • +

      hot replica: A tablet replica that is continuously receiving writes. For example, in a time +series use case, tablet replicas for the most recent range partition on a time column would be +continuously receiving the latest data, and would be hot replicas.

      +
    • +
    • +

      cold replica: A tablet replica that is not hot, i.e. a replica that is not frequently receiving +writes, for example, once every few minutes. A cold replica may be read from. For example, in a time +series use case, tablet replicas for previous range partitions on a time column would not receive +writes at all, or only occasionally receive late updates or additions, but may be constantly read.

      +
    • +
    • +

      data on disk: The total amount of data stored on a tablet server across all disks, +post-replication, post-compression, and post-encoding.

      +
    • +
    +
    +
    +
    +
    +

    Example Workload

    +
    +
    +

    The sections below perform sample calculations using the following parameters:

    +
    +
    +
      +
    • +

      200 hot replicas per tablet server

      +
    • +
    • +

      1600 cold replicas per tablet server

      +
    • +
    • +

      8TB of data on disk per tablet server (about 4.5GB/replica)

      +
    • +
    • +

      512MB block cache

      +
    • +
    • +

      40 cores per server

      +
    • +
    • +

      limit of 32000 file descriptors per server

      +
    • +
    • +

      a read workload with 1 frequently-scanned table with 40 columns

      +
    • +
    +
    +
    +

    This workload resembles a time series use case, where the hot replicas correspond to the most recent +range partition on time.

    +
    +
    +
    +
    +

    Memory

    +
    +
    +

    The flag --memory_limit_hard_bytes determines the maximum amount of memory that a Kudu tablet +server may use. The amount of memory used by a tablet server scales with data size, write workload, +and read concurrency. The following table provides numbers that can be used to compute a rough +estimate of memory usage.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Tablet Server Memory Usage
    TypeMultiplierDescription

    Memory required per TB of data on disk

    1.5GB per 1TB data on disk

    Amount of memory per unit of data on disk required for +basic operation of the tablet server.

    Hot Replicas' MemRowSets and DeltaMemStores

    minimum 128MB per hot replica

    Minimum amount of data +to flush per MemRowSet flush. For most use cases, updates should be rare compared to inserts, so the +DeltaMemStores should be very small.

    Scans

    256KB per column per core for read-heavy tables

    Amount of memory used by scanners, and which +will be constantly needed for tables which are constantly read.

    Block Cache

    Fixed by --block_cache_capacity_mb (default 512MB)

    Amount of memory reserved for use by the +block cache.

    +
    +

    Using this information for the example load gives the following breakdown of memory usage:

    +
    + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2. Example Tablet Server Memory Usage
    TypeAmount

    8TB data on disk

    8TB * 1.5GB / 1TB = 12GB

    200 hot replicas

    200 * 128MB = 25.6GB

    1 40-column, frequently-scanned table

    40 * 40 * 256KB = 409.6MB

    Block Cache

    --block_cache_capacity_mb=512 = 512MB

    Expected memory usage

    38.5GB

    Recommended hard limit

    52GB

    +
    +

    Using this as a rough estimate of Kudu’s memory usage, select a memory limit so that the expected +memory usage of Kudu is around 50-75% of the hard limit.

    +
    +
    +

    Verifying if a Memory Limit is sufficient

    +
    +

    After configuring an appropriate memory limit with --memory_limit_hard_bytes, run a workload and +monitor the Kudu tablet server process’s RAM usage. The memory usage should stay around 50-75% of +the hard limit, with occasional spikes above 75% but below 100%. If the tablet server runs above 75% +consistently, the memory limit should be increased.

    +
    +
    +

    Additionally, it’s also useful to monitor the logs for memory rejections, which look like:

    +
    +
    +
    +
    Service unavailable: Soft memory limit exceeded (at 96.35% of capacity)
    +
    +
    +
    +

    and watch the memory rejections metrics:

    +
    +
    +
      +
    • +

      leader_memory_pressure_rejections

      +
    • +
    • +

      follower_memory_pressure_rejections

      +
    • +
    • +

      transaction_memory_pressure_rejections

      +
    • +
    +
    +
    +

    Occasional rejections due to memory pressure are fine and act as backpressure to clients. Clients +will transparently retry operations. However, no operations should time out.

    +
    +
    +
    +
    +
    +

    File Descriptors

    +
    +
    +

    Processes are allotted a maximum number of open file descriptors (also referred to as fds). If a +tablet server attempts to open too many fds, it will typically crash with a message saying something +like "too many open files". The following table summarizes the sources of file descriptor usage in a +Kudu tablet server process:

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 3. Tablet Server File Descriptor Usage
    TypeMultiplierDescription

    File cache

    Fixed by --block_manager_max_open_files (default 40% of process maximum)

    Maximum allowed open fds reserved for use by +the file cache.

    Hot replicas

    2 per WAL segment, 1 per WAL index

    Number of fds used by hot replicas. See below +for more explanation.

    Cold replicas

    3 per cold replica

    Number of fds used per cold replica: 2 for the single WAL +segment and 1 for the single WAL index.

    +
    +

    Every replica has at least one WAL segment and at least one WAL index, and should have the same +number of segments and indices; however, the number of segments and indices can be greater for a +replica if one of its peer replicas is falling behind. WAL segment and index fds are closed as WALs +are garbage collected.

    +
    +
    +

    Using this information for the example load gives the following breakdown of file descriptor usage, +under the assumption that some replicas are lagging and using 10 WAL segments:

    +
    + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 4. Example Tablet Server File Descriptor Usage
    TypeAmount

    file cache

    40% * 32000 fds = 12800 fds

    1600 cold replicas

    1600 cold replicas * 3 fds / cold replica = 4800 fds

    200 hot replicas

    (2 / segment * 10 segments/hot replica * 200 hot replicas) + (1 / index * 10 indices / hot replica * 200 hot replicas) = 6000 fds

    Total

    23600 fds

    +
    +

    So for this example, the tablet server process has about 32000 - 23600 = 8400 fds to spare.

    +
    +
    +

    There is typically no downside to configuring a higher file descriptor limit if approaching the +currently configured limit.

    +
    +
    +
    +
    +

    Threads

    +
    +
    +

    Processes are allotted a maximum number of threads by the operating system, and this limit is +typically difficult or impossible to change. Therefore, this section is more informational than +advisory.

    +
    +
    +

    If a Kudu tablet server’s thread count exceeds the OS limit, it will crash, usually with a message +in the logs like "pthread_create failed: Resource temporarily unavailable". If the system thread +count limit is exceeded, other processes on the same node may also crash.

    +
    +
    +

    Threads and threadpools are used all over Kudu for various purposes, but the number of threads found +in nearly all of these does not scale with load or data/tablet size; instead, the number of threads +is either a hardcoded constant, a constant defined by a configuration parameter, or based on a +static dimension (such as the number of CPU cores).

    +
    +
    +

    The only exception to this is the WAL append thread, one of which exists for every "hot" replica. +Note that all replicas may be considered hot at startup, so tablet servers' thread usage will +generally peak when started and settle down thereafter.

    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/schema_design.html b/releases/1.17.1/docs/schema_design.html new file mode 100644 index 0000000000..1e61e6cde5 --- /dev/null +++ b/releases/1.17.1/docs/schema_design.html @@ -0,0 +1,1133 @@ +--- +title: Apache Kudu Schema Design +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:39:22 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Schema Design

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    Overview

    +
    +
    +

    Kudu tables have a structured data model similar to tables in a traditional +RDBMS. Schema design is critical for achieving the best performance and +operational stability from Kudu. Every workload is unique, and there is no +single schema design that is best for every table. This document outlines +effective schema design philosophies for Kudu, paying particular attention to +where they differ from approaches used for traditional RDBMS schemas.

    +
    +
    +

    At a high level, there are three concerns when creating Kudu tables: +column design, primary key design, and +partitioning design. Of these, only partitioning will be a new +concept for those familiar with traditional non-distributed relational +databases. The final sections discuss altering the schema of an +existing table, and known limitations with regard to +schema design.

    +
    +
    +
    +
    +

    The Perfect Schema

    +
    +
    +

    The perfect schema would accomplish the following:

    +
    +
    +
      +
    • +

      Data would be distributed in such a way that reads and writes are spread +evenly across tablet servers. This is impacted by partitioning.

      +
    • +
    • +

      Tablets would grow at an even, predictable rate and load across tablets would +remain steady over time. This is most impacted by partitioning.

      +
    • +
    • +

      Scans would read the minimum amount of data necessary to fulfill a query. This +is impacted mostly by primary key design, but partitioning also plays a role +via partition pruning.

      +
    • +
    +
    +
    +

    The perfect schema depends on the characteristics of your data, what you need to do +with it, and the topology of your cluster. Schema design is the single most important +thing within your control to maximize the performance of your Kudu cluster.

    +
    +
    +
    +
    +

    Column Design

    +
    +
    +

    A Kudu Table consists of one or more columns, each with a defined type. Columns +that are not part of the primary key may be nullable. Supported +column types include:

    +
    +
    +
      +
    • +

      boolean

      +
    • +
    • +

      8-bit signed integer

      +
    • +
    • +

      16-bit signed integer

      +
    • +
    • +

      32-bit signed integer

      +
    • +
    • +

      64-bit signed integer

      +
    • +
    • +

      date (32-bit days since the Unix epoch)

      +
    • +
    • +

      unixtime_micros (64-bit microseconds since the Unix epoch)

      +
    • +
    • +

      single-precision (32-bit) IEEE-754 floating-point number

      +
    • +
    • +

      double-precision (64-bit) IEEE-754 floating-point number

      +
    • +
    • +

      decimal (see Decimal Type for details)

      +
    • +
    • +

      varchar (see Varchar Type for details)

      +
    • +
    • +

      UTF-8 encoded string (up to 64KB uncompressed)

      +
    • +
    • +

      binary (up to 64KB uncompressed)

      +
    • +
    +
    +
    +

    Kudu takes advantage of strongly-typed columns and a columnar on-disk storage +format to provide efficient encoding and serialization. To make the most of +these features, columns should be specified as the appropriate type, rather than +simulating a 'schemaless' table using string or binary columns for data which +may otherwise be structured. In addition to encoding, Kudu allows compression to +be specified on a per-column basis.

    +
    +
    + + + + + +
    + + +
    No Version or Timestamp Column
    +Kudu does not provide a version or timestamp column to track changes to a row. +If version or timestamp information is needed, the schema should include an +explicit version or timestamp column. +
    +
    +
    +

    Decimal Type

    +
    +

    The decimal type is a numeric data type with fixed scale and precision suitable for +financial and other arithmetic calculations where the imprecise representation and +rounding behavior of float and double make those types impractical. The decimal +type is also useful for integers larger than int64 and cases with fractional values +in a primary key.

    +
    +
    +

    The decimal type is a parameterized type that takes precision and scale type +attributes.

    +
    +
    +

    Precision represents the total number of digits that can be represented by the +column, regardless of the location of the decimal point. This value must be between +1 and 38 and has no default. For example, a precision of 4 is required to represent +integer values up to 9999, or to represent values up to 99.99 with two fractional +digits. You can also represent corresponding negative values, without any +change in the precision. For example, the range -9999 to 9999 still only requires +a precision of 4.

    +
    +
    +

    Scale represents the number of fractional digits. This value must be between 0 +and the precision. A scale of 0 produces integral values, with no fractional part. +If precision and scale are equal, all of the digits come after the decimal point. +For example, a decimal with precision and scale equal to 3 can represent values +between -0.999 and 0.999.

    +
    +
    +

    Performance considerations:

    +
    +
    +

    Kudu stores each value in as few bytes as possible depending on the precision +specified for the decimal column. For that reason it is not advised to just use +the highest precision possible for convenience. Doing so could negatively impact +performance, memory and storage.

    +
    +
    +

    Before encoding and compression:

    +
    +
    +
      +
    • +

      Decimal values with precision of 9 or less are stored in 4 bytes.

      +
    • +
    • +

      Decimal values with precision of 10 through 18 are stored in 8 bytes.

      +
    • +
    • +

      Decimal values with precision greater than 18 are stored in 16 bytes.

      +
    • +
    +
    +
    + + + + + +
    + + +The precision and scale of decimal columns cannot be changed by altering +the table. +
    +
    +
    +
    +

    Varchar Type

    +
    +

    The varchar type is a UTF-8 encoded string (up to 64KB uncompressed) with a +fixed maximum character length. This type is especially useful when migrating +from or integrating with legacy systems that support the varchar type. +If a maximum character length is not required the string type should be +used instead.

    +
    +
    +

    The varchar type is a parameterized type that takes a length attribute.

    +
    +
    +

    Length represents the maximum number of UTF-8 characters allowed. Values +with characters greater than the limit will be truncated. This value must +be between 1 and 65535 and has no default. Note that some other systems +may represent the length limit in bytes instead of characters. That means +that Kudu may be able to represent longer values in the case of multi-byte +UTF-8 characters.

    +
    +
    +
    +

    Column Encoding

    +
    +

    Each column in a Kudu table can be created with an encoding, based on the type +of the column.

    +
    + + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Encoding Types
    Column TypeEncodingDefault

    int8, int16, int32, int64

    plain, bitshuffle, run length

    bitshuffle

    date, unixtime_micros

    plain, bitshuffle, run length

    bitshuffle

    float, double, decimal

    plain, bitshuffle

    bitshuffle

    bool

    plain, run length

    run length

    string, varchar, binary

    plain, prefix, dictionary

    dictionary

    +
    +
    +
    Plain Encoding
    +
    +

    Data is stored in its natural format. For example, int32 +values are stored as fixed-size 32-bit little-endian integers.

    +
    +
    +
    +
    +
    +
    Bitshuffle Encoding
    +
    +

    A block of values is rearranged to store the most +significant bit of every value, followed by the second most significant bit of +every value, and so on. Finally, the result is LZ4 compressed. Bitshuffle +encoding is a good choice for columns that have many repeated values, or values +that change by small amounts when sorted by primary key. The +bitshuffle project has a good overview +of performance and use cases.

    +
    +
    +
    +
    +
    +
    Run Length Encoding
    +
    +

    Runs (consecutive repeated values) are compressed in a +column by storing only the value and the count. Run length encoding is effective +for columns with many consecutive repeated values when sorted by primary key.

    +
    +
    +
    +
    +
    +
    Dictionary Encoding
    +
    +

    A dictionary of unique values is built, and each column +value is encoded as its corresponding index in the dictionary. Dictionary +encoding is effective for columns with low cardinality. If the column values of +a given row set are unable to be compressed because the number of unique values +is too high, Kudu will transparently fall back to plain encoding for that row +set. This is evaluated during flush.

    +
    +
    +
    +
    +
    +
    Prefix Encoding
    +
    +

    Common prefixes are compressed in consecutive column values. +Prefix encoding can be effective for values that share common prefixes, or the +first column of the primary key, since rows are sorted by primary key within +tablets.

    +
    +
    +
    +
    +
    +

    Column Compression

    +
    +

    Kudu allows per-column compression using the LZ4, Snappy, or zlib +compression codecs. By default, columns that are Bitshuffle-encoded are +inherently compressed with LZ4 compression. Otherwise, columns are stored +uncompressed. Consider using compression if reducing storage space is more +important than raw scan performance.

    +
    +
    +

    Every data set will compress differently, but in general LZ4 is the most +performant codec, while zlib will compress to the smallest data sizes. +Bitshuffle-encoded columns are automatically compressed using LZ4, so it is not +recommended to apply additional compression on top of this encoding.

    +
    +
    +
    +
    +
    +

    Primary Key Design

    +
    +
    +

    Every Kudu table must declare a primary key comprised of one or more columns. +Like an RDBMS primary key, the Kudu primary key enforces a uniqueness constraint. +Attempting to insert a row with the same primary key values as an existing row +will result in a duplicate key error.

    +
    +
    +

    Primary key columns must be non-nullable, and may not be a boolean, float +or double type.

    +
    +
    +

    Once set during table creation, the set of columns in the primary key may not +be altered.

    +
    +
    +

    Unlike an RDBMS, Kudu does not provide an explicit auto-incrementing column feature, +so the application must always provide the full primary key during insert.

    +
    +
    +

    Columns which do not satisfy the uniqueness constraint can still be used as primary keys, by +specifying them as non-unique primary keys.

    +
    +
    +

    Row delete and update operations must also specify the full primary key of the +row to be changed. Kudu does not natively support range deletes or updates.

    +
    +
    +

    The primary key values of a column may not be updated after the row is inserted. +However, the row may be deleted and re-inserted with the updated value.

    +
    +
    +

    Primary Key Index

    +
    +

    As with many traditional relational databases, Kudu’s primary key is in a +clustered index. All rows within a tablet are sorted by its primary key.

    +
    +
    +

    When scanning Kudu rows, use equality or range predicates on primary key +columns to efficiently find the rows.

    +
    +
    + + + + + +
    + + +Primary key indexing optimizations apply to scans on individual tablets. +See the Partition Pruning section for details on how scans can use +predicates to skip entire tablets. +
    +
    +
    +
    +

    Non-unique Primary Key Index

    +
    +

    While specifying columns as non-unique primary key, Kudu internally creates an auto-incrementing +column. The specified columns and the auto-incrementing column form the effective primary key.

    +
    +
    + + + + + +
    + + +The auto-incrementing counter which is used to assign value for auto-incrementing column is +managed by Kudu, the counter values are monotonically increasing per tablet. +
    +
    +
    +

    Non-unique primary key columns must be non-nullable, and may not be a boolean, float +or double type.

    +
    +
    +

    Once set during table creation, the set of columns in the non-unique primary key and the +auto-incrementing column can not be altered.

    +
    +
    +

    For inserts, one has to provide values for the non-unique primary key columns without specifying +the values for auto-incrementing column. The auto-incrementing column is populated on the server +side automatically.

    +
    +
    +

    For updates/deletes the full set of key columns is necessary. One has to perform a scan before +update/delete operation to get the auto-incrementing value.

    +
    +
    +

    Upsert operation is not supported on tables with non-unique primary key.

    +
    +
    +

    The non-unique primary key values of a column may not be updated after the row is inserted. +However, the row may be deleted and re-inserted with the updated value, moreover a new +auto-incrementing counter value is assigned during insertion for auto-incrementing column.

    +
    +
    +

    Restoring tables with non-unique primary keys is not supported currently.

    +
    +
    +

    For more details on how to use non-unique primary key, please check the +examples folder.

    +
    +
    +
    +

    Considerations for Backfill Inserts

    +
    +

    This section discuss a primary key design consideration for timeseries use +cases where the primary key is a timestamp, or the first column of the primary +key is a timestamp.

    +
    +
    +

    Each time a row is inserted into a Kudu table, Kudu looks up the primary key in +the primary key index storage to check whether that primary key is already +present in the table. If the primary key exists in the table, a "duplicate key" +error is returned. In the typical case where data is being inserted at +the current time as it arrives from the data source, only a small range of +primary keys are "hot". So, each of these "check for presence" operations is +very fast. It hits the cached primary key storage in memory and doesn’t require +going to disk.

    +
    +
    +

    In the case when you load historical data, which is called "backfilling", from +an offline data source, each row that is inserted is likely to hit a cold area +of the primary key index which is not resident in memory and will cause one or +more HDD disk seeks. For example, in a normal ingestion case where Kudu sustains +a few million inserts per second, the "backfill" use case might sustain only +a few thousand inserts per second.

    +
    +
    +

    To alleviate the performance issue during backfilling, consider the following +options:

    +
    +
    +
      +
    • +

      Make the primary keys more compressible.

      +
      +

      For example, with the first column of a primary key being a random ID of 32-bytes, +caching one billion primary keys would require at least 32 GB of RAM to stay in +cache. If caching backfill primary keys from several days ago, you need to have +several times 32 GB of memory. By changing the primary key to be more compressible, +you increase the likelihood that the primary keys can fit in cache and thus +reducing the amount of random disk I/Os.

      +
      +
    • +
    • +

      Use SSDs for storage as random seeks are orders of magnitude faster than spinning disks.

      +
    • +
    • +

      Change the primary key structure such that the backfill writes hit a continuous range of primary keys.

      +
    • +
    +
    +
    +
    +
    +
    +

    Partitioning

    +
    +
    +

    In order to provide scalability, Kudu tables are partitioned into units called +tablets, and distributed across many tablet servers. A row always belongs to a +single tablet. The method of assigning rows to tablets is determined by the +partitioning of the table, which is set during table creation.

    +
    +
    +

    Choosing a partitioning strategy requires understanding the data model and the +expected workload of a table. For write-heavy workloads, it is important to +design the partitioning such that writes are spread across tablets in order to +avoid overloading a single tablet. For workloads involving many short scans, +where the overhead of contacting remote servers dominates, performance can be +improved if all of the data for the scan is located in the same tablet. +Understanding these fundamental trade-offs is central to designing an effective +partition schema.

    +
    +
    + + + + + +
    + + +
    No Default Partitioning
    +Kudu does not provide a default partitioning strategy when creating tables. It +is recommended that new tables which are expected to have heavy read and write +workloads have at least as many tablets as tablet servers. +
    +
    +
    +

    Kudu provides two types of partitioning: range +partitioning and hash partitioning. Tables may also have +multilevel partitioning, which combines range and hash +partitioning, or multiple instances of hash partitioning.

    +
    +
    +

    Range Partitioning

    +
    +

    Range partitioning distributes rows using a totally-ordered range partition key. +Each partition is assigned a contiguous segment of the range partition keyspace. +The key must be comprised of a subset of the primary key columns. If the range +partition columns match the primary key columns, then the range partition key of +a row will equal its primary key. In range partitioned tables without hash +partitioning, each range partition will correspond to exactly one tablet.

    +
    +
    +

    The initial set of range partitions is specified during table creation as a set +of partition bounds and split rows. For each bound, a range partition will be +created in the table. Each split will divide a range partition in two. If no +partition bounds are specified, then the table will default to a single +partition covering the entire key space (unbounded below and above). Range +partitions must always be non-overlapping, and split rows must fall within a +range partition.

    +
    +
    + + + + + +
    + + +see the Range Partitioning Example for further discussion of range +partitioning. +
    +
    +
    +

    Range Partition Management

    +
    +

    Kudu allows range partitions to be dynamically added and removed from a table at +runtime, without affecting the availability of other partitions. Removing a +partition will delete the tablets belonging to the partition, as well as the +data contained in them. Subsequent inserts into the dropped partition will fail. +New partitions can be added, but they must not overlap with any existing range +partitions. Kudu allows dropping and adding any number of range partitions in a +single transactional alter table operation.

    +
    +
    +

    Dynamically adding and dropping range partitions is particularly useful for time +series use cases. As time goes on, range partitions can be added to cover +upcoming time ranges. For example, a table storing an event log could add a +month-wide partition just before the start of each month in order to hold the +upcoming events. Old range partitions can be dropped in order to efficiently +remove historical data, as necessary.

    +
    +
    +
    +
    +

    Hash Partitioning

    +
    +

    Hash partitioning distributes rows by hash value into one of many buckets. In +single-level hash partitioned tables, each bucket will correspond to exactly +one tablet. The number of buckets is set during table creation. Typically the +primary key columns are used as the columns to hash, but as with range +partitioning, any subset of the primary key columns can be used.

    +
    +
    +

    Hash partitioning is an effective strategy when ordered access to the table is +not needed. Hash partitioning is effective for spreading writes randomly among +tablets, which helps mitigate hot-spotting and uneven tablet sizes.

    +
    +
    + + + + + +
    + + +see the Hash Partitioning Example for further discussion of hash +partitioning. +
    +
    +
    +
    +

    Multilevel Partitioning

    +
    +

    Kudu allows a table to combine multiple levels of partitioning on a single +table. Zero or more hash partition levels can be combined with an optional range +partition level. The only additional constraint on multilevel partitioning +beyond the constraints of the individual partition types, is that multiple levels +of hash partitions must not hash the same columns.

    +
    +
    +

    When used correctly, multilevel partitioning can retain the benefits of the +individual partitioning types, while reducing the downsides of each. The total +number of tablets in a multilevel partitioned table is the product of the +number of partitions in each level.

    +
    +
    + + + + + +
    + + +see the Hash and Range Partitioning Example and the +Hash and Hash Partitioning Example for further discussion of multilevel +partitioning. +
    +
    +
    +
    +

    Partition Pruning

    +
    +

    Kudu scans will automatically skip scanning entire partitions when it can be +determined that the partition can be entirely filtered by the scan predicates. +To prune hash partitions, the scan must include equality predicates on every +hashed column. To prune range partitions, the scan must include equality or +range predicates on the range partitioned columns. Scans on multilevel +partitioned tables can take advantage of partition pruning on any of the levels +independently.

    +
    +
    +
    +

    Partitioning Examples

    +
    +

    To illustrate the factors and trade-offs associated with designing a partitioning +strategy for a table, we will walk through some different partitioning +scenarios. Consider the following table schema for storing machine metrics data +(using SQL syntax and date-formatted timestamps for clarity):

    +
    +
    +
    +
    CREATE TABLE metrics (
    +    host STRING NOT NULL,
    +    metric STRING NOT NULL,
    +    time INT64 NOT NULL,
    +    value DOUBLE NOT NULL,
    +    PRIMARY KEY (host, metric, time)
    +);
    +
    +
    +
    +

    Range Partitioning Example

    +
    +

    A natural way to partition the metrics table is to range partition on the +time column. Let’s assume that we want to have a partition per year, and the +table will hold data for 2014, 2015, and 2016. There are at least two ways that +the table could be partitioned: with unbounded range partitions, or with bounded +range partitions.

    +
    +
    +
    +Range Partitioning by `time` +
    +
    +
    +

    The image above shows the two ways the metrics table can be range partitioned +on the time column. In the first example (in blue), the default range +partition bounds are used, with splits at 2015-01-01 and 2016-01-01. This +results in three tablets: the first containing values before 2015, the second +containing values in the year 2015, and the third containing values after 2016. +The second example (in green) uses a range partition bound of [(2014-01-01), +(2017-01-01)], and splits at 2015-01-01 and 2016-01-01. The second example +could have equivalently been expressed through range partition bounds of +[(2014-01-01), (2015-01-01)], [(2015-01-01), (2016-01-01)], and +[(2016-01-01), (2017-01-01)], with no splits. The first example has unbounded +lower and upper range partitions, while the second example includes bounds.

    +
    +
    +

    Each of the range partition examples above allows time-bounded scans to prune +partitions falling outside of the scan’s time bound. This can greatly improve +performance when there are many partitions. When writing, both examples suffer +from potential hot-spotting issues. Because metrics tend to always be written +at the current time, most writes will go into a single range partition.

    +
    +
    +

    The second example is more flexible than the first, because it allows range +partitions for future years to be added to the table. In the first example, all +writes for times after 2016-01-01 will fall into the last partition, so the +partition may eventually become too large for a single tablet server to handle.

    +
    +
    +
    +

    Hash Partitioning Example

    +
    +

    Another way of partitioning the metrics table is to hash partition on the +host and metric columns.

    +
    +
    +
    +Hash Partitioning by `host` and `metric` +
    +
    +
    +

    In the example above, the metrics table is hash partitioned on the host and +metric columns into four buckets. Unlike the range partitioning example +earlier, this partitioning strategy will spread writes over all tablets in the +table evenly, which helps overall write throughput. Scans over a specific host +and metric can take advantage of partition pruning by specifying equality +predicates, reducing the number of scanned tablets to one. One issue to be +careful of with a pure hash partitioning strategy, is that tablets could grow +indefinitely as more and more data is inserted into the table. Eventually +tablets will become too big for an individual tablet server to hold.

    +
    +
    + + + + + +
    + + +Although these examples number the tablets, in reality tablets are only +given UUID identifiers. There is no natural ordering among the tablets in a hash +partitioned table. +
    +
    +
    +
    +

    Hash and Range Partitioning Example

    +
    +

    The previous examples showed how the metrics table could be range partitioned +on the time column, or hash partitioned on the host and metric columns. +These strategies have associated strength and weaknesses:

    +
    + + ++++++ + + + + + + + + + + + + + + + + + + + + + + +
    Table 2. Partitioning Strategies
    StrategyWritesReadsTablet Growth

    range(time)

    ✗ - all writes go to latest partition

    ✓ - time-bounded scans can be pruned

    ✓ - new tablets can be added for future time periods

    hash(host, metric)

    ✓ - writes are spread evenly among tablets

    ✓ - scans on specific hosts and metrics can be pruned

    ✗ - tablets could grow too large

    +
    +

    Hash partitioning is good at maximizing write throughput, while range +partitioning avoids issues of unbounded tablet growth. Both strategies can take +advantage of partition pruning to optimize scans in different scenarios. Using +multilevel partitioning, it is possible to combine the two strategies in order +to gain the benefits of both, while minimizing the drawbacks of each.

    +
    +
    +
    +Hash and Range Partitioning +
    +
    +
    +

    In the example above, range partitioning on the time column is combined with +hash partitioning on the host and metric columns. This strategy can be +thought of as having two dimensions of partitioning: one for the hash level and +one for the range level. Writes into this table at the current time will be +parallelized up to the number of hash buckets, in this case 4. Reads can take +advantage of time bound and specific host and metric predicates to prune +partitions. New range partitions can be added, which results in creating 4 +additional tablets (as if a new column were added to the diagram).

    +
    +
    +
    +

    Hash and Hash Partitioning Example

    +
    +

    Kudu can support any number of hash partitioning levels in the same table, as +long as the levels have no hashed columns in common.

    +
    +
    +
    +Hash and Hash Partitioning +
    +
    +
    +

    In the example above, the table is hash partitioned on host into 4 buckets, +and hash partitioned on metric into 3 buckets, resulting in 12 tablets. +Although writes will tend to be spread among all tablets when using this +strategy, it is slightly more prone to hot-spotting than when hash partitioning +over multiple independent columns, since all values for an individual host or +metric will always belong to a single tablet. Scans can take advantage of +equality predicates on the host and metric columns separately to prune +partitions.

    +
    +
    +

    Multiple levels of hash partitioning can also be combined with range +partitioning, which logically adds another dimension of partitioning.

    +
    +
    +
    +
    +
    +
    +

    Schema Alterations

    +
    +
    +

    You can alter a table’s schema in the following ways:

    +
    +
    +
      +
    • +

      Rename the table

      +
    • +
    • +

      Rename primary key columns

      +
    • +
    • +

      Rename, add, or drop non-primary key columns

      +
    • +
    • +

      Add and drop range partitions

      +
    • +
    +
    +
    +

    Multiple alteration steps can be combined in a single transactional operation.

    +
    +
    +
    +
    +

    Known Limitations

    +
    +
    +

    Kudu currently has some known limitations that may factor into schema design.

    +
    +
    +
    +
    Number of Columns
    +
    +

    By default, Kudu will not permit the creation of tables with +more than 300 columns. We recommend schema designs that use fewer columns for best +performance.

    +
    +
    Size of Cells
    +
    +

    No individual cell may be larger than 64KB before encoding or +compression. The cells making up a composite key are limited to a total of 16KB +after the internal composite-key encoding done by Kudu. Inserting rows not +conforming to these limitations will result in errors being returned to the +client.

    +
    +
    Size of Rows
    +
    +

    Although individual cells may be up to 64KB, and Kudu supports up to +300 columns, it is recommended that no single row be larger than a few hundred KB.

    +
    +
    Valid Identifiers
    +
    +

    Identifiers such as table and column names must be valid UTF-8 +sequences and no longer than 256 bytes.

    +
    +
    Immutable Primary Keys
    +
    +

    Kudu does not allow you to update the primary key +columns of a row.

    +
    +
    Non-alterable Primary Key
    +
    +

    Kudu does not allow you to alter the primary key +columns after table creation.

    +
    +
    Non-alterable Partitioning
    +
    +

    Kudu does not allow you to change how a table is +partitioned after creation, with the exception of adding or dropping range +partitions.

    +
    +
    Non-alterable Column Types
    +
    +

    Kudu does not allow the type of a column to be +altered.

    +
    +
    Partition Splitting
    +
    +

    Partitions cannot be split or merged after table creation.

    +
    +
    Deleted row disk space is not reclaimed
    +
    +

    The disk space occupied by a deleted +row is only reclaimable via compaction, and only when the deletion’s age +exceeds the "tablet history maximum age" (controlled by the +--tablet_history_max_age_sec flag). Furthermore, Kudu currently only schedules +compactions in order to improve read/write performance; a tablet will never be +compacted purely to reclaim disk space. As such, range partitioning should be +used when it is expected that large swaths of rows will be discarded. With range +partitioning, individual partitions may be dropped to discard data and reclaim +disk space. See KUDU-1625 +for details.

    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/security.html b/releases/1.17.1/docs/security.html new file mode 100644 index 0000000000..0e331166c7 --- /dev/null +++ b/releases/1.17.1/docs/security.html @@ -0,0 +1,1165 @@ +--- +title: Apache Kudu Security +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:39:22 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Security

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +

    Kudu includes security features which allow Kudu clusters to be hardened against +access from unauthorized users. This guide describes the security features +provided by Kudu. Configuring a Secure Kudu Cluster lists essential configuration options when +deploying a secure Kudu cluster. Known Limitations contains a list of +known deficiencies in Kudu’s security capabilities.

    +
    +
    +
    +
    +

    Authentication

    +
    +
    +

    Kudu can be configured to enforce secure authentication among servers, and +between clients and servers. Authentication prevents untrusted actors from +gaining access to Kudu, and securely identifies the connecting user or services +for authorization checks. Authentication in Kudu is designed to interoperate +with other secure Hadoop components by utilizing Kerberos.

    +
    +
    +

    Authentication can be configured on Kudu servers using the +--rpc_authentication flag, which can be set to required, optional, or +disabled. By default, the flag is set to optional. When required, Kudu +will reject connections from clients and servers who lack authentication +credentials. When optional, Kudu will attempt to use strong authentication. +When disabled or strong authentication fails for 'optional', by default Kudu +will only allow unauthenticated connections from trusted subnets, which are +private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16, +169.254.0.0/16) and local subnets of all local network interfaces. Unauthenticated +connections from publicly routable IPs will be rejected.

    +
    +
    +

    The trusted subnets can be configured using the --trusted_subnets flag, +which can be set to IP blocks in CIDR notation separated by comma. Set it to +'0.0.0.0/0' to allow unauthenticated connections from all remote IP addresses. +However, if network access is not otherwise restricted by a firewall, +malicious users may be able to gain unauthorized access. This can be mitigated +if authentication is configured to be required.

    +
    +
    + + + + + +
    + + +When the --rpc_authentication flag is set to optional, +the cluster does not prevent access from unauthenticated users. To secure a +cluster, use --rpc_authentication=required. +
    +
    +
    +

    Internal PKI

    +
    +

    Kudu uses an internal PKI system to issue X.509 certificates to servers in +the cluster. Connections between peers who have both obtained certificates will +use TLS for authentication, which doesn’t require contacting the Kerberos KDC. +These certificates are only used for internal communication among Kudu +servers, and between Kudu clients and servers. The certificates are never +presented in a public facing protocol.

    +
    +
    +

    By using internally-issued certificates, Kudu offers strong authentication which +scales to huge clusters, and allows TLS encryption to be used without requiring +you to manually deploy certificates on every node.

    +
    +
    +
    +

    Authentication Tokens

    +
    +

    After authenticating to a secure cluster, the Kudu client will automatically +request an authentication token from the Kudu master. An authentication token +encapsulates the identity of the authenticated user and carries the master’s +RSA signature so that its authenticity can be verified.

    +
    +
    +

    This token will be used to authenticate subsequent connections. By default, +authentication tokens are only valid for seven days, so that even if a token +were compromised, it could not be used indefinitely. For the most part, +authentication tokens should be completely transparent to users. By using +authentication tokens, Kudu takes advantage of strong authentication without +paying the scalability cost of communicating with a central authority for every +connection.

    +
    +
    +

    When used with distributed compute frameworks such as Spark, authentication +tokens can simplify configuration and improve security. For example, the Kudu +Spark connector will automatically retrieve an authentication token during the +planning stage, and distribute the token to tasks. This allows Spark to work +against a secured Kudu cluster where only the planner node has Kerberos +credentials.

    +
    +
    +
    +

    Client Authentication to Secure Kudu Clusters

    +
    +

    Users running client Kudu applications must first run the kinit command to +obtain a Kerberos ticket-granting ticket. For example:

    +
    +
    +
    +
    $ kinit admin@EXAMPLE-REALM.COM
    +
    +
    +
    +

    Once authenticated, you use the same client code to read from and write to Kudu +servers with and without Kerberos configuration.

    +
    +
    +
    +

    Scalability

    +
    +

    Kudu authentication is designed to scale to thousands of nodes, which requires +avoiding unnecessary coordination with a central authentication authority (such +as the Kerberos KDC). Instead, Kudu servers and clients will use Kerberos to +establish initial trust with the Kudu master, and then use alternate credentials +for subsequent connections. In particular, the master will issue internal +X.509 certificates to servers, and temporary authentication tokens to clients.

    +
    +
    +
    +
    +
    +

    Coarse-Grained Authorization

    +
    +
    +

    Kudu supports coarse-grained authorization of client requests based on the +authenticated client Kerberos principal (i.e. user or service). The two levels +of access which can be configured are:

    +
    +
    +
      +
    • +

      Superuser - principals authorized as a superuser are able to perform +certain administrative functionality such as using the kudu command line tool +to diagnose or repair cluster issues.

      +
    • +
    • +

      User - principals authorized as a user are able to access and modify all +data in the Kudu cluster. This includes the ability to create, drop, and alter +tables as well as read, insert, update, and delete data.

      +
    • +
    +
    +
    + + + + + +
    + + +Internally, Kudu has a third access level for the daemons themselves. +This ensures that users cannot connect to the cluster and pose as tablet +servers. +
    +
    +
    +

    Access levels are granted using whitelist-style Access Control Lists (ACLs), one +for each of the two levels. Each access control list either specifies a +comma-separated list of users, or may be set to * to indicate that all +authenticated users are able to gain access at the specified level. See +Configuring a Secure Kudu Cluster below for examples.

    +
    +
    + + + + + +
    + + +The default value for the User ACL is *, which allows all users access +to the cluster. However, if authentication is enabled, this still restricts access +to only those users who are able to successfully authenticate via Kerberos. +Unauthenticated users on the same network as the Kudu servers will be unable +to access the cluster. +
    +
    +
    +
    +
    +

    Fine-Grained Authorization

    +
    +
    +

    As of Kudu 1.12.0, Kudu can be configured to enforce fine-grained authorization +across servers. This ensures that users can see only the data they are +explicitly authorized to see. Kudu supports this by leveraging policies defined +in Apache Ranger 2.1 and later.

    +
    +
    + + + + + +
    + + +Fine-grained authorization policies are not enforced when accessing +the web UI. User data may appear on various pages of the web UI (e.g. in logs, +metrics, scans, etc.). As such, it is recommended to either limit access to the +web UI ports, or redact or disable the web UI entirely, as desired. See the +instructions for securing the web UI for more details. +
    +
    +
    +

    Apache Ranger

    +
    +

    Apache Ranger models tabular objects stored in a Kudu cluster in the following +hierarchy:

    +
    +
    + + + + + +
    + + +Ranger allows you to add separate service repositories to manage privileges +for different Kudu clusters. Depending on the value of the ranger.plugin.kudu.service.name +configuration in Ranger client, Kudu knows which service repository to connect +to. For more details about Ranger service repository, see the Apache Ranger +documentation. +
    +
    +
    +
      +
    • +

      Database - Kudu does not have the concept of a database. Therefore, a database +is indicated as a prefix of table names with the format <database>.<table>. +Since Kudu’s only restriction on table names is that they be valid UTF-8 encoded +strings, Kudu considers special characters to be valid parts of database or table +names. For example, if a managed Kudu table created from Impala (see Kudu Impala +integration documentation) is named +impala::bar.foo, its database will be impala::bar.

      +
    • +
    • +

      Table - a single Kudu table.

      +
    • +
    • +

      Column - a column within a Kudu table.

      +
    • +
    +
    +
    +

    In Ranger, privileges are also associated with specific actions. Access to Kudu +tables may rely on privileges on the following actions:

    +
    +
    +
      +
    • +

      ALTER

      +
    • +
    • +

      CREATE

      +
    • +
    • +

      DELETE

      +
    • +
    • +

      DROP

      +
    • +
    • +

      INSERT

      +
    • +
    • +

      UPDATE

      +
    • +
    • +

      SELECT

      +
    • +
    +
    +
    +

    There are two additional access types:

    +
    +
    +
      +
    • +

      ALL

      +
    • +
    • +

      METADATA

      +
    • +
    +
    +
    +

    If a user has the ALL privilege on a resource, they implicitly have privileges +to perform any action on that resource (except those that require users to be a +delegated admin, see below). Also, if a user is granted any privilege, they are +able to perform actions requiring METADATA (e.g. opening the table) without +having to explicitly grant METADATA privilege to them.

    +
    +
    +

    Finally, Ranger supports a delegate admin flag which is independent of the +action types (it’s not implied by ALL and doesn’t imply METADATA). This is +similar to the GRANT OPTION part of ALL WITH GRANT OPTION in SQL as it is +required to modify privileges in Ranger and change the owner of a Kudu table.

    +
    +
    + + + + + +
    + + +A user with the delegate admin privilege on a resource can grant any +privilege to themselves and others. +
    +
    +
    +

    While the action types are hierarchical, in terms of privilege evaluation, +Ranger doesn’t have the concept of hierarchy. For instance, if a user has +SELECT privilege on a database, it does not imply that the user has SELECT +privileges on every table belonging to that database. On the other hand, Ranger +supports privilege wildcard matching. For example, db=a→table=* matches all +the tables that belong to database a. Therefore, in Ranger users actually need +the SELECT privilege granted on db=a→table=*→column=* to allow SELECT on +every table and every column in database a.

    +
    +
    +

    Nevertheless, with Ranger integration, when a Kudu master receives a request, +it consults Ranger to determine what privileges a user has. And the required +policies documented in the policy section +are enforced to determine whether the user is authorized to perform the requested +action or not.

    +
    +
    + + + + + +
    + + +Even though Kudu table names remain case sensitive with Ranger integration, +policy authorization is considered case-insensitive. +
    +
    +
    +

    In addition to granting privileges to a user by username, privileges can also be +granted to table owners using the special {OWNER} username. These policies are +evaluated only when a user tries to perform an action on a table that they own. +For example, a policy can be defined for the {OWNER} user and db=→table= +resource, and it will automatically be applied when any table is accessed by its +owner. This way administrators don’t need to choose between creating policies +one by one for each table, and granting access to a wide range of users.

    +
    +
    + + + + + +
    + + +If a user has ALL and delegate admin privileges on a table only via +ownership and no privileges by username, they can effectively lock themselves +out by giving away ownership. +
    +
    +
    +
    +

    Authorization Tokens

    +
    +

    Rather than having every tablet server communicate directly with the underlying +authorization service (Ranger), privileges are propagated and checked via +authorization tokens. These tokens encapsulate what privileges a user has on a +given table. Tokens are generated by the master and returned to Kudu clients +upon opening a Kudu table. Kudu clients automatically attach authorization +tokens when sending requests to tablet servers.

    +
    +
    + + + + + +
    + + +Authorization tokens are a means to limiting the number of nodes directly +accessing the authorization service to retrieve privileges. As such, since the +expected number of tablet servers in a cluster is much higher than the number of +Kudu masters, they are only used to authorize requests sent to tablet servers. +Kudu masters fetch privileges directly from the authorization service or cache. +See Ranger Client Caching for more details of Kudu’s privilege cache. +
    +
    +
    +

    Similar to the validity interval for authentication tokens, to limit the +window of potential unwanted access if a token becomes compromised, +authorization tokens are valid for five minutes by default. The acquisition and +renewal of a token is hidden from the user, as Kudu clients automatically +retrieve new tokens when existing tokens expire.

    +
    +
    +

    When a tablet server that has been configured to enforce fine-grained access +control receives a request, it checks the privileges in the attached token, +rejecting it if the privileges are not sufficient to perform the requested +operation, or if it is invalid (e.g. expired).

    +
    +
    +
    +

    Trusted Users

    +
    +

    It may be desirable to allow certain users to view and modify any data stored +in Kudu. Such users can be specified via the --trusted_user_acl master +configuration. Trusted users can perform any operation that would otherwise +require fine-grained privileges, without Kudu consulting the authorization service.

    +
    +
    +

    Additionally, some services that interact with Kudu may authorize requests on +behalf of their end users. For example, Apache Impala authorizes queries on +behalf of its users, and sends requests to Kudu as the Impala service user, +commonly "impala". Since Impala authorizes requests on its own, to avoid +extraneous communication between the authorization service and Kudu, the +Impala service user should be listed as a trusted user.

    +
    +
    + + + + + +
    + + +When accessing Kudu through Impala, Impala enforces its own fine-grained +authorization policy. This policy is similar to Kudu’s and can be found in +Impala’s +authorization +documentation. +
    +
    +
    +
    +

    Configuring the Integration with Apache Ranger

    +
    + + + + + +
    + + +Ranger is often configured with Kerberos authentication. See +Configuring a Secure Kudu Cluster for how to configure Kudu to authenticate via Kerberos. +
    +
    +
    +
      +
    • +

      After building Kudu from source, find the kudu-subprocess.jar under the build +directory (e.g. build/release/bin). Note its path, as it is the one to the +JAR file containing the Ranger subprocess, which houses the Ranger client that +Kudu will use to communicate with the Ranger server.

      +
    • +
    • +

      Use the kudu table list tool to find any table names in the cluster that are +not Ranger-compatible, which are names that begin or end with a period. Also check +that there are no two table names that only differ by case, since authorization +is case-insensitive. For those tables that don’t comply with the requirements, +use the kudu table rename_table tool to rename the tables.

      +
    • +
    • +

      Create Ranger client ranger-kudu-security.xml configuration file, and note down +the directory containing this file.

      +
    • +
    +
    +
    +
    +
    <property>
    +  <name>ranger.plugin.kudu.policy.cache.dir</name>
    +  <value>policycache</value>
    +  <description>Directory where Ranger policies are cached after successful retrieval from the Ranger service</description>
    +</property>
    +<property>
    +  <name>ranger.plugin.kudu.service.name</name>
    +  <value>kudu</value>
    +  <description>Name of the Ranger service repository storing policies for this Kudu cluster</description>
    +</property>
    +<property>
    +  <name>ranger.plugin.kudu.policy.rest.url</name>
    +  <value>http://host:port</value>
    +  <description>Ranger Admin URL</description>
    +</property>
    +<property>
    +  <name>ranger.plugin.kudu.policy.source.impl</name>
    +  <value>org.apache.ranger.admin.client.RangerAdminRESTClient</value>
    +  <description>Ranger client implementation to retrieve policies from the Ranger service</description>
    +</property>
    +<property>
    +  <name>ranger.plugin.kudu.policy.rest.ssl.config.file</name>
    +  <value>ranger-kudu-policymgr-ssl.xml</value>
    +  <description>Path to the file containing SSL details to connect Ranger Admin</description>
    +</property>
    +<property>
    +  <name>ranger.plugin.kudu.policy.pollIntervalMs</name>
    +  <value>30000</value>
    +  <description>Ranger client policy polling interval</description>
    +</property>
    +
    +
    +
    +
      +
    • +

      When Secure Socket Layer (SSL) is enabled for Ranger Admin, add ranger-kudu-policymgr-ssl.xml +file to the Ranger client configuration directory with the following configurations:

      +
    • +
    +
    +
    +
    +
    <property>
    +  <name>xasecure.policymgr.clientssl.keystore</name>
    +  <value>[/path/to/keystore].jks</value>
    +  <description>Java keystore files</description>
    +</property>
    +<property>
    +  <name>xasecure.policymgr.clientssl.keystore.credential.file</name>
    +  <value>jceks://file/[path/to/credentials].jceks</value>
    +  <description>Java keystore credential file</description>
    +</property>
    +<property>
    +  <name>xasecure.policymgr.clientssl.truststore</name>
    +  <value>[/path/to/truststore].jks</value>
    +  <description>Java truststore file</description>
    +</property>
    +<property>
    +  <name>xasecure.policymgr.clientssl.truststore.credential.file</name>
    +  <value>jceks://file/[path/to/credentials].jceks</value>
    +  <description>Java truststore credential file</description>
    +</property>
    +
    +
    +
    +
      +
    • +

      Set the following configurations on the Kudu master:

      +
    • +
    +
    +
    +
    +
    # The path to directory containing Ranger client configuration. This example
    +# assumes the path is '/kudu/ranger-config'.
    +--ranger_config_path=/kudu/ranger-config
    +
    +# The path where the Java binary was installed. This example assumes
    +# '$JAVA_HOME=/usr/local'
    +--ranger_java_path=/usr/local/bin/java
    +
    +# The path to the JAR file containing the Ranger subprocess. This example
    +# assumes '$KUDU_HOME=/kudu'
    +--ranger_jar_path=/kudu/build/release/bin/kudu-subprocess.jar
    +
    +# This example ACL setup allows the 'impala' user to access all data stored in
    +# Kudu, assuming Impala will authorize requests on its own. The 'kudu' user is
    +# also granted access to all Kudu data, which may facilitate testing and
    +# debugging (such as running the 'kudu cluster ksck' tool).
    +--trusted_user_acl=impala,kudu
    +
    +
    +
    +
      +
    • +

      Set the following configurations on the tablet servers:

      +
    • +
    +
    +
    +
    +
    --tserver_enforce_access_control=true
    +
    +
    +
    +
      +
    • +

      Add a Kudu service repository with the following configurations via the Ranger +Admin web UI:

      +
    • +
    +
    +
    +
    +
    # This example setup configures the Kudu service user as a privileged user to be
    +# able to retrieve authorization policies stored in Ranger.
    +
    +<property>
    +  <name>policy.download.auth.users</name>
    +  <value>kudu</value>
    +</property>
    +
    +
    +
    +
    +

    Ranger Client Caching

    +
    +

    On the other hand, privilege cache in Kudu master is disabled with Ranger integration, +since Ranger provides client side cache the use privileges and can periodically poll +the privilege store for any changes. When a change is detected, the cache will be +automatically updated.

    +
    +
    + + + + + +
    + + +Update the ranger.plugin.kudu.policy.pollIntervalMs property specified in +ranger-kudu-security.xml to set how often the Ranger client cache refreshes +the privileges from the Ranger service. +
    +
    +
    +
    +

    Policy for Kudu Masters

    +
    +

    The following authorization policy is enforced by Kudu masters.

    +
    + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1. Authorization Policy for Masters
    OperationRequired Privilege

    CreateTable

    CREATE ON DATABASE

    CreateTable with an owner different than the logged in user

    ALL ON +DATABASE and delegate admin

    DeleteTable

    DROP ON TABLE

    AlterTable (with no rename)

    ALTER ON TABLE

    AlterTable (with rename)

    ALL ON TABLE <old-table> and CREATE ON DATABASE <new-database>

    AlterTable (with owner change)

    ALL ON TABLE and delegate admin

    IsCreateTableDone

    METADATA ON TABLE

    IsAlterTableDone

    METADATA ON TABLE

    ListTables

    METADATA ON TABLE

    GetTableLocations

    METADATA ON TABLE

    GetTableSchema

    METADATA ON TABLE

    GetTabletLocations

    METADATA ON TABLE

    +
    +
    +

    Policy for Kudu Tablet Servers

    +
    +

    The following authorization policy is enforced by Kudu tablet servers.

    +
    + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2. Authorization Policy for Tablet Servers
    OperationRequired Privilege

    Scan

    SELECT ON TABLE, or

    +

    METADATA ON TABLE and SELECT ON COLUMN for each projected column and each predicate column

    Scan (no projected columns, equivalent to COUNT(*))

    SELECT ON TABLE, or

    +

    SELECT ON COLUMN for each column in the table

    Scan (with virtual columns)

    SELECT ON TABLE, or

    +

    SELECT ON COLUMN for each column in the table

    Scan (in ORDERED mode)

    <privileges required for a Scan> and SELECT ON COLUMN for each primary key column

    Insert

    INSERT ON TABLE

    Update

    UPDATE ON TABLE

    Upsert

    INSERT ON TABLE and UPDATE ON TABLE

    Delete

    DELETE ON TABLE

    SplitKeyRange

    SELECT ON COLUMN for each primary key column and SELECT ON COLUMN for each projected column

    Checksum

    User must be configured in --superuser_acl

    ListTablets

    User must be configured in --superuser_acl

    +
    + + + + + +
    + + +Unlike Impala, Kudu only supports all-or-nothing access to a table’s +schema, rather than showing only authorized columns. +
    +
    +
    +
    +
    +
    +

    Encryption

    +
    +
    +

    Kudu allows all communications among servers and between clients and servers +to be encrypted with TLS, and the data to be encrypted at rest with AES.

    +
    +
    +

    Data in Transit

    +
    +

    Encryption in transit can be configured on Kudu servers using the +--rpc_encryption flag, which can be set to required, optional, or +disabled. By default, the flag is set to optional. When required, Kudu +will reject unencrypted connections. When optional, Kudu will attempt to use +encryption. Same as authentication, when disabled or encryption fails for +optional, Kudu will only allow unencrypted connections from trusted subnets +and reject any unencrypted connections from publicly routable IPs. To secure a +cluster, use --rpc_encryption=required.

    +
    +
    + + + + + +
    + + +Kudu will automatically turn off encryption on local loopback connections, +since traffic from these connections is never exposed externally. This allows +locality-aware compute frameworks like Spark and Impala to avoid encryption +overhead, while still ensuring data confidentiality. +
    +
    +
    +
    +

    Data at Rest

    +
    +

    It’s also possible to encrypt data at rest. Kudu supports AES-128-CTR, +AES-192-CTR, and AES-256-CTR ciphers to encrypt data. Each physical file is +encrypted with a unique key (File Key), which in turn is encrypted with the +server’s own key (Server Key), which is encrypted by the Cluster Key stored +in a third-party Key Management Service (KMS). Kudu supports Apache Ranger +KMS and Apache Hadoop KMS (they are API-compatible).

    +
    +
    +

    Encryption at rest can be enabled with the --encrypt_data_at_rest=true flag. +As the default key provider is NOT secure (it stores the Server Keys in +cleartext and a Cluster Key is not used), the key provider should be set to +ranger-kms using the encryption_key_provider flag and its URL set with +ranger_kms_url. Before starting the server, a key must exist in the key +provider with the same name as passed to Kudu with the +--encryption_cluster_key_name flag.

    +
    +
    +

    When data is encrypted, CLI tools accessing the file system directly need to be +provided with the same flags and the instance file from a data, WAL, or metadata +directory must also be set with the --instance_file flag, for example:

    +
    +
    +
    +
    $ kudu wal dump --encrypt_data_at_rest=true --encryption_key_provider=ranger-kms \
    +  --ranger_kms_url=https://ranger-kms.example.com:9292/kms \
    +  --instance_file=/path/to/wal/instance \
    +  /path/to/wal/wals/ffffffffffffffffffffffffffffffff/wal-000000001
    +
    +
    +
    + + + + + +
    + + +Enabling data at rest encryption is supported only on fresh +installations. When encryption is enabled and there are pre-existing Kudu +directories, Kudu will fail to start. Disabling it on an existing cluster is +also unsupported. Existing Kudu clusters can be migrated in-place by re-adding +the existing servers as encrypted one by one, and waiting for the data to be +fully replicated after each step to make sure there is no data loss. +
    +
    +
    +
    +

    Web UI Encryption

    +
    +

    The Kudu web UI can be configured to use secure HTTPS encryption by providing +each server with TLS certificates. See Configuring a Secure Kudu Cluster for more information on +web UI HTTPS configuration.

    +
    +
    +
    +

    Web UI Redaction

    +
    +

    To prevent sensitive data from being exposed in the web UI, all row data is +redacted. Table metadata, such as table names, column names, and partitioning +information is not redacted. The web UI can be completely disabled by setting +the --webserver_enabled=false flag on Kudu servers.

    +
    +
    + + + + + +
    + + +Disabling the web UI will also disable REST endpoints such as +/metrics. Monitoring systems rely on these endpoints to gather metrics data. +
    +
    +
    +
    +
    +
    +

    Log Security

    +
    +
    +

    To prevent sensitive data from being included in Kudu server logs, all row data +is redacted by default. By setting the --redact=log flag, redaction will be +disabled in the web UI but retained for server logs. Alternatively, --redact=none +can be used to disable redaction completely.

    +
    +
    +
    +
    +

    Configuring a Secure Kudu Cluster

    +
    +
    +

    The following configuration parameters should be set on all servers (master and +tablet server) in order to ensure that a Kudu cluster is secure:

    +
    +
    +
    +
    # Connection Security
    +# -------------------
    +--rpc_authentication=required
    +--rpc_encryption=required
    +--keytab_file=<path-to-kerberos-keytab>
    +
    +# Web UI Security
    +# ---------------
    +--webserver_certificate_file=<path-to-cert-pem>
    +--webserver_private_key_file=<path-to-key-pem>
    +# optional
    +--webserver_private_key_password_cmd=<password-cmd>
    +
    +# If you prefer to disable the web UI entirely:
    +--webserver_enabled=false
    +
    +# Coarse-grained authorization
    +# ----------------------------
    +
    +# This example ACL setup allows the 'impala' user as well as the
    +# 'nightly_etl_service_account' principal access to all data in the
    +# Kudu cluster. The 'hadoopadmin' user is allowed to use administrative
    +# tooling. Note that, by granting access to 'impala', other users
    +# may access data in Kudu via the Impala service subject to its own
    +# authorization rules.
    +--user_acl=impala,nightly_etl_service_account
    +--superuser_acl=hadoopadmin
    +
    +# Data at rest encryption
    +# -----------------------
    +
    +# This example data at rest encryption setup enables data at rest encryption for
    +# Kudu using Ranger KMS as the Cluster Key provider. The
    +# encryption_cluster_key_name is the default one, and if a key is created with
    +# this name in Ranger KMS, it can be omitted.
    +--encrypt_data_at_rest=true
    +--encryption_key_provider=ranger-kms
    +--encryption_cluster_key_name=kudu_cluster_key # optional
    +--ranger_kms_url=https://ranger-kms.example.com:9292/kms
    +
    +
    +
    +

    See Configuring the Integration with Apache Ranger to see an example of how to enable fine-grained +authorization via Apache Ranger.

    +
    +
    +

    Further information about these flags can be found in the configuration +flag reference.

    +
    +
    +
    +
    +

    Known Limitations

    +
    +
    +

    Kudu has a few known security limitations:

    +
    +
    +
    +
    External PKI
    +
    +

    Kudu does not support externally-issued certificates for internal +wire encryption (server to server and client to server).

    +
    +
    On-disk Encryption
    +
    +

    Kudu does not have built-in on-disk encryption. However, +Kudu can be used with whole-disk encryption tools such as dm-crypt.

    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/top.html b/releases/1.17.1/docs/top.html new file mode 100644 index 0000000000..a2e63d9dbc --- /dev/null +++ b/releases/1.17.1/docs/top.html @@ -0,0 +1,51 @@ +--- +title: Apache Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-11-11 15:09:19 -0800' +--- + + + +
    +
    +
    + +

    Apache Kudu

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +
    + +
    +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/transaction_semantics.html b/releases/1.17.1/docs/transaction_semantics.html new file mode 100644 index 0000000000..ffee387c0d --- /dev/null +++ b/releases/1.17.1/docs/transaction_semantics.html @@ -0,0 +1,703 @@ +--- +title: Transaction Semantics in Apache Kudu +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Transaction Semantics in Apache Kudu

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    This is a brief introduction to Kudu’s transaction and consistency semantics. For an +in-depth technical exposition of most of what is mentioned here, and why it is correct, +see the technical report [1].

    +
    +
    +
    +
    +

    Kudu’s transactional semantics and architecture are inspired by state-of-the-art +systems such as Spanner [2] and Calvin [3]. Kudu builds upon decades of database +research. The core philosophy is to make the lives of developers easier by providing transactions +with simple, strong semantics, without sacrificing performance or the ability to tune to different +requirements.

    +
    +
    +

    Kudu currently allows the following operations:

    +
    +
    +
      +
    • +

      Write operations are sets of rows to be inserted, updated, or deleted in the storage +engine, in a single tablet with multiple replicas. Write operations do not have separate +"read sets" i.e. they do not scan existing data before performing the write. Each write +is only concerned with previous state of the rows that are about to change. +Writes are not "committed" explicitly by the user. Instead, they are committed automatically +by the system, after completion.

      +
    • +
    • +

      Write transactions are groups of write operations across potentially multiple tablets +that are committed atomically upon the user’s request. Once each write operation within a +transaction is complete, the user sends an explicit "commit" request to make the contents of the +transaction visible to readers at a single timestamp.

      +
    • +
    • +

      Scans are read operations that can traverse multiple tablets and read information +with different levels of consistency or correctness guarantees. Scans can perform +time-travel reads, i.e. the user is able to set a scan timestamp in the past and +get back results that reflect the state of the storage engine at that point in time.

      +
    • +
    +
    +
    + + + + + +
    + + +
    Before We Begin
    +
    +
      +
    • +

      The term timestamp is mentioned several times to illustrate the +functionality, but timestamp is an internal concept mostly invisible to users, +except when setting timestamp on a KuduScanner.

      +
    • +
    • +

      We generally refer to methods and classes of the C++ client. While the Java +client mostly has analogous methods and classes, the exact names of the APIs +may differ.

      +
    • +
    +
    +
    +
    +
    +
    +
    +

    Single tablet write operations

    +
    +
    +

    Kudu employs Multiversion Concurrency Control (MVCC) and the Raft consensus +algorithm [4]. Each write operation in Kudu must go through the +tablet’s leader.

    +
    +
    +
      +
    1. +

      The leader acquires all locks for the rows that it will change.

      +
    2. +
    3. +

      The leader assigns the write a timestamp before the write is submitted for +replication. This timestamp will be the write’s "tag" in MVCC.

      +
    4. +
    5. +

      After a majority of replicas acknowledges the change, the actual rows are changed.

      +
    6. +
    7. +

      After the changes are complete, they are made visible to concurrent writes +and reads, atomically.

      +
    8. +
    +
    +
    +

    All replicas of a tablet observe the same order of operations, and if a write +operation is assigned timestamp n and changes row x, a second write operation +at timestamp m > n is guaranteed to see the new value of x.

    +
    +
    +

    This strict ordering of lock acquisition and timestamp assignment is enforced to be +consistent across all replicas of a tablet through consensus. Therefore, write operations +are totally ordered with regard to clock-assigned timestamps, relative to other writes +in the same tablet. In other words, writes have strict-serializable semantics, +though in an admittedly limited context. See this +blog post +for a little more context regarding what these semantics mean.

    +
    +
    +

    While Isolated and Durable in an ACID sense, multi-row write operations, even within a single +tablet, are not fully Atomic unless they are a part of a multi-tablet write transaction. The failure +of a single write in a batch operation does not roll back the operation, but produces per-row +errors.

    +
    +
    +
    +
    +

    Multi-tablet write operations

    +
    +
    +

    Regardless of whether they are a part of a transaction, writes from a Kudu client are optionally +buffered in memory until they are flushed and sent the server. When a client’s session flushes, the +rows for each tablet are batched together, and sent to the tablet server that hosts the leader +replica of the tablet. Outside of a transaction, each of these batches represents a single, +independent write operation with its own timestamp. However, the client API provides the option to +impose some constraints on the assigned timestamps and on how writes to different tablets are +observed by clients.

    +
    +
    +

    Kudu, like Spanner, was designed to be externally consistent [5], preserving consistency +when operations span multiple tablets and even multiple data centers. In practice this +means that, if a write operation changes item x at tablet A, and a following write +operation changes item y at tablet B, you might want to enforce that if +the change to y is observed, the change to x must also be observed. There +are many examples where this can be important. For example, if Kudu is +storing clickstreams for further analysis, and two clicks follow each other but +are stored in different tablets, subsequent clicks should be assigned subsequent +timestamps so that the causal relationship between them is captured.

    +
    +
    +
    CLIENT_PROPAGATED Consistency
    +

    Kudu’s default external consistency mode is called CLIENT_PROPAGATED. +See [1] for an extensive explanation on how it works. In brief, this mode causes writes +from a single client to be automatically externally consistent. In the clickstream scenario +above, if the two clicks are submitted by different client instances, the application must +manually propagate timestamps from one client to the other for the causal relationship +to be captured.

    +
    +
    +

    Timestamps between clients a and b can be propagated as follows:

    +
    +
    +
    +
    Java Client
    +
    +

    Call AsyncKuduClient#getLastPropagatedTimestamp() on client a, +propagate the timestamp to client b, and call +AsyncKuduClient#setLastPropagatedTimestamp() on client b.

    +
    +
    C++ Client
    +
    +

    Call KuduClient::GetLatestObservedTimestamp() on client a, +propagate the timestamp to client b, and call +KuduClient::SetLatestObservedTimestamp() on client b.

    +
    +
    +
    +
    +
    COMMIT_WAIT Consistency
    +

    Kudu also has an experimental implementation of an external consistency +model used in Google’s Spanner , called COMMIT_WAIT. COMMIT_WAIT works +by tightly synchronizing the clocks on all machines in the cluster. Then, when a +write occurs, timestamps are assigned and the results of the write are not made +visible until enough time has passed so that no other machine in the cluster could +possibly assign a lower timestamp to a following write.

    +
    +
    +

    When using this mode, the latency of writes is tightly tied to the accuracy of clocks on +all the cluster hosts, and using this mode with loose clock synchronization causes writes +to take a long time to complete or even time out. See Known Issues and Limitations.

    +
    +
    +

    The COMMIT_WAIT consistency mode may be selected as follows:

    +
    +
    +
    +
    Java Client
    +
    +

    Call KuduSession#setExternalConsistencyMode(ExternalConsistencyMode.COMMIT_WAIT)

    +
    +
    C++ Client
    +
    +

    Call KuduSession::SetExternalConsistencyMode(COMMIT_WAIT)

    +
    +
    +
    +
    + + + + + +
    + + +COMMIT_WAIT consistency is considered an experimental feature. It may return +incorrect results, exhibit performance issues, or negatively impact cluster stability. +Use in production environments is discouraged. +
    +
    +
    +
    +
    +

    Multi-tablet write transactions

    +
    +
    +

    Kudu provides transactionality on top of the write operations, meaning all operations that occur +within a transaction abide by the same consistency behavior described above.

    +
    +
    +

    When a client begins a transaction, Kudu automatically assigns the transaction a unique identifier +(called a "transaction ID"). The identifier can be used to create sessions to which write operations +are applied, potentially across multiple clients per transaction. Write operations applied in the +context of a transaction are not visible until a client commits the transaction.

    +
    +
    +

    Kudu exposes the following APIs to pass a transaction identifier between potentially multiple +processes:

    +
    +
    +
    +
    Java Client
    +
    +

    Call KuduTransaction#serialize(…​) to get a bytes representation of the transaction +ID, and call KuduTransaction#deserialize(…​) to get a KuduTransaction object.

    +
    +
    C++ Client
    +
    +

    Call KuduTransaction::Serialize(…​) to get a bytes representation of the +transaction ID, and call KuduTransaction::Deserialize(…​) to get a KuduTransaction object.

    +
    +
    +
    +
    +

    As writes are applied in the context of the transaction, each tablet that participates in the +transaction automatically registers itself as a participant, and is locked for further transactions +until the transaction is complete. Per-row locks are taken as per the normal flow of a write +operation, but per row locks are released upon replicating the write operation, in favor of relying +on the tablet-wide lock.

    +
    +
    +

    If multiple transactions lock the same tablet, Kudu uses the wait-die scheme to avoid deadlocks when +locking the participant: if a transaction b attempts to lock a tablet that is already locked by +transaction a, if a > b (a is newer than b), transaction b continues trying to lock +until it is successful (it "waits"). Otherwise, transaction b is automatically aborted, and it is +up to the application to retry the transaction.

    +
    +
    +

    When the client commits a transaction, Kudu orchestrates a two-phase commit that assigns a "commit +timestamp" to all write operations that is higher than each of their individually assigned +timestamps. The mutations of the transaction are all visible to clients as of this commit timestamp. +Additionally, subsequent write operations on all participants are guaranteed to be assigned +timestamps higher than this timestamp. It is up to applications to ensure that all desired write +operations have succeeded (i.e. did not return row errors) before committing.

    +
    +
    +

    As long as a transaction is expected to remain active, applications are expected to maintain at +least one reference to the given transaction’s handle, each of which can be configured to +automatically heartbeat to the Kudu cluster, indicating liveness of the transacting application. By +default, only the first created transaction handle for a transaction will heartbeat, with the +expectation that it is kept alive for the entire duration of the transaction. If only a single +transaction handle is expected to be kept alive at once across multiple clients, the heartbeating +can be enabled with the following calls when serializing the handle for use in other processes.

    +
    +
    +
    +
    Java Client
    +
    +

    Call KuduTransaction.SerializationOptions#setEnableKeepalive(true)

    +
    +
    C++ Client
    +
    +

    Call KuduTransaction::SerializationOptions::enable_keepalive(true)

    +
    +
    +
    +
    +
    +
    +

    Read Operations (Scans)

    +
    +
    +

    Scans are read operations performed by clients that may span one or more rows across +one or more tablets. When a server receives a scan request, it takes a snapshot of the MVCC +state and then proceeds in one of two ways depending on the read mode selected by +the user. The mode may be selected as follows:

    +
    +
    +
    +
    Java Client
    +
    +

    Call KuduScannerBuilder#readMode(…​)

    +
    +
    C++ Client
    +
    +

    Call KuduScanner::SetReadMode()

    +
    +
    +
    +
    +

    The following modes are available in both clients:

    +
    +
    +
    +
    READ_LATEST
    +
    +

    This is the default read mode. The server takes a snapshot of +the MVCC state and proceeds with the read immediately. Reads in this mode only yield +'Read Committed' isolation.

    +
    +
    READ_AT_SNAPSHOT
    +
    +

    In this read mode, scans are consistent and repeatable. A +timestamp for the snapshot is selected either by the server, or set +explicitly by the user through KuduScanner::SetSnapshotMicros(). Explicitly setting +the timestamp is recommended; see Recommendations. The server waits until this +timestamp is 'safe' (until all write operations that have a lower timestamp have +completed and are visible). This delay, coupled with an external consistency method, +will eventually allow Kudu to have full strict-serializable semantics for reads +and writes. This is still a work in progress and some anomalies are still possible +(see Known Issues and Limitations). Only scans in this mode can be fault-tolerant.

    +
    +
    READ_YOUR_WRITES
    +
    +

    This read mode relies on the state of a Kudu client to +issue subsequent scan requests. When issuing a scan request in this read mode, +a Kudu client provides the latest timestamp it observed so far. The server +selects a timestamp higher than the timestamp provided by the client, that is +also guaranteed to have all prior write operations committed and applied to +the data. That translates into read-your-writes and read-your-reads behavior +which is useful in scenarios where subsequent scan requests should contain the +data the client has seen so far while reading and writing during its current +session. KUDU-1704 could +provide more details and references, if necessary. To summarize, this read mode

    +
    +
      +
    • +

      ensures read-your-writes and read-your-reads session guarantees

      +
    • +
    • +

      minimizes the latency caused by waiting for outstanding write operations +at the server side to complete

      +
    • +
    • +

      doesn’t guarantee linearizability

      +
    • +
    +
    +
    +
    +
    +
    +

    Selecting between read modes requires balancing the trade-offs and making a choice +that fits your workload. For instance, a reporting application that needs to +scan the entire database might need to perform careful accounting operations, so that +scan may need to be fault-tolerant, but probably doesn’t require a to-the-microsecond +up-to-date view of the database. In that case, you might choose READ_AT_SNAPSHOT +and select a timestamp that is a few seconds in the past when the scan starts. On +the other hand, a machine learning workload that is not ingesting the whole data +set and is already statistical in nature might not require the scan to be repeatable, +so you might choose READ_LATEST instead for better scan performance.

    +
    +
    + + + + + +
    + + +
    +

    Kudu also provides replica selection API for users to choose at which replica the +scan should be performed:

    +
    +
    +
    +
    Java Client
    +
    +

    Call KuduScannerBuilder#replicaSelection(…​)

    +
    +
    C++ Client
    +
    +

    Call KuduScanner::SetSelection(…​)

    +
    +
    +
    +
    +

    This API is a means to control locality and, in some cases, latency. The replica +selection API has no effect on the consistency guarantees, which will hold no matter +which replica is selected.

    +
    +
    +
    +
    +
    +
    +

    Known Issues and Limitations

    +
    +
    +

    There are several gaps and corner cases that prevent Kudu from being fully strictly-serializable +in some situations, at the moment. Below are the details and next, some recommendations.

    +
    +
    +

    Writes

    +
    +
      +
    • +

      Support for COMMIT_WAIT is experimental and requires careful tuning of the +time-synchronization protocol, such as NTP (Network Time Protocol). Its use +is discouraged in production environments.

      +
    • +
    • +

      Multi-tablet transaction support currently only allows a tablet to participate in a single +transaction at a time.

      +
    • +
    • +

      Multi-tablet transaction support currently only guarantees +"read committed" semantics.

      +
    • +
    +
    +
    +
    +

    Reads (Scans)

    +
    +
      +
    • +

      On a leader change, READ_AT_SNAPSHOT scans at a snapshot whose timestamp is beyond the last +write may also yield non-repeatable reads (see +KUDU-1188). +See Recommendations for a workaround.

      +
    • +
    • +

      Impala scans are currently performed as READ_LATEST and have no consistency +guarantees.

      +
    • +
    • +

      In AUTO_BACKGROUND_FLUSH mode, or when using "async" flushing mechanisms, writes applied to a +single client session may become reordered due to the concurrency of flushing the data to the +server. This may be particularly noticeable if a single row is quickly updated with different +values in succession. This phenomenon affects all client API implementations, including +transactional APIs. Workarounds are described in the API documentation for the respective +implementations in the docs for FlushMode or AsyncKuduSession. See +KUDU-1767.

      +
    • +
    • +

      Dirty reads (i.e. reads within an uncommitted transaction) are not currently supported.

      +
    • +
    +
    +
    +
    +

    Recommendations

    +
    +
      +
    • +

      If repeatable snapshot reads are a requirement, use READ_AT_SNAPSHOT +with a timestamp that is slightly in the past (between 2-5 seconds, ideally). +This will circumvent the anomaly described in Writes. Even when the +anomaly has been addressed, back-dating the timestamp will always make scans +faster, since they are unlikely to block.

      +
    • +
    • +

      If external consistency is a requirement and you decide to use COMMIT_WAIT, the +time-synchronization protocol needs to be tuned carefully. Each operation will wait 2x the maximum +clock error at the time of execution, which is usually in the 100 msec. to 1 sec. range with the +default settings, maybe more. Thus, write operations would take at least 200 msec. to 2 sec. to +complete when using the default settings and may even time out.

      +
      +
        +
      • +

        A local server should be used as a time server. We’ve performed experiments using the default +NTP time source available in a Google Compute Engine data center and were able to obtain +a reasonable tight max error bound, usually varying between 12-17 milliseconds.

        +
      • +
      • +

        The following parameters should be adjusted in /etc/ntp.conf to tighten the maximum error:

        +
        +
          +
        • +

          server my_server.org iburst minpoll 1 maxpoll 8

          +
        • +
        • +

          tinker dispersion 500

          +
        • +
        • +

          tinker allan 0

          +
        • +
        +
        +
      • +
      +
      +
    • +
    +
    +
    + + + + + +
    + + +The above parameters minimize maximum error at the expense of estimated error, +the latter might be orders of magnitude above it’s "normal" value. These parameters also +may place a greater load on the time server, since they make the servers poll much more +frequently. +
    +
    +
    +
    +
    +
    +

    References

    +
    +
    +
      +
    • +

      [1] David Alves, Todd Lipcon and Vijay Garg. Technical Report: HybridTime - Accessible Global Consistency with High Clock Uncertainty. April, 2014. http://users.ece.utexas.edu/~garg/pdslab/david/hybrid-time-tech-report-01.pdf

      +
    • +
    • +

      [2] James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang, and Dale Woodford. 2012. Spanner: Google’s globally-distributed database. In Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation (OSDI'12). USENIX Association, Berkeley, CA, USA, 251-264.

      +
    • +
    • +

      [3] Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, and Daniel J. Abadi. 2012. Calvin: fast distributed transactions for partitioned database systems. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (SIGMOD '12). ACM, New York, NY, USA, 1-12. DOI=10.1145/2213836.2213838 http://doi.acm.org/10.1145/2213836.2213838

      +
    • +
    • +

      [4] Diego Ongaro and John Ousterhout. 2014. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference (USENIX ATC'14), Garth Gibson and Nickolai Zeldovich (Eds.). USENIX Association, Berkeley, CA, USA, 305-320.

      +
    • +
    • +

      [5] Kwei-Jay Lin, "Consistency issues in real-time database systems," in System Sciences, 1989. Vol.II: Software Track, Proceedings of the Twenty-Second Annual Hawaii International Conference on , vol.2, no., pp.654-661 vol.2, 3-6 Jan 1989 doi: 10.1109/HICSS.1989.48069

      +
    • +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/docs/troubleshooting.html b/releases/1.17.1/docs/troubleshooting.html new file mode 100644 index 0000000000..dcef6e5765 --- /dev/null +++ b/releases/1.17.1/docs/troubleshooting.html @@ -0,0 +1,1683 @@ +--- +title: Apache Kudu Troubleshooting +layout: default +active_nav: docs +last_updated: 'Last updated 2024-10-28 17:38:51 -0700' +--- + + + +
    +
    +
    + +

    Apache Kudu Troubleshooting

    +
    +
    +
    + + + + + +
    + + +This document applies to Apache Kudu version 1.17.1. Please consult the +documentation of the appropriate release that’s applicable +to the version of the Kudu cluster. +
    +
    +
    +
    +
    +

    Startup Errors

    +
    +
    +

    Errors During Hole Punching Test

    +
    +

    Kudu requires hole punching capabilities in order to be efficient. Hole punching support +depends upon your operation system kernel version and local filesystem implementation.

    +
    +
    +
      +
    • +

      RHEL or CentOS 6.4 or later, patched to kernel version of 2.6.32-358 or later. +Unpatched RHEL or CentOS 6.4 does not include a kernel with support for hole punching.

      +
    • +
    • +

      Ubuntu 14.04 includes version 3.13 of the Linux kernel, which supports hole punching.

      +
    • +
    • +

      Newer versions of the ext4 and xfs filesystems support hole punching. Older versions +that do not support hole punching will cause Kudu to emit an error message such as the +following and to fail to start:

      +
      +
      +
      Error during hole punch test. The log block manager requires a
      +filesystem with hole punching support such as ext4 or xfs. On el6,
      +kernel version 2.6.32-358 or newer is required. To run without hole
      +punching (at the cost of some efficiency and scalability), reconfigure
      +Kudu to use the file block manager. Refer to the Kudu documentation for
      +more details. WARNING: the file block manager is not suitable for
      +production use and should be used only for small-scale evaluation and
      +development on systems where hole-punching is not available. It's
      +impossible to switch between block managers after data is written to the
      +server. Raw error message follows
      +
      +
      +
    • +
    +
    +
    + + + + + +
    + + +ext4 mountpoints may actually be backed by ext2 or ext3 formatted devices, which do not +support hole punching. The hole punching test will fail when run on such filesystems. There +are several different ways to determine whether an ext4 mountpoint is backed by an ext2, +ext3, or ext4 formatted device; see this Stack +Exchange post for details. +
    +
    +
    +

    Without hole punching support, the log block manager is unsafe to use. It won’t +ever delete blocks, and will consume ever more space on disk.

    +
    +
    +

    You can run the following sequence of commands on a mounted file system to +check whether it supports hole punching (the originally allocated 10MiB +turns into 5MiB after punching a 5MiB hole in the file at 1MiB offset):

    +
    +
    +
    +
    $ dd if=/dev/zero of=hole_punch bs=1M count=10 2>/dev/null
    +$ du -h hole_punch
    +10M     hole_punch
    +$ fallocate -p -o 1M -l 5M hole_punch
    +$ du -h hole_punch
    +5.0M    hole_punch
    +
    +
    +
    +

    If you can’t use hole punching in your environment, you can still +try Kudu. Enable the file block manager instead of the log block manager by +adding the --block_manager=file flag to the commands you use to start the master +and tablet servers. The file block manager does not scale as well as the log block +manager.

    +
    +
    + + + + + +
    + + +
    +

    The file block manager is known to scale and perform poorly, and should +only be used for small-scale evaluation and development, and only on systems +where hole punching is unavailable.

    +
    +
    +

    The file block manager uses one file per block. As multiple blocks are written +for each rowset, the number of blocks can be very high, especially for actively +written tablets. This can cause performance issues compared to the log block +manager even with a small amount of data and it’s impossible to switch between +block managers without wiping and reinitializing the tablet servers.

    +
    +
    +
    +
    +
    +

    Already present: FS layout already exists

    +
    +

    When Kudu starts, it checks each configured data directory, expecting either for all to be +initialized or for all to be empty. If a server fails to start with a log message like

    +
    +
    +
    +
    Check failed: _s.ok() Bad status: Already present: FS layout already exists; not overwriting existing layout: FSManager roots already exist: /data0/kudu/data
    +
    +
    +
    +

    then this precondition has failed. This could be because Kudu was configured with non-empty data +directories on first startup, or because a previously-running, healthy Kudu process was restarted +and at least one data directory was deleted or is somehow corrupted, perhaps because of a disk +error. If in the latter situation, consult the +Changing Directory Configurations documentation.

    +
    +
    +
    +

    NTP Clock Synchronization

    +
    +

    The local clock of the machine where Kudu master or tablet server is running +must be synchronized using the Network Time Protocol (NTP) if using the system +time source. The time source is controlled by the --time_source flag and +by default is set to system.

    +
    +
    +

    Kudu requires the maximum clock error (not to be mistaken with the estimated +error) of the NTP-synchronized clock be below a configurable threshold. +The default threshold value is 10 seconds and it can be customized using the +--max_clock_sync_error_usec flag.

    +
    +
    +

    When running with the system time source, Kudu will not start and will emit +a message such as below if the local clock is reported unsynchronized:

    +
    +
    +
    +
    F0924 20:24:36.336809 14550 hybrid_clock.cc:191 Couldn't get the current time: Clock unsynchronized. Status: Service unavailable: Error reading clock. Clock considered unsynchronized.
    +
    +
    +
    +

    If the machine’s clock is synchronized, but the maximum clock error is too high, +the user will see a message such as:

    +
    +
    +
    +
    Sep 17, 8:13:09.873 PM FATAL hybrid_clock.cc:196 Couldn't get the current time: Clock synchronized, but error: 11130000, is past the maximum allowable error: 10000000
    +
    +
    +
    +

    or

    +
    +
    +
    +
    Sep 17, 8:32:31.135 PM FATAL tablet_server_main.cc:38 Check failed: _s.ok() Bad status: Service unavailable: Cannot initialize clock: Cannot initialize HybridClock. Clock synchronized but error was too high (11711000 us).
    +
    +
    +
    +

    In this and following NTP-related paragraphs, when talking about the +'synchronization' with true time using NTP, we are referring to a couple of +things: +- the synchronization status of the NTP server which drives the local clock + of the machine +- the synchronization status of the local machine’s clock itself as reported + by the kernel’s NTP discipline

    +
    +
    +

    The former can be retrieved using the ntpstat, ntpq, and ntpdc utilities +if using ntpd (they are included in the ntp package) or the chronyc +utility if using chronyd (that’s a part of the chrony package). The latter +can be retrieved using either the ntptime utility (the ntptime utility is +also a part of the ntp package) or the chronyc utility if using chronyd. +For more information, see the manual pages of the mentioned utilities and the +paragraphs below.

    +
    +
    + +
    +

    For a long time, ntpd has been the recommended NTP server to use on Kudu +nodes to synchronize local machines' clocks. Newer releases of Linux OS offer +chronyd as an alternative to ntpd for network time synchronization. Both +have been tested and proven to provide necessary functionality for clock +synchronisation in a Kudu cluster.

    +
    +
    +
    Installing And Running ntpd
    +
    +

    ntpd is the NTP server from the ubiquitous ntp suite.

    +
    +
    +

    To install ntpd and other NTP-related utilities, use the appropriate command +for your operating system:

    +
    + ++++ + + + + + + + + + + + + + + + + +
    OSCommand

    Debian/Ubuntu

    sudo apt-get install ntp

    RHEL/CentOS

    sudo yum install ntp

    +
    +

    If ntpd is installed but not running, start it using one of these commands +(don’t forget to run ntpdate first):

    +
    + ++++ + + + + + + + + + + + + + + + + +
    OSCommand

    Debian/Ubuntu

    sudo service ntp restart

    RHEL/CentOS

    sudo service ntpd restart

    +
    +

    Make sure ntpdate is in the list of services running when the machine starts: +ntpdate should be run prior starting ntpd to avoid long synchronization +delay of the machine’s local clock with the true time. The smaller the offset +between local machine’s clock and the true time, the faster the NTP server can +synchronize the clock.

    +
    +
    +

    When running ntpdate, make sure the tool reports success: check its exit +status and output. In case of issues connecting to the NTP servers, make sure +NTP traffic is not being blocked by a firewall (NTP generates UDP traffic on +port 123 by default) or other network connectivity issue.

    +
    +
    +

    Below are a few examples of configuration files for ntpd. By default, ntpd +uses /etc/ntp.conf configuration file.

    +
    +
    +
    +
    # Use my organization's internal NTP server (server in a local network).
    +server ntp1.myorg.internal iburst maxpoll 7
    +# Add servers from the NTP public pool for redundancy and robustness.
    +server 0.pool.ntp.org iburst maxpoll 8
    +server 1.pool.ntp.org iburst maxpoll 8
    +server 2.pool.ntp.org iburst maxpoll 8
    +server 3.pool.ntp.org iburst maxpoll 8
    +
    +
    +
    +
    +
    # AWS case: use dedicated NTP server available via link-local IP address.
    +server 169.254.169.123 iburst
    +
    +
    +
    +
    +
    # GCE case: use dedicated NTP server available from within cloud instance.
    +server metadata.google.internal iburst
    +
    +
    +
    +

    Sometimes it takes too long to synchronize the machine’s local clock with the +true time even if the ntpstat utility reports that the NTP daemon is +synchronized with one of the reference NTP servers. This manifests as the +following: the utilities which report on the synchronization status of the NTP +daemon claim that all is well, but ntptime claims that the status of the +local clock is unsynchronized and Kudu tablet servers and masters refuse to +start, outputting an error like the one mentioned above. This situation often +happens if the ntpd is run with the -x option. According to the manual +page of ntpd, the -x flag configures the NTP server to only slew the clock. +Without -x, the NTP server would do a step adjustment instead:

    +
    +
    +
    +
      -x     Normally, the time is slewed if the offset is less than the
    +         step threshold, which is 128 ms by default, and stepped if
    +         above the threshold. This option sets the threshold to 600 s,
    +         which is well within the accuracy window to set the clock manually.
    +         Note: Since the slew rate of typical Unix kernels is limited to
    +         0.5 ms/s, each second of	adjustment requires an amortization
    +         interval of 2000 s. Thus, an adjustment as much as 600 s
    +         will take almost 14 days to complete.
    +
    +
    +
    +

    In such cases, removing the -x option will help synchronize the local clock +faster.

    +
    +
    +

    More information on best practices and examples of practical resolution of +various NTP synchronization issues can be found found at +clock-drift

    +
    +
    +
    +
    Monitoring Clock Synchronization Status With The ntp Suite
    +
    +

    When the ntp package is installed, you can monitor the synchronization status +of the machine’s clock by running ntptime. For example, a system +with a local clock that is synchronized may report:

    +
    +
    +
    +
    ntp_gettime() returns code 0 (OK)
    +  time de24c0cf.8d5da274  Tue, Feb  6 2018 16:03:27.552, (.552210980),
    +  maximum error 224455 us, estimated error 383 us, TAI offset 0
    +ntp_adjtime() returns code 0 (OK)
    +  modes 0x0 (),
    +  offset 1279.543 us, frequency 2.500 ppm, interval 1 s,
    +  maximum error 224455 us, estimated error 383 us,
    +  status 0x2001 (PLL,NANO),
    +  time constant 10, precision 0.001 us, tolerance 500 ppm,
    +
    +
    +
    +

    Note the following most important pieces of output:

    +
    +
    +
      +
    • +

      maximum error 22455 us: this value is well under the 10-second maximum +error required by Kudu.

      +
    • +
    • +

      status 0x2001 (PLL,NANO): this indicates the local clock is synchronized +with the true time up to the maximum error above

      +
    • +
    +
    +
    +

    In contrast, a system with unsynchronized local clock would report something +like the following:

    +
    +
    +
    +
    ntp_gettime() returns code 5 (ERROR)
    +  time de24c240.0c006000  Tue, Feb  6 2018 16:09:36.046, (.046881),
    +  maximum error 16000000 us, estimated error 16000000 us, TAI offset 0
    +ntp_adjtime() returns code 5 (ERROR)
    +  modes 0x0 (),
    +  offset 0.000 us, frequency 2.500 ppm, interval 1 s,
    +  maximum error 16000000 us, estimated error 16000000 us,
    +  status 0x40 (UNSYNC),
    +  time constant 10, precision 1.000 us, tolerance 500 ppm,
    +
    +
    +
    +

    The UNSYNC status means the local clock is not synchronized with the +true time. Because of that, the maximum reported error doesn’t convey any +meaningful estimation of the actual error.

    +
    +
    +

    The ntpstat utility reports a summary on the synchronization status of +the NTP daemon itself. For example, a system which have ntpd running and +synchronized with one of its reference servers may report:

    +
    +
    +
    +
    $ ntpstat
    +synchronised to NTP server (172.18.7.3) at stratum 4
    +   time correct to within 160 ms
    +   polling server every 1024 s
    +
    +
    +
    +

    Keep in mind that the synchronization status of the NTP daemon itself doesn’t +reflect the synchronization status of the local clock. The way NTP daemon +drives the local clock is subject to many constraints, and it may take the NTP +daemon some time to synchronize the local clock after it itself has latched +to one of the reference servers.

    +
    +
    +

    If more detailed information is needed on the synchronization status of the +NTP server (but not the synchronization status of the local clock), the ntpq +or ntpdc tools can be used to get detailed information about what NTP server +is currently acting as the source of the true time and which are considered +as candidates (either viable or not):

    +
    +
    +
    +
    $ ntpq -nc lpeers
    +     remote           refid      st t when poll reach   delay   offset  jitter
    +==============================================================================
    +-108.59.2.24     130.133.1.10     2 u   13   64    1   71.743    0.373   0.016
    ++192.96.202.120  129.6.15.28      2 u   12   64    1   72.583   -0.426   0.028
    +-69.10.161.7     204.26.59.157    3 u   11   64    1   15.741    2.641   0.021
    +-173.255.206.154 45.56.123.24     3 u   10   64    1   43.502    0.199   0.029
    +-69.195.159.158  128.138.140.44   2 u    9   64    1   53.885   -0.016   0.013
    +*216.218.254.202 .CDMA.           1 u    6   64    1    1.475   -0.400   0.012
    ++129.250.35.250  249.224.99.213   2 u    7   64    1    1.342   -0.640   0.018
    +
    +$ ntpq -nc opeers
    +     remote           local      st t when poll reach   delay   offset    disp
    +==============================================================================
    +-108.59.2.24     10.17.100.238    2 u   17   64    1   71.743    0.373 187.573
    ++192.96.202.120  10.17.100.238    2 u   16   64    1   72.583   -0.426 187.594
    +-69.10.161.7     10.17.100.238    3 u   15   64    1   15.741    2.641 187.569
    +-173.255.206.154 10.17.100.238    3 u   14   64    1   43.502    0.199 187.580
    +-69.195.159.158  10.17.100.238    2 u   13   64    1   53.885   -0.016 187.561
    +*216.218.254.202 10.17.100.238    1 u   10   64    1    1.475   -0.400 187.543
    ++129.250.35.250  10.17.100.238    2 u   11   64    1    1.342   -0.640 187.588
    +
    +
    +
    + + + + + +
    + + +Both lpeers and opeers may be helpful as lpeers lists refid and +jitter, while opeers lists clock dispersion. +
    +
    +
    +
    +
    Installing And Running chronyd
    +
    +

    Kudu has been tested and is supported on machines whose local clock is +synchronized with NTP using chronyd version 3.2 and newer.

    +
    +
    +

    The OS package is called chrony and contains both the NTP server chronyd +and the chronyc command line utility. To install the chronyd NTP server +and other utilities, use the appropriate command for your operating system:

    +
    + ++++ + + + + + + + + + + + + + + + + +
    OSCommand

    Debian/Ubuntu

    sudo apt-get install chrony

    RHEL/CentOS

    sudo yum install chrony

    +
    +

    If chronyd is installed but not yet running, start it using one of these +commands (don’t forget to run chronyd -q first):

    +
    + ++++ + + + + + + + + + + + + + + + + +
    OSCommand

    Debian/Ubuntu

    sudo service chrony restart

    RHEL/CentOS

    sudo service chronyd restart

    +
    +

    By default, chronyd uses /etc/chrony.conf configuration file. The rtcsync +option must be enabled in chrony.conf. Without rtcsync, the local machine’s +clock will always be reported as unsynchronized and Kudu masters and tablet +servers will not be able to start. The following +code +explains the observed behavior of chronyd when setting the synchronization +status of the local clock on Linux.

    +
    +
    +

    As verified at RHEL7.5/CentOS7.5 with chronyd 3.2 and newer, the default +configuration file is good enough to satisfy Kudu requirements for the system +clock if running on a machine that has Internet access.

    +
    + +
    +
    +
    pool pool.ntp.org iburst
    +driftfile /var/lib/chrony/drift
    +makestep 1 3
    +rtcsync
    +
    +
    +
    +
    +
    Monitoring Clock Synchronization Status With The chrony Suite
    +
    +

    When the chrony package is installed, you can monitor the synchronization +status of the machine’s clock by running chronyc tracking (add -n option +if no resolution of IP addresses back to FQDNs is desired: +chronyc -n tracking).

    +
    +
    +

    For example, a system where chronyd hasn’t synchronized the local clock yet +may report something like the following:

    +
    +
    +
    +
    Reference ID    : 00000000 ()
    +Stratum         : 0
    +Ref time (UTC)  : Thu Jan 01 00:00:00 1970
    +System time     : 0.000000000 seconds fast of NTP time
    +Last offset     : +0.000000000 seconds
    +RMS offset      : 0.000000000 seconds
    +Frequency       : 69.422 ppm slow
    +Residual freq   : +0.000 ppm
    +Skew            : 0.000 ppm
    +Root delay      : 1.000000000 seconds
    +Root dispersion : 1.000000000 seconds
    +Update interval : 0.0 seconds
    +Leap status     : Not synchronised
    +
    +
    +
    +

    A system with its local clock already synchronized may report:

    +
    +
    +
    +
    Reference ID    : A9FEA9FE (169.254.169.254)
    +Stratum         : 3
    +Ref time (UTC)  : Tue Mar 03 06:33:23 2020
    +System time     : 0.000011798 seconds fast of NTP time
    +Last offset     : +0.000014285 seconds
    +RMS offset      : 0.001493311 seconds
    +Frequency       : 69.417 ppm slow
    +Residual freq   : +0.000 ppm
    +Skew            : 0.006 ppm
    +Root delay      : 0.000786347 seconds
    +Root dispersion : 0.000138749 seconds
    +Update interval : 1036.7 seconds
    +Leap status     : Normal
    +
    +
    +
    +

    Note the following important pieces of output:

    +
    +
    +
      +
    • +

      Root delay: the total of the network path delays (round trips) +to the Stratum 1 server with which this chronyd instance is synchronized.

      +
    • +
    • +

      Root dispersion: the total dispersion accumulated through all the paths up +to the Stratum 1 server with which this chronyd instance is synchronized.

      +
    • +
    • +

      Leap status: whether the local clock is synchronized with the true time +up to the maximum error (see below). The Normal status means the clock is +synchronized, and Not synchronised naturally means otherwise.

      +
    • +
    +
    +
    +

    An absolute bound on the error of the clock maintained internally by chronyd +at the time of the last NTP update can be expressed as:

    +
    +
    +
    +
    clock_error <= abs(last_offset) + (root_delay / 2) + root_dispersion
    +
    +
    +
    +

    chronyc sources reports on the list of reference NTP servers:

    +
    +
    +
    +
    210 Number of sources = 4
    +MS Name/IP address         Stratum Poll Reach LastRx Last sample
    +===============================================================================
    +^* 169.254.169.254               2  10   377   371   +240us[ +254us] +/-  501us
    +^- 64.62.190.177                 3  11   377   102  +1033us[+1033us] +/-   81ms
    +^- 64.246.132.14                 1  11   377   129   +323us[ +323us] +/-   16ms
    +^- 184.105.182.16                2  10   377   130  -4719us[-4719us] +/-   55ms
    +
    +
    +
    +

    To get more details on the measurement stats for reference NTP servers use +chronyc sourcestats:

    +
    +
    +
    +
    210 Number of sources = 4
    +Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
    +==============================================================================
    +169.254.169.254            46  27  323m     +0.000      0.006    +72ns    68us
    +64.62.190.177              12  10  224m     +0.071      0.050  +1240us   154us
    +64.246.132.14              21  13  326m     +0.012      0.030   +434us   230us
    +184.105.182.16              6   3   86m     +0.252      0.559  -5097us   306us
    +
    +
    +
    +

    Use chronyc ntpdata [server] to get information on a particular reference +server (or all servers if the server parameter is omitted):

    +
    +
    +
    +
    Remote address  : 169.254.169.254 (A9FEA9FE)
    +Remote port     : 123
    +Local address   : 172.31.113.1 (AC1F7101)
    +Leap status     : Normal
    +Version         : 4
    +Mode            : Server
    +Stratum         : 2
    +Poll interval   : 10 (1024 seconds)
    +Precision       : -20 (0.000000954 seconds)
    +Root delay      : 0.000229 seconds
    +Root dispersion : 0.000107 seconds
    +Reference ID    : 474F4F47 ()
    +Reference time  : Tue Mar 03 06:33:24 2020
    +Offset          : -0.000253832 seconds
    +Peer delay      : 0.000557465 seconds
    +Peer dispersion : 0.000000987 seconds
    +Response time   : 0.000000001 seconds
    +Jitter asymmetry: +0.50
    +NTP tests       : 111 111 1111
    +Interleaved     : No
    +Authenticated   : No
    +TX timestamping : Daemon
    +RX timestamping : Kernel
    +Total TX        : 50
    +Total RX        : 50
    +Total valid RX  : 50
    +
    +
    +
    +

    For troubleshooting tips on clock synchronisation with chronyd see +this +useful guide.

    +
    +
    +
    +
    Notes on running chronyd in local reference mode
    +
    +

    When running Kudu cluster in an isolated network, it’s possible to synchronize +the clocks on all nodes with one another, but not necessarily to true time. +The local clock of one dedicated server can be kept vaguely in line with true +time by manual input, and other nodes will synchronize with that one. The +chronyd at the dedicated server runs in +local reference mode, +and chronyd at other nodes synchronize with it as with a regular true time +reference.

    +
    +
    +

    If using such a setup, it’s not recommended to run any Kudu servers at the +node where chronyd is running with local reference mode (at least for +chronyd of version 3.4 and below). Otherwise, the following might happen:

    +
    +
    +
      +
    • +

      chronyc tracking reports that all is well, Leap Status is Normal

      +
    • +
    • +

      ntptime reports that the local clock is out of sync

      +
    • +
    • +

      ntp_gettime() returns code 5 (ERROR)

      +
    • +
    • +

      ntp_adjtime() returns code 5 (ERROR) with status 0x40 (UNSYNC)

      +
    • +
    +
    +
    +

    With that, kudu-master and kudu-tserver fail to start, reporting an +errors like below:

    +
    +
    +
    +
    E0321 09:47:04.076095  2558 master_main.cc:40] Service unavailable: RunMasterServer() failed: Cannot initialize clock: timed out waiting for clock synchronisation: Error reading clock. Clock considered unsynchronized
    +
    +
    +
    +
    +
    E0321 09:50:03.023491  2853 tablet_server_main.cc:40] Service unavailable: RunTabletServer() failed: Cannot initialize clock: timed out waiting for clock synchronisation: Error reading clock. Clock considered unsynchronized
    +
    +
    +
    +
    +
    +

    NTP Configuration Best Practices

    +
    +

    In order to provide stable time synchronization with low maximum error, follow +these best NTP configuration best practices.

    +
    +
    +

    Run ntpdate (or its alternatives ntpd -q or chronyd -q in case of chrony) +prior to running the NTP server. If the offset of the local clock is too far +from the true time, it can take a long time before the NTP server synchronizes +the local clock, even if it’s allowed to perform step adjustments. So, after +configuring ntpd or chronyd, first run the ntpdate tool with the same set +of NTP servers or run ntpd -q/chronyd -q. It’s assumed that the NTP server +is not running when ntpdate/ntpd -q/chronyd -q is run. On RHEL/CentOS, if +using the ntp suite, enable the ntpdate service; if using the chrony +suite, enable the chrony-wait service.

    +
    +
    +

    In certain public cloud environments, use the highly-available NTP server +accessible via link-local IP address or other dedicated NTP server provided +as a service. If your cluster is running in a public cloud environment, +consult the cloud provider’s documentation for the recommended NTP setup. +Both AWS and GCE clouds offer dedicated highly available NTP servers accessible +from within a cloud instance via link-local IP address.

    +
    +
    +

    Unless using highly-available NTP reference server accessible via link-local +address, always configure at least four time sources for NTP server at the +local machine. In addition to providing redundancy in case one of time sources +becomes unavailable, this might make the configuration more robust since the +NTP is designed to increase its accuracy with a diversity of sources in networks +with higher round-trip times and jitter.

    +
    +
    +

    Use the iburst option for faster synchronization at startup. The iburst +option instructs the NTP server (both ntpd and chronyd) to send an initial +"burst" of time queries at startup. This results in a faster synchronization +of the ntpd/chronyd with their reference servers upon startup.

    +
    +
    +

    If the maximum clock error goes beyond the default threshold set by Kudu +(10 seconds), consider setting lower value for the maxpoll option for every +NTP server in ntp.conf/chrony.conf. For example, consider setting the +maxpoll to 7 which will cause the NTP daemon to make requests to the +corresponding NTP server at least every 128 seconds. The default maximum poll +interval is 10 (1024 seconds) for both ntpd and chronyd.

    +
    +
    + + + + + +
    + + +
    +

    If using custom maxpoll interval, don’t set maxpoll too low (e.g., lower +than 6) to avoid flooding NTP servers, especially the public ones. Otherwise +they may blacklist the client (i.e. the NTP daemon at your machine) and cease +providing NTP service at all. If in doubt, consult the ntp.conf or +chrony.conf manual page correspondingly.

    +
    +
    +
    +
    +
    +

    Troubleshooting NTP Stability Problems

    +
    +

    As of Kudu 1.6.0, both kudu-master and kudu-tserver are able to continue to +operate during a brief loss of clock synchronization. If clock synchronization +is lost for several hours, they may crash. If kudu-master or kudu-tserver +process crashes due to clock synchronization issues, consult the ERROR log +for a dump of related information which may help to diagnose the issue.

    +
    +
    + + + + + +
    + + +Kudu 1.5.0 and earlier versions were less resilient to brief NTP outages. In +addition, they contained a bug +which could cause Kudu to incorrectly measure the maximum error, resulting in +crashes. If you experience crashes related to clock synchronization on these +earlier versions of Kudu and it appears that the system’s NTP configuration +is correct, consider upgrading to Kudu 1.6.0 or later. +
    +
    +
    + + + + + +
    + + +If using other than link-local NTP servers, it may take some time for the +NTP server running on a local machine to synchronize with one of its reference +servers in case of network connectivity issues. In case of a spotty network +between the machine and the reference NTP servers, ntpd/chronyd may become +unsynchronized with its reference NTP servers. If that happens, consider finding +other set of reference NTP servers: the best bet is to use NTP servers in the +local network or *.pool.ntp.org servers. +
    +
    +
    +
    +
    +
    +
    +

    Disk Space Usage

    +
    +
    +

    When using the log block manager (the default on Linux), Kudu uses +sparse files to store data. A +sparse file has a different apparent size than the actual amount of disk space +it uses. This means that some tools may inaccurately report the disk space +used by Kudu. For example, the size listed by ls -l does not accurately +reflect the disk space used by Kudu data files:

    +
    +
    +
    +
    $ ls -lh /data/kudu/tserver/data
    +total 117M
    +-rw------- 1 kudu kudu 160M Mar 26 19:37 0b9807b8b17d48a6a7d5b16bf4ac4e6d.data
    +-rw------- 1 kudu kudu 4.4K Mar 26 19:37 0b9807b8b17d48a6a7d5b16bf4ac4e6d.metadata
    +-rw------- 1 kudu kudu  32M Mar 26 19:37 2f26eeacc7e04b65a009e2c9a2a8bd20.data
    +-rw------- 1 kudu kudu 4.3K Mar 26 19:37 2f26eeacc7e04b65a009e2c9a2a8bd20.metadata
    +-rw------- 1 kudu kudu 672M Mar 26 19:37 30a2dd2cd3554d8a9613f588a8d136ff.data
    +-rw------- 1 kudu kudu 4.4K Mar 26 19:37 30a2dd2cd3554d8a9613f588a8d136ff.metadata
    +-rw------- 1 kudu kudu  32M Mar 26 19:37 7434c83c5ec74ae6af5974e4909cbf82.data
    +-rw------- 1 kudu kudu 4.3K Mar 26 19:37 7434c83c5ec74ae6af5974e4909cbf82.metadata
    +-rw------- 1 kudu kudu 672M Mar 26 19:37 772d070347a04f9f8ad2ad3241440090.data
    +-rw------- 1 kudu kudu 4.4K Mar 26 19:37 772d070347a04f9f8ad2ad3241440090.metadata
    +-rw------- 1 kudu kudu 160M Mar 26 19:37 86e50a95531f46b6a79e671e6f5f4151.data
    +-rw------- 1 kudu kudu 4.4K Mar 26 19:37 86e50a95531f46b6a79e671e6f5f4151.metadata
    +-rw------- 1 kudu kudu  687 Mar 26 19:26 block_manager_instance
    +
    +
    +
    +

    Notice that the total size reported is 117MiB, while the first file’s size is +listed as 160MiB. Adding the -s option to ls will cause ls to output the +file’s disk space usage.

    +
    +
    +

    The du and df utilities report the actual disk space usage by default.

    +
    +
    +
    +
    $ du -h /data/kudu/tserver/data
    +118M   /data/kudu/tserver/data
    +
    +
    +
    +

    The apparent size can be shown with the --apparent-size flag to du.

    +
    +
    +
    +
    $ du -h --apparent-size /data/kudu/tserver/data
    +1.7G  /data/kudu/tserver/data
    +
    +
    +
    +
    +
    +

    Reporting Kudu Crashes

    +
    +
    +

    Kudu uses the +Google Breakpad +library to generate a minidump whenever Kudu experiences a crash. These +minidumps are typically only a few MB in size and are generated even if core +dump generation is disabled. At this time, generating minidumps is only +possible in Kudu on Linux builds.

    +
    +
    +

    A minidump file contains important debugging information about the process that +crashed, including shared libraries loaded and their versions, a list of +threads running at the time of the crash, the state of the processor registers +and a copy of the stack memory for each thread, and CPU and operating system +version information.

    +
    +
    +

    It is also possible to force Kudu to create a minidump without killing the +process by sending a USR1 signal to the kudu-tserver or kudu-master +process. For example:

    +
    +
    +
    +
    sudo pkill -USR1 kudu-tserver
    +
    +
    +
    +

    By default, Kudu stores its minidumps in a subdirectory of its configured glog +directory called minidumps. This location can be customized by setting the +--minidump_path flag. Kudu will retain only a certain number of minidumps +before deleting the oldest ones, in an effort to avoid filling up the disk with +minidump files. The maximum number of minidumps that will be retained can be +controlled by setting the --max_minidumps gflag.

    +
    +
    +

    Minidumps contain information specific to the binary that created them and so +are not usable without access to the exact binary that crashed, or a very +similar binary. For more information on processing and using minidump files, +see scripts/dump_breakpad_symbols.py.

    +
    +
    + + + + + +
    + + +A minidump can be emailed to a Kudu developer or attached to a JIRA in +order to help a Kudu developer debug a crash. In order for it to be useful, the +developer will need to know the exact version of Kudu and the operating system +where the crash was observed. Note that while a minidump does not contain a +heap memory dump, it does contain stack memory and therefore it is possible for +application data to appear in a minidump. If confidential or personal +information is stored on the cluster, do not share minidump files. +
    +
    +
    +
    +
    +

    Performance Troubleshooting

    +
    +
    +

    Kudu Tracing

    +
    +

    The kudu-master and kudu-tserver daemons include built-in tracing support +based on the open source +Chromium Tracing +framework. You can use tracing to help diagnose latency issues or other problems +on Kudu servers.

    +
    +
    +

    Accessing the tracing interface

    +
    +

    The tracing interface is accessed via a web browser as part of the +embedded web server in each of the Kudu daemons.

    +
    + + ++++ + + + + + + + + + + + + + + + + +
    Table 1. Tracing Interface URLs
    DaemonURL

    Tablet Server

    http://tablet-server-1.example.com:8050/tracing.html

    Master

    http://master-1.example.com:8051/tracing.html

    +
    + + + + + +
    + + +The tracing interface is known to work in recent versions of Google Chrome. +Other browsers may not work as expected. +
    +
    +
    +
    +

    Collecting a trace

    +
    +

    After navigating to the tracing interface, click the Record button on the top left corner +of the screen. When beginning to diagnose a problem, start by selecting all categories. +Click Record to begin recording a trace.

    +
    +
    +

    During the trace collection, events are collected into an in-memory ring buffer. +This ring buffer is fixed in size, so it will eventually fill up to 100%. However, new events +are still being collected while older events are being removed. While recording the trace, +trigger the behavior or workload you are interested in exploring.

    +
    +
    +

    After collecting for several seconds, click Stop. The collected trace will be +downloaded and displayed. Use the ? key to display help text about using the tracing +interface to explore the trace.

    +
    +
    +
    +

    Saving a trace

    +
    +

    You can save collected traces as JSON files for later analysis by clicking Save +after collecting the trace. To load and analyze a saved JSON file, click Load +and choose the file.

    +
    +
    +
    +
    +

    RPC Timeout Traces

    +
    +

    If client applications are experiencing RPC timeouts, the Kudu tablet server +WARNING level logs should contain a log entry which includes an RPC-level trace. For example:

    +
    +
    +
    +
    W0922 00:56:52.313848 10858 inbound_call.cc:193] Call kudu.consensus.ConsensusService.UpdateConsensus
    +from 192.168.1.102:43499 (request call id 3555909) took 1464ms (client timeout 1000).
    +W0922 00:56:52.314888 10858 inbound_call.cc:197] Trace:
    +0922 00:56:50.849505 (+     0us) service_pool.cc:97] Inserting onto call queue
    +0922 00:56:50.849527 (+    22us) service_pool.cc:158] Handling call
    +0922 00:56:50.849574 (+    47us) raft_consensus.cc:1008] Updating replica for 2 ops
    +0922 00:56:50.849628 (+    54us) raft_consensus.cc:1050] Early marking committed up to term: 8 index: 880241
    +0922 00:56:50.849968 (+   340us) raft_consensus.cc:1056] Triggering prepare for 2 ops
    +0922 00:56:50.850119 (+   151us) log.cc:420] Serialized 1555 byte log entry
    +0922 00:56:50.850213 (+    94us) raft_consensus.cc:1131] Marking committed up to term: 8 index: 880241
    +0922 00:56:50.850218 (+     5us) raft_consensus.cc:1148] Updating last received op as term: 8 index: 880243
    +0922 00:56:50.850219 (+     1us) raft_consensus.cc:1195] Filling consensus response to leader.
    +0922 00:56:50.850221 (+     2us) raft_consensus.cc:1169] Waiting on the replicates to finish logging
    +0922 00:56:52.313763 (+1463542us) raft_consensus.cc:1182] finished
    +0922 00:56:52.313764 (+     1us) raft_consensus.cc:1190] UpdateReplicas() finished
    +0922 00:56:52.313788 (+    24us) inbound_call.cc:114] Queueing success response
    +
    +
    +
    +

    These traces can give an indication of which part of the request was slow. Please +include them in bug reports related to RPC latency outliers.

    +
    +
    +
    +

    Kernel Stack Watchdog Traces

    +
    +

    Each Kudu server process has a background thread called the Stack Watchdog, which +monitors the other threads in the server in case they have blocked for +longer-than-expected periods of time. These traces can indicate operating system issues +or bottlenecked storage.

    +
    +
    +

    When the watchdog thread identifies a case of thread blockage, it logs an entry +in the WARNING log like the following:

    +
    +
    +
    +
    W0921 23:51:54.306350 10912 kernel_stack_watchdog.cc:111] Thread 10937 stuck at /data/kudu/consensus/log.cc:505 for 537ms:
    +Kernel stack:
    +[<ffffffffa00b209d>] do_get_write_access+0x29d/0x520 [jbd2]
    +[<ffffffffa00b2471>] jbd2_journal_get_write_access+0x31/0x50 [jbd2]
    +[<ffffffffa00fe6d8>] __ext4_journal_get_write_access+0x38/0x80 [ext4]
    +[<ffffffffa00d9b23>] ext4_reserve_inode_write+0x73/0xa0 [ext4]
    +[<ffffffffa00d9b9c>] ext4_mark_inode_dirty+0x4c/0x1d0 [ext4]
    +[<ffffffffa00d9e90>] ext4_dirty_inode+0x40/0x60 [ext4]
    +[<ffffffff811ac48b>] __mark_inode_dirty+0x3b/0x160
    +[<ffffffff8119c742>] file_update_time+0xf2/0x170
    +[<ffffffff8111c1e0>] __generic_file_aio_write+0x230/0x490
    +[<ffffffff8111c4c8>] generic_file_aio_write+0x88/0x100
    +[<ffffffffa00d3fb1>] ext4_file_write+0x61/0x1e0 [ext4]
    +[<ffffffff81180f5b>] do_sync_readv_writev+0xfb/0x140
    +[<ffffffff81181ee6>] do_readv_writev+0xd6/0x1f0
    +[<ffffffff81182046>] vfs_writev+0x46/0x60
    +[<ffffffff81182102>] sys_pwritev+0xa2/0xc0
    +[<ffffffff8100b072>] system_call_fastpath+0x16/0x1b
    +[<ffffffffffffffff>] 0xffffffffffffffff
    +
    +User stack:
    +    @       0x3a1ace10c4  (unknown)
    +    @          0x1262103  (unknown)
    +    @          0x12622d4  (unknown)
    +    @          0x12603df  (unknown)
    +    @           0x8e7bfb  (unknown)
    +    @           0x8f478b  (unknown)
    +    @           0x8f55db  (unknown)
    +    @          0x12a7b6f  (unknown)
    +    @       0x3a1b007851  (unknown)
    +    @       0x3a1ace894d  (unknown)
    +    @              (nil)  (unknown)
    +
    +
    +
    +

    These traces can be useful for diagnosing root-cause latency issues when they are caused by systems +below Kudu, such as disk controllers or filesystems.

    +
    +
    +
    +

    Memory Limits

    +
    +

    Kudu has a hard and soft memory limit. The hard memory limit is the maximum amount a Kudu process +is allowed to use, and is controlled by the --memory_limit_hard_bytes flag. The soft memory limit +is a percentage of the hard memory limit, controlled by the flag memory_limit_soft_percentage and +with a default value of 80%, that determines the amount of memory a process may use before it will +start rejecting some write operations.

    +
    +
    +

    If the logs or RPC traces contain messages like

    +
    +
    +
    +
    Service unavailable: Soft memory limit exceeded (at 96.35% of capacity)
    +
    +
    +
    +

    then Kudu is rejecting writes due to memory backpressure. This may result in write timeouts. There +are several ways to relieve the memory pressure on Kudu:

    +
    +
    +
      +
    • +

      If the host has more memory available for Kudu, increase --memory_limit_hard_bytes.

      +
    • +
    • +

      Increase the rate at which Kudu can flush writes from memory to disk by increasing the number of +disks or increasing the number of maintenance manager threads --maintenance_manager_num_threads. +Generally, the recommended ratio of maintenance manager threads to data directories is 1:3.

      +
    • +
    • +

      Reduce the volume of writes flowing to Kudu on the application side.

      +
    • +
    +
    +
    +

    Finally, on versions of Kudu prior to 1.8, check the value of +--block_cache_capacity_mb. This setting determines the maximum size of Kudu’s +block cache. While a higher value can help with read and write performance, +do not raise --block_cache_capacity_mb above the memory pressure threshold, +which is --memory_pressure_percentage (default 60%) of +--memory_limit_hard_bytes, as this will cause Kudu to flush aggressively even +if write throughput is low. Keeping --block_cache_capacity_mb below 50% of the +memory pressure threshold is recommended. With the defaults, this means +--block_cache_capacity_mb should not exceed 30% of +--memory_limit_hard_bytes. On Kudu 1.8 and higher, servers will refuse to +start if the block cache capacity exceeds the memory pressure threshold.

    +
    +
    +
    +

    Block Cache Size

    +
    +

    Kudu uses an LRU cache for recently read data. On workloads that scan a subset +of the data repeatedly, raising the size of this cache can offer significant +performance benefits. To increase the amount of memory dedicated to the block +cache, increase the value of the flag --block_cache_capacity_mb. The default +is 512MiB.

    +
    +
    +

    Kudu provides a set of useful metrics for evaluating the performance of the +block cache, which can be found on the /metrics endpoint of the web UI. An +example set:

    +
    +
    +
    +
    {
    +  "name": "block_cache_inserts",
    +  "value": 64
    +},
    +{
    +  "name": "block_cache_lookups",
    +  "value": 512
    +},
    +{
    +  "name": "block_cache_evictions",
    +  "value": 0
    +},
    +{
    +  "name": "block_cache_misses",
    +  "value": 96
    +},
    +{
    +  "name": "block_cache_misses_caching",
    +  "value": 64
    +},
    +{
    +  "name": "block_cache_hits",
    +  "value": 0
    +},
    +{
    +  "name": "block_cache_hits_caching",
    +  "value": 352
    +},
    +{
    +  "name": "block_cache_usage",
    +  "value": 6976
    +}
    +
    +
    +
    +

    To judge the efficiency of the block cache on a tablet server, first wait until +the server has been running and serving normal requests for some time, so the +cache is not cold. Unless the server stores very little data or is idle, +block_cache_usage should be equal or nearly equal to block_cache_capacity_mb. +Once the cache has reached steady state, compare block_cache_lookups to +block_cache_misses_caching. The latter metric counts the number of blocks that +Kudu expected to read from cache but which weren’t found in the cache. If a +significant amount of lookups result in misses on expected cache hits, and the +block_cache_evictions metric is significant compared to block_cache_inserts, +then raising the size of the block cache may provide a performance boost. +However, the utility of the block cache is highly dependent on workload, so it’s +necessary to test the benefits of a larger block cache.

    +
    +
    + + + + + +
    + + +Do not raise the block cache size --block_cache_capacity_mb higher +than the memory pressure threshold (defaults to 60% of --memory_limit_hard_bytes). +As this would cause poor flushing behavior, Kudu servers version 1.8 and higher +will refuse to start when misconfigured in this way. +
    +
    +
    +
    +

    Heap Sampling

    +
    +

    For advanced debugging of memory usage, released builds of Kudu enable Heap Sampling by default. +This allows Kudu developers to associate memory usage with the specific lines of code and data +structures responsible. When reporting a bug related to memory usage or an apparent memory leak, +heap profiling can give quantitative data to pinpoint the issue.

    +
    +
    +

    If heap sampling is enabled, the current sampled heap occupancy can be retrieved over HTTP +by visiting http://tablet-server.example.com:8050/pprof/heap or +http://master.example.com:8051/pprof/heap. The output is a machine-readable dump of the +stack traces with their associated heap usage.

    +
    +
    +

    Rather than visiting the heap profile page directly in a web browser, it is typically +more useful to use the pprof tool that is distributed as part of the gperftools +open source project. For example, a developer with a local build tree can use the +following command to collect the sampled heap usage and output an SVG diagram:

    +
    +
    +
    +
    thirdparty/installed/uninstrumented/bin/pprof -svg  'http://localhost:8051/pprof/heap' > /tmp/heap.svg
    +
    +
    +
    +

    The resulting SVG may be visualized in a web browser or sent to the Kudu community to help +troubleshoot memory occupancy issues.

    +
    +
    + + + + + +
    + + +Heap samples contain only summary information about allocations and do not contain any +data from the heap. It is safe to share heap samples in public without fear of exposing +confidential or sensitive data. +
    +
    +
    +
    +

    Slow DNS Lookups and nscd

    +
    +

    For better scalability on nodes hosting many replicas, we recommend that you use +nscd (name service cache daemon) to cache both DNS name resolution and static name resolution (via /etc/hosts).

    +
    +
    +

    When DNS lookups are slow, you will see a log message similar to the following:

    +
    +
    +
    +
    W0926 11:19:01.339553 27231 net_util.cc:193] Time spent resolve address for kudu-tserver.example.com: real 4.647s    user 0.000s     sys 0.000s
    +
    +
    +
    +

    nscd (name service cache daemon) can alleviate slow name resolution by providing +a cache for the most common name service requests, such as for passwords, groups, +and hosts.

    +
    +
    +

    Refer to your operating system documentation for how to install and enable nscd.

    +
    +
    +
    +
    +
    +

    Issues using Kudu

    +
    +
    +

    ClassNotFoundException: com.cloudera.kudu.hive.KuduStorageHandler

    +
    +

    Users will encounter this exception when trying to use a Kudu table via Hive. This +is not a case of a missing jar, but simply that Impala stores Kudu metadata in +Hive in a format that’s unreadable to other tools, including Hive itself and Spark. +There is no workaround for Hive users. Spark users need to create temporary tables.

    +
    +
    +
    +

    Runtime error: Could not create thread: Resource temporarily unavailable (error 11)

    +
    +

    Users will encounter this error when Kudu is unable to create more threads, +usually on versions of Kudu older than 1.7. It happens on tablet servers, and +is a sign that the tablet server hosts too many tablet replicas. To fix the +issue, users can raise the nproc ulimit as detailed in the documentation for +their operating system or distribution. However, the better solution is to +reduce the number of replicas on the tablet server. This may involve rethinking +the table’s partitioning schema. For the recommended limits on number of +replicas per tablet server, see the known issues and scaling limitations +documentation for the appropriate Kudu release. The +releases page has links to documentation +for previous versions of Kudu; for the latest release, see the +known issues page.

    +
    +
    +
    +

    Tombstoned or STOPPED tablet replicas

    +
    +

    Users may notice some replicas on a tablet server are in a STOPPED state, and +remain on the server indefinitely. These replicas are tombstones. A tombstone +indicates that the tablet server once held a bona fide replica of its tablet. +For example, if a tablet server goes down and its replicas are re-replicated +elsewhere, if the tablet server rejoins the cluster its replicas will become +tombstones. A tombstone will remain until the table it belongs to is deleted, or +a new replica of the same tablet is placed on the tablet server. A count of +tombstoned replicas and details of each one are available on the /tablets page +of the tablet server web UI.

    +
    +
    +

    The Raft consensus algorithm that Kudu uses for replication requires tombstones +for correctness in certain rare situations. They consume minimal resources and +hold no data. They must not be deleted.

    +
    +
    +
    +

    Corruption: checksum error on CFile block

    +
    +

    In versions prior to Kudu 1.8.0, if the data on disk becomes corrupt, users +will encounter warnings containing "Corruption: checksum error on CFile block" +in the tablet server logs and client side errors when trying to scan tablets +with corrupt CFile blocks. Fixing this corruption is a manual process.

    +
    +
    +

    To fix the issue, users can first identify all the affected tablets by +running a checksum scan on the affected tables or tablets using the +ksck tool.

    +
    +
    +
    +
    sudo -u kudu kudu cluster ksck <master_addresses> -checksum_scan -tables=<tables>
    +sudo -u kudu kudu cluster ksck <master_addresses> -checksum_scan -tablets=<tablets>
    +
    +
    +
    +

    If there is at least one replica for each tablet that does not return a corruption +error, you can repair the bad copies by deleting them and forcing them to be +re-replicated from the leader using the +remote_replica delete tool.

    +
    +
    +
    +
    sudo -u kudu kudu remote_replica delete <tserver_address> <tablet_id> "Cfile Corruption"
    +
    +
    +
    +

    If all of the replica are corrupt, then some data loss has occurred. +Until KUDU-2526 is +completed this can happen if the corrupt replica became the leader and the +existing follower replicas are replaced.

    +
    +
    +

    If data has been lost, you can repair the table by replacing the corrupt tablet +with an empty one using the +unsafe_replace_tablet tool.

    +
    +
    +
    +
    sudo -u kudu kudu tablet unsafe_replace_tablet <master_addresses> <tablet_id>
    +
    +
    +
    +

    From versions 1.8.0 onwards, Kudu will mark the affected replicas as failed, +leading to their automatic re-replication elsewhere.

    +
    +
    +
    +

    Symbolizing stack traces

    +
    +

    Sometimes you might see the following in the logs:

    +
    +
    +
    +
    0323 03:59:31.091198 (+607857us) spinlock_profiling.cc:243] Waited 492 ms on lock 0x4cb0960. stack: 0000000002398852 0000000000ad8c69 0000000000aa62ba 000000000221aaa8 000000000221b1a8 00000000023a8f83 00007fa8b818be24 00007fa8b646a34c
    +
    +
    +
    +

    That’s usually a sign of high contention among threads to acquire a lock, and +in this case the reported time shows how long a thread spent on a CPU before +acquiring the lock. The call stack addresses listed helps to restore the stack +trace of the waiting thread and pinpoint the problem in the code.

    +
    +
    +

    It’s possible to translate the addresses into the name of functions and lines +in the code having the binary that produced the output (in this example, it’s +kudu-master). If the binary is stripped of symbols and debug information, +it’s possible do so as well if separate debug information for the binary is +available.

    +
    +
    +

    Assuming both the stripped release binary and the debug information are +available as RPMs, unpack them into a directory (e.g., sysroot):

    +
    +
    +
    +
    $ mkdir sysroot && cd sysroot
    +$ rpm2cpio ../kudu-1.10.0.el7.x86_64.rpm | cpio -idmv
    +$ rpm2cpio ../kudu-debuginfo-1.10.0.el7.x86_64.rpm | cpio -idmv
    +
    +
    +
    +

    Use addr2line to find the line in the code for the stack address (in case if +the binary is not stripped of debug information, supply the actual binary with +-e option instead of the debug info file):

    +
    +
    +
    +
    addr2line -C -f -e usr/lib/debug/usr/lib/kudu/sbin-release/kudu-master.debug 0x0000000000aa62ba
    +kudu::master::MasterServiceImpl::ConnectToMaster(kudu::master::ConnectToMasterRequestPB const*, kudu::master::ConnectToMasterResponsePB*, kudu::rpc::RpcContext*)
    +/usr/src/debug/kudu-1.10.0/src/kudu/master/master_service.cc:504
    +
    +
    +
    +

    To achieve the same with gdb, first find the address of the .text section +in the symbol file (in the example, 0000000000a2cdb0):

    +
    +
    +
    +
    $ readelf -S usr/lib/debug/usr/lib/kudu/sbin-release/kudu-master.debug | grep .text
    +  [13] .text             NOBITS           0000000000a2cdb0  000002c0
    +
    +
    +
    +

    Then start up gdb, pointing it to the kudu-master executable (that’s the +executable that produced the output in the log file):

    +
    +
    +
    +
    gdb usr/lib/kudu/sbin-release/kudu-master
    +
    +
    +
    +

    Now load the .debug symbols into gdb using the address found above, tell +gdb where to find source files, and set the sysroot:

    +
    +
    +
    +
    (gdb) add-symbol-file usr/lib/debug/usr/lib/kudu/sbin-release/kudu-master.debug 0x0000000000a2cdb0
    +(gdb) set substitute-path /usr/src/debug/kudu-1.10.0 usr/src/debug/kudu-1.10.0
    +(gdb) set sysroot .
    +
    +
    +
    +

    To translate the address into line number and function information, use +info line * <address>:

    +
    +
    +
    +
    (gdb) info line * 0x0000000000aa62ba
    +Line 504 of "/usr/src/debug/kudu-1.10.0/src/kudu/master/master_service.cc"
    +   starts at address 0xaa62af <kudu::master::MasterServiceImpl::ConnectToMaster(kudu::master::ConnectToMasterRequestPB const*, kudu::master::ConnectToMasterResponsePB*, kudu::rpc::RpcContext*)+47>
    +   and ends at 0xaa62bb <kudu::master::MasterServiceImpl::ConnectToMaster(kudu::master::ConnectToMasterRequestPB const*, kudu::master::ConnectToMasterResponsePB*, kudu::rpc::RpcContext*)+59>.
    +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/releases/1.17.1/index.md b/releases/1.17.1/index.md new file mode 100644 index 0000000000..a528b8c71c --- /dev/null +++ b/releases/1.17.1/index.md @@ -0,0 +1,56 @@ +--- +title: Apache Kudu release 1.17.1 +layout: single_col +active_nav: download +single_col_extra_classes: releases +--- + + + +## Apache Kudu release 1.17.1 + +See the [Kudu 1.17.1 Release Notes](docs/release_notes.html). + +Downloads of Kudu 1.17.1 are available in the following formats: + +* [Kudu 1.17.1 source tarball](http://www.apache.org/dyn/closer.cgi?path=kudu/1.17.1/apache-kudu-1.17.1.tar.gz) + ([SHA512](https://www.apache.org/dist/kudu/1.17.1/apache-kudu-1.17.1.tar.gz.sha512), + [Signature](https://www.apache.org/dist/kudu/1.17.1/apache-kudu-1.17.1.tar.gz.asc)) + +You can use the [KEYS file](https://www.apache.org/dist/kudu/KEYS) to verify the included GPG signature. + +To verify the integrity of the release, check the following: + +* Verify the checksum by downloading the release and the `.sha512` file, and + running the following command: + * On Linux: `sha512sum -c apache-kudu-1.17.1.tar.gz.sha512` + * On MacOS: `shasum -a 512 -c apache-kudu-1.17.1.tar.gz.sha512` +* Verify the signature by downloading the release and the `.asc` file, and + doing the following: + * Import the KEYS file to the GPG keychain by running `gpg --import KEYS` + * Run `gpg --verify apache-kudu-1.17.1.tar.gz.asc apache-kudu-1.17.1.tar.gz` + +Additional links: + +* [Kudu 1.17.1 Documentation](docs/) +* [Kudu 1.17.1 Java API docs](apidocs/) +* [Kudu 1.17.1 C++ API docs](cpp-client-api/) \ No newline at end of file diff --git a/releases/index.md b/releases/index.md index db843e3fa7..541684fc11 100644 --- a/releases/index.md +++ b/releases/index.md @@ -9,13 +9,18 @@ single_col_extra_classes: releases ### Latest release +* **[Kudu 1.17.1](1.17.1/)** was released on Nov 15, 2024. + * [Kudu 1.17.1 Documentation](1.17.1/docs/) + * [Kudu 1.17.1 Java API docs](1.17.1/apidocs/) + * [Kudu 1.17.1 C++ API docs](1.17.1/cpp-client-api/) + +### Previous releases (ongoing support) + * **[Kudu 1.17.0](1.17.0/)** was released on Sep 1st, 2023. * [Kudu 1.17.0 Documentation](1.17.0/docs/) * [Kudu 1.17.0 Java API docs](1.17.0/apidocs/) * [Kudu 1.17.0 C++ API docs](1.17.0/cpp-client-api/) -### Previous releases (ongoing support) - * **[Kudu 1.16.0](1.16.0/)** was released on Apr 11, 2022. * [Kudu 1.16.0 Documentation](1.16.0/docs/) * [Kudu 1.16.0 Java API docs](1.16.0/apidocs/)