[ 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)