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

Aleksey Yeschenko commented on CASSANDRA-7231:
----------------------------------------------

Okay. As far as the code goes, I only see two issues:
- the check in Header constructor is broken for server-initiated events (-1 & 
0xFF == 0xFF)
- in decode(), 'streamId &= (buffer.getByte(bodyStart) & 0xFF);' should be 
'streamId |= buffer.getByte(bodyStart);'
Also attached a patch with a bit of doc fixes.

Really though, I do feel bad for flip-flopping like this (suggesting the fixed 
2-byte version first, then agreeing with flag-based approach, and then pushing 
for fixed 2-byte version again), but, in my defense, I was assuming a different 
flag-based approach.

Namely, that with EXTENDED_STREAM_ID flag set, we'd just have a 2-byte id in 
the 9-byte header, and simply have writeShort()/readShort() calls instead of 
writeByte()/readByte() in encode()/decode(), respectively. I'd still have a 
minor preference for a fixed 2-byte stream id, but very, very minor in that 
case.

But the approach in this v1 I don't like - it's a bit too complex and hackish. 
If you don't feel like cooking up another patch for this, I'll do it, with 
either approach (1 - fixed 2-bytes or 2 - 8/9 bytes header depending on the 
flag, described above), assuming that you don't disagree on principle 
[~slebresne] [~thobbs]

> Support more concurrent requests per native transport connection
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-7231
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7231
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Benedict
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 2.1.0
>
>         Attachments: 7231.txt, v1-doc-fixes.txt
>
>
> Right now we only support 127 concurrent requests against a given native 
> transport connection. This causes us to waste file handles opening multiple 
> connections, increases driver complexity and dilutes writes across multiple 
> connections so that batching cannot easily be performed.
> I propose raising this limit substantially, to somewhere in the region of 
> 16-64K, and that this is a good time to do it since we're already bumping the 
> protocol version.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to