Reader threads are stuck

23 views
Skip to first unread message

Dileep Mandapam

unread,
May 14, 2014, 9:15:48 AM5/14/14
to cqengine...@googlegroups.com
Hi All,

All Reader threads are stuck while reading  a collection of 8000 rows .

My Query is in below format 

Query q = and (     equal(MULTIVAL_ATT  a1) , 
                            equal(MULTIVAL_ATTR2 ,a2) 
                             QueryFactory.or(
                                                                    and(equal(MULTIVAL_ATTR2,a3) , new GreaterThan(SIMPLE_ATTR1, s1)) ,
                                                                    and(equal(MULTIVAL_ATTR3,a31) , new GreaterThan(SIMPLE_ATTR2, s2)),
                                                                    and(equal(MULTIVAL_ATTR3,a32) , new GreaterThan(SIMPLE_ATTR3,s3))
                                                      )
                        );


 Sample ThreadDump is given below. 

"requestProcessor--11-thread-1" prio=10 tid=0x00007fcc20a1a800 nid=0xc57 runnable [0x00007fcc15f90000]
   java.lang.Thread.State: RUNNABLE
at java.util.concurrent.ConcurrentHashMap.size(ConcurrentHashMap.java:963)
at java.util.Collections$SetFromMap.size(Collections.java:3899)
at com.googlecode.cqengine.resultset.stored.StoredSetBasedResultSet.getMergeCost(StoredSetBasedResultSet.java:104)
at com.googlecode.cqengine.resultset.connective.ResultSetUnionAll.getMergeCost(ResultSetUnionAll.java:104)
at com.googlecode.cqengine.engine.impl.QueryEngineImpl.retrieveIntersection(QueryEngineImpl.java:473)
at com.googlecode.cqengine.engine.impl.QueryEngineImpl$2$1.next(QueryEngineImpl.java:348)
at com.googlecode.cqengine.engine.impl.QueryEngineImpl$2$1.next(QueryEngineImpl.java:333)
at com.googlecode.cqengine.resultset.connective.ResultSetIntersection.<init>(ResultSetIntersection.java:38)
at com.googlecode.cqengine.engine.impl.QueryEngineImpl.retrieveRecursive(QueryEngineImpl.java:330)
at com.googlecode.cqengine.engine.impl.QueryEngineImpl$3$1.next(QueryEngineImpl.java:392)
at com.googlecode.cqengine.engine.impl.QueryEngineImpl$3$1.next(QueryEngineImpl.java:373)
at com.googlecode.cqengine.resultset.connective.ResultSetUnionAll.anyResultSetContains(ResultSetUnionAll.java:62)
at com.googlecode.cqengine.resultset.connective.ResultSetUnionAll.contains(ResultSetUnionAll.java:58)
at com.googlecode.cqengine.resultset.connective.ResultSetIntersection.allResultSetsContain(ResultSetIntersection.java:79)
at com.googlecode.cqengine.resultset.connective.ResultSetIntersection$1.isValid(ResultSetIntersection.java:58)
at com.googlecode.cqengine.resultset.filter.FilteringIterator.hasNext(FilteringIterator.java:49)
at com.dileep.kumar.cqengine.Samples.getAllData(Samples.java:236)


                                   

Niall Gallagher

unread,
May 14, 2014, 9:54:30 AM5/14/14
to cqengine...@googlegroups.com
Hi Dileep,

AFAIK state RUNNABLE in a thread dump, means the thread is not blocked.

Can you provide a self-contained test case which I can run which reproduces the issue? I have not seen an issue like this in CQEngine before, so a test case would be helpful.

Thanks,
Niall

--
-- You received this message because you are subscribed to the "cqengine-discuss" group.
http://groups.google.com/group/cqengine-discuss
---
You received this message because you are subscribed to the Google Groups "cqengine-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cqengine-discu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dileep Mandapam

unread,
May 14, 2014, 11:39:14 AM5/14/14
to cqengine...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages