You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Alexandru Popescu <th...@gmail.com> on 2006/05/16 20:34:19 UTC

IndexOutOfBoundsException in QueryImpl.execute

Hi!

I am having quite a complex query that gets executed against the JCR
content. From time to time I am seeing this exception:

[trace]
java.lang.IndexOutOfBoundsException: Index: 99, Size: 27
        at java.util.ArrayList.RangeCheck(ArrayList.java:546)
        at java.util.ArrayList.get(ArrayList.java:321)
        at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:155)
        at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:66)
        at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:237)
        at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
        at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
        at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
        at org.apache.lucene.index.MultiReader.document(MultiReader.java:108)
        at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.calculateChildren(ChildAxisQuery.java:308)
        at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.next(ChildAxisQuery.java:250)
        at org.apache.lucene.search.ConjunctionScorer.init(ConjunctionScorer.java:87)
        at org.apache.lucene.search.ConjunctionScorer.next(ConjunctionScorer.java:44)
        at org.apache.lucene.search.Scorer.score(Scorer.java:37)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:121)
        at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:64)
        at org.apache.lucene.search.Hits.<init>(Hits.java:51)
        at org.apache.lucene.search.Searcher.search(Searcher.java:41)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:374)
        at org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:174)
        at org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:130)
[/trace]

I really don't have any idea why this is happening. Do you have any pointers?

thanks very much in advance,

./alex
--
.w( the_mindstorm )p.

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
On 5/19/06, Jukka Zitting <ju...@gmail.com> wrote:
> Hi,
>
> On 5/19/06, Alexandru Popescu <th...@gmail.com> wrote:
> > Making the story shorter, after we removed this "custom" Lucene
> > version from the 3rd party jars, we have no longer see the problem
> > (now there are almost  18 hours from that point).
>
> Good to know that there was an explanation on the problem you were facing!
>
> I recall other Lucene version issues people have ran into, so I think
> I'll add an FAQ entry about this and we may want to consider adding
> some defensive coding in Jackrabbit that attempts to determine the
> Lucene version and warn about possible incompatibilities.
>
> BR,
>
> Jukka Zitting
>
> --
> Yukatan - http://yukatan.fi/ - info@yukatan.fi
> Software craftsmanship, JCR consulting, and Java development
>

This may be a good thing, but I am not sure it would have worked in
this particular case: the breaking version was a custom 1.4, so I
guess it would have been quite difficult to figure it out.

I really hope I haven't spoken too early :-).

./alex
--
.w( the_mindstorm )p.

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 5/19/06, Alexandru Popescu <th...@gmail.com> wrote:
> Making the story shorter, after we removed this "custom" Lucene
> version from the 3rd party jars, we have no longer see the problem
> (now there are almost  18 hours from that point).

Good to know that there was an explanation on the problem you were facing!

I recall other Lucene version issues people have ran into, so I think
I'll add an FAQ entry about this and we may want to consider adding
some defensive coding in Jackrabbit that attempts to determine the
Lucene version and warn about possible incompatibilities.

BR,

Jukka Zitting

-- 
Yukatan - http://yukatan.fi/ - info@yukatan.fi
Software craftsmanship, JCR consulting, and Java development

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
24 hours later....

I have tried to reproduce the failures on my Windows machine, but
believe it or not, I couldn't. Than trying to understand why this is
happening only on my colleague machine (Linux) and not on my machine
we have discovered than another dependency of our project is including
directly in their jar a Lucene version. Checking with the creators, we
have found our that there was a mismatch between Lucene 1.4.3 required
by Jackrabbit and the one included (silently) by this 3rd party tool.

Making the story shorter, after we removed this "custom" Lucene
version from the 3rd party jars, we have no longer see the problem
(now there are almost  18 hours from that point).

I will keep an wide-open eye on this. Jukka I appreciate very much
your help. Thanks again.

./alex
--
.w( the_mindstorm )p.


