The parser was never built to handle kilobytes of query text :) 
It will be terribly inefficient to parse and plan that query.

You should use parameters anyway and not literal values.

> match ( e:Entity) where e.key in {keys}

Also I don't think this query will be very efficient as it has to go to the 
index 3000 times.

What is the actual use-case?

Michael

> Am 29.04.2015 um 10:05 schrieb Mike Holdsworth <[email protected]>:
> 
> Neo4j 2.1.7 Java 8
> 
> When executing a cypher query with ~3000 arguments, passed as an in clause, 
> the query fails. Reducing the java stack space  (-Xss256) causes the error to 
> occur with ~500 args
> 
> match ( e:Entity) where e.key in [ "", "some 3k", "different args", "", 
> .......]
> 
> 
> Internals of Neo4j are doing some a recursive call and running out of stack 
> space. Is this by design? Is there a better way to pass large arrays to use 
> as args?
> 
>         at 
> org.neo4j.cypher.internal.compiler.v2_1.bottomUp$BottomUpRewriter.apply(Rewritable.scala:137)
>         at 
> org.neo4j.cypher.internal.compiler.v2_1.bottomUp$BottomUpRewriter$$anonfun$1.apply(Rewritable.scala:137)
>         at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
>         at scala.collection.Iterator$class.foreach(Iterator.scala:727)
>         at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
>         at 
> scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
>         at 
> scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:176)
>         at 
> scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)
>         at 
> scala.collection.TraversableOnce$class.to(TraversableOnce.scala:273)
>         at scala.collection.AbstractIterator.to(Iterator.scala:1157)
>         at 
> scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:257)
>         at scala.collection.AbstractIterator.toList(Iterator.scala:1157)
>         at 
> org.neo4j.cypher.internal.compiler.v2_1.bottomUp$BottomUpRewriter.apply(Rewritable.scala:137)
>         at 
> org.neo4j.cypher.internal.compiler.v2_1.bottomUp$BottomUpRewriter$$anonfun$1.apply(Rewritable.scala:137)
>         at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
>         at scala.collection.Iterator$class.foreach(Iterator.scala:727)
>         at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
>         at 
> scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
>         at 
> scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:176)
>         at 
> scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)
>         at 
> scala.collection.TraversableOnce$class.to(TraversableOnce.scala:273)
>         at scala.collection.AbstractIterator.to(Iterator.scala:1157)
>         at 
> scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:257)
>         at scala.collection.AbstractIterator.toList(Iterator.scala:1157)
>         at 
> org.neo4j.cypher.internal.compiler.v2_1.bottomUp$BottomUpRewriter.apply(Rewritable.scala:137)
>         at 
> org.neo4j.cypher.internal.compiler.v2_1.bottomUp$BottomUpRewriter$$anonfun$1.apply(Rewritable.scala:137)
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

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

Reply via email to