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

Maxim Rydkin edited comment on QPID-2410 at 2/23/16 3:32 PM:
-------------------------------------------------------------

So framing errors I'm seeing seem to be due to the fact that the SslIoBuff 
returns a buffer of size (base->byteCount - sizes.cbHeader - sizes.cbTrailer) 
which is too small to hold a full frame of data if the message gets split into 
multiple frames. Then the  TCPConnector::encode gets invoked in a loop forever, 
writing no data, because the frame doesn't fit into a buffer. 

If I hardcode the framing code in both broker and client to chop data into 
smaller chunks (max frame size - frame overhead - ssl header and trailer 
overhead) to leave enough room and then also force the broker to advertise the 
16k frames as the max - I can get tests to pass with large sizes.

However it still doesn't work with max-frame-size of 8K or 4K  - broker 
receives the messages OK, but then the signatures are wrong when sent back to 
client (Broker seems to ignore the client's frame size and encrypts 16k 
buffers). 

and obviously anything over max-frame-size of 16K is broken because Schannel is 
Schannel.


was (Author: maxrydkin):
So framing errors I'm seeing seem to be due to the fact that the SslIoBuff 
returns a buffer of size (base->byteCount - sizes.cbHeader - sizes.cbTrailer) 
which is too small to hold a full frame of data if the message gets split into 
multiple frames. Then the  TCPConnector::encode gets invoked in a loop forever, 
writing no data, because the frame doesn't fit into a buffer. 

If I hardcode the framing code in both broker and client to chop data into 
smaller chunks (max frame size - frame overhead - ssl header and trailer 
overhead) to leave enough room and then also force the broker to advertise the 
16k frames as the max - I can get tests to pass with large sizes.

However it still doesn't work with max-frame-size of 8K or 4K  - broker 
receives the messages OK, but then the signatures are wrong when sent back to 
client (Broker seems to ignore the client's frame size and encrypts 16k 
buffers). 

and obviously anything over 16K is broken because Schannel is Schannel.

> perftest hang in SSL on Windows with large buffers
> --------------------------------------------------
>
>                 Key: QPID-2410
>                 URL: https://issues.apache.org/jira/browse/QPID-2410
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>    Affects Versions: 0.7
>         Environment: Windows client, Linux broker
>            Reporter: Cliff Jansen
>            Assignee: Steve Huston
>
> The following command:
>   perftest --count 1 --size 102400 -P ssl --port 5671 --broker linuxhost 
> --username testuser --password secret --mechanism PLAIN
> hangs on a Windows client.  Reducing the message body size to 1024 bytes 
> makes the hang go away, as does turning off SSL.



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

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

Reply via email to