@@ -26,6 +26,7 @@ use crate::handlers::http::logstream::error::StreamError;
2626use crate :: option:: CONFIG ;
2727
2828use crate :: metrics:: prom_utils:: Metrics ;
29+ use crate :: storage:: ObjectStorageError ;
2930use actix_web:: http:: header;
3031use actix_web:: { HttpRequest , Responder } ;
3132use http:: StatusCode ;
@@ -354,21 +355,31 @@ pub async fn remove_ingester(req: HttpRequest) -> Result<impl Responder, PostErr
354355 let domain_name = to_url_string ( domain_name) ;
355356
356357 if check_liveness ( & domain_name) . await {
357- return Err ( PostError :: Invalid ( anyhow:: anyhow!( "Ingester is Online" ) ) ) ;
358+ return Err ( PostError :: Invalid ( anyhow:: anyhow!( "Node Online" ) ) ) ;
358359 }
359360
360361 let ingester_meta_filename = ingester_meta_filename ( & domain_name) ;
361362 let object_store = CONFIG . storage ( ) . get_object_store ( ) ;
362363 let msg = match object_store
363- . delete_ingester_meta ( ingester_meta_filename)
364+ . try_delete_ingester_meta ( ingester_meta_filename)
364365 . await
365366 {
366367 Ok ( _) => {
367- format ! ( "Ingester {} Removed" , domain_name)
368+ format ! ( "Node {} Removed Successfully" , domain_name)
369+ }
370+ Err ( err) => {
371+ if matches ! ( err, ObjectStorageError :: IoError ( _) ) {
372+ format ! ( "Node {} Not Found" , domain_name)
373+ } else {
374+ format ! (
375+ "Error Removing Node {}\n Reason: {}" ,
376+ domain_name,
377+ err. to_string( )
378+ )
379+ }
368380 }
369- Err ( err) => err. to_string ( ) ,
370381 } ;
371382
372- log:: error !( "{}" , & msg) ;
383+ log:: info !( "{}" , & msg) ;
373384 Ok ( ( msg, StatusCode :: OK ) )
374385}
0 commit comments