@@ -24,12 +24,12 @@ use std::convert::TryInto;
24
24
use ballista_core:: serde:: protobuf:: executor_registration:: OptionalHost ;
25
25
use ballista_core:: serde:: protobuf:: scheduler_grpc_server:: SchedulerGrpc ;
26
26
use ballista_core:: serde:: protobuf:: {
27
- executor_status, CancelJobParams , CancelJobResult , ExecuteQueryParams ,
28
- ExecuteQueryResult , ExecutorHeartbeat , ExecutorStatus , ExecutorStoppedParams ,
29
- ExecutorStoppedResult , GetFileMetadataParams , GetFileMetadataResult ,
30
- GetJobStatusParams , GetJobStatusResult , HeartBeatParams , HeartBeatResult ,
31
- PollWorkParams , PollWorkResult , RegisterExecutorParams , RegisterExecutorResult ,
32
- UpdateTaskStatusParams , UpdateTaskStatusResult ,
27
+ executor_status, CancelJobParams , CancelJobResult , CleanJobDataParams ,
28
+ CleanJobDataResult , ExecuteQueryParams , ExecuteQueryResult , ExecutorHeartbeat ,
29
+ ExecutorStatus , ExecutorStoppedParams , ExecutorStoppedResult , GetFileMetadataParams ,
30
+ GetFileMetadataResult , GetJobStatusParams , GetJobStatusResult , HeartBeatParams ,
31
+ HeartBeatResult , PollWorkParams , PollWorkResult , RegisterExecutorParams ,
32
+ RegisterExecutorResult , UpdateTaskStatusParams , UpdateTaskStatusResult ,
33
33
} ;
34
34
use ballista_core:: serde:: scheduler:: { ExecutorData , ExecutorMetadata } ;
35
35
use ballista_core:: serde:: AsExecutionPlan ;
@@ -545,6 +545,30 @@ impl<T: 'static + AsLogicalPlan, U: 'static + AsExecutionPlan> SchedulerGrpc
545
545
} ) ?;
546
546
Ok ( Response :: new ( CancelJobResult { cancelled : true } ) )
547
547
}
548
+
549
+ async fn clean_job_data (
550
+ & self ,
551
+ request : Request < CleanJobDataParams > ,
552
+ ) -> Result < Response < CleanJobDataResult > , Status > {
553
+ let job_id = request. into_inner ( ) . job_id ;
554
+ info ! ( "Received clean data request for job {}" , job_id) ;
555
+
556
+ self . query_stage_event_loop
557
+ . get_sender ( )
558
+ . map_err ( |e| {
559
+ let msg = format ! ( "Get query stage event loop error due to {:?}" , e) ;
560
+ error ! ( "{}" , msg) ;
561
+ Status :: internal ( msg)
562
+ } ) ?
563
+ . post_event ( QueryStageSchedulerEvent :: JobDataClean ( job_id) )
564
+ . await
565
+ . map_err ( |e| {
566
+ let msg = format ! ( "Post to query stage event loop error due to {:?}" , e) ;
567
+ error ! ( "{}" , msg) ;
568
+ Status :: internal ( msg)
569
+ } ) ?;
570
+ Ok ( Response :: new ( CleanJobDataResult { } ) )
571
+ }
548
572
}
549
573
550
574
#[ cfg( all( test, feature = "sled" ) ) ]
0 commit comments