Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

File listener indicates failure on recovery

SA-26828

Summary



The below mentioned error repeatedly occurs when processing files for recovery using a File listener.


Error Messages



2016-07-20 03:16:55,847 [.PRPCWorkManager : 0] [ STANDARD] [ PegaRULES:07.10] ( services.file.FileListener) ERROR File.your_listener|recover your_recovery_name - Recovery aborted for file [your_filename.your_uniqueid.your_file_extension]
com.pega.pegarules.pub.PRException: Expected exactly one instance for [your_uniqueid], found 0.
From: (application_requestor:your_service_package)
at com.pega.pegarules.integration.engine.internal.services.file.LogServiceFile.lockAndLoad(LogServiceFile.java:315)
at com.pega.pegarules.integration.engine.internal.services.file.LogServiceFile.lockAndLoad(LogServiceFile.java:262)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.needsRecovery(FileListener.java:1380)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.recoverOne(FileListener.java:1454)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.recovery(FileListener.java:1728)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.run_(FileListener.java:1900)
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:453)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:213)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:167)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:338)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:379)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:216)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException(AppServerBridgeToPega.java:238)
at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168)
at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.invokeEngine(Unknown Source)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest(PRAsync.java:155)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.AsyncTask.run(AsyncTask.java:64)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.RunnableWrapper.run(RunnableWrapper.java:71)
at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:270)
at java.security.AccessController.doPrivileged(AccessController.java:277)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:796)
at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:206)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1865)


Steps to Reproduce



Not Applicable


Root Cause



A defect or configuration issue in the operating environment.

In this environment, there are a set of files in the File Listener directory used for recovery that have no corresponding entry in LOG-SERVICE-FILE.

Normal processing cannot account for this. Either the files were copied from another location or the LOG-SERVICE-FILE entries were removed from the pr_log table.

Resolution



Remove the files from the File Listener working directory, or rename them and copy them to the File Listener input directory to be reprocessed.

​This way when these files are processed again, entries in LOG-SERVICE-FILE will be created allowing recovery on files that are not processed successfully.

 

Published August 22, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice