Managing request IDs in distributed environments


The information in this topic is applicable only for on-premises deployments.

The request ID is the piece of data that you are most likely to use to identify and track requests. It should be unique. In AR System, requests generated on the same server have unique IDs. But requests generated on different servers might have identical IDs. Such duplicate request IDs create conflicts when requests are transferred or shared between servers in distributed environments.

Preventing duplicate request IDs

The best way to avoid creating duplicate request IDs in a distributed environment is to assign server-specific prefixes to request IDs. For example, you might add the prefix SAN to the IDs of all requests created on the sanfrancisco server. For information about assigning prefixes to request IDs, see Changing-the-Request-ID-field-length-or-prefix.

Handling duplicate request IDs

The Distributed Server Option performs one of these actions when it encounters duplicate request IDs:

  • Generates an error message and does not perform the distributed operation
  • Generates a new request ID for the newer copy of the request
  • Overwrites the older copy of the request with the newer copy
    By default, the overwrite action updates only the mapped fields on the target request, but you can configure this action to update all the fields on the target request.
    See Overwriting-all-fields-in-duplicate-requests.
    When you create a distributed mapping, you must specify how it handles duplicate request IDs. If possible, treat all mappings the same. Using different strategies can cause administrative problems when data is tracked.

Using qualifications to match requests

By default, DSO uses request IDs to match requests in source forms with requests in target forms. You can, however, use qualifications based on fields in the source and target forms. (See Creating-distributed-mappings.) For example, matching qualifications are useful when you do not want to use request ID prefixes to distinguish requests from one another. In this case, use a data field other than Request ID that uniquely identifies each request. AR System can use that field to match a request in the target form (if one exists) with one in the source form.

You should create a unique index on the data field used to distinguish one request from another.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*