Why didn't we get any ENS event for air cancellation? - sabre

We've been having a PNR subscription for Itinerary Ticketing/time limit Misc ticketing. We've consistently received ENS event for ticketing but stopped receiving update on cancellation since Dec 22nd. We were told by support that our endpoint is sometime unreachable (without any failed request sample) or return status different than 202.
We've assessed our network and it shows a healthy status without any down time. Our logs show that we've responded with 202 for the ENS calls that reached our server.
We're expecting to receive ENS update events on any cancellation as defined in the Sep 2020 ENS Dev guide
Itinerary: "When any itinerary segment data changes (added/deleted/modified)"
While we're waiting for support, I thought I could ask the community if anyone experience the same problem or have any recommendation on where I should look.
Sabre Dev, any pointer you can provide?

Related

BizTalk 2013 R2 - Rate based Throttling on flooding messages

We have a solution that takes a message, and sends it to a web API.
Every day, an automatic procedure is run by another department that passes thousands of records into the messagebox, which seems to cause errors related to the API solicit-response port (strangely these errors don't allude to a timeout, but they do only trigger when such a massive quantity of data is sent downstream).
I've contacted the service supplier to determine the capacity of their API calls, so I'll be able to tailor our flow once I have a better idea.
I've been reading up on Rate Based Throttling this morning, and have a few questions I can't find an answer to;
If throttling is enabled, does it only process the Minimum number of samples/messages? If so, what happens to the remaining messages? I read somewhere they're queued in memory, but only of a max of 100, so where do all the others go?
If I have 2350 messages flood through in the space of 2 seconds, and I want to control the flow, would changing my Sampling Window duration down to 1 second and setting Throttling override to initiate throttling make a difference?
If you are talking about Host Throttling setting, the remaining messages will be in the message box database and will show as being in a Dehydrated state.
You would have to test the throttling settings under load. If you get it wrong it can be very bad. I've come across one server where the settings were configured incorrectly and it is constantly throttling.

How to we monitor transactions in transit in the MQ on both sending and receiving side in Corda?

We understand that there are port tear-down during transactions and different ports may be used when sending messages over to the counterparties. When a node goes down, the messages are still sent but they are being queued in the MQ, is there a recommended way how could we monitor these transactions/messages?
Unfortunately, you can't currently monitor these messages.
This is because Artemis does not store its queued messages in a human-readable/queryable format. Instead, the queued messages are stored in the form of a high-performance journal that contains a lot of information that is required in case the message queue's state needs to be restored from a hard bounce.
I approached this by finding the documents here: https://docs.corda.net/node-administration.html#monitoring-your-node
where it illustrates Corda flow metrics visualized using hawtio.
I just needed to download and startup hawt.io and connect it to any ( or the specified node PID ) net.corda.node.Corda and by going to the JMX tab we could see the messages in queue.

BizTalk 2013 R2- orchestration

What is different between dehydrated and rehydrated activities for BizTalk messages process?
And when I can get dehydrated messages to suspended and resume instance?
Any one can get explained with examples that will be appreciate!
A message & orchestration will dehydrate if they are generally either waiting for a response. It will rehydrate once the response is received.
A message will suspend if it times out or receives a error condition.

Implementing TCP keep alive at the application level

We have a shell script setup on one Unix box (A) that remotely calls a web service deployed on another box (B). On A we just have the scripts, configurations and the Jar file needed for the classpath.
After the batch job is kicked off, the control is passed over from A to B for the transactions to happen on B. Usually the processing is finished on B in less than an hour, but in some cases (when we receive larger data for processing) the process continues for more than an hour. In those cases the firewall tears down the connection between the 2 hosts after an inactivity of 1 hour. Thus, the control is never returned back from B to A and we are not notified that the batch job has ended.
To tackle this, our network team has suggested to implement keep-alives at the application level.
My question is - where should I implement those and how? Will that be in the web service code or some parameters passed from the shell script or something else? Tried to google around but could not find much.
You basically send an application level message and wait for a response to it. That is, your applications must support sending, receiving and replying to those heart-beat messages. See FIX Heartbeat message for example:
The Heartbeat monitors the status of the communication link and identifies when the last of a string of messages was not received.
When either end of a FIX connection has not sent any data for [HeartBtInt] seconds, it will transmit a Heartbeat message. When either end of the connection has not received any data for (HeartBtInt + "some reasonable transmission time") seconds, it will transmit a Test Request message. If there is still no Heartbeat message received after (HeartBtInt + "some reasonable transmission time") seconds then the connection should be considered lost and corrective action be initiated....
Additionally, the message you send should include a local timestamp and the reply to this message should contain that same timestamp. This allows you to measure the application-to-application round-trip time.
Also, some NAT's close your TCP connection after N minutes of inactivity (e.g. after 30 minutes). Sending heart-beat messages allows you to keep a connection up for as long as required.

BizTalk Message Queued (awaiting processing)

I am sending a message to BizTalk receive location and it is stuck somewhere. Querying the Tracked Message events gives me following:
And when i query all in-progress service instances, i finding my orchestration in state "Ready to run":
The Service details tells me that the message was queued and awaits processing:
In a topic here was suggested that "The message is in an ordered delivery scenario when the preceding message is being retried by the ordered delivery send port."
The problem is that i don't have ordered delivery in my applications.
Thank you for any advice!
The Orchestration will be configured against a Host - check that the Host has a Host Instance that is in the running/started state.

Resources