public final class StartBatchTransactionAction extends GeneratedMessageV3 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:
- Start batch transaction with a timestamp (StartBatchTransactionAction)
- Generate database partitions for a read or query
(GenerateDbPartitionsForReadAction/GenerateDbPartitionsForQueryAction)
- Call ExecutePartitionAction for some or all partitions, process rows
Clean up the transaction (CloseBatchTransactionAction).
More sophisticated example, with parallel processing:
- Start batch transaction with a timestamp (StartBatchTransactionAction),
note the returned BatchTransactionId
- Generate database partitions for a read or query
(GenerateDbPartitionsForReadAction/GenerateDbPartitionsForQueryAction)
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:
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
Inherited Members
com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT)
com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT,int)
com.google.protobuf.GeneratedMessageV3.<T>emptyList(java.lang.Class<T>)
com.google.protobuf.GeneratedMessageV3.internalGetMapFieldReflection(int)
Static Fields
BATCH_TXN_TIME_FIELD_NUMBER
public static final int BATCH_TXN_TIME_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
CLOUD_DATABASE_ROLE_FIELD_NUMBER
public static final int CLOUD_DATABASE_ROLE_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
TID_FIELD_NUMBER
public static final int TID_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
Static Methods
getDefaultInstance()
public static StartBatchTransactionAction getDefaultInstance()
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
newBuilder()
public static StartBatchTransactionAction.Builder newBuilder()
newBuilder(StartBatchTransactionAction prototype)
public static StartBatchTransactionAction.Builder newBuilder(StartBatchTransactionAction prototype)
public static StartBatchTransactionAction parseDelimitedFrom(InputStream input)
public static StartBatchTransactionAction parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
parseFrom(byte[] data)
public static StartBatchTransactionAction parseFrom(byte[] data)
Parameter |
Name |
Description |
data |
byte[]
|
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static StartBatchTransactionAction parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
parseFrom(ByteString data)
public static StartBatchTransactionAction parseFrom(ByteString data)
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static StartBatchTransactionAction parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static StartBatchTransactionAction parseFrom(CodedInputStream input)
public static StartBatchTransactionAction parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public static StartBatchTransactionAction parseFrom(InputStream input)
public static StartBatchTransactionAction parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
parseFrom(ByteBuffer data)
public static StartBatchTransactionAction parseFrom(ByteBuffer data)
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static StartBatchTransactionAction parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
parser()
public static Parser<StartBatchTransactionAction> parser()
Methods
equals(Object obj)
public boolean equals(Object obj)
Parameter |
Name |
Description |
obj |
Object
|
Overrides
getBatchTxnTime()
public Timestamp getBatchTxnTime()
The exact timestamp to start the batch transaction.
.google.protobuf.Timestamp batch_txn_time = 1;
Returns |
Type |
Description |
Timestamp |
The batchTxnTime.
|
getBatchTxnTimeOrBuilder()
public TimestampOrBuilder getBatchTxnTimeOrBuilder()
The exact timestamp to start the batch transaction.
.google.protobuf.Timestamp batch_txn_time = 1;
getCloudDatabaseRole()
public String getCloudDatabaseRole()
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 |
String |
The cloudDatabaseRole.
|
getCloudDatabaseRoleBytes()
public ByteString getCloudDatabaseRoleBytes()
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 |
ByteString |
The bytes for cloudDatabaseRole.
|
getDefaultInstanceForType()
public StartBatchTransactionAction getDefaultInstanceForType()
getParamCase()
public StartBatchTransactionAction.ParamCase getParamCase()
getParserForType()
public Parser<StartBatchTransactionAction> getParserForType()
Overrides
getSerializedSize()
public int getSerializedSize()
Returns |
Type |
Description |
int |
|
Overrides
getTid()
public ByteString getTid()
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;
hasBatchTxnTime()
public boolean hasBatchTxnTime()
The exact timestamp to start the batch transaction.
.google.protobuf.Timestamp batch_txn_time = 1;
Returns |
Type |
Description |
boolean |
Whether the batchTxnTime field is set.
|
hasTid()
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 |
boolean |
Whether the tid field is set.
|
hashCode()
Returns |
Type |
Description |
int |
|
Overrides
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Overrides
isInitialized()
public final boolean isInitialized()
Overrides
newBuilderForType()
public StartBatchTransactionAction.Builder newBuilderForType()
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected StartBatchTransactionAction.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Overrides
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Returns |
Type |
Description |
Object |
|
Overrides
toBuilder()
public StartBatchTransactionAction.Builder toBuilder()
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Overrides