Option storage.cql.protocol-version is broken
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 50/100
Línea de trabajo
Comienza con CQLConfigOptions.java y CQLProgrammaticConfigurationLoaderBuilder.java, y después compara el valor configurado con la opción de protocolo del controlador de DataStax. Verifica que el backend de CQL se inicialice correctamente cuando storage.cql.protocol-version esté establecido en un valor distinto de cero, incluido el caso indicado de la versión 3.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The option storage.cql.protocol-version is broken if set to any other value than 0.
The option is defined as an integer here: https://github.com/JanusGraph/janusgraph/blob/master/janusgraph-cql/src/main/java/org/janusgraph/diskstorage/cql/CQLConfigOptions.java#L47
And then mapped to DataStax option "advanced.protocol.version" here: https://github.com/JanusGraph/janusgraph/blob/master/janusgraph-cql/src/main/java/org/janusgraph/diskstorage/cql/builder/CQLProgrammaticConfigurationLoaderBuilder.java#L94
Except this option is supposed to be a string: https://javadoc.io/static/com.datastax.oss/java-driver-core/4.17.0/com/datastax/oss/driver/api/core/config/DefaultDriverOption.html#PROTOCOL_VERSION
When used, the option crashes JanusGraph initialization:
09:08:11 INFO com.datastax.oss.driver.internal.core.DefaultMavenCoordinates.buildFromResourceAndPrint - DataStax Java driver for Apache Cassandra(R) (com.datastax.oss:java-driver-core) version 4.17.0
09:08:11 INFO com.datastax.oss.driver.internal.core.cql.CqlPrepareAsyncProcessor.lambda$new$0 - Adding handler to invalidate cached prepared statements on type changes
09:08:11 INFO com.datastax.oss.driver.internal.core.time.Clock.getInstance - Using native clock for microsecond precision
09:08:11 ERROR org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init> - Could not invoke constructor on class org.janusgraph.graphdb.management.JanusGraphManager (defined by the 'graphManager' setting) with one argument of class Settings
09:08:11 ERROR org.janusgraph.graphdb.server.JanusGraphServer.lambda$main$0 - JanusGraph Server was unable to start and will now begin shutdown
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:97) ~[gremlin-server-3.7.0.jar:3.7.0]
at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:127) ~[gremlin-server-3.7.0.jar:3.7.0]
at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:90) ~[gremlin-server-3.7.0.jar:3.7.0]
at org.janusgraph.graphdb.server.JanusGraphServer.start(JanusGraphServer.java:85) ~[janusgraph-server-1.0.0.jar:?]
at org.janusgraph.graphdb.server.JanusGraphServer.main(JanusGraphServer.java:53) [janusgraph-server-1.0.0.jar:?]
Caused by: java.lang.reflect.InvocationTargetException
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:86) ~[gremlin-server-3.7.0.jar:3.7.0]
... 4 more
Caused by: java.lang.IllegalArgumentException: Could not instantiate implementation: org.janusgraph.diskstorage.cql.CQLStoreManager
at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:79) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:548) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.diskstorage.Backend.getStorageManager(Backend.java:509) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:64) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.core.JanusGraphFactory.lambda$open$0(JanusGraphFactory.java:165) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.graphdb.management.JanusGraphManager.openGraph(JanusGraphManager.java:239) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:165) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:115) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.graphdb.management.JanusGraphManager.lambda$new$0(JanusGraphManager.java:73) ~[janusgraph-core-1.0.0.jar:?]
at java.util.LinkedHashMap.forEach(Unknown Source) ~[?:?]
at org.janusgraph.graphdb.management.JanusGraphManager.<init>(JanusGraphManager.java:72) ~[janusgraph-core-1.0.0.jar:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:86) ~[gremlin-server-3.7.0.jar:3.7.0]
... 4 more
Caused by: java.lang.reflect.InvocationTargetException
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:73) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:548) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.diskstorage.Backend.getStorageManager(Backend.java:509) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:64) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.core.JanusGraphFactory.lambda$open$0(JanusGraphFactory.java:165) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.graphdb.management.JanusGraphManager.openGraph(JanusGraphManager.java:239) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:165) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:115) ~[janusgraph-core-1.0.0.jar:?]
at org.janusgraph.graphdb.management.JanusGraphManager.lambda$new$0(JanusGraphManager.java:73) ~[janusgraph-core-1.0.0.jar:?]
at java.util.LinkedHashMap.forEach(Unknown Source) ~[?:?]
at org.janusgraph.graphdb.management.JanusGraphManager.<init>(JanusGraphManager.java:72) ~[janusgraph-core-1.0.0.jar:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:86) ~[gremlin-server-3.7.0.jar:3.7.0]
... 4 more
Caused by: java.lang.IllegalArgumentException: Unknown protocol version name: 3
at com.datastax.oss.driver.internal.core.DefaultProtocolVersionRegistry.fromName(DefaultProtocolVersionRegistry.java:81) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.channel.ChannelFactory.<init>(ChannelFactory.java:114) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildChannelFactory(DefaultDriverContext.java:488) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get(LazyReference.java:55) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getChannelFactory(DefaultDriverContext.java:869) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.control.ControlConnection$SingleThreaded.connect(ControlConnection.java:362) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.control.ControlConnection$SingleThreaded.init(ControlConnection.java:303) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.control.ControlConnection$SingleThreaded.access$1100(ControlConnection.java:243) ~[java-driver-core-4.17.0.jar:?]
at com.datastax.oss.driver.internal.core.control.ControlConnection.lambda$init$0(ControlConnection.java:122) ~[java-driver-core-4.17.0.jar:?]
at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common-4.1.100.Final.jar:4.1.100.Final]
at io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:106) ~[netty-common-4.1.100.Final.jar:4.1.100.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.100.Final.jar:4.1.100.Final]
at io.netty.channel.DefaultEventLoop.run(DefaultEventLoop.java:54) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.100.Final.jar:4.1.100.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.100.Final.jar:4.1.100.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.100.Final.jar:4.1.100.Final]
at java.lang.Thread.run(Unknown Source) ~[?:?]
This is using JanusGraph docker image 1.0.0, with the CQL backend.
- Lenguaje dominante
- Java
- Estrellas
- 5.8k
- Forks
- 1.2k
- Merge medio
- 21 h 16 min
- PR fusionados (30 d)
- 30
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una 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 JanusGraph/janusgraph
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
JanusGraph/janusgraph#4943 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
JanusGraph/janusgraph#1578 ·
Los mantenedores suelen responder en 1 día
-
Native bitemporal supportAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
JanusGraph/janusgraph#4954 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
JanusGraph/janusgraph#4934 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
JanusGraph/janusgraph#4923 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de JanusGraph/janusgraph
Issues similares
-
area/frontend good first issue kind/cooldown
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
beehive-lab/TornadoVM#1151 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
(cbor) `maxStringLength` not consistently checked for chunked (indefinite-length) text valuesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
FasterXML/jackson-dataformats-binary#823 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día