This is an automated email from the ASF dual-hosted git repository. xiazcy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 5aa1b60c52692af2cdace0bf231b40b70bafaff0 Merge: fbbbc9611a c52dc724b6 Author: xiazcy <xia...@gmail.com> AuthorDate: Tue Jul 8 18:10:52 2025 -0400 Merge branch '3.8-dev' CHANGELOG.asciidoc | 3 + gremlin-console/src/main/bin/gremlin.sh | 1 + .../process/traversal/step/map/CallStep.java | 20 ++++--- .../process/traversal/step/map/CallStepTest.java | 68 ++++++++++++++++++++++ 4 files changed, 83 insertions(+), 9 deletions(-) diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java index 21c6058057,feb7f90b8d..ea909b5606 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java @@@ -60,10 -59,10 +60,10 @@@ public final class CallStep<S, E> exten private final boolean isStart; private boolean first = true; - private ServiceCallContext ctx; - private String serviceName; - private Service<S, E> service; + private transient ServiceCallContext ctx; + private final String serviceName; + private transient Service<S, E> service; - private final Map staticParams; + private GValue<Map> staticParams; private Traversal.Admin<S,Map> mapTraversal; private Parameters parameters; @@@ -97,17 -87,20 +97,20 @@@ this.isStart = isStart; this.serviceName = service; - this.staticParams = staticParams == null ? new LinkedHashMap() : staticParams; + this.staticParams = staticParams == null || staticParams.isNull() ? GValue.ofMap(staticParams.getName(), new LinkedHashMap()) : staticParams; this.mapTraversal = mapTraversal == null ? null : integrateChild(mapTraversal); this.parameters = new Parameters(); - this.ctx = new ServiceCallContext(traversal, this); } protected Service<S, E> service() { // throws exception for unrecognized service - return service != null ? service : (service = getServiceRegistry().get(serviceName, isStart, staticParams)); + return service != null ? service : (service = getServiceRegistry().get(serviceName, isStart, staticParams.get())); } + private ServiceCallContext ctx() { + return ctx != null ? ctx : (ctx = new ServiceCallContext(traversal, this)); + } + public String getServiceName() { return serviceName; }