30
30
31
31
from gscoordinator .monitor import Monitor
32
32
from gscoordinator .object_manager import GraphMeta
33
- from gscoordinator .object_manager import GremlinResultSet
34
33
from gscoordinator .object_manager import LibMeta
35
34
from gscoordinator .utils import ANALYTICAL_BUILTIN_SPACE
36
35
from gscoordinator .utils import ANALYTICAL_ENGINE_JAVA_INIT_CLASS_PATH
@@ -441,11 +440,7 @@ def run_on_interactive_engine(self, dag_def: op_def_pb2.DagDef):
441
440
for op in dag_def .op :
442
441
self ._key_to_op [op .key ] = op
443
442
op_pre_process (op , self ._op_result_pool , self ._key_to_op )
444
- if op .op == types_pb2 .GREMLIN_QUERY :
445
- op_result = self ._execute_gremlin_query (op )
446
- elif op .op == types_pb2 .FETCH_GREMLIN_RESULT :
447
- op_result = self ._fetch_gremlin_result (op )
448
- elif op .op == types_pb2 .SUBGRAPH :
443
+ if op .op == types_pb2 .SUBGRAPH :
449
444
op_result = self ._gremlin_to_subgraph (op )
450
445
else :
451
446
raise RuntimeError ("Unsupported op type: " + str (op .op ))
@@ -454,39 +449,6 @@ def run_on_interactive_engine(self, dag_def: op_def_pb2.DagDef):
454
449
self ._op_result_pool [op .key ] = op_result
455
450
return message_pb2 .RunStepResponse (head = response_head ), []
456
451
457
- def _execute_gremlin_query (self , op : op_def_pb2 .OpDef ):
458
- logger .debug ("execute gremlin query" )
459
- message = op .attr [types_pb2 .GIE_GREMLIN_QUERY_MESSAGE ].s .decode ()
460
- request_options = None
461
- if types_pb2 .GIE_GREMLIN_REQUEST_OPTIONS in op .attr :
462
- request_options = json .loads (
463
- op .attr [types_pb2 .GIE_GREMLIN_REQUEST_OPTIONS ].s .decode ()
464
- )
465
- object_id = op .attr [types_pb2 .VINEYARD_ID ].i
466
- gremlin_client = self ._object_manager .get (object_id )
467
- rlt = gremlin_client .submit (message , request_options = request_options )
468
- logger .debug ("put %s, client %s" , op .key , gremlin_client )
469
- self ._object_manager .put (op .key , GremlinResultSet (op .key , rlt ))
470
- return op_def_pb2 .OpResult (code = OK , key = op .key )
471
-
472
- def _fetch_gremlin_result (self , op : op_def_pb2 .OpDef ):
473
- fetch_result_type = op .attr [types_pb2 .GIE_GREMLIN_FETCH_RESULT_TYPE ].s .decode ()
474
- key_of_parent_op = op .parents [0 ]
475
- result_set = self ._object_manager .get (key_of_parent_op ).result_set
476
- if fetch_result_type == "one" :
477
- rlt = result_set .one ()
478
- elif fetch_result_type == "all" :
479
- rlt = result_set .all ().result ()
480
- else :
481
- raise RuntimeError ("Not supported fetch result type: " + fetch_result_type )
482
- # Large data should be fetched use gremlin pagination
483
- # meta = op_def_pb2.OpResult.Meta(has_large_result=True)
484
- return op_def_pb2 .OpResult (
485
- code = OK ,
486
- key = op .key ,
487
- result = pickle .dumps (rlt ),
488
- )
489
-
490
452
def _gremlin_to_subgraph (self , op : op_def_pb2 .OpDef ):
491
453
gremlin_script = op .attr [types_pb2 .GIE_GREMLIN_QUERY_MESSAGE ].s .decode ()
492
454
oid_type = op .attr [types_pb2 .OID_TYPE ].s .decode ()
0 commit comments