mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
Switch Serverless from using BoltDB to Postgres as metadata store. Previously, the controller stored all metadata to BoltDB. This implements SQLDB (currently Postgres flavored) as the backing store for metadata. This will allow us to have multiple instances of the controller running for HA, and to easily inspect and repair the contents of the metadata store. Unfortunately, it was not straightforward to keep the BoltDB implementation working alongside the SQL one, so it will be removed in a later patch. Once that's done, the SQL implementation should allow for a number of simplifications of the schemar and balancer interfaces. Database migration is built directly into the application by embedding the migration files and logic from the `soda` command line tool. When connecting to the RDBMS, the app will always attempt to create the necessary database and apply any outstanding migrations. Integration tests truncate all tables upon start, but *not* at the end, so the state of the database can be inspected after integration tests. Had to refactor some of the controller's background tasks to make sure they get properly shut down on controller exit.
241 lines
11 KiB
Modula-2
241 lines
11 KiB
Modula-2
module github.com/featurebasedb/featurebase/v3
|
|
|
|
replace github.com/go-avro/avro => github.com/pilosa/avro v0.0.0-20200626214113-bc1bf9fd41c1
|
|
|
|
replace github.com/gomem/gomem => github.com/tgruben/gomem v0.0.0-20221021111114-79fdc77dcf61
|
|
|
|
replace robpike.io/ivy => github.com/tgruben/ivy v0.0.0-20230111144143-b80a659caeaf
|
|
|
|
require (
|
|
github.com/CAFxX/gcnotifier v0.0.0-20220409005548-0153238b886a
|
|
github.com/DataDog/datadog-go v4.8.3+incompatible // indirect
|
|
github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect
|
|
github.com/Microsoft/go-winio v0.5.2 // indirect
|
|
github.com/alexbrainman/odbc v0.0.0-20211220213544-9c9a2e61c5e2
|
|
github.com/aws/aws-sdk-go v1.42.39
|
|
github.com/beevik/ntp v0.3.0
|
|
github.com/benbjohnson/immutable v0.4.0
|
|
github.com/cespare/xxhash v1.1.0
|
|
github.com/chzyer/readline v1.5.1
|
|
github.com/confluentinc/confluent-kafka-go v1.9.1
|
|
github.com/davecgh/go-spew v1.1.1
|
|
github.com/denisenkom/go-mssqldb v0.11.0
|
|
github.com/felixge/fgprof v0.9.2
|
|
github.com/getsentry/sentry-go v0.13.0
|
|
github.com/glycerine/vprint v0.0.0-20200730000117-76cea49a68ea
|
|
github.com/go-avro/avro v0.0.0-20171219232920-444163702c11
|
|
github.com/go-openapi/strfmt v0.21.2 // indirect
|
|
github.com/go-sql-driver/mysql v1.7.0
|
|
github.com/go-test/deep v1.0.7
|
|
github.com/gogo/protobuf v1.3.2
|
|
github.com/golang-jwt/jwt v3.2.2+incompatible
|
|
github.com/golang/protobuf v1.5.2
|
|
github.com/google/go-cmp v0.5.8
|
|
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect
|
|
github.com/gorilla/handlers v1.3.0
|
|
github.com/gorilla/mux v1.8.0
|
|
github.com/gorilla/securecookie v1.1.1
|
|
github.com/hashicorp/go-retryablehttp v0.7.1
|
|
github.com/improbable-eng/grpc-web v0.15.0
|
|
github.com/jedib0t/go-pretty v4.3.0+incompatible
|
|
github.com/lib/pq v1.10.7
|
|
github.com/molecula/apophenia v0.0.0-20190827192002-68b7a14a478b
|
|
github.com/opentracing/opentracing-go v1.2.0
|
|
github.com/pelletier/go-toml v1.9.5
|
|
github.com/pkg/errors v0.9.1
|
|
github.com/prometheus/client_golang v1.14.0
|
|
github.com/prometheus/client_model v0.3.0
|
|
github.com/prometheus/prom2json v1.3.1
|
|
github.com/rakyll/statik v0.1.7
|
|
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
|
|
github.com/ricochet2200/go-disk-usage/du v0.0.0-20210707232629-ac9918953285
|
|
github.com/rs/cors v1.8.2 // indirect
|
|
github.com/satori/go.uuid v1.2.1-0.20180404165556-75cca531ea76
|
|
github.com/segmentio/kafka-go v0.4.29
|
|
github.com/shirou/gopsutil/v3 v3.22.5
|
|
github.com/spf13/cobra v1.6.1
|
|
github.com/spf13/pflag v1.0.5
|
|
github.com/spf13/viper v1.8.1
|
|
github.com/stretchr/testify v1.8.1
|
|
github.com/uber/jaeger-client-go v2.25.0+incompatible
|
|
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
|
github.com/zeebo/blake3 v0.2.3
|
|
go.etcd.io/bbolt v1.3.6
|
|
go.etcd.io/etcd v3.3.27+incompatible
|
|
go.etcd.io/etcd/api/v3 v3.5.5
|
|
go.etcd.io/etcd/client/pkg/v3 v3.5.5
|
|
go.etcd.io/etcd/client/v3 v3.5.5
|
|
go.etcd.io/etcd/server/v3 v3.5.5
|
|
golang.org/x/exp v0.0.0-20220827204233-334a2380cb91
|
|
golang.org/x/mod v0.7.0
|
|
golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb
|
|
golang.org/x/sync v0.1.0
|
|
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11
|
|
gopkg.in/DataDog/dd-trace-go.v1 v1.38.1
|
|
gopkg.in/yaml.v2 v2.4.0
|
|
modernc.org/mathutil v1.5.0
|
|
modernc.org/strutil v1.1.3
|
|
sigs.k8s.io/yaml v1.2.0
|
|
vitess.io/vitess v3.0.0-rc.3.0.20190602171040-12bfde34629c+incompatible
|
|
)
|
|
|
|
require (
|
|
github.com/PaesslerAG/gval v1.0.0
|
|
github.com/PaesslerAG/jsonpath v0.1.1
|
|
github.com/apache/arrow/go/v10 v10.0.0-20221021053532-2f627c213fc3
|
|
github.com/benhoyt/goawk v1.21.0
|
|
github.com/gobuffalo/nulls v0.4.2
|
|
github.com/gobuffalo/pop/v6 v6.1.1
|
|
github.com/gobuffalo/validate/v3 v3.3.3
|
|
github.com/gofrs/uuid v4.3.1+incompatible
|
|
github.com/gomem/gomem v0.1.0
|
|
github.com/google/uuid v1.3.0
|
|
github.com/jaffee/commandeer v0.6.0
|
|
github.com/linkedin/goavro/v2 v2.11.1
|
|
google.golang.org/grpc v1.49.0
|
|
google.golang.org/protobuf v1.28.1
|
|
robpike.io/ivy v0.2.9
|
|
)
|
|
|
|
require (
|
|
github.com/DataDog/datadog-agent/pkg/obfuscate v0.0.0-20211129110424-6491aa3bf583 // indirect
|
|
github.com/DataDog/sketches-go v1.0.0 // indirect
|
|
github.com/Masterminds/semver/v3 v3.1.1 // indirect
|
|
github.com/aymerick/douceur v0.2.0 // indirect
|
|
github.com/dgraph-io/ristretto v0.1.0 // indirect
|
|
github.com/fatih/color v1.13.0 // indirect
|
|
github.com/fatih/structs v1.1.0 // indirect
|
|
github.com/gobuffalo/envy v1.10.2 // indirect
|
|
github.com/gobuffalo/fizz v1.14.4 // indirect
|
|
github.com/gobuffalo/flect v1.0.0 // indirect
|
|
github.com/gobuffalo/github_flavored_markdown v1.1.3 // indirect
|
|
github.com/gobuffalo/helpers v0.6.7 // indirect
|
|
github.com/gobuffalo/plush/v4 v4.1.18 // indirect
|
|
github.com/gobuffalo/tags/v3 v3.1.4 // indirect
|
|
github.com/gorilla/css v1.0.0 // indirect
|
|
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
|
|
github.com/jackc/pgconn v1.13.0 // indirect
|
|
github.com/jackc/pgio v1.0.0 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgproto3/v2 v2.3.1 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect
|
|
github.com/jackc/pgtype v1.12.0 // indirect
|
|
github.com/jackc/pgx/v4 v4.17.2 // indirect
|
|
github.com/jmoiron/sqlx v1.3.5 // indirect
|
|
github.com/joho/godotenv v1.4.0 // indirect
|
|
github.com/josharian/intern v1.0.0 // indirect
|
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
|
github.com/luna-duclos/instrumentedsql v1.1.3 // indirect
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
|
github.com/mattn/go-colorable v0.1.11 // indirect
|
|
github.com/mattn/go-isatty v0.0.16 // indirect
|
|
github.com/mattn/go-sqlite3 v1.14.16 // indirect
|
|
github.com/microcosm-cc/bluemonday v1.0.20 // indirect
|
|
github.com/philhofer/fwd v1.1.1 // indirect
|
|
github.com/rogpeppe/go-internal v1.9.0 // indirect
|
|
github.com/sergi/go-diff v1.2.0 // indirect
|
|
github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d // indirect
|
|
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e // indirect
|
|
github.com/tinylib/msgp v1.1.2 // indirect
|
|
)
|
|
|
|
require (
|
|
github.com/DataDog/datadog-go/v5 v5.1.0 // indirect
|
|
github.com/DataDog/gostackparse v0.5.0 // indirect
|
|
github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect
|
|
github.com/andybalholm/brotli v1.0.4 // indirect
|
|
github.com/apache/thrift v0.16.0 // indirect
|
|
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
|
|
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
|
github.com/coreos/go-semver v0.3.0 // indirect
|
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
|
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
|
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
|
github.com/form3tech-oss/jwt-go v3.2.3+incompatible // indirect
|
|
github.com/fsnotify/fsnotify v1.4.9 // indirect
|
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
|
github.com/go-openapi/errors v0.19.8 // indirect
|
|
github.com/go-stack/stack v1.8.0 // indirect
|
|
github.com/gobwas/httphead v0.0.0-20200921212729-da3d93bc3c58 // indirect
|
|
github.com/gobwas/pool v0.2.1 // indirect
|
|
github.com/gobwas/ws v1.0.4 // indirect
|
|
github.com/goccy/go-json v0.9.11 // indirect
|
|
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect
|
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
|
|
github.com/golang/snappy v0.0.4 // indirect
|
|
github.com/google/btree v1.0.1 // indirect
|
|
github.com/google/flatbuffers v2.0.8+incompatible // indirect
|
|
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd // indirect
|
|
github.com/gorilla/websocket v1.5.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
github.com/inconshreveable/mousetrap v1.0.1 // indirect
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/jonboulle/clockwork v0.2.2 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/klauspost/asmfmt v1.3.2 // indirect
|
|
github.com/klauspost/compress v1.15.9 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.0.12 // indirect
|
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
|
github.com/magiconair/properties v1.8.5 // indirect
|
|
github.com/mattetti/filebuffer v1.0.1 // indirect
|
|
github.com/mattn/go-runewidth v0.0.2 // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
|
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 // indirect
|
|
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 // indirect
|
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/oklog/ulid v1.3.1 // indirect
|
|
github.com/pierrec/lz4/v4 v4.1.15 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
|
github.com/prometheus/common v0.37.0 // indirect
|
|
github.com/prometheus/procfs v0.8.0 // indirect
|
|
github.com/sirupsen/logrus v1.9.0 // indirect
|
|
github.com/soheilhy/cmux v0.1.5 // indirect
|
|
github.com/spf13/afero v1.6.0 // indirect
|
|
github.com/spf13/cast v1.3.1 // indirect
|
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
|
github.com/stretchr/objx v0.5.0 // indirect
|
|
github.com/subosito/gotenv v1.2.0 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.10 // indirect
|
|
github.com/tklauser/numcpus v0.4.0 // indirect
|
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
|
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
|
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
|
github.com/zeebo/xxh3 v1.0.2
|
|
go.etcd.io/etcd/client/v2 v2.305.5 // indirect
|
|
go.etcd.io/etcd/pkg/v3 v3.5.5 // indirect
|
|
go.etcd.io/etcd/raft/v3 v3.5.5 // indirect
|
|
go.mongodb.org/mongo-driver v1.7.5 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0 // indirect
|
|
go.opentelemetry.io/otel v1.0.1 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.1 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.0.1 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.0.1 // indirect
|
|
go.opentelemetry.io/otel/trace v1.0.1 // indirect
|
|
go.opentelemetry.io/proto/otlp v0.9.0 // indirect
|
|
go.uber.org/atomic v1.7.0 // indirect
|
|
go.uber.org/multierr v1.6.0 // indirect
|
|
go.uber.org/zap v1.17.0 // indirect
|
|
golang.org/x/crypto v0.1.0 // indirect
|
|
golang.org/x/net v0.7.0 // indirect
|
|
golang.org/x/sys v0.5.0 // indirect
|
|
golang.org/x/text v0.7.0 // indirect
|
|
golang.org/x/tools v0.3.0 // indirect
|
|
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect
|
|
google.golang.org/appengine v1.6.7 // indirect
|
|
google.golang.org/genproto v0.0.0-20220503193339-ba3ae3f07e29 // indirect
|
|
gopkg.in/ini.v1 v1.62.0 // indirect
|
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
nhooyr.io/websocket v1.8.6 // indirect
|
|
)
|
|
|
|
go 1.18
|