User Indexing Mechanism

DPTK is using a scheduled background job to pseudonymize users. This job will index users together with their respective pseudonymization status for processing. The user index is stored on the file system in DPTK_CONFIG_PATH/dptk-userstate-store. Check the DPTK User Store documentation for more information.

Note : In user store only user Guid and user status (Active/Inactive) are stored which is relevant to the DPTK pseudonymization process ,No other user personal information is stored

For information about the jobs’ latest runs and the users scheduled for pseudonymization, please use the DPTK UI via URL HOSTNAME/dptk/#/pseudonymizations. The ‘Show Statistics’ option will provide a history for the executed pseudonymization jobs, while the results table will illustrate all users currently in scope for pseudonymization.

Troubleshooting

In case the history seems outdated or users that should be scheduled for pseudonymization aren’t appearing in the mentioned DPTK UI in due time the DPTK log files can provide useful information about the processing and can hint at potentially encountered issues. Important log messages to verify correct processing are listed below.

To check log please follow below steps:

  • Goto websphere console
  • Select Troubleshooting > Logging and tracing > DPTKCluster_server1 > Diagnostic trace service > Change log detail levels
  • Add com.ibm.ess.ic.dptk.scheduling.jobs package in runtime as shown in below screenshot
  • scheduling-job-logs

In DPTK for profile pseudonymization certain operation is performed for user profiles.

  • All users are fetched from profile DB.
  • Iterate over all fetched users.
com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization Processing {index} of {number of profiles} profiles
 
com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization Processing user '{userGuid}'
  • Check if user is already added to user store
com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization User '{user}' should be added to the store

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization User '{userGuid}' was updated recently '{updatedtime}' - it should be synched!
  • Check if user status is active/inactive:

1). if status is active do not perform pseudonymization

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization User '{userGuid}' is active, there is no need to evaluate the pseudonymization

2). if status is inactive - add to users to pseudonymize with grace period

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization User '{userGuid}' is inactive and should be pseudonymized.

3). if active but was inactive before - update, remove grace period,Sync Time, etc as well set pseudonymization status false

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization Set synch status for user '{userGuid}' back to active.

4). if user inactive and grace period exceeded - set pseudonymization status true and pseudonymize user

5). if user is already pseudonymized then no pseudonymization is performed.

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob shouldPseudonymize false - user already pseudonymized

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization User '{userGuid}' is inactive, but not eligible for pseudonymization

6). if user is excluded from pseudonymization then no pseudonymization is performed

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob shouldPseudonymize < false - user is excluded from pseudonymization

com.ibm.ess.ic.dptk.scheduling.jobs.AnonymizeSchedulingJob performAnonymization User '{userGuid}' is inactive, but not eligible for pseudonymization