-
- Downloads
Sync Watermark: Use deterministic techniques.
Previously, we were using deadlines based to notify synced watermarks that an index is pending. The problem this caused was that on slower machines, the deadline would happen before the index had a chance to be applied and figure if it had something to be synced. This would cause the watermark to advance, and then an older index to be received, causing an assert failure. Now, we treat sync just like we do applied, keep tracking of all possible exit paths and handling them accordingly. This change also includes renaming variables and functions to make the terminology clear.
Showing
- cmd/dgraph/debug.yaml 1 addition, 1 deletioncmd/dgraph/debug.yaml
- posting/index_test.go 2 additions, 2 deletionsposting/index_test.go
- posting/list.go 3 additions, 3 deletionsposting/list.go
- posting/list_test.go 14 additions, 14 deletionsposting/list_test.go
- posting/lists.go 16 additions, 22 deletionsposting/lists.go
- query/geo_test.go 5 additions, 8 deletionsquery/geo_test.go
- query/query_test.go 1 addition, 0 deletionsquery/query_test.go
- worker/draft.go 21 additions, 27 deletionsworker/draft.go
- worker/groups.go 1 addition, 1 deletionworker/groups.go
- worker/index.go 1 addition, 1 deletionworker/index.go
- worker/predicate_test.go 1 addition, 1 deletionworker/predicate_test.go
- x/init.go 9 additions, 0 deletionsx/init.go
- x/watermark.go 8 additions, 13 deletionsx/watermark.go
Loading
Please register or sign in to comment