The true story about Object IDsPermanent link for this heading

Last update: 6 February 2018 (ad)

This article describes how the Fabasoft Components kernel calculates new Object IDs.

DescriptionPermanent link for this heading

When a new object is created the Fabasoft Components kernel asks the Fabasoft Components COO service for the next available Object ID.
The Object ID is the last part of the Object Address, e.g.

COO.1234.100.2.170

Object ID: 170

The Fabasoft Components COO service stores the highest Object ID for each Fabasoft Components COO store in an internal table. This counter is always incremented. Therefore the Object ID of a newly created object should normally always be higher than other objects of the same Fabasoft Components COO store.

But there are special situations where the Fabasoft Components kernel allocates more than one Object ID from the Fabasoft Components COO service and holds a local Object ID cache.

If the Fabasoft Components kernel has a valid Object ID cache for the given store, the IDs for newly created objects are always used from the cache. In this case the Fabasoft Components kernel does not ask the Fabasoft Components COO service for a new Object ID or if the cached Object ID is still valid (because he has allocated these IDs before, so that no one else can use them). This is done due to performance optimization (e.g. for importing data with Fabasoft COLD) .

The Object ID cache is persisted in the COMMITDIR of each Fabasoft Components kernel installation.

Important informationPermanent link for this heading

  • Do not manipulate the COMMITDIR because of possible unexpected behaviours or possible data loss!
  • The usage of one COMMITDIR for different Fabasoft Components kernel installations is strictly forbidden.
  • Do not delete the COMMITDIR within regular maintenance (like daily recycling the web services) as this may lead to “object id loss”. If the Object ID cache is deleted, these ID’s are lost and every Kernel instance will acquire new object id’s.
  • If you plan to clone your server with one or more Fabasoft Components kernel installations (e.g. web server) you have to make sure that all COMMITDIR directories are cleared when the Fabasoft Components kernel installations are stopped before creating the image for the roll out.

Applies toPermanent link for this heading

  • Fabasoft Folio
  • Fabasoft eGov-Suite

Download PDF

Download PDF