Fix: Buffer overflow when available data size...

This is an unusual problem you might face while consuming data from Kafka broker over SSL. 


java.lang.IllegalStateException: Buffer overflow when available data size (16384) >= application buffer size (16384)
	at org.apache.kafka.common.network.SslTransportLayer.read(SslTransportLayer.java:592)
	at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:95)
	at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:448)
	at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:398)
	at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:678)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:580)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:485)
	at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:549)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:262)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:233)
	at org.apache.kafka.clients.consumer.KafkaConsumer.pollForFetches(KafkaConsumer.java:1308)
	at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1248)
	at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1216)
	at kafka.tools.ConsumerPerformance$.consume(ConsumerPerformance.scala:126)
	at kafka.tools.ConsumerPerformance$.main(ConsumerPerformance.scala:56)
	at kafka.tools.ConsumerPerformance.main(ConsumerPerformance.scala)
This could happen because of the Java Security provider sequence differences. In order to fix this you need to check what is the sequence of Java security provider on client and server. In order to confirm this check "jre/lib/security/java.security" file under Java installation directory. It contains the Java Security provider classes sequence to use. Make sure both client and server has the same sequence.

No comments:

Post a Comment

Golang: Http POST Request with JSON Body example

Go standard library comes with "net/http" package which has excellent support for HTTP Client and Server.   In order to post JSON ...