Skip to content

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

Closed

Description

@hycdong

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

Activity

  1. 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[/+] on Jul 21, 2021
  2. added this to the v2.3.0 milestone on Aug 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions