cancel
Showing results for 
Search instead for 
Did you mean: 

Very urgent help needed regarding resending of messages

ajeyagv
Participant
0 Kudos

Hello All,

I'm in a very tough situation now. I had stopped a channel on 11th of June and without realizing I had kept it in that state till now. Now I have to restart the channel but the problem is the messages will get resent automatically and I don't want that to happen. Because, the receiver wants the messages in the same order as they were supposed to reach them.

So, the requirement now is to make sure that the messages don't get resent automatically the moment I restart the channel and then I can resend the messages date wise. Kindly suggest a solution as this has happened in Production envt.

The receiver channel is a JDBC channel and PI version is PI7.3 SP12.

Thanks,

Ajeya G V

Accepted Solutions (1)

Accepted Solutions (1)

ajeyagv
Participant
0 Kudos

Hello All,

Sorry for the delay in posting the solution for this.

What I did was, I changed the receiver address in the receiver channel so that when that channel is turned on, all the messages go into error status. Once all the messages have gone into error status (this will be due to a different error category), change the address back to the correct one in the channel. Even after performing that, the messages did not get triggered automatically and I selected the messages datewise and started resending the messages.

Answers (3)

Answers (3)

martin_babayan
Employee
Employee
0 Kudos

Hi Ajeya,

If the messages are stuck in Adapter Engine with 'ready to be delivered ' status then why you don't want to simply cancel them?

For example in RWB you have Cancel button for all messages.

Once you cancell all messages you can start receiver channel.

Best regards,

Martin

ajeyagv
Participant
0 Kudos

Hello,

I cannot cancel the messages because they are needed later. The requirement is that I have to resend the messages in the order of arrival.

Thanks,

Ajeya G V

azharshaikh
Active Contributor
0 Kudos

Hello Ajeya,

AFAIK - once you Start the CC receiver channel, it will post the messages in random order and we do not have direct control over it.

Are you using EOIO option, if yes then I believe it should get delivered in correct sequence.

Please check

Regards,
Azhar

iaki_vila
Active Contributor
0 Kudos

Hi all,

I was wondering if you can identify all the messages, you can cancel them. Later you can go to DB and mark all those register like not taken. Then your sender JDBC will take the registers in the original order, depending of your SELECT obviously.

I usually do a second scenario, only for me and because i usually don't havent access with a SQL client, to change the status flag in the table. In this way, if there is any problem, i can reactivate the register.

Regards.

ajeyagv
Participant
0 Kudos

Hello Azhar,

No we are not using EOIO here. It is EO.

Thanks,

Ajeya G V

ajeyagv
Participant
0 Kudos

Hello Inaki,

Could you please elaborate on this ?

I didnt understand the marking the registers and all. I actually don't have access to DB and DB is actually the receiver.

Please elaborate on this suggestion.

Thanks,

Ajeya G V

martin_babayan
Employee
Employee
0 Kudos

Hi,

How you are going to process EO messages in correct order is not clear for me? And what is the number of messages that you have since  11th of June?

Best regards,

Martin

vishnu_pallamreddy
Contributor
0 Kudos

Hi Vaani,

Production environment right?

What is the Retention Period for Messages?

Synchronous r Asynchronous?

Based on retention period the messages will be deleted.
I think all the messages not in queue.

If you start the channel all the messages goes to receiver in same order based on Time Stamp I think.

Anything you want to do, Just replicate the same thing(same situation) in lower environment and test it.

Thanks & Regards,

Vishnu Pallamreddy.

iaki_vila
Active Contributor
0 Kudos

Hi Ajeya,

If the messages are stuck, they should be in the smq1 or smq2 transaction. If you delete the messages from there and later you cancel the messages from the monitoring.

Regards.

ajeyagv
Participant
0 Kudos

Thank you Inaki. Additional problem is that this PI is 7.3 single stack

ajeyagv
Participant
0 Kudos

Could anyone please reply to this ? Now the requirement is to disable automatic resending of messages. Any input is appreciated.

-Ajeya

Former Member
0 Kudos

Hi Ajeya,

If the message is stuck in sender chanel, you can stop the message from moving to the JDBC receiver by capturing it in PI Integration engine.

For this you can give any condition in XPath in receiver determination which will be a false one, i.e., this condition should not match with any of the payloads. Then restart the sender channel, the messages will flow and get stuck in SXMB_MONI t-code of IE.

And then I hope accordingly you can manage.

Dont forget to remove the false condition in receiver determination once the ENTIRE ISSUE IS FIXED.

If you need any further help, kindly let me know.

Kind Regards,

Souvik

ajeyagv
Participant
0 Kudos

Hi Souvik,

Thanks for the reply. The situation is not that the sender channel was stopped. The receiver channel was stopped and the message has already gone through the mapping program and is ready to be delivered to the receiver endpoint. The log says that the message will be delivered once the receiver channel is restarted. Kindly suggest if anything can be done for this or not.

We just have to make sure that the no automatic processing happens when I restart the stopped receiver channel.

Thanks,

Ajeya G V

Former Member
0 Kudos

Hi Ajeya,

Then in that case, in your JDBC receiver channel, in advanced mode, please choose "Transaction Isolation Level".

Over there choose "serializable" as the JDBC constant.

This will then route the messages to the JDBC endpoint receiver as per the timestamp.

Please Note : Since this is production environment, my suggestion will be to test in QA and then move to production.

Kind Regards,

Souvik

ajeyagv
Participant
0 Kudos

Thanks Souvik. I will try this and will update here.

Former Member
0 Kudos

Hi Ajeya,

I forgot to mention one more thing....

In Processing tab, under Maximum Concurrency, please maintain the default value which is 1.

Kind Regards,

Souvik