Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-6103

Allow setting a HTTP write timeout to requests to BigQuery

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: Not applicable
    • Fix Version/s: None
    • Component/s: io-java-gcp
    • Labels:
      None

      Description

      Several users have reported that very occasionally some of the streaming insert requests to BigQuery are getting stuck. 

       

      This can be mitigated by setting a write timeout for sockets and allowing runners to retry. But Java does not support setting write timeouts for non-NIO sockets [1] and this bug affects Google HTTP client library used by GCP IO.

       

      Google HTTP library was recently updated to support write timeouts [2]. So we can update BigQueryIO to utilize this feature and allow setting a write timeout. Setting write timeout results in more threads being created. So this path can be slightly expensive and hence should not be made the default path.

      [1] https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4031100

      [2] https://github.com/googleapis/google-http-java-client/releases/tag/v1.27.0

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              chamikara Chamikara Madhusanka Jayalath
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 3h 10m
                3h 10m