Following trace settings should be applied in order to trace down server-side errors:
*=info: com.ibm.ess.ic.dptk.ui.api.*=fine: com.ibm.ess.ic.dptk.scheduling.jobs.*=fine
Problem: Data Privacy Toolkit scheduled jobs are running multiple times or commonly known as duplicate EJB timer issue.
Reason: The old scheduled jobs ( EJB timers ) are not being deleted when new ones are created.
Solution: We need to cancel/delete the existing EJB timers set for Data Privacy Toolkit. Once the EJB timers related to Data Privacy Toolkit are deleted restart the server where Data Privacy Toolkit is installed. Please follow the below steps for deleting existing EJB timers set for Data Privacy Toolkit
Step 1: Enter the WebSphere administrative console (e.g.: https://your.dmgr.host:9043/ibm/console) and navigate to Servers > Server Types > WebSphere application servers and find the server on which Data Privacy Toolkit is installed. For example DPTKCluster_server1 in our case.
Step 2: Open a terminal and connect to the server where Data Privacy Toolkit is deployed. Change directory to AppSrv01/bin
ssh <youruser>@target-machine cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
Step 3: Find all the scheduled jobs ( EJB timers ) for the server where Data Privacy Toolkit is deployed by running the below command. Replace the DPTKCluster_server1 with your server name where Data Privacy Toolkit is deployed. Try the same command with sudo if Permission denied.
For linux based systems
./findEJBTimers.sh DPTKCluster_server1 -all
For windows based systems
./findEJBTimers.bat DPTKCluster_server1 -all
This will prompt for username & password. Use same login details used to login to WebSphere administrative console. After successful authentication it will display the EJB timers set for the server where Data Privacy Toolkit is deployed.
Note: If Data Privacy Toolkit is the only thing installed on that particular server (DPTKCluster_server1) then all the listed scheduled jobs ( EJB timers ) belong to Data Privacy Toolkit otherwise there might be additional scheduled jobs ( EJB timers ) present from different application installed on the same server.
Step 4: If Data Privacy Toolkit is the only thing installed on that particular server we can delete all it’s scheduled jobs ( EJB timers ) at once by running the following command. Replace the DPTKCluster_server1 with your server name where Data Privacy Toolkit is deployed.
For linux based systems
./cancelEJBTimer.sh DPTKCluster_server1 -all
For windows based systems
./cancelEJBTimer.bat DPTKCluster_server1 -all
If there are other application/applications deployed along with Data Privacy Toolkit then it would be best to remove the Data Privacy Toolkit’s scheduled jobs ( EJB timers ) individually. For this we can use the below command for each of the Data Privacy Toolkit’s scheduled jobs ( EJB timers ). Replace the TIMER_ID with id obtained in step 3 ( TIMER_ID is 602 in my example case ).
For linux based systems
./cancelEJBTimer.sh DPTKCluster_server1 -timer TIMER_ID
For windows based systems
./cancelEJBTimer.bat DPTKCluster_server1 -timer TIMER_ID
Step 5: List all the scheduled jobs ( EJB timers ) once again as shown in step 3. The deleted timers should be missing from the list.
Step 6: Enter the WebSphere administrative console (e.g.: https://your.dmgr.host:9043/ibm/console) and navigate to Servers > Server Types > WebSphere application servers and find the server on which Data Privacy Toolkit is installed. For example DPTKCluster_server1 in our case. Select the checkbox on the left and click restart button on top to restart the server.
Step 7: Once the server is back online, list all it’s scheduled jobs ( EJB timers ) as shown in step 3. This should create the scheduled jobs ( EJB timers ) for Data Privacy Toolkit without any duplicates.