Why does MAAPI suspend in read() function?

Hi Lynn,

Note that if you do a MAAPI call like maapi_apply_trans() from a the same thread that also is a CDB subscriber for the data you are committing through MAAPI, you will have a deadlock.

The deadlock occur since ConfD is notifying the subscribers and waiting for a CDB_SYNC_SUB CDB_DONE_PRIORITY, but your application thread cannot serve the CDB subscription event as it is busy waiting for the MAAPI transaction to complete when the subscriber is done. You have a deadlock.

Try performing the MAAPI call from a separate thread, i.e. not in the same context as your subscriber.