You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Dong Lin (JIRA)" <ji...@apache.org> on 2017/11/22 08:06:00 UTC

[jira] [Updated] (KAFKA-6258) SSLTransportLayer should keep reading from socket until either the buffer is full or the socket has no more data

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