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

FileListener cannot fetch source location after server restart

SA-75194

Summary



An AWS S3 Repository path is configured as the source location of a file listener. After every server restart, the FileListener aborts with an IllegalArgumentException in the logs. After resaving the Repository rule and executing Test Connectivity on it, the FileListener can be started manually and works correctly until the next server restart.


Error Messages



[fault (self-tuning)'] [STANDARD] [ ] [AoM:01.01.01] (services.file.FileListener) ERROR File.GetBatchFile ServiceUser - Unexpected exception caught during processing.
java.lang.IllegalArgumentException: Illegal characters detected in the path "repo_AWSS3:/folder/". You may not use ", ?, *, <, >, |, :
at com.pega.pegarules.priv.storage.StorageUtils.normalizeRelativePath(StorageUtils.java:233) ~[prpublic.jar:?]
at com.pega.pegarules.storage.FileStorageManager.getFile(FileStorageManager.java:474) ~[prprivcommon.jar:?] 
at com.pega.pegarules.storage.PrivilegedFileStorageManager.getFile(PrivilegedFileStorageManager.java:71) ~[prprivcommon.jar:?] 
at com.pega.pegarules.storage.PrivilegedFileStorageManager.getFile(PrivilegedFileStorageManager.java:90) ~[prprivcommon.jar:?] 
at com.pega.pegarules.integration.engine.internal.services.file.FileActionImpl.initialize(FileActionImpl.java:155) ~[printegrint.jar:?] 
at
com.pega.pegarules.integration.engine.internal.services.file.FileActionImpl.<init>(FileActionImpl.java:123) ~[printegrint.jar:?]
at 
com.pega.pegarules.integration.engine.internal.services.file.FileListener.run_(FileListener.java:441) ~[printegrint.jar:?] 
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:454) ~[printegrint.jar:?] 
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:217) ~[prprivate.jar:?] 
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:171) ~[prprivate.jar:?] 
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:331) ~[prprivate.jar:?] 
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:274) ~[prprivate.jar:?] 
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225) ~[prprivate.jar:?] 
at sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_191] 
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_191] 
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) ~[prbootstrap-7.3.1-218.jar:7.3.1-218] 
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411) ~[prbootstrap-7.3.1-218.jar:7.3.1-218] 
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224) ~[prbootstrap-api-7.3.1-218.jar:7.3.1-218]
at
.
.
.
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:670) ~[com.bea.core.weblogic.workmanager.jar:12.2.1.3] 
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) ~[com.bea.core.utils.full.jar:12.2.1.3] 
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) ~[com.bea.core.utils.full.jar:12.2.1.3] 
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) ~[com.oracle.weblogic.work.jar:12.2.1.3] 
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) ~[com.bea.core.weblogic.workmanager.jar:12.2.1.3] 
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644) ~[com.bea.core.weblogic.workmanager.jar:12.2.1.3] 
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:415) ~[com.bea.core.weblogic.workmanager.jar:12.2.1.3] 
at weblogic.work.ExecuteThread.run(ExecuteThread.java:355) ~[com.bea.core.weblogic.workmanager.jar:12.2.1.3]



Steps to Reproduce

  1. Create an AWS S3 Repository rule.
  2. Create a file listener and refer the AWS S3 bucket path source location (file://repo_AWSS3:/folder). Perform Test Connectivity (success).
  3. Restart the server.
  4. Open the listener rule and perform Test Connectivity(fail). 


Root Cause



A software use or operation error.
The configuration of a Repository record as an input location for a FileListener does not work for versions prior to Pega 7.4.



Resolution



Perform the following local-change:

Follow the instructions provided in the below link to configure the file listener associated with a storage destination.

Refer to: https://community.pega.com/knowledgebase/articles/configure-file-listener-associated-storage-destination

Published March 21, 2019 - 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?

Want to help us improve this content?

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
Contact us