question

Upvotes
Accepted
3 0 1 4

EMA OMMConsumer - channel out of buffers

Hi,

after subscribing to a symbol list with around 1600 symbols I subscribe to those symbols individually.

I start receiving updates to individual symbols but after a short period of time (10s or so) i get below exception:

2017-03-22 08:02:10,948 [pool-3-thread-1] ERROR com.thomsonreuters.ema.access.OmmConsumerImpl - loggerMsg
    ClientName: EmaConsumer_1
    Severity: Error
    Text:    Call to rsslReactorDispatchLoop() failed. Internal sysError='0' Error text='channel out of buffers errorId=-4 errorText=channel out of buffers'. 
loggerMsgEnd

Can you please advise?

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-apiOMMbuffer
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Monitored by Pimchaya

@m87

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

1 Answer

· Write an Answer
Upvotes
Accepted
9.6k 10 7 7

Hello @m87

This seems to be the same problem as

https://community.developers.refinitiv.com/questions/9781/ema-java-channel-out-of-buffers-errorid-4-error-wi.html

Please set GuaranteedOutputBuffers in EmaConfig.xml read by the application to increase buffer size used when writing data. For more detail of the configuration, please refer to EMA Configuration Guide(<EMA package>\Ema\Docs\EMAJ_ConfigGuide.pdf)

For example:

<Channel>
	    <Name value="Channel_1"/>
            <ChannelType value="ChannelType::RSSL_SOCKET"/>
            <GuaranteedOutputBuffers value="5000"/>
            ...  
</Channel>

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi, I have the same error with the API version below. I don't have a EmaConfig.xml file. How can I increase the GuaranteedOutputBuffers in this version without using an EmaConfig.xml file?

<groupId>com.thomsonreuters.ema</groupId>

<artifactId>ema</artifactId>

<version>3.2.0.2</version>


This is the error I have:

ClientName: SingleItem

Severity: Error

Text: Internal error: rsslChannel.submit() failed in SingleItem.submit(PostMsg)RsslChannel 0

Error Id -3

Internal sysError 0

Error Location Watchlist.encodeIntoBufferAndQueue

Error Text channel out of buffers errorId=-4 errorText=channel out of buffers

EmaConfig.zip

I managed to resolve the issue by creating an EmaConfig.xml file and placing it in the root folder of my application. I found that is the default location the API looks in for the file. I set the GuaranteedOutputBuffers in the file and that fixed the issue. I have attached an example of the EmaConfig.xml file I created.

emaconfig.zip (1.0 KiB)

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.