Skip to content

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 force-pushed the http-priority-queue branch from 74e2fb0 to df19470 Compare June 5, 2024 19:38
@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 force-pushed the http-priority-queue branch from df19470 to 984c7b3 Compare June 5, 2024 19:50
@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 force-pushed the http-priority-queue branch from 984c7b3 to f1c1fd8 Compare June 6, 2024 02:43
@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 force-pushed the http-priority-queue branch from f71221b to c575a58 Compare June 7, 2024 09:31
@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

@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
@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
thephez added a commit to dashpay/docs that referenced this pull request Dec 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