From 5e3aaf355c1339c1178c11c8664eee609303a0f6 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Wed, 12 Feb 2025 12:09:48 +0100 Subject: [PATCH 1/2] Log errors as errors --- crates/store/re_grpc_client/src/redap/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/store/re_grpc_client/src/redap/mod.rs b/crates/store/re_grpc_client/src/redap/mod.rs index 6a0bccb6b29c..3d8a9b8e23e9 100644 --- a/crates/store/re_grpc_client/src/redap/mod.rs +++ b/crates/store/re_grpc_client/src/redap/mod.rs @@ -71,7 +71,7 @@ pub fn stream_from_redap( recording_id, } => { if let Err(err) = stream_recording_async(tx, origin, recording_id, on_msg).await { - re_log::warn!( + re_log::error!( "Error while streaming {url}: {}", re_error::format_ref(&err) ); @@ -79,7 +79,7 @@ pub fn stream_from_redap( } RedapAddress::Catalog { origin } => { if let Err(err) = stream_catalog_async(tx, origin, on_msg).await { - re_log::warn!( + re_log::error!( "Error while streaming {url}: {}", re_error::format_ref(&err) ); From d6b4eb6390eb80b7c601c68015570c4ceeb68051 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Wed, 12 Feb 2025 12:10:16 +0100 Subject: [PATCH 2/2] Remove check for inner nullability of component columns Fixes connection to redap server --- crates/store/re_chunk/src/chunk.rs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/crates/store/re_chunk/src/chunk.rs b/crates/store/re_chunk/src/chunk.rs index 85e234eb0d89..34b99c8d20e1 100644 --- a/crates/store/re_chunk/src/chunk.rs +++ b/crates/store/re_chunk/src/chunk.rs @@ -1521,24 +1521,19 @@ impl Chunk { component_name.sanity_check(); for (component_desc, list_array) in per_desc { component_desc.component_name.sanity_check(); - if !matches!(list_array.data_type(), arrow::datatypes::DataType::List(_)) { + // Ensure that each cell is a list (we don't support mono-components yet). + if let arrow::datatypes::DataType::List(_field) = list_array.data_type() { + // We don't check `field.is_nullable()` here because we support both. + // TODO(#6819): Remove support for inner nullability. + } else { return Err(ChunkError::Malformed { reason: format!( - "The outer array in a chunked component batch must be a sparse list, got {:?}", + "The inner array in a chunked component batch must be a list, got {:?}", list_array.data_type(), ), }); } - if let arrow::datatypes::DataType::List(field) = list_array.data_type() { - if !field.is_nullable() { - return Err(ChunkError::Malformed { - reason: format!( - "The outer array in chunked component batch must be a sparse list, got {:?}", - list_array.data_type(), - ), - }); - } - } + if list_array.len() != row_ids.len() { return Err(ChunkError::Malformed { reason: format!(