Commit Graph

378 Commits (76f7043417ba2f14cfdbe85d601d37faa320df83)

Author SHA1 Message Date
Marco Neumann 2029bd16ba
feat: enable debugging of failed querier->ingester requests (#4659)
* feat: enable debugging of failed querier->ingester requests

- extend `query-ingester` CLI to allow usage of predicates
- on failed requests: log all information that required for the CLI
- test the "ingester fails" scenario

* test: explain

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* docs: improve

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* refactor: move b64 pred. serde into a single crate

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-05-23 15:37:31 +00:00
Carol (Nichols || Goulding) c811bebdb7
feat: Add ingester CLI option to skip to oldest available WB seq num
The default behavior of the ingester is to panic if the min unpersisted
sequence number in the catalog is unknown to the write buffer due to the
retention policies having evicted that sequence number.

Specifying `--skip-to-oldest-available` changes this behavior to skip to
the oldest sequence number the write buffer does have available and go
from there.

Fixes #4624.
2022-05-20 10:51:07 -04:00
Marco Neumann 20fa70d54b feat: add `measurement_fields` support to `influxdb_iox storage` 2022-05-19 16:50:46 +02:00
Marco Neumann 52346642a0
ci: fix cargo deny (#4629)
* ci: fix cargo deny

* chore: downgrade `socket2`, version 0.4.5 was yanked

* chore: rename `query` to `iox_query`

`query` is already taken on crates.io and yanked and I am getting tired
of working around that.
2022-05-18 09:38:35 +00:00
Marco Neumann 779f0e9cdf
feat: querier RAM pool (#4593)
* feat: `SortKey::size`

* feat: `FunctionEstimator`

* feat: querier RAM pool

Let's put all the caches into a single RAM pool, so we can at least
somewhat control RAM usage. Note that this does NOT limit the peak
memory during query execution though, but should at least stop unlimited
cache growth. A follow-up PR will add metrics.

* refactor: improve some size calculations

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-05-17 13:11:20 +00:00
Carol (Nichols || Goulding) 55313d290a
fix: Update or remove comments that mention NG or OG
Connects to #4450.
2022-05-12 16:09:08 -04:00
Andrew Lamb 03ee6840d0
feat: Add `debug namespaces` CLI command (#4556) 2022-05-10 18:35:05 +00:00
Andrew Lamb 84fd883688
feat: Add query_ingester CLI command (#4554)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-05-10 18:18:07 +00:00
Raphael Taylor-Davies 99b1a9b83f
refactor: split out ObjectStoreMetrics (#4547)
* refactor: split out ObjectStoreMetrics

* chore: add workspace hack

* fix: compile
2022-05-10 10:56:28 +00:00
Raphael Taylor-Davies 8b379c83cc
refactor: simplify object_store path handling (#4534)
* refactor: simplify object_store path handling

* fix: aws integration tests

* chore: lint

* fix: update gcs tests

* refactor: move errors into submodules

* chore: lint

* chore: review feedback

* refactor: replace provider with Display

* fix: failing tests

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-05-09 18:43:22 +00:00
Carol (Nichols || Goulding) fcd4815645
fix: Rename router2 to router 2022-05-06 14:51:52 -04:00
Carol (Nichols || Goulding) 0650a9bb77
fix: Rename ioxd_router2 to ioxd_router 2022-05-06 14:45:39 -04:00
Carol (Nichols || Goulding) 068096e7e1
fix: Rename data_types2 to data_types 2022-05-06 14:45:39 -04:00
Carol (Nichols || Goulding) ea46830954
fix: Remove iox_object_store crate; move ParquetFilePath to parquet_file 2022-05-06 14:45:36 -04:00
Carol (Nichols || Goulding) c45a85ca81
fix: Remove now-obsolete 'debug dump catalog' command 2022-05-06 11:30:36 -04:00
kodiakhq[bot] 256b60d670
Merge branch 'main' into cn/aio-default 2022-05-06 15:08:07 +00:00
Carol (Nichols || Goulding) 3ae491c801 fix: Give an error variant a non-redundant name
That is, fix rather than allow the clippy lint
2022-05-06 10:59:58 -04:00
Carol (Nichols || Goulding) 32a41b6c05 fix: Remove commented-out enum variants 2022-05-06 10:59:58 -04:00
Andrew Lamb 1d749b3b09 Merge remote-tracking branch 'origin/main' into cn/aio-default 2022-05-06 10:58:11 -04:00
Carol (Nichols || Goulding) 75356ab9e6
feat: Make top-level command optional; run all-in-one mode by default 2022-05-06 10:26:24 -04:00
Carol (Nichols || Goulding) 62a70d9705
feat: Make all-in-one options available at the top command level 2022-05-06 10:24:47 -04:00
Carol (Nichols || Goulding) 7cadb0192b
fix: Make all-in-one mode be the default run mode 2022-05-06 10:24:45 -04:00
Jake Goulding ece38417bc
feat: Remove the `run database` command 2022-05-06 09:48:30 -04:00
Jake Goulding b939d80db8
feat: Remove the `run router` command 2022-05-06 09:48:30 -04:00
Jake Goulding 041e758a6f
refactor: Move the `schema` command to `debug schema` 2022-05-06 09:48:30 -04:00
Jake Goulding fabfbada60
refactor: Move the `database query` command to `query` 2022-05-06 09:48:29 -04:00
Jake Goulding 3844c65617
refactor: Move the `database write` command to `write` 2022-05-06 09:48:29 -04:00
kodiakhq[bot] e09157e81a
Merge branch 'main' into cn/bye-og-grpc-client 2022-05-02 14:54:54 +00:00
Andrew Lamb dd3147c2ec
fix: allow `--grpc-bind` and `--api-bind` args in all-in-one mode (#4494)
* fix: allow `--grpc-bind`  and `--api-bind` args in all-in-one mode

* fix: shutdown compactor more quickly on cancel

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-05-01 20:20:16 +00:00
Carol (Nichols || Goulding) a4443e4c31
fix: Remove OG gRPC client code and APIs 2022-04-29 16:29:49 -04:00
Carol (Nichols || Goulding) 8e21d062fb
fix: Remove use of OG list databases from sql observer mode
Fixes #4478.
2022-04-29 14:33:48 -04:00
Carol (Nichols || Goulding) ede51d2529
fix: Remove OG 'show databases' command in the SQL REPL
Connects to #4478.
2022-04-29 14:33:22 -04:00
Marco Neumann 0a20086a58
feat: expose catalog timeouts via CLI/env (#4472)
This is useful for local instances that run against a prod system,
because port forwarding can lead to long connection delays.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-04-29 11:14:15 +00:00
Paul Dix 8e48fcd620
feat: add remote pull partition (#4433)
Add lookup of partitions by table id to catalog.
Add API to catalog to return partitions by table id.
Add to client to return partitions by table id.
Add CLI to pull remote schema, partition, and parquet files into a local catalog and object store.
2022-04-28 21:04:27 +00:00
Carol (Nichols || Goulding) 5c89e7b952
fix: Remove max catalog connection config from all-in-one mode 2022-04-28 09:29:03 -04:00
Carol (Nichols || Goulding) a024e07147
fix: Small corrections to some comments 2022-04-28 09:29:02 -04:00
Carol (Nichols || Goulding) df1afa3481
feat: Log what kind of server in startup/shutdown logs 2022-04-28 09:29:02 -04:00
Carol (Nichols || Goulding) d6d50f83c2
feat: Set different catalog config defaults for all-in-one mode
Connects to #4399.

If `--catalog-dsn` is specified, use that Postgres catalog. If
`--catalog-dsn` is not specified, use an in-memory catalog.
2022-04-28 09:29:02 -04:00
Carol (Nichols || Goulding) 941dd12dd1
feat: Set different write buffer config defaults for all-in-one mode
Connects to #4399.

Only file-based write buffer is supported. If `--data-dir` is specified,
store it there, otherwise store it in a temp directory to be ephemeral
2022-04-28 09:29:02 -04:00
Carol (Nichols || Goulding) 0cfd16263c
refactor: Change run_config to logging_config
The only spot this method is used actually wants the logging config
2022-04-28 09:29:01 -04:00
Carol (Nichols || Goulding) 06342f9ed8
feat: Set different ingester defaults for all-in-one mode
Connects to #4399.

Manually flatten the arguments to set different defaults, not allow
setting the partition min/max, but still allow customization of the
other arguments.
2022-04-28 09:29:01 -04:00
Dom Dwyer fb777e7e51 feat(router2): configurable max HTTP requests
Adds a CLI / env configuration option controlling the maximum number of
simultaneous HTTP requests in the router.
2022-04-26 11:13:25 +01:00
二手掉包工程师 4b47d723b1
refactor: Rename time to iox_time (#4416)
Signed-off-by: hi-rustin <rustin.liu@gmail.com>

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-04-26 00:19:59 +00:00
Marco Neumann 86e8f05ed1
fix: make all catalog IDs 64bit (#4418)
Closes #4365.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-04-25 16:49:34 +00:00
Dom Dwyer c363242902 refactor: emit panic metrics for server types
Configures the long-running / server modes to emit panic metrics.
2022-04-20 12:30:02 +01:00
Paul Dix 103629b01d
feat: add client and CLI to get file from object store (#4343)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-04-19 16:16:27 +00:00
Paul Dix 5bf4550259
feat: add object store service to router (#4338)
Add method to catalog to get parquet file by object store id.
Add gRPC service for object store to get a file from by its uuid.
Add the object store service to router2 with object store config.
2022-04-16 17:58:31 +00:00
Paul Dix 197a3818d3
feat: add catalog client and remote command (#4329)
* feat: add catalog client and remote command

Adds the catalog gRPC service to influxdb_iox_client.
Adds a new remote command to execute commands against a remote IOx host.
Adds partition subcommand to remote to get the details of a partition by id.

* test: add end to end test for `remote partition` CLI (#4336)

* chore: cleanup partition CLI PR feedback

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-04-15 13:59:49 +00:00
Dom Dwyer f08c8373aa feat: tokio-console support
This commit adds an optional feature (disabled by default) to the IOx
server binary named "tokio_console". When enabled, it adds support for
the tokio-console to IOx:

    https://github.com/tokio-rs/console

Enabling this feature drops the compile-time log filter to TRACE, and
enables the necessary dependencies to support the instrumentation needed
for the console to function.

Unfortunately, this feature uses tonic 0.7 (latest) while we use tonic
0.6, so we wind up with two tonic versions being compiled in when this
feature is enabled.
2022-04-12 13:02:31 +01:00
Marco Neumann 380cd9bbff
refactor: use a single flight client implementation (#4273)
"end-user -> querier" and "querier -> ingester" should use a single
Flight client implementation. The difference is just the request and
response metadata.

This changes our default Flight client to use protobuf instead of JSON
for the ticket format.
2022-04-12 09:08:25 +00:00