According to the 1.2 version of DSP1054, the sequence number property should be reset to 0 when the sequence context changes. The context changes when a new destination is created, or when the cimom is restarted. Currently we are handling the new destination, however we are setting the initial indication to 1 and not 0. In the case where the cimom is restarted, we are not resetting the number at all.
It stands to reason that when the context is wrapped, it should also go to 0 and not 1.
From the spec:
2307 NOTE The CIM schema definition of CIM_Indication class requires for the SequenceNumber property in the
2308 stream of instances processed through a particular listener destination, that the value starts at 0 whenever
2309 the value of the SequenceContext property changes.
GIT patch
CVS patch
The attached patches implement 2 things, setting the starting sequence number to 0 instead of 1, and the reset of all handler instances when sfcb starts.
While this fixes the issue, it does expose a potential optimization. Since the sequence number doesn't need to be preserved over sfcb restart, it doesn't actually need to be in the repository on disk. We could just update the in memory hashtable on every indication and save the repository write, as well as remove the need to reset the values on start. Opening a new item to track that work item.