Class StartBatchTransactionAction.Builder (6.77.0)

public static final class StartBatchTransactionAction.Builder extends GeneratedMessageV3.Builder<StartBatchTransactionAction.Builder> implements StartBatchTransactionActionOrBuilder

Starts a batch read-only transaction in executor. Successful outcomes of this action will contain batch_txn_id--the identificator that can be used to start the same transaction in other Executors to parallelize partition processing.

Example of a batch read flow:

  1. Start batch transaction with a timestamp (StartBatchTransactionAction)
  2. Generate database partitions for a read or query (GenerateDbPartitionsForReadAction/GenerateDbPartitionsForQueryAction)
  3. Call ExecutePartitionAction for some or all partitions, process rows
  4. Clean up the transaction (CloseBatchTransactionAction).

    More sophisticated example, with parallel processing:

  5. Start batch transaction with a timestamp (StartBatchTransactionAction), note the returned BatchTransactionId
  6. Generate database partitions for a read or query (GenerateDbPartitionsForReadAction/GenerateDbPartitionsForQueryAction)
  7. Distribute the partitions over a pool of workers, along with the transaction ID.

    In each worker: 4-1. StartBatchTransactionAction with the given transaction ID 4-2. ExecutePartitionAction for each partition it got, process read results 4-3. Close (not cleanup) the transaction (CloseBatchTransactionAction).

    When all workers are done:

  8. Cleanup the transaction (CloseBatchTransactionAction). This can be done either by the last worker to finish the job, or by the main Executor that initialized this transaction in the first place. It is also possible to clean it up with a brand new Executor -- just execute StartBatchTransactionAction with the ID, then clean it up right away.

    Cleaning up is optional, but recommended.

Protobuf type google.spanner.executor.v1.StartBatchTransactionAction

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
Type Description
Descriptor

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public StartBatchTransactionAction.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
StartBatchTransactionAction.Builder
Overrides

build()

public StartBatchTransactionAction build()
Returns
Type Description
StartBatchTransactionAction

buildPartial()

public StartBatchTransactionAction buildPartial()
Returns
Type Description
StartBatchTransactionAction

clear()

public StartBatchTransactionAction.Builder clear()
Returns
Type Description
StartBatchTransactionAction.Builder
Overrides

clearBatchTxnTime()

public StartBatchTransactionAction.Builder clearBatchTxnTime()

The exact timestamp to start the batch transaction.

.google.protobuf.Timestamp batch_txn_time = 1;

Returns
Type Description
StartBatchTransactionAction.Builder

clearCloudDatabaseRole()

public StartBatchTransactionAction.Builder clearCloudDatabaseRole()

Database role to assume while performing this action. Setting the database_role will enforce additional role-based access checks on this action.

string cloud_database_role = 3;

Returns
Type Description
StartBatchTransactionAction.Builder

This builder for chaining.

clearField(Descriptors.FieldDescriptor field)

public StartBatchTransactionAction.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
Name Description
field FieldDescriptor
Returns
Type Description
StartBatchTransactionAction.Builder
Overrides

clearOneof(Descriptors.OneofDescriptor oneof)

public StartBatchTransactionAction.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
Name Description
oneof OneofDescriptor
Returns
Type Description
StartBatchTransactionAction.Builder
Overrides

clearParam()

public StartBatchTransactionAction.Builder clearParam()
Returns
Type Description
StartBatchTransactionAction.Builder

clearTid()

public StartBatchTransactionAction.Builder clearTid()

ID of a batch read-only transaction. It can be used to start the same batch transaction on multiple executors and parallelize partition processing.

bytes tid = 2;

Returns
Type Description
StartBatchTransactionAction.Builder

This builder for chaining.

clone()

public StartBatchTransactionAction.Builder clone()
Returns
Type Description
StartBatchTransactionAction.Builder
Overrides

getBatchTxnTime()