Business Events (BE) reports error of "There is not enough buffer space for the requested socket operation."

Business Events (BE) reports error of "There is not enough buffer space for the requested socket operation."

book

Article ID: KB0086276

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:  Error happens when running be-engine.

Environment: AIX

Solution::

OS related settings for this error that the Unix Admin can review are listed at the following URL:
http://wiki.tangosol.com/display/COH32UG/Performance+Tuning#PerformanceTuning-OSTuning

For eg.
---------
On AIX execute (as root):

no -o rfc1323=1
no -o sb_max=4194304
no -o udp_recvspace=4194304
no -o udp_sendspace=65536

Note that AIX only supports specifying receive buffer sizes of 1MB, 4MB, and 8MB. Additionally there is an issue with IBM's 1.4.2, and 1.5 JVMs which may prevent them from allocating socket buffers larger then 64K. This issue has been addressed in IBM's 1.4.2 SR7 SDK and 1.5 SR3 SDK.
Full Error Stack:
2010-01-13 11:42:18.997/21.008 Oracle Coherence EE 3.4.2/411p1 &ltInfo> (thread=main, member=n/a): Loaded cache configuration from resource "jar:file:/opt/tibco/be/3.0/hotfix/lib/ext/coherence.jar!/reports/report-group.xml"
2010-01-13 11:42:19.674/21.685 Oracle Coherence EE 3.4.2/411p1 &ltError> (thread=main, member=n/a): Error while starting cluster: (Wrapped) java.net.SocketException: There is not enough buffer space for the requested socket operation.
    at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)
    at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:311)
    at java.net.DatagramSocket.setReceiveBufferSize(DatagramSocket.java:916)
    at com.tangosol.coherence.component.net.socket.UdpSocket.initializeDatagramSocket(UdpSocket.CDB:16)
    at com.tangosol.coherence.component.net.socket.UdpSocket.open(UdpSocket.CDB:11)
    at com.tangosol.coherence.component.net.Cluster$SocketManager$UnicastUdpSocket.open(Cluster.CDB:6)
    at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:73)
    at com.tangosol.coherence.component.net.Cluster.start(Cluster.CDB:11)
    at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.CDB:3)
    at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.CDB:7)
    at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.CDB:27)
    at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.CDB:2)
    at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:948)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:778)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:294)
    at com.tibco.cep.runtime.service.om.coherence.cluster.CacheCluster.initCoherence(CacheCluster.java:949)
    at com.tibco.cep.runtime.service.om.coherence.cluster.CacheCluster.initialize(CacheCluster.java:1056)
    at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initCluster(RuleServiceProviderImpl.java:729)
    at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.configure(RuleServiceProviderImpl.java:228)
    at com.tibco.cep.container.standalone.BEMain.jumpStart(BEMain.java:127)
    at com.tibco.cep.container.standalone.BEMain.main(BEMain.java:45)

Issue/Introduction

Business Events (BE) reports error of "There is not enough buffer space for the requested socket operation."