Support Article
Global search provides inconsistent or no results
SA-55743
Summary
When searching for workitems, search results do not display. However, when opening the workitem directly and performing the same search again, the results displays. This occurs sporadically.
Error Messages
Thread Dumps
"PegaRULES-Search[generic][T#7]" Id=293 in TIMED_WAITING on lock=java.util.concurrent.SynchronousQueue$TransferStack@1dc615a2
BlockedCount : 0, BlockedTime : -1, WaitedCount : 114, WaitedTime : -1
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Locked synchronizers: count = 0
"PegaRULES-Search[flush][T#1]" Id=262 in WAITING on lock=com.pega.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue@5e5e10f6
BlockedCount : 0, BlockedTime : -1, WaitedCount : 2, WaitedTime : -1
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at com.pega.elasticsearch.common.util.concurrent.jsr166y.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:706)
at com.pega.elasticsearch.common.util.concurrent.jsr166y.LinkedTransferQueue.xfer(LinkedTransferQueue.java:615)
at com.pega.elasticsearch.common.util.concurrent.jsr166y.LinkedTransferQueue.take(LinkedTransferQueue.java:1109)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Locked synchronizers: count = 0
Steps to Reproduce
Perform a search for work objects.
Root Cause
Thread dumps are found in PegaRULES.log and a few PegaRULES-Search threads are in the Waiting State
However, these Threads are not blocked and they eventually enter the Running state.
Resolution
With Java 8, it is recommended to set the -XX:MaxMetaspaceSize to 1024 MB.
In a Linux or a Unix system, the file descriptor limit (ulimit) must be set to Maximum to increase the server load capacity and search performance.
For more information refer to:
https://community.pega.com/support/support-articles/user-cannot-find-new-case-production-work-indexing-fails
https://community.pega.com/knowledgebase/articles/troubleshooting-elasticsearch-performance-tcp-network-analysis
Published January 3, 2019 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.