Problem solve Get help with specific problems with your technologies, process and projects.

Question regarding NOSPACE condition when writing to a transient data queue

When writing to a Transient Data Queue, if the NOSPACE condition is returned should it be guaranteed that all the...

PREVIOUS data written to the queue was successfully written? We are experiencing a problem here where an amount of data equal to the TD queue's dataset's blocksize times the number of buffers is lost when a NOSPACE condition is raised.

I assume the question relates to extrapartition TD given the reference to blocksize and number of buffers.

We use QSAM "put locate" mode which enables records to be moved directly from the application buffer to the QSAM buffer regardless of the RMODE of the application buffer. Each QSAM PUT "commits" the record last moved to the buffer. When the buffer is full QSAM invokes lower level services to write the block to the data set returns a pointer to the next buffer in the pool provided that buffer is not being written to the data set.

We raise the NOSPACE condition when the DCB abend exit is entered for an x37 abend. If you have filled all currently allocated space for your data set, QSAM puts the buffer into a state of error. Further action is deferred as long as possible. QSAM wants to dry up its queues by ensuring successful completion of as many buffers as possible before dealing with this space problem. QSAM continues accepting data until it has run out of buffers. Then it analyzes the problem but if it is unable to resolve the problem it invokes the CICS DCB ABEND exit routine and the data in the buffers will be lost.

In short, the function is working as designed. To avoid data loss you should ensure that there is sufficient space available. It would also be possible to work with unblocked records in a single buffer but I do not recommend this because the effect on CICS performance will almost certainly be unacceptable.

This was last published in March 2002

Dig Deeper on IBM system z and mainframe systems

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.