Skip to content

fix(bigquery/storage/managedwriter): improve network reconnection#6338

Merged
shollyman merged 4 commits intogoogleapis:mainfrom
shollyman:largeinserts-6321
Jul 15, 2022
Merged

fix(bigquery/storage/managedwriter): improve network reconnection#6338
shollyman merged 4 commits intogoogleapis:mainfrom
shollyman:largeinserts-6321

Conversation

@shollyman
Copy link
Copy Markdown
Contributor

Issuing a sufficiently large single append request is enough to trigger
the server backend to close an existing grpc stream. This PR addresses
the problem by allowing a failed request to signal that subsequent
requests should request a new grpc stream connection.

This PR also adds an integration test that induces the failure by
issuing a large request, and ensures subsequent requests succeed.

Towards: #6321

Issuing a sufficiently large single append request is enough to trigger
the server backend to close an existing grpc stream.  This PR addresses
the problem by allowing a failed request to signal that subsequent
requests should request a new grpc stream connection.

This PR also adds an integration test that induces the failure by
issuing a large request, and ensures subsequent requests succeed.

Towards: googleapis#6321
@shollyman shollyman requested review from a team and yirutang July 14, 2022 02:29
@product-auto-label product-auto-label Bot added size: m Pull request size is medium. api: bigquery Issues related to the BigQuery API. labels Jul 14, 2022
@shollyman shollyman requested a review from codyoss July 14, 2022 02:30
Comment thread bigquery/storage/managedwriter/managed_stream.go
Comment thread bigquery/storage/managedwriter/managed_stream.go Outdated
Copy link
Copy Markdown
Member

@codyoss codyoss left a comment

Choose a reason for hiding this comment

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

Nice usability change!

@shollyman shollyman enabled auto-merge (squash) July 15, 2022 21:17
@shollyman shollyman merged commit 085a038 into googleapis:main Jul 15, 2022
@shollyman shollyman deleted the largeinserts-6321 branch July 15, 2022 21:31
noahdietz added a commit that referenced this pull request Jul 18, 2022
* feat(storage): add Custom Placement Config Dual Region Support  (#6294)

* feat(storage): support Custom Dual Regions with CustomPlacementConfig

* fix typo

* add comments

* address pr comments

* new sublink

* feat(bigquery/storage/managedwriter/adapt): support packed field option (#6312)

* feat(bigquery/storage/managedwriter/adapt): support packed field option

This PR adds the "packed" field option for repeated numeric scalar types
when converting from table schema to proto descriptor.  For large
repetitions, this can yield wire size encoding benefits.

This option is only relevant for proto2 descriptors; proto3 packs by
default.

* chore: update go version to 1.17 (#6342)

This does not affect the version of Go we support. More details
here: googleapis/go-genproto#859

* chore(all): auto-regenerate gapics (#6337)

This is an auto-generated regeneration of the gapic clients by
cloud.google.com/go/internal/gapicgen. Once the corresponding genproto PR is
submitted, genbot will update this PR with a newer dependency to the newer
version of genproto and assign reviewers to this PR.

If you have been assigned to review this PR, please:

- Ensure that the version of genproto in go.mod has been updated.
- Ensure that CI is passing. If it's failing, it requires your manual attention.
- Approve and submit this PR if you believe it's ready to ship.

Corresponding genproto PR: googleapis/go-genproto#857

Changes:

feat(bigquery/migration): Add Presto dialect to bigquerymigration v2 client library
  PiperOrigin-RevId: 460797158
  Source-Link: googleapis/googleapis@46f2598

* fix(bigquery/storage/managedwriter): improve network reconnection (#6338)

* fix(bigquery/storage/managedwriter): improve network reconnection

Issuing a sufficiently large single append request is enough to trigger
the server backend to close an existing grpc stream.  This PR addresses
the problem by allowing a failed request to signal that subsequent
requests should request a new grpc stream connection.

This PR also adds an integration test that induces the failure by
issuing a large request, and ensures subsequent requests succeed.

Towards: #6321

* fix(pubsub): make receipt modack call async (#6335)

* fix(pubsub): make receipt modack call async

* dont propagate modack errors

* update comment on why errors are not checked

* chore(all): auto-regenerate gapics (#6347)

This is an auto-generated regeneration of the gapic clients by
cloud.google.com/go/internal/gapicgen. Once the corresponding genproto PR is
submitted, genbot will update this PR with a newer dependency to the newer
version of genproto and assign reviewers to this PR.

If you have been assigned to review this PR, please:

- Ensure that the version of genproto in go.mod has been updated.
- Ensure that CI is passing. If it's failing, it requires your manual attention.
- Approve and submit this PR if you believe it's ready to ship.

Corresponding genproto PR: googleapis/go-genproto#861

Changes:

feat(dataplex): Add IAM support for Explore content APIs feat: Add support for custom container for Task feat: Add support for cross project for Task feat: Add support for custom encryption key to be used for encrypt data on the PDs associated with the VMs in your Dataproc cluster for Task feat: Add support for Latest job in Task resource feat: User mode filter in Explore list sessions API feat: Support logging sampled file paths per partition to Cloud logging for Discovery event
  PiperOrigin-RevId: 461116673
  Source-Link: googleapis/googleapis@9af1b9b

* chore(main): release bigquery 1.36.0 (#6343)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* chore(storage): remove adapters dependency (#6350)

The go-type-adapters package is used only minimally in storage,
and nowhere else in google-cloud-go. Seems easiest to just drop
this dependency.

* doc(pubsub): clarify behavior of ack deadlines (#6301)

* doc(pubsub): clarify behavior of ack deadlines

* add 99th percentile documentation

* chore(ci): add sync branch workflow for storage-refactor (#6334)

* chore(ci): add sync branch workflow for storage-refactor

* add change notes

* only on weekdays

* change job names

* add cloud-storage-dpe to reviewers

Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>

* test(profiler): use go 1.18.4 in integration test (#6348)

* chore: fix renovate (#6353)

It has not processed in 20 days. I think we need to be careful with
the PRs and have renovate try to do all the rebasing needed or else
it seems to get confused and not able to recover.

Fixes: #6352

* chore(main): release pubsub 1.24.0 (#6300)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Alex Hong <9397363+hongalex@users.noreply.github.com>

* chore(ci): storage-refactor sync use Yoshi Code Bot (#6355)

Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>

Co-authored-by: cojenco <cathyo@google.com>
Co-authored-by: shollyman <shollyman@google.com>
Co-authored-by: Cody Oss <6331106+codyoss@users.noreply.github.com>
Co-authored-by: Yoshi Automation Bot <yoshi-automation@google.com>
Co-authored-by: Alex Hong <9397363+hongalex@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Chris Cotter <cjcotter@google.com>
Co-authored-by: Noah Dietz <noahdietz@users.noreply.github.com>
Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
Co-authored-by: Amarin (Um) Phaosawasdi <amchiclet@users.noreply.github.com>
noahdietz pushed a commit that referenced this pull request Jul 18, 2022
)

* fix(bigquery/storage/managedwriter): improve network reconnection

Issuing a sufficiently large single append request is enough to trigger
the server backend to close an existing grpc stream.  This PR addresses
the problem by allowing a failed request to signal that subsequent
requests should request a new grpc stream connection.

This PR also adds an integration test that induces the failure by
issuing a large request, and ensures subsequent requests succeed.

Towards: #6321
noahdietz added a commit that referenced this pull request Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquery Issues related to the BigQuery API. size: m Pull request size is medium.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants