-
Notifications
You must be signed in to change notification settings - Fork 370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
batching 3: DataRow
& DataTable
+ no bundles outside of transport
#1673
Conversation
de9aa19
to
a0b726e
Compare
9fa8981
to
eecff1a
Compare
a0b726e
to
7ff1630
Compare
c0d98b3
to
5642c48
Compare
ab6f087
to
a360d3f
Compare
5642c48
to
83d43d7
Compare
DataRow
& DataTable
+ ready to accept batchesDataRow
& DataTable
+ no bundles outside of transport
a360d3f
to
d6dede4
Compare
e647f07
to
579372d
Compare
// Instances | ||
#[error( | ||
"All components within a row must have the same number of instances as the \ | ||
cluster component, got {cluster_comp}={cluster_comp_nb_instances} vs. \ | ||
{key}={num_instances}" | ||
)] | ||
MismatchedInstances { | ||
cluster_comp: ComponentName, | ||
cluster_comp_nb_instances: u32, | ||
key: ComponentName, | ||
num_instances: u32, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DataRow
already makes sure this is upheld.
// TODO(cmc): Since we don't yet support mixing splatted data within instanced rows, | ||
// we need to craft an array of `MsgId`s that matches the length of the other components. | ||
this.cells.push(DataCell::from_native( | ||
vec![msg_id; this.num_instances()].iter(), | ||
)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
now handled by DataRow
cedfddc
to
d33cd0f
Compare
555d7d6
to
ed4ccae
Compare
d33cd0f
to
d8d507c
Compare
d8d507c
to
1fa6aa7
Compare
1fa6aa7
to
dc1c47f
Compare
@@ -761,60 +761,3 @@ fn test_arrow() { | |||
let tensors_out: Vec<Tensor> = TryIntoCollection::try_into_collection(array).unwrap(); | |||
assert_eq!(tensors_in, tensors_out); | |||
} | |||
|
|||
#[test] | |||
fn test_concat_and_slice() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't we need this test anymore?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is basically just testing that arrow2
and arrow2-convert
do the correct thing with unions, which is now tested upstream since we've upstreamed the fixes.
@@ -35,6 +34,7 @@ use crate::{ | |||
|
|||
// --- | |||
|
|||
// TODO: can probably make that one pub(crate) already |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How did this pass CI!?!? This made main
red
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Huh, missed it sorry 😞
In this PR:
DataRow
&DataTable
, which follow in the steps ofDataCell
.MsgBundle
except for the last serialization/deserialization step (i.e. when converting from/toArrowMsg
).DataTable
's contiguous memory as soon as we start sending more than one row.Aside from
data_row.rs
&data_table.rs
, it's all mostly grunt work, you can fly through. The interesting stuff starts (finally) in the next PR.On top of #1636
Part of #1619