Commit Graph

238 Commits (589b7ad3afcc0333af997036b3d5a2e285311392)

Author SHA1 Message Date
Marco Neumann aa636eaed9 refactor: remove methods from `ManagementService` that were moved to `RemoteService`
Tests are covered by `remote_api.rs`.

Ref #2980.
2021-11-24 10:01:32 +01:00
Marco Neumann 5ecaa6d8a9 refactor: use serialized predicates instead of strings for gRPC deletes
IOx is the only consumer of this API so we might just use the serialized
form. Cloud2 uses the HTTP API which supports SQL-like predicates.

Fixes #3192.
2021-11-24 09:30:32 +01:00
Marco Neumann dc6b44818d refactor: remove methods from `ManagementService` that were moved to `DeploymentService`
Tests are covered by `deployment_api.rs`.

Ref #2980.
2021-11-23 18:04:41 +01:00
Marco Neumann 2ef3ab8544 refactor: remove methods from `ManagementService` that were moved to `DeleteService`
Tests are covered by `delete_api.rs`.

Ref #2980.
2021-11-23 16:40:00 +01:00
Edd Robinson 1dedfc6697 refactor: remove storage API from pbjson 2021-11-22 22:30:31 +00:00
Edd Robinson 824ed5f139 chore: clippy 2021-11-22 21:40:42 +00:00
Edd Robinson f328f1bae5 chore: move read source 2021-11-22 21:40:42 +00:00
Edd Robinson ddf96efc8a chore: update storage RPC definitions 2021-11-22 21:40:41 +00:00
Nga Tran 3b2e5c445b chore: Merge branch 'main' into ntran/compact_os_framework 2021-11-19 16:18:24 -05:00
Nga Tran a5c04e5fe4 feat: framework for compact os chunks 2021-11-17 18:12:51 -05:00
Carol (Nichols || Goulding) f69d37e9a8
fix: Remove database delete/restore entirely 2021-11-17 12:03:11 -05:00
Raphael Taylor-Davies 8155747735
feat: add write buffer delete encoding (#2731) (#3127)
* feat: add write buffer delete encoding (#2731)

* chore: fix doc

* chore: review feedback

* chore: review feedback

* chore: fmt

* chore: review feedback
2021-11-17 16:12:19 +00:00
Carol (Nichols || Goulding) bc11244828
feat: Rename database disown/adopt to release/claim (#3111)
* fix: Rename 'disown' to 'release' database

Connects to #3110

* fix: Rename 'adopt' to 'claim' database

Fixes #3110.
2021-11-15 20:28:09 +00:00
Jake Goulding af28cfa2a6
feat: Add an adopt database API
Fixes #2679.
2021-11-15 09:26:06 -05:00
kodiakhq[bot] 376471591f
Merge branch 'main' into cn/disown 2021-11-12 19:31:03 +00:00
Carol (Nichols || Goulding) 8bdfb253ce
fix: Remove context from disown operation 2021-11-12 11:10:20 -05:00
kodiakhq[bot] 95c46e58bc
Merge branch 'main' into jpg/restore-uuid-bytes 2021-11-11 15:34:23 +00:00
Carol (Nichols || Goulding) 7e13cb77ac
feat: add transactions for context to database owner info on disown 2021-11-10 16:49:32 -05:00
Carol (Nichols || Goulding) 489fad0040
feat: Add disown database to the gRPC API 2021-11-10 16:49:31 -05:00
Carol (Nichols || Goulding) 73897fc96a
docs: Add some missing descriptions to match other places 2021-11-10 16:49:31 -05:00
Raphael Taylor-Davies 6320ce6f55
refactor: move delete predicate proto to own package (#2731) (#3065)
* refactor: move delete predicate proto to own package (#2731)

* chore: fmt

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-11-08 13:42:26 +00:00
Jake Goulding de672b7599 fix: Store the restore database UUID as bytes instead of as a string 2021-11-05 15:20:18 -04:00
Raphael Taylor-Davies 7d070f8582
feat: remove influxdata.iox.write.v1.WriteService (#3044)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-11-05 17:51:01 +00:00
Raphael Taylor-Davies 06dfdc4af8
feat: simplify sharding (#3031)
* feat: simplify sharding

* chore: fix lint
2021-11-04 16:57:19 +00:00
Marco Neumann 4840dc11cb feat: add basic CRUD operations for router configs 2021-11-04 12:03:14 +01:00
Carol (Nichols || Goulding) 62e7376394
fix: Restore database should only need UUID, not database name too 2021-11-03 15:01:26 -04:00
Raphael Taylor-Davies 08fcd87337
feat: use protobuf encoding in write buffer (#2724) (#3018) 2021-11-03 15:19:05 +00:00
Raphael Taylor-Davies 39a7f3069f
feat: add alternative string encodings to pbdata (#2724) (#3006)
* feat: add alternative string encodings to pbdata (#2724)

* chore: review feedback

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-11-02 18:14:34 +00:00
Marco Neumann 511621d3ca refactor: use stripped-down shard config for router
This only implements table-based sharding. We can add value-based
sharding later.
2021-11-02 11:12:20 +01:00
Marco Neumann 0d0c0cb42b refactor: move write buffer configs to new home
Write buffer configs will partially be shared by database and router
nodes, so lets move them into a shared home.
2021-11-02 10:17:01 +01:00
Marco Neumann 6644048eec refactor: remove partitioning from router config
Routers are not live yet so this ain't a breaking change. Also w/ write
buffer format rework that is going to be finished soon we don't need
this.
2021-11-02 10:14:00 +01:00
Marco Neumann 4c9570b519 refactor: move `catalog` protobuf to `preserved_catalog`
This makes it clearer what's going since the contained messages are
only for the preserved part, not the in-mem catalog and its management.
2021-11-01 18:07:25 +01:00
Marco Neumann 011af2d6ba feat: add `DeploymentService`
Ref #2980.
2021-11-01 17:55:40 +01:00
kodiakhq[bot] 8c3446ac87
Merge branch 'main' into crepererum/issue2980b 2021-11-01 16:39:32 +00:00
Marco Neumann c6c07879ee docs: explain deprecation 2021-11-01 11:38:46 +01:00
Marco Neumann bcd66c555a feat: add `RemoteService`
Ref #2980.
2021-11-01 11:38:46 +01:00
Marco Neumann 83e4514a43 feat: add `DeleteService`
Ref #2980.
2021-10-29 11:57:31 +02:00
Carol (Nichols || Goulding) 0bccd35f8c
fix: List details about databases only prints active dbs and their UUIDs
We can no longer list deleted databases because the server no longer
knows about them, and we now have UUIDs that are useful to know about,
so change the detailed listing of databases to return UUID instead of
possible deleted at time.
2021-10-28 13:20:29 -04:00
Carol (Nichols || Goulding) ce55cf401c
feat: Return UUID when creating a database
Seems polite and is useful for some test setup
2021-10-28 13:20:29 -04:00
Carol (Nichols || Goulding) 4077d3a20a
fix: Take a UUID when restoring a database 2021-10-28 13:20:29 -04:00
Carol (Nichols || Goulding) 95ba84edca
fix: Return UUID when a database is deleted
So that it can be immediately used to restore elsewhere.
2021-10-28 13:20:29 -04:00
Carol (Nichols || Goulding) f160712f5e
fix: Remove the concept of generations
From iox_object_store and everywhere that fails to compile as a result.

Also make path handling in iox_object_store a bit more consistent.
2021-10-28 13:20:28 -04:00
kodiakhq[bot] c23037fb33
Merge branch 'main' into crepererum/router_draft 2021-10-25 15:23:00 +00:00
Carol (Nichols || Goulding) 948cf92aaa fix: Remove the ability to list deleted databases
Once we're relying on the server config file to know about databases,
IOx shouldn't be listing files in object storage to try and find deleted
databases.

When the disown API is implemented for the floating database design, it
will return the UUID of the database just disowned, so that it can
immediately be used in an adopt API call.
2021-10-22 14:50:06 -04:00
Marco Neumann 7db09316f1 refactor: move router into its own service 2021-10-21 10:35:09 +02:00
Marco Neumann c27f096377 feat: rework router config 2021-10-21 10:09:29 +02:00
Marco Neumann 4f78981958 refactor: factor out partition cfg into its own proto file 2021-10-21 10:09:29 +02:00
Marco Neumann 1fc00095f5 refactor: factor out write buffer cfg into its own proto file 2021-10-21 10:09:29 +02:00
Carol (Nichols || Goulding) 10912c2b97 feat: Write owner info in the database's object store directory
Use this as an extra check that the database thinks the current server
is its owner when a server tries to initialize and own a database.

If the owner info doesn't match the current server, which could happen
if a server's config was updated but the database's owner info wasn't,
put the database in an error state that requires operator intervention.
2021-10-18 21:13:20 -04:00
Carol (Nichols || Goulding) d5ab29711e fix: Serialize relative db object store paths to the server config
So that they can be deserialized, without parsing, to create a new
iox object store from the location listed in the server config.

Notably, the locations serialized don't start with the object storage's
prefix like "s3:" or "file:". The location is the same object storage as
the server configuration that was just read from object storage. Having
the server config on one type of object storage and the database files
on another type is not supported.
2021-10-18 08:37:36 -04:00