@@ -160,8 +160,8 @@ pub struct MetricsSplitMetadata {
160160 /// When this split was created.
161161 pub created_at : SystemTime ,
162162
163- /// Parquet file path(s) relative to storage root.
164- pub parquet_files : Vec < String > ,
163+ /// Parquet file path relative to storage root.
164+ pub parquet_file : String ,
165165
166166 /// Time window as `[start, start + duration)` in epoch seconds.
167167 /// None for pre-Phase-31 splits (backward compat).
@@ -175,7 +175,8 @@ pub struct MetricsSplitMetadata {
175175 /// 0 for newly ingested splits.
176176 pub num_merge_ops : u32 ,
177177
178- /// RowKeys (sort-key min/max boundaries) as proto bytes.
178+ /// RowKeys (sort-key min/max boundaries) as serialized proto bytes
179+ /// ([`sortschema::RowKeys`](../../quickwit-proto/protos/event_store_sortschema/event_store_sortschema.proto)).
179180 /// None for pre-Phase-31 splits or splits without sort schema.
180181 pub row_keys_proto : Option < Vec < u8 > > ,
181182
@@ -198,7 +199,7 @@ struct MetricsSplitMetadataSerde {
198199 low_cardinality_tags : HashMap < String , HashSet < String > > ,
199200 high_cardinality_tag_keys : HashSet < String > ,
200201 created_at : SystemTime ,
201- parquet_files : Vec < String > ,
202+ parquet_file : String ,
202203
203204 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
204205 window_start : Option < i64 > ,
@@ -235,7 +236,7 @@ impl From<MetricsSplitMetadataSerde> for MetricsSplitMetadata {
235236 low_cardinality_tags : s. low_cardinality_tags ,
236237 high_cardinality_tag_keys : s. high_cardinality_tag_keys ,
237238 created_at : s. created_at ,
238- parquet_files : s. parquet_files ,
239+ parquet_file : s. parquet_file ,
239240 window,
240241 sort_fields : s. sort_fields ,
241242 num_merge_ops : s. num_merge_ops ,
@@ -261,7 +262,7 @@ impl From<MetricsSplitMetadata> for MetricsSplitMetadataSerde {
261262 low_cardinality_tags : m. low_cardinality_tags ,
262263 high_cardinality_tag_keys : m. high_cardinality_tag_keys ,
263264 created_at : m. created_at ,
264- parquet_files : m. parquet_files ,
265+ parquet_file : m. parquet_file ,
265266 window_start,
266267 window_duration_secs,
267268 sort_fields : m. sort_fields ,
@@ -351,7 +352,7 @@ pub struct MetricsSplitMetadataBuilder {
351352 metric_names : HashSet < String > ,
352353 low_cardinality_tags : HashMap < String , HashSet < String > > ,
353354 high_cardinality_tag_keys : HashSet < String > ,
354- parquet_files : Vec < String > ,
355+ parquet_file : String ,
355356 window_start : Option < i64 > ,
356357 window_duration_secs : u32 ,
357358 sort_fields : String ,
@@ -425,8 +426,8 @@ impl MetricsSplitMetadataBuilder {
425426 self
426427 }
427428
428- pub fn add_parquet_file ( mut self , path : impl Into < String > ) -> Self {
429- self . parquet_files . push ( path. into ( ) ) ;
429+ pub fn parquet_file ( mut self , path : impl Into < String > ) -> Self {
430+ self . parquet_file = path. into ( ) ;
430431 self
431432 }
432433
@@ -500,7 +501,7 @@ impl MetricsSplitMetadataBuilder {
500501 low_cardinality_tags : self . low_cardinality_tags ,
501502 high_cardinality_tag_keys : self . high_cardinality_tag_keys ,
502503 created_at : SystemTime :: now ( ) ,
503- parquet_files : self . parquet_files ,
504+ parquet_file : self . parquet_file ,
504505 window,
505506 sort_fields : self . sort_fields ,
506507 num_merge_ops : self . num_merge_ops ,
@@ -626,7 +627,7 @@ mod tests {
626627 "low_cardinality_tags": {},
627628 "high_cardinality_tag_keys": [],
628629 "created_at": {"secs_since_epoch": 1700000000, "nanos_since_epoch": 0},
629- "parquet_files ": [ "split1.parquet"]
630+ "parquet_file ": "split1.parquet"
630631 }"# ;
631632
632633 let metadata: MetricsSplitMetadata =
0 commit comments