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

Allow setting a HTTP write timeout to requests to BigQuery

Details

    • Bug
    • Status: Triage Needed
    • P3
    • Resolution: Fixed
    • Not applicable
    • Missing
    • io-java-gcp
    • 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

            Unassigned Unassigned
            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