Skip to content

Commit

Permalink
Add remote store protocol support for enumerating collections
Browse files Browse the repository at this point in the history
  • Loading branch information
drauschenbach committed Feb 25, 2025
1 parent dc62cef commit 43eb481
Show file tree
Hide file tree
Showing 7 changed files with 320 additions and 7 deletions.
15 changes: 8 additions & 7 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3930,7 +3930,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
dependencies = [
"cfg-if",
"windows-targets 0.48.5",
"windows-targets 0.52.6",
]

[[package]]
Expand Down Expand Up @@ -5316,9 +5316,9 @@ dependencies = [

[[package]]
name = "prost"
version = "0.13.3"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f"
checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5"
dependencies = [
"bytes",
"prost-derive",
Expand Down Expand Up @@ -5347,9 +5347,9 @@ dependencies = [

[[package]]
name = "prost-derive"
version = "0.13.3"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5"
checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d"
dependencies = [
"anyhow",
"itertools 0.13.0",
Expand All @@ -5360,9 +5360,9 @@ dependencies = [

[[package]]
name = "prost-types"
version = "0.13.3"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670"
checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16"
dependencies = [
"prost",
]
Expand Down Expand Up @@ -6354,6 +6354,7 @@ version = "0.23.0-alpha.1+dev"
dependencies = [
"arrow",
"prost",
"prost-types",
"re_build_info",
"re_byte_size",
"re_log_types",
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ proc-macro2 = { version = "1.0", default-features = false }
profiling = { version = "1.0.12", default-features = false }
prost = "0.13.3"
prost-build = "0.13.3"
prost-types = "0.13.5"
puffin = "0.19.1"
puffin_http = "0.16"
pyo3 = "0.22.5"
Expand Down
1 change: 1 addition & 0 deletions crates/store/re_protos/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ re_tuid.workspace = true
# External
arrow.workspace = true
prost.workspace = true
prost-types.workspace = true
thiserror.workspace = true

# Native dependencies:
Expand Down
19 changes: 19 additions & 0 deletions crates/store/re_protos/proto/rerun/v0/collection.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
syntax = "proto3";

package rerun.remote_store.v0;

import "google/protobuf/timestamp.proto";

// A collection in the catalog
message Collection {
enum StorageEngine {
LANCE_DB = 0;
}

string id = 1;
string name = 2;
StorageEngine storage_engine = 3;
repeated string index_ids = 4;
google.protobuf.Timestamp created_at = 5;
google.protobuf.Timestamp updated_at = 6;
}
28 changes: 28 additions & 0 deletions crates/store/re_protos/proto/rerun/v0/collection_ops.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
syntax = "proto3";

package rerun.remote_store.v0;

import "rerun/v0/collection.proto";

message CollectionFilter {
optional string id = 1;
optional string name = 2;
}

message FindCollectionRequest {
CollectionFilter filter = 1;
}

// Returns matching collection, if there is exactly one match
message FindCollectionResponse {
Collection collection = 1;
}

message FindCollectionsRequest {
CollectionFilter filter = 1;
}

// Contains zero or more matching collections
message FindCollectionsResponse {
repeated Collection collection = 1;
}
6 changes: 6 additions & 0 deletions crates/store/re_protos/proto/rerun/v0/remote_store.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@ syntax = "proto3";

package rerun.remote_store.v0;

import "rerun/v0/collection_ops.proto";
import "rerun/v0/common.proto";

service StorageNode {
// Collection APIs

rpc FindCollection(FindCollectionRequest) returns (FindCollectionResponse);
rpc FindCollections(FindCollectionsRequest) returns (FindCollectionsResponse);

// Data APIs

rpc Query(QueryRequest) returns (stream DataframePart) {}
Expand Down
Loading

0 comments on commit 43eb481

Please sign in to comment.