A START statement is required
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comience con AbstractNeo4jItemReader.afterPropertiesSet, donde se informa del requisito de la instrucción START, y con BoltResponse.format, donde la notificación de Neo4j provoca la NullPointerException. Reproduzca la configuración con Neo4j 3.5 usando la configuración proporcionada del reader. Se considera completado cuando el comportamiento START del reader es compatible con la versión de Neo4j compatible y la excepción indicada ya no se produce.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Bug description
When I use a Neo4jItemReader, like this:
val positionItemReader = new Neo4jItemReader<Position>();
positionItemReader.setStartStatement("n = node(6490)");
I get the following error notification:
notification.title = "The RULE planner is not available in the current CYPHER version, the query has been run by an older CYPHER version."
notification.description = "START is not supported for current CYPHER version, the query has been executed by an older CYPHER version"
Which looks accurate for Neo4j 3.5, as the START clause seems to be deprecated.
Here is the exception:
java.lang.NullPointerException
at org.neo4j.ogm.drivers.bolt.response.BoltResponse.format(BoltResponse.java:136)
at org.neo4j.ogm.drivers.bolt.response.BoltResponse.lambda$logNotifications$0(BoltResponse.java:116)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085)
at org.neo4j.ogm.drivers.bolt.response.BoltResponse.logNotifications(BoltResponse.java:104)
at org.neo4j.ogm.drivers.bolt.response.BoltResponse.process(BoltResponse.java:92)
at org.neo4j.ogm.drivers.bolt.response.BoltResponse.close(BoltResponse.java:67)
at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.lambda$executeAndMap$1(ExecuteQueriesDelegate.java:172)
But if I do this:
val positionItemReader = new Neo4jItemReader<Position>();
positionItemReader.setStartStatement(" ");
It fails too because the start clause is mandatory:
Caused by: java.lang.IllegalStateException: A START statement is required
at org.springframework.util.Assert.state(Assert.java:76) ~[spring-core-5.2.9.RELEASE.jar:5.2.9.RELEASE]
at org.springframework.batch.item.data.AbstractNeo4jItemReader.afterPropertiesSet(AbstractNeo4jItemReader.java:200) ~[spring-batch-infrastructure-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792) **~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE]**
Are you sure the START clause is still mandatory, with modern Neo4j? What shall I do, please?
Environment
I use Spring batch (spring-batch-infrastructure-4.2.4.RELEASE.jar), Neo4j driver (neo4j-ogm-bolt-driver 3.2.17) and Neo4j 3.5 in Java 11.
Steps to reproduce
@Bean
public Neo4jItemReader<Position> positionItemReader() {
val positionItemReader = new Neo4jItemReader<Position>();
positionItemReader.setSessionFactory(this.sessionFactory);
positionItemReader.setName("Position-Reader");
positionItemReader.setTargetType(Position.class);
positionItemReader.setPageSize(1);
positionItemReader.setStartStatement("n = node(6490)");
positionItemReader.setMatchStatement("(p: Position)");
positionItemReader.setReturnStatement("p");
positionItemReader.setOrderByStatement("p.symbol");
positionItemReader.setParameterValues(new HashMap<>());
return positionItemReader;
}
Expected behavior
Maybe I shall use a Neo4jItemReader without a START clause, as it is deprecated?
Thanks in advance.
- Lenguaje dominante
- Java
- Estrellas
- 278
- Forks
- 268
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de spring-projects/spring-batch-extensions
-
Notion Database Query API is deprecatedPosiblemente ocupada @roeniss la tomó hace 275 días. Abiertomodule: spring-batch-notion
spring-projects/spring-batch-extensions#198 · 4 comentarios · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Add module descriptorAbiertomodule: spring-batch-notion
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
-
module: spring-batch-notion
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
-
Add integration tests for `NotionDatabaseItemReader` restartabilityPosiblemente ocupada @hig1002 la tomó hace 218 días. Abiertomodule: spring-batch-notion
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
spring-projects/spring-batch-extensions#150 · 2 comentarios ·
Todos los issues de spring-projects/spring-batch-extensions
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
liberation-data/drivine4j#547 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
BindingServiceProperties.bindings regressed to a non-thread-safe TreeMap in GH-3158: concurrent first use of binding names corrupts itPosiblemente ocupada @AkashB23 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
spring-cloud/spring-cloud-stream#3321 ·
Los mantenedores suelen responder en 1 día
-
[Bug] 资源包列表 与 模组/数据包/世界 列表排列顺序不一致Posiblemente ocupada @fishdry1000 la tomó hace 4 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
ai-driven-fuzzing bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
linagora/twake-calendar-side-service#1333 ·
Los mantenedores suelen responder en 1 día