Server Automatically Shuts at High Rate of sendOutput()

Server Automatically Shuts at High Rate of sendOutput()

book

Article ID: KB0075733

calendar_today

Updated On:

Products Versions
TIBCO Streaming 7

Description

When the rate at which sendOutput() is called is very high, Streambase server which is launched from Streambase Studio shuts down with the following error:
com.streambase.sb.sbd.TupleQueue - Dequeuing client's memory allocation of: 8.12 mbytes, 
has exceeded the maximum memory allocation of: 8 mbytes. This may be a sign that the client is hung.
My custom embedded input adapter calls sendOutput() at the rate of about 200K tuples per second. Each tuple has 24 to 40 fields. I tried increasing the memory for dequeue but eventually it fails.

Issue/Introduction

Server Automatically Shuts at High Rate of sendOutput()

Resolution

The first issue present is that a client dequing from the server cannot keep up with the data rate. The client is probably SB Studio itself. Studio reports in a popup dialog that it cannot be used for performance testing, and the input adapter's output rate most certainly will exceed Studio's Application Output view's reporting capacity.

When testing this adapter you will either need to throttle it to a much lower rate, or perform your testing using the command-line tools, filter the output to a lower rate, and perform post-execution log analysis to determine whether the server is performing correctly.

The second issue is that the server is shutting down at this rate of input. Just like a client that cannot keep up with the data-rate, operators and adapters downstream of the fast input adapter may not be able to keep up.

See if the server is running out of memory or other resources by monitoring it with StreamBase Manager and seeing what the Memory view (and other views) report when the server quits. SB Manager will also report the sizes of internal queues in the Queues view, and any backlog in the Streams view, Latest Tuples column. Additionally, high CPU-use in the Threads view indicates possible thread starvation.