This discussion is archived
6 Replies Latest reply: Mar 8, 2013 5:32 AM by Martien van den Akker RSS

Events not being dequeued from queue

901806 Newbie
Currently Being Moderated
Hi,

we have a EBS to CRMOD PIP based integration which utilizes EBS queue wf_bpel_q for recording events for initiating integration process initializations. The issue we are faced with our events not getting dequeued from the queue despite the process getting kicked post events enqueueing. The events are appearing with msg_state Ready despite they having been read and listener process executed.

IS this not happening because the queue is configured with multiple subscribers. Thus the message would not be removed from the queue unless its read by all the subscribers on the queue. there are 8 subscribers on the queue, does this mean we would have to apply the following suggested approach to resolve the clearing of events from queue.


AQ Error handling (RETRY_COUNT)
RETRY_COUNT
1. if DBMS_AQ.dequeue call rolled back RETRY_COUNT is increased by one
2. if RETRY_COUNT reach MAX_RETRIES value (5) it moved to exception
queue
3. optionally RETRY_DELAY could be set on queue level

EXPIRATION TIME
1. If EXPIRATION TIME was set during enqueue call a message moved to exception
queue if it isn’t dequeued within timeframe set

Looking for a direction to get this resolved.

regards
Santosh
  • 1. Re: Events not being dequeued from queue
    758358 Pro
    Currently Being Moderated
    Hi,

    I don't know anything about EBS and it's AQ usage but you are correct about multiple subscribers, a message only gets removed when all of the subscribers have processed it.

    I guess my first question (not knowing anything about EBS) is why aren't the other subscriber messages being consumed?

    You could set the expiration time but then you are going to end up with loads of EXPIRED messages in the exception queue which seems pointless.

    Just to confirm, you are seeing some movement to PROCESSED but others are READY (i.e. the same message but different consumer_name)?

    thanks
    Paul
  • 2. Re: Events not being dequeued from queue
    901806 Newbie
    Currently Being Moderated
    Nope. All i see are events still waiting in ready state. with the DEQ_TXN_ID indicating value RETRY_EXCEEDED
  • 3. Re: Events not being dequeued from queue
    758358 Pro
    Currently Being Moderated
    So if no messages are being processed and they are all going to retry exceeded then something is going wrong in the DQ process and resulting in a failure to complete the DQ.

    What does these queries give?
    select queue,consumer_name,msg_state,expiration_reason,count(*)
    from aq$<queue_table_name>
    group by queue,consumer_name,msg_state,expiration_reason;
    
    select owner,name,queue_type,max_retries,retry_delay from dba_queues where queue_table = '<QUEUE_TABLE_NAME>';
    Thanks
    Paul
  • 4. Re: Events not being dequeued from queue
    901806 Newbie
    Currently Being Moderated
    QUEUE,CONSUMER_NAME,MSG_STATE,EXPIRATION_REASON,COUNT(*)
    WF_BPEL_Q,ORA_6GSJCHA38OP3AE9G7524CDHJ6H,READY,,78
    WF_BPEL_Q,ORA_6GR3CH9G60R34C226OO3GDPL8H,READY,,25
    WF_BPEL_Q,ORA_6H13EEA47124CD1P8L2J8DA26T,READY,,480
    WF_BPEL_Q,ORA_6OO4CH9K6L1J6GPJ750J0CQ56L,READY,,284
    WF_BPEL_Q,ORA_6GR3CH9G60R34C226OOJGDPL8H,READY,,1917



    OWNER,NAME,QUEUE_TYPE,MAX_RETRIES,RETRY_DELAY
    APPS,WF_BPEL_Q,NORMAL_QUEUE,0,0
    APPS,AQ$_WF_BPEL_QTAB_E,EXCEPTION_QUEUE,0,0
  • 5. Re: Events not being dequeued from queue
    758358 Pro
    Currently Being Moderated
    Nothing is on the exception queue and EXPIRATION_REASON is null - what is leading you to think these messages are exceeding the retries (which incidentally is zero so no retries)?

    What process is supposed to be consuming these messages? you may be better off in the EBS forum as there might be something applicaiton specific which is not obvious to me.

    All I am seeing is a Q with many READY (i.e. unprocessed | waiting to be processed) messages.

    Thanks
    Paul
  • 6. Re: Events not being dequeued from queue
    Martien van den Akker Explorer
    Currently Being Moderated
    Hi,

    I don't know if this issue is solved already (question is not marked answered).

    But I see that the messages seem to have consumer-names that seem to be generated. Apparently there are no consuming processes that consume the messages with these consumer names. So it might have to do with how the message producing process creates those messages.
    If the consumernames reflect some kind of correlation I would suggest to use the CorrelationID property instead.

    Make sure that you have consuming processes that use these consumer name and make sure that all messages that are produced are consumed.
    If the table get's filled more and more the queuetable may grow and might decrease your queueing performance.

    Regards,
    Martien

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points