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;
      }

Reply via email to