Skip to content

[spicedb] fix stale connection handling #18607

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

Closed
wants to merge 1 commit into from
Closed

Conversation

svenefftinge
Copy link
Contributor

@svenefftinge svenefftinge commented Aug 27, 2023

Description

  • Fixes connection closes on connections that were about to connect (see comment).
  • Simplifies the writing up of the spicedb client povider
  • reuse the GRPC connection options we use elsewhere for spicedb
  • connects the metrics interceptor with the GRPC client connection
Summary generated by Copilot

🤖 Generated by Copilot at 1bc6b86

This pull request refactors and improves the SpiceDB integration in the server component. It simplifies the code for creating and using the SpiceDB client, handles connection issues better, and adds metrics collection for the client calls. It affects the files spicedb-authorizer.ts, spicedb.ts, and container-module.ts.

Related Issue(s)

Fixes EXP-379
Fixes EXP-292

How to test

  • use the preview env and check the logs of server there should be (almost) no logs of [spicedb] Lost connection to SpiceDB - reconnecting...
  • run kubectl rollout restart deployment/spicedb and keep using the dashboard of the preview env. You should (barely) see an effect, but in the logs you'll see a few entries of the message above ☝️ .

Documentation

Preview status

Gitpod was successfully deployed to your preview environment.

Build Options

Build
  • /werft with-werft
    Run the build with werft instead of GHA
  • leeway-no-cache
  • /werft no-test
    Run Leeway with --dont-test
Publish
  • /werft publish-to-npm
  • /werft publish-to-jb-marketplace
Installer
  • analytics=segment
  • with-dedicated-emulation
  • workspace-feature-flags
    Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-gce-vm
    If enabled this will create the environment on GCE infra
  • with-integration-tests=all
    Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh. If enabled, with-preview and with-large-vm will be enabled.
  • with-monitoring

/hold

@socket-security
Copy link

socket-security bot commented Aug 28, 2023

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Packages Version New capabilities Transitives Size Publisher
@types/long 4.0.0 None +0 12 kB types

🚮 Removed packages: @grpc/[email protected]

Copy link
Member

@Furisto Furisto left a comment

Choose a reason for hiding this comment

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

LGTM for the changes that are impacting files owned by team engine.

@geropl
Copy link
Member

geropl commented Aug 29, 2023

Short update: I was testing before lunch, and constantly getting stuck in "wont' reload" (in the gRPC traces it looked as if it got stuck completely on the connection level), or having to wait for at least 30s until anything happens.
I'm doing limited experiment with an alternative, but will report back in 1h latest.

@svenefftinge
Copy link
Contributor Author

svenefftinge commented Aug 29, 2023

oops sorry, I was redeploying a config change. I'll keep my hands off now.

@geropl
Copy link
Member

geropl commented Aug 29, 2023

oops sorry, I was redeploying a config change. I'll keep my hands off now.

Good now, have my own playground. 👍

@svenefftinge svenefftinge force-pushed the se/spicedb-cons branch 3 times, most recently from 9c0421a to d6626e9 Compare August 31, 2023 08:14
@svenefftinge
Copy link
Contributor Author

closed in favor of #18631

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants