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

config: allow configuring jsonrpc server type #18099

Merged
merged 2 commits into from
Jun 7, 2024

Conversation

bmwill
Copy link
Contributor

@bmwill bmwill commented Jun 6, 2024

Description

config: allow configuring jsonrpc server type

Allow for configuring the jsonrpc server type as well as setting the default to be an HTTP only based service.

Enable configuring the jsonrpc server type via the jsonrpc-server-type field in the node config as follows:

'websocket' for a websocket based service (deprecated)
'http' for an http based service
'both' for both a websocket and http based service (deprecated)

The default is 'http' if not specified.

This also formally deprecates the websocket jsonrpc service which will be removed completely within another few releases. For now users can opt back in to enabling this service by setting the `jsonrpc-server-type` config. We have found that this service is overall unreliable and leads to production issues/missing data or events when used and as such have decided to sunset it.

Test plan

How did you test the new or updated feature?


Release notes

Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.

For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

  • Protocol:

  • Nodes (Validators and Full nodes):

  • Indexer:

  • JSON-RPC:
    Enable configuring the jsonrpc server type via the jsonrpc-server-type field in the node config as follows:

    'websocket' for a websocket based service (deprecated)
    'http' for an http based service
    'both' for both a websocket and http based service (deprecated)

    The default is 'http' if not specified.

    This also formally deprecates the websocket jsonrpc service which will be removed completely within another few releases. For now users can opt back in to enabling this service by setting the jsonrpc-server-type config. We have found that this service is overall unreliable and leads to production issues/missing data or events when used and as such have decided to sunset it.

Deprecate the websocket-based jsonrpc service

  • GraphQL:
  • CLI:
  • Rust SDK:

Copy link

vercel bot commented Jun 6, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
sui-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 7, 2024 1:15am

Copy link

vercel bot commented Jun 6, 2024

@bmwill is attempting to deploy a commit to the Mysten Labs Team on Vercel.

A member of the Team first needs to authorize it.

Allow for configuring the jsonrpc server type as well as setting the
default to be an HTTP only based service.
Copy link
Contributor

github-actions bot commented Jun 7, 2024

⚠️ 🦋 Changesets Warning: This PR has changes to public npm packages, but does not contain a changeset. You can create a changeset easily by running pnpm changeset in the root of the Sui repo, and following the prompts. If your change does not need a changeset (e.g. a documentation-only change), you can ignore this message. This warning will be removed when a changeset is added to this pull request.

Learn more about Changesets.

@bmwill bmwill merged commit 0fba424 into MystenLabs:main Jun 7, 2024
39 of 43 checks passed
@bmwill bmwill deleted the websockets branch June 7, 2024 02:36
pei-mysten added a commit that referenced this pull request Jun 28, 2024
## Description 

When merging a PR, we can either use `squashed` or `rebase`.
Before, our release note script supports `squashed` commit only, this
change will add support to `rebase` PR as well.
The downside of this is it might take a bit longer to run given that
we'll need to send a HTTP request to Github API if it's not a squashed
commit. But given this script won't be run more than once a week, it's a
good tradeoff.

## Test plan 

`GITHUB_TOKEN=<my_PAT> python ./scripts/release_notes.py generate
9e2be6a
1428c71`
(all the release notes from `releases/sui-v1.27.0-release` to
`releases/sui-v1.28.0-release` branch) now shows @bmwill 's
#18099

---

## Release notes

Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.

For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.

- [ ] Protocol: 
- [ ] Nodes (Validators and Full nodes): 
- [ ] Indexer: 
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
tx-tomcat pushed a commit to tx-tomcat/sui-network that referenced this pull request Jul 29, 2024
## Description 

When merging a PR, we can either use `squashed` or `rebase`.
Before, our release note script supports `squashed` commit only, this
change will add support to `rebase` PR as well.
The downside of this is it might take a bit longer to run given that
we'll need to send a HTTP request to Github API if it's not a squashed
commit. But given this script won't be run more than once a week, it's a
good tradeoff.

## Test plan 

`GITHUB_TOKEN=<my_PAT> python ./scripts/release_notes.py generate
9e2be6a
1428c71`
(all the release notes from `releases/sui-v1.27.0-release` to
`releases/sui-v1.28.0-release` branch) now shows @bmwill 's
MystenLabs#18099

---

## Release notes

Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.

For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.

- [ ] Protocol: 
- [ ] Nodes (Validators and Full nodes): 
- [ ] Indexer: 
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants