diff --git a/src/cluster.rs b/src/cluster.rs index 6b26f58..fa055ed 100644 --- a/src/cluster.rs +++ b/src/cluster.rs @@ -86,12 +86,7 @@ impl Cluster { panic!("decompress file list error: {:?}", raw_data.err()); } let raw_data = raw_data.unwrap(); - let file_list = avro_data_to_file_list(raw_data); - if file_list.is_err() { - panic!("parse file list error: {:?}", file_list.err()); - } - let file_list = file_list.unwrap(); - file_list + avro_data_to_file_list(raw_data) } _ => { panic!("error status: {:?}", res.status()); diff --git a/src/utils.rs b/src/utils.rs index 4b9a589..a12bc15 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -70,12 +70,12 @@ pub const SYNC_FILE_LIST_SCHEMA: &str = r#" "#; /// 用来将 BYD avro 格式的数据转换成文件列表 -pub fn avro_data_to_file_list(data: Vec) -> apache_avro::AvroResult> { +pub fn avro_data_to_file_list(data: Vec) -> Vec { let chema = apache_avro::Schema::parse_str(SYNC_FILE_LIST_SCHEMA).unwrap(); let mut cur = Cursor::new(data); let reader = from_avro_datum(&chema, &mut cur, Some(&chema)); if reader.is_err() { - return Err(reader.err().unwrap()); + panic!("parse avro data error: {:?}", reader.err()); } let value = reader.unwrap(); match &value { @@ -86,7 +86,7 @@ pub fn avro_data_to_file_list(data: Vec) -> apache_avro::AvroResult(item).unwrap(); files.push(try_item); } - Ok(files) + files } _ => { panic!("invalid avro data, expect array")