You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ryan King (JIRA)" <ji...@apache.org> on 2011/07/05 22:44:17 UTC

[jira] [Created] (CASSANDRA-2858) make request dropping more accurate

make request dropping more accurate
-----------------------------------

                 Key: CASSANDRA-2858
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Ryan King
            Assignee: Melvin Wang
            Priority: Minor


Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447875#comment-13447875 ] 

Jonathan Ellis commented on CASSANDRA-2858:
-------------------------------------------

bq. Maybe just sending the Integer for timeout instead of long will save us some bandwidth

What did you have in mind?  milliseconds gets too large for an int in less than a year.  Even 100ths of seconds do.  Cutting to 10ths of a second seems like we're losing too much resolution.
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Melvin Wang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072967#comment-13072967 ] 

Melvin Wang commented on CASSANDRA-2858:
----------------------------------------

For 3rd bullet, would it be good enough to add a 'cancel' method to IAsyncCallback so that we it got expired in ExpiringMap, cancel will be called which will unblock the get() method and possibly throwing TimeoutException?

> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>
> Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Vijay (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447884#comment-13447884 ] 

Vijay commented on CASSANDRA-2858:
----------------------------------

{quote}
What did you have in mind?
{quote}
I was talking about the lower part of the long where we have 2 billion milliseconds (2147483.648 seconds) to count which will give us enough to timeout... varint cannot save those 4 bytes because there is value in it. Makes sense? I should have been clear earlier.
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Issue Comment Edited] (CASSANDRA-2858) make request dropping more accurate

Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072473#comment-13072473 ] 

Stu Hood edited comment on CASSANDRA-2858 at 7/28/11 6:32 PM:
--------------------------------------------------------------

There are a few issues here:
 * The originally mentioned issue of not having an accurate timeout on the server side
  ** Add a creation time on the client side? Set the remaining time immediately before serialization?
 * The ExpiringMap of callbacks on the client side always waits until the RPC timeout to expire messages
  ** The Callback could eagerly expire itself from the map when it is is satisfied 
 * A client thread calling get() on a callback has a timeout independent from the timeout for the Callback in the ExpiringMap: they can become disconnected
  ** One way to solve that would be to change the IAsyncCallback interface to be more like a Future, such that it is notified when it expires, and could kill anyone blocking on get() with a TimeoutException

      was (Author: stuhood):
    There are a few issues here:
 * The originally mentioned issue of not having an accurate timeout on the server side
   * Add a creation time on the client side? Set the remaining time immediately before serialization?
 * The ExpiringMap of callbacks on the client side always waits until the RPC timeout to expire messages
   * The Callback could eagerly expire itself from the map when it is is satisfied 
 * A client thread calling get() on a callback has a timeout independent from the timeout for the Callback in the ExpiringMap: they can become disconnected
   * One way to solve that would be to change the IAsyncCallback interface to be more like a Future, such that it is notified when it expires, and could kill anyone blocking on get() with a TimeoutException
  
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>
> Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis resolved CASSANDRA-2858.
---------------------------------------

    Resolution: Fixed
    
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-2858) make request dropping more accurate

Posted by "Melvin Wang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Melvin Wang updated CASSANDRA-2858:
-----------------------------------

    Comment: was deleted

(was: Regarding to the first bullet point, why not introducing the creation time in the message header, so that whenever we need to know the remaining time we could just compare the current time with it?)

> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>
> Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2858:
--------------------------------------

    Description: Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.  (was: Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.)
    
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>             Fix For: 1.2
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13468612#comment-13468612 ] 

Jonathan Ellis commented on CASSANDRA-2858:
-------------------------------------------

Thanks Vijay!
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2858:
--------------------------------------

    Reviewer: vijay2win@yahoo.com  (was: brandon.williams)
    
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Vijay (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13449141#comment-13449141 ] 

Vijay commented on CASSANDRA-2858:
----------------------------------

+1, 
Sorry for the delay spent a lot of time wondering why the test cases where failing :) (was looking at the wrong places)
looks like thats because of the following setting in SP

{code}
private static final boolean OPTIMIZE_LOCAL_REQUESTS = false;
{code}

Once we set it to true we should be good to commit i guess.
Thanks!
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2858:
--------------------------------------

    Fix Version/s: 1.2
    
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>             Fix For: 1.2
>
>
> Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Vijay (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447856#comment-13447856 ] 

Vijay commented on CASSANDRA-2858:
----------------------------------

+1 
Side Note (Can be ignored): Maybe just sending the Integer for timeout instead of long will save us some bandwidth :)
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072473#comment-13072473 ] 

Stu Hood commented on CASSANDRA-2858:
-------------------------------------

