Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: OpenIDM 3.1.0, OpenIDM 4.0.0, OpenIDM 4.5.0, OpenIDM 5.0.0
-
Fix Version/s: OpenIDM 5.0.0
-
Component/s: Module - Provisioner framework
-
Labels:
-
Support Ticket IDs:
-
Verified Version/s:
Description
With LiveSync running against a system endpoint whose connector is running on a Remote Connector Server, if connectivity to the Remote Connector Server is lost then a NPE is thrown for each LiveSync invocation.
Sample thread dump from OpenIDM 3.1.x. Same issue exists with later releases and the current develpment release.
INFO: Scheduled service "scheduler-service-group.db2-livesync" found, invoking. Oct 21, 2016 12:41:15 AM org.forgerock.openidm.quartz.impl.SchedulerServiceJob execute WARNING: Scheduled service "scheduler-service-group.db2-livesync" invocation reported failure: org.forgerock.json.resource.InternalServerErrorException: Failed to get OperationOptionsBuilder: null org.forgerock.openidm.quartz.impl.ExecutionException: org.forgerock.json.resource.InternalServerErrorException: Failed to get OperationOptionsBuilder: null at org.forgerock.openidm.provisioner.impl.SystemObjectSetService.execute(SystemObjectSetService.java:439) at org.forgerock.openidm.quartz.impl.SchedulerServiceJob.execute(SchedulerServiceJob.java:117) at org.quartz.core.JobRunShell.run(JobRunShell.java:223) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) Caused by: org.forgerock.json.resource.InternalServerErrorException: Failed to get OperationOptionsBuilder: null at org.forgerock.openidm.provisioner.openicf.impl.OpenICFProvisionerService.liveSynchronize(OpenICFProvisionerService.java:2328) at org.forgerock.openidm.provisioner.impl.SystemObjectSetService.liveSync(SystemObjectSetService.java:463) at org.forgerock.openidm.provisioner.impl.SystemObjectSetService.execute(SystemObjectSetService.java:434) ... 3 more Caused by: java.lang.NullPointerException at org.forgerock.openidm.provisioner.openicf.impl.OpenICFProvisionerService.liveSynchronize(OpenICFProvisionerService.java:2161) ... 5 more
Currently when the ConnectorFacade is retrieved by the LiveSync thread a null check is not performed. Hence the NPE which is being thrown when connectivity to the Remote Connector Server has been lost.