Skip to content

Commit 9790e18

Browse files
committed
Merge branch 'main' into antoine/table-filter
2 parents 21871f1 + ebbbc8a commit 9790e18

File tree

56 files changed

+595
-529
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+595
-529
lines changed

.github/pull_request_template.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ We track various metrics at <https://build.rerun.io>.
1919
For maintainers:
2020
* To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
2121
* To deploy documentation changes immediately after merging this PR, add the `deploy docs` label.
22+
23+
For more details check the PR section on <https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md>.
2224
-->

.github/workflows/labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
with:
4040
mode: minimum
4141
count: 1
42-
labels: "📊 analytics, 🟦 blueprint, 🪳 bug, 🌊 C++ API, CLI, codegen/idl, 🧑‍💻 dev experience, dependencies, 📖 documentation, 💬 discussion, examples, exclude from changelog, 🪵 Log & send APIs, 📉 performance, 🐍 Python API, ⛃ re_datastore, 🔍 re_query, 📺 re_viewer, 🔺 re_renderer, 🚜 refactor, ⛴ release, 🦀 Rust API, 🔨 testing, ui, 🕸️ web"
42+
labels: "📊 analytics, 🟦 blueprint, 🪳 bug, CLI, codegen/idl, 🧑‍💻 dev experience, dependencies, 📖 documentation, 💬 discussion, examples, exclude from changelog, 🪵 Log & send APIs, 📉 performance, sdk-python, sdk-cpp, sdk-rust, ⛃ re_datastore, 🔍 re_query, 📺 re_viewer, 🔺 re_renderer, 🚜 refactor, ⛴ release, 🔨 testing, ui, 🕸️ web"
4343

4444
wasm-bindgen-check:
4545
name: Check wasm-bindgen version

CONTRIBUTING.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,41 @@ Members of the `rerun-io` organization and collaborators in the `rerun-io/rerun`
3636

