Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: persistence table structure #638

Merged
merged 30 commits into from
Aug 10, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6ab8998
refactor: persistence table structure
zepatrik Jun 29, 2021
a989734
Merge branch 'master' into persistence-v2-2
zepatrik Jun 29, 2021
d846b71
fix: build issues
zepatrik Jun 29, 2021
aa41b47
autogen(docs): generate cli docs
aeneasr Jun 29, 2021
6204d9f
fix: make linter happy
zepatrik Jun 29, 2021
72f750d
Merge remote-tracking branch 'origin/persistence-v2-2' into persisten…
zepatrik Jun 29, 2021
5155479
refactor: internal tests
zepatrik Jul 2, 2021
be30b03
Merge branch 'master' into persistence-v2-2
zepatrik Jul 2, 2021
e45b3f2
autogen: build buf
zepatrik Jul 2, 2021
a974ca3
docs: add deprecation info link
zepatrik Jul 2, 2021
614d9b6
test: fix race
zepatrik Jul 3, 2021
a4f4a92
Merge remote-tracking branch 'origin/persistence-v2-2' into persisten…
zepatrik Jul 3, 2021
c9f2c87
refactor: a lot
zepatrik Jul 7, 2021
2552166
Merge branch 'master' into persistence-v2-2
zepatrik Jul 7, 2021
f4efb67
fix: minor things, nothing to see here, don't look into this commit
zepatrik Jul 8, 2021
cf6c67b
chore: format
zepatrik Jul 8, 2021
fcb70d6
autogen(docs): generate cli docs
aeneasr Jul 8, 2021
01907e1
fix: use stderr for error msg
zepatrik Jul 13, 2021
d1dac63
Merge remote-tracking branch 'origin/persistence-v2-2' into persisten…
zepatrik Jul 13, 2021
388c853
Merge branch 'master' into persistence-v2-2
zepatrik Jul 13, 2021
0ea3381
autogen: build buf
zepatrik Jul 13, 2021
3e851bb
fix: review suggestions
zepatrik Jul 27, 2021
e50009c
Merge remote-tracking branch 'origin/persistence-v2-2' into persisten…
zepatrik Jul 27, 2021
d2df2a7
Merge branch 'master' into persistence-v2-2
zepatrik Jul 27, 2021
d42c445
fix: review request
zepatrik Aug 9, 2021
75e7752
Merge branch 'master' into persistence-v2-2
zepatrik Aug 9, 2021
640cc82
chore: go mod tidy
zepatrik Aug 9, 2021
002f8de
chore: lint issues
zepatrik Aug 9, 2021
8773b3e
fix: align namespace ID int size (SQL & Go)
zepatrik Aug 10, 2021
f785fd3
Merge branch 'master' into persistence-v2-2
zepatrik Aug 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ replace github.com/gobuffalo/pop/v5 => github.com/gobuffalo/pop/v5 v5.3.4-0.2021

require (
github.com/cenkalti/backoff/v3 v3.0.0
github.com/dgraph-io/ristretto v0.1.0
github.com/ghodss/yaml v1.0.0
github.com/go-openapi/errors v0.20.0
github.com/go-openapi/runtime v0.19.26
Expand Down
8 changes: 3 additions & 5 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+q
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw=
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
Expand Down Expand Up @@ -91,7 +92,6 @@ github.com/cenkalti/backoff/v4 v4.1.0/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo=
github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
Expand Down Expand Up @@ -143,9 +143,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgraph-io/ristretto v0.0.1/go.mod h1:T40EBc7CJke8TkpiYfGGKAeFjSaxuFXhuXRyumBd6RE=
github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI=
github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI=
github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
Expand All @@ -161,7 +160,6 @@ github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
Expand Down Expand Up @@ -582,7 +580,6 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/gddo v0.0.0-20180828051604-96d2a289f41e/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
Expand Down Expand Up @@ -1208,6 +1205,7 @@ github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d h1:yKm7XZV6j9
github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE=
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e h1:qpG93cPwA5f7s/ZPBJnGOYQNK/vKsaDaseuKT5Asee8=
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
Expand Down
2 changes: 1 addition & 1 deletion internal/check/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func (h *Handler) getCheck(w http.ResponseWriter, r *http.Request, _ httprouter.
}

if tuple.Subject == nil {
h.d.Writer().WriteError(w, r, herodot.ErrBadRequest.WithReason("subject has to be specified"))
h.d.Writer().WriteError(w, r, herodot.ErrBadRequest.WithReason("Subject has to be specified."))
return
}

Expand Down
2 changes: 1 addition & 1 deletion internal/check/handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func TestRESTHandler(t *testing.T) {
assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
assert.Contains(t, string(body), "subject has to be specified")
assert.Contains(t, string(body), "Subject has to be specified")
})

