Is that possible to have partial success batch request?

EMA: Is that possible to have partial success batch request? i.e., only part of the RICs were subscribed successfully.

Furthermore, what's the status message will be received in such case?

And except for the 'Closed ACK' status message for the normal batch response, any other response or exception will be received for the batch request? the reason to ask this, is to find an approach to justify if the batch request succeed or no needed to do so.

Best Answer

  • umer.nalla
    Answer ✓

    Hi @Frederic

    Once the ADS receives a batch request, it is quite possible that some of the items in the Batch may be rejected e.g. if some of the RICs no longer exist, are invalid or if the user is not licenced for some of the RICs etc.

    So, for example, if I make a Batch request for 3 items - of which 2 are invalid RICs, I still get back:

    {
        "ID":2,
        "State":{
          "Data":"Ok",
          "Stream":"Closed",
          "Text":"Processed 3 total items from Batch Request.  3 Ok."
        },
        "Type":"Status"
      },

    Naturally, I only receive data (Refresh+Updates) for the correct item. For the two invalid Items, I get back a StatusMsg e.g.

     {
        "ID":4,
        "Key":{
          "Name":"TEST.TST",
          "Service":"ELEKTRON_DD"
        },
        "State":{
          "Code":"NotFound",
          "Data":"Suspect",
          "Stream":"Closed",
          "Text":"***The record could not be found"
        },
        "Type":"Status"
      }
    ]
    RCVD:
    [
      {
        "ID":5,
        "Key":{
          "Name":"FRED.X",
          "Service":"ELEKTRON_DD"
        },
        "State":{
          "Code":"NotFound",
          "Data":"Suspect",
          "Stream":"Closed",
          "Text":"***The record could not be found"
        },
        "Type":"Status"
      }

    Once the ADS receives a Batch request, it attempts to create a unique Item Stream for each Item in the Batch.


Answers

  • Hi @Frederic

    To confirm just how successful the Batch request was, you could count how many Refresh messages you get back + the number of Closed StatusMsgs you get back. Once the total of these matches the size of your Batch request, you can determine the success rate of the Batch.