3737
![PR comment with the text `@rerun-bot approve`](https://github.com/rerun-io/rerun/assets/1665677/b5f07f3f-ea95-44a4-8eb7-f07c905f96c3)
3838

39+
40+
### Labeling of PRs & changelog generation
41+
42+
Members of the `rerun-io` organization _have_ to add label PRs since they're part of how we generate [changelogs](https://github.com/rerun-io/rerun/blob/main/CHANGELOG.md).
43+
44+
If `include in changelog` is present, the **title** of the PR will be used as a line in the detailed section of the changelog.
45+
Therefore, make sure that it's informative & concise without any additional context other than the category.
46+
If a PR title should not be part of the changelog, you _have_ to label the PR with `exclude from changelog`.
47+
48+
The category of the changelog entry is governed by additional labels of which you have to provide at least one.
49+
The exact list may change over time, see the [CI job](./.github/workflows/labels.yml) checking for it for a full list.
50+
51+
Beyond changelog categorization, it's encouraged to add too many rather than too few labels as they help with search.
52+
53+
#### What should go to the changelog?
54+
55+
Whether a PR should be added to the changelog isn't always clear cut, but it's advised to err on the side of
56+
adding too many entries rather than too few!
57+
Generally, whenever you believe that this is a value-add for a user browsing the detailed changelog, add it.
58+
Also, credit where credit is due, be more generous adding contributions from outside the `rerun-io` org to the changelog!
59+
60+
We typically don't include:
61+
pure refactors, testing, CI fixes, fixes for bugs that showed up since the last release, minor doc changes (like typos) etc.
62+
63+
#### Other special labels
64+
65+
* `deploy docs`:
66+
PRs marked with this will automatically be cherry-picked to the `docs-latest` branch which then will kick off a rebuild of the public [doc page](https://www.rerun.io/docs)
67+
Use this for landing doc fixes that are relevant to the latest release.
68+
* `do-not-merge`:
69+
Will fail the CI unconditionally.
70+
Useful e.g. for opening PRs that target branches other than `main` which you want to rebase prior to merging
71+
or when you're still waiting on a test result.
72+
Alternatively, you can also use checkboxes in the PR description - any unticked checkboxes will make the ci fail automatically ✨
73+
3974
## Contributing to CI
4075

4176
Every CI job would in its ideal state consist of only a single `pixi` (or similar) script invocation that works locally as-is.

Cargo.lock

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ dependencies = [
642642
"memchr",
643643
"num",
644644
"regex",
645-
"regex-syntax 0.8.5",
645+
"regex-syntax",
646646
]
647647

648648
[[package]]
@@ -1288,7 +1288,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
12881288
checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
12891289
dependencies = [
12901290
"memchr",
1291-
"regex-automata 0.4.9",
1291+
"regex-automata",
12921292
"serde",
12931293
]
12941294

@@ -2722,7 +2722,7 @@ dependencies = [
27222722
"log",
27232723
"recursive",
27242724
"regex",
2725-
"regex-syntax 0.8.5",
2725+
"regex-syntax",
27262726
]
27272727

27282728
[[package]]
@@ -5212,11 +5212,11 @@ dependencies = [
52125212

52135213
[[package]]
52145214
name = "matchers"
5215-
version = "0.1.0"
5215+
version = "0.2.0"
52165216
source = "registry+https://github.com/rust-lang/crates.io-index"
5217-
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
5217+
checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
52185218
dependencies = [
5219-
"regex-automata 0.1.10",
5219+
"regex-automata",
52205220
]
52215221

52225222
[[package]]
@@ -5617,12 +5617,11 @@ dependencies = [
56175617

56185618
[[package]]
56195619
name = "nu-ansi-term"
5620-
version = "0.46.0"
5620+
version = "0.50.1"
56215621
source = "registry+https://github.com/rust-lang/crates.io-index"
5622-
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
5622+
checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399"
56235623
dependencies = [
5624-
"overload",
5625-
"winapi",
5624+
"windows-sys 0.52.0",
56265625
]
56275626

56285627
[[package]]
@@ -6255,12 +6254,6 @@ dependencies = [
62556254
"pin-project-lite",
62566255
]
62576256

6258-
[[package]]
6259-
name = "overload"
6260-
version = "0.1.1"
6261-
source = "registry+https://github.com/rust-lang/crates.io-index"
6262-
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
6263-
62646257
[[package]]
62656258
name = "owned_ttf_parser"
62666259
version = "0.25.0"
@@ -9234,17 +9227,8 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
92349227
dependencies = [
92359228
"aho-corasick",
92369229
"memchr",
9237-
"regex-automata 0.4.9",
9238-
"regex-syntax 0.8.5",
9239-
]
9240-
9241-
[[package]]
9242-
name = "regex-automata"
9243-
version = "0.1.10"
9244-
source = "registry+https://github.com/rust-lang/crates.io-index"
9245-
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
9246-
dependencies = [
9247-
"regex-syntax 0.6.29",
9230+
"regex-automata",
9231+
"regex-syntax",
92489232
]
92499233

92509234
[[package]]
@@ -9255,7 +9239,7 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
92559239
dependencies = [
92569240
"aho-corasick",
92579241
"memchr",
9258-
"regex-syntax 0.8.5",
9242+
"regex-syntax",
92599243
]
92609244

92619245
[[package]]
@@ -9264,12 +9248,6 @@ version = "0.1.6"
92649248
source = "registry+https://github.com/rust-lang/crates.io-index"
92659249
checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
92669250

9267-
[[package]]
9268-
name = "regex-syntax"
9269-
version = "0.6.29"
9270-
source = "registry+https://github.com/rust-lang/crates.io-index"
9271-
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
9272-
92739251
[[package]]
92749252
name = "regex-syntax"
92759253
version = "0.8.5"
@@ -11025,14 +11003,14 @@ dependencies = [
1102511003

1102611004
[[package]]
1102711005
name = "tracing-subscriber"
11028-
version = "0.3.19"
11006+
version = "0.3.20"
1102911007
source = "registry+https://github.com/rust-lang/crates.io-index"
11030-
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
11008+
checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
1103111009
dependencies = [
1103211010
"matchers",
1103311011
"nu-ansi-term",
1103411012
"once_cell",
11035-
"regex",
11013+
"regex-automata",
1103611014
"serde",
1103711015
"serde_json",
1103811016
"sharded-slab",

crates/build/re_types_builder/src/codegen/rust/deserializer.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -600,12 +600,10 @@ fn quote_arrow_field_deserializer(
600600
}
601601

602602
DataType::Utf8 => {
603-
let quoted_downcast = quote_array_downcast(
604-
obj_field_fqname,
605-
data_src,
606-
quote!(StringArray),
607-
quoted_datatype,
608-
);
603+
let quoted_downcast = {
604+
let cast_as = quote!(StringArray);
605+
quote_array_downcast(obj_field_fqname, data_src, cast_as, quoted_datatype)
606+
};
609607

610608
let quoted_iter_transparency = quote_iterator_transparency(
611609
objects,
@@ -641,8 +639,7 @@ fn quote_arrow_field_deserializer(
641639
(start, end), #data_src_buf.len(),
642640
));
643641
}
644-
645-
#[allow(unsafe_code, clippy::undocumented_unsafe_blocks)]
642+
#[allow(unsafe_code, clippy::undocumented_unsafe_blocks)] // TODO(apache/arrow-rs#6900): slice_with_length_unchecked unsafe when https://github.com/apache/arrow-rs/pull/6901 is merged and released
646643
let data = #data_src_buf.slice_with_length(start, len);
647644

648645
Ok(data)

crates/store/re_protos/proto/rerun/v1alpha1/cloud.proto

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ service RerunCloudService {
7474
// Search a previously created index.
7575
rpc SearchDataset(SearchDatasetRequest) returns (stream SearchDatasetResponse) {}
7676

77-
// Perform Rerun-native queries on a dataset, returning the matching chunk IDs.
77+
// Perform Rerun-native queries on a dataset, returning the matching chunk IDs, as well
78+
// as information that can be sent back to Rerun Cloud to fetch the actual chunks as part
79+
// of `FetchChunks` request. In this 2-step query process, 1st step is getting information
80+
// from the server about the chunks that contain relevant information. 2nd step is fetching
81+
// those chunks (the actual data).
7882
//
7983
// These Rerun-native queries include:
8084
// * Filtering by specific partition and chunk IDs.
@@ -96,6 +100,13 @@ service RerunCloudService {
96100
// To fetch only the actual chunk IDs rather than the chunks themselves, see `QueryDataset`.
97101
rpc GetChunks(GetChunksRequest) returns (stream GetChunksResponse) {}
98102

103+
// Fetch specific chunks from Rerun Cloud. In a 2-step query process, result of 1st phase,
104+
// that is, the result of `QueryDataset` should include all the necessary information to send
105+
// the actual chunk requests, which is the 2nd step of the query process.
106+
//
107+
// See `FetchChunksRequest` for details on the fields that describe each individual chunk.
108+
rpc FetchChunks(FetchChunksRequest) returns (stream FetchChunksResponse) {}
109+
99110
// --- Tables ---
100111
// TODO(jleibs): This will be replaced / extended by Arrow Flight
101112

@@ -533,6 +544,21 @@ message GetChunksResponse {
533544
repeated rerun.log_msg.v1alpha1.ArrowMsg chunks = 1;
534545
}
535546

547+
message FetchChunksRequest {
548+
// Information about the chunks to fetch. These dataframes have to include the following columns:
549+
// * `chunk_id` - Chunk unique identifier
550+
// * `partition_id` - partition this chunk belongs to. Currently needed as we pass this metadata back and forth
551+
// * `partition_layer` - specific partition layer. Currently needed as we pass this metadata back and forth
552+
// * `chunk_key` - chunk location details
553+
repeated rerun.common.v1alpha1.DataframePart chunk_infos = 1;
554+
}
555+
556+
message FetchChunksResponse {
557+
// Every gRPC response, even within the confines of a stream, involves HTTP2 overhead, which isn't
558+
// cheap by any means, which is why we're returning a batch of `ArrowMsg` rather than a single one.
559+
repeated rerun.log_msg.v1alpha1.ArrowMsg chunks = 1;
560+
}
561+
536562
// --- Table Apis ---
537563

538564
message GetTableSchemaRequest {

crates/store/re_protos/src/v1alpha1/rerun.cloud.v1alpha1.ext.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1255,7 +1255,7 @@ impl ScanPartitionTableResponse {
12551255
// --- DataSource --
12561256

12571257
// NOTE: Match the values of the Protobuf definition to keep life simple.
1258-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
1258+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
12591259
pub enum DataSourceKind {
12601260
Rrd = 1,
12611261
}

0 commit comments

Comments
 (0)