[ 
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)

Reply via email to