2022-11-24 14:26:34 +00:00
|
|
|
[package]
|
|
|
|
name = "ingester2"
|
|
|
|
version.workspace = true
|
|
|
|
authors.workspace = true
|
|
|
|
edition.workspace = true
|
|
|
|
license.workspace = true
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
arrow = { workspace = true, features = ["prettyprint"] }
|
2022-11-30 14:12:30 +00:00
|
|
|
arrow-flight = { workspace = true }
|
2022-11-24 14:26:34 +00:00
|
|
|
arrow_util = { version = "0.1.0", path = "../arrow_util" }
|
|
|
|
async-trait = "0.1.58"
|
|
|
|
backoff = { version = "0.1.0", path = "../backoff" }
|
feat(ingester2): gRPC methods & type-erased init
This commit implements the gRPC direct-write RPC interface (largely
copied from the ingester crate), and adds a much improved RPC query
handler.
Compared to the ingester crate, the query API is now split into two
defined halves - the API handler side, and types necessary to support it
(server/grpc/query.rs) and the Ingester query execution side (a stub in
query/exec.rs). These two halves maintain a separation of concerns, and
are interfaced by an abstract QueryExec trait (in query/trait.rs).
I also added the catalog RPC interface as it is currently exposed on the
ingester, though I am unsure if it is used by anything.
This commit also introduces the "init" module, and the
IngesterRpcInterface trait within it. This trait forms the public
ingester2 crate API, defining the complete set of methods external
crates can expect to utilise in a stable, unchanging and decoupled way.
The IngesterRpcInterface trait also serves as a method of type-erasure
on the underlying handler implementations, avoiding the need to
expose/pub the types, abstractions, and internal implementation details
of the ingester to external crates.
2022-11-25 10:58:32 +00:00
|
|
|
bytes = "1.3.0"
|
2022-11-28 12:23:16 +00:00
|
|
|
crossbeam-utils = "0.8.14"
|
2022-11-24 14:26:34 +00:00
|
|
|
data_types = { version = "0.1.0", path = "../data_types" }
|
|
|
|
datafusion.workspace = true
|
2022-11-25 14:35:39 +00:00
|
|
|
datafusion_util = { path = "../datafusion_util" }
|
2022-11-24 14:26:34 +00:00
|
|
|
dml = { version = "0.1.0", path = "../dml" }
|
feat(ingester2): gRPC methods & type-erased init
This commit implements the gRPC direct-write RPC interface (largely
copied from the ingester crate), and adds a much improved RPC query
handler.
Compared to the ingester crate, the query API is now split into two
defined halves - the API handler side, and types necessary to support it
(server/grpc/query.rs) and the Ingester query execution side (a stub in
query/exec.rs). These two halves maintain a separation of concerns, and
are interfaced by an abstract QueryExec trait (in query/trait.rs).
I also added the catalog RPC interface as it is currently exposed on the
ingester, though I am unsure if it is used by anything.
This commit also introduces the "init" module, and the
IngesterRpcInterface trait within it. This trait forms the public
ingester2 crate API, defining the complete set of methods external
crates can expect to utilise in a stable, unchanging and decoupled way.
The IngesterRpcInterface trait also serves as a method of type-erasure
on the underlying handler implementations, avoiding the need to
expose/pub the types, abstractions, and internal implementation details
of the ingester to external crates.
2022-11-25 10:58:32 +00:00
|
|
|
flatbuffers = "22"
|
2022-11-24 14:26:34 +00:00
|
|
|
futures = "0.3.25"
|
|
|
|
generated_types = { version = "0.1.0", path = "../generated_types" }
|
|
|
|
hashbrown.workspace = true
|
|
|
|
iox_catalog = { version = "0.1.0", path = "../iox_catalog" }
|
|
|
|
iox_query = { version = "0.1.0", path = "../iox_query" }
|
|
|
|
iox_time = { path = "../iox_time" }
|
|
|
|
metric = { version = "0.1.0", path = "../metric" }
|
|
|
|
mutable_batch = { version = "0.1.0", path = "../mutable_batch" }
|
|
|
|
mutable_batch_pb = { version = "0.1.0", path = "../mutable_batch_pb" }
|
|
|
|
object_store = "0.5.1"
|
|
|
|
observability_deps = { version = "0.1.0", path = "../observability_deps" }
|
|
|
|
once_cell = "1.16.0"
|
|
|
|
parking_lot = "0.12.1"
|
feat(ingester2): gRPC methods & type-erased init
This commit implements the gRPC direct-write RPC interface (largely
copied from the ingester crate), and adds a much improved RPC query
handler.
Compared to the ingester crate, the query API is now split into two
defined halves - the API handler side, and types necessary to support it
(server/grpc/query.rs) and the Ingester query execution side (a stub in
query/exec.rs). These two halves maintain a separation of concerns, and
are interfaced by an abstract QueryExec trait (in query/trait.rs).
I also added the catalog RPC interface as it is currently exposed on the
ingester, though I am unsure if it is used by anything.
This commit also introduces the "init" module, and the
IngesterRpcInterface trait within it. This trait forms the public
ingester2 crate API, defining the complete set of methods external
crates can expect to utilise in a stable, unchanging and decoupled way.
The IngesterRpcInterface trait also serves as a method of type-erasure
on the underlying handler implementations, avoiding the need to
expose/pub the types, abstractions, and internal implementation details
of the ingester to external crates.
2022-11-25 10:58:32 +00:00
|
|
|
pin-project = "1.0.12"
|
2022-11-24 14:26:34 +00:00
|
|
|
predicate = { version = "0.1.0", path = "../predicate" }
|
feat(ingester2): gRPC methods & type-erased init
This commit implements the gRPC direct-write RPC interface (largely
copied from the ingester crate), and adds a much improved RPC query
handler.
Compared to the ingester crate, the query API is now split into two
defined halves - the API handler side, and types necessary to support it
(server/grpc/query.rs) and the Ingester query execution side (a stub in
query/exec.rs). These two halves maintain a separation of concerns, and
are interfaced by an abstract QueryExec trait (in query/trait.rs).
I also added the catalog RPC interface as it is currently exposed on the
ingester, though I am unsure if it is used by anything.
This commit also introduces the "init" module, and the
IngesterRpcInterface trait within it. This trait forms the public
ingester2 crate API, defining the complete set of methods external
crates can expect to utilise in a stable, unchanging and decoupled way.
The IngesterRpcInterface trait also serves as a method of type-erasure
on the underlying handler implementations, avoiding the need to
expose/pub the types, abstractions, and internal implementation details
of the ingester to external crates.
2022-11-25 10:58:32 +00:00
|
|
|
prost = { version = "0.11.2", default-features = false, features = ["std"] }
|
2022-11-24 14:26:34 +00:00
|
|
|
rand = "0.8.5"
|
|
|
|
schema = { version = "0.1.0", path = "../schema" }
|
|
|
|
service_grpc_catalog = { version = "0.1.0", path = "../service_grpc_catalog" }
|
|
|
|
thiserror = "1.0.37"
|
|
|
|
tokio = { version = "1.22", features = ["macros", "parking_lot", "rt-multi-thread", "sync", "time"] }
|
2022-11-29 09:53:30 +00:00
|
|
|
tonic = "0.8.3"
|
2022-11-24 14:26:34 +00:00
|
|
|
trace = { version = "0.1.0", path = "../trace" }
|
|
|
|
uuid = "1.2.2"
|
2022-11-24 14:51:21 +00:00
|
|
|
workspace-hack = { path = "../workspace-hack"}
|
2022-11-24 14:26:34 +00:00
|
|
|
|
|
|
|
[dev-dependencies]
|
|
|
|
assert_matches = "1.5.0"
|
|
|
|
datafusion_util = { path = "../datafusion_util" }
|
|
|
|
lazy_static = "1.4.0"
|
|
|
|
mutable_batch_lp = { path = "../mutable_batch_lp" }
|
|
|
|
paste = "1.0.9"
|
|
|
|
test_helpers = { path = "../test_helpers", features = ["future_timeout"] }
|