Hi all, I'm currently evaluating Apache Syncope for my institution and have setup a connector server with a csvdir bundle installed. After setting up the connector and adding the resource I want to start a pull task to see if it is working. The Problem is that the execution of the pull tasks always errors out with the following stacktrace<https://pastebin.com/Wfgat5Q0>:
org.quartz.JobExecutionException: While pulling from connector [See nested exception: org.identityconnectors.framework.impl.api.remote.RemoteWrappedException: org.identityconnectors.framework.common.exceptions.ConnectorIOException: java.lang.IllegalStateException: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: USER_EX10716 in statement [SELECT * FROM USER_EX10716]] at org.apache.syncope.core.provisioning.java.pushpull.PullJobDelegate.doExecuteProvisioning(PullJobDelegate.java:385) at org.apache.syncope.core.provisioning.java.pushpull.PullJobDelegate.doExecuteProvisioning(PullJobDelegate.java:78) at org.apache.syncope.core.provisioning.java.pushpull.AbstractProvisioningJobDelegate.doExecute(AbstractProvisioningJobDelegate.java:702) at org.apache.syncope.core.provisioning.java.job.AbstractSchedTaskJobDelegate.execute(AbstractSchedTaskJobDelegate.java:155) Which I think comes from a HSQLD used by the connector? I'm on my wit's end about it and would greatly appreciate if someone could point me towards a solution. Thank you --- Some more hopefully helpful information --- Connector: [ { "key": "018b38c5-07b2-7d6a-a08c-e706f3745cda", "errored": false, "adminRealm": "/", "location": "connids://*****@127.0.0.1:8759?trustAllCerts=true", "connectorName": "net.tirasa.connid.bundles.csvdir.CSVDirConnector", "bundleName": "net.tirasa.connid.bundles.csvdir", "version": "0.8.9", "conf": [ { "schema": { "name": "sourcePath", "displayName": "Source path", "helpMessage": "Absolute path of a directory where the CSV files to be processed are located", "type": "java.lang.String", "required": true, "order": 1, "confidential": false, "defaultValues": [] }, "values": [ "/Filepath/" ], "overridable": false }, { "schema": { "name": "fileMask", "displayName": "File mask", "helpMessage": "Regular expression describing files to be processed", "type": "java.lang.String", "required": true, "order": 2, "confidential": false, "defaultValues": [] }, "values": [ "fileName.csv" ], "overridable": false }, { "schema": { "name": "encoding", "displayName": "File encoding", "helpMessage": "Basic encoding of the file", "type": "java.lang.String", "required": false, "order": 3, "confidential": false, "defaultValues": [ "UTF-8" ] }, "values": [ "UTF-8" ], "overridable": false }, { "schema": { "name": "fieldDelimiter", "displayName": "Field delimiter", "helpMessage": "Delimiter used to separate fields in CSV files. Default is \",\".", "type": "char", "required": false, "order": 4, "confidential": false, "defaultValues": [ "," ] }, "values": [ "§" ], "overridable": false }, { "schema": { "name": "textQualifier", "displayName": "Text qualifier", "helpMessage": "Delimiter to determine beginning and end of text in value. Default is \".", "type": "char", "required": false, "order": 5, "confidential": false, "defaultValues": [ "\"" ] }, "values": [ "\"" ], "overridable": false }, { "schema": { "name": "keyColumnNames", "displayName": "Key column name", "helpMessage": "Name of the column used to identify user uniquely", "type": "[Ljava.lang.String;", "required": true, "order": 6, "confidential": false, "defaultValues": [] }, "values": [ "campusnet_id", "studyid" ], "overridable": false }, { "schema": { "name": "passwordColumnName", "displayName": "Password column name", "helpMessage": "Name of the column used to specify user password", "type": "java.lang.String", "required": false, "order": 7, "confidential": false, "defaultValues": [] }, "values": [], "overridable": false }, { "schema": { "name": "deleteColumnName", "displayName": "Delete column name", "helpMessage": "Name of the column used to specify users to be deleted", "type": "java.lang.String", "required": false, "order": 8, "confidential": false, "defaultValues": [] }, "values": [], "overridable": false }, { "schema": { "name": "quotationRequired", "displayName": "Value quotation required", "helpMessage": "Specify if value quotation is required. Default is true.", "type": "java.lang.Boolean", "required": false, "order": 9, "confidential": false, "defaultValues": [ true ] }, "values": [ "false" ], "overridable": false }, { "schema": { "name": "fields", "displayName": "Column names", "helpMessage": "Column names", "type": "[Ljava.lang.String;", "required": true, "order": 10, "confidential": false, "defaultValues": [] }, "values": [ "Matr.Nr.", "Nachname", "Vorname", "Gs", "WahlFB", "Semester", "RMdatum", "Mittelname", "Titel", "Geburtsname", "NamePrefix", "NameAdd", "Geburtsdatum", "ErstSem", "Strasse", "PLZ", "Ort", "Land", "campusnet_id", "initpin", "studyid", "WahlFS", "Fach1", "Fachsem1", "Fach2", "Fachsem2", "Fach3", "Fachsem3", "Fach4", "Fachsem4", "akteurtyp" ], "overridable": false }, { "schema": { "name": "ignoreHeader", "displayName": "Ignore header", "helpMessage": "Specify if first line of the file must be ignored. Default is true.", "type": "java.lang.Boolean", "required": false, "order": 11, "confidential": false, "defaultValues": [ true ] }, "values": [ "true" ], "overridable": false }, { "schema": { "name": "keyseparator", "displayName": "Key separator", "helpMessage": "Character used to separate keys in a multi-key scenario. Default is \",\".", "type": "java.lang.String", "required": false, "order": 12, "confidential": false, "defaultValues": [ "," ] }, "values": [ "," ], "overridable": false }, { "schema": { "name": "multivalueSeparator", "displayName": "Multi value separator", "helpMessage": "Character used to separate values in a multi-value scenario. Multivalue unsupported if not provided.", "type": "java.lang.String", "required": false, "order": 13, "confidential": false, "defaultValues": [] }, "values": [], "overridable": false }, { "schema": { "name": "defaultStatusValue", "displayName": "Default Status Value", "helpMessage": "Enter the value for status in case of status not specified. Default is \"true\".", "type": "java.lang.String", "required": false, "order": 14, "confidential": false, "defaultValues": [ "true" ] }, "values": [ "true" ], "overridable": false }, { "schema": { "name": "disabledStatusValue", "displayName": "Disabled Status Value", "helpMessage": "Specify a value for disabled status. Default is \"false\".", "type": "java.lang.String", "required": false, "order": 15, "confidential": false, "defaultValues": [ "false" ] }, "values": [ "false" ], "overridable": false }, { "schema": { "name": "enabledStatusValue", "displayName": "Enable Status Value", "helpMessage": "Specify a value for enabled status. Default is \"true\".", "type": "java.lang.String", "required": false, "order": 16, "confidential": false, "defaultValues": [ "true" ] }, "values": [ "true" ], "overridable": false }, { "schema": { "name": "statusColumn", "displayName": "Status Column name", "helpMessage": "Status column name.", "type": "java.lang.String", "required": false, "order": 17, "confidential": false, "defaultValues": [] }, "values": [], "overridable": false }, { "schema": { "name": "objectClassColumn", "displayName": "ObjectClass Column Name", "helpMessage": "Column name identifying identity record type", "type": "java.lang.String", "required": false, "order": 18, "confidential": false, "defaultValues": [] }, "values": [], "overridable": false }, { "schema": { "name": "objectClass", "displayName": "Supported Object Classes", "helpMessage": "Supported object classes (__ACCOUNT__ as default if empty)", "type": "[Ljava.lang.String;", "required": false, "order": 19, "confidential": false, "defaultValues": [ "__ACCOUNT__" ] }, "values": [ "CONTRACT" ], "overridable": false } ], "capabilities": [ "SEARCH" ], "displayName": "remoteCSV", "connRequestTimeout": 10, "poolConf": null } ] Pulltask: { "prev": null, "next": null, "result": [ { "_class": "org.apache.syncope.common.lib.to.PullTaskTO", "key": "018b4347-f95c-7a42-bcbd-ef19f28934fb", "start": "2023-10-18T16:54:37.881+02:00", "end": "2023-10-18T16:54:38.058+02:00", "latestExecStatus": "FAILURE", "lastExecutor": "admin", "executions": [ { "start": "2023-10-18T16:54:37.881+02:00", "end": "2023-10-18T16:54:38.058+02:00", "key": "018b4348-0f39-7306-8fef-328f11f795fb", "jobType": "TASK", "refKey": "018b4347-f95c-7a42-bcbd-ef19f28934fb", "refDesc": "PULL Task 018b4347-f95c-7a42-bcbd-ef19f28934fb FullRecoPull", "status": "FAILURE", "message": "very long stacktrace", "executor": "admin" } ], "startAt": null, "cronExpression": null, "jobDelegate": null, "name": "FullRecoPull", "description": null, "lastExec": "2023-10-18T16:54:37.881+02:00", "nextExec": null, "active": true, "resource": "TUCaNImportCSV", "performCreate": true, "performUpdate": true, "performDelete": false, "syncStatus": false, "unmatchingRule": "IGNORE", "matchingRule": "UPDATE", "actions": [], "concurrentSettings": null, "pullMode": "FULL_RECONCILIATION", "reconFilterBuilder": null, "destinationRealm": "/", "remediation": false, "templates": {} } ], "page": 1, "size": 1, "totalCount": 1 }