and more in a single search tool across platforms. Read the announcement here. |
12/28/2023 09:03 PM - edited 01/02/2024 04:28 PM
Hi, looking for some guidance around an issue with a custom jar to do some preprocessing in a connector using the modifyuserjson. I've uploaded the jar and restarted the server from the ui a few times. When I run the job I get the following error:
"2023-12-29T04:25:54.254+00:00","ecm-worker","services.ImportSAvDataUserService","quartzScheduler_Worker-4-ldbp9","DEBUG","Invoking custom preprocess method..."
"2023-12-29T04:25:54.254+00:00","ecm-worker","services.ImportSAvDataUserService","quartzScheduler_Worker-4-ldbp9","DEBUG","Parameters: (Connection connection, Map tempTableNamesMap)"
"2023-12-29T04:25:54.254+00:00","ecm-worker","services.ImportSAvDataUserService","quartzScheduler_Worker-4-ldbp9","DEBUG","tempTableNamesMap= [CURRENTACCOUNTS:TEMPACCOUNTS_6643, NEWUSERDATA:TEMPNEWUSERS_6643, CURRENTUSERS:TEMPUSERS_6643]"
"2023-12-29T04:25:54.258+00:00","ecm-worker","services.ImportSAvDataUserService","quartzScheduler_Worker-4-ldbp9","ERROR","Error while processing data: "
"2023-12-29T04:25:54.499+00:00","ecm-worker","","null-ldbp9","","java.lang.ClassNotFoundException: com.chrob.custom.preprocessor.Transformation at java.lang.Class.forName(Class.java:348) at com.saviynt.ecm.services.ImportSAvDataUserService.callCustomPreProcessorMethod(ImportSAvDataUserService.groovy:558) at com.saviynt.ecm.services.ImportSAvDataUserService$_doImportDataPreprocessing_closure10.doCall(ImportSAvDataUserService.groovy:406) at com.saviynt.ecm.services.ImportSAvDataUserService.doImportDataPreprocessing(ImportSAvDataUserService.groovy:404) at com.saviynt.ecm.services.ImportSAvDataUserService.importDataFromFile(ImportSAvDataUserService.groovy:731) at com.saviynt.provisoning.rest.RestProvisioningService.processUsers(RestProvisioningService.groovy:3105) at com.saviynt.provisoning.workday.WorkdayUserAccountImportService.doUsersImport(WorkdayUserAccountImportService.groovy:434) at com.saviynt.provisoning.workday.WorkdayImportService.doImport(WorkdayImportService.groovy:65) at com.saviynt.provisoning.workday.WorkdayImportService.doUserImport(WorkdayImportService.groovy:36) at com.saviynt.ecm.integration.ExternalConnectionCallService.importUserUsingExternalConnection(ExternalConnectionCallService.groovy:1132) at UserImportJob.execute(UserImportJob.groovy:108) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)"
"2023-12-29T04:25:54.263+00:00","ecm-worker","services.ImportSAvDataUserService","quartzScheduler_Worker-4-ldbp9","DEBUG","Start dropTempTables"
Here is my modifyuserjson
{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME, SYSTEMUSERNAME,EMPLOYEECLASS,CUSTOMPROPERTY7,CUSTOMPROPERTY8,CUSTOMPROPERTY9,CUSTOMPROPERTY10,CUSTOMPROPERTY11,CUSTOMPROPERTY15,CUSTOMPROPERTY17,CUSTOMPROPERTY51, CUSTOMPROPERTY59, EMAIL,CUSTOMPROPERTY5,SECONDARYEMAIL, STATUSKEY, ENDDATE, FIRSTNAME, LASTNAME, CUSTOMPROPERTY58,PREFEREDFIRSTNAME,CUSTOMPROPERTY12,TERMDATE,EMPLOYEEID,EMPLOYEETYPE,DEPARTMENTNAME,JOBCODE,COMPANYNAME,COSTCENTER,LOCATION,LOCATIONNUMBER,LOCATIONDESC,COUNTRY,CUSTOMPROPERTY4,CUSTOMPROPERTY16,CUSTOMPROPERTY18,CUSTOMPROPERTY19,CUSTOMPROPERTY21,CUSTOMPROPERTY22,CUSTOMPROPERTY23,CUSTOMPROPERTY25,CUSTOMPROPERTY26,CUSTOMPROPERTY27,CUSTOMPROPERTY28,CUSTOMPROPERTY29,CUSTOMPROPERTY30,CUSTOMPROPERTY31,CUSTOMPROPERTY39,CUSTOMPROPERTY40,CUSTOMPROPERTY41,CUSTOMPROPERTY42,CUSTOMPROPERTY43,CUSTOMPROPERTY45,CUSTOMPROPERTY46,CUSTOMPROPERTY47,CUSTOMPROPERTY48,CUSTOMPROPERTY49,CUSTOMPROPERTY50 FROM USERS",
"ACCOUNTS": "SELECT NAME,ENDPOINTKEY FROM ACCOUNTS WHERE ENDPOINTKEY IN (3)"
},
"COMPUTEDCOLUMNS": [
"SYSTEMUSERNAME",
"CUSTOMPROPERTY25",
"CUSTOMPROPERTY59",
"CUSTOMPROPERTY51",
"EMAIL",
"MANAGER",
"TERMDATE",
"STATUSKEY",
"CUSTOMPROPERTY5",
"EMPLOYEECLASS",
"EMPLOYEEID",
"EMPLOYEETYPE",
"DEPARTMENTNAME",
"JOBCODE",
"COMPANYNAME",
"COSTCENTER",
"LOCATION",
"LOCATIONNUMBER",
"LOCATIONDESC",
"COUNTRY",
"CUSTOMPROPERTY4",
"CUSTOMPROPERTY7",
"CUSTOMPROPERTY8",
"CUSTOMPROPERTY9",
"CUSTOMPROPERTY10",
"CUSTOMPROPERTY11",
"CUSTOMPROPERTY15",
"CUSTOMPROPERTY16",
"CUSTOMPROPERTY17",
"CUSTOMPROPERTY18",
"CUSTOMPROPERTY19",
"CUSTOMPROPERTY21",
"CUSTOMPROPERTY22",
"CUSTOMPROPERTY23",
"CUSTOMPROPERTY26",
"CUSTOMPROPERTY27",
"CUSTOMPROPERTY28",
"CUSTOMPROPERTY29",
"CUSTOMPROPERTY30",
"CUSTOMPROPERTY31",
"CUSTOMPROPERTY39",
],
"TABLEINDEXES": {
"CURRENTUSERS": [
"username"
],
"NEWUSERDATA": [
"username"
],
"CURRENTACCOUNTS": [
"name"
]
},
"PREPROCESSQUERIES": [
"CUSTOMFUNCTION###FUNCTION1"
],
"CUSTOMFUNCTIONS": {
"FUNCTION1": {
"FULLCLASSNAME": "com.blah.custom.preprocessor.Transformation",
"METHODNAME": "removeAccents"
}
}
}
I've also attached the jar I've uploaded. Doesn't do anything other than attempt to print some logs. Do I need to restructure my package path? Not sure what I'm missing here.
12/28/2023 11:16 PM - edited 12/28/2023 11:20 PM
Please raise support ticket to ask restart from server side one time
12/29/2023 04:51 AM
I will open a support ticket for restart. Also, I previously found and reviewed that thread you linked but I am not sure what was done there to fix the issue. I looked at the two jars and the only different I saw was that the poster's jar had both the .java and .class file and the one provided by @Hemanth did not have the .java file. Is that the problem? I wouldn't think so as long as the class file is there.
@Hemanth Looks like you assisted with a similar issue before, any insight you might be able to provide here?
12/29/2023 09:59 AM
Try using same class name as per documentation
12/29/2023 10:23 AM
Seens to be an issue with the UI restart not always picking up the jar along with not actually only taking 20 mins to restart, assuming it does properly. It eventually worked after probably the 10th restart last night and then i left the system idle for 7 hours. Though, I needed to upload a new version which encountered the same error again after restart. So I have opened a support ticket to see about a back end restart, that still took 4 hours to get done. The UI restart seems to not be very reliable.
12/29/2023 10:29 AM
The initial upload of a jar does not always result in a UI restart. Hence, a backend restart is preferred; we have seen the same issue.
I hope your issue is resolved. You can close this thread