There are a few issues here:
 * The originally mentioned issue of not having an accurate timeout on the server side
   * Add a creation time on the client side? Set the remaining time immediately before serialization?
 * The ExpiringMap of callbacks on the client side always waits until the RPC timeout to expire messages
   * The Callback could eagerly expire itself from the map when it is is satisfied 
 * A client thread calling get() on a callback has a timeout independent from the timeout for the Callback in the ExpiringMap: they can become disconnected
   * One way to solve that would be to change the IAsyncCallback interface to be more like a Future, such that it is notified when it expires, and could kill anyone blocking on get() with a TimeoutException

> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>
> Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464190#comment-13464190 ] 

Jonathan Ellis commented on CASSANDRA-2858:
-------------------------------------------

The rebuilding logic in v3 turns out to rely on the sign bit of the int being 1, so that when it gets and-ed with the long, it gets sign-extended:

{code}
.       Long foo = 0xFFFFFFFFFFFFFFFFL;
        int bar = 0xF0000000;
        System.out.println(Long.toHexString(foo & bar));
        System.out.println(Long.toHexString(foo & 0));
{code}

This outputs
{noformat}
fffffffff0000000
0
{noformat}

Thus, when the high order bit of the lower 32 bits of currentTimeMillis is instead zero, then the and zeros out the entire high 32 of the long we were trying to rebuild with.

pushed my suggested alternative above in 822ee88a38b3862d60b50748382ddf7957907cec, which does not rely on sign extension.

                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2858:
--------------------------------------

    Attachment: 2858-v2.txt

v2 only sends low-order timestamp int.
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2858:
--------------------------------------

    Attachment: 2858-v3.txt

v3 fixes ITC byte arithmetic per Vijay's suggestion.

({{ | (input.readInt() << 4 >> 4)}} also works, but Vijay's version is simpler. 
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Melvin Wang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072960#comment-13072960 ] 

Melvin Wang commented on CASSANDRA-2858:
----------------------------------------

Regarding to the first bullet point, why not introducing the creation time in the message header, so that whenever we need to know the remaining time we could just compare the current time with it?

> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>
> Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2858:
--------------------------------------

    Attachment: 2858.txt

bq. The ExpiringMap of callbacks on the client side always waits until the RPC timeout to expire messages

Not so, ResponseVerbHandler calls removeRegisteredCallback.

bq. A client thread calling get() on a callback has a timeout independent from the timeout for the Callback in the ExpiringMap

That would be nice to clean up in a separate ticket.

bq. The originally mentioned issue of not having an accurate timeout on the server side

This is the most important part to address.  Patch attached.
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Reopened] (CASSANDRA-2858) make request dropping more accurate

Posted by "Yuki Morishita (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yuki Morishita reopened CASSANDRA-2858:
---------------------------------------


I think this is not working as expected.
Truncate hangs on two node cluster using 1.2.0-beta1 binary because truncate response gets dropped every time(and this is why CliTest on trunk is failing today).

I think casting long System.currentTimeMillis to int is fragile, and that's causing this line

https://github.com/apache/cassandra/blob/cassandra-1.2.0-beta1/src/java/org/apache/cassandra/net/MessageDeliveryTask.java#L43

always evaluates to true.
When I tried, System.currentTimeMillis was like 1348691631776, but currentTime there was like 71900832.
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Melvin Wang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072959#comment-13072959 ] 

Melvin Wang commented on CASSANDRA-2858:
----------------------------------------

Regarding to the first bullet point, why not introducing the creation time in the message header, so that whenever we need to know the remaining time we could just compare the current time with it?

> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Melvin Wang
>            Priority: Minor
>
> Based on the discussion in https://issues.apache.org/jira/browse/CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Vijay (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13468407#comment-13468407 ] 

Vijay commented on CASSANDRA-2858:
----------------------------------

Looks like we still need a minor edit to 822ee88a38b3862d60b50748382ddf7957907cec, after this change CliTest passes.

https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blobdiff;f=src/java/org/apache/cassandra/net/IncomingTcpConnection.java;h=02b40d19855f87bbe82151c2f33b92119e32003c;hp=eeb6b317bfbbac71e4c6d3e0a2253cd57922e707;hb=447fcef48630ea3f60a2c97f76910dbfa1a334f5;hpb=f3e24bd5162eede8ad13abc9c85c90dd971fc110





                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-2858) make request dropping more accurate

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13449149#comment-13449149 ] 

Jonathan Ellis commented on CASSANDRA-2858:
-------------------------------------------

Oops, didn't mean to include that in the patch.  (CASSANDRA-4617 is open to fix that.)
                
> make request dropping more accurate
> -----------------------------------
>
>                 Key: CASSANDRA-2858
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2858
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Ryan King
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.2.0 beta 1
>
>         Attachments: 2858.txt, 2858-v2.txt, 2858-v3.txt
>
>
> Based on the discussion in CASSANDRA-2819, we can make the bookkeeping for request times more accurate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira