You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Chamikara Madhusanka Jayalath (Jira)" <ji...@apache.org> on 2022/01/07 18:41:00 UTC

[jira] [Comment Edited] (BEAM-13606) bigtable io doesn't handle non-ok row mutations

    [ https://issues.apache.org/jira/browse/BEAM-13606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17470812#comment-17470812 ] 

Chamikara Madhusanka Jayalath edited comment on BEAM-13606 at 1/7/22, 6:40 PM:
-------------------------------------------------------------------------------

So the code you pointe to is internal to Python BigTable client.

Are you sure that client would and up returning "None" for retriable errors instead of the proper status ? If so this sounds like a bug in Python BigTable client not the Beam connector since it would be violating the BigTable rest API (and common patterns when it comes to returning error codes).

I'm not sure though since the code you pointed to [1] is a private class in BigTable Python client and 'None' status messages seems to be handled there as well [2]. If we confirm that this is a bug in the Python BigTable client, we should file an issue against that [3]([~igorbernstein2] might be able to help).

[1] [https://github.com/googleapis/python-bigtable/blob/fec06fcd28c36d0d3b347b43d1f3d264e5f5aa39/google/cloud/bigtable/table.py#L1078]

[2] [https://github.com/googleapis/python-bigtable/blob/fec06fcd28c36d0d3b347b43d1f3d264e5f5aa39/google/cloud/bigtable/table.py#L1089]

[3][https://github.com/googleapis/python-bigtable]

 


was (Author: chamikara):
So the code you pointe to is internal to Python BigTable client.

Are you sure that client would and up returning "None" for retriable errors instead of the proper status. If so this sounds like a bug in Python BigTable client not the Beam connector since it would be violating the BigTable rest API (and common patterns when it comes to returning error codes).

I'm not sure though since the code you pointed to [1] is a private class in BigTable Python client and 'None' status messages seems to be handled there as well [2]. If we confirm that this is a bug in the Python BigTable client, we file an issue against that [3]([~igorbernstein2] might be able to help).

[1] [https://github.com/googleapis/python-bigtable/blob/fec06fcd28c36d0d3b347b43d1f3d264e5f5aa39/google/cloud/bigtable/table.py#L1078]

[2] [https://github.com/googleapis/python-bigtable/blob/fec06fcd28c36d0d3b347b43d1f3d264e5f5aa39/google/cloud/bigtable/table.py#L1089]

[3][https://github.com/googleapis/python-bigtable]

 

> bigtable io doesn't handle non-ok row mutations
> -----------------------------------------------
>
>                 Key: BEAM-13606
>                 URL: https://issues.apache.org/jira/browse/BEAM-13606
>             Project: Beam
>          Issue Type: Bug
>          Components: io-py-gcp
>            Reporter: Ning
>            Assignee: Ning
>            Priority: P1
>
> bigtable io has no logic to retry row mutations for rows with non-ok return status (this includes None return value when bigtable suppresses retryable errors, details see BEAM-13602).
>  
> To avoid data loss, the solution should be:
>  # Retry for those retryable-failed row mutations;
>  # Tagged output for those non-retryable-failed row mutations.
> Or clarify that the I/O doesn't handle failed row mutations in docstrings.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)