t.Run("case=returns denied on unknown namespace", func(t *testing.T) {
Expand Down
6 changes: 3 additions & 3 deletions internal/driver/config/namespace_memory.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,17 @@ func (s *memoryNamespaceManager) GetNamespaceByName(_ context.Context, name stri
}
}

return nil, errors.WithStack(herodot.ErrNotFound.WithReason("unknown namespace with name " + name))
return nil, errors.WithStack(herodot.ErrNotFound.WithReasonf("Unknown namespace with name %s.", name))
}

func (s *memoryNamespaceManager) GetNamespaceByConfigID(_ context.Context, id int) (*namespace.Namespace, error) {
func (s *memoryNamespaceManager) GetNamespaceByConfigID(_ context.Context, id int64) (*namespace.Namespace, error) {
for _, n := range *s {
if n.ID == id {
return n, nil
}
}

return nil, errors.WithStack(herodot.ErrNotFound.WithReasonf("unknown namespace with id %d", id))
return nil, errors.WithStack(herodot.ErrNotFound.WithReasonf("Unknown namespace with id %d.", id))
}

func (s *memoryNamespaceManager) Namespaces(_ context.Context) ([]*namespace.Namespace, error) {
Expand Down
6 changes: 3 additions & 3 deletions internal/driver/config/namespace_watcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,10 +168,10 @@ func (n *NamespaceWatcher) GetNamespaceByName(_ context.Context, name string) (*
}
}

return nil, errors.WithStack(herodot.ErrNotFound.WithError("unknown namespace with name " + name))
return nil, errors.WithStack(herodot.ErrNotFound.WithErrorf("Unknown namespace with name %s", name))
}

func (n *NamespaceWatcher) GetNamespaceByConfigID(_ context.Context, id int) (*namespace.Namespace, error) {
func (n *NamespaceWatcher) GetNamespaceByConfigID(_ context.Context, id int64) (*namespace.Namespace, error) {
n.RLock()
defer n.RUnlock()

Expand All @@ -181,7 +181,7 @@ func (n *NamespaceWatcher) GetNamespaceByConfigID(_ context.Context, id int) (*n
}
}

return nil, errors.WithStack(herodot.ErrNotFound.WithErrorf("unknown namespace with id %d", id))
return nil, errors.WithStack(herodot.ErrNotFound.WithErrorf("Unknown namespace with ID %d", id))
}

