Mutations Batcher

class google.cloud.bigtable.data._sync_autogen.mutations_batcher.MutationsBatcher(table: TableType, *, flush_interval: float | None = 5, flush_limit_mutation_count: int | None = 1000, flush_limit_bytes: int = 20971520, flow_control_max_mutation_count: int = 100000, flow_control_max_bytes: int = 104857600, batch_operation_timeout: float | TABLE_DEFAULT = TABLE_DEFAULT.MUTATE_ROWS, batch_attempt_timeout: float | None | TABLE_DEFAULT = TABLE_DEFAULT.MUTATE_ROWS, batch_retryable_errors: Sequence[type[Exception]] | TABLE_DEFAULT = TABLE_DEFAULT.MUTATE_ROWS)

Bases: object

Allows users to send batches using context manager API:

Runs mutate_row, mutate_rows, and check_and_mutate_row internally, combining to use as few network requests as required

Will automatically flush the batcher:

  • every flush_interval seconds
  • after queue size reaches flush_limit_mutation_count
  • after queue reaches flush_limit_bytes
  • when batcher is closed or destroyed

  • Parameters

    • table – Table to preform rpc calls

    • flush_interval – Automatically flush every flush_interval seconds. If None, no time-based flushing is performed.

    • flush_limit_mutation_count – Flush immediately after flush_limit_mutation_count mutations are added across all entries. If None, this limit is ignored.

    • flush_limit_bytes – Flush immediately after flush_limit_bytes bytes are added.

    • flow_control_max_mutation_count – Maximum number of inflight mutations.

    • flow_control_max_bytes – Maximum number of inflight bytes.

    • batch_operation_timeout – timeout for each mutate_rows operation, in seconds. If TABLE_DEFAULT, defaults to the Table’s default_mutate_rows_operation_timeout.

    • batch_attempt_timeout – timeout for each individual request, in seconds. If TABLE_DEFAULT, defaults to the Table’s default_mutate_rows_attempt_timeout. If None, defaults to batch_operation_timeout.

    • batch_retryable_errors – a list of errors that will be retried if encountered. Defaults to the Table’s default_mutate_rows_retryable_errors.

_enter_()

Allow use of context manager API

_exit_(exc_type, exc, tb)

Allow use of context manager API.

Flushes the batcher and cleans up resources.

append(mutation_entry: RowMutationEntry)

Add a new set of mutations to the internal queue

  • Parameters

    mutation_entry – new entry to add to flush queue

  • Raises

close()

Flush queue and clean up resources

property closed(: [bool](https://python.readthedocs.io/en/latest/library/functions.html#bool )

Returns:

  • True if the batcher is closed, False otherwise