none
How to Handle Dehydration situation for FIFO type Orchestration RRS feed

  • Question

  • Hi Folks,

    • I am using a FIFO type orchestration for message processing where we are integrating a 3rd party tool with AX.
    • Flow goes like this :

                               3rd PARTY TOOL -> BIZTALK -> AX

    • So when message is received to Biztalk from the 3rd PARTY TOOL via Http Port it is processed and is sent to AX.
    • My flow is working absolutely fine but I am facing some issue related to performance (correct me if I am wrong).
    • Today I did a change in my code (Minor change in map) and then deployed the code.
    • I found that my process got hunged while receiving the response from AX.
    • Due to which my whole process got hunged in dehydrated state.
    • But, my doubt is that the send port for AX connectivity should have thrown the timeout exception if it didn't received the response or there was delay in the response.
    • Due to this large amount of message got dehydrated.
    • Finally I terminated the dehydrated instance and then processed the messages.

    This type of issue need to be handled in Production environment . how can we handle it

    Please suggest .

    Any help and suggestion will be appreciated.

    Thanks,

    RG



    RG

    Tuesday, August 20, 2019 10:35 AM

All replies

  • Have a scope around the Send/Receive shapes sending to AX, and set the TimeOut property on the scope.  Handle the timeout in an exception block.
    Tuesday, August 20, 2019 7:15 PM
  • Hello Colin,

    • My send and receive shape are already in scope.
    • Also at port level timeout interval is set to 05:00.

    Please suggest .
    Currently my application is in PROD and it is working fine .But to prevent from future prospective what can be done at our end to manage this issue. 

    Thanks,

    RG


    RG

    Wednesday, August 21, 2019 6:03 AM
  • 1) I would suggest try enabling Ordered delivery on Send Port 

    2) You can also try Sequential convoy pattern


    RH

    Wednesday, August 21, 2019 12:01 PM
  • To handle such scenario put Send/Receive shape in it's own scope block. Inside scope shape use Listen shape to receive the response message.

    Also, set the retry at port level to zero and perform retry from orchestration if required.

    In case ordered delivery is required, enable ordered delivery at the port level.

    Thanks,

    Raghav

    Sunday, August 25, 2019 5:09 AM