[
https://issues.apache.org/jira/browse/KAFKA-6258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dong Lin updated KAFKA-6258:
----------------------------
Description: When consumer uses plaintext and there is remaining data in
consumer's buffer, consumer.poll() will read all data available from the socket
buffer to consumer buffer. However, if consumer uses ssl and there is remaining
data, consumer.poll() may only read 16 KB (the size of
SslTransportLayer.appReadBuffer) from socket buffer. This will reduce efficient
of consumer.poll() by asking user to call more poll() to get the same amount of
data. For users who naively sleep a constant time after each consumer.poll(),
we observe that the throughput will reduce after they switch from plaintext to
ssl. (was: When consumer uses plaintext and there is remaining data in
consumer's buffer, consumer.poll() will read all data available from the socket
buffer to consumer buffer. However, if consumer uses ssl and there is remaining
data, consumer.poll() may only read 16 KB (the size of
SslTransportLayer.appReadBuffer) from socket buffer. This will reduce efficient
of consumer.poll(). For users who naively sleep a constant time after each
consumer.poll(), we observe that the throughput will reduce after they switch
from plaintext to ssl.)
> SSLTransportLayer should keep reading from socket until either the buffer is
> full or the socket has no more data
> ----------------------------------------------------------------------------------------------------------------
>
> Key: KAFKA-6258
> URL: https://issues.apache.org/jira/browse/KAFKA-6258
> Project: Kafka
> Issue Type: Improvement
> Reporter: Dong Lin
> Assignee: Dong Lin
>
> When consumer uses plaintext and there is remaining data in consumer's
> buffer, consumer.poll() will read all data available from the socket buffer
> to consumer buffer. However, if consumer uses ssl and there is remaining
> data, consumer.poll() may only read 16 KB (the size of
> SslTransportLayer.appReadBuffer) from socket buffer. This will reduce
> efficient of consumer.poll() by asking user to call more poll() to get the
> same amount of data. For users who naively sleep a constant time after each
> consumer.poll(), we observe that the throughput will reduce after they switch
> from plaintext to ssl.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)