Is there a best approach to have LKPs updated via a webservice so that other web services can consume the updated lkp without restarting DQS?
I have Web Service ‘A’ which builds a dictionary file.
I also have Web Service ‘B’ which uses the dictionary built by Web Service ‘A’.
I would like to run Web Service ‘A’ so that Web Service ‘B’ is able to immediately use the updated dictionary without restarting the DQS service.
Currently when i run Web Service ‘ A’ I get a locked file issue:
26.07.2022 12:43:56 uFATAL] 2OnlineServicesComponent]LbuidTestDictionary.online]ebuidTestDictionary]abuidTestDictionary.comp] n40] Internal error occurred during run of the plan: java.nio.channels.OverlappingFileLockExceptionlSTEP Lookup BuildercLookup Builder]]
java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(Unknown Source)
at sun.nio.ch.SharedFileLockTable.add(Unknown Source)
at sun.nio.ch.FileChannelImpl.tryLock(Unknown Source)
at com.ataccama.dqc.io.storage.RafROStorage.open(RafROStorage.java:49)
at com.ataccama.dqc.tasks.common.data.table.StandaloneTableBuilder.<init>(StandaloneTableBuilder.java:103)
at com.ataccama.dqc.tasks.builders.LookupBuilder$TheInstance.runStandard(LookupBuilder.java:328)
at com.ataccama.dqc.tasks.common.hadoop.MRStepInstanceBase.run(MRStepInstanceBase.java:32)
at com.ataccama.dqc.processor.internal.runner.ComplexStepNode.runNode(ComplexStepNode.java:69)
at com.ataccama.dqc.processor.internal.runner.RunnableNode.run(RunnableNode.java:28)
at com.ataccama.dqc.commons.threads.AsyncExecutor$RunningTask.run(AsyncExecutor.java:131)
at java.lang.Thread.run(Unknown Source)
any ideas or best approaches to do this will be appreciated. I have added the location of the LKP file to the
‘versionedFile’ segement in the ServerConfig xml file and this get the same issue.
Thanks