influxdb/kv
Chris Goller 623224614e feat(kv): random ids without comma, space, backslash for org and bucket
At times snowflake id generation would create org and bucket IDs with
characters that had special meaning for the storage engine.

The storage engine concats the org and bucket bytes together into a
single 128 bit value.  That value is used in the old measurement
section.  Measurement was transformed into the tag, _measurement.

However, certain properties of the older measurement data location
are still required for the org/bucket bytes.  We cannot have
commas, spaces, nor backslashes.

This PR puts a specific ID generator in place during the creation of
orgs and buckets.  The IDs are just random numbers but with each
of the restricted chars incremented by one.  While this changes the
entropy distribution somewhat, it does not matter too much for our
purposes.

... because now org and bucket ids are checked for previous existence
transactionally in the key-value stores.  If the ID does already exist
then we try to generate a new key up to 100 times.
2019-09-08 01:50:05 -05:00
..
auth.go feat(http): find auths by org 2019-04-14 18:06:19 +08:00
auth_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
bucket.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
bucket_test.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
check.go fix(kv): fix the status check of check and notification 2019-09-03 10:21:39 -04:00
check_test.go fix(notification/check): ensure cloud integration works 2019-08-27 15:02:53 -04:00
cursor.go feat(platform): add generic kv store 2018-12-18 16:08:48 -05:00
cursor_test.go chore: rename imports from platform to influxdb 2019-01-09 20:51:47 -08:00
dashboard.go fix(kv): updatedAt should be updated as well 2019-05-18 23:36:48 -04:00
dashboard_test.go feat(http): add audit log 2019-05-16 10:57:28 -04:00
document.go fix(kv): updatedAt should be updated as well 2019-05-18 23:36:48 -04:00
document_test.go feat(influxdb): add support for templates 2019-03-06 13:18:31 -08:00
kv_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
kvlog.go feat(http): add audit log 2019-05-16 10:57:28 -04:00
kvlog_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
label.go fix label tests 2019-04-12 01:29:49 -07:00
label_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
lookup_service.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
lookup_service_test.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
notification_endpoint.go fix(http): fix notfication endpoint secret store 2019-08-28 16:02:17 -04:00
notification_endpoint_test.go fix(http): fix notfication endpoint secret store 2019-08-28 16:02:17 -04:00
notification_rule.go fix(kv): fix notification rule testing 2019-09-03 12:33:48 -04:00
notification_rule_test.go fix(notification/check): ensure cloud integration works 2019-08-27 15:02:53 -04:00
onboarding.go remove org from bucket 2019-04-22 18:39:05 -04:00
onboarding_test.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
org.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
org_test.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
passwords.go Minor text updates for password error and default scraper name (#12448) 2019-03-08 09:12:59 -08:00
passwords_test.go fix(influxdb): use influxdb.Error in ID.Decode 2019-05-15 22:53:31 +08:00
scrapers.go feat(influxdb): add scraper filter 2019-04-25 11:33:34 -04:00
scrapers_test.go feat(influxdb): add scraper filter 2019-04-25 11:33:34 -04:00
secret.go fix(kv): fix extra \x00 secret decoding 2019-08-15 21:56:20 -04:00
secret_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
service.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
service_test.go feat(authentication): Add cli args for specifying session length and renewal (#13924) 2019-05-15 10:16:47 -07:00
session.go feat(task): impersonate user on task execution (#14675) 2019-08-15 18:31:52 -06:00
session_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
source.go add spans to multiple services 2019-03-07 12:12:31 -07:00
source_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
store.go add spans to multiple services 2019-03-07 12:12:31 -07:00
task.go fix(task): Dont update updatedAt on latestCompleted updates (#15009) 2019-09-06 09:45:10 -06:00
task_test.go fix(task): fix failover function for task auth to not fail (#14789) 2019-08-23 16:52:55 -06:00
telegraf.go fix(influxdb): rename telegraf orgID 2019-06-03 16:20:53 -04:00
telegraf_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
unique.go feat(kv): random ids without comma, space, backslash for org and bucket 2019-09-08 01:50:05 -05:00
urm.go fix(kv): ignore not found error when removing org dep resources 2019-09-03 18:32:04 -04:00
urm_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
user.go feat(http): add audit log 2019-05-16 10:57:28 -04:00
user_test.go feat(kv): implemented key/value store with end-to-end integration tests 2019-02-19 17:47:19 -06:00
variable.go fix failures in variable http testing 2019-06-20 16:25:38 -07:00
variable_test.go fixed bolt and inmem tests 2019-06-20 16:25:38 -07:00