2 Replies Latest reply on Aug 16, 2010 3:54 PM by Ananta Amalkar

    URGENT : Query module - lots of descripencies

    Ananta Amalkar Newbie

      Hi Manik/All,

       

      While trying to implement query module with inifinispan, I came across multiple descrencies.

       

      1. infinispan-module.properties is missing entry for: infinispan.module.configurationClassName

       

      This has only 2 entries:

       

      infinispan.module.name=query
      infinispan.module.lifecycle=org.infinispan.query.impl.LifecycleManager

       

      So while app tries to load the module, it freaks out saying there is no entry for "infinispan.module.configurationClassName"

       

      2.  Documentation for Class LifecycleManager says:

      All Implemented Interfaces:
      ModuleLifecycle

      While if look into the source doe, this calss doesn't implement the interface.

       

      Because of this, app throws an error: Classcastexception at

      org.infinispan.util.ModuleProperties line number: 117, code is below:

       

       

      ModuleLifecycle ml = (ModuleLifecycle) Proxies.newCatchThrowableProxy((ModuleLifecycle) loadClass.newInstance());

       

      Can one please address this ASAP.

       

      We are trying to evaluate the infinispan for very high volume app and around 4 to 5 m hits.

       

      I'm using the distribution: infinispan-4.0.0.FINAL-all

       

       

      Appreciate your quick response on this, I need to show demo monday, so please help me on this asap.

       

       

       

       

       

        • 1. Re: URGENT : Query module - lots of descripencies
          Manik Surtani Master

          Could you pls try the latest release candidate for 4.1.0?

          • 2. Re: URGENT : Query module - lots of descripencies
            Ananta Amalkar Newbie

            Thanks, using infinispan-core from 4.1.0CR2 helped.

             

            But it looks like, Query modules doesn't work.

             

            When I run the basic query, no matter what, cq. list() always contains the last element from thecache and NOT the one which is searched by query and matched the search criteria.

             

            if I search by name=John and last element in cache is with name=Jim, cq.list gives the person Jim, while I'm exepcting Person John.

             

             

            Look at the below method and constructor, in CacheQueryImpl constructor, classes are never passed, code is passing only 3 values,

             

            I suppose this list of classes is the indexed classes from config files ( Am I correct???) , but it is null.....

             

            public

             

            CacheQuery getBasicQuery(String field, String search) throws org.apache.lucene.queryParser.ParseException {

             

            QueryParser parser =

            new QueryParser(field, new StandardAnalyzer());

            org.apache.lucene.search.Query luceneQuery = parser.parse(search);

             

            return new CacheQueryImpl(luceneQuery, searchFactory, cache);

             

            }

             

             

             

             

             

             

             

             

            public

            CacheQueryImpl(Query luceneQuery, SearchFactoryImplementor searchFactory, Cache cache, Class... classes) {

             

             

            this.luceneQuery

            = luceneQuery;

             

             

            this.cache

            = cache;

             

             

            this.searchFactory

            = searchFactory;

             

             

            this.targetedEntities = this.searchFactory

            .getIndexedTypesPolymorphic(classes);