File tree Expand file tree Collapse file tree 3 files changed +22
-24
lines changed Expand file tree Collapse file tree 3 files changed +22
-24
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ use std::{
8
8
path:: PathBuf ,
9
9
} ;
10
10
11
- use anyhow:: { bail, ensure, Result } ;
11
+ use anyhow:: { bail, ensure, Context , Result } ;
12
12
use rustix:: fs:: makedev;
13
13
use tar:: { EntryType , Header , PaxExtensions } ;
14
14
use tokio:: io:: { AsyncRead , AsyncReadExt } ;
@@ -104,11 +104,13 @@ pub async fn split_async(
104
104
}
105
105
106
106
if let Some ( sender) = & writer. object_sender {
107
- sender. send ( EnsureObjectMessages :: Finish ( FinishMessage {
108
- data : std:: mem:: take ( & mut writer. inline_content ) ,
109
- total_msgs : seq_num,
110
- layer_num,
111
- } ) ) ?;
107
+ sender
108
+ . send ( EnsureObjectMessages :: Finish ( FinishMessage {
109
+ data : std:: mem:: take ( & mut writer. inline_content ) ,
110
+ total_msgs : seq_num,
111
+ layer_num,
112
+ } ) )
113
+ . with_context ( || format ! ( "Failed to send final message for layer {layer_num}" ) ) ?;
112
114
}
113
115
114
116
Ok ( ( ) )
Original file line number Diff line number Diff line change @@ -219,16 +219,16 @@ impl SplitStreamWriter<'_> {
219
219
Some ( sender) => {
220
220
let inline_content = std:: mem:: replace ( & mut self . inline_content , padding) ;
221
221
222
- if let Err ( e ) =
223
- sender . send ( EnsureObjectMessages :: Data ( SplitStreamWriterSenderData {
222
+ sender
223
+ . send ( EnsureObjectMessages :: Data ( SplitStreamWriterSenderData {
224
224
external_data : data,
225
225
inline_content,
226
226
seq_num,
227
227
layer_num,
228
228
} ) )
229
- {
230
- println ! ( "Falied to send message. Err: {}" , e . to_string ( ) ) ;
231
- }
229
+ . with_context ( || {
230
+ format ! ( "Failed to send message to writer for layer {layer_num}" )
231
+ } ) ? ;
232
232
}
233
233
234
234
None => {
Original file line number Diff line number Diff line change @@ -98,8 +98,8 @@ impl MultipleZstdWriters {
98
98
assert ! ( layer_num >= layer_num_start && layer_num <= layer_num_end) ;
99
99
100
100
match self . writers [ layers_to_writers[ layer_num] ] . handle_received_data ( data) {
101
- Ok ( t ) => {
102
- if t {
101
+ Ok ( finished ) => {
102
+ if finished {
103
103
finished_writers += 1
104
104
}
105
105
}
@@ -295,18 +295,15 @@ impl ZstdWriter {
295
295
296
296
let sha = self . finalize_sha256_builder ( ) ?;
297
297
298
- if let Err ( e) = self
299
- . get_state ( )
298
+ self . get_state ( )
300
299
. object_sender
301
300
. send ( EnsureObjectMessages :: Data ( SplitStreamWriterSenderData {
302
301
external_data : finished,
303
302
inline_content : vec ! [ ] ,
304
- seq_num : 0 ,
303
+ seq_num : final_message . total_msgs ,
305
304
layer_num : final_message. layer_num ,
306
305
} ) )
307
- {
308
- println ! ( "Failed to finish writer. Err: {e}" ) ;
309
- } ;
306
+ . with_context ( || format ! ( "Failed to send object finalize message" ) ) ?;
310
307
311
308
Ok ( sha)
312
309
}
@@ -324,13 +321,12 @@ impl ZstdWriter {
324
321
let object_path = Repository :: format_object_path ( & recv_data. digest ) ;
325
322
self . repository . ensure_symlink ( & stream_path, & object_path) ?;
326
323
327
- if let Err ( e) = self
328
- . get_state ( )
324
+ self . get_state ( )
329
325
. final_result_sender
330
326
. send ( Ok ( ( final_sha, recv_data. digest ) ) )
331
- {
332
- println ! ( "Failed to send final digest with err: {e :?}" ) ;
333
- }
327
+ . with_context ( || {
328
+ format ! ( "Failed to send result for layer {final_sha :?}" )
329
+ } ) ? ;
334
330
335
331
return Ok ( true ) ;
336
332
}
You can’t perform that action at this time.
0 commit comments