Click HERE to see how Saviynt Intelligence is transforming the industry. |
08/29/2023 04:27 AM
Hello Experts,
I'm trying to import user from a Database but encountering the error mentioned below. No other jobs are running concurrently and the job status for user import shows successful which is quite misleading.
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.304449823Z stdout F 2023-08-29 11:13:03,304 [quartzScheduler_Worker-5] DEBUG services.JobManagementGuardRailService - validateRunningJobOfDifferentType result : true"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.304474825Z stdout F 2023-08-29 11:13:03,304 [quartzScheduler_Worker-5] DEBUG services.JobManagementGuardRailService - Inside allowUserImportJob"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.304478325Z stdout F 2023-08-29 11:13:03,304 [quartzScheduler_Worker-5] DEBUG services.JobManagementGuardRailService - UserImportJobList : UserImportJob,UserImportFullJob,UserImportIncrementalJob,SchemaUserJob"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.307160298Z stdout F 2023-08-29 11:13:03,307 [quartzScheduler_Worker-5] DEBUG services.JobManagementGuardRailService - BLOCK_CONCURRENT_EXECUTION_OF_USERIMPORT_JOBS : 1"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.3071848Z stdout F 2023-08-29 11:13:03,307 [quartzScheduler_Worker-5] DEBUG services.JobManagementGuardRailService - UserImportJob is available in UserImportJobs"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.307452117Z stdout F 2023-08-29 11:13:03,307 [quartzScheduler_Worker-5] ERROR services.JobManagementGuardRailService - Error executing validateConflictingJob"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.307473719Z stdout F java.lang.NullPointerException"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.307477219Z stdout F at java.lang.String.contains(String.java:2133)"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.307479719Z stdout F at com.saviynt.ecm.services.JobManagementGuardRailService$_allowUserImportJob_closure5.doCall(JobManagementGuardRailService.groovy:158)"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.307482719Z stdout F at com.saviynt.ecm.services.JobManagementGuardRailService.allowUserImportJob(JobManagementGuardRailService.groovy:157)"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.307484819Z stdout F at com.saviynt.ecm.services.JobManagementGuardRailService.validateConflictingJob(JobManagementGuardRailService.groovy:126)"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.30748702Z stdout F at UserImportJob.execute(UserImportJob.groovy:30)"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.30748912Z stdout F at org.quartz.core.JobRunShell.run(JobRunShell.java:199)"
"ecm-worker","2023-08-29T11:13:03.658+00:00","2023-08-29T11:13:03.30749142Z stdout F at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)"
Any suggestions to solve this issue?
Thanks
Solved! Go to Solution.
08/29/2023 07:44 AM
Hi @Ankky ,
Just to avoid any misleading configurations or running job, have you tried to restart the application and run the job ? Can you also provide full details logs to help you investigate ?
08/29/2023 08:24 AM
Hi @adriencosson ,
Thanks for your response.
Yes, I restarted application couple of times but the issue persists. Attaching logs.
Thanks
08/29/2023 08:33 AM
@Ankky ,
Is the behaviour different when you disable the below feature in Global Configurations ?
Also, does the job stops running directly after launching it ?
It does not look that there is a concurrent job as we get the below log :
"Only one instance is running.. Trigger Name : Staff_HR_Full_User_Import""
You can get more logs from the import by adding the below JSON in "ConfigJSON" of your connector :
{"showLogs":true}
08/29/2023 08:55 AM
I don't see the null pointer after disabling the global setting but observing the below error:
2023-08-29T21:20:30+05:30-userms-2023-08-29T15:50:29.803547282Z stdout F 2023-08-29 15:50:29.803 ERROR [traceId=b623caf11307a6d4, spanId=b623caf11307a6d4, spanExportable=true, X-Span-Export=true, X-B3-SpanId=b623caf11307a6d4, TENANT_ID=DEFAULT, X-B3-TraceId=b623caf11307a6d4] 7 --- [http-nio-8480-exec-8] o.s.c.s.i.web.ExceptionLoggingFilter : Uncaught exception thrown|org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe| at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) ~[tomcat-embed-core-9.0.54.jar!/:na]| at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) ~[tomcat-embed-core-9.0.54.jar!/:na]| at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) ~[tomcat-embed-core-9.0.54.jar!/:na]| at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) ~[tomcat-embed-core-9.0.54.jar!/:na]| at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) ~[tomcat-embed-core-9.0.54.jar!/:na]| at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) ~[tomcat-embed-core-9.0.54.jar!/:na]|Caused by: java.io.IOException: Broken pipe| at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:na]| at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[na:na]| at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:113) ~[na:na]| at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:79) ~[na:na]| at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:50) ~[na:na]| at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:462) ~[na:na]|
Also, I couldn't locate "ConfigJSON" in the connector (DB Connector), could you please provide a screenshot on where to find it.
Thank you!
08/29/2023 10:14 AM
Hi @Ankky ,
Can you set Timeout in the DB URL of your connection and check once. What type of DB you are using?
To define SQL Server timeout, use the format similar to the following: jdbc:jtds:sqlserver://<ip_address>/<db_name>;instance=<SQLserver_name>;loginTimeout=5;socketTimeout=30000
09/01/2023 03:07 AM - edited 09/05/2023 03:24 AM
Hello @pmahalle,
I am using SQL Server and the problem persists even after setting timeout. I'm able to see (in the logs) that the connector is able to fetch values from database but it is not able to create the identity.
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.422794338Z stdout F 2023-09-01 10:17:37,422 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - record# 1 -- row ::: 7 :: 7"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.42282354Z stdout F 2023-09-01 10:17:37,422 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Proceed to Import for records - > [0162904, Chris, 1, 0000201, 1, M0000201, Mike] : true"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.422848242Z stdout F 2023-09-01 10:17:37,422 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - user not found in map.. fetching.."
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.422855342Z stdout F 2023-09-01 10:17:37,422 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Executing query select userkey as userkey from users where username = :reconvalue , reconvalue=W0000201"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435953205Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Existing users in the system: 0"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435980207Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Number of Records in Feed = 1"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435983207Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Distinct users in feed = 1"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435985407Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Active Users not in feed = -1"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435987808Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Number of Users inserted = 0"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435989908Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Number of Users updated = 0"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435992108Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Number of Users inactivated = 0"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.435994408Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] DEBUG services.ImportSAvDataUserService - Total Number of Users= 0"
"ecm-worker","2023-09-01T10:17:37.898+00:00","2023-09-01T10:17:37.436014209Z stdout F 2023-09-01 10:17:37,435 [quartzScheduler_Worker-1] ERROR services.ImportSAvDataUserService - Error in Users Import - Import failed as no Users were inserted or updated"
Thanks,
Ankky
09/07/2023 05:20 AM
Posting the solution as it might help someone-
If you want to use DB connector for both create and update operations, then don't keep <userOperationsAllowed> in the import settings (import user XML).