Commit Graph

1405 Commits (5fa77c32cc6b685033b9cdc07058644218a8bf5b)

Author SHA1 Message Date
Edd Robinson 8fd211798a refactor: aggregate sum can return a Scalar 2020-12-10 15:15:34 +00:00
Edd Robinson 6d2b69d4a3 feat: add column properties
Column properties can be used to determine what abilities a column has
at runtime, which will vary depending on the encoding used.
2020-12-10 15:15:34 +00:00
Edd Robinson e4b8fb3387 refactor: use Cow for group row ids 2020-12-10 15:15:34 +00:00
Edd Robinson f7f87164b4 refactor: initial read_group skeleton 2020-12-10 15:15:34 +00:00
Edd Robinson c199d59c04 refactor: improve aggregate support 2020-12-10 15:15:34 +00:00
Edd Robinson c259a461c1 feat: extend dictionary column API
Add methods for getting distinct row ids for values and for getting
logical values.
2020-12-10 15:15:34 +00:00
Dom 756e7de867
Merge pull request #542 from ming535/ming
chore: some minor comments and rename
2020-12-10 10:18:18 +00:00
huming a5a3cd149d chore: some minor comments and rename 2020-12-10 10:48:57 +08:00
Brandon Sov 146bf59d8d test: simplify test error matching 2020-12-09 11:36:49 -08:00
Brandon Sov d179fe68d3 refactor: replace bucket_name clones with references 2020-12-09 11:03:19 -08:00
Brandon Sov af8569378f test: move common variable and function to general test usage 2020-12-09 11:01:51 -08:00
Brandon Sov 625542c310 fix: Update s3 error function to correct pattern 2020-12-09 10:14:50 -08:00
Brandon Sov 4be47b1ccc fix: Move functions to the conditional compilation flag to pass linter 2020-12-08 23:42:41 -08:00
Brandon Sov 62c14de2bc fix: Update pattern match to detect String 2020-12-08 23:42:33 -08:00
Brandon Sov 989d0ecad8 refactor: set valid format for default s3 bucket name example 2020-12-08 23:42:27 -08:00
Brandon Sov 1a4b2eac26 fix: Report bucket/location when relevant with object store errors 2020-12-08 22:29:28 -08:00
Paul Dix fa3ecbd4ed
feat: Implement write buffer to Parquet snapshotting (#526)
* feat: Implement write buffer to Parquet snapshotting

This introduces snapshot to the server packages to manage snapshotting. It also introduces a new trait for representing a Partition. There is a very crude API wired up in http_routes for testing purposes. Follow on work will bring the server package into http_routes and rework the snapshot API.
2020-12-08 14:20:43 -05:00
Edd Robinson 91bc7fbdd1
Merge pull request #525 from influxdata/er/chore/bench-debug
chore: add debug symbols to benchmarks
2020-12-04 20:05:14 +00:00
Edd Robinson f3af86ccb4 chore: add debug symbols to benchmarks 2020-12-04 16:36:05 +00:00
Dom 4346ad62cb
Merge pull request #521 from influxdata/dom/org-bucket-types
fix: unambigious bucket/org to DB mappings
2020-12-04 11:44:41 +00:00
Dom ceea61a211
Merge branch 'main' into dom/org-bucket-types 2020-12-04 11:33:36 +00:00
Andrew Lamb 4ec75a4f22
fix: Fix gRPC panic` when multiple field selections are provided (#523)
* fix: do not assert when multiple fields are selected

* fix: clippy

* fix: write unit test, fix bug

* fix: tweak comments
2020-12-03 12:31:02 -05:00
Dom ffbeb4dbcc docs: fix RangeInclusive 2020-12-03 16:10:16 +00:00
Dom 87573256a7 chore: fmt 2020-12-03 16:10:16 +00:00
Dom d96ed66c32 refactor: clearer lifetime for org&bucket mapping
Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-12-03 16:10:16 +00:00
Dom 13f391e2b9 refactor: ignore destructured fields
I temporarily forgot I can do this.

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-12-03 16:10:16 +00:00
Dom 234df612ec refactor: avoid clones for errors
Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-12-03 16:10:16 +00:00
Dom 59f9665438 test: cover org_and_bucket_to_database 2020-12-03 16:10:16 +00:00
Dom aa1c95401e refactor: DB names 1..=64
Co-authored-by: Edd Robinson <me@edd.io>
2020-12-03 16:10:15 +00:00
Dom b03de0e7ef refactor: remove needless lifetimes 2020-12-03 16:10:15 +00:00
Dom f90a95fd80 fix: unambigious bucket/org to DB mappings
Previosuly the $ORG and $BUCKET was joined as:

	$ORG + "_" + $BUCKET

Which is fine unless either $ORG or $BUCKET includes a "_", such as:

	$ORG = "org_a"
	$BUCKET = "bucket"

	and

	$ORG = "org"
	$BUCKET = "a_bucket"

This change continues to join $ORG and $BUCKET with an underscore, but
disallows underscores in either $ORG or $BUCKET. It appears these values
are non-zero u64s in the gRPC protocol converted to their base-10 string
representations for the DB name, so this seems safe to enforce.

In addition, this change introduces a `DatabaseName` type to avoid
passing bare strings around, and allow consuming code to ensure only
valid database names are provided at compile type. This type works with
both owned & borrowed content so doesn't force a string copy where we
can avoid it, and derefs to `str` to make it easier to use with existing
code.

I've been minimally invasive in pushing the `DatabaseName` through the
existing code and figured I'd see what the sentement is first.
Candidates for conversion from `str` to `DatabaseName` that seem to make
sense to me include:

	- `DatabaseStore` trait
	- `RemoteServer` trait
	- Others? Basically anywhere other than the "edge" API inputs

Fixes #436 (thanks @zeebo)
2020-12-03 16:10:15 +00:00
Andrew Lamb 8c0e14e039
refactor: rename src/server/rpc/storage.rs to src/server/rpc/service.rs (#513)
* refactor: rename src/server/rpc/storage.rs src/server/rpc/service.rs

* refactor: update references
2020-12-03 09:59:00 -05:00
Dom 592c5c3679
Merge pull request #522 from influxdata/dom/ci-reduce-size
ci: remove IOx pre-building in rust build container
2020-12-03 13:25:08 +00:00
Dom 3589aec136
Merge branch 'main' into dom/ci-reduce-size 2020-12-03 13:14:52 +00:00
Edd Robinson 54ae680780
Merge pull request #520 from influxdata/er/refactor/read-filter-result
refactor: encapsulate results from segment/table into nicer types
2020-12-03 12:51:20 +00:00
Dom 7136e5853a ci: remove IOx pre-building in rust build container
Stops adding the IOx source code and performing a cargo build/test/clippy each
night. Previously this build would compile the IOx source & dependencies,
populating the incremental build cache and allowing builds that used the same
dependencies to complete quicker. This build caching was moved to
per-dependency-set caching in #496, and this pre-build is no longer used.

This should reduce the build image size substantially, making the whole CI
process a bit faster.
2020-12-03 11:58:13 +00:00
Edd Robinson 254dfc14d8
refactor: apply suggestions from code review
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
2020-12-03 11:47:41 +00:00
Edd Robinson 4f32778596 refactor: implement ReadFilterResults type
The `ReadFilterResults` type encapsulates results from multiple
segments. It implements `Display` to allow visualisation of results from
segments in a `select` call.
2020-12-03 11:23:12 +00:00
Edd Robinson 7ad0b4ad9a refactor: encapsulate read filter results in type
This commit also adds `Display` and `Debug` implementations for
`ReadFilterResult`. These can be used for visualising the contents of
the result of a `read_filter` call on a segment.

The former trait elides the column names.
2020-12-03 11:23:09 +00:00
Edd Robinson a088f33c35
Merge pull request #519 from influxdata/er/refactor/time-predicate
refactor: avoid requiring time predicate in Segment
2020-12-03 10:06:29 +00:00
Edd Robinson 05c420cc9e
Merge branch 'main' into er/refactor/time-predicate 2020-12-02 19:13:12 +00:00
Edd Robinson 381c3038aa
refactor: update segment_store/src/segment.rs
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
2020-12-02 19:13:00 +00:00
Andrew Lamb 8cb8276819
fix: Update gRPC definitions so tag_key=_field requests work in IOx (#517)
* fix: Update gRPC definitions so tag_key=_field requests work in IOx

* docs: Update src/server/rpc.rs

* fix: fixup test

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: consistent type annotations

* fix: refactor redundant test code into test_helpers

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-12-02 13:58:48 -05:00
Edd Robinson 4dc5cc46a9 refactor: DRY up the predicate logic 2020-12-02 17:59:45 +00:00
Edd Robinson ab83288067 refactor: segment doesn't require time range 2020-12-02 17:56:59 +00:00
Andrew Lamb ecc4eee8e1
refactor: Move SQL functions into is own trait (#511)
* refactor: remove uneeded function table_to_arrow from Trait

* refactor: Move SQL functions into is own trait
2020-12-02 08:23:37 -05:00
Andrew Lamb c99d389a70
refactor: Remove vestigial gRPC IOX API (#508)
* refactor: remove unused IOx gRPC interface

* refactor: rename file

* refactor: rename gRPC service IOx to IOxTesting
2020-12-02 06:55:15 -05:00
Dom 321fa0aa28
Merge pull request #496 from influxdata/dom/separate-ci
ci: use GitHub for CI
2020-12-02 10:36:27 +00:00
Andrew Lamb 5ef499bb63
refactor: rename Database --> TSDatabase to better reflect its purpose (#510)
* refactor: rename Database --> TSDatabase to better reflect its purpose

* refactor: rename field_columns to field_column_names

* fix: clippy?
2020-12-01 12:37:11 -05:00
Andrew Lamb a2e5af1508
feat: Log gRPC predicates in a human readable form (#507)
* feat: log predicate passed to storage system

* fix: clippy
2020-12-01 09:31:39 -05:00