Class ShadowCleanupActivityHandler

All Implemented Interfaces:
ActivityRunSupplier<ShadowCleanupActivityHandler.MyWorkDefinition,ShadowCleanupActivityHandler>, CandidateIdentifierFormatter, ActivityHandler<ShadowCleanupActivityHandler.MyWorkDefinition,ShadowCleanupActivityHandler>

The original idea behind this activity was to treat shadows on (asynchronous) Kafka resources that did not support "read" operation (or did that in a very limited way). So the only way how to know what shadows are really existing was to send regular account update events that would keep "fullSynchronizationTimestamp" up to date. Shadows that were not updated were considered to be dead. However, such an approach is a bit brittle. In particular, if used for a regular resource, it may be possible that such a shadow really exists. Hence, in 4.7 the behavior was changed to call explicit provisioning "getObject" operation instead of simply assuming the shadow is gone. This conflicts with the original use case, and if that should be usable again, the code would need to be improved somehow. TODO Decide on the fate of this activity (MID-8350)
Author:
skublik