[ 
https://issues.apache.org/jira/browse/CASSANDRA-20691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuqi Yan updated CASSANDRA-20691:
---------------------------------
    Description: 
https://issues.apache.org/jira/browse/CASSANDRA-19534

The goal of the ticket was to apply request timeouts based on the task's 
enqueue or receive time, rather than starting the timeout clock only after the 
task is dequeued for processing.
{code:java}
    public static RowIterator cas(DecoratedKey key,
                                  CASRequest request,
                                  ConsistencyLevel consistencyForConsensus,
                                  ConsistencyLevel consistencyForCommit,
                                  ClientState clientState)
            throws UnavailableException, IsBootstrappingException, 
RequestFailureException, RequestTimeoutException, InvalidRequestException
    {
        final long start = nanoTime();
                   ^^^^
        final long proposeDeadline = start + 
getCasContentionTimeout(NANOSECONDS);
        final long commitDeadline = Math.max(proposeDeadline, start + 
getWriteRpcTimeout(NANOSECONDS));
        return cas(key, request, consistencyForConsensus, consistencyForCommit, 
clientState, start, proposeDeadline, commitDeadline);
    } {code}
It appears that the LWT path for Paxos v2 was missed in the current branch. As 
a result, timeouts for LWTs may still be measured from the point of dequeuing, 
which can lead to inconsistent or delayed timeout behavior under high load.

I have a patch ready and will share shortly

  was:
https://issues.apache.org/jira/browse/CASSANDRA-19534

The goal of the ticket was to apply request timeouts based on the task's 
enqueue or receive time, rather than starting the timeout clock only after the 
task is dequeued for processing.

It appears that the LWT path for Paxos v2 was missed in the current branch. As 
a result, timeouts for LWTs may still be measured from the point of dequeuing, 
which can lead to inconsistent or delayed timeout behavior under high load.

I have a patch ready and will share shortly


> Transport queue timeout is not applied to Paxos v2 LWT
> ------------------------------------------------------
>
>                 Key: CASSANDRA-20691
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20691
>             Project: Apache Cassandra
>          Issue Type: Bug
>            Reporter: Yuqi Yan
>            Assignee: Yuqi Yan
>            Priority: Normal
>
> https://issues.apache.org/jira/browse/CASSANDRA-19534
> The goal of the ticket was to apply request timeouts based on the task's 
> enqueue or receive time, rather than starting the timeout clock only after 
> the task is dequeued for processing.
> {code:java}
>     public static RowIterator cas(DecoratedKey key,
>                                   CASRequest request,
>                                   ConsistencyLevel consistencyForConsensus,
>                                   ConsistencyLevel consistencyForCommit,
>                                   ClientState clientState)
>             throws UnavailableException, IsBootstrappingException, 
> RequestFailureException, RequestTimeoutException, InvalidRequestException
>     {
>         final long start = nanoTime();
>                    ^^^^
>         final long proposeDeadline = start + 
> getCasContentionTimeout(NANOSECONDS);
>         final long commitDeadline = Math.max(proposeDeadline, start + 
> getWriteRpcTimeout(NANOSECONDS));
>         return cas(key, request, consistencyForConsensus, 
> consistencyForCommit, clientState, start, proposeDeadline, commitDeadline);
>     } {code}
> It appears that the LWT path for Paxos v2 was missed in the current branch. 
> As a result, timeouts for LWTs may still be measured from the point of 
> dequeuing, which can lead to inconsistent or delayed timeout behavior under 
> high load.
> I have a patch ready and will share shortly



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to