On 5/18/06, Jukka Zitting <ju...@gmail.com> wrote:
> Hi,
>
> On 5/18/06, Alexandru Popescu <th...@gmail.com> wrote:
> > Unfortunately there is no attachment :-)
>
> It must have gotten lost along the way. Here's the
> ConcurrentQueryTest.java file inline:
>
> ----------
> import java.io.*;
> import java.util.*;
> import javax.jcr.*;
> import javax.jcr.query.*;
> import org.apache.jackrabbit.core.TestRepository;
> import junit.framework.TestCase;
>
> public class ConcurrentQueryTest extends TestCase {
>
>     private class QueryRunner implements Runnable {
>
>         private final Session session;
>
>         public QueryRunner(Session session) {
>             this.session = session;
>         }
>
>         public void run() {
>             try {
>                 for (int i = 0; i < 1000; i++) {
>                     QueryManager manager =
>                         session.getWorkspace().getQueryManager();
>                     Query query = manager.createQuery(
>                         "//*[jcr:contains(.,'void')]", Query.XPATH);
>                     query.execute().getNodes();
>                 }
>             } catch (Exception e) {
>                 exception = e;
>             } finally {
>                 session.logout();
>             }
>         }
>
>     }
>
>     private Exception exception;
>
>     private Session session;
>
>     private Thread a;
>
>     private Thread b;
>
>     protected void setUp() throws Exception {
>         Repository repository = TestRepository.getInstance();
>         session = repository.login();
>         Node n = session.getRootNode().addNode("test");
>         for (int i = 0; i < 1000; i++) {
>             Node f = n.addNode("node" + i, "nt:file");
>             Node r = f.addNode("jcr:content", "nt:resource");
>             r.setProperty("jcr:mimeType", "text/plain");
>             r.setProperty("jcr:lastModified", Calendar.getInstance());
>             InputStream is = new FileInputStream("ConcurrentQueryTest.java");
>             try {
>                 r.setProperty("jcr:data", is);
>             } finally {
>                 is.close();
>             }
>         }
>         session.save();
>
>         exception = null;
>         a = new Thread(new QueryRunner(repository.login()));
>         b = new Thread(new QueryRunner(repository.login()));
>     }
>
>     protected void tearDown() throws Exception {
>         session.getItem("/test").remove();
>         session.save();
>         session.logout();
>     }
>
>     public void testConcurrentQuery() throws Exception {
>         a.start();
>         b.start();
>         a.join();
>         b.join();
>         if (exception != null) {
>             fail("Got exception: " + exception.getMessage());
>         }
>     }
>
> }
> ----------
>
> BR,
>
> Jukka Zitting
>
> --
> Yukatan - http://yukatan.fi/ - info@yukatan.fi
> Software craftsmanship, JCR consulting, and Java development
>

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 5/18/06, Alexandru Popescu <th...@gmail.com> wrote:
> Unfortunately there is no attachment :-)

It must have gotten lost along the way. Here's the
ConcurrentQueryTest.java file inline:

----------
import java.io.*;
import java.util.*;
import javax.jcr.*;
import javax.jcr.query.*;
import org.apache.jackrabbit.core.TestRepository;
import junit.framework.TestCase;

public class ConcurrentQueryTest extends TestCase {

    private class QueryRunner implements Runnable {

        private final Session session;

        public QueryRunner(Session session) {
            this.session = session;
        }

        public void run() {
            try {
                for (int i = 0; i < 1000; i++) {
                    QueryManager manager =
                        session.getWorkspace().getQueryManager();
                    Query query = manager.createQuery(
                        "//*[jcr:contains(.,'void')]", Query.XPATH);
                    query.execute().getNodes();
                }
            } catch (Exception e) {
                exception = e;
            } finally {
                session.logout();
            }
        }

    }

    private Exception exception;

    private Session session;

    private Thread a;

    private Thread b;

    protected void setUp() throws Exception {
        Repository repository = TestRepository.getInstance();
        session = repository.login();
        Node n = session.getRootNode().addNode("test");
        for (int i = 0; i < 1000; i++) {
            Node f = n.addNode("node" + i, "nt:file");
            Node r = f.addNode("jcr:content", "nt:resource");
            r.setProperty("jcr:mimeType", "text/plain");
            r.setProperty("jcr:lastModified", Calendar.getInstance());
            InputStream is = new FileInputStream("ConcurrentQueryTest.java");
            try {
                r.setProperty("jcr:data", is);
            } finally {
                is.close();
            }
        }
        session.save();

        exception = null;
        a = new Thread(new QueryRunner(repository.login()));
        b = new Thread(new QueryRunner(repository.login()));
    }

    protected void tearDown() throws Exception {
        session.getItem("/test").remove();
        session.save();
        session.logout();
    }

