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

Feature enhancement: drop some client requests if its in-queue time exceed client timeout #786

Closed
hycdong opened this issue Jul 21, 2021 · 0 comments
Labels
type/enhancement Indicates new feature requests
Milestone

Comments

@hycdong
Copy link
Contributor

hycdong commented Jul 21, 2021

Feature Request

When the client requests sent into Pegasus, it will firstly be in queue, then execution. When server load added, sometimes in-queue time may shortly increase. If the request's in-queue time exceed the client timeout(recorded in request header), those requests can be dropped, it will be timeout finnally, no need to be executed.

We plan to add this config for following RPC code:

RPC_RRDB_RRDB_PUT
RPC_RRDB_RRDB_MULTI_PUT
RPC_RRDB_RRDB_REMOVE
RPC_RRDB_RRDB_MULTI_REMOVE
RPC_RRDB_RRDB_DUPLICATE
RPC_RRDB_RRDB_GET
RPC_RRDB_RRDB_MULTI_GET
RPC_RRDB_RRDB_TTL

Those RPC codes are not add it:

// not_idempotent write task codes won't added
RPC_RRDB_RRDB_INCR
RPC_RRDB_RRDB_CHECK_AND_SET
RPC_RRDB_RRDB_CHECK_AND_MUTATE
// scan related rpc codes won't added
RPC_RRDB_RRDB_SORTKEY_COUNT
RPC_RRDB_RRDB_GET_SCANNER
RPC_RRDB_RRDB_SCAN
RPC_RRDB_RRDB_CLEAR_SCANNER

The following perf-counters will be added:

zion*profiler*RPC_RRDB_RRDB_PUT.rpc.dropped
zion*profiler*RPC_RRDB_RRDB_MULTI_PUT.rpc.dropped
zion*profiler*RPC_RRDB_RRDB_REMOVE.rpc.dropped
zion*profiler*RPC_RRDB_RRDB_MULTI_REMOVE.rpc.dropped
zion*profiler*RPC_RRDB_RRDB_DUPLICATE.rpc.dropped
zion*profiler*RPC_RRDB_RRDB_GET.rpc.dropped
zion*profiler*RPC_RRDB_RRDB_MULTI_GET.rpc.dropped
zion*profiler*RPC_RRDB_RRDB_TTL.rpc.dropped
@hycdong hycdong added the type/enhancement Indicates new feature requests label Jul 21, 2021
@hycdong hycdong changed the title Feature enhancement: drop client request if its in-queue time exceed client timeout Feature enhancement: drop some client requests if its in-queue time exceed client timeout Jul 21, 2021
@hycdong hycdong added this to the v2.3.0 milestone Aug 31, 2021
@hycdong hycdong closed this as completed Oct 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement Indicates new feature requests
Projects
None yet
Development

No branches or pull requests

1 participant