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