Question
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689989000/e5145551-32e3-4761-8c2f-90a03cb781e9.png?itok=TfxCVdJN)
Mercedes Benz Mobility
DE
Last activity: 7 Aug 2023 10:35 EDT
com.pega.pegarules.pub.context.StaleThreadError: Thread has been recycled
Hi Team,
Recently we have upgraded our Pega platform from V7.2.2 to V8.4.1 and post upgrade, we are observing below exception in the logs. can you please help us to understand on which scenario this exception occurs and how can we resolve that?
Hi Team,
Recently we have upgraded our Pega platform from V7.2.2 to V8.4.1 and post upgrade, we are observing below exception in the logs. can you please help us to understand on which scenario this exception occurs and how can we resolve that?
[on-delegator-pool-13] [ STANDARD] [ ] [ ] ( mgmt.base.ThreadData) ERROR - Trying to use a recycled thread com.pega.pegarules.pub.context.StaleThreadError: Thread has been recycled at com.pega.pegarules.session.internal.mgmt.base.ThreadData.validateUse(ThreadData.java:840) ~[prprivate-session.jar:?] at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.validateUse(PRThreadImpl.java:193) ~[prprivate-session.jar:?] at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.getDatabase(PRThreadImpl.java:345) ~[prprivate-session.jar:?] at com.pega.pegarules.data.internal.sqlapi.resolve.NativeSQLAPIResolver.resolveDBRelatedInfo(NativeSQLAPIResolver.java:1052) ~[prprivate-data.jar:?] at com.pega.pegarules.data.internal.sqlapi.resolve.NativeSQLAPIResolver.resolve(NativeSQLAPIResolver.java:120) ~[prprivate-data.jar:?] at com.pega.dsm.dnode.util.NativeSQLBatchReader.<init>(NativeSQLBatchReader.java:94) ~[d-node.jar:?] at com.pega.dsm.dnode.util.NativeSQLBatchReader.<init>(NativeSQLBatchReader.java:98) ~[d-node.jar:?] at com.pega.dsm.dnode.util.NativeSQLBatchReader.<init>(NativeSQLBatchReader.java:102) ~[d-node.jar:?] at com.pega.dsm.dnode.impl.dataflow.service.persistence.db.PersistenceDbUtils$1.emit(PersistenceDbUtils.java:239) ~[d-node.jar:?] at com.pega.dsm.dnode.impl.stream.DataObservableImpl$SafeDataSubscriber.subscribe(DataObservableImpl.java:353) ~[d-node.jar:?] at com.pega.dsm.dnode.impl.stream.DataObservableImpl.subscribe(DataObservableImpl.java:55) ~[d-node.jar:?] at com.pega.dsm.dnode.impl.stream.DataObservableImpl.await(DataObservableImpl.java:117) ~[d-node.jar:?] at com.pega.dsm.dnode.impl.stream.DataObservableImpl.await(DataObservableImpl.java:106) ~[d-node.jar:?] at com.pega.dsm.dnode.impl.dataflow.asyncexecutor.QueueProcessorDataSetOperationsImpl.getLag(QueueProcessorDataSetOperationsImpl.java:307) ~[d-node.jar:?] at com.pega.platform.executor.queueprocessor.internal.QueueProcessorManagementOperationsImpl$LagCalculator.execute(QueueProcessorManagementOperationsImpl.java:323) ~[pega-executor.jar:?] at com.pega.platform.executor.queueprocessor.internal.BatchTask.lambda$executeInBorrowedRequestor$0(BatchTask.java:80) ~[pega-executor.jar:?] at com.pega.platform.executor.queueprocessor.internal.BatchTask$$Lambda$2091.0000000020DCAFC0.run(Unknown Source) ~[?:?] at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1397) ~[prprivate-session.jar:?] at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1140) ~[prprivate-session.jar:?] at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1021) ~[prprivate-session.jar:?] at com.pega.pegarules.session.internal.PRSessionProviderImplForModules.doWithRequestorLocked(PRSessionProviderImplForModules.java:71) ~[prprivate-session.jar:?] at com.pega.platform.executor.queueprocessor.internal.BatchTask.executeInBorrowedRequestor(BatchTask.java:76) ~[pega-executor.jar:?] at com.pega.platform.executor.queueprocessor.internal.BatchTask.run(BatchTask.java:47) ~[pega-executor.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522) ~[?:1.8.0] at java.util.concurrent.FutureTask.run(FutureTask.java:277) ~[?:1.8.0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160) [?:1.8.0] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:1.8.0] at java.lang.Thread.run(Thread.java:818) [?:2.9 (11-06-2019)]