krlawrence / graph

Practical Gremlin - An Apache TinkerPop Tutorial
Apache License 2.0
830 stars 251 forks source link

gremlin-server-air-routes-yaml fails on gremlin server 3.6.2 & 3.7: Unable to find property 'scriptEvaluationTimeout' #267

Closed noahehall closed 7 months ago

noahehall commented 11 months ago

sample log


$ ./gconsole.sh

[+] Running 1/0
 ✔ Container gserver  Created                                                                        0.0s 
Attaching to gserver
gserver  | [INFO] o.a.t.g.s.GremlinServer - 3.7.0
gserver  |          \,,,/
gserver  |          (o o)
gserver  | -----oOOo-(3)-oOOo-----
gserver  | 
gserver  | Oct 07, 2023 12:43:33 PM org.yaml.snakeyaml.internal.Logger warn
gserver  | WARNING: Failed to find field for org.apache.tinkerpop.gremlin.server.Settings.plugins
gserver  | [ERROR] o.a.t.g.s.GremlinServer - Configuration file at conf/gremlin-server.yaml could not be found or parsed properly. [Cannot create property=scriptEvaluationTimeout for JavaBean=org.apache.tinkerpop.gremlin.server.Settings@6221a451
gserver  |  in 'reader', line 3, column 1:
gserver  |     host: 172.20.0.2
gserver  |     ^
gserver  | Unable to find property 'scriptEvaluationTimeout' on class: org.apache.tinkerpop.gremlin.server.Settings
gserver  |  in 'reader', line 5, column 26:
gserver  |     scriptEvaluationTimeout: 30000
gserver  |                              ^
gserver  | ]
gserver exited with code 0
noahehall commented 11 months ago

I was able to get gremlin-server + gremlin-console running using your data files in docker compose.

I ended up having to comment the serializer stuff to get console to connect to the server for version 3.6.2

krlawrence commented 11 months ago

Thanks for the report. scriptEvaluationTimeout was deprecated in favor of evaluationTimeout but for a long time both worked. It looks like the prior form was fully removed in the 3.5.0 release. https://github.com/apache/tinkerpop/blob/master/CHANGELOG.asciidoc#tinkerpop-350-release-date-may-3-2021

Work has started on a second edition. We'll fix up the YAML as part of that.

noahehall commented 11 months ago

Work has started on a second edition. We'll fix up the YAML as part of that.

looking forward to it! your book is a lifesaver for ramping up on gremlin

With a few tweeks I was able to:

## in gremlin-console/conf/remote.yaml
## below needed to be commented
# serializer: {
#     className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, # V{1,3}d0
#     config: { serializeResultToString: true },
#   
### log from gremlin-server
[INFO] Script1$_run_closure1 - Loading 'air-routes' graph data.
[INFO] o.a.t.g.s.GremlinServer - idleConnectionTimeout was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
[INFO] o.a.t.g.s.GremlinServer - keepAliveInterval was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
[WARN] o.a.t.g.s.AbstractChannelizer - Could not find configured serializer class - org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0 - it will not be available
[WARN] o.a.t.g.s.AbstractChannelizer - Could not find configured serializer class - org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0 - it will not be available
[INFO] o.a.t.g.s.AbstractChannelizer - Configured application/vnd.gremlin-v3.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
[INFO] o.a.t.g.s.AbstractChannelizer - Configured application/json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
[WARN] o.a.t.g.s.AbstractChannelizer - Could not find configured serializer class - org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0 - it will not be available
[WARN] o.a.t.g.s.AbstractChannelizer - Could not find configured serializer class - org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0 - it will not be available
[INFO] o.a.t.g.s.AbstractChannelizer - Configured application/vnd.gremlin-v3.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
[INFO] o.a.t.g.s.AbstractChannelizer - Configured application/json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
[INFO] o.a.t.g.s.GremlinServer$1 - Gremlin Server configured with worker thread pool of 1, gremlin pool of 12 and boss thread pool of 1.
[INFO] o.a.t.g.s.GremlinServer$1 - Channel started at port 8182.