func (n *NamespaceWatcher) Namespaces(_ context.Context) ([]*namespace.Namespace, error) {
Expand Down
2 changes: 1 addition & 1 deletion internal/e2e/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func newInitializedReg(t testing.TB, dsn *dbx.DsnT) (context.Context, driver.Reg
nspaces := make([]*namespace.Namespace, 0)
addNamespaces := func(t *testing.T, nn ...*namespace.Namespace) {
for _, n := range nn {
n.ID = len(nspaces)
n.ID = int64(len(nspaces))
nspaces = append(nspaces, n)
}

Expand Down
2 changes: 1 addition & 1 deletion internal/expand/handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func TestRESTHandler(t *testing.T) {
assert.Equal(t, http.StatusNotFound, resp.StatusCode)
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
assert.Contains(t, string(body), "unknown namespace")
assert.Contains(t, string(body), "Unknown namespace")
})

t.Run("case=returns expand tree", func(t *testing.T) {
Expand Down
4 changes: 2 additions & 2 deletions internal/namespace/definitons.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import (

type (
Namespace struct {
ID int `json:"id" db:"-" toml:"id"`
ID int64 `json:"id" db:"-" toml:"id"`
Name string `json:"name" db:"-" toml:"name"`
Config json.RawMessage `json:"config,omitempty" db:"-" toml:"config,omitempty"`
}
Manager interface {
GetNamespaceByName(ctx context.Context, name string) (*Namespace, error)
GetNamespaceByConfigID(ctx context.Context, id int) (*Namespace, error)
GetNamespaceByConfigID(ctx context.Context, id int64) (*Namespace, error)
Namespaces(ctx context.Context) ([]*Namespace, error)
}
ManagerProvider interface {
Expand Down
2 changes: 1 addition & 1 deletion internal/persistence/sql/full_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func TestPersister(t *testing.T) {
return func(ctx context.Context, t *testing.T, name string) {
n := &namespace.Namespace{
Name: name,
ID: len(nspaces),
ID: int64(len(nspaces)),
}
nspaces = append(nspaces, n)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ CREATE TABLE keto_relation_tuples
(
shard_id UUID NOT NULL,
nid UUID NOT NULL,
namespace_id UUID NOT NULL,
namespace_id INTEGER NOT NULL,
object VARCHAR(64) NOT NULL,
relation VARCHAR(64) NOT NULL,
subject_id VARCHAR(64) NULL,
subject_set_namespace_id UUID NULL,
subject_set_namespace_id INTEGER NULL,
zepatrik marked this conversation as resolved.
Show resolved Hide resolved
subject_set_object VARCHAR(64) NULL,
subject_set_relation VARCHAR(64) NULL,
commit_time TIMESTAMP NOT NULL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ CREATE TABLE keto_relation_tuples
(
shard_id char(36) NOT NULL,
nid char(36) NOT NULL,
namespace_id char(36) NOT NULL,
namespace_id INTEGER NOT NULL,
object VARCHAR(64) NOT NULL,
relation VARCHAR(64) NOT NULL,
subject_id VARCHAR(64) NULL,
subject_set_namespace_id char(36) NULL,
subject_set_namespace_id INTEGER NULL,
subject_set_object VARCHAR(64) NULL,
subject_set_relation VARCHAR(64) NULL,
commit_time TIMESTAMP NOT NULL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ CREATE TABLE keto_relation_tuples
(
shard_id UUID NOT NULL,
nid UUID NOT NULL,
namespace_id UUID NOT NULL,
namespace_id INTEGER NOT NULL,
object VARCHAR(64) NOT NULL,
relation VARCHAR(64) NOT NULL,
subject_id VARCHAR(64) NULL,
subject_set_namespace_id UUID NULL,
subject_set_namespace_id INTEGER NULL,
subject_set_object VARCHAR(64) NULL,
subject_set_relation VARCHAR(64) NULL,
commit_time TIMESTAMP NOT NULL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ CREATE TABLE keto_relation_tuples
(
shard_id UUID NOT NULL,
nid UUID NOT NULL,
namespace_id UUID NOT NULL,
namespace_id INTEGER NOT NULL,
object VARCHAR(64) NOT NULL,
relation VARCHAR(64) NOT NULL,
subject_id VARCHAR(64) NULL,
subject_set_namespace_id UUID NULL,
subject_set_namespace_id INTEGER NULL,
subject_set_object VARCHAR(64) NULL,
subject_set_relation VARCHAR(64) NULL,
commit_time TIMESTAMP NOT NULL,
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ CREATE TABLE keto_relation_tuples
(
shard_id char(36) NOT NULL,
nid char(36) NOT NULL,
namespace_id char(36) NOT NULL,
namespace_id INTEGER NOT NULL,
zepatrik marked this conversation as resolved.
Show resolved Hide resolved
object VARCHAR(64) NOT NULL,
relation VARCHAR(64) NOT NULL,
subject_id VARCHAR(64) NULL,
subject_set_namespace_id char(36) NULL,
subject_set_namespace_id INTEGER NULL,
subject_set_object VARCHAR(64) NULL,
subject_set_relation VARCHAR(64) NULL,
commit_time TIMESTAMP NOT NULL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ CREATE TABLE keto_relation_tuples
(
shard_id UUID NOT NULL,
nid UUID NOT NULL,
namespace_id UUID NOT NULL,
namespace_id INTEGER NOT NULL,
object VARCHAR(64) NOT NULL,
relation VARCHAR(64) NOT NULL,
subject_id VARCHAR(64) NULL,
subject_set_namespace_id UUID NULL,
subject_set_namespace_id INTEGER NULL,
subject_set_object VARCHAR(64) NULL,
subject_set_relation VARCHAR(64) NULL,
commit_time TIMESTAMP NOT NULL,
Expand Down

This file was deleted.

This file was deleted.

Loading