Troubleshooting
Problem
When big shared business objects are used by long living processes and are saved frequently, then the DB tables for persisting these changes may grow quite large.
Symptom
DB tables BPM_SHARED_OBJECT_INSTANCE and BPM_SHARED_OBJECT_VALUE have big size
Cause
Imagine an environment where these 5 conditions are met:
- Shared objects are used by a business process
- The shared objects are big
- Frequent changes are done to the shared objects
- There are many instances of the business process
- The business process instances have a long life time
In addition, the table BPM_SHARED_OBJECT_VALUE which keeps track of the actual deltas between changes may grow large as well.
Note: A completed process instance is kept in the system until it is finally deleted, so the life time does not end with the completion but rather with the deletion of the process instance.
Diagnosing The Problem
DB tables BPM_SHARED_OBJECT_INSTANCE and BPM_SHARED_OBJECT_VALUE have many records and a big size.
Resolving The Problem
There is no way to purge older versions of a business object without endangering consistency of the persisted data.
Therefore, the only way is to avoid that all of the 5 conditions described above are met at the same time.
For example, if shared objects are used in processes having a long life time and doing a huge number of updates, but the size of the shared objects is small, then the size of the DB will still grow, but not too much since the size of the objects is small.
If the process has a short life time, all shared objects created by the process instance will get removed from the DB when the process instance is deleted. But be aware that deleting a shared object that is still used by another process instance may lead to errors in the other process instance, due to the invalid reference to the no longer existing object.
If the number of updates is small, the size of the DB does still grow, but not too much since the number of objects is small.
To achieve smallest growth of the DB, it is helpful to model small shared objects, and to use them in processes with short life time, and to do only a small number of updates.
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21657331