    public void testConcurrentQuery() throws Exception {
        a.start();
        b.start();
        a.join();
        b.join();
        if (exception != null) {
            fail("Got exception: " + exception.getMessage());
        }
    }

}
----------

BR,

Jukka Zitting

-- 
Yukatan - http://yukatan.fi/ - info@yukatan.fi
Software craftsmanship, JCR consulting, and Java development

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
Thanks Jukka.

Unfortunately there is no attachment :-) and I am sure the repository
is accessed correctly.

./alex
--
.w( the_mindstorm )p.


On 5/18/06, Jukka Zitting <ju...@gmail.com> wrote:
> Hi,
>
> On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> > First of all thanks a lot Jukka for looking at this. Here are the answers:
>
> Thanks for the details! The setup doesn't seem that much complex from
> the what I was testing with. Can you adapt my attached test case to
> your environment and run it there?
>
> Are you sure that you don't have another repository instance
> concurrently accessing the same repository directory? That would
> nicely explain the index failure.
>
> BR,
>
> Jukka Zitting
>
> --
> Yukatan - http://yukatan.fi/ - info@yukatan.fi
> Software craftsmanship, JCR consulting, and Java development
>

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> First of all thanks a lot Jukka for looking at this. Here are the answers:

Thanks for the details! The setup doesn't seem that much complex from
the what I was testing with. Can you adapt my attached test case to
your environment and run it there?

Are you sure that you don't have another repository instance
concurrently accessing the same repository directory? That would
nicely explain the index failure.

BR,

Jukka Zitting

-- 
Yukatan - http://yukatan.fi/ - info@yukatan.fi
Software craftsmanship, JCR consulting, and Java development

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
First of all thanks a lot Jukka for looking at this. Here are the answers:

a) How much data:

about 100 nodes

b) What type of content:

most of the properties are strings, some numbers (nothing else)

c) Query:

