Problem Scenario.
I am using Splunk DB Connect 3.2 with MS SQL Server as a connection
Establishing the connection and having Splunk input from the connection are working fine
The output is also working fine if I do not enable the "Upsert"
Whenever I try to enable the "Upsert" value, the job always fails.
Below are the error messages I am receiving. Request assistance.
2020-01-19 23:50:01.109 +0530 [QuartzScheduler_Worker-26] INFO com.splunk.dbx.connector.logger.AuditLogger - operation=dboutput connection_name=localmssql_conn stanza_name=Testing state=error sql='SELECT [ID],[FirstName] FROM "OfficePOCs"."dbo"."Personsv1" WHERE ID=? ; UPDATE "OfficePOCs"."dbo"."Personsv1" SET [ID]=?,[FirstName]=? WHERE ID=?' message='uniqueKey not found in mappings'
2020-01-19 23:50:01.109 +0530 [QuartzScheduler_Worker-26] ERROR org.easybatch.core.job.BatchJob - Unable to write records
java.lang.RuntimeException: uniqueKey not found in mappings
at com.splunk.dbx.service.output.OutputServiceImpl.lambda$processUpdate$2(OutputServiceImpl.java:126)
at java.util.Optional.orElseThrow(Unknown Source)
at com.splunk.dbx.service.output.OutputServiceImpl.processUpdate(OutputServiceImpl.java:126)
at com.splunk.dbx.service.output.OutputServiceImpl.output(OutputServiceImpl.java:67)
at com.splunk.dbx.server.dboutput.recordwriter.DbOutputRecordWriter.writeRecords(DbOutputRecordWriter.java:47)
at org.easybatch.core.job.BatchJob.writeBatch(BatchJob.java:203)
at org.easybatch.core.job.BatchJob.call(BatchJob.java:79)
at org.easybatch.extensions.quartz.Job.execute(Job.java:59)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)