Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 4 commits into from Jul 15, 2022

Conversation

shollyman
Copy link
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 a review from a team July 14, 2022 02:29
@shollyman shollyman requested a review from a team as a code owner July 14, 2022 02:29
@shollyman shollyman requested a review from 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
Copy link
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.

None yet

3 participants