My Oracle Support Banner

On AIX, coherence reports "There is not enough buffer space for the requested socket operation" Error and data lost (Doc ID 1665220.1)

Last updated on SEPTEMBER 10, 2018

Applies to:

Oracle Coherence - Version 3.7.1.7 and later
IBM AIX on POWER Systems (64-bit)

Symptoms

On AIX, coherence cache server cluster stores a large amount of data. When a number of cacheservers are killed, the remaining cache servers would perform data repartitioning. At this time, one or more of the cache servers may throw "java.io.IOException: There is not enough buffer space for the requested socket operation."  and the cache server reporting the error would leave and rejoin cluster again, potentially losing data.

Oracle Coherence GE 3.7.1.7 <Error> (thread=PacketListener1, member=1): Stopping cluster due to unhandled exception: com.tangosol.net.messaging.ConnectionException: UdpSocket.receive: unable to reopen socket; State=STATE_CLOSED
    at com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:58)
    at com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
    at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    at java.lang.Thread.run(Thread.java:738)
Caused by: java.io.IOException: There is not enough buffer space for the requested socket operation.
    at java.net.PlainDatagramSocketImpl.send0(Native Method)
    at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:135)
    at java.net.DatagramSocket.send(DatagramSocket.java:634)
    at com.tangosol.coherence.component.net.socket.UdpSocket.send(UdpSocket.CDB:34)
    at com.tangosol.coherence.component.net.UdpPacket.send(UdpPacket.CDB:1)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketSpeaker.onNotify(PacketSpeaker.CDB:39)
    at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    at java.lang.Thread.run(Thread.java:738)

This issue occurs even with the OS buffer size set to 8M, which is the largest buffer size AIX supports.  Please refer to Operating System Tuning --Socket Buffer Sizes .

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.