//element(*, our:mixin)/* or //element(*, our:mixin)[not(@prop1 = 1)
and not(@prop1 = 2)]/*

d) Are you running on a multiprocessor machine or on one with hyperthreading?

Nope. The real server is a Linux machine and the guy who is able to
reproduce it uses also a Linux machine.

e) How much other load do you have on the machine? Are there other
threads concurrently running in the same JVM?

The application is a web application. So we have concurrency. The load
so far is not significant but will increase shortly (very shortly this
is the reason I am quite disperate).

hope we will find an answer soon,

./alex
--
.w( the_mindstorm )p.


On 5/17/06, Jukka Zitting <ju...@gmail.com> wrote:
> Hi,
>
> On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> > I've checked with the guy who said he can reproduce it, and what I
> > presented before is generating the exception in our environment.
>
> OK, thanks. Unfortunately I'm still unable to get to the problem. How
> much and what type of content you have in your repository? What kind
> of a query are you using? I ran my test case with a thousand randomly
> generated nt:file nodes and a simple jcr:contains query.
>
> The problem could also be related to a specific threading
> configuration. Are you running on a multiprocessor machine or on one
> with hyperthreading? How much other load do you have on the machine?
> Are there other threads concurrently running in the same JVM?
>
> BR,
>
> Jukka Zitting
>
> --
> Yukatan - http://yukatan.fi/ - info@yukatan.fi
> Software craftsmanship, JCR consulting, and Java development
>

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> I've checked with the guy who said he can reproduce it, and what I
> presented before is generating the exception in our environment.

OK, thanks. Unfortunately I'm still unable to get to the problem. How
much and what type of content you have in your repository? What kind
of a query are you using? I ran my test case with a thousand randomly
generated nt:file nodes and a simple jcr:contains query.

The problem could also be related to a specific threading
configuration. Are you running on a multiprocessor machine or on one
with hyperthreading? How much other load do you have on the machine?
Are there other threads concurrently running in the same JVM?

BR,

Jukka Zitting

-- 
Yukatan - http://yukatan.fi/ - info@yukatan.fi
Software craftsmanship, JCR consulting, and Java development

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
I've checked with the guy who said he can reproduce it, and what I
presented before is generating the exception in our environment.

public class QueryExecutor {
     public void doInJcr(Session session) {
          for(int i= 0; i < 1000; i++) {
          QueryManager queryMgr = session.getWorkspace().getQueryManager();
          Query query = queryMgr.createQuery(queryString, Query.XPATH);
          NodeIterator iterator = query.execute().getNodes();
         }
    }
}

ThreadA has sessionA and calls QueryExecutor.doInJcr
ThreadB has a sessionB and calls QueryExecutor.doInJcr

The exception is thrown quite soon.

./alex
--
.w( the_mindstorm )p.




On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> Inside our application it looks like we are able to reproduce it, but
> I am not sure how to extract a testcase. Here is a short summary of
> how we can reproduce it:
>
> a method that executes a query a hundred of times and 2 parallel
> threads. Finally this results in the provided exception.
>
> The code of our method is quite standard:
>
> [code]
> publi void doInJcr(Session session) {
> QueryManager queryMgr = session.getWorkspace().getQueryManager();
> Query query = queryMgr.createQuery(queryString, Query.XPATH);
> NodeIterator iterator = query.execute().getNodes();
> }
> [/code]
>
> I reconfirm that the session is always a new one obtained through
> repository.login().
>
> And weirdly enough: the content is not modified when this occurs. The
> problem occurs in a piece of our product that does NO writes.  We have
> a single writting point which is synchronized. And as I mentioned,
> when this exception occurs there are definitely no writes around.
>
> Please help. I am starting to pull out my hair because this renders
> unusable a whole application.
>
> many many thanks,
>
> ./alex
> --
> .w( the_mindstorm )p.
>
>
> On 5/17/06, Jukka Zitting <ju...@gmail.com> wrote:
> > Hi,
> >
> > On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> > > This looks like serious problem in multi-thread application. I am
> > > getting the feeling that this is happening when 2 threads are
> > > executing the same Query. And I am 1000% that each thread has its own
> > > javax.jcr.Session, so the problem looks to be somewhere deeper.
> >
> > Can you distill the problem into a standalone test case? The problem
> > sounds quite serious, but I couldn't replicate it with a quick test
> > case. Does it only happen when content is concurrently being modified?
> >
> > BR,
> >
> > Jukka Zitting
> >
> > --
> > Yukatan - http://yukatan.fi/ - info@yukatan.fi
> > Software craftsmanship, JCR consulting, and Java development
> >
>

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
Inside our application it looks like we are able to reproduce it, but
I am not sure how to extract a testcase. Here is a short summary of
how we can reproduce it:

a method that executes a query a hundred of times and 2 parallel
threads. Finally this results in the provided exception.

The code of our method is quite standard:

[code]
publi void doInJcr(Session session) {
QueryManager queryMgr = session.getWorkspace().getQueryManager();
Query query = queryMgr.createQuery(queryString, Query.XPATH);
NodeIterator iterator = query.execute().getNodes();
}
[/code]

I reconfirm that the session is always a new one obtained through
repository.login().

And weirdly enough: the content is not modified when this occurs. The
problem occurs in a piece of our product that does NO writes.  We have
a single writting point which is synchronized. And as I mentioned,
when this exception occurs there are definitely no writes around.

Please help. I am starting to pull out my hair because this renders
unusable a whole application.

many many thanks,

./alex
--
.w( the_mindstorm )p.


On 5/17/06, Jukka Zitting <ju...@gmail.com> wrote:
> Hi,
>
> On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> > This looks like serious problem in multi-thread application. I am
> > getting the feeling that this is happening when 2 threads are
> > executing the same Query. And I am 1000% that each thread has its own
> > javax.jcr.Session, so the problem looks to be somewhere deeper.
>
> Can you distill the problem into a standalone test case? The problem
> sounds quite serious, but I couldn't replicate it with a quick test
> case. Does it only happen when content is concurrently being modified?
>
> BR,
>
> Jukka Zitting
>
> --
> Yukatan - http://yukatan.fi/ - info@yukatan.fi
> Software craftsmanship, JCR consulting, and Java development
>

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> This looks like serious problem in multi-thread application. I am
> getting the feeling that this is happening when 2 threads are
> executing the same Query. And I am 1000% that each thread has its own
> javax.jcr.Session, so the problem looks to be somewhere deeper.

Can you distill the problem into a standalone test case? The problem
sounds quite serious, but I couldn't replicate it with a quick test
case. Does it only happen when content is concurrently being modified?

BR,

Jukka Zitting

-- 
Yukatan - http://yukatan.fi/ - info@yukatan.fi
Software craftsmanship, JCR consulting, and Java development

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
This looks like serious problem in multi-thread application. I am
getting the feeling that this is happening when 2 threads are
executing the same Query. And I am 1000% that each thread has its own
javax.jcr.Session, so the problem looks to be somewhere deeper.

Still no pointers?

./alex
--
.w( the_mindstorm )p.


On 5/17/06, Alexandru Popescu <th...@gmail.com> wrote:
> I've been looking about this exception on Lucene ML and JIRA but
> couldn't find something very very close. However, most of the reports
> about IndexOutOfBoundsException are coming from index merging
> operations. I am wondering if the exception I am seeing here may be
> caused by the following scenario:
>
> - the indexing processes merges indexes
> - a parallel process/thread executes a query
>
> Is this the problem?
>
> ./alex
> --
> .w( the_mindstorm )p.
>
>
> On 5/16/06, Alexandru Popescu <th...@gmail.com> wrote:
> > Hi!
> >
> > I am having quite a complex query that gets executed against the JCR
> > content. From time to time I am seeing this exception:
> >
> > [trace]
> > java.lang.IndexOutOfBoundsException: Index: 99, Size: 27
> >         at java.util.ArrayList.RangeCheck(ArrayList.java:546)
> >         at java.util.ArrayList.get(ArrayList.java:321)
> >         at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:155)
> >         at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:66)
> >         at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:237)
> >         at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
> >         at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
> >         at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
> >         at org.apache.lucene.index.MultiReader.document(MultiReader.java:108)
> >         at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.calculateChildren(ChildAxisQuery.java:308)
> >         at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.next(ChildAxisQuery.java:250)
> >         at org.apache.lucene.search.ConjunctionScorer.init(ConjunctionScorer.java:87)
> >         at org.apache.lucene.search.ConjunctionScorer.next(ConjunctionScorer.java:44)
> >         at org.apache.lucene.search.Scorer.score(Scorer.java:37)
> >         at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:121)
> >         at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:64)
> >         at org.apache.lucene.search.Hits.<init>(Hits.java:51)
> >         at org.apache.lucene.search.Searcher.search(Searcher.java:41)
> >         at org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:374)
> >         at org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:174)
> >         at org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:130)
> > [/trace]
> >
> > I really don't have any idea why this is happening. Do you have any pointers?
> >
> > thanks very much in advance,
> >
> > ./alex
> > --
> > .w( the_mindstorm )p.
> >
>

Re: IndexOutOfBoundsException in QueryImpl.execute

Posted by Alexandru Popescu <th...@gmail.com>.
I've been looking about this exception on Lucene ML and JIRA but
couldn't find something very very close. However, most of the reports
about IndexOutOfBoundsException are coming from index merging
operations. I am wondering if the exception I am seeing here may be
caused by the following scenario:

- the indexing processes merges indexes
- a parallel process/thread executes a query

Is this the problem?

./alex
--
.w( the_mindstorm )p.


On 5/16/06, Alexandru Popescu <th...@gmail.com> wrote:
> Hi!
>
> I am having quite a complex query that gets executed against the JCR
> content. From time to time I am seeing this exception:
>
> [trace]
> java.lang.IndexOutOfBoundsException: Index: 99, Size: 27
>         at java.util.ArrayList.RangeCheck(ArrayList.java:546)
>         at java.util.ArrayList.get(ArrayList.java:321)
>         at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:155)
>         at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:66)
>         at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:237)
>         at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
>         at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
>         at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:103)
>         at org.apache.lucene.index.MultiReader.document(MultiReader.java:108)
>         at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.calculateChildren(ChildAxisQuery.java:308)
>         at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.next(ChildAxisQuery.java:250)
>         at org.apache.lucene.search.ConjunctionScorer.init(ConjunctionScorer.java:87)
>         at org.apache.lucene.search.ConjunctionScorer.next(ConjunctionScorer.java:44)
>         at org.apache.lucene.search.Scorer.score(Scorer.java:37)
>         at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:121)
>         at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:64)
>         at org.apache.lucene.search.Hits.<init>(Hits.java:51)
>         at org.apache.lucene.search.Searcher.search(Searcher.java:41)
>         at org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:374)
>         at org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:174)
>         at org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:130)
> [/trace]
>
> I really don't have any idea why this is happening. Do you have any pointers?
>
> thanks very much in advance,
>
> ./alex
> --
> .w( the_mindstorm )p.
>