apache / incubator-hugegraph

A graph database that supports more than 100+ billion data, high performance and scalability (Include OLTP Engine & REST-API & Backends)
https://hugegraph.apache.org
Apache License 2.0
2.65k stars 518 forks source link

[Bug] path路径报错 #1785

Closed zhouliweb closed 2 years ago

zhouliweb commented 2 years ago

Bug Type (问题类型)

No response

Before submit

Environment (环境信息)

Expected & Actual behavior (期望与实际表现)

gremlin> :> g.V().has('cid', within(xxx)).repeat(outE('categoryParent')).until(loops().is(1)).path().limit(1) Server could not serialize the result requested. Server error - Error during serialization: Type id handling not implemented for type org.apache.tinkerpop.gremlin.process.traversal.Path (by serializer of type com.baidu.hugegraph.io.HugeGraphSONModule$PathSerializer). Note that the class must be serializable by the client and server for proper operation.

详细错误信息如下: tributes={host=/127.0.0.1:35936}}, result=ResponseResult{data=[path[v[2:39Xk], e[S2:39Xk>5>>S2:32xb][2:39Xk-categoryParent->2:32xb]]], meta={}}}] could not be serialized by org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0. org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException: Type id handling not implemented for type org.apache.tinkerpop.gremlin.process.traversal.Path (by serializer of type com.baidu.hugegraph.io.HugeGraphSONModule$PathSerializer) at org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:313) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.JsonSerializer.serializeWithType(JsonSerializer.java:160) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2656) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.core.base.GeneratorBase.writeObject(GeneratorBase.java:381) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serialize(JavaUtilSerializersV3d0.java:127) ~[gremlin-core-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serializeWithType(JavaUtilSerializersV3d0.java:135) ~[gremlin-core-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serializeWithType(JavaUtilSerializersV3d0.java:118) ~[gremlin-core-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.ser(AbstractGraphSONMessageSerializerV2d0.java:277) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.serializeWithType(AbstractGraphSONMessageSerializerV2d0.java:251) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.serializeWithType(AbstractGraphSONMessageSerializerV2d0.java:236) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3906) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper.writeValueAsBytes(ObjectMapper.java:3244) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.serializeResponseAsBinary(AbstractGraphSONMessageSerializerV2d0.java:86) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.makeFrame(AbstractOpProcessor.java:329) ~[gremlin-server-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:148) ~[gremlin-server-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor.lambda$evalOpInternal$5(AbstractEvalOpProcessor.java:263) ~[gremlin-server-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:277) ~[gremlin-groovy-3.4.3.jar:3.4.3] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_171] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_171] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_171] at com.baidu.hugegraph.auth.HugeGraphAuthProxy$ContextTask.run(HugeGraphAuthProxy.java:1748) [hugegraph-api-0.12.0.jar:0.67.0.0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171] 2022-03-18 16:32:06 [gremlin-server-exec-22] [WARN] o.a.t.g.s.o.AbstractEvalOpProcessor - The result [[path[v[2:39Xk], e[S2:39Xk>5>>S2:32xb][2:39Xk-categoryParent->2:32xb]]]] in the request d12493e7-eb83-42cb-b163-e49127c5f3e8 could not be serialized and returned. org.apache.tinkerpop.gremlin.driver.ser.SerializationException: org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException: Type id handling not implemented for type org.apache.tinkerpop.gremlin.process.traversal.Path (by serializer of type com.baidu.hugegraph.io.HugeGraphSONModule$PathSerializer) at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.serializeResponseAsBinary(AbstractGraphSONMessageSerializerV2d0.java:95) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.makeFrame(AbstractOpProcessor.java:329) ~[gremlin-server-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:148) ~[gremlin-server-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor.lambda$evalOpInternal$5(AbstractEvalOpProcessor.java:263) ~[gremlin-server-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:277) ~[gremlin-groovy-3.4.3.jar:3.4.3] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_171] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_171] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_171] at com.baidu.hugegraph.auth.HugeGraphAuthProxy$ContextTask.run(HugeGraphAuthProxy.java:1748) [hugegraph-api-0.12.0.jar:0.67.0.0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171] Caused by: org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException: Type id handling not implemented for type org.apache.tinkerpop.gremlin.process.traversal.Path (by serializer of type com.baidu.hugegraph.io.HugeGraphSONModule$PathSerializer) at org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:313) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.JsonSerializer.serializeWithType(JsonSerializer.java:160) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2656) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.core.base.GeneratorBase.writeObject(GeneratorBase.java:381) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serialize(JavaUtilSerializersV3d0.java:127) ~[gremlin-core-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serializeWithType(JavaUtilSerializersV3d0.java:135) ~[gremlin-core-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serializeWithType(JavaUtilSerializersV3d0.java:118) ~[gremlin-core-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.ser(AbstractGraphSONMessageSerializerV2d0.java:277) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.serializeWithType(AbstractGraphSONMessageSerializerV2d0.java:251) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.serializeWithType(AbstractGraphSONMessageSerializerV2d0.java:236) ~[gremlin-driver-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3906) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper.writeValueAsBytes(ObjectMapper.java:3244) ~[gremlin-shaded-3.4.3.jar:3.4.3] at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.serializeResponseAsBinary(AbstractGraphSONMessageSerializerV2d0.java:86) ~[gremlin-driver-3.4.3.jar:3.4.3] ... 11 more 2022-03-18 16:32:06 [gremlin-server-worker-1] [DEBUG] log-aggregator-encoder - [id: 0xb8980394, L:/127.0.0.1:8183 - R:/127.0.0.1:35936] WRITE: ResponseMessage{requestId=d12493e7-eb83-42cb-b163-e49127c5f3e8, status=ResponseStatus{code=SERVER_ERROR_SERIALIZATION, message='Error during serialization: Type id handling not implemented for type org.apache.tinkerpop.gremlin.process.traversal.Path (by serializer of type com.baidu.hugegraph.io.HugeGraphSONModule$PathSerializer)', attributes={stackTrace=org.apache.tinkerpop.gremlin.driver.ser.SerializationException: org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException: Type id handling not implemented for type org.apache.tinkerpop.gremlin.process.traversal.Path (by serializer of type com.baidu.hugegraph.io.HugeGraphSONModule$PathSerializer) at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.serializeResponseAsBinary(AbstractGraphSONMessageSerializerV2d0.java:95) at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.makeFrame(AbstractOpProcessor.java:329) at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:148) at org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor.lambda$evalOpInternal$5(AbstractEvalOpProcessor.java:263) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:277) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.baidu.hugegraph.auth.HugeGraphAuthProxy$ContextTask.run(HugeGraphAuthProxy.java:1748) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException: Type id handling not implemented for type org.apache.tinkerpop.gremlin.process.traversal.Path (by serializer of type com.baidu.hugegraph.io.HugeGraphSONModule$PathSerializer) at org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77) at org.apache.tinkerpop.shaded.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191) at org.apache.tinkerpop.shaded.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:313) at org.apache.tinkerpop.shaded.jackson.databind.JsonSerializer.serializeWithType(JsonSerializer.java:160) at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2656) at org.apache.tinkerpop.shaded.jackson.core.base.GeneratorBase.writeObject(GeneratorBase.java:381) at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serialize(JavaUtilSerializersV3d0.java:127) at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serializeWithType(JavaUtilSerializersV3d0.java:135) at org.apache.tinkerpop.gremlin.structure.io.graphson.JavaUtilSerializersV3d0$ListJacksonSerializer.serializeWithType(JavaUtilSerializersV3d0.java:118) at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.ser(AbstractGraphSONMessageSerializerV2d0.java:277) at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.serializeWithType(AbstractGraphSONMessageSerializerV2d0.java:251) at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0$ResponseMessageSerializer.serializeWithType(AbstractGraphSONMessageSerializerV2d0.java:236) at org.apache.tinkerpop.shaded.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) at org.apache.tinkerpop.shaded.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3906) at org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper.writeValueAsBytes(ObjectMapper.java:3244) at org.apache.tinkerpop.gremlin.driver.ser.AbstractGraphSONMessageSerializerV2d0.serializeResponseAsBinary(AbstractGraphSONMessageSerializerV2d0.java:86) ... 11 more

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

zhouliweb commented 2 years ago

知道原因了,照janusgraph调整了序列化顺序导致的: