cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergio Bossa (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-9318) Bound the number of in-flight requests at the coordinator
Date Fri, 15 Jul 2016 08:27:20 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-9318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15379014#comment-15379014
] 

Sergio Bossa commented on CASSANDRA-9318:
-----------------------------------------

Based on everyone's feedback above, I propose to move forward with these changes:
* Break the {{BackPressureStrategy}} apply method into two, one to compute the back-pressure
state and return it sorted in ascending order (from lower back-pressure to higher/overloader),
the other to actually apply it.
* Apply back-pressure on all nodes/states together, and have {{RateBasedBackPressure}} apply
it based on the faster, slower, or average rate, depending on configuration: this is to "soften"
[~jbellis]' concern about always limiting at the slowest rate.
* Rework {{SP.sendToHintedEndpoints}} a little bit to send mutations in the order returned
by the {{BackPressureStrategy}}: this is a minor optimization based on the reasoning that
"slower replicas" might be also slower to accept writes at the TCP level, and I can skip it
if people prefer not to touch SP too much.
* Also have {{SP.sendToHintedEndpoints}} directly hint overloaded replicas rather than back-pressure
them or throw exception; again, this is an optimization to avoid wasting time with dealing
with too slow replicas.

Regarding the memory-threshold strategy, I'll hold on implementing it until we consolidate
the points above.

Regarding any changes related to the write request path going fully non-blocking, code placement
will probably change but all such core concepts will stay the same, and I'll be happy to work
on any changes needed (CASSANDRA-8457 is another one to keep an eye on /cc [~jasobrown]).

> Bound the number of in-flight requests at the coordinator
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-9318
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9318
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local Write-Read Paths, Streaming and Messaging
>            Reporter: Ariel Weisberg
>            Assignee: Sergio Bossa
>         Attachments: 9318-3.0-nits-trailing-spaces.patch, backpressure.png, limit.btm,
no_backpressure.png
>
>
> It's possible to somewhat bound the amount of load accepted into the cluster by bounding
the number of in-flight requests and request bytes.
> An implementation might do something like track the number of outstanding bytes and requests
and if it reaches a high watermark disable read on client connections until it goes back below
some low watermark.
> Need to make sure that disabling read on the client connection won't introduce other
issues.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message