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

feat: one more queue for "external" requests from 3rd parties #6045

Merged
merged 5 commits into from
Jun 24, 2024

Conversation

knst
Copy link
Collaborator

@knst knst commented Jun 4, 2024

Issue being fixed or feature implemented

To avoid struggling to response to critical rpc requests, and split them from 3rd parties who uses a node as an external service, there are introduced one more queue of requests that will be served without throttling for instance consensus important rpcs

What was done?

new command line arguments:

  • rpcexternaluser - List of comma-separated usernames for JSON-RPC external connections. If not specified, there's no special queue is created, all requests in one queue
  • rpcexternalworkqueue=<n> - Set the depth of the work queue to service external RPC calls

How Has This Been Tested?

Functional test rpc_platform_filter.py is updated to test new functionality

Breaking Changes

NA

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone

@knst knst added this to the 21 milestone Jun 4, 2024
@knst knst changed the title WIP - one more queue for "external" requests from 3rd parties chore: one more queue for "external" requests from 3rd parties Jun 5, 2024
@knst knst marked this pull request as ready for review June 5, 2024 19:47
@knst knst requested a review from PastaPastaPasta June 5, 2024 19:47
@knst knst added the guix-build label Jun 5, 2024
@DashCoreAutoGuix
Copy link

Guix Automation has began to build this PR tagged as v21.0.0-devpr6045.984c7b35. A new comment will be made when the image is pushed.

@knst knst removed the guix-build label Jun 5, 2024
@DashCoreAutoGuix
Copy link

Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v21.0.0-devpr6045.984c7b35. The image should be on dockerhub soon.

@thephez
Copy link
Collaborator

thephez commented Jun 5, 2024

Is this a chore? It kinda seems like a feature.

@knst knst changed the title chore: one more queue for "external" requests from 3rd parties feat: one more queue for "external" requests from 3rd parties Jun 6, 2024
@knst knst marked this pull request as draft June 7, 2024 05:09
@knst
Copy link
Collaborator Author

knst commented Jun 7, 2024

as noticed by shumkov@, need to have rpc's access to wallet, this approach won't work.

<re-implementing...>

@knst knst marked this pull request as ready for review June 7, 2024 15:11
@knst knst added the guix-build label Jun 7, 2024
@DashCoreAutoGuix
Copy link

Guix Automation has began to build this PR tagged as v21.0.0-devpr6045.c575a580. A new comment will be made when the image is pushed.

@knst knst removed the guix-build label Jun 7, 2024
@DashCoreAutoGuix
Copy link

Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v21.0.0-devpr6045.c575a580. The image should be on dockerhub soon.

@knst knst requested a review from UdjinM6 June 7, 2024 19:05
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

Looks good, one small issue

src/init.cpp Outdated Show resolved Hide resolved
@DashCoreAutoGuix
Copy link

Guix Automation has began to build this PR tagged as v21.0.0-devpr6045.68def970. A new comment will be made when the image is pushed.

@knst knst removed the guix-build label Jun 12, 2024
@DashCoreAutoGuix
Copy link

Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v21.0.0-devpr6045.68def970. The image should be on dockerhub soon.

@knst knst requested a review from UdjinM6 June 12, 2024 13:53
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

utACK 241f073

@DashCoreAutoGuix
Copy link

Guix Automation has began to build this PR tagged as v21.0.0-devpr6045.241f0739. A new comment will be made when the image is pushed.

@knst knst removed the guix-build label Jun 13, 2024
@DashCoreAutoGuix
Copy link

Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v21.0.0-devpr6045.241f0739. The image should be on dockerhub soon.

Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

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

utACK 241f073

@PastaPastaPasta PastaPastaPasta merged commit 5baa522 into dashpay:develop Jun 24, 2024
8 of 9 checks passed
@knst knst deleted the http-priority-queue branch July 2, 2024 05:52
thephez added a commit to thephez/dash-user-docs that referenced this pull request Nov 12, 2024
Describes the new "external user" queue from dashpay/dash#6045
thephez added a commit to dashpay/docs that referenced this pull request Nov 12, 2024
* docs(api): update whitelist description

* docs(rpc): deprecate platform user

Related to dashpay/dash#6209

* docs(rpc): change example formatting

* docs(rpc): add rpc queue info

Describes the new "external user" queue from dashpay/dash#6045

* fix(rpc): correct code block type

* style: filename

* docs(rpc): link to whitelist settings from deprecated platform-user section
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.

5 participants