FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

feat: read_modify_write and check_and_mutate_row by daniel-sanche · Pull Request #780 · googleapis/python-bigtable · GitHub

This repository was archived by the owner on Apr 1, 2026. It is now read-only.
/ python-bigtable Public archive

feat: read_modify_write and check_and_mutate_row - #780

Merged
daniel-sanche merged 62 commits into
googleapis:v3from
daniel-sanche:mutate_rows_other_rpcs
Jun 16, 2023
Merged

feat: read_modify_write and check_and_mutate_row#780
daniel-sanche merged 62 commits into
googleapis:v3from
daniel-sanche:mutate_rows_other_rpcs

Conversation

daniel-sanche commented May 23, 2023
edited
Loading

Copy link
Copy Markdown
Contributor

This PR implements read_modify_write and check_and_mutate_row rpcs, along with related classes

product-auto-label Bot added the size: xl Pull request size is extra large. label May 23, 2023
daniel-sanche changed the base branch from main to v3 May 23, 2023 00:46
product-auto-label Bot added the api: bigtable Issues related to the googleapis/python-bigtable API. label May 23, 2023
product-auto-label Bot added size: l Pull request size is large. and removed size: xl Pull request size is extra large. labels Jun 7, 2023
daniel-sanche changed the title [DRAFT] feat: read_modify_write and check_and_mutate_row feat: read_modify_write and check_and_mutate_row Jun 8, 2023
daniel-sanche marked this pull request as ready for review June 8, 2023 00:02
daniel-sanche requested review from a team June 8, 2023 00:02
Comment thread google/cloud/bigtable/client.py Outdated
true_case_mutations: Mutation | list[Mutation] | None = None,
false_case_mutations: Mutation | list[Mutation] | None = None,
operation_timeout: int | float | None = 60,
operation_timeout: int | float | None = 600,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Changed, but FYI I will likely be changing the timeout structure after all the rpc PRs are merged: #782

Comment thread google/cloud/bigtable/client.py Outdated
rules: ReadModifyWriteRule | list[ReadModifyWriteRule],
*,
operation_timeout: int | float | None = 60,
operation_timeout: int | float | None = 600,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Same here, I think we can update it to be 20 seconds to be consistent with java

(10, 4, 14),
(MAX_INCREMENT_VALUE, -MAX_INCREMENT_VALUE, 0),
(MAX_INCREMENT_VALUE, 2, -MAX_INCREMENT_VALUE),
(-MAX_INCREMENT_VALUE, -2, MAX_INCREMENT_VALUE),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

is this the expected behavior? 🤔 @igorbernstein2

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

For what it's worth, I believe this is just documenting the overflow behavior from the backend. The client is just sending a large number and then another small increment, and retrieving the result

mutianf commented Jun 16, 2023

Copy link
Copy Markdown
Contributor

Is it possible to extend the read_modify_write and check_and_mutate row to enable retry on certain error codes in the future?

mutianf left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

LGTM, the retries will be added in the future #787

daniel-sanche merged commit 432d159 into googleapis:v3 Jun 16, 2023
daniel-sanche added a commit that referenced this pull request Feb 5, 2024
* feat: add new v3.0.0 API skeleton (#745)

* feat: improve rows filters (#751)

* feat: read rows query model class (#752)

* feat: implement row and cell model classes (#753)

* feat: add pooled grpc transport (#748)

* feat: implement read_rows (#762)

* feat: implement mutate rows (#769)

* feat: literal value filter (#767)

* feat: row_exists and read_row (#778)

* feat: read_modify_write and check_and_mutate_row (#780)

* feat: sharded read rows (#766)

* feat: ping and warm with metadata (#810)

* feat: mutate rows batching (#770)

* chore: restructure module paths (#816)

* feat: improve timeout structure (#819)

* fix: api errors apply to all bulk mutations

* chore: reduce public api surface (#820)

* feat: improve error group tracebacks on < py11 (#825)

* feat: optimize read_rows (#852)

* chore: add user agent suffix (#842)

* feat: optimize retries (#854)

* feat: add test proxy (#836)

* chore(tests): add conformance tests to CI for v3 (#870)

* chore(tests): turn off fast fail for conformance tets (#882)

* feat: add TABLE_DEFAULTS enum for table method arguments (#880)

* fix: pass None for retry in gapic calls (#881)

* feat: replace internal dictionaries with protos in gapic calls (#875)

* chore: optimize gapic calls (#863)

* feat: expose retryable error codes to users (#879)

* chore: update api_core submodule (#897)

* chore: merge main into experimental_v3 (#900)

* chore: pin conformance tests to v0.0.2 (#903)

* fix: bulk mutation eventual success (#909)

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

api: bigtable Issues related to the googleapis/python-bigtable API. size: l Pull request size is large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL