@@ -41,10 +41,7 @@ use super::modal::IngesterMetadata;
4141pub async fn sync_streams_with_ingesters ( stream_name : & str ) -> Result < ( ) , StreamError > {
4242 let ingester_infos = get_ingester_info ( ) . await . map_err ( |err| {
4343 log:: error!( "Fatal: failed to get ingester info: {:?}" , err) ;
44- StreamError :: Custom {
45- msg : format ! ( "failed to get ingester info\n {:?}" , err) ,
46- status : StatusCode :: INTERNAL_SERVER_ERROR ,
47- }
44+ StreamError :: Anyhow ( err)
4845 } ) ?;
4946
5047 let mut errored = false ;
@@ -96,10 +93,7 @@ pub async fn fetch_stats_from_ingesters(
9693
9794 let ingester_infos = get_ingester_info ( ) . await . map_err ( |err| {
9895 log:: error!( "Fatal: failed to get ingester info: {:?}" , err) ;
99- StreamError :: Custom {
100- msg : format ! ( "failed to get ingester info\n {:?}" , err) ,
101- status : StatusCode :: INTERNAL_SERVER_ERROR ,
102- }
96+ StreamError :: Anyhow ( err)
10397 } ) ?;
10498
10599 for ingester in ingester_infos {
@@ -163,13 +157,7 @@ async fn send_stream_sync_request(
163157 ingester. domain_name,
164158 err
165159 ) ;
166- StreamError :: Custom {
167- msg : format ! (
168- "failed to forward create stream request to ingester: {}\n Error: {:?}" ,
169- ingester. domain_name, err
170- ) ,
171- status : StatusCode :: INTERNAL_SERVER_ERROR ,
172- }
160+ StreamError :: Network ( err)
173161 } ) ?;
174162
175163 if !res. status ( ) . is_success ( ) {
@@ -178,14 +166,7 @@ async fn send_stream_sync_request(
178166 ingester. domain_name,
179167 res
180168 ) ;
181- return Err ( StreamError :: Custom {
182- msg : format ! (
183- "failed to forward create stream request to ingester: {}\n Response Returned: {:?}" ,
184- ingester. domain_name,
185- res. text( ) . await . unwrap_or_default( )
186- ) ,
187- status : StatusCode :: INTERNAL_SERVER_ERROR ,
188- } ) ;
169+ return Err ( StreamError :: Network ( res. error_for_status ( ) . unwrap_err ( ) ) ) ;
189170 }
190171
191172 Ok ( ( ) )
@@ -214,13 +195,7 @@ async fn send_stream_rollback_request(
214195 ingester. domain_name,
215196 err
216197 ) ;
217- StreamError :: Custom {
218- msg : format ! (
219- "failed to rollback stream creation: {}\n Error: {:?}" ,
220- ingester. domain_name, err
221- ) ,
222- status : StatusCode :: INTERNAL_SERVER_ERROR ,
223- }
198+ StreamError :: Network ( err)
224199 } ) ?;
225200
226201 // if the response is not successful, log the error and return a custom error
@@ -247,10 +222,7 @@ async fn send_stream_rollback_request(
247222pub async fn get_cluster_info ( ) -> Result < impl Responder , StreamError > {
248223 let ingester_infos = get_ingester_info ( ) . await . map_err ( |err| {
249224 log:: error!( "Fatal: failed to get ingester info: {:?}" , err) ;
250- StreamError :: Custom {
251- msg : format ! ( "failed to get ingester info\n {:?}" , err) ,
252- status : StatusCode :: INTERNAL_SERVER_ERROR ,
253- }
225+ StreamError :: Anyhow ( err)
254226 } ) ?;
255227
256228 let mut infos = vec ! [ ] ;
@@ -275,19 +247,13 @@ pub async fn get_cluster_info() -> Result<impl Responder, StreamError> {
275247
276248 let resp_data = resp. bytes ( ) . await . map_err ( |err| {
277249 log:: error!( "Fatal: failed to parse ingester info to bytes: {:?}" , err) ;
278- StreamError :: Custom {
279- msg : format ! ( "failed to parse ingester info to bytes: {:?}" , err) ,
280- status : StatusCode :: INTERNAL_SERVER_ERROR ,
281- }
250+ StreamError :: Network ( err)
282251 } ) ?;
283252
284253 let sp = serde_json:: from_slice :: < JsonValue > ( & resp_data)
285254 . map_err ( |err| {
286255 log:: error!( "Fatal: failed to parse ingester info: {:?}" , err) ;
287- StreamError :: Custom {
288- msg : format ! ( "failed to parse ingester info: {:?}" , err) ,
289- status : StatusCode :: INTERNAL_SERVER_ERROR ,
290- }
256+ StreamError :: ResponseError ( err)
291257 } ) ?
292258 . get ( "staging" )
293259 . unwrap ( )
@@ -321,7 +287,7 @@ pub async fn get_cluster_info() -> Result<impl Responder, StreamError> {
321287pub async fn get_cluster_metrics ( ) -> Result < impl Responder , PostError > {
322288 let ingester_metadata = get_ingester_info ( ) . await . map_err ( |err| {
323289 log:: error!( "Fatal: failed to get ingester info: {:?}" , err) ;
324- PostError :: CustomError ( err. to_string ( ) )
290+ PostError :: Invalid ( err)
325291 } ) ?;
326292
327293 let mut dresses = vec ! [ ] ;
@@ -341,10 +307,7 @@ pub async fn get_cluster_metrics() -> Result<impl Responder, PostError> {
341307 . await ;
342308
343309 if let Ok ( res) = res {
344- let text = res
345- . text ( )
346- . await
347- . map_err ( |err| PostError :: CustomError ( err. to_string ( ) ) ) ?;
310+ let text = res. text ( ) . await . map_err ( PostError :: NetworkError ) ?;
348311 let lines: Vec < Result < String , std:: io:: Error > > =
349312 text. lines ( ) . map ( |line| Ok ( line. to_owned ( ) ) ) . collect_vec ( ) ;
350313
0 commit comments