Results 1 to 6 of 6

Thread: InvalidDataAccessResourceUsageException on simple query after upgrade

  1. #1

    Default InvalidDataAccessResourceUsageException on simple query after upgrade

    Hi,
    After upgrading to:
    spring-data-neo4j - 2.1.0.BUILD-SNAPSHOT and neo4j - 1.7, on an DAO with the following method:
    Privilege findByName(final String name);
    I'm not getting:

    Code:
    org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement start `privilege`=node:__types__(className="com.geogrep.persistence.entity.Privilege") where `privilege`.`name`! = {0} return `privilege`; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement start `privilege`=node:__types__(className="com.geogrep.persistence.entity.Privilege") where `privilege`.`name`! = {0} return `privilege`; nested exception is org.neo4j.cypher.MissingIndexException: Index `__types__` does not exist
    	at org.springframework.data.neo4j.support.query.CypherQueryEngine.query(CypherQueryEngine.java:56) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
    	at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery.dispatchQuery(GraphRepositoryQuery.java:96) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
    	at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery.execute(GraphRepositoryQuery.java:70) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
    	at org.springframework.data.neo4j.repository.query.DerivedCypherRepositoryQuery.execute(DerivedCypherRepositoryQuery.java:36) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
    	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:313) ~[spring-data-commons-core-1.3.0.RC2.jar:na]
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) ~[spring-tx-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:155) ~[spring-tx-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at $Proxy52.findByName(Unknown Source) ~[na:na]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_04]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_04]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_04]
    	at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_04]
    	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
    	at $Proxy53.findByName(Unknown Source) ~[na:na]
    	at com.geogrep.persistence.service.privilege.PrivilegeService.findByName(PrivilegeService.java) ~[classes/:na]
    Being autogenerated, this worked just fine with the stable spring-data-neo4j version, so I'm assuming this is a bug in the SNAPSHOT.
    Any feedback on this is appreciated.
    Thanks.
    Eugen.

  2. #2
    Join Date
    Jan 2011
    Location
    Dresden, Germany
    Posts
    525

    Default

    Thanks Eugen for pointing this out, could you please raise a JIRA issue, I'll fix it.

    Michael

  3. #3
    Join Date
    Jan 2011
    Location
    Dresden, Germany
    Posts
    525

    Default

    The reason being that cypher now checks for indexes that are used in a query, and in your case the type index was not created upfront.

  4. #4

    Default

    Thanks for the quick reply.
    So, should the index have been created?
    The new JIRA is: https://jira.springsource.org/browse/DATAGRAPH-232
    Eugen.

  5. #5
    Join Date
    Jan 2011
    Location
    Dresden, Germany
    Posts
    525

    Default

    Yep, as a workaround you can do as a very first operation
    Code:
    template.createIndex("__types__",null)
    Unfortunately the fix didn't make it into the RC1 release which was already underway, but it will be in the 2.1.0.GA

    Sorry

    Michael

  6. #6

    Default

    OK, thanks.
    I'll probably start depending on the SNAPSHOT versions so that I can use these queries.
    Eugen.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •