The objects of a persistent state service do not get processed.

Problem

Persistent state objects of a service do not get processed anymore.

Solution 1

Check if the related service is still up and running. If not, restart the service.

Solution 2

Transfer the service to another Bridge (e.g. by service export and re-deployment).
In this case, you also need to transfer file PersistentState.tab from the service directory (<your Bridge data directory>/<service directory>) to the new location. This file contains the actual owner ID of the service. If not present, a new owner ID will be assigned and all objects with the old owner ID will still be stalled.

Refer to Persistent State Ownership for more details on the ownership concepts.

How to find out the owner ID of a persistent state object?

Problem

You need to find out the owner ID of a persistent state service or object.
Refer to Persistent State Ownership for more information on the concepts of persistent state ownership.

Solution 1: Find out the owner ID of a persistent state service

To find out the owner ID of a persistent state service:

  • Go to Manage Ownership on the Persistent State tab of the service on the Bridge. The owner ID is listed there (own owner ID).

  • In a Load Balancing scenario in which multiple services share the same objects, go to Manage Ownership on the Persistent State tab of one of the other services. The owner IDs of all services owning objects are listed in a table, together with service name and host.

  • Have a look at file PersistentState.tab from the service directory (<your Bridge data directory>/<service directory>). This file states the owner ID.

    <PersistentState><OwnerId>1</OwnerId></PersistentState>

Solution 2: Find out the owner ID of a dedicated persistent state object

To find out the owner ID of a dedicated persistent state object:

  1. Go to the Persistent State tab of the service.

    In a Load Balancing scenario, you can also go to the Persistent State tab of one of the other services sharing the same objects. This is helpful, if the original service is not accessible.

  2. Retrieve the object in question - either with the Primary Key Search or via listing all objects. If doing the latter, click on the primary key of the object to view the object details.
  3. The owner ID is displayed in the topmost section:

How can I make a another service process my persistent state objects?

Problem

A persistent state service cannot process its objects anymore, e.g. due to a system failure. You need this objects to be processed now.

Solution

Run the service on another system:

  • Transfer the service to another Bridge (e.g. by service export and re-deployment).
    In this case, you also need to transfer file PersistentState.tab from the service directory (<your Bridge data directory>/<service directory>) to the new location. This file contains the actual owner ID of the service. If not present, a new owner ID will be assigned and all objects with the old owner ID will still be stalled.
  • Alternatively, you can redeploy the repository to a different system from development.
    The redundant service can take over the processing of the persistent state objects, but will not do this automatically. To enable it to identify the persistent state objects to process, you need to do the following:
    1. Find out the owner ID of the second service.
      How to to this is described in section Find out the owner ID of a persistent state service.
    2. Change the owner ID of the existing objects to the new owner ID.
      This can be done on the Persistent State tab of the Bridge with button Manage Ownership, see Persistent State Ownership.

Refer to Persistent State Ownership for more details on the ownership concepts.

In a load balancing scenario, only part of the objects get processed.

Problem

In a Load Balancing scenario in which multiple services share the same objects, some of the objects do not get processed.

Solution 1

Check, if all services that are part of the setup are up and running. Restart stopped services, if necessary.

Solution 2

If the service that should process the objects cannot easily be restarted, but you need these objects to be processed now, you can make one of the redundant services take over processing. Therefore, you need to change the owner ID of the objects in question as described in Persistent State Ownership.

Find out if an object will be processed.

Problem

In a Load Balancing scenario, in which multiple services share the same objects, some of the objects do not get processed. You want to find out if a given object will be processed or not.

Solution

  1. Find out the owner ID of the service that is not working properly as described in section Find out the owner ID of a persistent state service.
  2. Compare this owner ID to the owner ID of the object in question. You can lookup the owner ID of a dedicated object as described in section Find out the owner ID of a dedicated persistent state object.

If the owner ID of the object matches the owner ID of the service, the object will not be processed.


  • No labels