Uploaded image for project: 'Red Hat Data Grid'
  1. Red Hat Data Grid
  2. JDG-601

Filtering by Query with projection fails with ISPN028517 in the Remote Iterator

    XMLWordPrintable

Details

    Description

      The test that fails is in FilterByQueryProtoAnnotationSuite.scala from the jdg-spark connector:

        test("Filter by Query with projections") {
            val query = Search.getQueryFactory(remoteCacheManager.getCache(getCacheName)).from(classOf[Runner]).select("name", "age").having("finished").equal(true)
                  .toBuilder.build()
      
            val rdd = createInfinispanRDD[Int, Runner].filterByQuery[Array[AnyRef]](query, classOf[Runner])
            val first = rdd.values.collect().head
      
            first(0).getClass shouldBe classOf[String]
            first(1).getClass shouldBe classOf[Integer]
      
            rdd.count shouldBe query.getResultSize
         }
      
      

      The Hot Rod client receives an error:

      java.lang.IllegalStateException: ISPN028517: The predicate org.infinispan.objectfilter.impl.syntax.parser.FilterExpressionBuilder$LazyLeafBooleanExpr@44bfa0bd can not be added since there may be only one root predicate.
      	at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:343)
      	at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:132)
      	at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:118)
      	at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
      	at org.infinispan.client.hotrod.impl.operations.IterationNextOperation.execute(IterationNextOperation.java:48)
      	at org.infinispan.client.hotrod.impl.iteration.RemoteCloseableIterator.fetch(RemoteCloseableIterator.java:103)
      	at org.infinispan.client.hotrod.impl.iteration.RemoteCloseableIterator.hasNext(RemoteCloseableIterator.java:87)
      	at org.infinispan.spark.rdd.InfinispanIterator.hasNext(InfinispanIterator.scala:13)
      	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
      

      Attachments

        Issue Links

          Activity

            People

              gfernand@redhat.com Gustavo Fernandes (Inactive)
              gfernand@redhat.com Gustavo Fernandes (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: