From ef6f752ec2684e1ebb7bd4df38495a76c170668b Mon Sep 17 00:00:00 2001 From: antblood Date: Wed, 22 Jul 2020 11:04:42 +0530 Subject: [PATCH 001/151] testing --- query/query.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/query/query.go b/query/query.go index 81d52375a2d..79f7c9da1be 100644 --- a/query/query.go +++ b/query/query.go @@ -1985,6 +1985,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { defer stop() if sg.Attr == "uid" { + fmt.Println("inside sg.Attr") // We dont need to call ProcessGraph for uid, as we already have uids // populated from parent and there is nothing to process but uidMatrix // and values need to have the right sizes so that preTraverse works. @@ -1992,6 +1993,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { rch <- nil return } + fmt.Println("outside sg.Attr") var err error switch { case parent == nil && sg.SrcFunc != nil && sg.SrcFunc.Name == "uid": @@ -2696,12 +2698,14 @@ func (req *Request) ProcessQuery(ctx context.Context) (err error) { for i := 0; i < len(req.Subgraphs) && numQueriesDone < len(req.Subgraphs); i++ { errChan := make(chan error, len(req.Subgraphs)) var idxList []int + fmt.Println("i ", i) // If we have N blocks in a query, it can take a maximum of N iterations for all of them // to be executed. for idx := 0; idx < len(req.Subgraphs); idx++ { if hasExecuted[idx] { continue } + fmt.Println("idx ", idx) sg := req.Subgraphs[idx] // Check the list for the requires variables. if !canExecute(idx) { @@ -2738,6 +2742,8 @@ func (req *Request) ProcessQuery(ctx context.Context) (err error) { default: go ProcessGraph(ctx, sg, nil, errChan) } + time.Sleep(time.Second) + fmt.Println("uids ", sg.DestUIDs) } var ferr error From 74bd19dedd6bf6cadc18ad4b04d25a51750f50ab Mon Sep 17 00:00:00 2001 From: antblood Date: Wed, 22 Jul 2020 19:46:42 +0530 Subject: [PATCH 002/151] testing --- query/query.go | 22 +++++++++++++--------- query/recurse.go | 4 ++-- query/shortest.go | 2 +- worker/task.go | 2 ++ 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/query/query.go b/query/query.go index 79f7c9da1be..a56c351988c 100644 --- a/query/query.go +++ b/query/query.go @@ -1972,7 +1972,8 @@ func expandSubgraph(ctx context.Context, sg *SubGraph) ([]*SubGraph, error) { // ProcessGraph processes the SubGraph instance accumulating result for the query // from different instances. Note: taskQuery is nil for root node. -func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { +func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, flag int) { + fmt.Println("first uids ", sg.SrcUIDs, " ", flag) var suffix string if len(sg.Params.Alias) > 0 { suffix += "." + sg.Params.Alias @@ -1985,7 +1986,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { defer stop() if sg.Attr == "uid" { - fmt.Println("inside sg.Attr") + fmt.Println("inside sg.Attr ", sg.Attr, " ", flag) // We dont need to call ProcessGraph for uid, as we already have uids // populated from parent and there is nothing to process but uidMatrix // and values need to have the right sizes so that preTraverse works. @@ -1993,7 +1994,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { rch <- nil return } - fmt.Println("outside sg.Attr") + fmt.Println("outside sg.Attr ", sg.Attr, " ", flag) var err error switch { case parent == nil && sg.SrcFunc != nil && sg.SrcFunc.Name == "uid": @@ -2038,9 +2039,11 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { // when multiple filters replace their sg.DestUIDs sg.DestUIDs = &pb.List{Uids: sg.SrcUIDs.Uids} default: + fmt.Println("srcUIDs\n", sg.SrcUIDs) isInequalityFn := sg.SrcFunc != nil && isInequalityFn(sg.SrcFunc.Name) switch { case isInequalityFn && sg.SrcFunc.IsValueVar: + // This is a ineq function which uses a value variable. err = sg.applyIneqFunc() if parent != nil { @@ -2128,8 +2131,8 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { filter.SrcUIDs = sg.DestUIDs // Passing the pointer is okay since the filter only reads. - filter.Params.ParentVars = sg.Params.ParentVars // Pass to the child. - go ProcessGraph(ctx, filter, sg, filterChan) + // filter.Params.ParentVars = sg.Params.ParentVars // Pass to the child. + go ProcessGraph(ctx, filter, sg, filterChan, flag+10000) } var filterErr error @@ -2252,7 +2255,8 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { // We dont have to execute these nodes. continue } - go ProcessGraph(ctx, child, sg, childChan) + fmt.Println("++++ ", sg.Params.AfterUID, " +++++") + go ProcessGraph(ctx, child, sg, childChan, flag+i+10000) } var childErr error @@ -2282,7 +2286,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { rch <- nil return } - + fmt.Println("last uids ", sg.SrcUIDs, " ", flag) rch <- childErr } @@ -2740,9 +2744,9 @@ func (req *Request) ProcessQuery(ctx context.Context) (err error) { errChan <- recurse(ctx, sg) }() default: - go ProcessGraph(ctx, sg, nil, errChan) + fmt.Println("++++ ", sg.Params.AfterUID, " +++++") + go ProcessGraph(ctx, sg, nil, errChan, 300+idx*10+i) } - time.Sleep(time.Second) fmt.Println("uids ", sg.DestUIDs) } diff --git a/query/recurse.go b/query/recurse.go index 40a4475c117..9a36edf3aa2 100644 --- a/query/recurse.go +++ b/query/recurse.go @@ -41,7 +41,7 @@ func (start *SubGraph) expandRecurse(ctx context.Context, maxDepth uint64) error start.Children = start.Children[:0] // Process the root first. - go ProcessGraph(ctx, start, nil, rrch) + go ProcessGraph(ctx, start, nil, rrch, -1) select { case err = <-rrch: if err != nil { @@ -80,7 +80,7 @@ func (start *SubGraph) expandRecurse(ctx context.Context, maxDepth uint64) error rrch := make(chan error, len(exec)) for _, sg := range exec { - go ProcessGraph(ctx, sg, dummy, rrch) + go ProcessGraph(ctx, sg, dummy, rrch, -1) } var recurseErr error diff --git a/query/shortest.go b/query/shortest.go index 35505af5e35..3ee47cadb24 100644 --- a/query/shortest.go +++ b/query/shortest.go @@ -171,7 +171,7 @@ func (sg *SubGraph) expandOut(ctx context.Context, } rrch := make(chan error, len(exec)) for _, subgraph := range exec { - go ProcessGraph(ctx, subgraph, dummy, rrch) + go ProcessGraph(ctx, subgraph, dummy, rrch, -1) } for range exec { diff --git a/worker/task.go b/worker/task.go index 5d0c1669df4..2168d0243c2 100644 --- a/worker/task.go +++ b/worker/task.go @@ -19,6 +19,7 @@ package worker import ( "bytes" "context" + "fmt" "sort" "strconv" "strings" @@ -979,6 +980,7 @@ func (qs *queryState) helpProcessTask(ctx context.Context, q *pb.Query, gid uint if srcFn.fnType == hasFn && srcFn.isFuncAtRoot { span.Annotate(nil, "handleHasFunction") + fmt.Println("inside handleHasFunction if ", q.AfterUid) if err := qs.handleHasFunction(ctx, q, out, srcFn); err != nil { return nil, err } From af5ad08d95f395cea178e0906ddf2793bfcd44da Mon Sep 17 00:00:00 2001 From: antblood Date: Wed, 22 Jul 2020 21:42:17 +0530 Subject: [PATCH 003/151] testing --- query/query.go | 9 ++++++--- worker/task.go | 2 -- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/query/query.go b/query/query.go index a56c351988c..6974f27b867 100644 --- a/query/query.go +++ b/query/query.go @@ -1973,7 +1973,6 @@ func expandSubgraph(ctx context.Context, sg *SubGraph) ([]*SubGraph, error) { // ProcessGraph processes the SubGraph instance accumulating result for the query // from different instances. Note: taskQuery is nil for root node. func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, flag int) { - fmt.Println("first uids ", sg.SrcUIDs, " ", flag) var suffix string if len(sg.Params.Alias) > 0 { suffix += "." + sg.Params.Alias @@ -1986,7 +1985,6 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla defer stop() if sg.Attr == "uid" { - fmt.Println("inside sg.Attr ", sg.Attr, " ", flag) // We dont need to call ProcessGraph for uid, as we already have uids // populated from parent and there is nothing to process but uidMatrix // and values need to have the right sizes so that preTraverse works. @@ -1994,18 +1992,21 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla rch <- nil return } - fmt.Println("outside sg.Attr ", sg.Attr, " ", flag) + var err error switch { case parent == nil && sg.SrcFunc != nil && sg.SrcFunc.Name == "uid": + fmt.Println("case 1 ", sg.Params.AfterUID) // I'm root and I'm using some variable that has been populated. // Retain the actual order in uidMatrix. But sort the destUids. if sg.SrcUIDs != nil && len(sg.SrcUIDs.Uids) != 0 { + fmt.Println("inside if") // I am root. I don't have any function to execute, and my // result has been prepared for me already by list passed by the user. // uidmatrix retains the order. SrcUids are sorted (in newGraph). sg.DestUIDs = sg.SrcUIDs } else { + fmt.Println("inside else") // Populated variable. o := append(sg.DestUIDs.Uids[:0:0], sg.DestUIDs.Uids...) sg.uidMatrix = []*pb.List{{Uids: o}} @@ -2014,6 +2015,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla }) } case sg.Attr == "": + fmt.Println("case 2 ", sg.Params.AfterUID) // This is when we have uid function in children. if sg.SrcFunc != nil && sg.SrcFunc.Name == "uid" { // If its a uid() filter, we just have to intersect the SrcUIDs with DestUIDs @@ -2039,6 +2041,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla // when multiple filters replace their sg.DestUIDs sg.DestUIDs = &pb.List{Uids: sg.SrcUIDs.Uids} default: + fmt.Println("case 3 ", sg.Params.AfterUID) fmt.Println("srcUIDs\n", sg.SrcUIDs) isInequalityFn := sg.SrcFunc != nil && isInequalityFn(sg.SrcFunc.Name) switch { diff --git a/worker/task.go b/worker/task.go index 2168d0243c2..5d0c1669df4 100644 --- a/worker/task.go +++ b/worker/task.go @@ -19,7 +19,6 @@ package worker import ( "bytes" "context" - "fmt" "sort" "strconv" "strings" @@ -980,7 +979,6 @@ func (qs *queryState) helpProcessTask(ctx context.Context, q *pb.Query, gid uint if srcFn.fnType == hasFn && srcFn.isFuncAtRoot { span.Annotate(nil, "handleHasFunction") - fmt.Println("inside handleHasFunction if ", q.AfterUid) if err := qs.handleHasFunction(ctx, q, out, srcFn); err != nil { return nil, err } From 81565aee76895800653a560fb0256eebebd8ab06 Mon Sep 17 00:00:00 2001 From: antblood Date: Thu, 23 Jul 2020 02:51:13 +0530 Subject: [PATCH 004/151] checking afterUID in case of UIDs also --- query/query.go | 30 +++++++++++------------------- query/recurse.go | 4 ++-- query/shortest.go | 2 +- 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/query/query.go b/query/query.go index 6974f27b867..1a91dd95c37 100644 --- a/query/query.go +++ b/query/query.go @@ -1972,7 +1972,7 @@ func expandSubgraph(ctx context.Context, sg *SubGraph) ([]*SubGraph, error) { // ProcessGraph processes the SubGraph instance accumulating result for the query // from different instances. Note: taskQuery is nil for root node. -func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, flag int) { +func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { var suffix string if len(sg.Params.Alias) > 0 { suffix += "." + sg.Params.Alias @@ -1992,21 +1992,17 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla rch <- nil return } - var err error switch { case parent == nil && sg.SrcFunc != nil && sg.SrcFunc.Name == "uid": - fmt.Println("case 1 ", sg.Params.AfterUID) // I'm root and I'm using some variable that has been populated. // Retain the actual order in uidMatrix. But sort the destUids. if sg.SrcUIDs != nil && len(sg.SrcUIDs.Uids) != 0 { - fmt.Println("inside if") // I am root. I don't have any function to execute, and my // result has been prepared for me already by list passed by the user. // uidmatrix retains the order. SrcUids are sorted (in newGraph). sg.DestUIDs = sg.SrcUIDs } else { - fmt.Println("inside else") // Populated variable. o := append(sg.DestUIDs.Uids[:0:0], sg.DestUIDs.Uids...) sg.uidMatrix = []*pb.List{{Uids: o}} @@ -2014,8 +2010,12 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla return sg.DestUIDs.Uids[i] < sg.DestUIDs.Uids[j] }) } + i := 0 + for sg.DestUIDs.Uids[i] < sg.Params.AfterUID && i < len(sg.SrcUIDs.Uids) { + i++ + } + sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] case sg.Attr == "": - fmt.Println("case 2 ", sg.Params.AfterUID) // This is when we have uid function in children. if sg.SrcFunc != nil && sg.SrcFunc.Name == "uid" { // If its a uid() filter, we just have to intersect the SrcUIDs with DestUIDs @@ -2041,12 +2041,9 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla // when multiple filters replace their sg.DestUIDs sg.DestUIDs = &pb.List{Uids: sg.SrcUIDs.Uids} default: - fmt.Println("case 3 ", sg.Params.AfterUID) - fmt.Println("srcUIDs\n", sg.SrcUIDs) isInequalityFn := sg.SrcFunc != nil && isInequalityFn(sg.SrcFunc.Name) switch { case isInequalityFn && sg.SrcFunc.IsValueVar: - // This is a ineq function which uses a value variable. err = sg.applyIneqFunc() if parent != nil { @@ -2134,8 +2131,8 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla filter.SrcUIDs = sg.DestUIDs // Passing the pointer is okay since the filter only reads. - // filter.Params.ParentVars = sg.Params.ParentVars // Pass to the child. - go ProcessGraph(ctx, filter, sg, filterChan, flag+10000) + filter.Params.ParentVars = sg.Params.ParentVars // Pass to the child. + go ProcessGraph(ctx, filter, sg, filterChan) } var filterErr error @@ -2258,8 +2255,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla // We dont have to execute these nodes. continue } - fmt.Println("++++ ", sg.Params.AfterUID, " +++++") - go ProcessGraph(ctx, child, sg, childChan, flag+i+10000) + go ProcessGraph(ctx, child, sg, childChan) } var childErr error @@ -2289,7 +2285,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error, fla rch <- nil return } - fmt.Println("last uids ", sg.SrcUIDs, " ", flag) + rch <- childErr } @@ -2705,14 +2701,12 @@ func (req *Request) ProcessQuery(ctx context.Context) (err error) { for i := 0; i < len(req.Subgraphs) && numQueriesDone < len(req.Subgraphs); i++ { errChan := make(chan error, len(req.Subgraphs)) var idxList []int - fmt.Println("i ", i) // If we have N blocks in a query, it can take a maximum of N iterations for all of them // to be executed. for idx := 0; idx < len(req.Subgraphs); idx++ { if hasExecuted[idx] { continue } - fmt.Println("idx ", idx) sg := req.Subgraphs[idx] // Check the list for the requires variables. if !canExecute(idx) { @@ -2747,10 +2741,8 @@ func (req *Request) ProcessQuery(ctx context.Context) (err error) { errChan <- recurse(ctx, sg) }() default: - fmt.Println("++++ ", sg.Params.AfterUID, " +++++") - go ProcessGraph(ctx, sg, nil, errChan, 300+idx*10+i) + go ProcessGraph(ctx, sg, nil, errChan) } - fmt.Println("uids ", sg.DestUIDs) } var ferr error diff --git a/query/recurse.go b/query/recurse.go index 9a36edf3aa2..40a4475c117 100644 --- a/query/recurse.go +++ b/query/recurse.go @@ -41,7 +41,7 @@ func (start *SubGraph) expandRecurse(ctx context.Context, maxDepth uint64) error start.Children = start.Children[:0] // Process the root first. - go ProcessGraph(ctx, start, nil, rrch, -1) + go ProcessGraph(ctx, start, nil, rrch) select { case err = <-rrch: if err != nil { @@ -80,7 +80,7 @@ func (start *SubGraph) expandRecurse(ctx context.Context, maxDepth uint64) error rrch := make(chan error, len(exec)) for _, sg := range exec { - go ProcessGraph(ctx, sg, dummy, rrch, -1) + go ProcessGraph(ctx, sg, dummy, rrch) } var recurseErr error diff --git a/query/shortest.go b/query/shortest.go index 3ee47cadb24..35505af5e35 100644 --- a/query/shortest.go +++ b/query/shortest.go @@ -171,7 +171,7 @@ func (sg *SubGraph) expandOut(ctx context.Context, } rrch := make(chan error, len(exec)) for _, subgraph := range exec { - go ProcessGraph(ctx, subgraph, dummy, rrch, -1) + go ProcessGraph(ctx, subgraph, dummy, rrch) } for range exec { From 5847518f0c2a959e741a8a2534071d0b96e6c1c3 Mon Sep 17 00:00:00 2001 From: antblood Date: Thu, 23 Jul 2020 12:10:49 +0530 Subject: [PATCH 005/151] swaped conditions in for loop --- query/query.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/query/query.go b/query/query.go index 1a91dd95c37..dd8d2d0ebd1 100644 --- a/query/query.go +++ b/query/query.go @@ -2011,7 +2011,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { }) } i := 0 - for sg.DestUIDs.Uids[i] < sg.Params.AfterUID && i < len(sg.SrcUIDs.Uids) { + for i < len(sg.SrcUIDs.Uids) && sg.DestUIDs.Uids[i] < sg.Params.AfterUID { i++ } sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] From f7e42caefa365d12f4d3e116f8833c9383fdd293 Mon Sep 17 00:00:00 2001 From: antblood Date: Thu, 23 Jul 2020 13:51:51 +0530 Subject: [PATCH 006/151] shifted the after uid part inside else condition --- query/query.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/query/query.go b/query/query.go index dd8d2d0ebd1..b21d68b3412 100644 --- a/query/query.go +++ b/query/query.go @@ -2009,12 +2009,14 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { sort.Slice(sg.DestUIDs.Uids, func(i, j int) bool { return sg.DestUIDs.Uids[i] < sg.DestUIDs.Uids[j] }) + if sg.Params.AfterUID > 0 { + i := 0 + for i < len(sg.SrcUIDs.Uids) && sg.DestUIDs.Uids[i] <= sg.Params.AfterUID { + i++ + } + sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] + } } - i := 0 - for i < len(sg.SrcUIDs.Uids) && sg.DestUIDs.Uids[i] < sg.Params.AfterUID { - i++ - } - sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] case sg.Attr == "": // This is when we have uid function in children. if sg.SrcFunc != nil && sg.SrcFunc.Name == "uid" { From bd2dfb77e9ce9a08cfb08a24ff0b81e512421da9 Mon Sep 17 00:00:00 2001 From: antblood Date: Thu, 23 Jul 2020 15:27:12 +0530 Subject: [PATCH 007/151] changed if condition --- query/query.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/query/query.go b/query/query.go index b21d68b3412..8eb3032e86e 100644 --- a/query/query.go +++ b/query/query.go @@ -2011,7 +2011,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { }) if sg.Params.AfterUID > 0 { i := 0 - for i < len(sg.SrcUIDs.Uids) && sg.DestUIDs.Uids[i] <= sg.Params.AfterUID { + for i < len(sg.DestUIDs.Uids) && sg.DestUIDs.Uids[i] <= sg.Params.AfterUID { i++ } sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] From fc5927bbbe9f13a9e15fa9ea62075df6120eb45d Mon Sep 17 00:00:00 2001 From: Anurag Date: Thu, 23 Jul 2020 22:55:02 +0530 Subject: [PATCH 008/151] chore: Add remove-orphans flag to docker compose and update tests to use python3 (#6059) --- contrib/scripts/functions.sh | 4 ++-- contrib/scripts/goldendata-queries.sh | 2 +- dgraph/cmd/bulk/systest/test-bulk-schema.sh | 9 ++++----- systest/1million/test-reindex.sh | 6 +++--- systest/21million/test-21million.sh | 4 ++-- systest/bgindex/test-bgindex.sh | 6 +++--- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/contrib/scripts/functions.sh b/contrib/scripts/functions.sh index 5a465781d99..f2ac6c14a76 100755 --- a/contrib/scripts/functions.sh +++ b/contrib/scripts/functions.sh @@ -54,6 +54,6 @@ function stopCluster { function loginWithGroot() { curl -s -XPOST localhost:8180/login -d '{"userid": "groot","password": "password"}' \ - | python -c \ - "import json; resp = raw_input(); data = json.loads(resp); print data['data']['accessJWT']" + | python3 -c \ + "import json; resp = input(); data = json.loads(resp); print(data['data']['accessJWT'])" } diff --git a/contrib/scripts/goldendata-queries.sh b/contrib/scripts/goldendata-queries.sh index f60ec83eebb..d47b7564803 100755 --- a/contrib/scripts/goldendata-queries.sh +++ b/contrib/scripts/goldendata-queries.sh @@ -34,7 +34,7 @@ function run_index_test { timeout=$(( timeout * 2 )) done - NUM=$(echo $N | python -m json.tool | grep $GREPFOR | wc -l) + NUM=$(echo $N | python3 -m json.tool | grep $GREPFOR | wc -l) if [[ ! "$NUM" -eq "$ANS" ]]; then echo "Index test failed: ${X} Expected: $ANS Got: $NUM" exit 1 diff --git a/dgraph/cmd/bulk/systest/test-bulk-schema.sh b/dgraph/cmd/bulk/systest/test-bulk-schema.sh index afd408de7e0..12a6393e58b 100755 --- a/dgraph/cmd/bulk/systest/test-bulk-schema.sh +++ b/dgraph/cmd/bulk/systest/test-bulk-schema.sh @@ -71,7 +71,7 @@ function StartAlpha if [[ $p_dir ]]; then docker cp $p_dir alpha1:/data/alpha1/ fi - DockerCompose -f $DOCKER_CONF up -d alpha1 + DockerCompose -f $DOCKER_CONF up -d --remove-orphans alpha1 TIMEOUT=10 while [[ $TIMEOUT > 0 ]]; do @@ -88,7 +88,7 @@ function StartAlpha function ResetCluster { INFO "restarting cluster with only one zero and alpha" - DockerCompose -f $DOCKER_CONF down + DockerCompose -f $DOCKER_CONF down --remove-orphans StartZero StartAlpha } @@ -119,7 +119,7 @@ function QuerySchema { INFO "running schema query" local out_file="schema.out" - curl -sS -H "Content-Type: application/graphql+-" localhost:$HTTP_PORT/query -XPOST -d'schema(pred:[genre,language,name,revenue,predicate_with_default_type,predicate_with_index_no_uid_count,predicate_with_no_uid_count]) {}' | python -c "import json,sys; d=json.load(sys.stdin); json.dump(d['data'],sys.stdout,sort_keys=True,indent=2)" > $out_file + curl -sS -H "Content-Type: application/graphql+-" localhost:$HTTP_PORT/query -XPOST -d'schema(pred:[genre,language,name,revenue,predicate_with_default_type,predicate_with_index_no_uid_count,predicate_with_no_uid_count]) {}' | python3 -c "import json,sys; d=json.load(sys.stdin); json.dump(d['data'],sys.stdout,sort_keys=True,indent=2)" > $out_file echo >> $out_file } @@ -218,7 +218,7 @@ EOF function StopServers { INFO "stopping containers" - DockerCompose -f $DOCKER_CONF down + DockerCompose -f $DOCKER_CONF down --remove-orphans } function Cleanup @@ -235,7 +235,6 @@ UpdateDatabase QuerySchema DoExport StopServers - popd >/dev/null mkdir dir2 pushd dir2 >/dev/null diff --git a/systest/1million/test-reindex.sh b/systest/1million/test-reindex.sh index 775ea75cfef..9f58eb04ac9 100755 --- a/systest/1million/test-reindex.sh +++ b/systest/1million/test-reindex.sh @@ -28,7 +28,7 @@ Info "entering directory $SRCDIR" cd $SRCDIR Info "bringing down zero and alpha and data volumes" -DockerCompose down -v +DockerCompose down -v --remove-orphans Info "bringing up zero container" DockerCompose up -d --remove-orphans --force-recreate zero1 @@ -51,7 +51,7 @@ DockerCompose run -v $BENCHMARKS_REPO:$BENCHMARKS_REPO --name bulk_load zero1 \ EOF Info "bringing up alpha container" -DockerCompose up -d --force-recreate alpha1 alpha2 alpha3 +DockerCompose up -d --force-recreate --remove-orphans alpha1 alpha2 alpha3 Info "waiting for alpha to be ready" DockerCompose logs -f alpha1 | grep -q -m1 "Server is ready" @@ -71,7 +71,7 @@ Info "running regression queries" go test -v -tags systest || FOUND_DIFFS=1 Info "bringing down zero and alpha and data volumes" -DockerCompose down -v +DockerCompose down -v --remove-orphans if [[ $FOUND_DIFFS -eq 0 ]]; then Info "no diffs found in query results" diff --git a/systest/21million/test-21million.sh b/systest/21million/test-21million.sh index 22e62f97a9a..52fe6780246 100755 --- a/systest/21million/test-21million.sh +++ b/systest/21million/test-21million.sh @@ -182,12 +182,12 @@ fi if [[ $CLEANUP == all ]]; then Info "bringing down zero and alpha and data volumes" - DockerCompose down -v + DockerCompose down -v --remove-orphans elif [[ $CLEANUP == none ]]; then Info "leaving up zero and alpha" else Info "bringing down zero and alpha only" - DockerCompose down + DockerCompose down --remove-orphans fi exit $FOUND_DIFFS diff --git a/systest/bgindex/test-bgindex.sh b/systest/bgindex/test-bgindex.sh index 85647e2a1af..e90bdb359a7 100755 --- a/systest/bgindex/test-bgindex.sh +++ b/systest/bgindex/test-bgindex.sh @@ -15,10 +15,10 @@ Info "entering directory $SRCDIR" cd $SRCDIR Info "bringing down dgraph cluster and data volumes" -DockerCompose down -v +DockerCompose down -v --remove-orphans Info "bringing up dgraph cluster" -DockerCompose up -d +DockerCompose up -d --remove-orphans Info "waiting for zero to become leader" DockerCompose logs -f alpha1 | grep -q -m1 "Successfully upserted groot account" @@ -32,7 +32,7 @@ Info "running background indexing test" go test -v -tags systest || FOUND_DIFFS=1 Info "bringing down dgraph cluster and data volumes" -DockerCompose down -v +DockerCompose down -v --remove-orphans if [[ $FOUND_DIFFS -eq 0 ]]; then Info "test passed" From eeb6187b1e7712196c82796af28f31416040cdad Mon Sep 17 00:00:00 2001 From: Joaquin Menchaca Date: Thu, 23 Jul 2020 14:57:46 -0700 Subject: [PATCH 009/151] wiki/deploy helm chart update (#6049) --- wiki/content/deploy/index.md | 67 ++---------------------------------- 1 file changed, 3 insertions(+), 64 deletions(-) diff --git a/wiki/content/deploy/index.md b/wiki/content/deploy/index.md index 84d82f72acb..4d83286e50f 100644 --- a/wiki/content/deploy/index.md +++ b/wiki/content/deploy/index.md @@ -1003,74 +1003,13 @@ helm delete my-release Deletion of the StatefulSet doesn't cascade to deleting associated PVCs. To delete them: ```sh -kubectl delete pvc -l release=my-release,chart=dgraph +kubectl delete pvc --selector release=my-release ``` #### Configuration -The following table lists the configurable parameters of the dgraph chart and their default values. - -| Parameter | Description | Default | -| ------------------------------------ | ------------------------------------------------------------------- | --------------------------------------------------- | -| `image.registry` | Container registry name | `docker.io` | -| `image.repository` | Container image name | `dgraph/dgraph` | -| `image.tag` | Container image tag | `latest` | -| `image.pullPolicy` | Container pull policy | `Always` | -| `zero.name` | Zero component name | `zero` | -| `zero.updateStrategy` | Strategy for upgrading zero nodes | `RollingUpdate` | -| `zero.monitorLabel` | Monitor label for zero, used by prometheus. | `zero-dgraph-io` | -| `zero.rollingUpdatePartition` | Partition update strategy | `nil` | -| `zero.podManagementPolicy` | Pod management policy for zero nodes | `OrderedReady` | -| `zero.replicaCount` | Number of zero nodes | `3` | -| `zero.shardReplicaCount` | Max number of replicas per data shard | `5` | -| `zero.terminationGracePeriodSeconds` | Zero server pod termination grace period | `60` | -| `zero.antiAffinity` | Zero anti-affinity policy | `soft` | -| `zero.podAntiAffinitytopologyKey` | Anti affinity topology key for zero nodes | `kubernetes.io/hostname` | -| `zero.nodeAffinity` | Zero node affinity policy | `{}` | -| `zero.service.type` | Zero node service type | `ClusterIP` | -| `zero.securityContext.enabled` | Security context for zero nodes enabled | `false` | -| `zero.securityContext.fsGroup` | Group id of the zero container | `1001` | -| `zero.securityContext.runAsUser` | User ID for the zero container | `1001` | -| `zero.persistence.enabled` | Enable persistence for zero using PVC | `true` | -| `zero.persistence.storageClass` | PVC Storage Class for zero volume | `nil` | -| `zero.persistence.accessModes` | PVC Access Mode for zero volume | `ReadWriteOnce` | -| `zero.persistence.size` | PVC Storage Request for zero volume | `8Gi` | -| `zero.nodeSelector` | Node labels for zero pod assignment | `{}` | -| `zero.tolerations` | Zero tolerations | `[]` | -| `zero.resources` | Zero node resources requests & limits | `{}` | -| `zero.livenessProbe` | Zero liveness probes | `See values.yaml for defaults` | -| `zero.readinessProbe` | Zero readiness probes | `See values.yaml for defaults` | -| `alpha.name` | Alpha component name | `alpha` | -| `alpha.updateStrategy` | Strategy for upgrading alpha nodes | `RollingUpdate` | -| `alpha.monitorLabel` | Monitor label for alpha, used by prometheus. | `alpha-dgraph-io` | -| `alpha.rollingUpdatePartition` | Partition update strategy | `nil` | -| `alpha.podManagementPolicy` | Pod management policy for alpha nodes | `OrderedReady` | -| `alpha.replicaCount` | Number of alpha nodes | `3` | -| `alpha.terminationGracePeriodSeconds`| Alpha server pod termination grace period | `60` | -| `alpha.antiAffinity` | Alpha anti-affinity policy | `soft` | -| `alpha.podAntiAffinitytopologyKey` | Anti affinity topology key for zero nodes | `kubernetes.io/hostname` | -| `alpha.nodeAffinity` | Alpha node affinity policy | `{}` | -| `alpha.service.type` | Alpha node service type | `ClusterIP` | -| `alpha.securityContext.enabled` | Security context for alpha nodes enabled | `false` | -| `alpha.securityContext.fsGroup` | Group id of the alpha container | `1001` | -| `alpha.securityContext.runAsUser` | User ID for the alpha container | `1001` | -| `alpha.persistence.enabled` | Enable persistence for alpha using PVC | `true` | -| `alpha.persistence.storageClass` | PVC Storage Class for alpha volume | `nil` | -| `alpha.persistence.accessModes` | PVC Access Mode for alpha volume | `ReadWriteOnce` | -| `alpha.persistence.size` | PVC Storage Request for alpha volume | `8Gi` | -| `alpha.nodeSelector` | Node labels for alpha pod assignment | `{}` | -| `alpha.tolerations` | Alpha tolerations | `[]` | -| `alpha.resources` | Alpha node resources requests & limits | `{}` | -| `alpha.livenessProbe` | Alpha liveness probes | `See values.yaml for defaults` | -| `alpha.readinessProbe` | Alpha readiness probes | `See values.yaml for defaults` | -| `ratel.name` | Ratel component name | `ratel` | -| `ratel.replicaCount` | Number of ratel nodes | `1` | -| `ratel.service.type` | Ratel service type | `ClusterIP` | -| `ratel.securityContext.enabled` | Security context for ratel nodes enabled | `false` | -| `ratel.securityContext.fsGroup` | Group id of the ratel container | `1001` | -| `ratel.securityContext.runAsUser` | User ID for the ratel container | `1001` | -| `ratel.livenessProbe` | Ratel liveness probes | `See values.yaml for defaults` | -| `ratel.readinessProbe` | Ratel readiness probes | `See values.yaml for defaults` | +The latest configuration settings can be found: +* https://github.com/dgraph-io/charts/blob/master/charts/dgraph/README.md#configuration ### Monitoring in Kubernetes From b3b8f3ee1957bba6f9fe11da7111bc1a0c817f96 Mon Sep 17 00:00:00 2001 From: Daniel Mai Date: Thu, 23 Jul 2020 18:44:20 -0700 Subject: [PATCH 010/151] chore: Print Zero config in logs. (#6047) This is so we can know what the config is set to in Zero. Example: I0721 04:39:20.865338 16 run.go:187] Setting Config to: {bindall:true myAddr:zero1:5180 portOffset:100 nodeId:1 numReplicas:3 peer: w:zw rebalanceInterval:480000000000 LudicrousMode:false} --- dgraph/cmd/zero/run.go | 1 + 1 file changed, 1 insertion(+) diff --git a/dgraph/cmd/zero/run.go b/dgraph/cmd/zero/run.go index 54b5f990e83..c420f185c10 100644 --- a/dgraph/cmd/zero/run.go +++ b/dgraph/cmd/zero/run.go @@ -184,6 +184,7 @@ func run() { rebalanceInterval: Zero.Conf.GetDuration("rebalance_interval"), LudicrousMode: Zero.Conf.GetBool("ludicrous_mode"), } + glog.Infof("Setting Config to: %+v", opts) x.WorkerConfig = x.WorkerOptions{ LudicrousMode: Zero.Conf.GetBool("ludicrous_mode"), From 3cbfba1251a5f03ccee2cfc7f9955f3fc6efebc3 Mon Sep 17 00:00:00 2001 From: Jatin Dev <64803093+JatinDevDG@users.noreply.github.com> Date: Fri, 24 Jul 2020 22:23:48 +0530 Subject: [PATCH 011/151] skiping the flaky subscription test (#6069) This PR skips the flaky subscriptions tests TestSubscriptionAuth_SameQueryAndClaimsButDifferentExpiry_ShouldExpireIndependently and TestSubscriptionAuth_SameQueryDifferentClaimsAndExpiry_ShouldExpireIndependently . --- graphql/e2e/subscription/subscription_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/graphql/e2e/subscription/subscription_test.go b/graphql/e2e/subscription/subscription_test.go index 6fc60592e1e..5da20a20f12 100644 --- a/graphql/e2e/subscription/subscription_test.go +++ b/graphql/e2e/subscription/subscription_test.go @@ -428,6 +428,7 @@ func TestSubscriptionWithAuthShouldExpireWithJWT(t *testing.T) { } func TestSubscriptionAuth_SameQueryAndClaimsButDifferentExpiry_ShouldExpireIndependently(t *testing.T) { + t.Skip() dg, err := testutil.DgraphClient(groupOnegRPC) require.NoError(t, err) testutil.DropAll(t, dg) @@ -588,6 +589,7 @@ func TestSubscriptionAuth_SameQueryAndClaimsButDifferentExpiry_ShouldExpireIndep } func TestSubscriptionAuth_SameQueryDifferentClaimsAndExpiry_ShouldExpireIndependently(t *testing.T) { + t.Skip() dg, err := testutil.DgraphClient(groupOnegRPC) require.NoError(t, err) testutil.DropAll(t, dg) From 52019d39ec885a1d8297c21e5ef1f532fdae71c5 Mon Sep 17 00:00:00 2001 From: gotjoshua Date: Fri, 24 Jul 2020 18:40:31 +0100 Subject: [PATCH 012/151] docs(Readme): current version from 1.1 to 20.03.4 (#6068) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a994f6327cc..8fe41c143f2 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Dgraph supports [GraphQL query syntax](https://dgraph.io/docs/master/query-langu ## Status -Dgraph is [at version 1.1.x][rel] and is production ready. Apart from the vast open source community, it is being used in +Dgraph is [at version 20.03.4][rel] and is production ready. Apart from the vast open source community, it is being used in production at multiple Fortune 500 companies, and by [Intuit Katlas](https://github.com/intuit/katlas) and [VMware Purser](https://github.com/vmware/purser). From 33a710451cc9884fdfe369f66c94420d34b049be Mon Sep 17 00:00:00 2001 From: Daniel Mai Date: Fri, 24 Jul 2020 10:41:00 -0700 Subject: [PATCH 013/151] docs(build): Update latest docs to v20.03.4. (#6063) --- wiki/scripts/build.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wiki/scripts/build.sh b/wiki/scripts/build.sh index 1c88f099a52..21b66e9fda9 100755 --- a/wiki/scripts/build.sh +++ b/wiki/scripts/build.sh @@ -27,8 +27,10 @@ HUGO="${HUGO:-hugo}" # and then the older versions in descending order, such that the # build script can place the artifact in an appropriate location. VERSIONS_ARRAY=( - 'v20.03.1' + 'v20.03.4' 'master' + 'v20.03.3' + 'v20.03.1' 'v20.03.0' 'v1.2.2' 'v1.2.1' From c51d007e7d53a0d313bab3e73e8536ff1fc455c0 Mon Sep 17 00:00:00 2001 From: Martin Martinez Rivera Date: Fri, 24 Jul 2020 13:19:52 -0700 Subject: [PATCH 014/151] refactor: Simplify how list splits are tracked. (#5920) Currently the code keeps tracks of the split startUids and updates them as the posting lists are split or empty parts are removed. Instead, update the list of startUids at the end of each step based on the contents of the map of startUids to posting list. This removes the need of keeping track of the same piece of information in two different ways. Also, fix a bug where the empty parts were removed from the list of splits but not from the map. This caused empty posting lists to be written to disk although it didn't affect normal execution because those parts were not accessible from the main posting list. --- posting/list.go | 40 +++++++++++++++------------------------- posting/list_test.go | 12 ++++++++++++ 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/posting/list.go b/posting/list.go index 45bfef9bece..22599176133 100644 --- a/posting/list.go +++ b/posting/list.go @@ -1341,6 +1341,13 @@ func shouldSplit(plist *pb.PostingList) bool { return plist.Size() >= maxListSize && len(plist.Pack.Blocks) > 1 } +func (out *rollupOutput) updateSplits() { + if out.plist == nil { + out.plist = &pb.PostingList{} + } + out.plist.Splits = out.splits() +} + func (out *rollupOutput) recursiveSplit() { // Call splitUpList. Otherwise the map of startUids to parts won't be initialized. out.splitUpList() @@ -1367,7 +1374,7 @@ func (out *rollupOutput) splitUpList() { var lists []*pb.PostingList // If list is not split yet, insert the main list. - if len(out.plist.Splits) == 0 { + if len(out.parts) == 0 { lists = append(lists, out.plist) } @@ -1377,13 +1384,10 @@ func (out *rollupOutput) splitUpList() { lists = append(lists, part) } - // List of startUids for each list part after the splitting process is complete. - var newSplits []uint64 - for i, list := range lists { startUid := uint64(1) // If the list is split, select the right startUid for this list. - if len(out.plist.Splits) > 0 { + if len(out.parts) > 0 { startUid = out.plist.Splits[i] } @@ -1393,23 +1397,11 @@ func (out *rollupOutput) splitUpList() { startUids, pls := binSplit(startUid, list) for i, startUid := range startUids { out.parts[startUid] = pls[i] - newSplits = append(newSplits, startUid) } - } else { - // No need to split the list. Add the startUid to the array of new splits. - newSplits = append(newSplits, startUid) } } - // No new lists were created so there's no need to update the list of splits. - if len(newSplits) == len(lists) { - return - } - - // The splits changed so update them. - out.plist = &pb.PostingList{ - Splits: newSplits, - } + out.updateSplits() } // binSplit takes the given plist and returns two new plists, each with @@ -1447,28 +1439,26 @@ func binSplit(lowUid uint64, plist *pb.PostingList) ([]uint64, []*pb.PostingList // removeEmptySplits updates the split list by removing empty posting lists' startUids. func (out *rollupOutput) removeEmptySplits() { - var splits []uint64 for startUid, plist := range out.parts { // Do not remove the first split for now, as every multi-part list should always // have a split starting with UID 1. if startUid == 1 { - splits = append(splits, startUid) continue } - if !isPlistEmpty(plist) { - splits = append(splits, startUid) + if isPlistEmpty(plist) { + delete(out.parts, startUid) } } - out.plist.Splits = splits - sortSplits(splits) + out.updateSplits() - if len(out.plist.Splits) == 1 { + if len(out.parts) == 1 && isPlistEmpty(out.parts[1]) { // Only the first split remains. If it's also empty, remove it as well. // This should mark the entire list for deletion. Please note that the // startUid of the first part is always one because a node can never have // its uid set to zero. if isPlistEmpty(out.parts[1]) { + delete(out.parts, 1) out.plist.Splits = []uint64{} } } diff --git a/posting/list_test.go b/posting/list_test.go index ac543c4b3d5..9f1ca3c46e8 100644 --- a/posting/list_test.go +++ b/posting/list_test.go @@ -895,6 +895,16 @@ func TestAfterUIDCountWithCommit(t *testing.T) { require.EqualValues(t, 0, ol.Length(txn.StartTs, 300)) } +func verifySplits(t *testing.T, splits []uint64) { + require.Equal(t, uint64(1), splits[0]) + for i, uid := range splits { + if i == 0 { + continue + } + require.Greater(t, uid, splits[i-1]) + } +} + func createMultiPartList(t *testing.T, size int, addLabel bool) (*List, int) { // For testing, set the max list size to a lower threshold. maxListSize = 5000 @@ -936,6 +946,7 @@ func createMultiPartList(t *testing.T, size int, addLabel bool) (*List, int) { ol, err = getNew(key, ps, math.MaxUint64) require.NoError(t, err) require.True(t, len(ol.plist.Splits) > 0) + verifySplits(t, ol.plist.Splits) return ol, commits } @@ -969,6 +980,7 @@ func createAndDeleteMultiPartList(t *testing.T, size int) (*List, int) { commits++ } require.True(t, len(ol.plist.Splits) > 0) + verifySplits(t, ol.plist.Splits) // Delete all the previously inserted entries from the list. baseStartTs := uint64(size) + 1 From 3596cc8b0ce7247e864cf543afe7e336cca54f14 Mon Sep 17 00:00:00 2001 From: antblood Date: Mon, 27 Jul 2020 01:49:01 +0530 Subject: [PATCH 015/151] using binary search to find index afterUID --- query/query.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/query/query.go b/query/query.go index 8eb3032e86e..6820576e4b9 100644 --- a/query/query.go +++ b/query/query.go @@ -2010,10 +2010,7 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { return sg.DestUIDs.Uids[i] < sg.DestUIDs.Uids[j] }) if sg.Params.AfterUID > 0 { - i := 0 - for i < len(sg.DestUIDs.Uids) && sg.DestUIDs.Uids[i] <= sg.Params.AfterUID { - i++ - } + i := sort.Search(len(sg.DestUIDs.Uids), func(i int) bool { return sg.DestUIDs.Uids[i] > sg.Params.AfterUID }) sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] } } From 3e3a53f532d453d9b9479faca51220bda599a0d2 Mon Sep 17 00:00:00 2001 From: Arijit Das Date: Mon, 27 Jul 2020 09:26:45 +0530 Subject: [PATCH 016/151] fix(GraphQL): Fix auth rewriting for nested queries when RBAC rule is true. (#6053) * Fix auth rewriting for nested queries when RBAC rule is true. --- graphql/e2e/auth/schema.graphql | 47 ++++ graphql/resolve/auth_add_test.yaml | 54 ++++- graphql/resolve/auth_delete_test.yaml | 48 ++++- graphql/resolve/auth_query_test.yaml | 300 +++++++++++++++++++++++--- graphql/resolve/auth_test.go | 42 ++-- graphql/resolve/auth_tests.yaml | 68 ++++-- graphql/resolve/auth_update_test.yaml | 46 +++- graphql/resolve/query_rewriter.go | 12 +- 8 files changed, 527 insertions(+), 90 deletions(-) diff --git a/graphql/e2e/auth/schema.graphql b/graphql/e2e/auth/schema.graphql index 403aa736264..28951209a20 100644 --- a/graphql/e2e/auth/schema.graphql +++ b/graphql/e2e/auth/schema.graphql @@ -522,3 +522,50 @@ query($USER: String!) { id: ID! email: String! @dgraph(pred: "IOw80vnV") @search(by: [hash]) } + +type Contact @auth( + query: { rule: "{$ContactRole: { eq: \"ADMINISTRATOR\"}}" } +) { + id: ID! + nickName: String @search(by: [exact, term, fulltext, regexp]) + adminTasks: [AdminTask] @hasInverse(field: forContact) + tasks: [Task] @hasInverse(field: forContact) +} + +type AdminTask @auth( + query: { rule: "{$TaskRole: { eq: \"ADMINISTRATOR\"}}" } +) { + id: ID! + name: String @search(by: [exact, term, fulltext, regexp]) + occurrances: [TaskOccurance] @hasInverse(field: adminTask) + forContact: Contact @hasInverse(field: adminTasks) +} + +type Task { + id: ID! + name: String @search(by: [exact, term, fulltext, regexp]) + occurrances: [TaskOccurance] @hasInverse(field: task) + forContact: Contact @hasInverse(field: tasks) +} + +type TaskOccurance @auth( + query: { and : [ + {rule: "{$TaskOccuranceRole: { eq: \"ADMINISTRATOR\"}}"}, + {rule: """ + query($TaskOccuranceRole: String!) { + queryTaskOccurance(filter: {role: { eq: $TaskOccuranceRole}}) { + __typename + } + } + """} +] } +) { + id: ID! + due: DateTime @search + comp: DateTime @search + task: Task @hasInverse(field: occurrances) + adminTask: AdminTask @hasInverse(field: occurrances) + isPublic: Boolean @search + role: String @search(by: [exact, term, fulltext, regexp]) +} + diff --git a/graphql/resolve/auth_add_test.yaml b/graphql/resolve/auth_add_test.yaml index 177a82ba8ef..2c8c78d81d6 100644 --- a/graphql/resolve/auth_add_test.yaml +++ b/graphql/resolve/auth_add_test.yaml @@ -7,6 +7,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "secret": { "aSecret": "it is", @@ -35,6 +37,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "secrets": [ @@ -64,6 +68,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "secret": { "aSecret": "it is", @@ -94,6 +100,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "secrets": [ @@ -125,6 +133,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "col": { "inProject": { "projID": "0x123" }, @@ -191,6 +201,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "col": { @@ -257,6 +269,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "col1": { "inProject": { "projID": "0x123" }, @@ -334,6 +348,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "col1": { "inProject": { "projID": "0x123" }, @@ -418,6 +434,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "col": { "inProject": { "projID": "0x123" }, @@ -493,6 +511,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "col": { "inProject": { "projID": "0x123" }, @@ -569,6 +589,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "proj": { @@ -658,6 +680,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "proj": { @@ -748,6 +772,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "log": { "logs": "log123", @@ -769,7 +795,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "log": { "logs": "log123", @@ -789,7 +817,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "proj": { @@ -811,7 +841,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" variables: | { "proj": { @@ -850,7 +882,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "issue": { "msg": "log123", @@ -900,7 +934,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" variables: | { "issue": { "msg": "log123", @@ -950,7 +986,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" variables: | { "log": { "logs": "log123", @@ -971,7 +1009,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "log": { "logs": "log123", diff --git a/graphql/resolve/auth_delete_test.yaml b/graphql/resolve/auth_delete_test.yaml index 14370f9311b..f8837eb2e2a 100644 --- a/graphql/resolve/auth_delete_test.yaml +++ b/graphql/resolve/auth_delete_test.yaml @@ -5,6 +5,8 @@ msg } } + jwtvar: + USER: "user1" variables: | { "filter": { "aSecret": { "anyofterms": "auth is applied" } } } dgmutations: @@ -29,6 +31,8 @@ msg } } + jwtvar: + USER: "user1" variables: | { "filter": { "title": { "anyofterms": "auth is applied" } } } dgmutations: @@ -90,6 +94,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "filter": { "title": { "anyofterms": "auth is applied" } } } dgmutations: @@ -206,7 +212,9 @@ { "projs" : ["0x01", "0x02"] } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgmutations: - deletejson: | [{ @@ -244,7 +252,9 @@ "id": ["0x1", "0x2"] } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgmutations: - deletejson: | [{ @@ -269,6 +279,8 @@ "username": { "eq": "userxyz" } } } + jwtvar: + USER: "user1" dgmutations: - deletejson: | [ @@ -297,6 +309,8 @@ msg } } + jwtvar: + USER: "user1" variables: | { "filter": { @@ -331,7 +345,9 @@ "id": ["0x1", "0x2"] } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgmutations: - deletejson: | [{ @@ -359,7 +375,9 @@ "id": ["0x1", "0x2"] } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgmutations: - deletejson: | [{ @@ -392,7 +410,9 @@ { "ids" : ["0x01", "0x02"] } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgmutations: - deletejson: | [{ "uid": "uid(x)" }] @@ -416,6 +436,8 @@ { "ids" : ["0x01", "0x02"] } + jwtvar: + USER: "user1" dgmutations: - deletejson: | [{ "uid": "uid(x)" }] @@ -442,7 +464,9 @@ "id": ["0x1", "0x2"] } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgmutations: - deletejson: | [{ @@ -474,7 +498,9 @@ "id": ["0x1", "0x2"] } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgmutations: - deletejson: | [{ @@ -498,7 +524,9 @@ "id": ["0x1", "0x2"] } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgmutations: - deletejson: | [{ @@ -522,7 +550,9 @@ "id": ["0x1", "0x2"] } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgmutations: - deletejson: | [{ diff --git a/graphql/resolve/auth_query_test.yaml b/graphql/resolve/auth_query_test.yaml index ba4b50bb28b..c099f1913c3 100644 --- a/graphql/resolve/auth_query_test.yaml +++ b/graphql/resolve/auth_query_test.yaml @@ -1,3 +1,192 @@ +- name: "Deep RBAC rule - All level true" + gqlquery: | + query { + queryContact { + id + nickName + adminTasks { + id + name + occurrances { + due + comp + } + } + } + } + jwtvar: + ContactRole: ADMINISTRATOR + TaskRole: ADMINISTRATOR + TaskOccuranceRole: ADMINISTRATOR + dgquery: |- + query { + queryContact(func: uid(ContactRoot)) { + id : uid + nickName : Contact.nickName + adminTasks : Contact.adminTasks @filter(uid(AdminTask5)) { + id : uid + name : AdminTask.name + occurrances : AdminTask.occurrances @filter(uid(TaskOccurance4)) { + due : TaskOccurance.due + comp : TaskOccurance.comp + dgraph.uid : uid + } + } + } + ContactRoot as var(func: uid(Contact6)) + Contact6 as var(func: type(Contact)) + var(func: uid(ContactRoot)) { + AdminTask1 as Contact.adminTasks + } + AdminTask5 as var(func: uid(AdminTask1)) + var(func: uid(AdminTask1)) { + TaskOccurance2 as AdminTask.occurrances + } + TaskOccurance4 as var(func: uid(TaskOccurance2)) @filter(uid(TaskOccuranceAuth3)) + TaskOccuranceAuth3 as var(func: uid(TaskOccurance2)) @filter(eq(TaskOccurance.role, "ADMINISTRATOR")) @cascade + } + +- name: "Deep RBAC rule - Level 0 false" + gqlquery: | + query { + queryContact { + id + nickName + adminTasks { + id + name + occurrances { + due + comp + } + } + } + } + jwtvar: + ContactRole: User + TaskRole: ADMINISTRATOR + TaskOccuranceRole: ADMINISTRATOR + dgquery: |- + query { + queryContact() + } + +- name: "Deep RBAC rule - Level 1 false" + gqlquery: | + query { + queryContact { + id + nickName + adminTasks { + id + name + occurrances { + due + comp + } + } + } + } + jwtvar: + ContactRole: ADMINISTRATOR + TaskRole: User + TaskOccuranceRole: ADMINISTRATOR + dgquery: |- + query { + queryContact(func: uid(ContactRoot)) { + id : uid + nickName : Contact.nickName + } + ContactRoot as var(func: uid(Contact5)) + Contact5 as var(func: type(Contact)) + } + +- name: "Deep RBAC rule - Level 2 false" + gqlquery: | + query { + queryContact { + id + nickName + adminTasks { + id + name + occurrances { + due + comp + } + } + } + } + jwtvar: + ContactRole: ADMINISTRATOR + TaskRole: ADMINISTRATOR + TaskOccuranceRole: User + dgquery: |- + query { + queryContact(func: uid(ContactRoot)) { + id : uid + nickName : Contact.nickName + adminTasks : Contact.adminTasks @filter(uid(AdminTask3)) { + id : uid + name : AdminTask.name + } + } + ContactRoot as var(func: uid(Contact4)) + Contact4 as var(func: type(Contact)) + var(func: uid(ContactRoot)) { + AdminTask1 as Contact.adminTasks + } + AdminTask3 as var(func: uid(AdminTask1)) + } + +- name: "Deep RBAC rule - Level 1 type without auth." + gqlquery: | + query { + queryContact { + id + nickName + tasks { + id + name + occurrances { + due + comp + } + } + } + } + jwtvar: + ContactRole: ADMINISTRATOR + TaskRole: ADMINISTRATOR + TaskOccuranceRole: ADMINISTRATOR + dgquery: |- + query { + queryContact(func: uid(ContactRoot)) { + id : uid + nickName : Contact.nickName + tasks : Contact.tasks @filter(uid(Task5)) { + id : uid + name : Task.name + occurrances : Task.occurrances @filter(uid(TaskOccurance4)) { + due : TaskOccurance.due + comp : TaskOccurance.comp + dgraph.uid : uid + } + } + } + ContactRoot as var(func: uid(Contact6)) + Contact6 as var(func: type(Contact)) + var(func: uid(ContactRoot)) { + Task1 as Contact.tasks + } + Task5 as var(func: uid(Task1)) + var(func: uid(Task1)) { + TaskOccurance2 as Task.occurrances + } + TaskOccurance4 as var(func: uid(TaskOccurance2)) @filter(uid(TaskOccuranceAuth3)) + TaskOccuranceAuth3 as var(func: uid(TaskOccurance2)) @filter(eq(TaskOccurance.role, "ADMINISTRATOR")) @cascade + } + - name: "Auth query with @dgraph pred." gqlquery: | query { @@ -5,7 +194,9 @@ email } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { queryStudent(func: uid(StudentRoot)) { @@ -24,7 +215,9 @@ email } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { queryStudent() @@ -41,6 +234,8 @@ } } } + jwtvar: + USER: "user1" dgquery: |- query { getProject(func: uid(ProjectRoot)) @filter(type(Project)) { @@ -83,6 +278,8 @@ ownedBy } } + jwtvar: + USER: "user1" dgquery: |- query { queryUserSecret(func: uid(UserSecretRoot)) { @@ -102,6 +299,8 @@ ownedBy } } + jwtvar: + USER: "user1" dgquery: |- query { getUserSecret(func: uid(UserSecretRoot)) @filter(type(UserSecret)) { @@ -121,6 +320,8 @@ ownedBy } } + jwtvar: + USER: "user1" dgquery: |- query { queryUserSecret(func: uid(UserSecretRoot)) { @@ -141,26 +342,28 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- - query { - queryUser(func: uid(UserRoot)) { - issues : User.issues @filter(uid(Issue3)) { - id : uid - } - dgraph.uid : uid - } - UserRoot as var(func: uid(User4)) - User4 as var(func: type(User)) - var(func: uid(UserRoot)) { - Issue1 as User.issues - } - Issue3 as var(func: uid(Issue1)) @filter(uid(IssueAuth2)) - IssueAuth2 as var(func: uid(Issue1)) @cascade { - owner : Issue.owner @filter(eq(User.username, "user1")) - dgraph.uid : uid + query { + queryUser(func: uid(UserRoot)) { + issues : User.issues @filter(uid(Issue3)) { + id : uid } + dgraph.uid : uid } + UserRoot as var(func: uid(User4)) + User4 as var(func: type(User)) + var(func: uid(UserRoot)) { + Issue1 as User.issues + } + Issue3 as var(func: uid(Issue1)) @filter(uid(IssueAuth2)) + IssueAuth2 as var(func: uid(Issue1)) @cascade { + owner : Issue.owner @filter(eq(User.username, "user1")) + dgraph.uid : uid + } + } - name: "Deep RBAC rules false" gqlquery: | @@ -172,7 +375,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { queryUser(func: uid(UserRoot)) { @@ -191,7 +396,9 @@ msg } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { queryIssue(func: uid(IssueRoot)) { @@ -213,7 +420,9 @@ logs } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { queryComplexLog(func: uid(ComplexLogRoot)) { @@ -231,7 +440,9 @@ logs } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { queryComplexLog() @@ -244,7 +455,9 @@ logs } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { queryLog(func: uid(LogRoot)) { @@ -262,7 +475,9 @@ logs } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { queryLog() @@ -275,7 +490,9 @@ msg } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { queryIssue() @@ -289,7 +506,9 @@ name } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { queryProject(func: uid(ProjectRoot)) { @@ -307,6 +526,8 @@ id } } + jwtvar: + USER: "user1" dgquery: |- query { queryGroup(func: uid(GroupRoot)) { @@ -331,7 +552,9 @@ name } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { queryProject(func: uid(ProjectRoot)) { @@ -357,6 +580,8 @@ ownedBy } } + jwtvar: + USER: "user1" dgquery: |- query { queryUserSecret(func: uid(UserSecretRoot), orderasc: UserSecret.aSecret) { @@ -376,6 +601,8 @@ title } } + jwtvar: + USER: "user1" dgquery: |- query { queryTicket(func: uid(TicketRoot)) { @@ -410,6 +637,8 @@ } } } + jwtvar: + USER: "user1" dgquery: |- query { queryUser(func: uid(UserRoot)) { @@ -452,6 +681,8 @@ } } } + jwtvar: + USER: "user1" dgquery: |- query { queryUser(func: uid(UserRoot)) { @@ -490,6 +721,8 @@ content } } + jwtvar: + USER: "user1" dgquery: |- query { queryMovie(func: uid(MovieRoot), orderasc: Movie.content) { @@ -523,6 +756,8 @@ } } } + jwtvar: + USER: "user1" dgquery: |- query { queryMovie(func: uid(MovieRoot), orderasc: Movie.content) @cascade { @@ -574,6 +809,8 @@ } } } + jwtvar: + USER: "user1" dgquery: |- query { queryMovie(func: uid(MovieRoot), orderasc: Movie.content) { @@ -632,6 +869,8 @@ content } } + jwtvar: + USER: "user1" dgquery: |- query { queryMovie(func: uid(MovieRoot)) { @@ -673,6 +912,8 @@ id } } + jwtvar: + USER: "user1" dgquery: |- query { getLog() @@ -706,7 +947,8 @@ name } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" dgquery: |- query { queryProject(func: uid(ProjectRoot)) { diff --git a/graphql/resolve/auth_test.go b/graphql/resolve/auth_test.go index 8d899d27612..018f76cf1e7 100644 --- a/graphql/resolve/auth_test.go +++ b/graphql/resolve/auth_test.go @@ -28,6 +28,7 @@ import ( "google.golang.org/grpc/metadata" dgoapi "github.com/dgraph-io/dgo/v200/protos/api" + "github.com/dgraph-io/dgraph/gql" "github.com/dgraph-io/dgraph/graphql/authorization" "github.com/dgraph-io/dgraph/graphql/dgraph" "github.com/dgraph-io/dgraph/graphql/schema" @@ -42,9 +43,8 @@ import ( type AuthQueryRewritingCase struct { Name string - // Values to come in the JWT - User string - Role string + // JWT variables + JWTVar map[string]interface{} // GQL query and variables GQLQuery string @@ -318,13 +318,10 @@ func queryRewriting(t *testing.T, sch string, authMeta *testutil.AuthMeta) { require.NoError(t, err) gqlQuery := test.GetQuery(t, op) - authMeta.AuthVars = map[string]interface{}{ - "ROLE": tcase.Role, - } - - // Skipping $USER for specific rules. - if !strings.HasPrefix(tcase.Name, "Query with missing variable") { - authMeta.AuthVars["USER"] = "user1" + // Clear the map and initialize it. + authMeta.AuthVars = make(map[string]interface{}) + for k, v := range tcase.JWTVar { + authMeta.AuthVars[k] = v } ctx := context.Background() @@ -336,6 +333,10 @@ func queryRewriting(t *testing.T, sch string, authMeta *testutil.AuthMeta) { dgQuery, err := testRewriter.Rewrite(ctx, gqlQuery) require.Nil(t, err) require.Equal(t, tcase.DGQuery, dgraph.AsString(dgQuery)) + + // Check for unused variables. + _, err = gql.Parse(gql.Request{Str: dgraph.AsString(dgQuery)}) + require.NoError(t, err) }) } } @@ -488,6 +489,10 @@ func mutationQueryRewriting(t *testing.T, sch string, authMeta *testutil.AuthMet // -- Assert -- require.Nil(t, err) require.Equal(t, tt.dgQuery, dgraph.AsString(dgQuery)) + + // Check for unused variables. + _, err = gql.Parse(gql.Request{Str: dgraph.AsString(dgQuery)}) + require.NoError(t, err) }) } @@ -538,13 +543,12 @@ func deleteQueryRewriting(t *testing.T, sch string, authMeta *testutil.AuthMeta) mut := test.GetMutation(t, op) rewriterToTest := NewDeleteRewriter() - authMeta.AuthVars = map[string]interface{}{ - "USER": "user1", + // Clear the map and initialize it. + authMeta.AuthVars = make(map[string]interface{}) + for k, v := range tcase.JWTVar { + authMeta.AuthVars[k] = v } - if tcase.Role != "" { - authMeta.AuthVars["ROLE"] = tcase.Role - } ctx, err := authMeta.AddClaimsToContext(context.Background()) require.NoError(t, err) @@ -650,10 +654,12 @@ func checkAddUpdateCase( require.NoError(t, err) mut := test.GetMutation(t, op) - authMeta.AuthVars = map[string]interface{}{ - "USER": "user1", - "ROLE": tcase.Role, + // Clear the map and initialize it. + authMeta.AuthVars = make(map[string]interface{}) + for k, v := range tcase.JWTVar { + authMeta.AuthVars[k] = v } + ctx, err := authMeta.AddClaimsToContext(context.Background()) require.NoError(t, err) diff --git a/graphql/resolve/auth_tests.yaml b/graphql/resolve/auth_tests.yaml index 5deb5a865eb..69170db2286 100644 --- a/graphql/resolve/auth_tests.yaml +++ b/graphql/resolve/auth_tests.yaml @@ -7,7 +7,9 @@ isPublic } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -20,7 +22,9 @@ name } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -34,7 +38,9 @@ msg } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -47,7 +53,9 @@ name } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -60,7 +68,9 @@ title } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -73,7 +83,9 @@ logs } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -94,7 +106,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -109,7 +123,9 @@ disabled } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -130,7 +146,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" dgquery: |- query { } @@ -143,7 +161,9 @@ name } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } @@ -157,7 +177,9 @@ msg } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } @@ -170,7 +192,9 @@ name } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } @@ -183,7 +207,9 @@ title } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } @@ -196,7 +222,9 @@ logs } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } @@ -217,7 +245,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } @@ -232,7 +262,9 @@ disabled } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } @@ -253,7 +285,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" dgquery: |- query { } diff --git a/graphql/resolve/auth_update_test.yaml b/graphql/resolve/auth_update_test.yaml index 70e7323da4e..cccd7b236fa 100644 --- a/graphql/resolve/auth_update_test.yaml +++ b/graphql/resolve/auth_update_test.yaml @@ -7,6 +7,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "upd": { "filter": { "id": [ "0x123" ] }, @@ -34,6 +36,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "upd": { @@ -101,6 +105,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "upd": { @@ -171,6 +177,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "upd": { @@ -238,6 +246,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "upd": { @@ -306,6 +316,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "upd": { @@ -375,6 +387,8 @@ } } } + jwtvar: + USER: "user1" variables: | { "upd": { @@ -445,7 +459,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" variables: | { "log": { @@ -470,7 +486,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "log": { @@ -499,7 +517,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" variables: | { "proj": { @@ -534,7 +554,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "proj": { @@ -562,7 +584,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "issue": { @@ -594,7 +618,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" variables: | { "issue": { @@ -618,7 +644,9 @@ } } } - role: "ADMIN" + jwtvar: + ROLE: "ADMIN" + USER: "user1" variables: | { "log": { @@ -646,7 +674,9 @@ } } } - role: "USER" + jwtvar: + ROLE: "USER" + USER: "user1" variables: | { "log": { diff --git a/graphql/resolve/query_rewriter.go b/graphql/resolve/query_rewriter.go index 3e17592f998..21cde2e5fa1 100644 --- a/graphql/resolve/query_rewriter.go +++ b/graphql/resolve/query_rewriter.go @@ -735,11 +735,19 @@ func addSelectionSetFrom( q.Children = append(q.Children, child) } - if rbac != schema.Uncertain { + // If RBAC rules are evaluated to Negative, we don't write queries for deeper levels. + // Hence we don't need to do any further processing for this field. + if rbac == schema.Negative { continue } - fieldAuth, authFilter := auth.rewriteAuthQueries(f.Type()) + var fieldAuth []*gql.GraphQuery + var authFilter *gql.FilterTree + // If RBAC rules are evaluated to `Uncertain` then we add the Auth rules. + if rbac == schema.Uncertain { + fieldAuth, authFilter = auth.rewriteAuthQueries(f.Type()) + } + if authFilter != nil { if child.Filter == nil { child.Filter = authFilter From b8197a314f87055235e306b7c74bd4ddf6f3f798 Mon Sep 17 00:00:00 2001 From: Pawan Rawal Date: Mon, 27 Jul 2020 14:30:53 +0530 Subject: [PATCH 017/151] fix(GraphQL): Remove github issues link from the error messages. (#6036) Since we don't use GitHub issues anymore, error messages should not link to them. Updating the error messages to say so. --- graphql/admin/admin.go | 3 +-- graphql/api/panics.go | 2 +- graphql/e2e/common/error.go | 2 +- graphql/resolve/resolver.go | 3 +-- graphql/schema/introspection.go | 8 ++++---- systest/export/docker-compose.yml | 2 +- worker/graphql_schema.go | 5 ++--- 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/graphql/admin/admin.go b/graphql/admin/admin.go index 9e6f47d6549..060df2b1ba2 100644 --- a/graphql/admin/admin.go +++ b/graphql/admin/admin.go @@ -43,8 +43,7 @@ const ( errNoGraphQLSchema = "Not resolving %s. There's no GraphQL schema in Dgraph. " + "Use the /admin API to add a GraphQL schema" errResolverNotFound = "%s was not executed because no suitable resolver could be found - " + - "this indicates a resolver or validation bug " + - "(Please let us know : https://github.com/dgraph-io/dgraph/issues)" + "this indicates a resolver or validation bug. Please let us know by filing an issue." // GraphQL schema for /admin endpoint. graphqlAdminSchema = ` diff --git a/graphql/api/panics.go b/graphql/api/panics.go index 137983be217..520fed8bcc8 100644 --- a/graphql/api/panics.go +++ b/graphql/api/panics.go @@ -34,6 +34,6 @@ func PanicHandler(fn func(error)) { fn(errors.Errorf("Internal Server Error - a panic was trapped. " + "This indicates a bug in the GraphQL server. A stack trace was logged. " + - "Please let us know : https://github.com/dgraph-io/dgraph/issues.")) + "Please let us know by filing an issue with the stack trace.")) } } diff --git a/graphql/e2e/common/error.go b/graphql/e2e/common/error.go index 21bddd78a0f..60154ee1740 100644 --- a/graphql/e2e/common/error.go +++ b/graphql/e2e/common/error.go @@ -253,7 +253,7 @@ func panicCatcher(t *testing.T) { require.Equal(t, x.GqlErrorList{ {Message: fmt.Sprintf("Internal Server Error - a panic was trapped. " + "This indicates a bug in the GraphQL server. A stack trace was logged. " + - "Please let us know : https://github.com/dgraph-io/dgraph/issues.")}}, + "Please let us know by filing an issue with the stack trace.")}}, gqlResponse.Errors) require.Nil(t, gqlResponse.Data, string(gqlResponse.Data)) diff --git a/graphql/resolve/resolver.go b/graphql/resolve/resolver.go index cc617e24d0c..52680b2fad4 100644 --- a/graphql/resolve/resolver.go +++ b/graphql/resolve/resolver.go @@ -667,8 +667,7 @@ func completeDgraphResult( glog.Errorf("Could not process Dgraph result : \n%s", string(dgResult)) return nullResponse( x.GqlErrorf("Couldn't process the result from Dgraph. " + - "This probably indicates a bug in the Dgraph GraphQL layer. " + - "Please let us know : https://github.com/dgraph-io/dgraph/issues."). + "This probably indicates a bug in Dgraph. Please let us know by filing an issue."). WithLocations(field.Location())) } diff --git a/graphql/schema/introspection.go b/graphql/schema/introspection.go index f71de949c71..04016a14672 100644 --- a/graphql/schema/introspection.go +++ b/graphql/schema/introspection.go @@ -27,25 +27,25 @@ import ( func Introspect(q Query) (json.RawMessage, error) { if q.Name() != "__schema" && q.Name() != "__type" && q.Name() != Typename { return nil, errors.New("call to introspect for field that isn't an introspection query " + - "this indicates bug (Please let us know : https://github.com/dgraph-io/dgraph/issues)") + "this indicates bug. Please let us know by filing an issue.") } sch, ok := q.Operation().Schema().(*schema) if !ok { return nil, errors.New("couldn't convert schema to internal type " + - "this indicates bug (Please let us know : https://github.com/dgraph-io/dgraph/issues)") + "this indicates bug. Please let us know by filing an issue.") } op, ok := q.Operation().(*operation) if !ok { return nil, errors.New("couldn't convert operation to internal type " + - "this indicates bug (Please let us know : https://github.com/dgraph-io/dgraph/issues)") + "this indicates bug. Please let us know by filing an issue.") } qu, ok := q.(*query) if !ok { return nil, errors.New("couldn't convert query to internal type " + - "this indicates bug (Please let us know : https://github.com/dgraph-io/dgraph/issues)") + "this indicates bug. Please let us know by filing an issue.") } reqCtx := &requestContext{ diff --git a/systest/export/docker-compose.yml b/systest/export/docker-compose.yml index 0a7dd0ec99d..ea205d43270 100644 --- a/systest/export/docker-compose.yml +++ b/systest/export/docker-compose.yml @@ -9,7 +9,7 @@ services: ports: - 5180:5180 - 6180:6180 - command: /gobin/dgraph zero --cwd=/data/zero1 --my=zero1:5180 -o 100 --bindall --logtostderr -v=0 + command: /gobin/dgraph zero --cwd=/data/zero1 --my=zero1:5180 -o 100 --bindall --logtostderr -v=0 --replicas 3 volumes: - type: bind source: $GOPATH/bin diff --git a/worker/graphql_schema.go b/worker/graphql_schema.go index cf063d8ee59..94a77bd41ae 100644 --- a/worker/graphql_schema.go +++ b/worker/graphql_schema.go @@ -30,9 +30,8 @@ import ( const ( errGraphQLSchemaCommitFailed = "error occurred updating GraphQL schema, please retry" ErrGraphQLSchemaAlterFailed = "succeeded in saving GraphQL schema but failed to alter Dgraph" + - " schema - this indicates a bug in Dgraph schema generation. Please let us know : " + - "https://github.com/dgraph-io/dgraph/issues. " + - "Don't forget to post your old and new schemas in the issue description." + " schema - this indicates a bug in Dgraph schema generation. Please let us know by" + + " filing an issue. Don't forget to post your old and new schemas in the issue description." GqlSchemaPred = "dgraph.graphql.schema" gqlSchemaXidPred = "dgraph.graphql.xid" From d82ecb4426c3119a970c12211c407a868a1bba33 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Gaur <12651351+abhimanyusinghgaur@users.noreply.github.com> Date: Mon, 27 Jul 2020 16:52:43 +0530 Subject: [PATCH 018/151] fix(GraphQL): fixes panic in update mutation without set & remove (#6073) FIxes GRAPHQL-589. See [Discuss](https://discuss.dgraph.io/t/panic-when-update-with-filter-but-without-set-remove/8623) for more details. --- graphql/e2e/common/common.go | 1 + graphql/e2e/common/mutation.go | 30 +++++++++++++++++++++++++++++- graphql/resolve/mutation.go | 12 ++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/graphql/e2e/common/common.go b/graphql/e2e/common/common.go index 1aa4b854fef..a9ee1e79261 100644 --- a/graphql/e2e/common/common.go +++ b/graphql/e2e/common/common.go @@ -313,6 +313,7 @@ func RunAll(t *testing.T) { t.Run("mutations have extensions", mutationsHaveExtensions) t.Run("alias works for mutations", mutationsWithAlias) t.Run("three level deep", threeLevelDeepMutation) + t.Run("update mutation without set & remove", updateMutationWithoutSetRemove) // error tests t.Run("graphql completion on", graphQLCompletionOn) diff --git a/graphql/e2e/common/mutation.go b/graphql/e2e/common/mutation.go index a253fcdcb0b..41704e8c32b 100644 --- a/graphql/e2e/common/mutation.go +++ b/graphql/e2e/common/mutation.go @@ -2908,7 +2908,6 @@ func threeLevelDeepMutation(t *testing.T) { } gqlResponse := postExecutor(t, graphqlURL, addStudentParams) - fmt.Println(string(gqlResponse.Data)) RequireNoGQLErrors(t, gqlResponse) var actualResult struct { @@ -3175,3 +3174,32 @@ func mutationsWithAlias(t *testing.T) { require.JSONEq(t, multiMutationExpected, string(gqlResponse.Data)) } + +func updateMutationWithoutSetRemove(t *testing.T) { + country := addCountry(t, postExecutor) + + updateCountryParams := &GraphQLParams{ + Query: `mutation updateCountry($id: ID!){ + updateCountry(input: {filter: {id: [$id]}}) { + numUids + country { + id + name + } + } + }`, + Variables: map[string]interface{}{"id": country.ID}, + } + gqlResponse := updateCountryParams.ExecuteAsPost(t, graphqlURL) + RequireNoGQLErrors(t, gqlResponse) + + require.JSONEq(t, `{ + "updateCountry": { + "numUids": 0, + "country": [] + } + }`, string(gqlResponse.Data)) + + // cleanup + deleteCountry(t, map[string]interface{}{"id": []string{country.ID}}, 1, nil) +} diff --git a/graphql/resolve/mutation.go b/graphql/resolve/mutation.go index ae888bdc53a..2d1621c2de5 100644 --- a/graphql/resolve/mutation.go +++ b/graphql/resolve/mutation.go @@ -245,6 +245,18 @@ func (mr *dgraphResolver) rewriteAndExecute(ctx context.Context, return emptyResult(schema.GQLWrapf(err, "couldn't rewrite mutation %s", mutation.Name())), resolverFailed } + if len(upserts) == 0 { + return &Resolved{ + Data: map[string]interface{}{ + mutation.Name(): map[string]interface{}{ + schema.NumUid: 0, + mutation.QueryField().Name(): nil, + }}, + Field: mutation, + Err: nil, + Extensions: ext, + }, resolverSucceeded + } result := make(map[string]interface{}) req := &dgoapi.Request{} From 3f91f2976615cb80ef8338808f9817ec684d3ef4 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Gaur <12651351+abhimanyusinghgaur@users.noreply.github.com> Date: Mon, 27 Jul 2020 16:53:59 +0530 Subject: [PATCH 019/151] fix(GraphQL): fixes wrong query parameter value for custom field URL (#6074) Fixes GRAPHQL-590. This PR fixes wrong parameter value being supplied in the URL query parameters for `@custom` fields. Earlier, all the nodes used to get the same value for a query parameter, which has been fixed, and now every node gets the value corresponding to its dgraph fields in the `@custom` query parameters. --- graphql/e2e/custom_logic/cmd/main.go | 28 +++++++++---- graphql/e2e/custom_logic/custom_logic_test.go | 42 ++++++++++++------- graphql/resolve/resolver.go | 5 ++- 3 files changed, 51 insertions(+), 24 deletions(-) diff --git a/graphql/e2e/custom_logic/cmd/main.go b/graphql/e2e/custom_logic/cmd/main.go index 53acfb40e7e..67c9d95185d 100644 --- a/graphql/e2e/custom_logic/cmd/main.go +++ b/graphql/e2e/custom_logic/cmd/main.go @@ -35,7 +35,8 @@ import ( ) type expectedRequest struct { - method string + method string + // Send urlSuffix as empty string to ignore comparison urlSuffix string body string // Send headers as nil to ignore comparing headers. @@ -172,7 +173,8 @@ func verifyRequest(r *http.Request, expectedRequest expectedRequest) error { return getError("Invalid HTTP method", r.Method) } - if !strings.HasSuffix(r.URL.String(), expectedRequest.urlSuffix) { + if expectedRequest.urlSuffix != "" && !strings.HasSuffix(r.URL.String(), + expectedRequest.urlSuffix) { return getError("Invalid URL", r.URL.String()) } @@ -317,15 +319,18 @@ func verifyCustomNameHeadersHandler(w http.ResponseWriter, r *http.Request) { func twitterFollwerHandler(w http.ResponseWriter, r *http.Request) { err := verifyRequest(r, expectedRequest{ - method: http.MethodGet, - urlSuffix: "/twitterfollowers?screen_name=manishrjain", - body: "", + method: http.MethodGet, + body: "", }) if err != nil { check2(w.Write([]byte(err.Error()))) return } - check2(w.Write([]byte(` + + var resp string + switch r.URL.Query().Get("screen_name") { + case "manishrjain": + resp = ` { "users": [{ "id": 1231723732206411776, @@ -337,7 +342,16 @@ func twitterFollwerHandler(w http.ResponseWriter, r *http.Request) { "friends_count": 117, "statuses_count": 0 }] - }`))) + }` + case "amazingPanda": + resp = ` + { + "users": [{ + "name": "twitter_bot" + }] + }` + } + check2(w.Write([]byte(resp))) } func favMoviesCreateHandler(w http.ResponseWriter, r *http.Request) { diff --git a/graphql/e2e/custom_logic/custom_logic_test.go b/graphql/e2e/custom_logic/custom_logic_test.go index 0e2c855681d..ba3a8bbcb97 100644 --- a/graphql/e2e/custom_logic/custom_logic_test.go +++ b/graphql/e2e/custom_logic/custom_logic_test.go @@ -2421,12 +2421,16 @@ func TestRestCustomLogicInDeepNestedField(t *testing.T) { params := &common.GraphQLParams{ Query: ` mutation{ - addUser(input:[{ - screen_name:"manishrjain", - tweets:[{ - text:"hello twitter" - }] - }]){ + addUser(input:[ + { + screen_name:"manishrjain", + tweets:[{text:"hello twitter"}] + } + { + screen_name:"amazingPanda", + tweets:[{text:"I love Kung fu."}] + } + ]){ numUids } }`, @@ -2456,16 +2460,24 @@ func TestRestCustomLogicInDeepNestedField(t *testing.T) { common.RequireNoGQLErrors(t, result) require.JSONEq(t, string(result.Data), ` { - "querySearchTweets": [{ - "text": "hello twitter", - "user": { - "screen_name": "manishrjain", - "followers": { - "users": [{ - "name": "hi_balaji" - }] + "querySearchTweets": [ + { + "text": "hello twitter", + "user": { + "screen_name": "manishrjain", + "followers": { + "users": [{"name": "hi_balaji"}] + } + } + },{ + "text": "I love Kung fu.", + "user": { + "screen_name": "amazingPanda", + "followers": { + "users": [{"name": "twitter_bot"}] + } } } - }] + ] }`) } diff --git a/graphql/resolve/resolver.go b/graphql/resolve/resolver.go index 52680b2fad4..156804b272f 100644 --- a/graphql/resolve/resolver.go +++ b/graphql/resolve/resolver.go @@ -948,10 +948,11 @@ func resolveCustomField(f schema.Field, vals []interface{}, mu *sync.RWMutex, er return } + url := fconf.URL if !graphql { // For REST requests, we'll have to substitute the variables used in the URL. mu.RLock() - fconf.URL, err = schema.SubstituteVarsInURL(fconf.URL, + url, err = schema.SubstituteVarsInURL(url, vals[idx].(map[string]interface{})) if err != nil { mu.RUnlock() @@ -965,7 +966,7 @@ func resolveCustomField(f schema.Field, vals []interface{}, mu *sync.RWMutex, er mu.RUnlock() } - b, err = makeRequest(nil, fconf.Method, fconf.URL, string(b), fconf.ForwardHeaders) + b, err = makeRequest(nil, fconf.Method, url, string(b), fconf.ForwardHeaders) if err != nil { errChan <- x.GqlErrorList{externalRequestError(err, f)} return From 91e28d53c356312956230dad94dfb0d5e9f04135 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Gaur <12651351+abhimanyusinghgaur@users.noreply.github.com> Date: Mon, 27 Jul 2020 18:40:50 +0530 Subject: [PATCH 020/151] chore(GraphQL): remove skipped tests (#6078) Fixes GRAPHQL-562. --- .../e2e/custom_logic/cmd/graphqlresponse.yaml | 18 ----- graphql/e2e/custom_logic/cmd/main.go | 14 ---- graphql/e2e/custom_logic/custom_logic_test.go | 71 +------------------ 3 files changed, 2 insertions(+), 101 deletions(-) diff --git a/graphql/e2e/custom_logic/cmd/graphqlresponse.yaml b/graphql/e2e/custom_logic/cmd/graphqlresponse.yaml index 10d45e768e9..91ac57accd7 100644 --- a/graphql/e2e/custom_logic/cmd/graphqlresponse.yaml +++ b/graphql/e2e/custom_logic/cmd/graphqlresponse.yaml @@ -437,24 +437,6 @@ getPosts(input: [PostFilterInput]): [Post!] } -- name: getPostswithLike - schema: | - input PostFilterInput{ - id: ID! - text: String! - likes: Int - } - - type Post { - id: ID! - text: String - comments: Post! - } - - type Query{ - getPosts(input: [PostFilterInput]): [Post!] - } - - name: "carsschema" schema: | type Car { diff --git a/graphql/e2e/custom_logic/cmd/main.go b/graphql/e2e/custom_logic/cmd/main.go index 67c9d95185d..9981f546562 100644 --- a/graphql/e2e/custom_logic/cmd/main.go +++ b/graphql/e2e/custom_logic/cmd/main.go @@ -595,19 +595,6 @@ func getPosts(w http.ResponseWriter, r *http.Request) { check2(fmt.Fprint(w, generateIntrospectionResult(graphqlResponses["getPosts"].Schema))) } -func getPostswithLike(w http.ResponseWriter, r *http.Request) { - _, err := verifyGraphqlRequest(r, expectedGraphqlRequest{ - urlSuffix: "/getPostswithLike", - body: ``, - }) - if err != nil { - check2(w.Write([]byte(err.Error()))) - return - } - - check2(fmt.Fprint(w, generateIntrospectionResult(graphqlResponses["getPostswithLike"].Schema))) -} - type input struct { ID string `json:"uid"` } @@ -1229,7 +1216,6 @@ func main() { bsch := graphql.MustParseSchema(graphqlResponses["batchOperationSchema"].Schema, &query{}) bh := &relay.Handler{Schema: bsch} http.HandleFunc("/getPosts", getPosts) - http.HandleFunc("/getPostswithLike", getPostswithLike) http.Handle("/gqlUserNames", bh) http.Handle("/gqlCars", bh) http.HandleFunc("/gqlCarsWithErrors", gqlCarsWithErrorHandler) diff --git a/graphql/e2e/custom_logic/custom_logic_test.go b/graphql/e2e/custom_logic/custom_logic_test.go index ba3a8bbcb97..45845d93d90 100644 --- a/graphql/e2e/custom_logic/custom_logic_test.go +++ b/graphql/e2e/custom_logic/custom_logic_test.go @@ -2001,51 +2001,6 @@ func TestCustomGraphqlMissingTypeForBatchedFieldInput(t *testing.T) { "PostFilterInput.\n") } -func TestCustomGraphqlInvalidArgForBatchedField(t *testing.T) { - t.Skip() - schema := ` - type Post { - id: ID! - text: String - comments: Post! @custom(http: { - url: "http://mock:8888/getPosts", - method: "POST", - mode: BATCH - graphql: "query { getPosts(input: [{name: $id}]) }" - }) - } - ` - res := updateSchema(t, schema) - require.Equal(t, `{"updateGQLSchema":null}`, string(res.Data)) - require.Len(t, res.Errors, 1) - require.Equal(t, "resolving updateGQLSchema failed because input:9: Type Post"+ - "; Field comments: inside graphql in @custom directive, argument `name` is not present "+ - "in remote query `getPosts`.\n", res.Errors[0].Error()) -} - -func TestCustomGraphqlArgTypeMismatchForBatchedField(t *testing.T) { - t.Skip() - schema := ` - type Post { - id: ID! - likes: Int - text: String - comments: Post! @custom(http: { - url: "http://mock:8888/getPostswithLike", - method: "POST", - mode: BATCH - graphql: "query { getPosts(input: [{id: $id, text: $likes}]) }" - }) - } - ` - res := updateSchema(t, schema) - require.Equal(t, `{"updateGQLSchema":null}`, string(res.Data)) - require.Len(t, res.Errors, 1) - require.Equal(t, "resolving updateGQLSchema failed because input:10: Type Post"+ - "; Field comments: inside graphql in @custom directive, found type mismatch for variable"+ - " `$likes` in query `getPosts`, expected `Int`, got `String!`.\n", res.Errors[0].Error()) -} - func TestCustomGraphqlMissingRequiredArgument(t *testing.T) { schema := ` type Country @remote { @@ -2086,28 +2041,6 @@ func TestCustomGraphqlMissingRequiredArgument(t *testing.T) { " `setCountry` is missing, it is required by remote mutation.") } -func TestCustomGraphqlMissingRequiredArgumentForBatchedField(t *testing.T) { - t.Skip() - schema := ` - type Post { - id: ID! - text: String - comments: Post! @custom(http: { - url: "http://mock:8888/getPosts", - method: "POST", - mode: BATCH - graphql: "query { getPosts(input: [{id: $id}]) }" - }) - } - ` - res := updateSchema(t, schema) - require.Equal(t, `{"updateGQLSchema":null}`, string(res.Data)) - require.Len(t, res.Errors, 1) - require.Equal(t, "resolving updateGQLSchema failed because input:9: Type Post"+ - "; Field comments: inside graphql in @custom directive, argument `text` in query "+ - "`getPosts` is missing, it is required by remote query.\n", res.Errors[0].Error()) -} - // this one accepts an object and returns an object func TestCustomGraphqlMutation1(t *testing.T) { schema := ` @@ -2458,7 +2391,7 @@ func TestRestCustomLogicInDeepNestedField(t *testing.T) { result = params.ExecuteAsPost(t, alphaURL) common.RequireNoGQLErrors(t, result) - require.JSONEq(t, string(result.Data), ` + testutil.CompareJSON(t, ` { "querySearchTweets": [ { @@ -2479,5 +2412,5 @@ func TestRestCustomLogicInDeepNestedField(t *testing.T) { } } ] - }`) + }`, string(result.Data)) } From e45c2964e51322860be9866a44bbd193f676c98f Mon Sep 17 00:00:00 2001 From: Martin Martinez Rivera Date: Mon, 27 Jul 2020 15:02:11 -0700 Subject: [PATCH 021/151] test: Add extra assesrtions to reverse uid test. (#6061) Make sure both the main and reverse edges are deleted when the main edge is deleted. --- systest/mutations_test.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/systest/mutations_test.go b/systest/mutations_test.go index fd8908fae65..4e25ab3e4d4 100644 --- a/systest/mutations_test.go +++ b/systest/mutations_test.go @@ -2322,9 +2322,12 @@ func OverwriteUidPredicatesReverse(t *testing.T, c *dgo.Dgraph) { string(resp.GetJson())) // Delete the triples and verify the reverse edge is gone. + upsertQuery = `query { + alice as var(func: eq(name, Alice)) + carol as var(func: eq(name, Carol)) }` upsertMutation = &api.Mutation{ DelNquads: []byte(` - uid(alice) * .`), + uid(alice) uid(carol) .`), } req = &api.Request{ Query: upsertQuery, @@ -2339,6 +2342,10 @@ func OverwriteUidPredicatesReverse(t *testing.T, c *dgo.Dgraph) { testutil.CompareJSON(t, `{"reverse":[]}`, string(resp.GetJson())) + resp, err = c.NewReadOnlyTxn().Query(ctx, q) + require.NoError(t, err) + testutil.CompareJSON(t, `{"me":[{"name":"Alice"}]}`, + string(resp.GetJson())) } func DeleteAndQuerySameTxn(t *testing.T, c *dgo.Dgraph) { From a5c469d56741a4a6e2c668b5053dba17bbfa5860 Mon Sep 17 00:00:00 2001 From: Anurag Date: Tue, 28 Jul 2020 12:35:01 +0530 Subject: [PATCH 022/151] chore: Modify test to remove flakiness caused by explicit uids (#6080) --- systest/loader/loader_test.go | 96 ++++++++--------------------------- 1 file changed, 21 insertions(+), 75 deletions(-) diff --git a/systest/loader/loader_test.go b/systest/loader/loader_test.go index d1fa6d7e480..a83900c02a4 100644 --- a/systest/loader/loader_test.go +++ b/systest/loader/loader_test.go @@ -17,23 +17,26 @@ package main import ( - "bytes" - "encoding/json" - "fmt" + "context" "io/ioutil" - "net/http" "os" "os/exec" "path/filepath" - "strings" "testing" "github.com/stretchr/testify/require" + "github.com/dgraph-io/dgo/v200/protos/api" "github.com/dgraph-io/dgraph/testutil" + "github.com/dgraph-io/dgraph/x" ) +// TestLoaderXidmap checks that live loader re-uses xidmap on loading data from two different files func TestLoaderXidmap(t *testing.T) { + dg, err := testutil.DgraphClient(testutil.SockAddr) + require.NoError(t, err) + ctx := context.Background() + testutil.DropAll(t, dg) tmpDir, err := ioutil.TempDir("", "loader_test") require.NoError(t, err) defer os.RemoveAll(tmpDir) @@ -63,80 +66,23 @@ func TestLoaderXidmap(t *testing.T) { liveCmd.Stderr = os.Stdout require.NoError(t, liveCmd.Run()) - exportRequest := `mutation { - export(input: {format: "rdf"}) { - response { - code - message + op := api.Operation{Schema: "name: string @index(exact) ."} + x.Check(dg.Alter(ctx, &op)) + + query := ` + { + q(func: eq(name, "Alice")) { + age + location + friend{ + name } } }` + expected := `{"q":[{"age":"13","location":"Wonderland","friend":[{"name":"Bob"}]}]}` - adminUrl := "http://" + testutil.SockAddrHttp + "/admin" - params := testutil.GraphQLParams{ - Query: exportRequest, - Variables: map[string]interface{}{"format": "json"}, - } - b, err := json.Marshal(params) - require.NoError(t, err) - resp, err := http.Post(adminUrl, "application/json", bytes.NewBuffer(b)) - require.NoError(t, err) - defer resp.Body.Close() - b, err = ioutil.ReadAll(resp.Body) - require.NoError(t, err) - expected := `{ - "export": { - "response": { - "code": "Success", - "message": "Export completed." - } - } - }` - res1 := &testutil.GraphQLResponse{} - err = json.Unmarshal(b, res1) - require.NoError(t, err) - require.JSONEq(t, expected, string(res1.Data)) - - require.NoError(t, copyExportFiles(tmpDir)) - - dataFile, err := findFile(filepath.Join(tmpDir, "export"), ".rdf.gz") + resp, err := dg.NewReadOnlyTxn().Query(ctx, query) require.NoError(t, err) + testutil.CompareJSON(t, expected, string(resp.GetJson())) - cmd := fmt.Sprintf("gunzip -c %s | sort", dataFile) - out, err := exec.Command("sh", "-c", cmd).Output() - require.NoError(t, err) - - expected = `<0x1> "13" . -<0x1> <0x2711> . -<0x1> "Wonderland" . -<0x1> "Alice" . -<0x2711> "Bob" . -` - require.Equal(t, expected, string(out)) -} - -func copyExportFiles(tmpDir string) error { - exportPath := filepath.Join(tmpDir, "export") - if err := os.MkdirAll(exportPath, 0755); err != nil { - return err - } - - srcPath := "alpha1:/data/alpha1/export" - dstPath := filepath.Join(tmpDir, "export") - return testutil.DockerCp(srcPath, dstPath) -} - -func findFile(dir string, ext string) (string, error) { - var fp string - err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - if strings.HasSuffix(path, ext) { - fp = path - return nil - } - return nil - }) - return fp, err } From dbe84ae9845a96d4731ed806bc0136adaebeeb20 Mon Sep 17 00:00:00 2001 From: antblood Date: Tue, 28 Jul 2020 19:13:20 +0530 Subject: [PATCH 023/151] added a unit test and now considering the if condition also --- query/query.go | 9 +++++---- query/query1_test.go | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/query/query.go b/query/query.go index 6820576e4b9..8161170b5e6 100644 --- a/query/query.go +++ b/query/query.go @@ -2009,11 +2009,12 @@ func ProcessGraph(ctx context.Context, sg, parent *SubGraph, rch chan error) { sort.Slice(sg.DestUIDs.Uids, func(i, j int) bool { return sg.DestUIDs.Uids[i] < sg.DestUIDs.Uids[j] }) - if sg.Params.AfterUID > 0 { - i := sort.Search(len(sg.DestUIDs.Uids), func(i int) bool { return sg.DestUIDs.Uids[i] > sg.Params.AfterUID }) - sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] - } } + if sg.Params.AfterUID > 0 { + i := sort.Search(len(sg.DestUIDs.Uids), func(i int) bool { return sg.DestUIDs.Uids[i] > sg.Params.AfterUID }) + sg.DestUIDs.Uids = sg.DestUIDs.Uids[i:] + } + case sg.Attr == "": // This is when we have uid function in children. if sg.SrcFunc != nil && sg.SrcFunc.Name == "uid" { diff --git a/query/query1_test.go b/query/query1_test.go index 93877330de3..858e1c95aa4 100644 --- a/query/query1_test.go +++ b/query/query1_test.go @@ -669,6 +669,23 @@ func TestHasFuncAtRootWithAfter(t *testing.T) { require.JSONEq(t, `{"data": {"me":[{"friend":[{"count":1}],"name":"Rick Grimes","uid":"0x17"},{"friend":[{"count":1}],"name":"Andrea","uid":"0x1f"}]}}`, js) } +func TestHasFuncAtRootWithAfterOnUIDs(t *testing.T) { + + query := ` + { + var(func: has(name)) { + uids as uid + } + me(func: uid(uids), first: 2, after: 0x5) { + uid + } + } + ` + + js := processQueryNoErr(t, query) + require.JSONEq(t, `{"data": {"me":[{"uid":"0x6"},{"uid":"0x7"}]}}`, js) +} + func TestHasFuncAtRootFilter(t *testing.T) { query := ` From 601e837e39d6e796db8f5c46921413f63e02b3c2 Mon Sep 17 00:00:00 2001 From: Jatin Dev <64803093+JatinDevDG@users.noreply.github.com> Date: Tue, 28 Jul 2020 21:28:20 +0530 Subject: [PATCH 024/151] fix(GraphQL): Disallow Subscription typename. (#6077) This PR disallow Subscription typename so that it doesn't conflict with Subscriptions generated. --- graphql/schema/gqlschema_test.yml | 14 +++++++++++++- graphql/schema/rules.go | 8 +++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/graphql/schema/gqlschema_test.yml b/graphql/schema/gqlschema_test.yml index 55d3310e779..10f4faaa451 100644 --- a/graphql/schema/gqlschema_test.yml +++ b/graphql/schema/gqlschema_test.yml @@ -2387,6 +2387,18 @@ invalid_schemas: "locations":[{"line":6, "column":5}]} ] + - + name: "Subscription typename should return error" + input: | + type Subscription { + name: String + } + + errlist: [ + {"message": "Subscription is a reserved word, so you can't declare a type with this name. Pick a different name for the type.", "locations": [{"line":1, "column":6}]}, + ] + + valid_schemas: - name: "@auth on interface implementation" input: | @@ -2677,4 +2689,4 @@ valid_schemas: id: ID! name: String owns: [Object] @dgraph(pred: "~Object.owner") - } + } \ No newline at end of file diff --git a/graphql/schema/rules.go b/graphql/schema/rules.go index 9b22685d077..08cceba717a 100644 --- a/graphql/schema/rules.go +++ b/graphql/schema/rules.go @@ -1781,7 +1781,13 @@ func isReservedArgument(name string) bool { } func isReservedKeyWord(name string) bool { - if isScalar(name) || isQueryOrMutation(name) || name == "uid" { + reservedTypeNames := map[string]bool{ + // Reserved Type names + "uid": true, + "Subscription": true, + } + + if isScalar(name) || isQueryOrMutation(name) || reservedTypeNames[name] { return true } From bcd16848408d918c289131fede572265fb178551 Mon Sep 17 00:00:00 2001 From: Daniel Mai Date: Tue, 28 Jul 2020 13:14:32 -0700 Subject: [PATCH 025/151] build(standalone): Add DGRAPH_VERSION to build different Dgraph versions for standalone image. (#6082) The standalone images build from the same tags as the `dgraph/dgraph` image. To build and push the v20.03.4 and latest `dgraph/standalone` images: # Build v20.03.4 make DGRAPH_VERSION=v20.03.4 make DGRAPH_VERSION=v20.03.4 push # Build latest. DGRAPH_VERSION defaults to latest make make push Changes * Add `DOCKER_IMAGE` and `DGRAPH_VERSION` arguments to build standalone Docker image. * Add ./hooks folder for Docker Hub auto-builds with `--build-arg`s (following [Custom build phase hooks](https://docs.docker.com/docker-hub/builds/advanced/#custom-build-phase-hooks) docs). --- contrib/standalone/Dockerfile | 3 ++- contrib/standalone/Dockerfile.master | 13 ---------- contrib/standalone/Makefile | 39 ++++++++++++++++++++++++++-- contrib/standalone/hooks/build | 3 +++ 4 files changed, 42 insertions(+), 16 deletions(-) delete mode 100644 contrib/standalone/Dockerfile.master create mode 100755 contrib/standalone/hooks/build diff --git a/contrib/standalone/Dockerfile b/contrib/standalone/Dockerfile index a0c964de9d2..f023bad1be9 100644 --- a/contrib/standalone/Dockerfile +++ b/contrib/standalone/Dockerfile @@ -1,4 +1,5 @@ -FROM dgraph/dgraph:latest +ARG DGRAPH_VERSION=latest +FROM dgraph/dgraph:${DGRAPH_VERSION} LABEL MAINTAINER="Dgraph Labs " # Ratel port diff --git a/contrib/standalone/Dockerfile.master b/contrib/standalone/Dockerfile.master deleted file mode 100644 index cc6bd4f20da..00000000000 --- a/contrib/standalone/Dockerfile.master +++ /dev/null @@ -1,13 +0,0 @@ -FROM dgraph/dgraph:master -LABEL MAINTAINER="Dgraph Labs " - -# Ratel port -EXPOSE 8000 -# REST API port -EXPOSE 8080 -# gRPC API port -EXPOSE 9080 - -ADD run.sh . -RUN chmod +x run.sh -CMD ["./run.sh"] diff --git a/contrib/standalone/Makefile b/contrib/standalone/Makefile index 0db31ad1daf..b06c1e730b6 100644 --- a/contrib/standalone/Makefile +++ b/contrib/standalone/Makefile @@ -1,3 +1,38 @@ -.PHONY: build +# Build dgraph/standalone image +# Usage: +# +# For latest tag: +# Build, based on dgraph/dgraph:latest: +# make +# Push: +# make push +# +# For $TAG tag, set DGRAPH_VERSION: +# Build, based on dgraph/dgraph:latest: +# make DGRAPH_VERSION=$TAG +# Push: +# make DGRAPH_VERSION=$TAG push +# +# Examples +# Build and push latest: +# make +# make push +# +# Build and push master: +# make DGRAPH_VERSION=master +# make DGRAPH_VERSION=master push +# +.PHONY: all build push version + +export DGRAPH_VERSION ?= latest + +all: build version + build: - docker build -t dgraph/standalone:latest . + ./hooks/build + +push: + docker push dgraph/standalone:$(DGRAPH_VERSION) + +version: + docker run dgraph/standalone:$(DGRAPH_VERSION) dgraph version diff --git a/contrib/standalone/hooks/build b/contrib/standalone/hooks/build new file mode 100755 index 00000000000..c9af4522026 --- /dev/null +++ b/contrib/standalone/hooks/build @@ -0,0 +1,3 @@ +#!/bin/bash +# Used for Makefile or Docker Hub builds +docker build -t dgraph/standalone:${DGRAPH_VERSION} --build-arg DGRAPH_VERSION=${DGRAPH_VERSION} . From 768da25d9584a39f845af15e9158f9782fec16e4 Mon Sep 17 00:00:00 2001 From: parasssh Date: Tue, 28 Jul 2020 14:06:52 -0700 Subject: [PATCH 026/151] chore(changelog): Changelog for 20.07.0 (#6111) --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3adc94ccb76..671a58940ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project will adhere to [Calendar Versioning](https://calver.org/) starting v20.03. -## [20.07.0] - Unreleased -[20.07.0]: https://github.com/dgraph-io/dgraph/compare/v20.03.3...v20.07.0-rc1 +## [20.07.0] - 2020-07-28 +[20.07.0]: https://github.com/dgraph-io/dgraph/compare/v20.03.4...v20.07.0 ### Changed @@ -305,7 +305,7 @@ and this project will adhere to [Calendar Versioning](https://calver.org/) start [#6034]: https://github.com/dgraph-io/dgraph/issues/6034 [#6043]: https://github.com/dgraph-io/dgraph/issues/6043 -## [20.03.4] - Unreleased +## [20.03.4] - 2020-07-23 [20.03.4]: https://github.com/dgraph-io/dgraph/compare/v20.03.3...v20.03.4 ### Changed From 27ddecab1996efada80da23840e04dcd357a5c2c Mon Sep 17 00:00:00 2001 From: Daniel Mai Date: Tue, 28 Jul 2020 15:26:04 -0700 Subject: [PATCH 027/151] chore(version): Add release codename to version output. (#6113) This adds a codename field to the dgraph version output. The codename is set explicitly in the Makefiles for Dgraph. The codename is also pushed to Sentry. Additionally, this updates the Makefile to check if the working directory has any uncommitted changes. If so, the codename is suffixed with "-mod" to indicate that the binary was created with uncommitted modified changes. Changes * Update dgraph version output with the codename * Update build Makefiles to include the codename and "-mod" suffix * Update Sentry reporting --- Makefile | 12 ++++++++---- dgraph/Makefile | 28 ++++++++++++++++------------ x/init.go | 5 ++++- x/sentry_integration.go | 1 + 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index b9833e10b0c..4e4344e51f8 100644 --- a/Makefile +++ b/Makefile @@ -14,10 +14,13 @@ # limitations under the License. # -BUILD ?= $(shell git rev-parse --short HEAD) -BUILD_DATE ?= $(shell git log -1 --format=%ci) -BUILD_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD) -BUILD_VERSION ?= $(shell git describe --always --tags) +BUILD ?= $(shell git rev-parse --short HEAD) +BUILD_CODENAME = unnamed +BUILD_DATE ?= $(shell git log -1 --format=%ci) +BUILD_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD) +BUILD_VERSION ?= $(shell git describe --always --tags) + +MODIFIED = $(shell git diff-index --quiet HEAD || echo "-mod") SUBDIRS = dgraph @@ -35,6 +38,7 @@ oss: version: @echo Dgraph ${BUILD_VERSION} @echo Build: ${BUILD} + @echo Codename: ${BUILD_CODENAME}${MODIFIED} @echo Build date: ${BUILD_DATE} @echo Branch: ${BUILD_BRANCH} @echo Go version: $(shell go version) diff --git a/dgraph/Makefile b/dgraph/Makefile index 51fc60a98fa..7721e3870af 100644 --- a/dgraph/Makefile +++ b/dgraph/Makefile @@ -14,23 +14,27 @@ # limitations under the License. # -BIN = dgraph -BUILD ?= $(shell git rev-parse --short HEAD) -BUILD_DATE ?= $(shell git log -1 --format=%ci) -BUILD_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD) -BUILD_VERSION ?= $(shell git describe --always --tags) -BUILD_TAGS ?= -GOPATH ?= $(shell go env GOPATH) +BIN = dgraph +BUILD ?= $(shell git rev-parse --short HEAD) +BUILD_CODENAME = unnamed +BUILD_DATE ?= $(shell git log -1 --format=%ci) +BUILD_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD) +BUILD_VERSION ?= $(shell git describe --always --tags) +BUILD_TAGS ?= +GOPATH ?= $(shell go env GOPATH) + +MODIFIED = $(shell git diff-index --quiet HEAD || echo "-mod") export GO111MODULE := on # Build-time Go variables -dgraphVersion = github.com/dgraph-io/dgraph/x.dgraphVersion -gitBranch = github.com/dgraph-io/dgraph/x.gitBranch -lastCommitSHA = github.com/dgraph-io/dgraph/x.lastCommitSHA -lastCommitTime = github.com/dgraph-io/dgraph/x.lastCommitTime +dgraphVersion = github.com/dgraph-io/dgraph/x.dgraphVersion +dgraphCodename = github.com/dgraph-io/dgraph/x.dgraphCodename +gitBranch = github.com/dgraph-io/dgraph/x.gitBranch +lastCommitSHA = github.com/dgraph-io/dgraph/x.lastCommitSHA +lastCommitTime = github.com/dgraph-io/dgraph/x.lastCommitTime -BUILD_FLAGS ?= -ldflags '-X ${lastCommitSHA}=${BUILD} -X "${lastCommitTime}=${BUILD_DATE}" -X "${dgraphVersion}=${BUILD_VERSION}" -X ${gitBranch}=${BUILD_BRANCH}' +BUILD_FLAGS ?= -ldflags '-X ${lastCommitSHA}=${BUILD} -X "${lastCommitTime}=${BUILD_DATE}" -X "${dgraphVersion}=${BUILD_VERSION}" -X "${dgraphCodename}=${BUILD_CODENAME}${MODIFIED}" -X ${gitBranch}=${BUILD_BRANCH}' # Insert build tags if specified ifneq ($(strip $(BUILD_TAGS)),) diff --git a/x/init.go b/x/init.go index d3128f979b6..9ce90305b63 100644 --- a/x/init.go +++ b/x/init.go @@ -34,6 +34,7 @@ var ( // These variables are set using -ldflags dgraphVersion string + dgraphCodename string gitBranch string lastCommitSHA string lastCommitTime string @@ -74,8 +75,10 @@ func BuildDetails() string { licenseInfo = "Licensed variously under the Apache Public License 2.0 and Dgraph " + "Community License" } + return fmt.Sprintf(` Dgraph version : %v +Dgraph codename : %v Dgraph SHA-256 : %x Commit SHA-1 : %v Commit timestamp : %v @@ -89,7 +92,7 @@ For discussions about Dgraph , visit https://discuss.dgraph.io. Copyright 2015-2020 Dgraph Labs, Inc. `, - dgraphVersion, ExecutableChecksum(), lastCommitSHA, lastCommitTime, gitBranch, + dgraphVersion, dgraphCodename, ExecutableChecksum(), lastCommitSHA, lastCommitTime, gitBranch, runtime.Version(), licenseInfo) } diff --git a/x/sentry_integration.go b/x/sentry_integration.go index ce65d02a73e..63306066cbf 100644 --- a/x/sentry_integration.go +++ b/x/sentry_integration.go @@ -112,6 +112,7 @@ func ConfigureSentryScope(subcmd string) { scope.SetTag("commit", lastCommitSHA) scope.SetTag("commit_ts", lastCommitTime) scope.SetTag("branch", gitBranch) + scope.SetTag("codename", dgraphCodename) scope.SetLevel(sentry.LevelFatal) }) From 72e6a4757d3cc7fb68479a50ab72303a780feb49 Mon Sep 17 00:00:00 2001 From: Jatin Dev <64803093+JatinDevDG@users.noreply.github.com> Date: Wed, 29 Jul 2020 12:06:06 +0530 Subject: [PATCH 028/151] fix(GraphQL): fix bug in custom resolver, now body need not have all the fields. (#6054) This PR fix bug in custom resolver, now body need not have all the fields(both nullable and non-nullable). --- graphql/e2e/custom_logic/cmd/main.go | 81 ++++++- graphql/e2e/custom_logic/custom_logic_test.go | 213 ++++++++++++++++++ graphql/resolve/resolver.go | 1 + graphql/schema/wrappers.go | 22 +- graphql/schema/wrappers_test.go | 11 +- 5 files changed, 314 insertions(+), 14 deletions(-) diff --git a/graphql/e2e/custom_logic/cmd/main.go b/graphql/e2e/custom_logic/cmd/main.go index 9981f546562..14d3819cbca 100644 --- a/graphql/e2e/custom_logic/cmd/main.go +++ b/graphql/e2e/custom_logic/cmd/main.go @@ -277,6 +277,20 @@ func postFavMoviesHandler(w http.ResponseWriter, r *http.Request) { check2(w.Write(getDefaultResponse())) } +func postFavMoviesWithBodyHandler(w http.ResponseWriter, r *http.Request) { + err := verifyRequest(r, expectedRequest{ + method: http.MethodPost, + urlSuffix: "/0x123?name=Author", + body: `{"id":"0x123","name":"Author"}`, + headers: nil, + }) + if err != nil { + check2(w.Write([]byte(err.Error()))) + return + } + check2(w.Write(getDefaultResponse())) +} + func verifyHeadersHandler(w http.ResponseWriter, r *http.Request) { err := verifyRequest(r, expectedRequest{ method: http.MethodGet, @@ -384,6 +398,36 @@ func favMoviesCreateHandler(w http.ResponseWriter, r *http.Request) { ]`))) } +func favMoviesCreateWithNullBodyHandler(w http.ResponseWriter, r *http.Request) { + err := verifyRequest(r, expectedRequest{ + method: http.MethodPost, + urlSuffix: "/favMoviesCreateWithNullBody", + body: `{"movies":[{"director":[{"name":"Dir1"}],"name":"Mov1"},{"name":null}]}`, + headers: nil, + }) + if err != nil { + check2(w.Write([]byte(err.Error()))) + return + } + + check2(w.Write([]byte(`[ + { + "id": "0x1", + "name": "Mov1", + "director": [ + { + "id": "0x2", + "name": "Dir1" + } + ] + }, + { + "id": "0x3", + "name": null + } + ]`))) +} + func favMoviesUpdateHandler(w http.ResponseWriter, r *http.Request) { err := verifyRequest(r, expectedRequest{ method: http.MethodPatch, @@ -792,6 +836,39 @@ func userNameHandler(w http.ResponseWriter, r *http.Request) { nameHandler(w, r, &inputBody) } +func userNameWithoutAddressHandler(w http.ResponseWriter, r *http.Request) { + expectedRequest := expectedRequest{ + body: `{"uid":"0x5"}`, + } + + b, err := ioutil.ReadAll(r.Body) + fmt.Println(b, err) + if err != nil { + err = getError("Unable to read request body", err.Error()) + check2(w.Write([]byte(err.Error()))) + return + } + + if string(b) != expectedRequest.body { + err = getError("Unexpected value for request body", string(b)) + } + if err != nil { + check2(w.Write([]byte(err.Error()))) + return + } + + var inputBody input + if err := json.Unmarshal(b, &inputBody); err != nil { + fmt.Println("while doing JSON unmarshal: ", err) + check2(w.Write([]byte(err.Error()))) + return + } + + n := fmt.Sprintf(`"%s"`, inputBody.Name()) + check2(fmt.Fprint(w, n)) + +} + func carHandler(w http.ResponseWriter, r *http.Request) { var inputBody input err := getInput(r, &inputBody) @@ -1134,6 +1211,7 @@ func main() { // for queries http.HandleFunc("/favMovies/", getFavMoviesHandler) http.HandleFunc("/favMoviesPost/", postFavMoviesHandler) + http.HandleFunc("/favMoviesPostWithBody/", postFavMoviesWithBodyHandler) http.HandleFunc("/verifyHeaders", verifyHeadersHandler) http.HandleFunc("/verifyCustomNameHeaders", verifyCustomNameHeadersHandler) http.HandleFunc("/twitterfollowers", twitterFollwerHandler) @@ -1142,7 +1220,7 @@ func main() { http.HandleFunc("/favMoviesCreate", favMoviesCreateHandler) http.HandleFunc("/favMoviesUpdate/", favMoviesUpdateHandler) http.HandleFunc("/favMoviesDelete/", favMoviesDeleteHandler) - + http.HandleFunc("/favMoviesCreateWithNullBody", favMoviesCreateWithNullBodyHandler) // The endpoints below are for testing custom resolution of fields within type definitions. // for testing batch mode http.HandleFunc("/userNames", userNamesHandler) @@ -1154,6 +1232,7 @@ func main() { // for testing single mode http.HandleFunc("/userName", userNameHandler) + http.HandleFunc("/userNameWithoutAddress", userNameWithoutAddressHandler) http.HandleFunc("/checkHeadersForUserName", userNameHandlerWithHeaders) http.HandleFunc("/car", carHandler) http.HandleFunc("/class", classHandler) diff --git a/graphql/e2e/custom_logic/custom_logic_test.go b/graphql/e2e/custom_logic/custom_logic_test.go index 45845d93d90..08881031415 100644 --- a/graphql/e2e/custom_logic/custom_logic_test.go +++ b/graphql/e2e/custom_logic/custom_logic_test.go @@ -37,6 +37,7 @@ const ( alphaURL = "http://localhost:8180/graphql" alphaAdminURL = "http://localhost:8180/admin" subscriptionEndpoint = "ws://localhost:8180/graphql" + groupOnegRPC = "localhost:9180" customTypes = `type MovieDirector @remote { id: ID! name: String! @@ -158,6 +159,42 @@ func TestCustomPostQuery(t *testing.T) { require.JSONEq(t, expected, string(result.Data)) } +func TestCustomPostQueryWithBody(t *testing.T) { + schema := customTypes + ` + type Query { + myFavoriteMoviesPost(id: ID!, name: String!, num: Int): [Movie] @custom(http: { + url: "http://mock:8888/favMoviesPostWithBody/$id?name=$name", + body:"{id:$id,name:$name,num:$num}" + method: "POST" + }) + }` + updateSchemaRequireNoGQLErrors(t, schema) + time.Sleep(2 * time.Second) + + query := ` + query { + myFavoriteMoviesPost(id: "0x123", name: "Author") { + id + name + director { + id + name + } + } + }` + params := &common.GraphQLParams{ + Query: query, + } + + result := params.ExecuteAsPost(t, alphaURL) + require.Nil(t, result.Errors) + + expected := `{"myFavoriteMoviesPost":[{"id":"0x3","name":"Star Wars","director": + [{"id":"0x4","name":"George Lucas"}]},{"id":"0x5","name":"Star Trek","director": + [{"id":"0x6","name":"J.J. Abrams"}]}]}` + require.JSONEq(t, expected, string(result.Data)) +} + func TestCustomQueryShouldForwardHeaders(t *testing.T) { schema := customTypes + ` type Query { @@ -1012,6 +1049,103 @@ func TestCustomFieldsShouldForwardHeaders(t *testing.T) { require.Nilf(t, result.Errors, "%+v", result.Errors) } +func TestCustomFieldsShouldSkipNonEmptyVariable(t *testing.T) { + schema := ` + type User { + id: ID! + address:String + name: String + @custom( + http: { + url: "http://mock:8888/userName" + method: "GET" + body: "{uid: $id,address:$address}" + mode: SINGLE, + secretHeaders: ["GITHUB-API-TOKEN"] + } + ) + age: Int! @search + } + +# Dgraph.Secret GITHUB-API-TOKEN "some-api-token" + ` + updateSchemaRequireNoGQLErrors(t, schema) + time.Sleep(2 * time.Second) + + users := addUsers(t) + queryUser := ` + query ($id: [ID!]){ + queryUser(filter: {id: $id}, order: {asc: age}) { + name + age + } + }` + params := &common.GraphQLParams{ + Query: queryUser, + Variables: map[string]interface{}{"id": []interface{}{ + users[0].ID, users[1].ID, users[2].ID}}, + } + + result := params.ExecuteAsPost(t, alphaURL) + require.Nilf(t, result.Errors, "%+v", result.Errors) +} + +func TestCustomFieldsShouldPassBody(t *testing.T) { + dg, err := testutil.DgraphClient(groupOnegRPC) + require.NoError(t, err) + testutil.DropAll(t, dg) + schema := ` + type User { + id: String! @id @search(by: [hash, regexp]) + address:String + name: String + @custom( + http: { + url: "http://mock:8888/userNameWithoutAddress" + method: "GET" + body: "{uid: $id,address:$address}" + mode: SINGLE, + secretHeaders: ["GITHUB-API-TOKEN"] + } + ) + age: Int! @search + } +# Dgraph.Secret GITHUB-API-TOKEN "some-api-token" + ` + updateSchemaRequireNoGQLErrors(t, schema) + time.Sleep(2 * time.Second) + + params := &common.GraphQLParams{ + Query: `mutation addUser { + addUser(input: [{ id:"0x5", age: 10 }]) { + user { + id + age + } + } + }`, + } + + result := params.ExecuteAsPost(t, alphaURL) + common.RequireNoGQLErrors(t, result) + + queryUser := ` + query ($id: String!){ + queryUser(filter: {id: {eq: $id}}) { + name + age + } + }` + + params = &common.GraphQLParams{ + Query: queryUser, + Variables: map[string]interface{}{"id": "0x5"}, + } + + result = params.ExecuteAsPost(t, alphaURL) + require.Nilf(t, result.Errors, "%+v", result.Errors) +} + func TestCustomFieldsShouldBeResolved(t *testing.T) { // This test adds data, modifies the schema multiple times and fetches the data. // It has the following modes. @@ -1732,6 +1866,85 @@ func TestCustomPostMutation(t *testing.T) { require.JSONEq(t, expected, string(result.Data)) } +func TestCustomPostMutationNullInBody(t *testing.T) { + schema := `type MovieDirector @remote { + id: ID! + name: String! + directed: [Movie] + } + type Movie @remote { + id: ID! + name: String + director: [MovieDirector] + } + input MovieDirectorInput { + id: ID + name: String + directed: [MovieInput] + } + input MovieInput { + id: ID + name: String + director: [MovieDirectorInput] + } + type Mutation { + createMyFavouriteMovies(input: [MovieInput!]): [Movie] @custom(http: { + url: "http://mock:8888/favMoviesCreateWithNullBody", + method: "POST", + body: "{ movies: $input}" + }) + }` + updateSchemaRequireNoGQLErrors(t, schema) + time.Sleep(2 * time.Second) + + params := &common.GraphQLParams{ + Query: ` + mutation createMovies($movs: [MovieInput!]) { + createMyFavouriteMovies(input: $movs) { + id + name + director { + id + name + } + } + }`, + Variables: map[string]interface{}{ + "movs": []interface{}{ + map[string]interface{}{ + "name": "Mov1", + "director": []interface{}{map[string]interface{}{"name": "Dir1"}}, + }, + map[string]interface{}{"name": nil}, + }}, + } + + result := params.ExecuteAsPost(t, alphaURL) + common.RequireNoGQLErrors(t, result) + + expected := ` + { + "createMyFavouriteMovies": [ + { + "id": "0x1", + "name": "Mov1", + "director": [ + { + "id": "0x2", + "name": "Dir1" + } + ] + }, + { + "id": "0x3", + "name": null, + "director": [] + } + ] + }` + require.JSONEq(t, expected, string(result.Data)) +} + func TestCustomPatchMutation(t *testing.T) { schema := customTypes + ` input MovieDirectorInput { diff --git a/graphql/resolve/resolver.go b/graphql/resolve/resolver.go index 156804b272f..32464c65622 100644 --- a/graphql/resolve/resolver.go +++ b/graphql/resolve/resolver.go @@ -1793,6 +1793,7 @@ func (hr *httpResolver) rewriteAndExecute(ctx context.Context, field schema.Fiel } body = string(b) } + b, err := makeRequest(hr.Client, hrc.Method, hrc.URL, body, hrc.ForwardHeaders) if err != nil { return emptyResult(externalRequestError(err, field)) diff --git a/graphql/schema/wrappers.go b/graphql/schema/wrappers.go index df382f381f4..a1325d43c00 100644 --- a/graphql/schema/wrappers.go +++ b/graphql/schema/wrappers.go @@ -1841,22 +1841,18 @@ func parseBodyTemplate(body string) (*interface{}, map[string]bool, error) { return &m, requiredFields, nil } -func getVar(key string, variables map[string]interface{}) (interface{}, error) { +func getVar(key string, variables map[string]interface{}) (interface{}, error, bool) { if !strings.HasPrefix(key, "$") { - return nil, errors.Errorf("expected a variable to start with $. Found: %s", key) + return nil, errors.Errorf("expected a variable to start with $. Found: %s", key), true } val, ok := variables[key[1:]] - if !ok { - return nil, errors.Errorf("couldn't find variable: %s in variables map", key) - } - - return val, nil + return val, nil, ok } func substituteSingleVarInBody(key string, valPtr *interface{}, variables map[string]interface{}) error { // Look it up in the map and replace. - val, err := getVar(key, variables) + val, err, _ := getVar(key, variables) if err != nil { return err } @@ -1868,11 +1864,15 @@ func substituteVarInMapInBody(object, variables map[string]interface{}) error { for k, v := range object { switch val := v.(type) { case string: - vval, err := getVar(val, variables) + vval, err, ok := getVar(val, variables) if err != nil { return err } - object[k] = vval + if ok { + object[k] = vval + } else { + delete(object, k) + } case map[string]interface{}: if err := substituteVarInMapInBody(val, variables); err != nil { return err @@ -1892,7 +1892,7 @@ func substituteVarInSliceInBody(slice []interface{}, variables map[string]interf for k, v := range slice { switch val := v.(type) { case string: - vval, err := getVar(val, variables) + vval, err, _ := getVar(val, variables) if err != nil { return err } diff --git a/graphql/schema/wrappers_test.go b/graphql/schema/wrappers_test.go index af6e4ebeb28..bffeb40b707 100644 --- a/graphql/schema/wrappers_test.go +++ b/graphql/schema/wrappers_test.go @@ -424,11 +424,18 @@ func TestSubstituteVarsInBody(t *testing.T) { nil, }, { - "variable not found error", + "Skip one missing variable in the HTTP body", map[string]interface{}{"postID": "0x9"}, map[string]interface{}{"author": "$id", "post": map[string]interface{}{"id": "$postID"}}, + map[string]interface{}{"post": map[string]interface{}{"id": "0x9"}}, + nil, + }, + { + "Skip all missing variables in the HTTP body", + map[string]interface{}{}, + map[string]interface{}{"author": "$id", "post": map[string]interface{}{"id": "$postID"}}, + map[string]interface{}{"post": map[string]interface{}{}}, nil, - errors.New("couldn't find variable: $id in variables map"), }, } From 6ecf91e35fb31621a3532dad5fbf4ad13671e35b Mon Sep 17 00:00:00 2001 From: Arijit Das Date: Wed, 29 Jul 2020 15:14:21 +0530 Subject: [PATCH 029/151] chore: Benchmark Auth queries and compare it with non Auth queries. (#6029) * Benchmark Auth queries and compare it with non Auth queries. Co-authored-by: Pawan Rawal --- graphql/bench/README.md | 58 ++++ graphql/bench/auth_test.go | 555 ++++++++++++++++++++++++++++++ graphql/bench/schema.graphql | 72 ++++ graphql/bench/schema_auth.graphql | 251 ++++++++++++++ graphql/e2e/common/common.go | 6 +- 5 files changed, 939 insertions(+), 3 deletions(-) create mode 100644 graphql/bench/README.md create mode 100644 graphql/bench/auth_test.go create mode 100644 graphql/bench/schema.graphql create mode 100644 graphql/bench/schema_auth.graphql diff --git a/graphql/bench/README.md b/graphql/bench/README.md new file mode 100644 index 00000000000..adf66451425 --- /dev/null +++ b/graphql/bench/README.md @@ -0,0 +1,58 @@ +Compare performance of Auth vs Non-Auth Queries and Mutation. +Queries were benchmarked against pre generated dataset. We had two cases: Single Level Query and Deep Query +For Mutation we benchmarked add, delete and Multi level Mutation. +We also compared the overhead of adding auth rules. +Results and other details are mentioned here + +To regenerate the benchmark results run it once with Non-Auth schema `schema.graphql` +and compare the result by generating the benchmark with Auth schema `schema_auth.graphql`. + +**GraphQL pre and post processing time:**
+```` +Auth: +Benchmark Name | Pre Time | Post Time | Ratio of Processing Time by Actual Time +BenchmarkNestedQuery 144549ns 1410978ns 0.14% +BenchmarkOneLevelMutation 29422440ns 113091520ns 3.31% +BenchmarkMultiLevelMutation 19717340ns 7690352ns 2.24% + +Non-Auth: +Benchmark Name | Pre Time | Post Time | Ratio of Processing Time by Actual Time +BenchmarkNestedQuery 117319ns 716261089ns 26.65% +BenchmarkOneLevelMutation 29643908ns 83077638ns 2.6% +BenchmarkMultiLevelMutation 20579295ns 53566488ns 6.2% +```` +**Summary**: +```` +Query: +Running the Benchmark: +Command: go test -bench=. -benchtime=60s + go test -bench=. -benchtime=60s + goos: linux + goarch: amd64 + pkg: github.com/dgraph-io/dgraph/graphql/e2e/auth/bench +Auth + BenchmarkNestedQuery-8 88 815315761 ns/op + BenchmarkOneLevelQuery-8 4357 15626384 ns/op +Non-Auth + BenchmarkNestedQuery-8 33 2218877846 ns/op + BenchmarkOneLevelQuery-8 4446 16100509 ns/op + + +Mutation: +BenchmarkMutation: 100 owners, each having 100 restaurants +BenchmarkMultiLevelMutation: 20 restaurants, each having 20 cuisines, each cuisine having 20 dishes +BenchmarkOneLevelMutation: 10000 nodes + +Auth: +BenchmarkMutation: 0.380893400s +BenchmarkMultiLevelMutation: 1.392922056s +BenchmarkOneLevelMutation: +Add Time: 9.42224304s +Delete Time: 1.150111483s + +Non-Auth: +BenchmarkMutation: 0.464559706s +BenchmarkMultiLevelMutation: 1.440681796s +BenchmarkOneLevelMutation: +Add Time: 9.549761333s +Delete Time: 1.200276696s \ No newline at end of file diff --git a/graphql/bench/auth_test.go b/graphql/bench/auth_test.go new file mode 100644 index 00000000000..4644c275db9 --- /dev/null +++ b/graphql/bench/auth_test.go @@ -0,0 +1,555 @@ +/* + * Copyright 2020 Dgraph Labs, Inc. and Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package bench + +import ( + "fmt" + "io/ioutil" + "net/http" + "testing" + "time" + + "github.com/dgraph-io/dgraph/graphql/authorization" + "github.com/dgraph-io/dgraph/graphql/e2e/common" + "github.com/dgraph-io/dgraph/testutil" + "github.com/stretchr/testify/require" +) + +const ( + graphqlURL = "http://localhost:8080/graphql" +) + +func getJWT(b require.TestingT, metaInfo *testutil.AuthMeta) http.Header { + jwtToken, err := metaInfo.GetSignedToken("", 300*time.Second) + require.NoError(b, err) + + h := make(http.Header) + h.Add(metaInfo.Header, jwtToken) + return h +} + +func getAuthMeta(schema string) *testutil.AuthMeta { + authMeta, err := authorization.Parse(schema) + if err != nil { + panic(err) + } + + return &testutil.AuthMeta{ + PublicKey: authMeta.VerificationKey, + Namespace: authMeta.Namespace, + Algo: authMeta.Algo, + Header: authMeta.Header, + } +} + +func clearAll(b require.TestingT, metaInfo *testutil.AuthMeta) { + getParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation deleteCuisine($type: String) { + deleteCuisine(filter: {type: { eq: $type}}) { + msg + } + } + `, + Variables: map[string]interface{}{"type": "TypeCuisineAuth"}, + } + gqlResponse := getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) + + getParams = &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation deleteRestaurant($name: String) { + deleteRestaurant(filter: {name: { anyofterms: $name}}) { + msg + } + } + `, + Variables: map[string]interface{}{"name": "TypeRestaurantAuth"}, + } + gqlResponse = getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) + + getParams = &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation deleteDish($type: String) { + deleteDish(filter: {type: { eq: $type}}) { + msg + } + } + `, + Variables: map[string]interface{}{"type": "TypeDishAuth"}, + } + gqlResponse = getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) + + getParams = &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation deleteOwner($name: String) { + deleteOwner(filter: {name: { eq: $name}}) { + msg + } + } + `, + Variables: map[string]interface{}{"name": "TypeOwnerAuth"}, + } + gqlResponse = getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) +} + +// Running the Benchmark: +// Command: go test -bench=. -benchtime=60s +// go test -bench=. -benchtime=60s +// goos: linux +// goarch: amd64 +// pkg: github.com/dgraph-io/dgraph/graphql/e2e/auth/bench +// Auth +// BenchmarkNestedQuery-8 88 815315761 ns/op +// BenchmarkOneLevelQuery-8 4357 15626384 ns/op +// Non-Auth +// BenchmarkNestedQuery-8 33 2218877846 ns/op +// BenchmarkOneLevelQuery-8 4446 16100509 ns/op + +// Auth Extension (BenchmarkNestedQuery) +//"extensions": { +// "touched_uids": 8410962, +// "tracing": { +// "version": 1, +// "startTime": "2020-07-16T23:45:27.798693638+05:30", +// "endTime": "2020-07-16T23:45:28.844749169+05:30", +// "duration": 1046055551, +// "execution": { +// "resolvers": [ +// { +// "path": [ +// "queryCuisine" +// ], +// "parentType": "Query", +// "fieldName": "queryCuisine", +// "returnType": "[Cuisine]", +// "startOffset": 144549, +// "duration": 1045026189, +// "dgraph": [ +// { +// "label": "query", +// "startOffset": 262828, +// "duration": 1044381745 +// } +// ] +// } +// ] +// } +// } +// } + +// Non Auth Extension (BenchmarkNestedQuery) +//"extensions": { +// "touched_uids": 458610, +// "tracing": { +// "version": 1, +// "startTime": "2020-07-16T23:46:48.73641261+05:30", +// "endTime": "2020-07-16T23:46:50.281062742+05:30", +// "duration": 1544650302, +// "execution": { +// "resolvers": [{ +// "path": [ +// "queryCuisine" +// ], +// "parentType": "Query", +// "fieldName": "queryCuisine", +// "returnType": "[Cuisine]", +// "startOffset": 154997, +// "duration": 1118614851, +// "dgraph": [{ +// "label": "query", +// "startOffset": 256126, +// "duration": 823062710 +// }] +// }] +// } +// } +//} + +func BenchmarkNestedQuery(b *testing.B) { + schemaFile := "schema_auth.graphql" + schema, err := ioutil.ReadFile(schemaFile) + require.NoError(b, err) + + metaInfo := getAuthMeta(string(schema)) + metaInfo.AuthVars = map[string]interface{}{ + "Role": "ADMIN", + "Dish": "Dish", + "RName": "Restaurant", + "RCurr": "$", + } + + query := ` + query { + queryCuisine (first: 100) { + id + name + restaurants (first: 100) { + id + name + dishes (first: 100) { + id + name + } + } + } + } + ` + + getUserParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: query, + } + + for i := 0; i < b.N; i++ { + gqlResponse := getUserParams.ExecuteAsPost(b, graphqlURL) + require.Nilf(b, gqlResponse.Errors, "%+v", gqlResponse.Errors) + } +} + +func BenchmarkOneLevelQuery(b *testing.B) { + schemaFile := "schema_auth.graphql" + schema, err := ioutil.ReadFile(schemaFile) + require.NoError(b, err) + + metaInfo := getAuthMeta(string(schema)) + metaInfo.AuthVars = map[string]interface{}{ + "Role": "ADMIN", + "Dish": "Dish", + "RName": "Restaurant", + "RCurr": "$", + } + + query := ` + query { + queryCuisine (first: 300000) { + id + name + } + } + ` + + getUserParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: query, + } + + for i := 0; i < b.N; i++ { + gqlResponse := getUserParams.ExecuteAsPost(b, graphqlURL) + require.Nilf(b, gqlResponse.Errors, "%+v", gqlResponse.Errors) + } +} + +type Cuisine struct { + Id string `json:"id,omitempty"` + Name string `json:"name,omitempty"` + Public bool `json:"public,omitempty"` + Type string `json:"type,omitempty"` + Dishes []Dish `json:"dishes,omitempty"` +} + +type Restaurant struct { + Xid string `json:"xid,omitempty"` + Name string `json:"name,omitempty"` + Currency string `json:"currency,omitempty"` + Cuisines []Cuisine `json:"cuisines,omitempty"` +} + +type Dish struct { + Id string `json:"id,omitempty"` + Name string `json:"name,omitempty"` + Type string `json:"type,omitempty"` + Cuisines []Cuisine `json:"cuisines,omitempty"` +} + +type Owner struct { + Username string `json:"username,omitempty"` + Name string `json:"name,omitempty"` + HasRestaurants Restaurants `json:"hasRestaurants,omitempty"` +} + +type Cuisines []Cuisine + +func (c Cuisines) delete(b require.TestingT, metaInfo *testutil.AuthMeta) { + getParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation deleteCuisine($type: String) { + deleteCuisine(filter: {type: { eq: $type}}) { + msg + } + } + `, + Variables: map[string]interface{}{"type": "TypeCuisineAuth"}, + } + gqlResponse := getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) +} + +func (c Cuisines) add(b require.TestingT, metaInfo *testutil.AuthMeta) { + getParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation addCuisine($cuisines: [AddCuisineInput!]!) { + addCuisine(input: $cuisines) { + numUids + } + } + `, + Variables: map[string]interface{}{"cuisines": c}, + } + gqlResponse := getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) +} + +type Restaurants []Restaurant + +func (r Restaurants) add(b require.TestingT, metaInfo *testutil.AuthMeta) { + getParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation AddR($restaurants: [AddRestaurantInput!]! ) { + addRestaurant(input: $restaurants) { + numUids + } + } + `, + Variables: map[string]interface{}{"restaurants": r}, + } + gqlResponse := getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) +} + +func BenchmarkOneLevelMutation(b *testing.B) { + schemaFile := "schema_auth.graphql" + schema, err := ioutil.ReadFile(schemaFile) + require.NoError(b, err) + + metaInfo := getAuthMeta(string(schema)) + metaInfo.AuthVars = map[string]interface{}{ + "Role": "ADMIN", + "Dish": "Dish", + "RName": "Restaurant", + "RCurr": "$", + } + + items := 10000 + var cusines Cuisines + for i := 0; i < items; i++ { + r := Cuisine{ + Name: fmt.Sprintf("Test_Cuisine_%d", i), + Type: "TypeCuisineAuth", + Public: true, + } + cusines = append(cusines, r) + } + mutations := []struct { + name string + operation func(b *testing.B) + }{ + {"add", func(b *testing.B) { + before := time.Now() + cusines.add(b, metaInfo) + fmt.Println("Add Time: ", time.Since(before)) + b.StopTimer() + cusines.delete(b, metaInfo) + }}, + {"delete", func(b *testing.B) { + b.StopTimer() + cusines.add(b, metaInfo) + b.StartTimer() + before := time.Now() + cusines.delete(b, metaInfo) + fmt.Println("Delete Time: ", time.Since(before)) + }}, + } + + for _, mutation := range mutations { + b.Run(mutation.name, func(b *testing.B) { + for i := 0; i < b.N; i++ { + mutation.operation(b) + } + }) + } +} + +func generateMultiLevelMutationData(items int) Restaurants { + var restaurants Restaurants + ci := 1 + di := 1 + ri := 1 + for ; ri <= items; ri++ { + r := Restaurant{ + Xid: fmt.Sprintf("Test_Restaurant_%d", ri), + Name: "TypeRestaurantAuth", + Currency: "$", + } + var cuisines Cuisines + for ; ci%items != 0; ci++ { + c := Cuisine{ + Name: fmt.Sprintf("Test_Cuisine_%d", ci), + Type: "TypeCuisineAuth", + Public: true, + } + var dishes []Dish + for ; di%items != 0; di++ { + d := Dish{ + Name: fmt.Sprintf("Test_Dish_%d", di), + Type: "TypeDishAuth", + } + dishes = append(dishes, d) + } + di++ + c.Dishes = dishes + cuisines = append(cuisines, c) + } + ci++ + r.Cuisines = cuisines + restaurants = append(restaurants, r) + } + return restaurants +} + +func BenchmarkMultiLevelMutation(b *testing.B) { + schemaFile := "schema_auth.graphql" + schema, err := ioutil.ReadFile(schemaFile) + require.NoError(b, err) + + metaInfo := getAuthMeta(string(schema)) + metaInfo.AuthVars = map[string]interface{}{ + "Role": "ADMIN", + "Dish": "Dish", + "RName": "Restaurant", + "RCurr": "$", + } + + restaurants := generateMultiLevelMutationData(20) + var totalTime time.Duration + for i := 0; i < b.N; i++ { + before := time.Now() + restaurants.add(b, metaInfo) + reqTime := time.Since(before) + totalTime += reqTime + if i%10 == 0 { + avgTime := int64(totalTime) / int64(i+1) + fmt.Printf("Avg Time: %d Time: %d \n", avgTime, reqTime) + } + // Stopping the timer as we don't want to include the clean up time in benchmark result. + b.StopTimer() + clearAll(b, metaInfo) + } +} + +// generateOwnerRestaurant generates `items` number of `Owner`. Each `Owner` having +// `items` number of `Restaurant`. +func generateOwnerRestaurant(items int) Owners { + var owners Owners + ri := 1 + oi := 1 + for ; oi < items; oi++ { + var restaurants Restaurants + for ; ri%items != 0; ri++ { + r := Restaurant{ + Xid: fmt.Sprintf("Test_Restaurant_%d", ri), + Name: "TypeRestaurantAuth", + Currency: "$", + } + restaurants = append(restaurants, r) + } + ri++ + o := Owner{ + Username: fmt.Sprintf("Test_User_%d", oi), + Name: "TypeOwnerAuth", + HasRestaurants: restaurants, + } + owners = append(owners, o) + } + return owners +} + +type Owners []Owner + +func (o Owners) add(b *testing.B, metaInfo *testutil.AuthMeta) { + getParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: ` + mutation addOwner($owners: [AddOwnerInput!]!) { + addOwner(input: $owners) { + numUids + } + } + `, + Variables: map[string]interface{}{"owners": o}, + } + gqlResponse := getParams.ExecuteAsPost(b, graphqlURL) + require.Nil(b, gqlResponse.Errors) +} + +func BenchmarkMutation(b *testing.B) { + schemaFile := "schema_auth.graphql" + schema, err := ioutil.ReadFile(schemaFile) + require.NoError(b, err) + + metaInfo := getAuthMeta(string(schema)) + metaInfo.AuthVars = map[string]interface{}{ + "Role": "ADMIN", + "USERNAME": "$", + } + + owners := generateOwnerRestaurant(100) + owners.add(b, metaInfo) + + query := ` + query { + queryRestaurant (first: 300000) { + id + name + owner { + username + } + } + } + ` + + getUserParams := &common.GraphQLParams{ + Headers: getJWT(b, metaInfo), + Query: query, + } + + var totalTime time.Duration + for i := 0; i < b.N; i++ { + before := time.Now() + gqlResponse := getUserParams.ExecuteAsPost(b, graphqlURL) + require.Nilf(b, gqlResponse.Errors, "%+v", gqlResponse.Errors) + reqTime := time.Since(before) + totalTime += reqTime + if i%10 == 0 { + avgTime := int64(totalTime) / (int64(i + 1)) + fmt.Printf("Avg Time: %d Time: %d \n", avgTime, reqTime) + } + // Stopping the timer as we don't want to include the clean up time in benchmark result. + b.StopTimer() + clearAll(b, metaInfo) + } +} diff --git a/graphql/bench/schema.graphql b/graphql/bench/schema.graphql new file mode 100644 index 00000000000..91ddba4f481 --- /dev/null +++ b/graphql/bench/schema.graphql @@ -0,0 +1,72 @@ +type Country { + cid: ID! + id: String! @id + name: String! @search(by: [term]) + cities: [City] +} + +type City { + cid: ID! + id: String! @id + name: String! @search(by: [term]) + country: Country! @hasInverse(field: cities) + restaurants: [RestaurantAddress] @hasInverse(field: city) +} + +interface Location { + id: ID! + lat: Float! + long: Float! + address: String! + locality: String! + city: City! + zipcode: Int +} + +type RestaurantAddress implements Location { + restaurant: Restaurant! @hasInverse(field: addr) +} + +type Restaurant { + id: ID! + xid: String! @id + name: String! @search(by: [term]) + pic: String + addr: RestaurantAddress + rating: Float + costFor2: Float + currency: String @search(by: [hash]) + cuisines: [Cuisine] + dishes: [Dish] @hasInverse(field: servedBy) + createdAt: DateTime + owner: Owner +} + +type Cuisine { + id: ID! + name: String! @id + restaurants: [Restaurant] @hasInverse(field: cuisines) + dishes: [Dish] @hasInverse(field: cuisine) + type: String! @search(by: [hash]) + public: Boolean @search +} + +type Dish { + id: ID! + name: String! @search(by: [term]) + type: String! @search(by: [hash]) + pic: String + price: Float + description: String + isVeg: Boolean + cuisine: Cuisine + servedBy: Restaurant +} + +type Owner { + username: String! @id + name: String! @search(by: [hash]) + hasRestaurants: [Restaurant] @hasInverse(field: owner) +} + +# Dgraph.Authorization {"VerificationKey":"secretkey","Header":"X-Test-Auth","Namespace":"https://xyz.io/jwt/claims","Algo":"HS256","Audience":["aud1","63do0q16n6ebjgkumu05kkeian","aud5"]} \ No newline at end of file diff --git a/graphql/bench/schema_auth.graphql b/graphql/bench/schema_auth.graphql new file mode 100644 index 00000000000..245bbc5f7dd --- /dev/null +++ b/graphql/bench/schema_auth.graphql @@ -0,0 +1,251 @@ +type Country @auth( + query: + { rule: """ + query($USERNAME: String!) { + queryCountry { + cities { + restaurants { + restaurant { + owner(filter: { + username: { + eq: $USERNAME + } + }) { + username + } + } + } + } + } + } + """ }) { + cid: ID! + id: String! @id + name: String! @search(by: [term]) + cities: [City] +} + +type City @auth( + query: + { rule: """ + query($USERNAME: String!) { + queryCity { + restaurants { + restaurant { + owner(filter: { + username: { + eq: $USERNAME + } + }) { + username + } + } + } + } + } + """ }) { + cid: ID! + id: String! @id + name: String! @search(by: [term]) + country: Country! @hasInverse(field: cities) + restaurants: [RestaurantAddress] @hasInverse(field: city) +} + +interface Location { + id: ID! + lat: Float! + long: Float! + address: String! + locality: String! + city: City! + zipcode: Int +} + +type RestaurantAddress implements Location @auth( + query: { rule: """ + query($USERNAME: String!) { + queryRestaurantAddress { + restaurant { + owner(filter: { + username: { + eq: $USERNAME + } + }) { + username + } + } + } + } + """}) { + restaurant: Restaurant! @hasInverse(field: addr) +} + +type Restaurant @auth( + query: { or: [ + { rule: """ + query($RName: String!) { + queryRestaurant(filter: { name: { anyofterms: $RName } }) { + __typename + } + } + """ }, + { rule: """ + query($RCurr: String!) { + queryRestaurant(filter: { currency: { eq: $RCurr } }) { + __typename + } + } + """ }, + { rule: """ + query($USERNAME: String!) { + queryRestaurant { + owner(filter: {username: { eq: $USERNAME } }) { + username + } + } + }""" }] + }, + add: { rule: """ + query { + queryRestaurant { + cuisines(filter: {public: true}) { + __typename + } + } + } + """ + }, + update: { rule: """ + query { + queryRestaurant { + cuisines(filter: {public: true}) { + __typename + } + } + } + """ + } +) { + id: ID! + xid: String! @id + name: String! @search(by: [term]) + pic: String + addr: RestaurantAddress + rating: Float + costFor2: Float + currency: String @search(by: [hash]) + cuisines: [Cuisine] + dishes: [Dish] @hasInverse(field: servedBy) + createdAt: DateTime + owner: Owner +} + +type Cuisine @auth( + query: { or: [ + { rule: "{$Role: { eq: \"ADMIN\" }}" }, + { or: [ + { rule: """ + query($RCurr: String!) { + queryCuisine { + restaurants(filter: { currency: { eq: $RCurr } }) { + __typename + } + } + } + """ + }, + { rule: """ + query($RName: String!) { + queryCuisine { + restaurants(filter: { name: { anyofterms: $RName } }) { + __typename + } + } + } + """ + }, + { rule: """ + query($USERNAME: String!) { + queryCuisine { + restaurants { + owner(filter: {username: { eq: $USERNAME } }) { + username + } + } + } + }""" } + ]} + ]}, + add: { rule: """ + query { + queryCuisine(filter: {public: true}) { + __typename + } + } + """ + }, + update: { rule: """ + query { + queryCuisine(filter: {public: true}) { + __typename + } + } + """ + } +) { + id: ID! + name: String! @id + restaurants: [Restaurant] @hasInverse(field: cuisines) + dishes: [Dish] @hasInverse(field: cuisine) + type: String! @search(by: [hash]) + public: Boolean @search +} + +type Dish @auth( + query: { or: [ + { rule: """ + query($Dish: String!) { + queryDish(filter: { name: { anyofterms: $Dish } }) { + __typename + } + } + """ }, + { rule: """ + query($USERNAME: String!) { + queryDish { + servedBy { + owner(filter: {username: { eq: $USERNAME } }) { + username + } + } + } + }""" } + ]}, + add: { rule: "{$Role: { eq: \"ADMIN\" }}"}, + update: { rule: "{$Role: { eq: \"ADMIN\" }}"}, +){ + id: ID! + name: String! @search(by: [term]) + type: String! @search(by: [hash]) + pic: String + price: Float + description: String + isVeg: Boolean + cuisine: Cuisine + servedBy: Restaurant +} + +type Owner @auth( + query: + { rule: """ + query($USERNAME: String!) { + queryOwner(filter: {username: { eq: $USERNAME } }) { + username + } + }""" }) { + username: String! @id + name: String! @search(by: [hash]) + hasRestaurants: [Restaurant] @hasInverse(field: owner) +} + +# Dgraph.Authorization {"VerificationKey":"secretkey","Header":"X-Test-Auth","Namespace":"https://xyz.io/jwt/claims","Algo":"HS256","Audience":["aud1","63do0q16n6ebjgkumu05kkeian","aud5"]} \ No newline at end of file diff --git a/graphql/e2e/common/common.go b/graphql/e2e/common/common.go index a9ee1e79261..7ba8fff58a5 100644 --- a/graphql/e2e/common/common.go +++ b/graphql/e2e/common/common.go @@ -435,7 +435,7 @@ func getQueryEmptyVariable(t *testing.T) { // Execute takes a HTTP request from either ExecuteAsPost or ExecuteAsGet // and executes the request -func (params *GraphQLParams) Execute(t *testing.T, req *http.Request) *GraphQLResponse { +func (params *GraphQLParams) Execute(t require.TestingT, req *http.Request) *GraphQLResponse { for h := range params.Headers { req.Header.Set(h, params.Headers.Get(h)) } @@ -456,7 +456,7 @@ func (params *GraphQLParams) Execute(t *testing.T, req *http.Request) *GraphQLRe // ExecuteAsPost builds a HTTP POST request from the GraphQL input structure // and executes the request to url. -func (params *GraphQLParams) ExecuteAsPost(t *testing.T, url string) *GraphQLResponse { +func (params *GraphQLParams) ExecuteAsPost(t require.TestingT, url string) *GraphQLResponse { req, err := params.createGQLPost(url) require.NoError(t, err) @@ -553,7 +553,7 @@ func (params *GraphQLParams) createApplicationGQLPost(url string) (*http.Request // runGQLRequest runs a HTTP GraphQL request and returns the data or any errors. func runGQLRequest(req *http.Request) ([]byte, error) { - client := &http.Client{Timeout: 10 * time.Second} + client := &http.Client{Timeout: 30 * time.Second} resp, err := client.Do(req) if err != nil { return nil, err From 386665f95ab538cd6c5aab4516c0cb63e4a1e04c Mon Sep 17 00:00:00 2001 From: ahsanbarkati Date: Thu, 30 Jul 2020 11:34:20 +0530 Subject: [PATCH 030/151] fix(dgraph): Fix empty string response for zero datetime (#6067) This PR fixes the empty string response for a zero-datetime value. The "0001-01-01T00:00:00Z" datetime is considered to be a zero value. Before we used to allow empty string for datetime mutation and internally stored empty string as zero datetime so we returned empty string for it but now empty string mutation is not allowed. So, we should return "0001-01-01T00:00:00Z" instead of empty string if the mutation contains "0001-01-01T00:00:00Z". --- query/outputnode.go | 9 ++------- systest/mutations_test.go | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/query/outputnode.go b/query/outputnode.go index 143fe0b2221..000608e3f32 100644 --- a/query/outputnode.go +++ b/query/outputnode.go @@ -331,9 +331,8 @@ func (enc *encoder) IsEmpty(fj fastJsonNode) bool { } var ( - boolTrue = []byte("true") - boolFalse = []byte("false") - emptyString = []byte(`""`) + boolTrue = []byte("true") + boolFalse = []byte("false") // Below variables are used in stringJsonMarshal function. bufferPool = sync.Pool{ @@ -465,11 +464,7 @@ func valToBytes(v types.Val) ([]byte, error) { } return boolFalse, nil case types.DateTimeID: - // Return empty string instead of zero-time value string - issue#3166 t := v.Value.(time.Time) - if t.IsZero() { - return emptyString, nil - } return t.MarshalJSON() case types.GeoID: return geojson.Marshal(v.Value.(geom.T)) diff --git a/systest/mutations_test.go b/systest/mutations_test.go index 4e25ab3e4d4..8909989e454 100644 --- a/systest/mutations_test.go +++ b/systest/mutations_test.go @@ -102,6 +102,7 @@ func TestSystem(t *testing.T) { t.Run("overwrite uid predicates", wrap(OverwriteUidPredicates)) t.Run("overwrite uid predicates reverse index", wrap(OverwriteUidPredicatesReverse)) t.Run("delete and query same txn", wrap(DeleteAndQuerySameTxn)) + t.Run("add and query zero datetime value", wrap(AddAndQueryZeroTimeValue)) } func FacetJsonInputSupportsAnyOfTerms(t *testing.T, c *dgo.Dgraph) { @@ -2395,3 +2396,37 @@ func DeleteAndQuerySameTxn(t *testing.T, c *dgo.Dgraph) { testutil.CompareJSON(t, `{"me":[{"name":"Alice"}]}`, string(resp.GetJson())) } + +func AddAndQueryZeroTimeValue(t *testing.T, c *dgo.Dgraph) { + ctx := context.Background() + + op := &api.Operation{Schema: `val: datetime .`} + require.NoError(t, c.Alter(ctx, op)) + + txn := c.NewTxn() + _, err := txn.Mutate(ctx, &api.Mutation{ + SetNquads: []byte(` + _:value "0000-01-01T00:00:00Z" . + `), + }) + require.NoError(t, err) + require.NoError(t, txn.Commit(ctx)) + + const datetimeQuery = ` + { + q(func: has(val)) { + val + } + }` + + txn = c.NewTxn() + resp, err := txn.Query(ctx, datetimeQuery) + require.NoError(t, err) + testutil.CompareJSON(t, `{ + "q": [ + { + "val": "0000-01-01T00:00:00Z" + } + ] + }`, string(resp.Json)) +} From 9fb934a1d9a5fa68c08012781885ca8b1d73050e Mon Sep 17 00:00:00 2001 From: Rahul Gurnani Date: Thu, 30 Jul 2020 13:23:05 +0530 Subject: [PATCH 031/151] fix(dgraph): Dgraph version picked from git tags on master (#5956) * Pick latest tag among all tags * Use a constant version number v99 with commit id on master * Address review comments Change dgraph version at master to 20.11 * Add comments * Prefix git commit with g --- dgraph/Makefile | 14 +++++++++++--- query/query.go | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dgraph/Makefile b/dgraph/Makefile index 7721e3870af..63df45ed762 100644 --- a/dgraph/Makefile +++ b/dgraph/Makefile @@ -19,10 +19,18 @@ BUILD ?= $(shell git rev-parse --short HEAD) BUILD_CODENAME = unnamed BUILD_DATE ?= $(shell git log -1 --format=%ci) BUILD_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD) -BUILD_VERSION ?= $(shell git describe --always --tags) -BUILD_TAGS ?= -GOPATH ?= $(shell go env GOPATH) +# Use the next build version on master branch +# NOTE: this needs to be updated with each new release +ifeq ($(BUILD_BRANCH),master) +# Version on master is of the format -g +BUILD_VERSION ?= 'v20.11.0-g'$(BUILD) +else +BUILD_VERSION ?= $(shell git describe --always --tags) +endif + +BUILD_TAGS ?= +GOPATH ?= $(shell go env GOPATH) MODIFIED = $(shell git diff-index --quiet HEAD || echo "-mod") export GO111MODULE := on diff --git a/query/query.go b/query/query.go index 81d52375a2d..82489eb4342 100644 --- a/query/query.go +++ b/query/query.go @@ -2639,7 +2639,7 @@ func (req *Request) ProcessQuery(ctx context.Context) (err error) { stop := x.SpanTimer(span, "query.ProcessQuery") defer stop() - // doneVars stores the processed variables. + // Vars stores the processed variables. req.Vars = make(map[string]varValue) loopStart := time.Now() queries := req.GqlQuery.Query From 8661bcc109f689db37947078b379988acc3b489d Mon Sep 17 00:00:00 2001 From: Joaquin Menchaca Date: Thu, 30 Jul 2020 10:03:51 -0700 Subject: [PATCH 032/151] fix to contrib prometheus where labelselector matching invalid dgraph svc port names (#6116) --- contrib/config/monitoring/prometheus/prometheus.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/config/monitoring/prometheus/prometheus.yaml b/contrib/config/monitoring/prometheus/prometheus.yaml index 46381eaa406..36a9e5e35f2 100644 --- a/contrib/config/monitoring/prometheus/prometheus.yaml +++ b/contrib/config/monitoring/prometheus/prometheus.yaml @@ -53,7 +53,7 @@ spec: matchLabels: monitor: alpha-dgraph-io endpoints: - - port: alpha-http + - port: http-alpha path: /debug/prometheus_metrics --- apiVersion: monitoring.coreos.com/v1 @@ -70,7 +70,7 @@ spec: matchLabels: monitor: zero.dgraph-io endpoints: - - port: zero-http + - port: http-zero path: /debug/prometheus_metrics --- apiVersion: monitoring.coreos.com/v1 From 117ac3c477535ca31684dfe821eb82824f69749e Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Gaur <12651351+abhimanyusinghgaur@users.noreply.github.com> Date: Thu, 30 Jul 2020 22:46:20 +0530 Subject: [PATCH 033/151] feat(GraphQL): Custom logic now supports DQL queries (#6115) Fixes GraphQL-600. This PR adds DQL query (previously known as GraphQL+-) support in GraphQL through the `@custom` directive. --- graphql/e2e/custom_logic/custom_logic_test.go | 169 ++++++++++++++++++ graphql/resolve/query.go | 57 +++++- graphql/resolve/resolver.go | 7 + graphql/schema/gqlschema.go | 3 +- graphql/schema/gqlschema_test.yml | 131 +++++++++++++- graphql/schema/rules.go | 62 ++++++- .../schemagen/output/authorization.graphql | 2 +- .../output/comments-and-descriptions.graphql | 2 +- .../schemagen/output/custom-mutation.graphql | 2 +- .../output/custom-nested-types.graphql | 2 +- .../output/custom-query-mixed-types.graphql | 2 +- .../custom-query-not-dgraph-type.graphql | 2 +- .../custom-query-with-dgraph-type.graphql | 2 +- .../schemagen/output/deprecated.graphql | 2 +- ...e-on-concrete-type-with-interfaces.graphql | 2 +- ...-reverse-directive-with-interfaces.graphql | 2 +- .../output/field-with-id-directive.graphql | 2 +- ...erse-predicate-in-dgraph-directive.graphql | 2 +- ...se-with-interface-having-directive.graphql | 2 +- .../output/hasInverse-with-interface.graphql | 2 +- ...Inverse-with-type-having-directive.graphql | 2 +- .../schemagen/output/hasInverse.graphql | 2 +- .../hasInverse_withSubscription.graphql | 2 +- .../ignore-unsupported-directive.graphql | 2 +- .../output/interface-with-dgraph-pred.graphql | 2 +- .../interface-with-id-directive.graphql | 2 +- .../output/interface-with-no-ids.graphql | 2 +- ...interfaces-with-types-and-password.graphql | 2 +- .../output/interfaces-with-types.graphql | 2 +- .../no-id-field-with-searchables.graphql | 2 +- .../schemagen/output/no-id-field.graphql | 2 +- .../schemagen/output/password-type.graphql | 2 +- .../output/searchables-references.graphql | 2 +- .../schemagen/output/searchables.graphql | 2 +- .../output/single-type-with-enum.graphql | 2 +- .../schemagen/output/single-type.graphql | 2 +- ...ype-implements-multiple-interfaces.graphql | 2 +- .../schemagen/output/type-reference.graphql | 2 +- .../type-with-arguments-on-field.graphql | 2 +- ...e-with-custom-field-on-dgraph-type.graphql | 2 +- ...-with-custom-fields-on-remote-type.graphql | 2 +- graphql/schema/wrappers.go | 31 +++- 42 files changed, 479 insertions(+), 51 deletions(-) diff --git a/graphql/e2e/custom_logic/custom_logic_test.go b/graphql/e2e/custom_logic/custom_logic_test.go index 08881031415..7ef0df114fc 100644 --- a/graphql/e2e/custom_logic/custom_logic_test.go +++ b/graphql/e2e/custom_logic/custom_logic_test.go @@ -34,6 +34,7 @@ import ( ) const ( + alphaGrpc = "localhost:9180" alphaURL = "http://localhost:8180/graphql" alphaAdminURL = "http://localhost:8180/admin" subscriptionEndpoint = "ws://localhost:8180/graphql" @@ -2627,3 +2628,171 @@ func TestRestCustomLogicInDeepNestedField(t *testing.T) { ] }`, string(result.Data)) } + +func TestCustomDQL(t *testing.T) { + dg, err := testutil.DgraphClient(alphaGrpc) + require.NoError(t, err) + testutil.DropAll(t, dg) + + schema := ` + type Tweets { + id: ID! + text: String! @search(by: [fulltext]) + user: User + timestamp: DateTime! @search + } + type User { + screen_name: String! @id + followers: Int @search + tweets: [Tweets] @hasInverse(field: user) + } + type UserTweetCount @remote { + screen_name: String + tweetCount: Int + } + + type Query { + getFirstUserByFollowerCount(count: Int!): User @custom(dql: """ + query getFirstUserByFollowerCount($count: int) { + getFirstUserByFollowerCount(func: eq(User.followers, $count), first: 1) { + screen_name: User.screen_name + followers: User.followers + } + } + """) + + dqlTweetsByAuthorFollowers: [Tweets] @custom(dql: """ + query { + var(func: type(Tweets)) @filter(anyoftext(Tweets.text, "DQL")) { + Tweets.user { + followers as User.followers + } + userFollowerCount as sum(val(followers)) + } + dqlTweetsByAuthorFollowers(func: uid(userFollowerCount), orderdesc: val(userFollowerCount)) { + id: uid + text: Tweets.text + timestamp: Tweets.timestamp + } + } + """) + + filteredTweetsByAuthorFollowers(search: String!): [Tweets] @custom(dql: """ + query t($search: string) { + var(func: type(Tweets)) @filter(anyoftext(Tweets.text, $search)) { + Tweets.user { + followers as User.followers + } + userFollowerCount as sum(val(followers)) + } + filteredTweetsByAuthorFollowers(func: uid(userFollowerCount), orderdesc: val(userFollowerCount)) { + id: uid + text: Tweets.text + timestamp: Tweets.timestamp + } + } + """) + + queryUserTweetCounts: [UserTweetCount] @custom(dql: """ + query { + queryUserTweetCounts(func: type(User)) { + screen_name: User.screen_name + tweetCount: count(User.tweets) + } + } + """) + } + ` + updateSchemaRequireNoGQLErrors(t, schema) + time.Sleep(2 * time.Second) + + params := &common.GraphQLParams{ + Query: ` + mutation { + addTweets(input: [ + { + text: "Hello DQL!" + user: { + screen_name: "abhimanyu" + followers: 5 + } + timestamp: "2020-07-29" + } + { + text: "Woah DQL works!" + user: { + screen_name: "pawan" + followers: 10 + } + timestamp: "2020-07-29" + } + { + text: "hmm, It worked." + user: { + screen_name: "abhimanyu" + followers: 5 + } + timestamp: "2020-07-30" + } + ]) { + numUids + } + }`, + } + + result := params.ExecuteAsPost(t, alphaURL) + common.RequireNoGQLErrors(t, result) + + params = &common.GraphQLParams{ + Query: ` + query { + getFirstUserByFollowerCount(count: 10) { + screen_name + followers + } + dqlTweetsByAuthorFollowers { + text + } + filteredTweetsByAuthorFollowers(search: "hello") { + text + } + queryUserTweetCounts { + screen_name + tweetCount + } + }`, + } + + result = params.ExecuteAsPost(t, alphaURL) + common.RequireNoGQLErrors(t, result) + + require.JSONEq(t, `{ + "getFirstUserByFollowerCount": { + "screen_name": "pawan", + "followers": 10 + }, + "dqlTweetsByAuthorFollowers": [ + { + "text": "Woah DQL works!" + }, + { + "text": "Hello DQL!" + } + ], + "filteredTweetsByAuthorFollowers": [ + { + "text": "Hello DQL!" + } + ], + "queryUserTweetCounts": [ + { + "screen_name": "abhimanyu", + "tweetCount": 2 + }, + { + "screen_name": "pawan", + "tweetCount": 1 + } + ] + }`, string(result.Data)) +} diff --git a/graphql/resolve/query.go b/graphql/resolve/query.go index 39b89cc3578..251d5dc69c4 100644 --- a/graphql/resolve/query.go +++ b/graphql/resolve/query.go @@ -19,6 +19,8 @@ package resolve import ( "context" "encoding/json" + "errors" + "strconv" "github.com/golang/glog" otrace "go.opencensus.io/trace" @@ -30,6 +32,8 @@ import ( "github.com/dgraph-io/dgraph/x" ) +var errNotScalar = errors.New("provided value is not a scalar, can't convert it to string") + // A QueryResolver can resolve a single query. type QueryResolver interface { Resolve(ctx context.Context, query schema.Query) *Resolved @@ -111,16 +115,36 @@ func (qr *queryResolver) rewriteAndExecute(ctx context.Context, query schema.Que } } - dgQuery, err := qr.queryRewriter.Rewrite(ctx, query) - if err != nil { - return emptyResult(schema.GQLWrapf(err, "couldn't rewrite query %s", - query.ResponseName())) + var qry string + vars := make(map[string]string) + + // DQL queries don't need any rewriting, as they are already in DQL form + if query.QueryType() == schema.DQLQuery { + qry = query.DQLQuery() + args := query.Arguments() + for k, v := range args { + // dgoapi.Request{}.Vars accepts only string values for variables, + // so need to convert all variable values to string + vStr, err := convertScalarToString(v) + if err != nil { + return emptyResult(schema.GQLWrapf(err, "couldn't convert argument %s to string", + k)) + } + // the keys in dgoapi.Request{}.Vars are assumed to be prefixed with $ + vars["$"+k] = vStr + } + } else { + dgQuery, err := qr.queryRewriter.Rewrite(ctx, query) + if err != nil { + return emptyResult(schema.GQLWrapf(err, "couldn't rewrite query %s", + query.ResponseName())) + } + qry = dgraph.AsString(dgQuery) } queryTimer := newtimer(ctx, &dgraphQueryDuration.OffsetDuration) queryTimer.Start() - resp, err := qr.executor.Execute(ctx, &dgoapi.Request{Query: dgraph.AsString(dgQuery), - ReadOnly: true}) + resp, err := qr.executor.Execute(ctx, &dgoapi.Request{Query: qry, Vars: vars, ReadOnly: true}) queryTimer.Stop() if err != nil { @@ -150,3 +174,24 @@ func resolveIntrospection(ctx context.Context, q schema.Query) *Resolved { Err: schema.AppendGQLErrs(err, err2), } } + +// converts scalar values received from GraphQL arguments to go string +// If it is a scalar only possible cases are: string, bool, int64, float64 and nil. +func convertScalarToString(val interface{}) (string, error) { + var str string + switch v := val.(type) { + case string: + str = v + case bool: + str = strconv.FormatBool(v) + case int64: + str = strconv.FormatInt(v, 10) + case float64: + str = strconv.FormatFloat(v, 'f', -1, 64) + case nil: + str = "" + default: + return "", errNotScalar + } + return str, nil +} diff --git a/graphql/resolve/resolver.go b/graphql/resolve/resolver.go index 32464c65622..e9cfb1d26e2 100644 --- a/graphql/resolve/resolver.go +++ b/graphql/resolve/resolver.go @@ -264,6 +264,13 @@ func (rf *resolverFactory) WithConventionResolvers( }) } + for _, q := range s.Queries(schema.DQLQuery) { + rf.WithQueryResolver(q, func(q schema.Query) QueryResolver { + // DQL queries don't need any QueryRewriter + return NewQueryResolver(nil, fns.Ex, StdQueryCompletion()) + }) + } + for _, m := range s.Mutations(schema.AddMutation) { rf.WithMutationResolver(m, func(m schema.Mutation) MutationResolver { return NewDgraphResolver(fns.Arw(), fns.Ex, StdMutationCompletion(m.Name())) diff --git a/graphql/schema/gqlschema.go b/graphql/schema/gqlschema.go index 48790002775..96817e8cad2 100644 --- a/graphql/schema/gqlschema.go +++ b/graphql/schema/gqlschema.go @@ -46,6 +46,7 @@ const ( SubscriptionDirective = "withSubscription" // custom directive args and fields + dqlArg = "dql" mode = "mode" BATCH = "BATCH" SINGLE = "SINGLE" @@ -121,7 +122,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/gqlschema_test.yml b/graphql/schema/gqlschema_test.yml index 10f4faaa451..300e9f4d529 100644 --- a/graphql/schema/gqlschema_test.yml +++ b/graphql/schema/gqlschema_test.yml @@ -854,12 +854,12 @@ invalid_schemas: getAuthor1(id: ID): Author! @custom(http: {url: "blah.com", method: "GET"}, extra: "random") } errlist: [ - {"message": "Type Query; Field getAuthor1: has 2 arguments for @custom directive, it should contain exactly 1 argument.", + {"message": "Type Query; Field getAuthor1: has 2 arguments for @custom directive, it should contain exactly one of `http` or `dql` arguments.", "locations":[{"line":7, "column":32}]}, {"message" : "Type Query; Field getAuthor1; url field inside @custom directive is invalid.", "locations" : [{"line":7, "column":52}]} ] - - name: "@custom directive without http argument" + - name: "@custom directive without http or dql argument" input: | type Author { id: ID! @@ -870,10 +870,102 @@ invalid_schemas: getAuthor1(id: ID): Author! @custom(https: {url: "blah.com", method: "GET"}) } errlist: [ - {"message": "Type Query; Field getAuthor1: http argument for @custom directive should not be empty.", + {"message": "Type Query; Field getAuthor1: one of `http` or `dql` arguments must be present for @custom directive.", "locations":[{"line":7, "column":32}]}, ] + - name: "@custom directive with both http and dql argument" + input: | + type Author { + id: ID! + name: String + } + + type Query { + getAuthor1(id: ID): Author! @custom(http: {url: "blah.com", method: "GET"}, + dql: "{me(func: uid(0x1))}") + } + errlist: [ + {"message": "Type Query; Field getAuthor1: has 2 arguments for @custom directive, it should contain exactly one of `http` or `dql` arguments.", + "locations":[{"line":7, "column":32}]}, + ] + + - + name: "@custom directive with dql on field" + input: | + type Author { + id: ID! + age: Int! + name: String! @custom(dql: """ + query { + me(func: uid(0x1)) { + uid + } + } + """) + } + errlist: [ + {"message": "Type Author; Field name: @custom directive with `dql` can be used only on + queries.", + "locations": [{"line": 4,"column": 25}]} + ] + + - + name: "@custom directive with dql on mutation" + input: | + type Mutation { + customMutation: String! @custom(dql: """ + query { + me(func: uid(0x1)) { + uid + } + } + """) + } + errlist: [ + {"message": "Type Mutation; Field customMutation: @custom directive with `dql` can be used only on queries.", + "locations": [{"line": 2,"column": 35}]} + ] + + - + name: "@custom directive with invalid dql argument type" + input: | + type Query { + query1: String! @custom(dql: 5) + } + errlist: [ + {"message": "Type Query; Field query1: dql argument for @custom directive must be of type String.", + "locations": [{"line": 2,"column": 27}]} + ] + + - + name: "@custom directive with empty dql argument value" + input: | + type Query { + query1: String! @custom(dql: " ") + } + errlist: [ + {"message": "Type Query; Field query1: dql argument for @custom directive must not be empty.", + "locations": [{"line": 2,"column": 27}]} + ] + + - + name: "@custom directive with dql having non scalar argument for query" + input: | + type Query { + query1(arg1: [String]): String! @custom(dql: """ + query { + me(func: uid(0x1)) { + uid + } + } + """) + } + errlist: [ + {"message": "Type Query; Field query1: Argument arg1: must be of a scalar type. @custom DQL queries accept only scalar arguments.", + "locations": [{"line": 2,"column": 43}]} + ] + - name: "@custom directive with wrong url" input: | @@ -2622,6 +2714,39 @@ valid_schemas: }) } + - + name: "@custom directive with correct dql" + input: | + type Tweets { + id: ID! + text: String! @search(by: [fulltext]) + user: User + timestamp: DateTime! @search + } + type User { + screen_name: String! @id + name: String + followers: Int @search + tweets: [Tweets] @hasInverse(field: user) + } + type Query { + tweetsByAuthorFollowers(search: String!): [Tweets] @custom(dql: """ + query t($search: string) { + var(func: type(Tweets)) @filter(anyoftext(Tweets.text, $search)) { + Tweets.user { + followers as User.followers + } + userFollowerCount as sum(val(followers)) + } + tweetsByAuthorFollowers(func: uid(userFollowerCount), orderdesc: val(userFollowerCount)) { + id: uid + text: Tweets.text + timestamp: Tweets.timestamp + } + } + """) + } + - name: "remote type can use other types which are dgraph types" input: | diff --git a/graphql/schema/rules.go b/graphql/schema/rules.go index 08cceba717a..7ff9273bb85 100644 --- a/graphql/schema/rules.go +++ b/graphql/schema/rules.go @@ -1185,13 +1185,67 @@ func customDirectiveValidation(sch *ast.Schema, errs = append(errs, gqlerror.ErrorPosf( dir.Position, "Type %s; Field %s: has %d arguments for @custom directive, "+ - "it should contain exactly 1 argument.", + "it should contain exactly one of `http` or `dql` arguments.", typ.Name, field.Name, l)) } - // 3. Validating http argument httpArg := dir.Arguments.ForName("http") - if httpArg == nil || httpArg.Value.String() == "" { + dqlArg := dir.Arguments.ForName(dqlArg) + + if httpArg == nil && dqlArg == nil { + errs = append(errs, gqlerror.ErrorPosf( + dir.Position, + "Type %s; Field %s: one of `http` or `dql` arguments must be present for @custom"+ + " directive.", + typ.Name, field.Name)) + return errs + } + + // 3.1 Validating dql argument + if dqlArg != nil { + if typ.Name != "Query" { + errs = append(errs, gqlerror.ErrorPosf( + dqlArg.Position, + "Type %s; Field %s: @custom directive with `dql` can be used only on queries.", + typ.Name, field.Name)) + } + if dqlArg.Value.Kind != ast.StringValue && dqlArg.Value.Kind != ast.BlockValue { + errs = append(errs, gqlerror.ErrorPosf( + dqlArg.Position, + "Type %s; Field %s: dql argument for @custom directive must be of type String.", + typ.Name, field.Name)) + } + if strings.TrimSpace(dqlArg.Value.Raw) == "" { + errs = append(errs, gqlerror.ErrorPosf( + dqlArg.Position, + "Type %s; Field %s: dql argument for @custom directive must not be empty.", + typ.Name, field.Name)) + } + // TODO: parse the DQL request here and validate it for errors. Not doing it now because the + // gql.Parse() method requires the variables to be present with the query, which can't be + // there at schema input time. Also check for following special conditions: + // * same query name as GraphQL + // * correct return type mapping + // * correct field aliases + // * correct argument names in comparison to GraphQL args, their types + for _, arg := range field.Arguments { + if arg.Type.NamedType == "" || !isScalar(arg.Type.Name()) { + errs = append(errs, gqlerror.ErrorPosf( + dqlArg.Position, + "Type %s; Field %s: Argument %s: must be of a scalar type. "+ + "@custom DQL queries accept only scalar arguments.", + typ.Name, field.Name, arg.Name)) + } + } + + // if there was dql, always return no matter we found errors or not, + // as rest of the validation is for http arg, and http won't be present together with dql + return errs + } + + // 3.2 Validating http argument + // if we reach here, it means that httpArg != nil + if httpArg.Value.String() == "" { errs = append(errs, gqlerror.ErrorPosf( dir.Position, "Type %s; Field %s: http argument for @custom directive should not be empty.", @@ -1201,7 +1255,7 @@ func customDirectiveValidation(sch *ast.Schema, if httpArg.Value.Kind != ast.ObjectValue { errs = append(errs, gqlerror.ErrorPosf( httpArg.Position, - "Type %s; Field %s: http argument for @custom directive ff type Object.", + "Type %s; Field %s: http argument for @custom directive should be of type Object.", typ.Name, field.Name)) } diff --git a/graphql/schema/testdata/schemagen/output/authorization.graphql b/graphql/schema/testdata/schemagen/output/authorization.graphql index 69939418ccd..5f941bbefbc 100644 --- a/graphql/schema/testdata/schemagen/output/authorization.graphql +++ b/graphql/schema/testdata/schemagen/output/authorization.graphql @@ -83,7 +83,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/comments-and-descriptions.graphql b/graphql/schema/testdata/schemagen/output/comments-and-descriptions.graphql index 83624dc4a6b..4a9e3243501 100755 --- a/graphql/schema/testdata/schemagen/output/comments-and-descriptions.graphql +++ b/graphql/schema/testdata/schemagen/output/comments-and-descriptions.graphql @@ -88,7 +88,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/custom-mutation.graphql b/graphql/schema/testdata/schemagen/output/custom-mutation.graphql index dd03fcc17eb..b5249a277d6 100644 --- a/graphql/schema/testdata/schemagen/output/custom-mutation.graphql +++ b/graphql/schema/testdata/schemagen/output/custom-mutation.graphql @@ -76,7 +76,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/custom-nested-types.graphql b/graphql/schema/testdata/schemagen/output/custom-nested-types.graphql index 8fc1a2ae8f7..6c0b0e44b8e 100755 --- a/graphql/schema/testdata/schemagen/output/custom-nested-types.graphql +++ b/graphql/schema/testdata/schemagen/output/custom-nested-types.graphql @@ -93,7 +93,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/custom-query-mixed-types.graphql b/graphql/schema/testdata/schemagen/output/custom-query-mixed-types.graphql index 8ed1dbe3052..d784ac84eb6 100644 --- a/graphql/schema/testdata/schemagen/output/custom-query-mixed-types.graphql +++ b/graphql/schema/testdata/schemagen/output/custom-query-mixed-types.graphql @@ -77,7 +77,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/custom-query-not-dgraph-type.graphql b/graphql/schema/testdata/schemagen/output/custom-query-not-dgraph-type.graphql index ea2d63f4f3c..ec26de408d5 100755 --- a/graphql/schema/testdata/schemagen/output/custom-query-not-dgraph-type.graphql +++ b/graphql/schema/testdata/schemagen/output/custom-query-not-dgraph-type.graphql @@ -76,7 +76,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/custom-query-with-dgraph-type.graphql b/graphql/schema/testdata/schemagen/output/custom-query-with-dgraph-type.graphql index 81a13f4a00d..0e49ab0a1ef 100755 --- a/graphql/schema/testdata/schemagen/output/custom-query-with-dgraph-type.graphql +++ b/graphql/schema/testdata/schemagen/output/custom-query-with-dgraph-type.graphql @@ -72,7 +72,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/deprecated.graphql b/graphql/schema/testdata/schemagen/output/deprecated.graphql index f5d9d047c84..294b1d44ee4 100755 --- a/graphql/schema/testdata/schemagen/output/deprecated.graphql +++ b/graphql/schema/testdata/schemagen/output/deprecated.graphql @@ -72,7 +72,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-on-concrete-type-with-interfaces.graphql b/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-on-concrete-type-with-interfaces.graphql index a27c9b2b9ab..2ee483afb16 100755 --- a/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-on-concrete-type-with-interfaces.graphql +++ b/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-on-concrete-type-with-interfaces.graphql @@ -86,7 +86,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-with-interfaces.graphql b/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-with-interfaces.graphql index 7d00346909a..dba325dba82 100755 --- a/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-with-interfaces.graphql +++ b/graphql/schema/testdata/schemagen/output/dgraph-reverse-directive-with-interfaces.graphql @@ -86,7 +86,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/field-with-id-directive.graphql b/graphql/schema/testdata/schemagen/output/field-with-id-directive.graphql index ec9f4131ba4..5f96f731c09 100755 --- a/graphql/schema/testdata/schemagen/output/field-with-id-directive.graphql +++ b/graphql/schema/testdata/schemagen/output/field-with-id-directive.graphql @@ -85,7 +85,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/field-with-reverse-predicate-in-dgraph-directive.graphql b/graphql/schema/testdata/schemagen/output/field-with-reverse-predicate-in-dgraph-directive.graphql index 8170adc7bf9..09e202e60b8 100755 --- a/graphql/schema/testdata/schemagen/output/field-with-reverse-predicate-in-dgraph-directive.graphql +++ b/graphql/schema/testdata/schemagen/output/field-with-reverse-predicate-in-dgraph-directive.graphql @@ -79,7 +79,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/hasInverse-with-interface-having-directive.graphql b/graphql/schema/testdata/schemagen/output/hasInverse-with-interface-having-directive.graphql index 3af0aa053b2..11668bcbed2 100755 --- a/graphql/schema/testdata/schemagen/output/hasInverse-with-interface-having-directive.graphql +++ b/graphql/schema/testdata/schemagen/output/hasInverse-with-interface-having-directive.graphql @@ -96,7 +96,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/hasInverse-with-interface.graphql b/graphql/schema/testdata/schemagen/output/hasInverse-with-interface.graphql index 9cd0c4e33a4..a9881d58e75 100755 --- a/graphql/schema/testdata/schemagen/output/hasInverse-with-interface.graphql +++ b/graphql/schema/testdata/schemagen/output/hasInverse-with-interface.graphql @@ -97,7 +97,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/hasInverse-with-type-having-directive.graphql b/graphql/schema/testdata/schemagen/output/hasInverse-with-type-having-directive.graphql index 3af0aa053b2..11668bcbed2 100755 --- a/graphql/schema/testdata/schemagen/output/hasInverse-with-type-having-directive.graphql +++ b/graphql/schema/testdata/schemagen/output/hasInverse-with-type-having-directive.graphql @@ -96,7 +96,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/hasInverse.graphql b/graphql/schema/testdata/schemagen/output/hasInverse.graphql index 16eb8798bcb..0dd5f4976dc 100755 --- a/graphql/schema/testdata/schemagen/output/hasInverse.graphql +++ b/graphql/schema/testdata/schemagen/output/hasInverse.graphql @@ -77,7 +77,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/hasInverse_withSubscription.graphql b/graphql/schema/testdata/schemagen/output/hasInverse_withSubscription.graphql index 83d833fc752..5d69cd2f8bd 100755 --- a/graphql/schema/testdata/schemagen/output/hasInverse_withSubscription.graphql +++ b/graphql/schema/testdata/schemagen/output/hasInverse_withSubscription.graphql @@ -77,7 +77,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/ignore-unsupported-directive.graphql b/graphql/schema/testdata/schemagen/output/ignore-unsupported-directive.graphql index 02daf1fec8f..2f6bf933dd7 100755 --- a/graphql/schema/testdata/schemagen/output/ignore-unsupported-directive.graphql +++ b/graphql/schema/testdata/schemagen/output/ignore-unsupported-directive.graphql @@ -79,7 +79,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/interface-with-dgraph-pred.graphql b/graphql/schema/testdata/schemagen/output/interface-with-dgraph-pred.graphql index 95d585e52d4..1f072153287 100644 --- a/graphql/schema/testdata/schemagen/output/interface-with-dgraph-pred.graphql +++ b/graphql/schema/testdata/schemagen/output/interface-with-dgraph-pred.graphql @@ -86,7 +86,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/interface-with-id-directive.graphql b/graphql/schema/testdata/schemagen/output/interface-with-id-directive.graphql index 11838627d26..c733ab21377 100755 --- a/graphql/schema/testdata/schemagen/output/interface-with-id-directive.graphql +++ b/graphql/schema/testdata/schemagen/output/interface-with-id-directive.graphql @@ -81,7 +81,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/interface-with-no-ids.graphql b/graphql/schema/testdata/schemagen/output/interface-with-no-ids.graphql index 3521e43a7cf..767eb94b28e 100755 --- a/graphql/schema/testdata/schemagen/output/interface-with-no-ids.graphql +++ b/graphql/schema/testdata/schemagen/output/interface-with-no-ids.graphql @@ -81,7 +81,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/interfaces-with-types-and-password.graphql b/graphql/schema/testdata/schemagen/output/interfaces-with-types-and-password.graphql index e1d292684c4..3b6bc365898 100755 --- a/graphql/schema/testdata/schemagen/output/interfaces-with-types-and-password.graphql +++ b/graphql/schema/testdata/schemagen/output/interfaces-with-types-and-password.graphql @@ -103,7 +103,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/interfaces-with-types.graphql b/graphql/schema/testdata/schemagen/output/interfaces-with-types.graphql index 8cfadba62ca..d8590e15d1f 100755 --- a/graphql/schema/testdata/schemagen/output/interfaces-with-types.graphql +++ b/graphql/schema/testdata/schemagen/output/interfaces-with-types.graphql @@ -103,7 +103,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/no-id-field-with-searchables.graphql b/graphql/schema/testdata/schemagen/output/no-id-field-with-searchables.graphql index bc4f0b8ce1e..fafb1345b9d 100755 --- a/graphql/schema/testdata/schemagen/output/no-id-field-with-searchables.graphql +++ b/graphql/schema/testdata/schemagen/output/no-id-field-with-searchables.graphql @@ -71,7 +71,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/no-id-field.graphql b/graphql/schema/testdata/schemagen/output/no-id-field.graphql index fe3d9a970f4..d5d9dd6d3ca 100755 --- a/graphql/schema/testdata/schemagen/output/no-id-field.graphql +++ b/graphql/schema/testdata/schemagen/output/no-id-field.graphql @@ -83,7 +83,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/password-type.graphql b/graphql/schema/testdata/schemagen/output/password-type.graphql index 6ae6f10cc06..398b6c57f2e 100755 --- a/graphql/schema/testdata/schemagen/output/password-type.graphql +++ b/graphql/schema/testdata/schemagen/output/password-type.graphql @@ -72,7 +72,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/searchables-references.graphql b/graphql/schema/testdata/schemagen/output/searchables-references.graphql index 1ae5cbf3c4d..9e37ee187e2 100755 --- a/graphql/schema/testdata/schemagen/output/searchables-references.graphql +++ b/graphql/schema/testdata/schemagen/output/searchables-references.graphql @@ -81,7 +81,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/searchables.graphql b/graphql/schema/testdata/schemagen/output/searchables.graphql index 0a57337e274..f2c54ad1f9f 100755 --- a/graphql/schema/testdata/schemagen/output/searchables.graphql +++ b/graphql/schema/testdata/schemagen/output/searchables.graphql @@ -98,7 +98,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/single-type-with-enum.graphql b/graphql/schema/testdata/schemagen/output/single-type-with-enum.graphql index 24c76f82278..da1e82d6204 100755 --- a/graphql/schema/testdata/schemagen/output/single-type-with-enum.graphql +++ b/graphql/schema/testdata/schemagen/output/single-type-with-enum.graphql @@ -80,7 +80,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/single-type.graphql b/graphql/schema/testdata/schemagen/output/single-type.graphql index 1518af2d4aa..8f5b0b99672 100755 --- a/graphql/schema/testdata/schemagen/output/single-type.graphql +++ b/graphql/schema/testdata/schemagen/output/single-type.graphql @@ -74,7 +74,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/type-implements-multiple-interfaces.graphql b/graphql/schema/testdata/schemagen/output/type-implements-multiple-interfaces.graphql index 980bff37168..09a87937b63 100755 --- a/graphql/schema/testdata/schemagen/output/type-implements-multiple-interfaces.graphql +++ b/graphql/schema/testdata/schemagen/output/type-implements-multiple-interfaces.graphql @@ -87,7 +87,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/type-reference.graphql b/graphql/schema/testdata/schemagen/output/type-reference.graphql index 1e06b5f26ba..1c86ef1119a 100755 --- a/graphql/schema/testdata/schemagen/output/type-reference.graphql +++ b/graphql/schema/testdata/schemagen/output/type-reference.graphql @@ -79,7 +79,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/type-with-arguments-on-field.graphql b/graphql/schema/testdata/schemagen/output/type-with-arguments-on-field.graphql index 4af50f66281..b0ae2c19651 100644 --- a/graphql/schema/testdata/schemagen/output/type-with-arguments-on-field.graphql +++ b/graphql/schema/testdata/schemagen/output/type-with-arguments-on-field.graphql @@ -80,7 +80,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/type-with-custom-field-on-dgraph-type.graphql b/graphql/schema/testdata/schemagen/output/type-with-custom-field-on-dgraph-type.graphql index a3ca559faae..57d59e1bd39 100644 --- a/graphql/schema/testdata/schemagen/output/type-with-custom-field-on-dgraph-type.graphql +++ b/graphql/schema/testdata/schemagen/output/type-with-custom-field-on-dgraph-type.graphql @@ -79,7 +79,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/testdata/schemagen/output/type-with-custom-fields-on-remote-type.graphql b/graphql/schema/testdata/schemagen/output/type-with-custom-fields-on-remote-type.graphql index 0d87fde3e01..d0c4b6aa6b3 100644 --- a/graphql/schema/testdata/schemagen/output/type-with-custom-fields-on-remote-type.graphql +++ b/graphql/schema/testdata/schemagen/output/type-with-custom-fields-on-remote-type.graphql @@ -79,7 +79,7 @@ directive @auth( add: AuthRule, update: AuthRule, delete:AuthRule) on OBJECT -directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @custom(http: CustomHTTP, dql: String) on FIELD_DEFINITION directive @remote on OBJECT | INTERFACE directive @cascade on FIELD diff --git a/graphql/schema/wrappers.go b/graphql/schema/wrappers.go index a1325d43c00..9cecae14236 100644 --- a/graphql/schema/wrappers.go +++ b/graphql/schema/wrappers.go @@ -80,6 +80,7 @@ const ( SchemaQuery QueryType = "schema" PasswordQuery QueryType = "checkPassword" HTTPQuery QueryType = "http" + DQLQuery QueryType = "dql" NotSupportedQuery QueryType = "notsupported" AddMutation MutationType = "add" UpdateMutation MutationType = "update" @@ -115,6 +116,7 @@ type Field interface { Name() string Alias() string ResponseName() string + Arguments() map[string]interface{} ArgValue(name string) interface{} IsArgListType(name string) bool IDArgValue() (*string, uint64, error) @@ -152,6 +154,7 @@ type Mutation interface { type Query interface { Field QueryType() QueryType + DQLQuery() string Rename(newName string) AuthFor(typ Type, jwtVars map[string]interface{}) Query } @@ -625,7 +628,7 @@ func (f *field) IsAuthQuery() bool { return f.field.Arguments.ForName("dgraph.uid") != nil } -func (f *field) ArgValue(name string) interface{} { +func (f *field) Arguments() map[string]interface{} { if f.arguments == nil { // Compute and cache the map first time this function is called for a field. f.arguments = f.field.ArgumentMap(f.op.vars) @@ -637,7 +640,11 @@ func (f *field) ArgValue(name string) interface{} { f.arguments = x.DeepCopyJsonMap(f.arguments) } } - return f.arguments[name] + return f.arguments +} + +func (f *field) ArgValue(name string) interface{} { + return f.Arguments()[name] } func (f *field) IsArgListType(name string) bool { @@ -1042,6 +1049,10 @@ func (q *query) SetArgTo(arg string, val interface{}) { (*field)(q).SetArgTo(arg, val) } +func (q *query) Arguments() map[string]interface{} { + return (*field)(q).Arguments() +} + func (q *query) ArgValue(name string) interface{} { return (*field)(q).ArgValue(name) } @@ -1106,9 +1117,21 @@ func (q *query) QueryType() QueryType { return queryType(q.Name(), q.op.inSchema.customDirectives["Query"][q.Name()]) } +func (q *query) DQLQuery() string { + if customDir := q.op.inSchema.customDirectives["Query"][q.Name()]; customDir != nil { + if dqlArgument := customDir.Arguments.ForName(dqlArg); dqlArgument != nil { + return dqlArgument.Value.Raw + } + } + return "" +} + func queryType(name string, custom *ast.Directive) QueryType { switch { case custom != nil: + if custom.Arguments.ForName(dqlArg) != nil { + return DQLQuery + } return HTTPQuery case strings.HasPrefix(name, "get"): return GetQuery @@ -1159,6 +1182,10 @@ func (m *mutation) IsArgListType(name string) bool { return (*field)(m).IsArgListType(name) } +func (m *mutation) Arguments() map[string]interface{} { + return (*field)(m).Arguments() +} + func (m *mutation) ArgValue(name string) interface{} { return (*field)(m).ArgValue(name) } From 5e39c8aa8b4091d7fffcf8b2f18a98d712544539 Mon Sep 17 00:00:00 2001 From: Manish R Jain Date: Thu, 30 Jul 2020 15:27:07 -0700 Subject: [PATCH 034/151] fix(Debug): Do not calculate min max versions upfront (#6031) Calculating min and max versions upfront requires iterating over the entire Badger DB. For larger DBs, this can take up significant amount of time and compute power. And it is not useful outside of Jepsen testing which calculates min-max anyway. --- dgraph/cmd/debug/run.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dgraph/cmd/debug/run.go b/dgraph/cmd/debug/run.go index 5da33758d5e..f86f22dd3f9 100644 --- a/dgraph/cmd/debug/run.go +++ b/dgraph/cmd/debug/run.go @@ -797,8 +797,9 @@ func run() { return } - min, max := getMinMax(db, opt.readTs) - fmt.Printf("Min commit: %d. Max commit: %d, w.r.t %d\n", min, max, opt.readTs) + // Commenting the following out because on large Badger DBs, this can take a LONG time. + // min, max := getMinMax(db, opt.readTs) + // fmt.Printf("Min commit: %d. Max commit: %d, w.r.t %d\n", min, max, opt.readTs) switch { case len(opt.keyLookup) > 0: From 198f68057a38f2bff488da4b359d761dbc1a0953 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Gaur <12651351+abhimanyusinghgaur@users.noreply.github.com> Date: Fri, 31 Jul 2020 16:29:31 +0530 Subject: [PATCH 035/151] fix(GraphQL): fixes flaky TestCustomDQL (#6120) The order in which the query responses were returned, was not fixed earlier, so the test was flaky. Fixed the query to return the responses in sorted order. --- graphql/e2e/custom_logic/custom_logic_test.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/graphql/e2e/custom_logic/custom_logic_test.go b/graphql/e2e/custom_logic/custom_logic_test.go index 7ef0df114fc..b70c44f9a2d 100644 --- a/graphql/e2e/custom_logic/custom_logic_test.go +++ b/graphql/e2e/custom_logic/custom_logic_test.go @@ -2695,9 +2695,12 @@ func TestCustomDQL(t *testing.T) { queryUserTweetCounts: [UserTweetCount] @custom(dql: """ query { - queryUserTweetCounts(func: type(User)) { + var(func: type(User)) { + tc as count(User.tweets) + } + queryUserTweetCounts(func: uid(tc), orderdesc: val(tc)) { screen_name: User.screen_name - tweetCount: count(User.tweets) + tweetCount: val(tc) } } """) From b8c83e5c44a644c00efba27857b0c7c69be7f32e Mon Sep 17 00:00:00 2001 From: Tejas Dinkar Date: Fri, 31 Jul 2020 16:41:35 +0530 Subject: [PATCH 036/151] feat: Live Loader Now Supports Slash GraphQL (#6117) Live Loader can now support Slash GraphQL Here is an example: ``` ./dgraph live --slash_grpc_endpoint=defiant-curve-2926.grpc.us-east-1.aws.thegaas.com:443 -f /path/to/file.json.gz -t api-token ``` Why introduce a new flag, `--slash_grpc_endpoint`? * Connections to zero didn't support TLS, so we'd need a new flag to indicate this * There was no way to start TLS, but use the system CA pool (--tls_ca_cert had to be a valid path). This is not needed for public auth * Passing in the --alpha --zero and --tls_server_name with the same value felt clunky * In Slash GraphQL, the GRPC authentication is passed in via `Authentication` metadata to all endpoints, as opposed to only passing in `X-Dgraph-AuthToken` to alter alone --- dgraph/cmd/live/run.go | 35 ++++++++++++++++++++++++++++++----- x/tls_helper.go | 18 ++++++++++++++++++ x/x.go | 38 ++++++++++++++++++++++++++++++++++---- 3 files changed, 82 insertions(+), 9 deletions(-) diff --git a/dgraph/cmd/live/run.go b/dgraph/cmd/live/run.go index 73e9d01e6a4..76d5ee0d06a 100644 --- a/dgraph/cmd/live/run.go +++ b/dgraph/cmd/live/run.go @@ -20,6 +20,7 @@ import ( "bufio" "compress/gzip" "context" + "crypto/tls" "encoding/json" "fmt" "io" @@ -35,6 +36,7 @@ import ( "sync" "time" + "google.golang.org/grpc" "google.golang.org/grpc/metadata" "github.com/dgraph-io/badger/v2" @@ -51,6 +53,7 @@ import ( "github.com/golang/glog" "github.com/pkg/errors" "github.com/spf13/cobra" + "github.com/spf13/viper" ) type options struct { @@ -139,7 +142,10 @@ func init() { "Number of N-Quads to send as part of a mutation.") flag.StringP("xidmap", "x", "", "Directory to store xid to uid mapping") flag.StringP("auth_token", "t", "", - "The auth token passed to the server for Alter operation of the schema file") + "The auth token passed to the server for Alter operation of the schema file. If used with --slash_grpc_endpoint, then this "+ + "should be set to the API token issued by Slash GraphQL") + flag.String("slash_grpc_endpoint", "", "Path to Slash GraphQL GRPC endpoint. If --slash_grpc_endpoint is set, "+ + "all other TLS options and connection options will be ignored") flag.BoolP("use_compression", "C", false, "Enable compression on connection to alpha server") flag.Bool("new_uids", false, @@ -363,7 +369,7 @@ func (l *loader) processLoadFile(ctx context.Context, rd *bufio.Reader, ck chunk return nil } -func setup(opts batchMutationOptions, dc *dgo.Dgraph) *loader { +func setup(opts batchMutationOptions, dc *dgo.Dgraph, conf *viper.Viper) *loader { var db *badger.DB if len(opt.clientDir) > 0 { x.Check(os.MkdirAll(opt.clientDir, 0700)) @@ -379,8 +385,20 @@ func setup(opts batchMutationOptions, dc *dgo.Dgraph) *loader { } + dialOpts := []grpc.DialOption{} + if conf.GetString("slash_grpc_endpoint") != "" && conf.IsSet("auth_token") { + dialOpts = append(dialOpts, x.WithAuthorizationCredentials(conf.GetString("auth_token"))) + } + + var tlsConfig *tls.Config = nil + if conf.GetString("slash_grpc_endpoint") != "" { + var tlsErr error + tlsConfig, tlsErr = x.SlashTLSConfig(conf.GetString("slash_grpc_endpoint")) + x.Checkf(tlsErr, "Unable to generate TLS Cert Pool") + } + // compression with zero server actually makes things worse - connzero, err := x.SetupConnection(opt.zero, nil, false) + connzero, err := x.SetupConnection(opt.zero, tlsConfig, false, dialOpts...) x.Checkf(err, "Unable to connect to zero, Is it running at %s?", opt.zero) alloc := xidmap.New(connzero, db) @@ -405,13 +423,20 @@ func setup(opts batchMutationOptions, dc *dgo.Dgraph) *loader { } func run() error { + var zero string + if Live.Conf.GetString("slash_grpc_endpoint") != "" { + zero = Live.Conf.GetString("slash_grpc_endpoint") + } else { + zero = Live.Conf.GetString("zero") + } + var err error x.PrintVersion() opt = options{ dataFiles: Live.Conf.GetString("files"), dataFormat: Live.Conf.GetString("format"), schemaFile: Live.Conf.GetString("schema"), - zero: Live.Conf.GetString("zero"), + zero: zero, concurrent: Live.Conf.GetInt("conc"), batchSize: Live.Conf.GetInt("batch"), clientDir: Live.Conf.GetString("xidmap"), @@ -445,7 +470,7 @@ func run() error { dg, closeFunc := x.GetDgraphClient(Live.Conf, true) defer closeFunc() - l := setup(bmOpts, dg) + l := setup(bmOpts, dg, Live.Conf) defer l.zeroconn.Close() if len(opt.schemaFile) > 0 { diff --git a/x/tls_helper.go b/x/tls_helper.go index b0586c14141..1f216ca0853 100644 --- a/x/tls_helper.go +++ b/x/tls_helper.go @@ -72,8 +72,26 @@ func LoadServerTLSConfig(v *viper.Viper, tlsCertFile string, tlsKeyFile string) return GenerateServerTLSConfig(&conf) } +// SlashTLSConfig returns the TLS config appropriate for SlashGraphQL +// This assumes that endpoint is not empty, and in the format "domain.grpc.cloud.dg.io:443" +func SlashTLSConfig(endpoint string) (*tls.Config, error) { + pool, err := generateCertPool("", true) + if err != nil { + return nil, err + } + hostWithoutPort := strings.Split(endpoint, ":")[0] + return &tls.Config{ + RootCAs: pool, + ServerName: hostWithoutPort, + }, nil +} + // LoadClientTLSConfig loads the TLS config into the client with the given parameters. func LoadClientTLSConfig(v *viper.Viper) (*tls.Config, error) { + if v.GetString("slash_grpc_endpoint") != "" { + return SlashTLSConfig(v.GetString("slash_grpc_endpoint")) + } + // When the --tls_cacert option is pecified, the connection will be set up using TLS instead of // plaintext. However the client cert files are optional, depending on whether the server // requires a client certificate. diff --git a/x/x.go b/x/x.go index be09c8f32a2..53db9638dee 100644 --- a/x/x.go +++ b/x/x.go @@ -740,7 +740,7 @@ func DivideAndRule(num int) (numGo, width int) { } // SetupConnection starts a secure gRPC connection to the given host. -func SetupConnection(host string, tlsCfg *tls.Config, useGz bool) (*grpc.ClientConn, error) { +func SetupConnection(host string, tlsCfg *tls.Config, useGz bool, dialOpts ...grpc.DialOption) (*grpc.ClientConn, error) { callOpts := append([]grpc.CallOption{}, grpc.MaxCallRecvMsgSize(GrpcMaxSize), grpc.MaxCallSendMsgSize(GrpcMaxSize)) @@ -750,7 +750,7 @@ func SetupConnection(host string, tlsCfg *tls.Config, useGz bool) (*grpc.ClientC callOpts = append(callOpts, grpc.UseCompressor(gzip.Name)) } - dialOpts := append([]grpc.DialOption{}, + dialOpts = append(dialOpts, grpc.WithStatsHandler(&ocgrpc.ClientHandler{}), grpc.WithDefaultCallOptions(callOpts...), grpc.WithBlock()) @@ -815,13 +815,38 @@ type CredOpt struct { PasswordOpt string } +type authorizationCredentials struct { + token string +} + +func (a *authorizationCredentials) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) { + return map[string]string{"Authorization": a.token}, nil +} + +func (a *authorizationCredentials) RequireTransportSecurity() bool { + return true +} + +// WithAuthorizationCredentials adds Authorization: to every GRPC request +// This is mostly used by Slash GraphQL to authenticate requests +func WithAuthorizationCredentials(authToken string) grpc.DialOption { + return grpc.WithPerRPCCredentials(&authorizationCredentials{authToken}) +} + // GetDgraphClient creates a Dgraph client based on the following options in the configuration: +// --slash_grpc_endpoint specifies the grpc endpoint for slash. It takes precedence over --alpha and TLS // --alpha specifies a comma separated list of endpoints to connect to // --tls_cacert, --tls_cert, --tls_key etc specify the TLS configuration of the connection // --retries specifies how many times we should retry the connection to each endpoint upon failures // --user and --password specify the credentials we should use to login with the server func GetDgraphClient(conf *viper.Viper, login bool) (*dgo.Dgraph, CloseFunc) { - alphas := conf.GetString("alpha") + var alphas string + if conf.GetString("slash_grpc_endpoint") != "" { + alphas = conf.GetString("slash_grpc_endpoint") + } else { + alphas = conf.GetString("alpha") + } + if len(alphas) == 0 { glog.Fatalf("The --alpha option must be set in order to connect to Dgraph") } @@ -842,10 +867,15 @@ func GetDgraphClient(conf *viper.Viper, login bool) (*dgo.Dgraph, CloseFunc) { } } + dialOpts := []grpc.DialOption{} + if conf.GetString("slash_grpc_endpoint") != "" && conf.IsSet("auth_token") { + dialOpts = append(dialOpts, WithAuthorizationCredentials(conf.GetString("auth_token"))) + } + for _, d := range ds { var conn *grpc.ClientConn for i := 0; i < retries; i++ { - conn, err = SetupConnection(d, tlsCfg, false) + conn, err = SetupConnection(d, tlsCfg, false, dialOpts...) if err == nil { break } From 2a3b85c9cc9bf6bcb62564bb6bf12669967ed7da Mon Sep 17 00:00:00 2001 From: Martin Martinez Rivera Date: Mon, 3 Aug 2020 09:12:54 -0700 Subject: [PATCH 037/151] fix(dgraph): Fix out of order issues with split keys in bulk loader. (#6083) Split keys for indexes can cause out-of-order issues due to the variable length of the term inside the key. To fix the issue, the split keys are written to a temporary DB first (using the writebatch to avoid the out of order issues) and then copied to the main p directory. Related to DGRAPH-1897 --- dgraph/cmd/bulk/count_index.go | 10 ++- dgraph/cmd/bulk/loader.go | 6 +- dgraph/cmd/bulk/reduce.go | 143 +++++++++++++++++++++++++++++---- 3 files changed, 137 insertions(+), 22 deletions(-) diff --git a/dgraph/cmd/bulk/count_index.go b/dgraph/cmd/bulk/count_index.go index b09617b4206..51635c6a6cf 100644 --- a/dgraph/cmd/bulk/count_index.go +++ b/dgraph/cmd/bulk/count_index.go @@ -40,10 +40,12 @@ type current struct { type countIndexer struct { *reducer - writer *badger.StreamWriter - cur current - counts map[int][]uint64 - wg sync.WaitGroup + writer *badger.StreamWriter + splitWriter *badger.WriteBatch + tmpDb *badger.DB + cur current + counts map[int][]uint64 + wg sync.WaitGroup } // addUid adds the uid from rawKey to a count index if a count index is diff --git a/dgraph/cmd/bulk/loader.go b/dgraph/cmd/bulk/loader.go index 3e0a8cc6485..7c44e23aeeb 100644 --- a/dgraph/cmd/bulk/loader.go +++ b/dgraph/cmd/bulk/loader.go @@ -88,7 +88,8 @@ type state struct { readerChunkCh chan *bytes.Buffer mapFileId uint32 // Used atomically to name the output files of the mappers. dbs []*badger.DB - writeTs uint64 // All badger writes use this timestamp + tmpDbs []*badger.DB // Temporary DB to write the split lists to avoid ordering issues. + writeTs uint64 // All badger writes use this timestamp } type loader struct { @@ -343,5 +344,8 @@ func (ld *loader) cleanup() { for _, db := range ld.dbs { x.Check(db.Close()) } + for _, db := range ld.tmpDbs { + x.Check(db.Close()) + } ld.prog.endSummary() } diff --git a/dgraph/cmd/bulk/reduce.go b/dgraph/cmd/bulk/reduce.go index 19085e38dcc..880f3242699 100644 --- a/dgraph/cmd/bulk/reduce.go +++ b/dgraph/cmd/bulk/reduce.go @@ -23,7 +23,9 @@ import ( "encoding/binary" "fmt" "io" + "io/ioutil" "log" + "math" "os" "path/filepath" "runtime" @@ -51,6 +53,7 @@ type reducer struct { } const batchSize = 10000 +const maxSplitBatchLen = 1000 const batchAlloc = batchSize * 11 / 10 func (r *reducer) run() error { @@ -63,7 +66,7 @@ func (r *reducer) run() error { if err := thr.Do(); err != nil { return err } - go func(shardId int, db *badger.DB) { + go func(shardId int, db *badger.DB, tmpDb *badger.DB) { defer thr.Done(nil) mapFiles := filenamesInTree(dirs[shardId]) @@ -77,8 +80,15 @@ func (r *reducer) run() error { writer := db.NewStreamWriter() x.Check(writer.Prepare()) - - ci := &countIndexer{reducer: r, writer: writer} + // Split lists are written to a separate DB first to avoid ordering issues. + splitWriter := tmpDb.NewManagedWriteBatch() + + ci := &countIndexer{ + reducer: r, + writer: writer, + splitWriter: splitWriter, + tmpDb: tmpDb, + } sort.Slice(partitionKeys, func(i, j int) bool { return bytes.Compare(partitionKeys[i], partitionKeys[j]) < 0 }) @@ -91,17 +101,21 @@ func (r *reducer) run() error { ci.wait() x.Check(writer.Flush()) + + // Write split lists back to the main DB. + r.writeSplitLists(db, tmpDb) + for _, itr := range mapItrs { if err := itr.Close(); err != nil { fmt.Printf("Error while closing iterator: %v", err) } } - }(i, r.createBadger(i)) + }(i, r.createBadger(i), r.createTmpBadger()) } return thr.Finish() } -func (r *reducer) createBadger(i int) *badger.DB { +func (r *reducer) createBadgerInternal(dir string, compression bool) *badger.DB { if r.opt.EncryptionKey != nil { // Need to set zero addr in WorkerConfig before checking the license. x.WorkerConfig.ZeroAddr = []string{r.opt.ZeroAddr} @@ -114,25 +128,43 @@ func (r *reducer) createBadger(i int) *badger.DB { } } - opt := badger.DefaultOptions(r.opt.shardOutputDirs[i]).WithSyncWrites(false). + opt := badger.DefaultOptions(dir).WithSyncWrites(false). WithTableLoadingMode(bo.MemoryMap).WithValueThreshold(1 << 10 /* 1 KB */). WithLogger(nil).WithMaxCacheSize(1 << 20). WithEncryptionKey(r.opt.EncryptionKey).WithCompression(bo.None) // Overwrite badger options based on the options provided by the user. - r.setBadgerOptions(&opt) + r.setBadgerOptions(&opt, compression) db, err := badger.OpenManaged(opt) x.Check(err) // Zero out the key from memory. opt.EncryptionKey = nil + return db +} +func (r *reducer) createBadger(i int) *badger.DB { + db := r.createBadgerInternal(r.opt.shardOutputDirs[i], true) r.dbs = append(r.dbs, db) return db } -func (r *reducer) setBadgerOptions(opt *badger.Options) { +func (r *reducer) createTmpBadger() *badger.DB { + tmpDir, err := ioutil.TempDir(r.opt.TmpDir, "split") + x.Check(err) + // Do not enable compression in temporary badger to improve performance. + db := r.createBadgerInternal(tmpDir, false) + r.tmpDbs = append(r.tmpDbs, db) + return db +} + +func (r *reducer) setBadgerOptions(opt *badger.Options, compression bool) { + if !compression { + opt.Compression = bo.None + opt.ZSTDCompressionLevel = 0 + return + } // Set the compression level. opt.ZSTDCompressionLevel = r.state.opt.BadgerCompressionLevel if r.state.opt.BadgerCompressionLevel < 1 { @@ -281,6 +313,7 @@ type encodeRequest struct { countKeys []*countIndexEntry wg *sync.WaitGroup list *bpb.KVList + splitList *bpb.KVList } func (r *reducer) streamIdFor(pred string) uint32 { @@ -305,18 +338,13 @@ func (r *reducer) encode(entryCh chan *encodeRequest, closer *y.Closer) { for req := range entryCh { req.list = &bpb.KVList{} - countKeys := r.toList(req.entries, req.list) + req.splitList = &bpb.KVList{} + countKeys := r.toList(req.entries, req.list, req.splitList) for _, kv := range req.list.Kv { pk, err := x.Parse(kv.Key) x.Check(err) x.AssertTrue(len(pk.Attr) > 0) kv.StreamId = r.streamIdFor(pk.Attr) - if pk.HasStartUid { - // If the key is for a split key, it cannot go into the same stream - // due to ordering issues. Instead, the stream ID for this keys is - // derived by flipping the MSB of the original stream ID. - kv.StreamId |= 0x80000000 - } } req.countKeys = countKeys req.wg.Done() @@ -324,8 +352,46 @@ func (r *reducer) encode(entryCh chan *encodeRequest, closer *y.Closer) { } } +func (r *reducer) writeTmpSplits(ci *countIndexer, kvsCh chan *bpb.KVList, wg *sync.WaitGroup) { + defer wg.Done() + splitBatchLen := 0 + + for kvs := range kvsCh { + if kvs == nil || len(kvs.Kv) == 0 { + continue + } + + for i := 0; i < len(kvs.Kv); i += maxSplitBatchLen { + // Flush the write batch when the max batch length is reached to prevent the + // value log from growing over the allowed limit. + if splitBatchLen >= maxSplitBatchLen { + x.Check(ci.splitWriter.Flush()) + ci.splitWriter = ci.tmpDb.NewManagedWriteBatch() + splitBatchLen = 0 + } + + batch := &bpb.KVList{} + if i+maxSplitBatchLen >= len(kvs.Kv) { + batch.Kv = kvs.Kv[i:] + } else { + batch.Kv = kvs.Kv[i : i+maxSplitBatchLen] + } + splitBatchLen += len(batch.Kv) + x.Check(ci.splitWriter.Write(batch)) + } + } + x.Check(ci.splitWriter.Flush()) +} + func (r *reducer) startWriting(ci *countIndexer, writerCh chan *encodeRequest, closer *y.Closer) { defer closer.Done() + + // Concurrently write split lists to a temporary badger. + tmpWg := new(sync.WaitGroup) + tmpWg.Add(1) + splitCh := make(chan *bpb.KVList, 2*runtime.NumCPU()) + go r.writeTmpSplits(ci, splitCh, tmpWg) + for req := range writerCh { req.wg.Wait() @@ -336,11 +402,53 @@ func (r *reducer) startWriting(ci *countIndexer, writerCh chan *encodeRequest, c start := time.Now() x.Check(ci.writer.Write(req.list)) + if req.splitList != nil && len(req.splitList.Kv) > 0 { + splitCh <- req.splitList + } + if dur := time.Since(start).Round(time.Millisecond); dur > time.Second { fmt.Printf("writeCh: Time taken to write req: %v\n", time.Since(start).Round(time.Millisecond)) } } + + // Wait for split lists to be written to the temporary badger. + close(splitCh) + tmpWg.Wait() +} + +func (r *reducer) writeSplitLists(db, tmpDb *badger.DB) { + txn := tmpDb.NewTransactionAt(math.MaxUint64, false) + defer txn.Discard() + itr := txn.NewIterator(badger.DefaultIteratorOptions) + defer itr.Close() + + writer := db.NewManagedWriteBatch() + splitBatchLen := 0 + + for itr.Rewind(); itr.Valid(); itr.Next() { + // Flush the write batch when the max batch length is reached to prevent the + // value log from growing over the allowed limit. + if splitBatchLen >= maxSplitBatchLen { + x.Check(writer.Flush()) + writer = db.NewManagedWriteBatch() + splitBatchLen = 0 + } + item := itr.Item() + + valCopy, err := item.ValueCopy(nil) + x.Check(err) + kv := &bpb.KV{ + Key: item.KeyCopy(nil), + Value: valCopy, + UserMeta: []byte{item.UserMeta()}, + Version: item.Version(), + ExpiresAt: item.ExpiresAt(), + } + x.Check(writer.Write(&bpb.KVList{Kv: []*bpb.KV{kv}})) + splitBatchLen += 1 + } + x.Check(writer.Flush()) } func (r *reducer) reduce(partitionKeys [][]byte, mapItrs []*mapIterator, ci *countIndexer) { @@ -397,7 +505,7 @@ func (r *reducer) reduce(partitionKeys [][]byte, mapItrs []*mapIterator, ci *cou writerCloser.SignalAndWait() } -func (r *reducer) toList(bufEntries [][]byte, list *bpb.KVList) []*countIndexEntry { +func (r *reducer) toList(bufEntries [][]byte, list, splitList *bpb.KVList) []*countIndexEntry { sort.Slice(bufEntries, func(i, j int) bool { lh, err := GetKeyForMapEntry(bufEntries[i]) x.Check(err) @@ -481,7 +589,8 @@ func (r *reducer) toList(bufEntries [][]byte, list *bpb.KVList) []*countIndexEnt l := posting.NewList(y.Copy(currentKey), pl, writeVersionTs) kvs, err := l.Rollup() x.Check(err) - list.Kv = append(list.Kv, kvs...) + list.Kv = append(list.Kv, kvs[0]) + splitList.Kv = append(splitList.Kv, kvs[1:]...) } else { val, err := pl.Marshal() x.Check(err) From 88651b4d4f438317303c0252275f4c317af8cfc8 Mon Sep 17 00:00:00 2001 From: Naman Jain Date: Wed, 5 Aug 2020 00:10:09 +0530 Subject: [PATCH 038/151] docs: [Breaking] split the docs into smaller pages (#6079) This PR splits docs with larger pages into smaller ones. Splitting work is from https://github.com/ChrisChinchilla/dgraph. This PR updates the build script of docs to serve docs via new hugo-theme and also add redirects as split pages don't exist in old versions. Old versions should use "old" theme of "dgraph-io/hugo-docs" while newer branches should use its master. --- dgraph/cmd/zero/tablet.go | 2 +- wiki/config.toml | 78 +- wiki/content/_index.md | 13 +- wiki/content/clients/_index.md | 8 + wiki/content/clients/c-sharp.md | 14 + wiki/content/clients/go.md | 393 ++ wiki/content/clients/index.md | 953 ---- wiki/content/clients/java.md | 17 + wiki/content/clients/javascript.md | 29 + wiki/content/clients/overview.md | 55 + wiki/content/clients/python.md | 16 + wiki/content/clients/raw-http.md | 429 ++ wiki/content/clients/unofficial-clients.md | 38 + wiki/content/deploy/_index.md | 15 + wiki/content/deploy/cluster-checklist.md | 17 + wiki/content/deploy/cluster-setup.md | 53 + wiki/content/deploy/config.md | 98 + wiki/content/deploy/data-compression.md | 19 + wiki/content/deploy/dgraph-administration.md | 209 + wiki/content/deploy/dgraph-alpha.md | 84 + wiki/content/deploy/dgraph-zero.md | 182 + wiki/content/deploy/download.md | 112 + wiki/content/deploy/fast-data-loading.md | 312 ++ wiki/content/deploy/index.md | 2802 ------------ wiki/content/deploy/kubernetes.md | 566 +++ wiki/content/deploy/log-format.md | 28 + wiki/content/deploy/ludicrous-mode.md | 40 + wiki/content/deploy/metrics.md | 73 + wiki/content/deploy/monitoring.md | 116 + wiki/content/deploy/multi-host-setup.md | 264 ++ wiki/content/deploy/ports-usage.md | 77 + wiki/content/deploy/production-checklist.md | 201 + wiki/content/deploy/single-host-setup.md | 148 + wiki/content/deploy/tls-configuration.md | 262 ++ wiki/content/deploy/tracing.md | 46 + wiki/content/deploy/troubleshooting.md | 27 + wiki/content/design-concepts/_index.md | 8 + wiki/content/design-concepts/concepts.md | 259 ++ .../design-concepts/consistency-model.md | 62 + wiki/content/design-concepts/index.md | 544 --- .../minimizing-network-calls.md | 55 + wiki/content/design-concepts/raft.md | 167 + .../design-concepts/transactions-faq.md | 22 + .../_index.md | 0 .../index.md | 6 +- wiki/content/enterprise-features/_index.md | 8 + .../access-control-lists.md | 476 ++ .../enterprise-features/binary-backups.md | 316 ++ .../enterprise-features/encryption-at-rest.md | 79 + wiki/content/enterprise-features/index.md | 960 ---- wiki/content/enterprise-features/license.md | 40 + wiki/content/faq/_index.md | 0 wiki/content/faq/index.md | 6 +- wiki/content/get-started/_index.md | 0 wiki/content/get-started/index.md | 11 +- wiki/content/howto/_index.md | 8 + .../howto/dgraph-sentry-integration.md | 63 + wiki/content/howto/giving-nodes-type.md | 10 + wiki/content/howto/index.md | 1048 ----- wiki/content/howto/jepson-tests.md | 42 + wiki/content/howto/load-balancing-nginx.md | 66 + wiki/content/howto/loading-csv-data.md | 150 + wiki/content/howto/login-system.md | 64 + wiki/content/howto/migrate-dgraph-1-1.md | 236 + .../howto/retrieving-debug-information.md | 56 + wiki/content/howto/upserts.md | 76 + wiki/content/howto/using-debug-tool.md | 231 + wiki/content/howto/using-increment-tool.md | 106 + wiki/content/mutations/_index.md | 10 + wiki/content/mutations/batch-mutations.md | 16 + wiki/content/mutations/blank-nodes.md | 86 + wiki/content/mutations/conditional-upsert.md | 285 ++ wiki/content/mutations/delete.md | 76 + wiki/content/mutations/external-ids.md | 66 + .../mutations/extrenal-ids-upsert-block.md | 86 + .../mutations/facets-in-list-type-with-rdf.md | 58 + wiki/content/mutations/index.md | 1684 ------- .../content/mutations/json-mutation-format.md | 612 +++ wiki/content/mutations/language-rdf-types.md | 49 + .../content/mutations/mutations-using-curl.md | 39 + wiki/content/mutations/triples.md | 37 + wiki/content/mutations/upsert-block.md | 295 ++ wiki/content/query-language/_index.md | 9 + wiki/content/query-language/aggregation.md | 188 + wiki/content/query-language/alias.md | 42 + .../query-language/cascade-directive.md | 47 + .../query-language/connecting-filters.md | 27 + wiki/content/query-language/count.md | 62 + wiki/content/query-language/debug.md | 59 + .../query-language/expand-predicates.md | 84 + wiki/content/query-language/facets.md | 389 ++ wiki/content/query-language/fragments.md | 26 + wiki/content/query-language/functions.md | 642 +++ .../query-language/graphql-fundamentals.md | 225 + .../query-language/graphql-variables.md | 79 + wiki/content/query-language/groupby.md | 57 + .../query-language/ignorereflex-directive.md | 27 + wiki/content/query-language/index.md | 3983 ----------------- .../indexing-custom-tokenizers.md | 572 +++ .../query-language/kshortest-path-quries.md | 199 + .../query-language/math-on-value-variables.md | 93 + .../query-language/multiple-query-blocks.md | 101 + .../query-language/normalize-directive.md | 57 + wiki/content/query-language/pagination.md | 132 + .../content/query-language/query-variables.md | 56 + wiki/content/query-language/recurse-query.md | 31 + wiki/content/query-language/schema.md | 517 +++ wiki/content/query-language/sorting.md | 76 + wiki/content/query-language/type-system.md | 146 + .../content/query-language/value-variables.md | 135 + wiki/content/releases/_index.md | 0 wiki/content/releases/index.md | 5 + wiki/content/tips/_index.md | 0 wiki/content/tips/index.md | 8 +- wiki/content/tutorial-1/_index.md | 0 wiki/content/tutorial-2/_index.md | 0 wiki/content/tutorial-3/_index.md | 0 wiki/content/tutorial-4/_index.md | 0 wiki/content/tutorial-5/_index.md | 0 wiki/content/tutorial-6/_index.md | 0 wiki/content/tutorial-7/_index.md | 0 wiki/content/tutorial-8/_index.md | 0 wiki/content/tutorial-8/index.md | 6 +- wiki/content/tutorials/_index.md | 0 wiki/content/tutorials/index.md | 11 +- wiki/docker-compose.yml | 9 + wiki/nginx/docs.conf | 14 +- wiki/scripts/build.sh | 44 +- wiki/scripts/docker.sh | 11 + 129 files changed, 12468 insertions(+), 12071 deletions(-) create mode 100644 wiki/content/clients/c-sharp.md create mode 100644 wiki/content/clients/go.md delete mode 100644 wiki/content/clients/index.md create mode 100644 wiki/content/clients/java.md create mode 100644 wiki/content/clients/javascript.md create mode 100644 wiki/content/clients/overview.md create mode 100644 wiki/content/clients/python.md create mode 100644 wiki/content/clients/raw-http.md create mode 100644 wiki/content/clients/unofficial-clients.md create mode 100644 wiki/content/deploy/cluster-checklist.md create mode 100644 wiki/content/deploy/cluster-setup.md create mode 100644 wiki/content/deploy/config.md create mode 100644 wiki/content/deploy/data-compression.md create mode 100644 wiki/content/deploy/dgraph-administration.md create mode 100644 wiki/content/deploy/dgraph-alpha.md create mode 100644 wiki/content/deploy/dgraph-zero.md create mode 100644 wiki/content/deploy/download.md create mode 100644 wiki/content/deploy/fast-data-loading.md create mode 100644 wiki/content/deploy/kubernetes.md create mode 100644 wiki/content/deploy/log-format.md create mode 100644 wiki/content/deploy/ludicrous-mode.md create mode 100644 wiki/content/deploy/metrics.md create mode 100644 wiki/content/deploy/monitoring.md create mode 100644 wiki/content/deploy/multi-host-setup.md create mode 100644 wiki/content/deploy/ports-usage.md create mode 100644 wiki/content/deploy/production-checklist.md create mode 100644 wiki/content/deploy/single-host-setup.md create mode 100644 wiki/content/deploy/tls-configuration.md create mode 100644 wiki/content/deploy/tracing.md create mode 100644 wiki/content/deploy/troubleshooting.md create mode 100644 wiki/content/design-concepts/concepts.md create mode 100644 wiki/content/design-concepts/consistency-model.md delete mode 100644 wiki/content/design-concepts/index.md create mode 100644 wiki/content/design-concepts/minimizing-network-calls.md create mode 100644 wiki/content/design-concepts/raft.md create mode 100644 wiki/content/design-concepts/transactions-faq.md delete mode 100644 wiki/content/dgraph-compared-to-other-databases/_index.md create mode 100644 wiki/content/enterprise-features/access-control-lists.md create mode 100644 wiki/content/enterprise-features/binary-backups.md create mode 100644 wiki/content/enterprise-features/encryption-at-rest.md delete mode 100644 wiki/content/enterprise-features/index.md create mode 100644 wiki/content/enterprise-features/license.md delete mode 100644 wiki/content/faq/_index.md delete mode 100644 wiki/content/get-started/_index.md create mode 100644 wiki/content/howto/dgraph-sentry-integration.md create mode 100644 wiki/content/howto/giving-nodes-type.md delete mode 100644 wiki/content/howto/index.md create mode 100644 wiki/content/howto/jepson-tests.md create mode 100644 wiki/content/howto/load-balancing-nginx.md create mode 100644 wiki/content/howto/loading-csv-data.md create mode 100644 wiki/content/howto/login-system.md create mode 100644 wiki/content/howto/migrate-dgraph-1-1.md create mode 100644 wiki/content/howto/retrieving-debug-information.md create mode 100644 wiki/content/howto/upserts.md create mode 100644 wiki/content/howto/using-debug-tool.md create mode 100644 wiki/content/howto/using-increment-tool.md create mode 100644 wiki/content/mutations/batch-mutations.md create mode 100644 wiki/content/mutations/blank-nodes.md create mode 100644 wiki/content/mutations/conditional-upsert.md create mode 100644 wiki/content/mutations/delete.md create mode 100644 wiki/content/mutations/external-ids.md create mode 100644 wiki/content/mutations/extrenal-ids-upsert-block.md create mode 100644 wiki/content/mutations/facets-in-list-type-with-rdf.md delete mode 100644 wiki/content/mutations/index.md create mode 100644 wiki/content/mutations/json-mutation-format.md create mode 100644 wiki/content/mutations/language-rdf-types.md create mode 100644 wiki/content/mutations/mutations-using-curl.md create mode 100644 wiki/content/mutations/triples.md create mode 100644 wiki/content/mutations/upsert-block.md create mode 100644 wiki/content/query-language/aggregation.md create mode 100644 wiki/content/query-language/alias.md create mode 100644 wiki/content/query-language/cascade-directive.md create mode 100644 wiki/content/query-language/connecting-filters.md create mode 100644 wiki/content/query-language/count.md create mode 100644 wiki/content/query-language/debug.md create mode 100644 wiki/content/query-language/expand-predicates.md create mode 100644 wiki/content/query-language/facets.md create mode 100644 wiki/content/query-language/fragments.md create mode 100644 wiki/content/query-language/functions.md create mode 100644 wiki/content/query-language/graphql-fundamentals.md create mode 100644 wiki/content/query-language/graphql-variables.md create mode 100644 wiki/content/query-language/groupby.md create mode 100644 wiki/content/query-language/ignorereflex-directive.md delete mode 100644 wiki/content/query-language/index.md create mode 100644 wiki/content/query-language/indexing-custom-tokenizers.md create mode 100644 wiki/content/query-language/kshortest-path-quries.md create mode 100644 wiki/content/query-language/math-on-value-variables.md create mode 100644 wiki/content/query-language/multiple-query-blocks.md create mode 100644 wiki/content/query-language/normalize-directive.md create mode 100644 wiki/content/query-language/pagination.md create mode 100644 wiki/content/query-language/query-variables.md create mode 100644 wiki/content/query-language/recurse-query.md create mode 100644 wiki/content/query-language/schema.md create mode 100644 wiki/content/query-language/sorting.md create mode 100644 wiki/content/query-language/type-system.md create mode 100644 wiki/content/query-language/value-variables.md delete mode 100644 wiki/content/releases/_index.md delete mode 100644 wiki/content/tips/_index.md delete mode 100644 wiki/content/tutorial-1/_index.md delete mode 100644 wiki/content/tutorial-2/_index.md delete mode 100644 wiki/content/tutorial-3/_index.md delete mode 100644 wiki/content/tutorial-4/_index.md delete mode 100644 wiki/content/tutorial-5/_index.md delete mode 100644 wiki/content/tutorial-6/_index.md delete mode 100644 wiki/content/tutorial-7/_index.md delete mode 100644 wiki/content/tutorial-8/_index.md delete mode 100644 wiki/content/tutorials/_index.md create mode 100644 wiki/docker-compose.yml create mode 100755 wiki/scripts/docker.sh diff --git a/dgraph/cmd/zero/tablet.go b/dgraph/cmd/zero/tablet.go index cf6facc856b..b77d89f532c 100644 --- a/dgraph/cmd/zero/tablet.go +++ b/dgraph/cmd/zero/tablet.go @@ -217,7 +217,7 @@ func (s *Server) chooseTablet() (predicate string, srcGroup uint32, dstGroup uin return } // We move the predicate only if the difference between size of both machines is - // atleast 10% of src group. + // atleast 10% of dst group. if float64(sizeDiff) < 0.1*float64(groups[0].size) { continue } diff --git a/wiki/config.toml b/wiki/config.toml index 65b4a90887b..275d2255766 100644 --- a/wiki/config.toml +++ b/wiki/config.toml @@ -8,76 +8,10 @@ unsafe = true [markup.highlight] noClasses = false -# set by build script: title, baseurl -title = "Dgraph Documentation" +[markup.tableOfContents] + endLevel = 3 + ordered = false + startLevel = 2 -[[menu.main]] - name = "Home" - url = "/" - identifier = "home" - weight = -1 -[[menu.main]] - name = "Get Started" - url = "/get-started/" - identifier = "get-started" - weight = 1 -[[menu.main]] - name = "Tutorials" - url = "/tutorials/" - identifier = "tutorials" - weight = 2 -[[menu.main]] - name = "Query Language" - url = "/query-language/" - identifier = "query-language" - weight = 3 -[[menu.main]] - name = "GraphQL+- Tips and Tricks" - url = "/tips/" - identifier = "tips" - weight = 4 -[[menu.main]] - name = "Mutations" - url = "/mutations/" - identifier = "mutations" - weight = 5 -[[menu.main]] - name = "Clients" - url = "/clients/" - identifier = "clients" - weight = 6 -[[menu.main]] - name = "Deploy" - url = "/deploy/" - identifier = "deploy" - weight = 7 -[[menu.main]] - name = "Enterprise Features" - url = "/enterprise-features/" - identifier = "enterprise-features" - weight = 8 -[[menu.main]] - name = "FAQ" - url = "/faq/" - identifier = "faq" - weight = 9 -[[menu.main]] - name = "How To Guides" - url = "/howto/" - identifier = "how-to-guides" - weight = 10 -[[menu.main]] - name = "Design Concepts" - url = "/design-concepts/" - identifier = "design-concepts" - weight = 11 -[[menu.main]] - name = "Dgraph Compared to Other Databases" - url = "/dgraph-compared-to-other-databases/" - identifier = "dgraph-compared-to-other-databases" - weight = 12 -[[menu.main]] - name = "Releases" - url = "/releases/" - identifier = "releases" - weight = 13 +# set by build script: title, baseurl +title = "Dgraph Documentation" \ No newline at end of file diff --git a/wiki/content/_index.md b/wiki/content/_index.md index b262f78c101..edb33bd52ab 100644 --- a/wiki/content/_index.md +++ b/wiki/content/_index.md @@ -1,6 +1,11 @@ +++ date = "2017-03-20T19:35:35+11:00" title = "Dgraph Documentation" +[menu.main] + url = "/" + name = "Home" + identifier = "home" + weight = 1 +++ **Welcome to the official Dgraph documentation.** @@ -51,7 +56,7 @@ Designed from the ground up to be run in production, Dgraph is the native GraphQ
@@ -75,7 +80,7 @@ Designed from the ground up to be run in production, Dgraph is the native GraphQ
@@ -87,7 +92,7 @@ Designed from the ground up to be run in production, Dgraph is the native GraphQ
@@ -99,7 +104,7 @@ Designed from the ground up to be run in production, Dgraph is the native GraphQ
diff --git a/wiki/content/clients/_index.md b/wiki/content/clients/_index.md index e69de29bb2d..d7744ef7cf3 100644 --- a/wiki/content/clients/_index.md +++ b/wiki/content/clients/_index.md @@ -0,0 +1,8 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Clients" +[menu.main] + url = "/clients/" + identifier = "clients" + weight = 7 ++++ \ No newline at end of file diff --git a/wiki/content/clients/c-sharp.md b/wiki/content/clients/c-sharp.md new file mode 100644 index 00000000000..87d042b4d37 --- /dev/null +++ b/wiki/content/clients/c-sharp.md @@ -0,0 +1,14 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "C#" +[menu.main] + parent = "clients" + weight = 3 ++++ + +The official C# client [can be found here](https://github.com/dgraph-io/dgraph.net). +Follow the instructions in the [README](https://github.com/dgraph-io/dgraph.net#readme) to get +it up and running. + +More details on the supported versions can be found at +[this link](https://github.com/dgraph-io/dgraph.net#supported-versions). \ No newline at end of file diff --git a/wiki/content/clients/go.md b/wiki/content/clients/go.md new file mode 100644 index 00000000000..5cf8c86022e --- /dev/null +++ b/wiki/content/clients/go.md @@ -0,0 +1,393 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Go" +[menu.main] + parent = "clients" + weight = 2 ++++ + +[![GoDoc](https://godoc.org/github.com/dgraph-io/dgo?status.svg)](https://godoc.org/github.com/dgraph-io/dgo) + +The Go client communicates with the server on the gRPC port (default value 9080). + +The client can be obtained in the usual way via `go get`: + +```sh + Requires at least Go 1.11 +export GO111MODULE=on +go get -u -v github.com/dgraph-io/dgo/v200 +``` + +The full [GoDoc](https://godoc.org/github.com/dgraph-io/dgo) contains +documentation for the client API along with examples showing how to use it. + +More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgo#supported-versions). + +## Create the client + +To create a client, dial a connection to Dgraph's external gRPC port (typically +9080). The following code snippet shows just one connection. You can connect to multiple Dgraph Alphas to distribute the workload evenly. + +```go +func newClient() *dgo.Dgraph { + // Dial a gRPC connection. The address to dial to can be configured when + // setting up the dgraph cluster. + d, err := grpc.Dial("localhost:9080", grpc.WithInsecure()) + if err != nil { + log.Fatal(err) + } + + return dgo.NewDgraphClient( + api.NewDgraphClient(d), + ) +} +``` + +The client can be configured to use gRPC compression: + +```go +func newClient() *dgo.Dgraph { + // Dial a gRPC connection. The address to dial to can be configured when + // setting up the dgraph cluster. + dialOpts := append([]grpc.DialOption{}, + grpc.WithInsecure(), + grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name))) + d, err := grpc.Dial("localhost:9080", dialOpts...) + + if err != nil { + log.Fatal(err) + } + + return dgo.NewDgraphClient( + api.NewDgraphClient(d), + ) +} + +``` + +## Alter the database + +To set the schema, set it on a `api.Operation` object, and pass it down to +the `Alter` method. + +```go +func setup(c *dgo.Dgraph) { + // Install a schema into dgraph. Accounts have a `name` and a `balance`. + err := c.Alter(context.Background(), &api.Operation{ + Schema: ` + name: string @index(term) . + balance: int . + `, + }) +} +``` + +`api.Operation` contains other fields as well, including drop predicate and drop +all. Drop all is useful if you wish to discard all the data, and start from a +clean slate, without bringing the instance down. + +```go + // Drop all data including schema from the dgraph instance. This is useful + // for small examples such as this, since it puts dgraph into a clean + // state. + err := c.Alter(context.Background(), &api.Operation{DropOp: api.Operation_ALL}) +``` + +The old way to send a drop all operation is still supported but will be eventually +deprecated. It's shown below for reference. + +```go + // Drop all data including schema from the dgraph instance. This is useful + // for small examples such as this, since it puts dgraph into a clean + // state. + err := c.Alter(context.Background(), &api.Operation{DropAll: true}) +``` + +Starting with version 1.1, `api.Operation` also supports a drop data operation. +This operation drops all the data but preserves the schema. This is useful when +the schema is large and needs to be reused, such as in between unit tests. + +```go + // Drop all data including schema from the dgraph instance. This is useful + // for small examples such as this, since it puts dgraph into a clean + // state. + err := c.Alter(context.Background(), &api.Operation{DropOp: api.Operation_DATA}) +``` + +## Create a transaction + +Dgraph supports running distributed ACID transactions. To create a +transaction, just call `c.NewTxn()`. This operation incurs no network call. +Typically, you'd also want to call a `defer txn.Discard()` to let it +automatically rollback in case of errors. Calling `Discard` after `Commit` would +be a no-op. + +```go +func runTxn(c *dgo.Dgraph) { + txn := c.NewTxn() + defer txn.Discard() + ... +} +``` + +### Read-Only Transactions + +Read-only transactions can be created by calling `c.NewReadOnlyTxn()`. Read-only +transactions are useful to increase read speed because they can circumvent the +usual consensus protocol. Read-only transactions cannot contain mutations and +trying to call `txn.Commit()` will result in an error. Calling `txn.Discard()` +will be a no-op. + +Read-only queries can optionally be set as best-effort. Using this flag will ask +the Dgraph Alpha to try to get timestamps from memory on a best-effort basis to +reduce the number of outbound requests to Zero. This may yield improved +latencies in read-bound workloads where linearizable reads are not strictly +needed. + +## Run a query + +You can run a query by calling `txn.Query`. The response would contain a `JSON` +field, which has the JSON encoded result. You can unmarshal it into Go struct +via `json.Unmarshal`. + +```go + // Query the balance for Alice and Bob. + const q = ` + { + all(func: anyofterms(name, "Alice Bob")) { + uid + balance + } + } + ` + resp, err := txn.Query(context.Background(), q) + if err != nil { + log.Fatal(err) + } + + // After we get the balances, we have to decode them into structs so that + // we can manipulate the data. + var decode struct { + All []struct { + Uid string + Balance int + } + } + if err := json.Unmarshal(resp.GetJson(), &decode); err != nil { + log.Fatal(err) + } +``` + +## Run a mutation + +`txn.Mutate` would run the mutation. It takes in a `api.Mutation` object, +which provides two main ways to set data: JSON and RDF N-Quad. You can choose +whichever way is convenient. + +To use JSON, use the fields SetJson and DeleteJson, which accept a string +representing the nodes to be added or removed respectively (either as a JSON map +or a list). To use RDF, use the fields SetNquads and DeleteNquads, which accept +a string representing the valid RDF triples (one per line) to added or removed +respectively. This protobuf object also contains the Set and Del fields which +accept a list of RDF triples that have already been parsed into our internal +format. As such, these fields are mainly used internally and users should use +the SetNquads and DeleteNquads instead if they are planning on using RDF. + +We're going to continue using JSON. You could modify the Go structs parsed from +the query, and marshal them back into JSON. + +```go + // Move $5 between the two accounts. + decode.All[0].Bal += 5 + decode.All[1].Bal -= 5 + + out, err := json.Marshal(decode.All) + if err != nil { + log.Fatal(err) + } + + _, err := txn.Mutate(context.Background(), &api.Mutation{SetJson: out}) +``` + +Sometimes, you only want to commit mutation, without querying anything further. +In such cases, you can use a `CommitNow` field in `api.Mutation` to +indicate that the mutation must be immediately committed. + +## Commit the transaction + +Once all the queries and mutations are done, you can commit the transaction. It +returns an error in case the transaction could not be committed. + +```go + // Finally, we can commit the transactions. An error will be returned if + // other transactions running concurrently modify the same data that was + // modified in this transaction. It is up to the library user to retry + // transactions when they fail. + + err := txn.Commit(context.Background()) +``` + +## Complete Example + +This is an example from the [GoDoc](https://godoc.org/github.com/dgraph-io/dgo). It shows how to to create a Node with name Alice, while also creating her relationships with other nodes. Note `loc` predicate is of type `geo` and can be easily marshalled and unmarshalled into a Go struct. More such examples are present as part of the GoDoc. + +```go +type School struct { + Name string `json:"name,omitempty"` + DType []string `json:"dgraph.type,omitempty"` +} + +type loc struct { + Type string `json:"type,omitempty"` + Coords []float64 `json:"coordinates,omitempty"` +} + +// If omitempty is not set, then edges with empty values (0 for int/float, "" for string, false +// for bool) would be created for values not specified explicitly. + +type Person struct { + Uid string `json:"uid,omitempty"` + Name string `json:"name,omitempty"` + Age int `json:"age,omitempty"` + Dob *time.Time `json:"dob,omitempty"` + Married bool `json:"married,omitempty"` + Raw []byte `json:"raw_bytes,omitempty"` + Friends []Person `json:"friend,omitempty"` + Location loc `json:"loc,omitempty"` + School []School `json:"school,omitempty"` + DType []string `json:"dgraph.type,omitempty"` +} + +conn, err := grpc.Dial("127.0.0.1:9080", grpc.WithInsecure()) +if err != nil { + log.Fatal("While trying to dial gRPC") +} +defer conn.Close() + +dc := api.NewDgraphClient(conn) +dg := dgo.NewDgraphClient(dc) + +op := &api.Operation{} +op.Schema = ` + name: string @index(exact) . + age: int . + married: bool . + loc: geo . + dob: datetime . + +type Person { + name + age + dob + married + raw + friends + loc + school + } + +type Loc { + type + coords + } + +type Institution { + name + } + +` + +ctx := context.Background() +err = dg.Alter(ctx, op) +if err != nil { + log.Fatal(err) +} + +dob := time.Date(1980, 01, 01, 23, 0, 0, 0, time.UTC) +// While setting an object if a struct has a Uid then its properties in the graph are updated +// else a new node is created. +// In the example below new nodes for Alice, Bob and Charlie and school are created (since they +// dont have a Uid). +p := Person{ + Uid: "_:alice", + Name: "Alice", + DType: []string{"Person"}, + Age: 26, + Married: true, + Location: loc{ + Type: "Point", + Coords: []float64{1.1, 2}, + }, + Dob: &dob, + Raw: []byte("raw_bytes"), + Friends: []Person{{ + Name: "Bob", + Age: 24, + }, { + Name: "Charlie", + Age: 29, + }}, + School: []School{{ + Name: "Crown Public School", + }}, +} + +mu := &api.Mutation{ + CommitNow: true, +} +pb, err := json.Marshal(p) +if err != nil { + log.Fatal(err) +} + +mu.SetJson = pb +assigned, err := dg.NewTxn().Mutate(ctx, mu) +if err != nil { + log.Fatal(err) +} + +// Assigned uids for nodes which were created would be returned in the resp.AssignedUids map. +variables := map[string]string{"$id": assigned.Uids["alice"]} +q := `query Me($id: string){ + me(func: uid($id)) { + name + dob + age + loc + raw_bytes + married + dgraph.type + friend @filter(eq(name, "Bob")){ + name + age + dgraph.type + } + school { + name + dgraph.type + } + } +}` + +resp, err := dg.NewTxn().QueryWithVars(ctx, q, variables) +if err != nil { + log.Fatal(err) +} + +type Root struct { + Me []Person `json:"me"` +} + +var r Root +err = json.Unmarshal(resp.Json, &r) +if err != nil { + log.Fatal(err) +} +// fmt.Printf("Me: %+v\n", r.Me) +// R.Me would be same as the person that we set above. + +fmt.Println(string(resp.Json)) +// Output: {"me":[{"name":"Alice","dob":"1980-01-01T23:00:00Z","age":26,"loc":{"type":"Point","coordinates":[1.1,2]},"raw_bytes":"cmF3X2J5dGVz","married":true,"dgraph.type":["Person"],"friend":[{"name":"Bob","age":24,"dgraph.type":["Person"]}],"school":[{"name":"Crown Public School","dgraph.type":["Institution"]}]}]} + + +``` diff --git a/wiki/content/clients/index.md b/wiki/content/clients/index.md deleted file mode 100644 index 4f9c3cd9efd..00000000000 --- a/wiki/content/clients/index.md +++ /dev/null @@ -1,953 +0,0 @@ -+++ -date = "2017-03-20T19:35:35+11:00" -title = "Clients" -+++ - -## Implementation - -Clients can communicate with the server in two different ways: - -- **Via [gRPC](http://www.grpc.io/).** Internally this uses [Protocol - Buffers](https://developers.google.com/protocol-buffers) (the proto file -used by Dgraph is located at -[api.proto](https://github.com/dgraph-io/dgo/blob/master/protos/api.proto)). - -- **Via HTTP.** There are various endpoints, each accepting and returning JSON. - There is a one to one correspondence between the HTTP endpoints and the gRPC -service methods. - - -It's possible to interface with Dgraph directly via gRPC or HTTP. However, if a -client library exists for you language, this will be an easier option. - -{{% notice "tip" %}} -For multi-node setups, predicates are assigned to the group that first sees that -predicate. Dgraph also automatically moves predicate data to different groups in -order to balance predicate distribution. This occurs automatically every 10 -minutes. It's possible for clients to aid this process by communicating with all -Dgraph instances. For the Go client, this means passing in one -`*grpc.ClientConn` per Dgraph instance. Mutations will be made in a round robin -fashion, resulting in an initially semi random predicate distribution. -{{% /notice %}} - -### Transactions - -Dgraph clients perform mutations and queries using transactions. A -transaction bounds a sequence of queries and mutations that are committed by -Dgraph as a single unit: that is, on commit, either all the changes are accepted -by Dgraph or none are. - -A transaction always sees the database state at the moment it began, plus any -changes it makes --- changes from concurrent transactions aren't visible. - -On commit, Dgraph will abort a transaction, rather than committing changes, when -a conflicting, concurrently running transaction has already been committed. Two -transactions conflict when both transactions: - -- write values to the same scalar predicate of the same node (e.g both - attempting to set a particular node's `address` predicate); or -- write to a singular `uid` predicate of the same node (changes to `[uid]` predicates can be concurrently written); or -- write a value that conflicts on an index for a predicate with `@upsert` set in the schema (see [upserts]({{< relref "howto/index.md#upserts">}})). - -When a transaction is aborted, all its changes are discarded. Transactions can be manually aborted. - -## Go - -[![GoDoc](https://godoc.org/github.com/dgraph-io/dgo?status.svg)](https://godoc.org/github.com/dgraph-io/dgo) - -The Go client communicates with the server on the gRPC port (default value 9080). - -The client can be obtained in the usual way via `go get`: - -```sh -# Requires at least Go 1.11 -export GO111MODULE=on -go get -u -v github.com/dgraph-io/dgo/v200 -``` - -The full [GoDoc](https://godoc.org/github.com/dgraph-io/dgo) contains -documentation for the client API along with examples showing how to use it. - -More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgo#supported-versions). - -### Create the client - -To create a client, dial a connection to Dgraph's external gRPC port (typically -9080). The following code snippet shows just one connection. You can connect to multiple Dgraph Alphas to distribute the workload evenly. - -```go -func newClient() *dgo.Dgraph { - // Dial a gRPC connection. The address to dial to can be configured when - // setting up the dgraph cluster. - d, err := grpc.Dial("localhost:9080", grpc.WithInsecure()) - if err != nil { - log.Fatal(err) - } - - return dgo.NewDgraphClient( - api.NewDgraphClient(d), - ) -} -``` - -The client can be configured to use gRPC compression: - -```go -func newClient() *dgo.Dgraph { - // Dial a gRPC connection. The address to dial to can be configured when - // setting up the dgraph cluster. - dialOpts := append([]grpc.DialOption{}, - grpc.WithInsecure(), - grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name))) - d, err := grpc.Dial("localhost:9080", dialOpts...) - - if err != nil { - log.Fatal(err) - } - - return dgo.NewDgraphClient( - api.NewDgraphClient(d), - ) -} - -``` - -### Alter the database - -To set the schema, set it on a `api.Operation` object, and pass it down to -the `Alter` method. - -```go -func setup(c *dgo.Dgraph) { - // Install a schema into dgraph. Accounts have a `name` and a `balance`. - err := c.Alter(context.Background(), &api.Operation{ - Schema: ` - name: string @index(term) . - balance: int . - `, - }) -} -``` - -`api.Operation` contains other fields as well, including drop predicate and drop -all. Drop all is useful if you wish to discard all the data, and start from a -clean slate, without bringing the instance down. - -```go - // Drop all data including schema from the dgraph instance. This is useful - // for small examples such as this, since it puts dgraph into a clean - // state. - err := c.Alter(context.Background(), &api.Operation{DropOp: api.Operation_ALL}) -``` - -The old way to send a drop all operation is still supported but will be eventually -deprecated. It's shown below for reference. - -```go - // Drop all data including schema from the dgraph instance. This is useful - // for small examples such as this, since it puts dgraph into a clean - // state. - err := c.Alter(context.Background(), &api.Operation{DropAll: true}) -``` - -Starting with version 1.1, `api.Operation` also supports a drop data operation. -This operation drops all the data but preserves the schema. This is useful when -the schema is large and needs to be reused, such as in between unit tests. - -```go - // Drop all data including schema from the dgraph instance. This is useful - // for small examples such as this, since it puts dgraph into a clean - // state. - err := c.Alter(context.Background(), &api.Operation{DropOp: api.Operation_DATA}) -``` - -### Create a transaction - -Dgraph supports running distributed ACID transactions. To create a -transaction, just call `c.NewTxn()`. This operation incurs no network call. -Typically, you'd also want to call a `defer txn.Discard()` to let it -automatically rollback in case of errors. Calling `Discard` after `Commit` would -be a no-op. - -```go -func runTxn(c *dgo.Dgraph) { - txn := c.NewTxn() - defer txn.Discard() - ... -} -``` - -#### Read-Only Transactions - -Read-only transactions can be created by calling `c.NewReadOnlyTxn()`. Read-only -transactions are useful to increase read speed because they can circumvent the -usual consensus protocol. Read-only transactions cannot contain mutations and -trying to call `txn.Commit()` will result in an error. Calling `txn.Discard()` -will be a no-op. - -Read-only queries can optionally be set as best-effort. Using this flag will ask -the Dgraph Alpha to try to get timestamps from memory on a best-effort basis to -reduce the number of outbound requests to Zero. This may yield improved -latencies in read-bound workloads where linearizable reads are not strictly -needed. - -### Run a query - -You can run a query by calling `txn.Query`. The response would contain a `JSON` -field, which has the JSON encoded result. You can unmarshal it into Go struct -via `json.Unmarshal`. - -```go - // Query the balance for Alice and Bob. - const q = ` - { - all(func: anyofterms(name, "Alice Bob")) { - uid - balance - } - } - ` - resp, err := txn.Query(context.Background(), q) - if err != nil { - log.Fatal(err) - } - - // After we get the balances, we have to decode them into structs so that - // we can manipulate the data. - var decode struct { - All []struct { - Uid string - Balance int - } - } - if err := json.Unmarshal(resp.GetJson(), &decode); err != nil { - log.Fatal(err) - } -``` - -### Run a mutation - -`txn.Mutate` would run the mutation. It takes in a `api.Mutation` object, -which provides two main ways to set data: JSON and RDF N-Quad. You can choose -whichever way is convenient. - -To use JSON, use the fields SetJson and DeleteJson, which accept a string -representing the nodes to be added or removed respectively (either as a JSON map -or a list). To use RDF, use the fields SetNquads and DeleteNquads, which accept -a string representing the valid RDF triples (one per line) to added or removed -respectively. This protobuf object also contains the Set and Del fields which -accept a list of RDF triples that have already been parsed into our internal -format. As such, these fields are mainly used internally and users should use -the SetNquads and DeleteNquads instead if they are planning on using RDF. - -We're going to continue using JSON. You could modify the Go structs parsed from -the query, and marshal them back into JSON. - -```go - // Move $5 between the two accounts. - decode.All[0].Bal += 5 - decode.All[1].Bal -= 5 - - out, err := json.Marshal(decode.All) - if err != nil { - log.Fatal(err) - } - - _, err := txn.Mutate(context.Background(), &api.Mutation{SetJson: out}) -``` - -Sometimes, you only want to commit mutation, without querying anything further. -In such cases, you can use a `CommitNow` field in `api.Mutation` to -indicate that the mutation must be immediately committed. - -### Commit the transaction - -Once all the queries and mutations are done, you can commit the transaction. It -returns an error in case the transaction could not be committed. - -```go - // Finally, we can commit the transactions. An error will be returned if - // other transactions running concurrently modify the same data that was - // modified in this transaction. It is up to the library user to retry - // transactions when they fail. - - err := txn.Commit(context.Background()) -``` - -### Complete Example - -This is an example from the [GoDoc](https://godoc.org/github.com/dgraph-io/dgo). It shows how to to create a Node with name Alice, while also creating her relationships with other nodes. Note `loc` predicate is of type `geo` and can be easily marshalled and unmarshalled into a Go struct. More such examples are present as part of the GoDoc. - -```go -type School struct { - Name string `json:"name,omitempty"` - DType []string `json:"dgraph.type,omitempty"` -} - -type loc struct { - Type string `json:"type,omitempty"` - Coords []float64 `json:"coordinates,omitempty"` -} - -// If omitempty is not set, then edges with empty values (0 for int/float, "" for string, false -// for bool) would be created for values not specified explicitly. - -type Person struct { - Uid string `json:"uid,omitempty"` - Name string `json:"name,omitempty"` - Age int `json:"age,omitempty"` - Dob *time.Time `json:"dob,omitempty"` - Married bool `json:"married,omitempty"` - Raw []byte `json:"raw_bytes,omitempty"` - Friends []Person `json:"friend,omitempty"` - Location loc `json:"loc,omitempty"` - School []School `json:"school,omitempty"` - DType []string `json:"dgraph.type,omitempty"` -} - -conn, err := grpc.Dial("127.0.0.1:9080", grpc.WithInsecure()) -if err != nil { - log.Fatal("While trying to dial gRPC") -} -defer conn.Close() - -dc := api.NewDgraphClient(conn) -dg := dgo.NewDgraphClient(dc) - -op := &api.Operation{} -op.Schema = ` - name: string @index(exact) . - age: int . - married: bool . - loc: geo . - dob: datetime . - -type Person { - name - age - dob - married - raw - friends - loc - school - } - -type Loc { - type - coords - } - -type Institution { - name - } - -` - -ctx := context.Background() -err = dg.Alter(ctx, op) -if err != nil { - log.Fatal(err) -} - -dob := time.Date(1980, 01, 01, 23, 0, 0, 0, time.UTC) -// While setting an object if a struct has a Uid then its properties in the graph are updated -// else a new node is created. -// In the example below new nodes for Alice, Bob and Charlie and school are created (since they -// dont have a Uid). -p := Person{ - Uid: "_:alice", - Name: "Alice", - DType: []string{"Person"}, - Age: 26, - Married: true, - Location: loc{ - Type: "Point", - Coords: []float64{1.1, 2}, - }, - Dob: &dob, - Raw: []byte("raw_bytes"), - Friends: []Person{{ - Name: "Bob", - Age: 24, - }, { - Name: "Charlie", - Age: 29, - }}, - School: []School{{ - Name: "Crown Public School", - }}, -} - -mu := &api.Mutation{ - CommitNow: true, -} -pb, err := json.Marshal(p) -if err != nil { - log.Fatal(err) -} - -mu.SetJson = pb -assigned, err := dg.NewTxn().Mutate(ctx, mu) -if err != nil { - log.Fatal(err) -} - -// Assigned uids for nodes which were created would be returned in the resp.AssignedUids map. -variables := map[string]string{"$id": assigned.Uids["alice"]} -q := `query Me($id: string){ - me(func: uid($id)) { - name - dob - age - loc - raw_bytes - married - dgraph.type - friend @filter(eq(name, "Bob")){ - name - age - dgraph.type - } - school { - name - dgraph.type - } - } -}` - -resp, err := dg.NewTxn().QueryWithVars(ctx, q, variables) -if err != nil { - log.Fatal(err) -} - -type Root struct { - Me []Person `json:"me"` -} - -var r Root -err = json.Unmarshal(resp.Json, &r) -if err != nil { - log.Fatal(err) -} -// fmt.Printf("Me: %+v\n", r.Me) -// R.Me would be same as the person that we set above. - -fmt.Println(string(resp.Json)) -// Output: {"me":[{"name":"Alice","dob":"1980-01-01T23:00:00Z","age":26,"loc":{"type":"Point","coordinates":[1.1,2]},"raw_bytes":"cmF3X2J5dGVz","married":true,"dgraph.type":["Person"],"friend":[{"name":"Bob","age":24,"dgraph.type":["Person"]}],"school":[{"name":"Crown Public School","dgraph.type":["Institution"]}]}]} - - -``` - -## C\# - -The official C# client [can be found here](https://github.com/dgraph-io/dgraph.net). -Follow the instructions in the [README](https://github.com/dgraph-io/dgraph.net#readme) to get -it up and running. - -More details on the supported versions can be found at -[this link](https://github.com/dgraph-io/dgraph.net#supported-versions). - -## Java - -The official Java client [can be found here](https://github.com/dgraph-io/dgraph4j). -Follow the instructions in the [README](https://github.com/dgraph-io/dgraph4j#readme) to get it up and running. - -More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgraph4j#supported-versions). - -We also have a [DgraphJavaSample] project, which contains an end-to-end -working example of how to use the Java client. - -[DgraphJavaSample]:https://github.com/dgraph-io/dgraph4j/tree/master/samples/DgraphJavaSample - -## JavaScript - -### gRPC - -The official JavaScript gRPC client [can be found here](https://github.com/dgraph-io/dgraph-js). -Follow the instructions in the [README](https://github.com/dgraph-io/dgraph-js#readme) to get it up and running. - -More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgraph-js#supported-versions). - -We also have a [simple example](https://github.com/dgraph-io/dgraph-js/tree/master/examples/simple) -project, which contains an end-to-end working example of how to use the JavaScript gRPC client, -for Node.js >= v6. - -### HTTP - -The official JavaScript HTTP client [can be found here](https://github.com/dgraph-io/dgraph-js-http). -Follow the instructions in the [README](https://github.com/dgraph-io/dgraph-js-http#readme) to get it up and running. - -More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgraph-js-http#supported-versions). - -We also have a [simple example](https://github.com/dgraph-io/dgraph-js-http/tree/master/examples/simple) -project, which contains an end-to-end working example of how to use the JavaScript HTTP client, -for Node.js >= v6. - -## Python - -The official Python client [can be found here](https://github.com/dgraph-io/pydgraph). -Follow the instructions in the [README](https://github.com/dgraph-io/pydgraph#readme) to get it -up and running. - -More details on the supported versions can be found at [this link](https://github.com/dgraph-io/pydgraph#supported-versions). - -We also have a [simple example](https://github.com/dgraph-io/pydgraph/tree/master/examples/simple) -project, which contains an end-to-end working example of how to use the Python client. - -## Unofficial Dgraph Clients - -{{% notice "note" %}} -These third-party clients are contributed by the community and are not officially supported by Dgraph. -{{% /notice %}} - -### C\# - -- https://github.com/AlexandreDaSilva/DgraphNet - -### Dart - -- https://github.com/marceloneppel/dgraph - -### Elixir - -- https://github.com/liveforeverx/dlex -- https://github.com/ospaarmann/exdgraph - -### JavaScript - -- https://github.com/ashokvishwakarma/dgraph-orm -- https://github.com/gverse/gverse - -### Rust - -- https://github.com/Swoorup/dgraph-rs -- https://github.com/selmeci/dgraph-tonic - -### Apache Spark Connector - -- https://github.com/G-Research/spark-dgraph-connector - -## Raw HTTP - -{{% notice "warning" %}} -Raw HTTP needs more chops to use than our language clients. We wrote this guide to help you build a Dgraph client in a new language. -{{% /notice %}} - -It's also possible to interact with Dgraph directly via its HTTP endpoints. -This allows clients to be built for languages that don't have access to a -working gRPC implementation. - -In the examples shown here, regular command line tools such as `curl` and -[`jq`](https://stedolan.github.io/jq/) are used. However, the real intention -here is to show other programmers how they could implement a client in their -language on top of the HTTP API. For an example of how to build a client on top -of gRPC, refer to the implementation of the Go client. - -Similar to the Go client example, we use a bank account transfer example. - -### Create the Client - -A client built on top of the HTTP API will need to track three pieces of state -for each transaction. - -1. A start timestamp (`start_ts`). This uniquely identifies a transaction, - and doesn't change over the transaction lifecycle. - -2. The set of keys modified by the transaction (`keys`). This aids in - transaction conflict detection. - - Every mutation would send back a new set of keys. The client must merge them - with the existing set. Optionally, a client can de-dup these keys while - merging. - -3. The set of predicates modified by the transaction (`preds`). This aids in - predicate move detection. - - Every mutation would send back a new set of preds. The client must merge them - with the existing set. Optionally, a client can de-dup these keys while - merging. - -### Alter the database - -The `/alter` endpoint is used to create or change the schema. Here, the -predicate `name` is the name of an account. It's indexed so that we can look up -accounts based on their name. - -```sh -$ curl -X POST localhost:8080/alter -d \ -'name: string @index(term) . -type Person { - name -}' -``` - -If all goes well, the response should be `{"code":"Success","message":"Done"}`. - -Other operations can be performed via the `/alter` endpoint as well. A specific -predicate or the entire database can be dropped. - -To drop the predicate `name`: - -```sh -$ curl -X POST localhost:8080/alter -d '{"drop_attr": "name"}' -``` - -To drop the type `Film`: -```sh -$ curl -X POST localhost:8080/alter -d '{"drop_op": "TYPE", "drop_value": "Film"}' -``` - -To drop all data and schema: -```sh -$ curl -X POST localhost:8080/alter -d '{"drop_all": true}' -``` - -To drop all data only (keep schema): -```sh -$ curl -X POST localhost:8080/alter -d '{"drop_op": "DATA"}' -``` - -### Start a transaction - -Assume some initial accounts with balances have been populated. We now want to -transfer money from one account to the other. This is done in four steps: - -1. Create a new transaction. - -1. Inside the transaction, run a query to determine the current balances. - -2. Perform a mutation to update the balances. - -3. Commit the transaction. - -Starting a transaction doesn't require any interaction with Dgraph itself. -Some state needs to be set up for the transaction to use. The `start_ts` -can initially be set to 0. `keys` can start as an empty set. - -**For both query and mutation if the `start_ts` is provided as a path parameter, -then the operation is performed as part of the ongoing transaction. Otherwise, a -new transaction is initiated.** - -### Run a query - -To query the database, the `/query` endpoint is used. Remember to set the `Content-Type` header -to `application/graphql+-` in order to ensure that the body of the request is correctly parsed. - -To get the balances for both accounts: - -```sh -$ curl -H "Content-Type: application/graphql+-" -X POST localhost:8080/query -d $' -{ - balances(func: anyofterms(name, "Alice Bob")) { - uid - name - balance - } -}' | jq - -``` - -The result should look like this: - -```json -{ - "data": { - "balances": [ - { - "uid": "0x1", - "name": "Alice", - "balance": "100" - }, - { - "uid": "0x2", - "name": "Bob", - "balance": "70" - } - ] - }, - "extensions": { - "server_latency": { - "parsing_ns": 70494, - "processing_ns": 697140, - "encoding_ns": 1560151 - }, - "txn": { - "start_ts": 4, - } - } -} -``` - -Notice that along with the query result under the `data` field is additional -data in the `extensions -> txn` field. This data will have to be tracked by the -client. - -For queries, there is a `start_ts` in the response. This `start_ts` will need to -be used in all subsequent interactions with Dgraph for this transaction, and so -should become part of the transaction state. - -### Run a Mutation - -Now that we have the current balances, we need to send a mutation to Dgraph -with the updated balances. If Bob transfers $10 to Alice, then the RDFs to send -are: - -``` -<0x1> "110" . -<0x1> "Balance" . -<0x2> "60" . -<0x2> "Balance" . -``` - -Note that we have to refer to the Alice and Bob nodes by UID in the RDF format. - -We now send the mutations via the `/mutate` endpoint. We need to provide our -transaction start timestamp as a path parameter, so that Dgraph knows which -transaction the mutation should be part of. We also need to set `Content-Type` -header to `application/rdf` in order to specify that mutation is written in -rdf format. - -```sh -$ curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?startTs=4 -d $' -{ - set { - <0x1> "110" . - <0x1> "Balance" . - <0x2> "60" . - <0x2> "Balance" . - } -} -' | jq -``` - -The result: - -```json -{ - "data": { - "code": "Success", - "message": "Done", - "uids": {} - }, - "extensions": { - "server_latency": { - "parsing_ns": 50901, - "processing_ns": 14631082 - }, - "txn": { - "start_ts": 4, - "keys": [ - "2ahy9oh4s9csc", - "3ekeez23q5149" - ], - "preds": [ - "1-balance" - ] - } - } -} -``` - -We get some `keys`. These should be added to the set of `keys` stored in the -transaction state. We also get some `preds`, which should be added to the set of -`preds` stored in the transaction state. - -### Committing the transaction - -{{% notice "note" %}} -It's possible to commit immediately after a mutation is made (without requiring -to use the `/commit` endpoint as explained in this section). To do this, add -the parameter `commitNow` in the URL `/mutate?commitNow=true`. -{{% /notice %}} - -Finally, we can commit the transaction using the `/commit` endpoint. We need the -`start_ts` we've been using for the transaction along with the `keys` and the -`preds`. If we had performed multiple mutations in the transaction instead of -just one, then the keys and preds provided during the commit would be the union -of all keys and preds returned in the responses from the `/mutate` endpoint. - -The `preds` field is used to abort the transaction in cases where some of the -predicates are moved. This field is not required and the `/commit` endpoint also -accepts the old format, which was a single array of keys. - -```sh -$ curl -X POST localhost:8080/commit?startTs=4 -d $' -{ - "keys": [ - "2ahy9oh4s9csc", - "3ekeez23q5149" - ], - "preds": [ - "1-balance" - ] -}' | jq -``` - -The result: - -```json -{ - "data": { - "code": "Success", - "message": "Done" - }, - "extensions": { - "txn": { - "start_ts": 4, - "commit_ts": 5 - } - } -} -``` -The transaction is now complete. - -If another client were to perform another transaction concurrently affecting -the same keys, then it's possible that the transaction would *not* be -successful. This is indicated in the response when the commit is attempted. - -```json -{ - "errors": [ - { - "code": "Error", - "message": "Transaction has been aborted. Please retry." - } - ] -} -``` - -In this case, it should be up to the user of the client to decide if they wish -to retry the transaction. - -### Aborting the transaction -To abort a transaction, use the same `/commit` endpoint with the `abort=true` parameter -while specifying the `startTs` value for the transaction. - -```sh -$ curl -X POST "localhost:8080/commit?startTs=4&abort=true" | jq -``` - -The result: - -```json -{ - "code": "Success", - "message": "Done" -} -``` - -### Running read-only queries - -You can set the query parameter `ro=true` to `/query` to set it as a -[read-only]({{< relref "#read-only-transactions" >}}) query. - - -```sh -$ curl -H "Content-Type: application/graphql+-" -X POST "localhost:8080/query?ro=true" -d $' -{ - balances(func: anyofterms(name, "Alice Bob")) { - uid - name - balance - } -} -``` - -### Running best-effort queries - -You can set the query parameter `be=true` to `/query` to set it as a -[best-effort]({{< relref "#read-only-transactions" >}}) query. - - -```sh -$ curl -H "Content-Type: application/graphql+-" -X POST "localhost:8080/query?be=true" -d $' -{ - balances(func: anyofterms(name, "Alice Bob")) { - uid - name - balance - } -} -``` - -### Compression via HTTP - -Dgraph supports gzip-compressed requests to and from Dgraph Alphas for `/query`, `/mutate`, and `/alter`. - -Compressed requests: To send compressed requests, set the HTTP request header -`Content-Encoding: gzip` along with the gzip-compressed payload. - -Compressed responses: To receive gzipped responses, set the HTTP request header -`Accept-Encoding: gzip` and Alpha will return gzipped responses. - -Example of a compressed request via curl: - -```sh -$ curl -X POST \ - -H 'Content-Encoding: gzip' \ - -H "Content-Type: application/rdf" \ - localhost:8080/mutate?commitNow=true --data-binary @mutation.gz -``` - -Example of a compressed request via curl: - -```sh -$ curl -X POST \ - -H 'Accept-Encoding: gzip' \ - -H "Content-Type: application/graphql+-" \ - localhost:8080/query -d $'schema {}' | gzip --decompress -``` - -Example of a compressed request and response via curl: - -```sh -$ zcat query.gz # query.gz is gzipped compressed -{ - all(func: anyofterms(name, "Alice Bob")) { - uid - balance - } -} -``` - -```sh -$ curl -X POST \ - -H 'Content-Encoding: gzip' \ - -H 'Accept-Encoding: gzip' \ - -H "Content-Type: application/graphql+-" \ - localhost:8080/query --data-binary @query.gz | gzip --decompress -``` - -{{% notice "note" %}} -Curl has a `--compressed` option that automatically requests for a compressed response (`Accept-Encoding` header) and decompresses the compressed response. - -```sh -$ curl -X POST --compressed -H "Content-Type: application/graphql+-" localhost:8080/query -d $'schema {}' -``` -{{% /notice %}} - - -### Run a query in JSON format - -The HTTP API also accepts requests in JSON format. For queries you have the keys "query" and "variables". The JSON format is required to set [GraphQL Variables]({{< relref "query-language/index.md#graphql-variables" >}}) with the HTTP API. - -This query: - -``` -{ - balances(func: anyofterms(name, "Alice Bob")) { - uid - name - balance - } -} -``` - -Should be escaped to this: - -```sh -curl -H "Content-Type: application/json" localhost:8080/query -XPOST -d '{ - "query": "{\n balances(func: anyofterms(name, \"Alice Bob\")) {\n uid\n name\n balance\n }\n }" -}' | python -m json.tool | jq -``` diff --git a/wiki/content/clients/java.md b/wiki/content/clients/java.md new file mode 100644 index 00000000000..fdf049c5302 --- /dev/null +++ b/wiki/content/clients/java.md @@ -0,0 +1,17 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Java" +[menu.main] + parent = "clients" + weight = 4 ++++ + +The official Java client [can be found here](https://github.com/dgraph-io/dgraph4j). +Follow the instructions in the [README](https://github.com/dgraph-io/dgraph4j#readme) to get it up and running. + +More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgraph4j#supported-versions). + +We also have a [DgraphJavaSample] project, which contains an end-to-end +working example of how to use the Java client. + +[DgraphJavaSample]:https://github.com/dgraph-io/dgraph4j/tree/master/samples/DgraphJavaSample diff --git a/wiki/content/clients/javascript.md b/wiki/content/clients/javascript.md new file mode 100644 index 00000000000..74cf59d3d4a --- /dev/null +++ b/wiki/content/clients/javascript.md @@ -0,0 +1,29 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "JavaScript" +[menu.main] + parent = "clients" + weight = 5 ++++ + +## gRPC + +The official JavaScript gRPC client [can be found here](https://github.com/dgraph-io/dgraph-js). +Follow the instructions in the [README](https://github.com/dgraph-io/dgraph-js#readme) to get it up and running. + +More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgraph-js#supported-versions). + +We also have a [simple example](https://github.com/dgraph-io/dgraph-js/tree/master/examples/simple) +project, which contains an end-to-end working example of how to use the JavaScript gRPC client, +for Node.js >= v6. + +## HTTP + +The official JavaScript HTTP client [can be found here](https://github.com/dgraph-io/dgraph-js-http). +Follow the instructions in the [README](https://github.com/dgraph-io/dgraph-js-http#readme) to get it up and running. + +More details on the supported versions can be found at [this link](https://github.com/dgraph-io/dgraph-js-http#supported-versions). + +We also have a [simple example](https://github.com/dgraph-io/dgraph-js-http/tree/master/examples/simple) +project, which contains an end-to-end working example of how to use the JavaScript HTTP client, +for Node.js >= v6. \ No newline at end of file diff --git a/wiki/content/clients/overview.md b/wiki/content/clients/overview.md new file mode 100644 index 00000000000..8c32a7b9b16 --- /dev/null +++ b/wiki/content/clients/overview.md @@ -0,0 +1,55 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Overview" +[menu.main] + parent = "clients" + weight = 1 ++++ + +## Implementation + +Clients can communicate with the server in two different ways: + +- **Via [gRPC](http://www.grpc.io/).** Internally this uses [Protocol + Buffers](https://developers.google.com/protocol-buffers) (the proto file +used by Dgraph is located at +[api.proto](https://github.com/dgraph-io/dgo/blob/master/protos/api.proto)). + +- **Via HTTP.** There are various endpoints, each accepting and returning JSON. + There is a one to one correspondence between the HTTP endpoints and the gRPC +service methods. + + +It's possible to interface with Dgraph directly via gRPC or HTTP. However, if a +client library exists for you language, this will be an easier option. + +{{% notice "tip" %}} +For multi-node setups, predicates are assigned to the group that first sees that +predicate. Dgraph also automatically moves predicate data to different groups in +order to balance predicate distribution. This occurs automatically every 10 +minutes. It's possible for clients to aid this process by communicating with all +Dgraph instances. For the Go client, this means passing in one +`*grpc.ClientConn` per Dgraph instance. Mutations will be made in a round robin +fashion, resulting in an initially semi random predicate distribution. +{{% /notice %}} + +### Transactions + +Dgraph clients perform mutations and queries using transactions. A +transaction bounds a sequence of queries and mutations that are committed by +Dgraph as a single unit: that is, on commit, either all the changes are accepted +by Dgraph or none are. + +A transaction always sees the database state at the moment it began, plus any +changes it makes --- changes from concurrent transactions aren't visible. + +On commit, Dgraph will abort a transaction, rather than committing changes, when +a conflicting, concurrently running transaction has already been committed. Two +transactions conflict when both transactions: + +- write values to the same scalar predicate of the same node (e.g both + attempting to set a particular node's `address` predicate); or +- write to a singular `uid` predicate of the same node (changes to `[uid]` predicates can be concurrently written); or +- write a value that conflicts on an index for a predicate with `@upsert` set in the schema (see [upserts]({{< relref "howto/upserts.md">}})). + +When a transaction is aborted, all its changes are discarded. Transactions can be manually aborted. \ No newline at end of file diff --git a/wiki/content/clients/python.md b/wiki/content/clients/python.md new file mode 100644 index 00000000000..c0b9fbfce9b --- /dev/null +++ b/wiki/content/clients/python.md @@ -0,0 +1,16 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Python" +[menu.main] + parent = "clients" + weight = 6 ++++ + +The official Python client [can be found here](https://github.com/dgraph-io/pydgraph). +Follow the instructions in the [README](https://github.com/dgraph-io/pydgraph#readme) to get it +up and running. + +More details on the supported versions can be found at [this link](https://github.com/dgraph-io/pydgraph#supported-versions). + +We also have a [simple example](https://github.com/dgraph-io/pydgraph/tree/master/examples/simple) +project, which contains an end-to-end working example of how to use the Python client. diff --git a/wiki/content/clients/raw-http.md b/wiki/content/clients/raw-http.md new file mode 100644 index 00000000000..3bd38f09992 --- /dev/null +++ b/wiki/content/clients/raw-http.md @@ -0,0 +1,429 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Raw HTTP" +[menu.main] + parent = "clients" + weight = 8 ++++ + +{{% notice "warning" %}} +Raw HTTP needs more chops to use than our language clients. We wrote this guide to help you build a Dgraph client in a new language. +{{% /notice %}} + +It's also possible to interact with Dgraph directly via its HTTP endpoints. +This allows clients to be built for languages that don't have access to a +working gRPC implementation. + +In the examples shown here, regular command line tools such as `curl` and +[`jq`](https://stedolan.github.io/jq/) are used. However, the real intention +here is to show other programmers how they could implement a client in their +language on top of the HTTP API. For an example of how to build a client on top +of gRPC, refer to the implementation of the Go client. + +Similar to the Go client example, we use a bank account transfer example. + +## Create the Client + +A client built on top of the HTTP API will need to track three pieces of state +for each transaction. + +1. A start timestamp (`start_ts`). This uniquely identifies a transaction, + and doesn't change over the transaction lifecycle. + +2. The set of keys modified by the transaction (`keys`). This aids in + transaction conflict detection. + + Every mutation would send back a new set of keys. The client must merge them + with the existing set. Optionally, a client can de-dup these keys while + merging. + +3. The set of predicates modified by the transaction (`preds`). This aids in + predicate move detection. + + Every mutation would send back a new set of preds. The client must merge them + with the existing set. Optionally, a client can de-dup these keys while + merging. + +## Alter the database + +The `/alter` endpoint is used to create or change the schema. Here, the +predicate `name` is the name of an account. It's indexed so that we can look up +accounts based on their name. + +```sh +$ curl -X POST localhost:8080/alter -d \ +'name: string @index(term) . +type Person { + name +}' +``` + +If all goes well, the response should be `{"code":"Success","message":"Done"}`. + +Other operations can be performed via the `/alter` endpoint as well. A specific +predicate or the entire database can be dropped. + +To drop the predicate `name`: + +```sh +$ curl -X POST localhost:8080/alter -d '{"drop_attr": "name"}' +``` + +To drop the type `Film`: +```sh +$ curl -X POST localhost:8080/alter -d '{"drop_op": "TYPE", "drop_value": "Film"}' +``` + +To drop all data and schema: +```sh +$ curl -X POST localhost:8080/alter -d '{"drop_all": true}' +``` + +To drop all data only (keep schema): +```sh +$ curl -X POST localhost:8080/alter -d '{"drop_op": "DATA"}' +``` + +## Start a transaction + +Assume some initial accounts with balances have been populated. We now want to +transfer money from one account to the other. This is done in four steps: + +1. Create a new transaction. + +1. Inside the transaction, run a query to determine the current balances. + +2. Perform a mutation to update the balances. + +3. Commit the transaction. + +Starting a transaction doesn't require any interaction with Dgraph itself. +Some state needs to be set up for the transaction to use. The `start_ts` +can initially be set to 0. `keys` can start as an empty set. + +**For both query and mutation if the `start_ts` is provided as a path parameter, +then the operation is performed as part of the ongoing transaction. Otherwise, a +new transaction is initiated.** + +## Run a query + +To query the database, the `/query` endpoint is used. Remember to set the `Content-Type` header +to `application/graphql+-` in order to ensure that the body of the request is correctly parsed. + +To get the balances for both accounts: + +```sh +$ curl -H "Content-Type: application/graphql+-" -X POST localhost:8080/query -d $' +{ + balances(func: anyofterms(name, "Alice Bob")) { + uid + name + balance + } +}' | jq + +``` + +The result should look like this: + +```json +{ + "data": { + "balances": [ + { + "uid": "0x1", + "name": "Alice", + "balance": "100" + }, + { + "uid": "0x2", + "name": "Bob", + "balance": "70" + } + ] + }, + "extensions": { + "server_latency": { + "parsing_ns": 70494, + "processing_ns": 697140, + "encoding_ns": 1560151 + }, + "txn": { + "start_ts": 4, + } + } +} +``` + +Notice that along with the query result under the `data` field is additional +data in the `extensions -> txn` field. This data will have to be tracked by the +client. + +For queries, there is a `start_ts` in the response. This `start_ts` will need to +be used in all subsequent interactions with Dgraph for this transaction, and so +should become part of the transaction state. + +## Run a Mutation + +Now that we have the current balances, we need to send a mutation to Dgraph +with the updated balances. If Bob transfers $10 to Alice, then the RDFs to send +are: + +``` +<0x1> "110" . +<0x1> "Balance" . +<0x2> "60" . +<0x2> "Balance" . +``` + +Note that we have to refer to the Alice and Bob nodes by UID in the RDF format. + +We now send the mutations via the `/mutate` endpoint. We need to provide our +transaction start timestamp as a path parameter, so that Dgraph knows which +transaction the mutation should be part of. We also need to set `Content-Type` +header to `application/rdf` in order to specify that mutation is written in +rdf format. + +```sh +$ curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?startTs=4 -d $' +{ + set { + <0x1> "110" . + <0x1> "Balance" . + <0x2> "60" . + <0x2> "Balance" . + } +} +' | jq +``` + +The result: + +```json +{ + "data": { + "code": "Success", + "message": "Done", + "uids": {} + }, + "extensions": { + "server_latency": { + "parsing_ns": 50901, + "processing_ns": 14631082 + }, + "txn": { + "start_ts": 4, + "keys": [ + "2ahy9oh4s9csc", + "3ekeez23q5149" + ], + "preds": [ + "1-balance" + ] + } + } +} +``` + +We get some `keys`. These should be added to the set of `keys` stored in the +transaction state. We also get some `preds`, which should be added to the set of +`preds` stored in the transaction state. + +## Committing the transaction + +{{% notice "note" %}} +It's possible to commit immediately after a mutation is made (without requiring +to use the `/commit` endpoint as explained in this section). To do this, add +the parameter `commitNow` in the URL `/mutate?commitNow=true`. +{{% /notice %}} + +Finally, we can commit the transaction using the `/commit` endpoint. We need the +`start_ts` we've been using for the transaction along with the `keys` and the +`preds`. If we had performed multiple mutations in the transaction instead of +just one, then the keys and preds provided during the commit would be the union +of all keys and preds returned in the responses from the `/mutate` endpoint. + +The `preds` field is used to abort the transaction in cases where some of the +predicates are moved. This field is not required and the `/commit` endpoint also +accepts the old format, which was a single array of keys. + +```sh +$ curl -X POST localhost:8080/commit?startTs=4 -d $' +{ + "keys": [ + "2ahy9oh4s9csc", + "3ekeez23q5149" + ], + "preds": [ + "1-balance" + ] +}' | jq +``` + +The result: + +```json +{ + "data": { + "code": "Success", + "message": "Done" + }, + "extensions": { + "txn": { + "start_ts": 4, + "commit_ts": 5 + } + } +} +``` +The transaction is now complete. + +If another client were to perform another transaction concurrently affecting +the same keys, then it's possible that the transaction would *not* be +successful. This is indicated in the response when the commit is attempted. + +```json +{ + "errors": [ + { + "code": "Error", + "message": "Transaction has been aborted. Please retry." + } + ] +} +``` + +In this case, it should be up to the user of the client to decide if they wish +to retry the transaction. + +## Aborting the transaction +To abort a transaction, use the same `/commit` endpoint with the `abort=true` parameter +while specifying the `startTs` value for the transaction. + +```sh +$ curl -X POST "localhost:8080/commit?startTs=4&abort=true" | jq +``` + +The result: + +```json +{ + "code": "Success", + "message": "Done" +} +``` + +## Running read-only queries + +You can set the query parameter `ro=true` to `/query` to set it as a +[read-only]({{< relref "#read-only-transactions" >}}) query. + + +```sh +$ curl -H "Content-Type: application/graphql+-" -X POST "localhost:8080/query?ro=true" -d $' +{ + balances(func: anyofterms(name, "Alice Bob")) { + uid + name + balance + } +} +``` + +## Running best-effort queries + +You can set the query parameter `be=true` to `/query` to set it as a +[best-effort]({{< relref "#read-only-transactions" >}}) query. + + +```sh +$ curl -H "Content-Type: application/graphql+-" -X POST "localhost:8080/query?be=true" -d $' +{ + balances(func: anyofterms(name, "Alice Bob")) { + uid + name + balance + } +} +``` + +## Compression via HTTP + +Dgraph supports gzip-compressed requests to and from Dgraph Alphas for `/query`, `/mutate`, and `/alter`. + +Compressed requests: To send compressed requests, set the HTTP request header +`Content-Encoding: gzip` along with the gzip-compressed payload. + +Compressed responses: To receive gzipped responses, set the HTTP request header +`Accept-Encoding: gzip` and Alpha will return gzipped responses. + +Example of a compressed request via curl: + +```sh +$ curl -X POST \ + -H 'Content-Encoding: gzip' \ + -H "Content-Type: application/rdf" \ + localhost:8080/mutate?commitNow=true --data-binary @mutation.gz +``` + +Example of a compressed request via curl: + +```sh +$ curl -X POST \ + -H 'Accept-Encoding: gzip' \ + -H "Content-Type: application/graphql+-" \ + localhost:8080/query -d $'schema {}' | gzip --decompress +``` + +Example of a compressed request and response via curl: + +```sh +$ zcat query.gz # query.gz is gzipped compressed +{ + all(func: anyofterms(name, "Alice Bob")) { + uid + balance + } +} +``` + +```sh +$ curl -X POST \ + -H 'Content-Encoding: gzip' \ + -H 'Accept-Encoding: gzip' \ + -H "Content-Type: application/graphql+-" \ + localhost:8080/query --data-binary @query.gz | gzip --decompress +``` + +{{% notice "note" %}} +Curl has a `--compressed` option that automatically requests for a compressed response (`Accept-Encoding` header) and decompresses the compressed response. + +```sh +$ curl -X POST --compressed -H "Content-Type: application/graphql+-" localhost:8080/query -d $'schema {}' +``` +{{% /notice %}} + + +## Run a query in JSON format + +The HTTP API also accepts requests in JSON format. For queries you have the keys "query" and "variables". The JSON format is required to set [GraphQL Variables]({{< relref "query-language/graphql-variables.md" >}}) with the HTTP API. + +This query: + +``` +{ + balances(func: anyofterms(name, "Alice Bob")) { + uid + name + balance + } +} +``` + +Should be escaped to this: + +```sh +curl -H "Content-Type: application/json" localhost:8080/query -XPOST -d '{ + "query": "{\n balances(func: anyofterms(name, \"Alice Bob\")) {\n uid\n name\n balance\n }\n }" +}' | python -m json.tool | jq +``` diff --git a/wiki/content/clients/unofficial-clients.md b/wiki/content/clients/unofficial-clients.md new file mode 100644 index 00000000000..36f50bc6540 --- /dev/null +++ b/wiki/content/clients/unofficial-clients.md @@ -0,0 +1,38 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Unofficial Dgraph Clients" +[menu.main] + parent = "clients" + weight = 7 ++++ + +{{% notice "note" %}} +These third-party clients are contributed by the community and are not officially supported by Dgraph. +{{% /notice %}} + +## C\# + +- https://github.com/AlexandreDaSilva/DgraphNet + +## Dart + +- https://github.com/marceloneppel/dgraph + +## Elixir + +- https://github.com/liveforeverx/dlex +- https://github.com/ospaarmann/exdgraph + +## JavaScript + +- https://github.com/ashokvishwakarma/dgraph-orm +- https://github.com/gverse/gverse + +## Rust + +- https://github.com/Swoorup/dgraph-rs +- https://github.com/selmeci/dgraph-tonic + +## Apache Spark Connector + +- https://github.com/G-Research/spark-dgraph-connector \ No newline at end of file diff --git a/wiki/content/deploy/_index.md b/wiki/content/deploy/_index.md index e69de29bb2d..aac5e0f3b31 100644 --- a/wiki/content/deploy/_index.md +++ b/wiki/content/deploy/_index.md @@ -0,0 +1,15 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Deploy" +[menu.main] + url = "/deploy/" + identifier = "deploy" + weight = 8 ++++ + +This page talks about running Dgraph in various deployment modes, in a distributed fashion and involves +running multiple instances of Dgraph, over multiple servers in a cluster. + +## See Also + +* [Product Roadmap 2020](https://github.com/dgraph-io/dgraph/issues/4724) diff --git a/wiki/content/deploy/cluster-checklist.md b/wiki/content/deploy/cluster-checklist.md new file mode 100644 index 00000000000..44e3a18595d --- /dev/null +++ b/wiki/content/deploy/cluster-checklist.md @@ -0,0 +1,17 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Cluster Checklist" +[menu.main] + parent = "deploy" + weight = 11 ++++ + +In setting up a cluster be sure the check the following. + +* Is at least one Dgraph Zero node running? +* Is each Dgraph Alpha instance in the cluster set up correctly? +* Will each Dgraph Alpha instance be accessible to all peers on 7080 (+ any port offset)? +* Does each instance have a unique ID on startup? +* Has `--bindall=true` been set for networked communication? + +See the [Production Checklist]({{< relref "#production-checklist" >}}) docs for more info. \ No newline at end of file diff --git a/wiki/content/deploy/cluster-setup.md b/wiki/content/deploy/cluster-setup.md new file mode 100644 index 00000000000..0b0a85f145e --- /dev/null +++ b/wiki/content/deploy/cluster-setup.md @@ -0,0 +1,53 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Cluster Setup" +[menu.main] + parent = "deploy" + weight = 3 ++++ + +{{% notice "tip" %}} +For a single server setup, recommended for new users, please see [Get Started]({{< relref "get-started/index.md" >}}) page. +{{% /notice %}} + +## Understanding Dgraph cluster + +Dgraph is a truly distributed graph database - not a master-slave replication of +universal dataset. It shards by predicate and replicates predicates across the +cluster, queries can be run on any node and joins are handled over the +distributed data. A query is resolved locally for predicates the node stores, +and via distributed joins for predicates stored on other nodes. + +For effectively running a Dgraph cluster, it's important to understand how +sharding, replication and rebalancing works. + +### Sharding + +Dgraph colocates data per predicate (* P *, in RDF terminology), thus the +smallest unit of data is one predicate. To shard the graph, one or many +predicates are assigned to a group. Each Alpha node in the cluster serves a +single group. Dgraph Zero assigns a group to each Alpha node. + +### Shard rebalancing + +Dgraph Zero tries to rebalance the cluster based on the disk usage in each +group. If Zero detects an imbalance, it would try to move a predicate along with +its indices to a group that has minimum disk usage. This can make the predicate +temporarily read-only. Queries for the predicate will still be serviced, but any +mutations for the predicate will be rejected and should be retried after the +move is finished. + +Zero would continuously try to keep the amount of data on each server even, +typically running this check on a 10-min frequency. Thus, each additional +Dgraph Alpha instance would allow Zero to further split the predicates from +groups and move them to the new node. + +### Consistent Replication + +If `--replicas` flag is set to something greater than one, Zero would assign the +same group to multiple nodes. These nodes would then form a Raft group aka +quorum. Every write would be consistently replicated to the quorum. To achieve +consensus, its important that the size of quorum be an odd number. Therefore, we +recommend setting `--replicas` to 1, 3 or 5 (not 2 or 4). This allows 0, 1, or 2 +nodes serving the same group to be down, respectively without affecting the +overall health of that group. diff --git a/wiki/content/deploy/config.md b/wiki/content/deploy/config.md new file mode 100644 index 00000000000..3b3af7bc3f3 --- /dev/null +++ b/wiki/content/deploy/config.md @@ -0,0 +1,98 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Config" +[menu.main] + parent = "deploy" + weight = 2 ++++ + +{{% notice "tip" %}} +For a single server setup, recommended for new users, please see [Get Started]({{< relref "get-started/index.md" >}}) page. +{{% /notice %}} + +The full set of dgraph's configuration options (along with brief descriptions) +can be viewed by invoking dgraph with the `--help` flag. For example, to see +the options available for `dgraph alpha`, run `dgraph alpha --help`. + +The options can be configured in multiple ways (from highest precedence to +lowest precedence): + +- Using command line flags (as described in the help output). +- Using environment variables. +- Using a configuration file. + +If no configuration for an option is used, then the default value as described +in the `--help` output applies. + +Multiple configuration methods can be used all at the same time. E.g. a core +set of options could be set in a config file, and instance specific options +could be set using environment vars or flags. + +The environment variable names mirror the flag names as seen in the `--help` +output. They are the concatenation of `DGRAPH`, the subcommand invoked +(`ALPHA`, `ZERO`, `LIVE`, or `BULK`), and then the name of the flag (in +uppercase). For example, instead of using `dgraph alpha --lru_mb=8096`, you +could use `DGRAPH_ALPHA_LRU_MB=8096 dgraph alpha`. + +Configuration file formats supported are JSON, TOML, YAML, HCL, and Java +properties (detected via file extension). The file extensions are .json, .toml, +.yml or .yaml, .hcl, and .properties for each format. + +A configuration file can be specified using the `--config` flag, or an +environment variable. E.g. `dgraph zero --config my_config.json` or +`DGRAPH_ZERO_CONFIG=my_config.json dgraph zero`. + +The config file structure is just simple key/value pairs (mirroring the flag +names). + +Example JSON config file (config.json): + +```json +{ + "my": "localhost:7080", + "zero": "localhost:5080", + "lru_mb": 4096, + "postings": "/path/to/p", + "wal": "/path/to/w" +} +``` + +Example TOML config file (config.toml): + +```toml +my = "localhost:7080" +zero = "localhost:5080" +lru_mb = 4096 +postings = "/path/to/p" +wal = "/path/to/w" +``` + + +Example YAML config file (config.yml): + +```yaml +my: "localhost:7080" +zero: "localhost:5080" +lru_mb: 4096 +postings: "/path/to/p" +wal: "/path/to/w" +``` + +Example HCL config file (config.hcl): + +```hcl +my = "localhost:7080" +zero = "localhost:5080" +lru_mb = 4096 +postings = "/path/to/p" +wal = "/path/to/w" +``` + +Example Java properties config file (config.properties): +```text +my=localhost:7080 +zero=localhost:5080 +lru_mb=4096 +postings=/path/to/p +wal=/path/to/w +``` diff --git a/wiki/content/deploy/data-compression.md b/wiki/content/deploy/data-compression.md new file mode 100644 index 00000000000..e551d204143 --- /dev/null +++ b/wiki/content/deploy/data-compression.md @@ -0,0 +1,19 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Data compression on disk" +[menu.main] + parent = "deploy" + weight = 17 ++++ + +Alpha exposes the option `--badger.compression_level` to configure the compression +level for data on disk using Zstd compression. The option can be set as + +```sh +dgraph alpha --badger.compression_level=xxx +``` + +A higher compression level is more CPU intensive but offers a better compression +ratio. The default level is 3. + +This option is available in v20.03.1 and later. \ No newline at end of file diff --git a/wiki/content/deploy/dgraph-administration.md b/wiki/content/deploy/dgraph-administration.md new file mode 100644 index 00000000000..321e8636f6d --- /dev/null +++ b/wiki/content/deploy/dgraph-administration.md @@ -0,0 +1,209 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Dgraph Administration" +[menu.main] + parent = "deploy" + weight = 18 ++++ + +Each Dgraph Alpha exposes administrative operations over HTTP to export data and to perform a clean shutdown. + +## Whitelisting Admin Operations + +By default, admin operations can only be initiated from the machine on which the Dgraph Alpha runs. +You can use the `--whitelist` option to specify whitelisted IP addresses and ranges for hosts from which admin operations can be initiated. + +```sh +dgraph alpha --whitelist 172.17.0.0:172.20.0.0,192.168.1.1 --lru_mb ... +``` +This would allow admin operations from hosts with IP between `172.17.0.0` and `172.20.0.0` along with +the server which has IP address as `192.168.1.1`. + +## Restricting Mutation Operations + +By default, you can perform mutation operations for any predicate. +If the predicate in mutation doesn't exist in the schema, +the predicate gets added to the schema with an appropriate +[Dgraph Type]({{< relref "query-language/schema.md" >}}). + +You can use `--mutations disallow` to disable all mutations, +which is set to `allow` by default. + +```sh +dgraph alpha --mutations disallow +``` + +Enforce a strict schema by setting `--mutations strict`. +This mode allows mutations only on predicates already in the schema. +Before performing a mutation on a predicate that doesn't exist in the schema, +you need to perform an alter operation with that predicate and its schema type. + +```sh +dgraph alpha --mutations strict +``` + +## Securing Alter Operations + +Clients can use alter operations to apply schema updates and drop particular or all predicates from the database. +By default, all clients are allowed to perform alter operations. +You can configure Dgraph to only allow alter operations when the client provides a specific token. +This can be used to prevent clients from making unintended or accidental schema updates or predicate drops. + +You can specify the auth token with the `--auth_token` option for each Dgraph Alpha in the cluster. +Clients must include the same auth token to make alter requests. + +```sh +$ dgraph alpha --lru_mb=2048 --auth_token= +``` + +```sh +$ curl -s localhost:8080/alter -d '{ "drop_all": true }' +# Permission denied. No token provided. +``` + +```sh +$ curl -s -H 'X-Dgraph-AuthToken: ' localhost:8180/alter -d '{ "drop_all": true }' +# Permission denied. Incorrect token. +``` + +```sh +$ curl -H 'X-Dgraph-AuthToken: ' localhost:8180/alter -d '{ "drop_all": true }' +# Success. Token matches. +``` + +{{% notice "note" %}} +To fully secure alter operations in the cluster, the auth token must be set for every Alpha. +{{% /notice %}} + + +## Exporting Database + +An export of all nodes is started by locally executing the following GraphQL mutation on /admin endpoint using any compatible client like Insomnia, GraphQL Playground or GraphiQL. + +```graphql +mutation { + export(input: {format: "rdf"}) { + response { + message + code + } + } +} +``` +{{% notice "warning" %}}By default, this won't work if called from outside the server where the Dgraph Alpha is running. +You can specify a list or range of whitelisted IP addresses from which export or other admin operations +can be initiated using the `--whitelist` flag on `dgraph alpha`. +{{% /notice %}} + +This triggers an export for all Alpha groups of the cluster. The data is exported from the following Dgraph instances: + +1. For the Alpha instance that receives the GET request, the group's export data is stored with this Alpha. +2. For every other group, its group's export data is stored with the Alpha leader of that group. + +It is up to the user to retrieve the right export files from the Alphas in the +cluster. Dgraph does not copy all files to the Alpha that initiated the export. +The user must also ensure that there is sufficient space on disk to store the +export. + +Each Alpha leader for a group writes output as a gzipped file to the export +directory specified via the `--export` flag (defaults to a directory called `"export"`). If any of the groups fail, the +entire export process is considered failed and an error is returned. + +The data is exported in RDF format by default. A different output format may be specified with the +`format` field. For example: + +```graphql +mutation { + export(input: {format: "json"}) { + response { + message + code + } + } +} +``` + +Currently, "rdf" and "json" are the only formats supported. + +### Encrypting Exports + +Export is available wherever an Alpha is running. To encrypt an export, the Alpha must be configured with the `encryption-key-file`. + +{{% notice "note" %}} +The `encryption-key-file` was used for `encryption-at-rest` and will now also be used for encrypted backups and exports. +{{% /notice %}} + +## Shutting Down Database + +A clean exit of a single Dgraph node is initiated by running the following GraphQL mutation on /admin endpoint. +{{% notice "warning" %}}This won't work if called from outside the server where Dgraph is running. +You can specify a list or range of whitelisted IP addresses from which shutdown or other admin operations +can be initiated using the `--whitelist` flag on `dgraph alpha`. +{{% /notice %}} + +```graphql +mutation { + shutdown { + response { + message + code + } + } +} +``` + +This stops the Alpha on which the command is executed and not the entire cluster. + +## Deleting database + +Individual triples, patterns of triples and predicates can be deleted as described in the [query languge docs](/query-language#delete). + +To drop all data, you could send a `DropAll` request via `/alter` endpoint. + +Alternatively, you could: + +* [Shutdown Dgraph]({{< relref "#shutting-down-database" >}}) and wait for all writes to complete, +* Delete (maybe do an export first) the `p` and `w` directories, then +* Restart Dgraph. + +## Upgrading Database + +Doing periodic exports is always a good idea. This is particularly useful if you wish to upgrade Dgraph or reconfigure the sharding of a cluster. The following are the right steps to safely export and restart. + +1. Start an [export]({{< relref "#exporting-database">}}) +2. Ensure it is successful +3. [Shutdown Dgraph]({{< relref "#shutting-down-database" >}}) and wait for all writes to complete +4. Start a new Dgraph cluster using new data directories (this can be done by passing empty directories to the options `-p` and `-w` for Alphas and `-w` for Zeros) +5. Reload the data via [bulk loader]({{< relref "#bulk-loader" >}}) +6. Verify the correctness of the new Dgraph cluster. If all looks good, you can delete the old directories (export serves as an insurance) + +These steps are necessary because Dgraph's underlying data format could have changed, and reloading the export avoids encoding incompatibilities. + +Blue-green deployment is a common approach to minimize downtime during the upgrade process. +This approach involves switching your application to read-only mode. To make sure that no mutations are executed during the maintenance window you can +do a rolling restart of all your Alpha using the option `--mutations disallow` when you restart the Alphas. This will ensure the cluster is in read-only mode. + +At this point your application can still read from the old cluster and you can perform the steps 4. and 5. described above. +When the new cluster (that uses the upgraded version of Dgraph) is up and running, you can point your application to it, and shutdown the old cluster. + +### Upgrading from v1.2.2 to v20.03.0 for Enterprise Customers + +1. Use [binary]({{< relref "enterprise-features/binary-backups.md">}}) backup to export data from old cluster +2. Ensure it is successful +3. [Shutdown Dgraph]({{< relref "#shutting-down-database" >}}) and wait for all writes to complete +4. Upgrade `dgraph` binary to `v20.03.0` +5. [Restore]({{< relref "enterprise-features/binary-backups.md#restore-from-backup">}}) from the backups using upgraded `dgraph` binary +6. Start a new Dgraph cluster using the restored data directories +7. Upgrade ACL data using the following command: + +``` +dgraph upgrade --acl -a localhost:9080 -u groot -p password +``` + +{{% notice "note" %}} +If you are upgrading from v1.0, please make sure you follow the schema migration steps described in [this section](/howto/#schema-types-scalar-uid-and-list-uid). +{{% /notice %}} + +## Post Installation + +Now that Dgraph is up and running, to understand how to add and query data to Dgraph, follow [Query Language Spec](/query-language). Also, have a look at [Frequently asked questions](/faq). diff --git a/wiki/content/deploy/dgraph-alpha.md b/wiki/content/deploy/dgraph-alpha.md new file mode 100644 index 00000000000..b3e126a4343 --- /dev/null +++ b/wiki/content/deploy/dgraph-alpha.md @@ -0,0 +1,84 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "More about Dgraph Alpha" +[menu.main] + parent = "deploy" + weight = 7 ++++ + +On its HTTP port, a Dgraph Alpha exposes a number of admin endpoints. +{{% notice "warning" %}} +These HTTP endpoints are deprecated and will be removed in the next release. Please use the GraphQL endpoint at /admin. +{{% /notice %}} + +* `/health?all` returns information about the health of all the servers in the cluster. +* `/admin/shutdown` initiates a proper [shutdown]({{< relref "#shutdown" >}}) of the Alpha. +* `/admin/export` initiates a data [export]({{< relref "#export" >}}). The exported data will be +encrypted if the alpha instance was configured with an encryption key file. + +By default the Alpha listens on `localhost` for admin actions (the loopback address only accessible from the same machine). The `--bindall=true` option binds to `0.0.0.0` and thus allows external connections. + +{{% notice "tip" %}}Set max file descriptors to a high value like 10000 if you are going to load a lot of data.{{% /notice %}} + +## Querying Health + +You can query the `/admin` graphql endpoint with a query like the one below to get a JSON consisting of basic information about health of all the servers in the cluster. + +```graphql +query { + health { + instance + address + version + status + lastEcho + group + uptime + ongoing + indexing + } +} +``` + +Here’s an example of JSON returned from the above query: + +```json +{ + "data": { + "health": [ + { + "instance": "zero", + "address": "localhost:5080", + "version": "v2.0.0-rc1", + "status": "healthy", + "lastEcho": 1582827418, + "group": "0", + "uptime": 1504 + }, + { + "instance": "alpha", + "address": "localhost:7080", + "version": "v2.0.0-rc1", + "status": "healthy", + "lastEcho": 1582827418, + "group": "1", + "uptime": 1505, + "ongoing": ["opIndexing"], + "indexing": ["name", "age"] + } + ] + } +} +``` + +- `instance`: Name of the instance. Either `alpha` or `zero`. +- `status`: Health status of the instance. Either `healthy` or `unhealthy`. +- `version`: Version of Dgraph running the Alpha or Zero server. +- `uptime`: Time in nanoseconds since the Alpha or Zero server is up and running. +- `address`: IP_ADDRESS:PORT of the instance. +- `group`: Group assigned based on the replication factor. Read more [here]({{< relref "/deploy/cluster-setup.md" >}}). +- `lastEcho`: Last time, in Unix epoch, when the instance was contacted by another Alpha or Zero server. +- `ongoing`: List of ongoing operations in the background. +- `indexing`: List of predicates for which indexes are built in the background. Read more [here]({{< relref "/query-language/schema.md#indexes-in-background" >}}). + +The same information (except `ongoing` and `indexing`) is available from the `/health` and `/health?all` endpoints of Alpha server. \ No newline at end of file diff --git a/wiki/content/deploy/dgraph-zero.md b/wiki/content/deploy/dgraph-zero.md new file mode 100644 index 00000000000..74da4f20734 --- /dev/null +++ b/wiki/content/deploy/dgraph-zero.md @@ -0,0 +1,182 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "More about Dgraph Zero" +[menu.main] + parent = "deploy" + weight = 8 ++++ + +Dgraph Zero controls the Dgraph cluster. It automatically moves data between +different Dgraph Alpha instances based on the size of the data served by each Alpha instance. + +It is mandatory to run at least one `dgraph zero` node before running any `dgraph alpha`. +Options present for `dgraph zero` can be seen by running `dgraph zero --help`. + +* Zero stores information about the cluster. +* `--replicas` is the option that controls the replication factor. (i.e. number of replicas per data shard, including the original shard) +* When a new Alpha joins the cluster, it is assigned a group based on the replication factor. If the replication factor is 1 then each Alpha node will serve different group. If replication factor is 2 and you launch 4 Alphas, then first two Alphas would serve group 1 and next two machines would serve group 2. +* Zero also monitors the space occupied by predicates in each group and moves them around to rebalance the cluster. + +Like Alpha, Zero also exposes HTTP on 6080 (+ any `--port_offset`). You can query (**GET** request) it +to see useful information, like the following: + +* `/state` Information about the nodes that are part of the cluster. Also contains information about +size of predicates and groups they belong to. +* `/assign?what=uids&num=100` This would allocate `num` uids and return a JSON map +containing `startId` and `endId`, both inclusive. This id range can be safely assigned +externally to new nodes during data ingestion. +* `/assign?what=timestamps&num=100` This would request timestamps from Zero. +This is useful to fast forward Zero state when starting from a postings +directory, which already has commits higher than Zero's leased timestamp. +* `/removeNode?id=3&group=2` If a replica goes down and can't be recovered, you +can remove it and add a new node to the quorum. This endpoint can be used to +remove a dead Zero or Dgraph Alpha node. To remove dead Zero nodes, pass +`group=0` and the id of the Zero node. + +{{% notice "note" %}} +Before using the API ensure that the node is down and ensure that it doesn't come back up ever again. + +You should not use the same `idx` of a node that was removed earlier. +{{% /notice %}} + +* `/moveTablet?tablet=name&group=2` This endpoint can be used to move a tablet to a group. Zero +already does shard rebalancing every 8 mins, this endpoint can be used to force move a tablet. + + +These are the **POST** endpoints available: + +* `/enterpriseLicense` Use endpoint to apply an enterprise license to the cluster by supplying it +as part of the body. + +## More about /state endpoint + +The `/state` endpoint of Dgraph Zero returns a JSON document of the current group membership info: + +- Instances which are part of the cluster. +- Number of instances in Zero group and each Alpha groups. +- Current leader of each group. +- Predicates that belong to a group. +- Estimated size in bytes of each predicate. +- Enterprise license information. +- Max Leased transaction ID. +- Max Leased UID. +- CID (Cluster ID). + +Here’s an example of JSON returned from `/state` endpoint for a 6-node Dgraph cluster with three replicas: + +```json +{ + "counter": "15", + "groups": { + "1": { + "members": { + "1": { + "id": "1", + "groupId": 1, + "addr": "alpha1:7080", + "leader": true, + "lastUpdate": "1576112366" + }, + "2": { + "id": "2", + "groupId": 1, + "addr": "alpha2:7080" + }, + "3": { + "id": "3", + "groupId": 1, + "addr": "alpha3:7080" + } + }, + "tablets": { + "counter.val": { + "groupId": 1, + "predicate": "counter.val" + }, + "dgraph.type": { + "groupId": 1, + "predicate": "dgraph.type" + } + }, + "checksum": "1021598189643258447" + } + }, + "zeros": { + "1": { + "id": "1", + "addr": "zero1:5080", + "leader": true + }, + "2": { + "id": "2", + "addr": "zero2:5080" + }, + "3": { + "id": "3", + "addr": "zero3:5080" + } + }, + "maxLeaseId": "10000", + "maxTxnTs": "10000", + "cid": "3602537a-ee49-43cb-9792-c766eea683dc", + "license": { + "maxNodes": "18446744073709551615", + "expiryTs": "1578704367", + "enabled": true + } +} +``` + +Here’s the information the above JSON document provides: + +- Group 0 + - members + - zero1:5080, id: 1, leader + - zero2:5080, id: 2 + - zero3:5080, id: 3 +- Group 1 + - members + - alpha1:7080, id: 1, leader + - alpha2:7080, id: 2 + - alpha3:7080, id: 3 + - predicates + - dgraph.type + - counter.val +- Enterprise license + - Enabled + - maxNodes: unlimited + - License expires on Friday, January 10, 2020 4:59:27 PM GMT-08:00 (converted from epoch timestamp) +- Other data: + - maxTxnTs + - The current max lease of transaction timestamps used to hand out start timestamps + and commit timestamps. + - This increments in batches of 10,000 IDs. Once the max lease is reached, another + 10,000 IDs are leased. In the event that the Zero leader is lost, then the new + leader starts a brand new lease from maxTxnTs+1 . Any lost transaction IDs + in-between will never be used. + - An admin can use the Zero endpoint HTTP GET `/assign?what=timestamps&num=1000` to + increase the current transaction timestamp (in this case, by 1000). This is mainly + useful in special-case scenarios, e.g., using an existing p directory to a fresh + cluster in order to be able to query the latest data in the DB. + - maxLeaseId + - The current max lease of UIDs used for blank node UID assignment. + - This increments in batches of 10,000 IDs. Once the max lease is reached, another + 10,000 IDs are leased. In the event that the Zero leader is lost, the new leader + starts a brand new lease from maxLeaseId+1. Any UIDs lost in-between will never + be used for blank-node UID assignment. + - An admin can use the Zero endpoint HTTP GET `/assign?what=uids&num=1000` to + reserve a range of UIDs (in this case, 1000) to use externally (Zero will NEVER + use these UIDs for blank node UID assignment, so the user can use the range + to assign UIDs manually to their own data sets. + - CID + - This is a unique UUID representing the *cluster-ID* for this cluster. It is generated + during the initial DB startup and is retained across restarts. + - Group checksum + - This is the checksum verification of the data per Alpha group. This is used internally + to verify group memberships in the event of a tablet move. + +{{% notice "note" %}} +"tablet", "predicate", and "edge" are synonymous terms today. The future plan to +improve data scalability is to shard a predicate into separate tablets that could +be assigned to different groups. +{{% /notice %}} \ No newline at end of file diff --git a/wiki/content/deploy/download.md b/wiki/content/deploy/download.md new file mode 100644 index 00000000000..9004c0c7e9d --- /dev/null +++ b/wiki/content/deploy/download.md @@ -0,0 +1,112 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Download" +[menu.main] + parent = "deploy" + weight = 1 ++++ + +{{% notice "tip" %}} +For a single server setup, recommended for new users, please see [Get Started]({{< relref "get-started/index.md" >}}) page. +{{% /notice %}} + +## Docker + +```sh +docker pull dgraph/dgraph:{{< version >}} + +# You can test that it worked fine, by running: +docker run -it dgraph/dgraph:{{< version >}} dgraph +``` + +## Automatic download + +Running + +```sh +curl https://get.dgraph.io -sSf | bash + +# Test that it worked fine, by running: +dgraph +``` + +would install the `dgraph` binary into your system. + +Other instalation options: + +> Add `-s --` before the flags.() +`-y | --accept-license`: Automatically agree to the terms of the Dgraph Community License (default: "n"). + +`-s | --systemd`: Automatically create Dgraph's installation as Systemd services (default: "n"). + +`-v | --version`: Choose Dgraph's version manually (default: The latest stable release, you can do tag combinations e.g v2.0.0-beta1 or -rc1). + +>Installing Dgraph and requesting the automatic creation of systemd service. e.g: + +```sh +curl https://get.dgraph.io -sSf | bash -s -- --systemd +``` + +Using Environment variables: + +`ACCEPT_LICENSE`: Automatically agree to the terms of the Dgraph Community License (default: "n"). + +`INSTALL_IN_SYSTEMD`: Automatically create Dgraph's installation as Systemd services (default: "n"). + +`VERSION`: Choose Dgraph's version manually (default: The latest stable release). + +```sh +curl https://get.dgraph.io -sSf | VERSION=v2.0.0-beta1 bash +``` + +{{% notice "note" %}} +Be aware that using this script will overwrite the installed version and can lead to compatibility problems. For example, if you were using version v1.0.5 and forced the installation of v2.0.0-Beta, the existing data won't be compatible with the new version. The data must be [exported]({{< relref "deploy/index.md#exporting-database" >}}) before running this script and reimported to the new cluster running the updated version. +{{% /notice %}} + +## Manual download [optional] + +If you don't want to follow the automatic installation method, you could manually download the appropriate tar for your platform from **[Dgraph releases](https://github.com/dgraph-io/dgraph/releases)**. After downloading the tar for your platform from Github, extract the binary to `/usr/local/bin` like so. + +```sh +# For Linux +$ sudo tar -C /usr/local/bin -xzf dgraph-linux-amd64-VERSION.tar.gz + +# For Mac +$ sudo tar -C /usr/local/bin -xzf dgraph-darwin-amd64-VERSION.tar.gz + +# Test that it worked fine, by running: +dgraph +``` + +## Building from Source + +{{% notice "note" %}} +You can build the Ratel UI from source seperately following its build +[instructions](https://github.com/dgraph-io/ratel/blob/master/INSTRUCTIONS.md). +Ratel UI is distributed via Dgraph releases using any of the download methods +listed above. +{{% /notice %}} + +Make sure you have [Go](https://golang.org/dl/) v1.11+ installed. + +You'll need the following dependencies to install Dgraph using `make`: +```bash +sudo apt-get update +sudo apt-get install gcc make +``` + +After installing Go, run +```sh +# This should install dgraph binary in your $GOPATH/bin. + +git clone https://github.com/dgraph-io/dgraph.git +cd ./dgraph +make install +``` + +If you get errors related to `grpc` while building them, your +`go-grpc` version might be outdated. We don't vendor in `go-grpc`(because it +causes issues while using the Go client). Update your `go-grpc` by running. +```sh +go get -u -v google.golang.org/grpc +``` \ No newline at end of file diff --git a/wiki/content/deploy/fast-data-loading.md b/wiki/content/deploy/fast-data-loading.md new file mode 100644 index 00000000000..0669bec72c2 --- /dev/null +++ b/wiki/content/deploy/fast-data-loading.md @@ -0,0 +1,312 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Fast Data Loading" +[menu.main] + parent = "deploy" + weight = 12 ++++ + +There are two different tools that can be used for fast data loading: + +- `dgraph live` runs the Dgraph Live Loader +- `dgraph bulk` runs the Dgraph Bulk Loader + +{{% notice "note" %}} Both tools only accept [RDF N-Quad/Triple +data](https://www.w3.org/TR/n-quads/) or JSON in plain or gzipped format. Data +in other formats must be converted.{{% /notice %}} + +## Live Loader + +Dgraph Live Loader (run with `dgraph live`) is a small helper program which reads RDF N-Quads from a gzipped file, batches them up, creates mutations (using the go client) and shoots off to Dgraph. + +Dgraph Live Loader correctly handles assigning unique IDs to blank nodes across multiple files, and can optionally persist them to disk to save memory, in case the loader was re-run. + +{{% notice "note" %}} Dgraph Live Loader can optionally write the xid->uid mapping to a directory specified using the `--xidmap` flag, which can reused +given that live loader completed successfully in the previous run.{{% /notice %}} + +```sh +$ dgraph live --help # To see the available flags. + +# Read RDFs or JSON from the passed file, and send them to Dgraph on localhost:9080. +$ dgraph live -f + +# Read multiple RDFs or JSON from the passed path, and send them to Dgraph on localhost:9080. +$ dgraph live -f <./path-to-gzipped-RDF-or-JSON-files> + +# Read multiple files strictly by name. +$ dgraph live -f + +# Use compressed gRPC connections to and from Dgraph. +$ dgraph live -C -f + +# Read RDFs and a schema file and send to Dgraph running at given address. +$ dgraph live -f -s -a -z +``` + +### Encrypted imports via Live Loader + +A new flag keyfile is added to the Live Loader. This option is required to decrypt the encrypted export data and schema files. Once the export files are decrypted, the Live Loader streams the data to a live Alpha instance. + +{{% notice "note" %}} +If the live Alpha instance has encryption turned on, the `p` directory will be encrypted. Otherwise, the `p` directory is unencrypted. +{{% /notice %}} + +### Encrypted RDF/JSON file and schema via Live Loader +`dgraph live -f -s -keyfile ` + +### Other Live Loader options + +`--new_uids` (default: false): Assign new UIDs instead of using the existing +UIDs in data files. This is useful to avoid overriding the data in a DB already +in operation. + +`-f, --files`: Location of *.rdf(.gz) or *.json(.gz) file(s) to load. It can +load multiple files in a given path. If the path is a directory, then all files +ending in .rdf, .rdf.gz, .json, and .json.gz will be loaded. + +`--format`: Specify file format (rdf or json) instead of getting it from +filenames. This is useful if you need to define a strict format manually. + +`-b, --batch` (default: 1000): Number of N-Quads to send as part of a mutation. + +`-c, --conc` (default: 10): Number of concurrent requests to make to Dgraph. +Do not confuse with `-C`. + +`-C, --use_compression` (default: false): Enable compression for connections to and from the +Alpha server. + +`-a, --alpha` (default: `localhost:9080`): Dgraph Alpha gRPC server address to connect for live loading. This can be a comma-separated list of Alphas addresses in the same cluster to distribute the load, e.g., `"alpha:grpc_port,alpha2:grpc_port,alpha3:grpc_port"`. + +`-x, --xidmap` (default: disabled. Need a path): Store xid to uid mapping to a directory. Dgraph will save all identifiers used in the load for later use in other data ingest operations. The mapping will be saved in the path you provide and you must indicate that same path in the next load. It is recommended to use this flag if you have full control over your identifiers (Blank-nodes). Because the identifier will be mapped to a specific UID. + +## Bulk Loader + +{{% notice "note" %}} +It's crucial to tune the bulk loader's flags to get good performance. See the +section below for details. +{{% /notice %}} + +Dgraph Bulk Loader serves a similar purpose to the Dgraph Live Loader, but can +only be used to load data into a new cluster. It cannot be run on an existing +Dgraph cluster. Dgraph Bulk Loader is **considerably faster** than the Dgraph +Live Loader and is the recommended way to perform the initial import of large +datasets into Dgraph. + +Only one or more Dgraph Zeros should be running for bulk loading. Dgraph Alphas +will be started later. + +{{% notice "warning" %}} +Don't use bulk loader once the Dgraph cluster is up and running. Use it to import +your existing data to a new cluster. +{{% /notice %}} + +You can [read some technical details](https://blog.dgraph.io/post/bulkloader/) +about the bulk loader on the blog. + +See [Fast Data Loading]({{< relref "#fast-data-loading" >}}) for more info about +the expected N-Quads format. + +**Reduce shards**: Before running the bulk load, you need to decide how many +Alpha groups will be running when the cluster starts. The number of Alpha groups +will be the same number of reduce shards you set with the `--reduce_shards` +flag. For example, if your cluster will run 3 Alpha with 3 replicas per group, +then there is 1 group and `--reduce_shards` should be set to 1. If your cluster +will run 6 Alphas with 3 replicas per group, then there are 2 groups and +`--reduce_shards` should be set to 2. + +**Map shards**: The `--map_shards` option must be set to at least what's set for +`--reduce_shards`. A higher number helps the bulk loader evenly distribute +predicates between the reduce shards. + +```sh +$ dgraph bulk -f goldendata.rdf.gz -s goldendata.schema --map_shards=4 --reduce_shards=2 --http localhost:8000 --zero=localhost:5080 +``` +``` +{ + "DataFiles": "goldendata.rdf.gz", + "DataFormat": "", + "SchemaFile": "goldendata.schema", + "DgraphsDir": "out", + "TmpDir": "tmp", + "NumGoroutines": 4, + "MapBufSize": 67108864, + "ExpandEdges": true, + "SkipMapPhase": false, + "CleanupTmp": true, + "NumShufflers": 1, + "Version": false, + "StoreXids": false, + "ZeroAddr": "localhost:5080", + "HttpAddr": "localhost:8000", + "IgnoreErrors": false, + "MapShards": 4, + "ReduceShards": 2 +} +The bulk loader needs to open many files at once. This number depends on the size of the data set loaded, the map file output size, and the level of indexing. 100,000 is adequate for most data set sizes. See `man ulimit` for details of how to change the limit. +Current max open files limit: 1024 +MAP 01s rdf_count:176.0 rdf_speed:174.4/sec edge_count:564.0 edge_speed:558.8/sec +MAP 02s rdf_count:399.0 rdf_speed:198.5/sec edge_count:1.291k edge_speed:642.4/sec +MAP 03s rdf_count:666.0 rdf_speed:221.3/sec edge_count:2.164k edge_speed:718.9/sec +MAP 04s rdf_count:952.0 rdf_speed:237.4/sec edge_count:3.014k edge_speed:751.5/sec +MAP 05s rdf_count:1.327k rdf_speed:264.8/sec edge_count:4.243k edge_speed:846.7/sec +MAP 06s rdf_count:1.774k rdf_speed:295.1/sec edge_count:5.720k edge_speed:951.5/sec +MAP 07s rdf_count:2.375k rdf_speed:338.7/sec edge_count:7.607k edge_speed:1.085k/sec +MAP 08s rdf_count:3.697k rdf_speed:461.4/sec edge_count:11.89k edge_speed:1.484k/sec +MAP 09s rdf_count:71.98k rdf_speed:7.987k/sec edge_count:225.4k edge_speed:25.01k/sec +MAP 10s rdf_count:354.8k rdf_speed:35.44k/sec edge_count:1.132M edge_speed:113.1k/sec +MAP 11s rdf_count:610.5k rdf_speed:55.39k/sec edge_count:1.985M edge_speed:180.1k/sec +MAP 12s rdf_count:883.9k rdf_speed:73.52k/sec edge_count:2.907M edge_speed:241.8k/sec +MAP 13s rdf_count:1.108M rdf_speed:85.10k/sec edge_count:3.653M edge_speed:280.5k/sec +MAP 14s rdf_count:1.121M rdf_speed:79.93k/sec edge_count:3.695M edge_speed:263.5k/sec +MAP 15s rdf_count:1.121M rdf_speed:74.61k/sec edge_count:3.695M edge_speed:246.0k/sec +REDUCE 16s [1.69%] edge_count:62.61k edge_speed:62.61k/sec plist_count:29.98k plist_speed:29.98k/sec +REDUCE 17s [18.43%] edge_count:681.2k edge_speed:651.7k/sec plist_count:328.1k plist_speed:313.9k/sec +REDUCE 18s [33.28%] edge_count:1.230M edge_speed:601.1k/sec plist_count:678.9k plist_speed:331.8k/sec +REDUCE 19s [45.70%] edge_count:1.689M edge_speed:554.4k/sec plist_count:905.9k plist_speed:297.4k/sec +REDUCE 20s [60.94%] edge_count:2.252M edge_speed:556.5k/sec plist_count:1.278M plist_speed:315.9k/sec +REDUCE 21s [93.21%] edge_count:3.444M edge_speed:681.5k/sec plist_count:1.555M plist_speed:307.7k/sec +REDUCE 22s [100.00%] edge_count:3.695M edge_speed:610.4k/sec plist_count:1.778M plist_speed:293.8k/sec +REDUCE 22s [100.00%] edge_count:3.695M edge_speed:584.4k/sec plist_count:1.778M plist_speed:281.3k/sec +Total: 22s +``` + +The output will be generated in the `out` directory by default. Here's the bulk +load output from the example above: + +```sh +$ tree ./out +``` +``` +./out +├── 0 +│   └── p +│   ├── 000000.vlog +│   ├── 000002.sst +│   └── MANIFEST +└── 1 + └── p + ├── 000000.vlog + ├── 000002.sst + └── MANIFEST + +4 directories, 6 files +``` + +Because `--reduce_shards` was set to 2, there are two sets of p directories: one +in `./out/0` directory and another in the `./out/1` directory. + +Once the output is created, they can be copied to all the servers that will run +Dgraph Alphas. Each Dgraph Alpha must have its own copy of the group's p +directory output. Each replica of the first group should have its own copy of +`./out/0/p`, each replica of the second group should have its own copy of +`./out/1/p`, and so on. + +```sh +$ dgraph bulk --help # To see the available flags. + +# Read RDFs or JSON from the passed file. +$ dgraph bulk -f ... + +# Read multiple RDFs or JSON from the passed path. +$ dgraph bulk -f <./path-to-gzipped-RDF-or-JSON-files> ... + +# Read multiple files strictly by name. +$ dgraph bulk -f ... + +``` + +### Encryption at rest with Bulk Loader + +Even before the Dgraph cluster starts, we can load data using Bulk Loader with the encryption feature turned on. Later we can point the generated `p` directory to a new Alpha server. + +Here's an example to run Bulk Loader with a key used to write encrypted data: + +```bash +dgraph bulk --encryption_key_file ./enc_key_file -f data.json.gz -s data.schema --map_shards=1 --reduce_shards=1 --http localhost:8000 --zero=localhost:5080 +``` + +### Encrypting imports via Bulk Loader + +The Bulk Loader’s `encryption_key_file` option was previously used to encrypt the output `p ` directory. This same option will also be used to decrypt the encrypted export data and schema files. + +Another option, `--encrypted`, indicates whether the input `rdf`/`json` data and schema files are encrypted or not. With this switch, we support the use case of migrating data from unencrypted exports to encrypted import. + +So, with the above two options we have 4 cases: + +1. `--encrypted=true` and no `encryption_key_file`. + +Error: If the input is encrypted, a key file must be provided. + +2. `--encrypted=true` and `encryption_key_file`=`path to key. + +Input is encrypted and output `p` dir is encrypted as well. + +3. `--encrypted=false` and no `encryption_key_file`. + +Input is not encrypted and the output `p` dir is also not encrypted. + +4. `--encrypted=false` and `encryption_key_file`=`path to key`. + +Input is not encrypted but the output is encrypted. (This is the migration use case mentioned above). + +### Other Bulk Loader options + +`--new_uids` (default: false): Assign new UIDs instead of using the existing +UIDs in data files. This is useful to avoid overriding the data in a DB already +in operation. + +`-f, --files`: Location of *.rdf(.gz) or *.json(.gz) file(s) to load. It can +load multiple files in a given path. If the path is a directory, then all files +ending in .rdf, .rdf.gz, .json, and .json.gz will be loaded. + +`--format`: Specify file format (rdf or json) instead of getting it from +filenames. This is useful if you need to define a strict format manually. + +`--store_xids`: Generate a xid edge for each node. It will store the XIDs (The identifier / Blank-nodes) in an attribute named `xid` in the entity itself. It is useful if you gonna use [External IDs](/mutations#external-ids). + +`--xidmap` (default: disabled. Need a path): Store xid to uid mapping to a directory. Dgraph will save all identifiers used in the load for later use in other data ingest operations. The mapping will be saved in the path you provide and you must indicate that same path in the next load. It is recommended to use this flag if you have full control over your identifiers (Blank-nodes). Because the identifier will be mapped to a specific UID. + +### Tuning & monitoring + +#### Performance Tuning + +{{% notice "tip" %}} +We highly recommend [disabling swap +space](https://askubuntu.com/questions/214805/how-do-i-disable-swap) when +running Bulk Loader. It is better to fix the parameters to decrease memory +usage, than to have swapping grind the loader down to a halt. +{{% /notice %}} + +Flags can be used to control the behaviour and performance characteristics of +the bulk loader. You can see the full list by running `dgraph bulk --help`. In +particular, **the flags should be tuned so that the bulk loader doesn't use more +memory than is available as RAM**. If it starts swapping, it will become +incredibly slow. + +**In the map phase**, tweaking the following flags can reduce memory usage: + +- The `--num_go_routines` flag controls the number of worker threads. Lowering reduces memory + consumption. + +- The `--mapoutput_mb` flag controls the size of the map output files. Lowering + reduces memory consumption. + +For bigger datasets and machines with many cores, gzip decoding can be a +bottleneck during the map phase. Performance improvements can be obtained by +first splitting the RDFs up into many `.rdf.gz` files (e.g. 256MB each). This +has a negligible impact on memory usage. + +**The reduce phase** is less memory heavy than the map phase, although can still +use a lot. Some flags may be increased to improve performance, *but only if +you have large amounts of RAM*: + +- The `--reduce_shards` flag controls the number of resultant Dgraph alpha instances. + Increasing this increases memory consumption, but in exchange allows for +higher CPU utilization. + +- The `--map_shards` flag controls the number of separate map output shards. + Increasing this increases memory consumption but balances the resultant +Dgraph alpha instances more evenly. + +- The `--shufflers` controls the level of parallelism in the shuffle/reduce + stage. Increasing this increases memory consumption. \ No newline at end of file diff --git a/wiki/content/deploy/index.md b/wiki/content/deploy/index.md index 4d83286e50f..7c86f02dcdb 100644 --- a/wiki/content/deploy/index.md +++ b/wiki/content/deploy/index.md @@ -2,2805 +2,3 @@ date = "2017-03-20T22:25:17+11:00" title = "Deploy" +++ - -This page talks about running Dgraph in various deployment modes, in a distributed fashion and involves -running multiple instances of Dgraph, over multiple servers in a cluster. - -{{% notice "tip" %}} -For a single server setup, recommended for new users, please see [Get Started]({{< relref "get-started/index.md" >}}) page. -{{% /notice %}} - -## Install Dgraph - -### Docker - -```sh -docker pull dgraph/dgraph:{{< version >}} - -# You can test that it worked fine, by running: -docker run -it dgraph/dgraph:{{< version >}} dgraph -``` - -### Automatic download - -Running - -```sh -curl https://get.dgraph.io -sSf | bash - -# Test that it worked fine, by running: -dgraph -``` - -would install the `dgraph` binary into your system. - -Other instalation options: - -> Add `-s --` before the flags. - -`-y | --accept-license`: Automatically agree to the terms of the Dgraph Community License (default: "n"). - -`-s | --systemd`: Automatically create Dgraph's installation as Systemd services (default: "n"). - -`-v | --version`: Choose Dgraph's version manually (default: The latest stable release, you can do tag combinations e.g v2.0.0-beta1 or -rc1). - ->Installing Dgraph and requesting the automatic creation of systemd service. e.g: - -```sh -curl https://get.dgraph.io -sSf | bash -s -- --systemd -``` - -Using Environment variables: - -`ACCEPT_LICENSE`: Automatically agree to the terms of the Dgraph Community License (default: "n"). - -`INSTALL_IN_SYSTEMD`: Automatically create Dgraph's installation as Systemd services (default: "n"). - -`VERSION`: Choose Dgraph's version manually (default: The latest stable release). - -```sh -curl https://get.dgraph.io -sSf | VERSION=v2.0.0-beta1 bash -``` - -{{% notice "note" %}} -Be aware that using this script will overwrite the installed version and can lead to compatibility problems. For example, if you were using version v1.0.5 and forced the installation of v2.0.0-Beta, the existing data won't be compatible with the new version. The data must be [exported]({{< relref "deploy/index.md#exporting-database" >}}) before running this script and reimported to the new cluster running the updated version. -{{% /notice %}} - -### Manual download [optional] - -If you don't want to follow the automatic installation method, you could manually download the appropriate tar for your platform from **[Dgraph releases](https://github.com/dgraph-io/dgraph/releases)**. After downloading the tar for your platform from Github, extract the binary to `/usr/local/bin` like so. - -```sh -# For Linux -$ sudo tar -C /usr/local/bin -xzf dgraph-linux-amd64-VERSION.tar.gz - -# For Mac -$ sudo tar -C /usr/local/bin -xzf dgraph-darwin-amd64-VERSION.tar.gz - -# Test that it worked fine, by running: -dgraph -``` - -### Building from Source - -{{% notice "note" %}} -You can build the Ratel UI from source seperately following its build -[instructions](https://github.com/dgraph-io/ratel/blob/master/INSTRUCTIONS.md). -Ratel UI is distributed via Dgraph releases using any of the download methods -listed above. -{{% /notice %}} - -Make sure you have [Go](https://golang.org/dl/) v1.11+ installed. - -You'll need the following dependencies to install Dgraph using `make`: -```bash -sudo apt-get update -sudo apt-get install gcc make -``` - -After installing Go, run -```sh -# This should install dgraph binary in your $GOPATH/bin. - -git clone https://github.com/dgraph-io/dgraph.git -cd ./dgraph -make install -``` - -If you get errors related to `grpc` while building them, your -`go-grpc` version might be outdated. We don't vendor in `go-grpc`(because it -causes issues while using the Go client). Update your `go-grpc` by running. -```sh -go get -u -v google.golang.org/grpc -``` - -### Config - -The full set of dgraph's configuration options (along with brief descriptions) -can be viewed by invoking dgraph with the `--help` flag. For example, to see -the options available for `dgraph alpha`, run `dgraph alpha --help`. - -The options can be configured in multiple ways (from highest precedence to -lowest precedence): - -- Using command line flags (as described in the help output). - -- Using environment variables. - -- Using a configuration file. - -If no configuration for an option is used, then the default value as described -in the `--help` output applies. - -Multiple configuration methods can be used all at the same time. E.g. a core -set of options could be set in a config file, and instance specific options -could be set using environment vars or flags. - -The environment variable names mirror the flag names as seen in the `--help` -output. They are the concatenation of `DGRAPH`, the subcommand invoked -(`ALPHA`, `ZERO`, `LIVE`, or `BULK`), and then the name of the flag (in -uppercase). For example, instead of using `dgraph alpha --lru_mb=8096`, you -could use `DGRAPH_ALPHA_LRU_MB=8096 dgraph alpha`. - -Configuration file formats supported are JSON, TOML, YAML, HCL, and Java -properties (detected via file extension). The file extensions are .json, .toml, -.yml or .yaml, .hcl, and .properties for each format. - -A configuration file can be specified using the `--config` flag, or an -environment variable. E.g. `dgraph zero --config my_config.json` or -`DGRAPH_ZERO_CONFIG=my_config.json dgraph zero`. - -The config file structure is just simple key/value pairs (mirroring the flag -names). - -Example JSON config file (config.json): - -```json -{ - "my": "localhost:7080", - "zero": "localhost:5080", - "lru_mb": 4096, - "postings": "/path/to/p", - "wal": "/path/to/w" -} -``` - -Example TOML config file (config.toml): - -```toml -my = "localhost:7080" -zero = "localhost:5080" -lru_mb = 4096 -postings = "/path/to/p" -wal = "/path/to/w" -``` - - -Example YAML config file (config.yml): - -```yaml -my: "localhost:7080" -zero: "localhost:5080" -lru_mb: 4096 -postings: "/path/to/p" -wal: "/path/to/w" -``` - -Example HCL config file (config.hcl): - -```hcl -my = "localhost:7080" -zero = "localhost:5080" -lru_mb = 4096 -postings = "/path/to/p" -wal = "/path/to/w" -``` - -Example Java properties config file (config.properties): -```text -my=localhost:7080 -zero=localhost:5080 -lru_mb=4096 -postings=/path/to/p -wal=/path/to/w -``` - -## Cluster Setup - -### Understanding Dgraph cluster - -Dgraph is a truly distributed graph database - not a master-slave replication of -universal dataset. It shards by predicate and replicates predicates across the -cluster, queries can be run on any node and joins are handled over the -distributed data. A query is resolved locally for predicates the node stores, -and via distributed joins for predicates stored on other nodes. - -For effectively running a Dgraph cluster, it's important to understand how -sharding, replication and rebalancing works. - -**Sharding** - -Dgraph colocates data per predicate (* P *, in RDF terminology), thus the -smallest unit of data is one predicate. To shard the graph, one or many -predicates are assigned to a group. Each Alpha node in the cluster serves a -single group. Dgraph Zero assigns a group to each Alpha node. - -**Shard rebalancing** - -Dgraph Zero tries to rebalance the cluster based on the disk usage in each -group. If Zero detects an imbalance, it would try to move a predicate along with -its indices to a group that has minimum disk usage. This can make the predicate -temporarily read-only. Queries for the predicate will still be serviced, but any -mutations for the predicate will be rejected and should be retried after the -move is finished. - -Zero would continuously try to keep the amount of data on each server even, -typically running this check on a 10-min frequency. Thus, each additional -Dgraph Alpha instance would allow Zero to further split the predicates from -groups and move them to the new node. - -**Consistent Replication** - -If `--replicas` flag is set to something greater than one, Zero would assign the -same group to multiple nodes. These nodes would then form a Raft group aka -quorum. Every write would be consistently replicated to the quorum. To achieve -consensus, its important that the size of quorum be an odd number. Therefore, we -recommend setting `--replicas` to 1, 3 or 5 (not 2 or 4). This allows 0, 1, or 2 -nodes serving the same group to be down, respectively without affecting the -overall health of that group. - -## Ports Usage - -Dgraph cluster nodes use different ports to communicate over gRPC and HTTP. Users should pay attention while choosing these ports based on their topology and deployment-mode as each port needs different access security rules or firewall. - -### Types of ports - -- **gRPC-internal:** Port that is used between the cluster nodes for internal communication and message exchange. -- **gRPC-external:** Port that is used by Dgraph clients, Dgraph Live Loader , and Dgraph Bulk loader to access APIs over gRPC. -- **http-external:** Port that is used by clients to access APIs over HTTP and other monitoring & administrative tasks. - -### Ports used by different nodes - - Dgraph Node Type | gRPC-internal | gRPC-external | HTTP-external -------------------|-----------------------|---------------|--------------- - zero | 50801 | --Not Used-- | 60802 - alpha | 7080 | 9080 | 8080 - ratel | --Not Used-- | --Not Used-- | 8000 - - -1: Dgraph Zero's gRPC-internal port is used for internal communication within the cluster. It's also needed for the [fast data loading]({{< relref "#fast-data-loading" >}}) tools Dgraph Live Loader and Dgraph Bulk Loader. - -2: Dgraph Zero's HTTP-external port is used for [admin]({{< relref "#more-about-dgraph-zero" >}}) operations. Access to it is not required by clients. - -Users have to modify security rules or open firewall ports depending up on their underlying network to allow communication between cluster nodes and between the Dgraph instances themselves and between Dgraph and a client. A general rule is to make *-external (gRPC/HTTP) ports wide open to clients and gRPC-internal ports open within the cluster nodes. - -**Ratel UI** accesses Dgraph Alpha on the HTTP-external port (default localhost:8080) and can be configured to talk to remote Dgraph cluster. This way you can run Ratel on your local machine and point to a remote cluster. But if you are deploying Ratel along with Dgraph cluster, then you may have to expose 8000 to the public. - -**Port Offset** To make it easier for user to setup the cluster, Dgraph defaults the ports used by Dgraph nodes and let user to provide an offset (through command option `--port_offset`) to define actual ports used by the node. Offset can also be used when starting multiple zero nodes in a HA setup. - -For example, when a user runs a Dgraph Alpha by setting `--port_offset 2`, then the Alpha node binds to 7082 (gRPC-internal), 8082 (HTTP-external) & 9082 (gRPC-external) respectively. - -**Ratel UI** by default listens on port 8000. You can use the `-port` flag to configure to listen on any other port. - -### HA Cluster Setup - -In a high-availability setup, we need to run 3 or 5 replicas for Zero, and similarly, 3 or 5 replicas for Alpha. -{{% notice "note" %}} -If number of replicas is 2K + 1, up to **K servers** can be down without any impact on reads or writes. - -Avoid keeping replicas to 2K (even number). If K servers go down, this would block reads and writes, due to lack of consensus. -{{% /notice %}} - -**Dgraph Zero** -Run three Zero instances, assigning a unique ID(Integer) to each via `--idx` flag, and -passing the address of any healthy Zero instance via `--peer` flag. - -To run three replicas for the alphas, set `--replicas=3`. Every time a new -Dgraph Alpha is added, Zero would check the existing groups and assign them to -one, which doesn't have three replicas. - -**Dgraph Alpha** -Run as many Dgraph Alphas as you want. You can manually set `--idx` flag, or you -can leave that flag empty, and Zero would auto-assign an id to the Alpha. This -id would get persisted in the write-ahead log, so be careful not to delete it. - -The new Alphas will automatically detect each other by communicating with -Dgraph zero and establish connections to each other. You can provide a list of -zero addresses to alpha using the `--zero` flag. Alpha will try to connect to -one of the zeros starting from the first zero address in the list. For example: -`--zero=zero1,zero2,zero3` where zero1 is the `host:port` of a zero instance. - -Typically, Zero would first attempt to replicate a group, by assigning a new -Dgraph alpha to run the same group as assigned to another. Once the group has -been replicated as per the `--replicas` flag, Zero would create a new group. - -Over time, the data would be evenly split across all the groups. So, it's -important to ensure that the number of Dgraph alphas is a multiple of the -replication setting. For e.g., if you set `--replicas=3` in Zero, then run three -Dgraph alphas for no sharding, but 3x replication. Run six Dgraph alphas, for -sharding the data into two groups, with 3x replication. - -## Single Host Setup - -### Run directly on the host - -**Run dgraph zero** - -```sh -dgraph zero --my=IPADDR:5080 -``` -The `--my` flag is the connection that Dgraph alphas would dial to talk to -zero. So, the port `5080` and the IP address must be visible to all the Dgraph alphas. - -For all other various flags, run `dgraph zero --help`. - -**Run dgraph alpha** - -```sh -dgraph alpha --lru_mb= --my=IPADDR:7080 --zero=localhost:5080 -dgraph alpha --lru_mb= --my=IPADDR:7081 --zero=localhost:5080 -o=1 -``` - -Notice the use of `-o` for the second Alpha to add offset to the default ports used. Zero automatically assigns an unique ID to each Alpha, which is persisted in the write ahead log (wal) directory, users can specify the index using `--idx` option. Dgraph Alphas use two directories to persist data and -wal logs, and these directories must be different for each Alpha if they are running on the same host. You can use `-p` and `-w` to change the location of the data and WAL directories. For all other flags, run - -`dgraph alpha --help`. - -**Run dgraph UI** - -```sh -dgraph-ratel -``` - -### Run using Docker - -Dgraph cluster can be setup running as containers on a single host. First, you'd want to figure out the host IP address. You can typically do that via - -```sh -ip addr # On Arch Linux -ifconfig # On Ubuntu/Mac -``` -We'll refer to the host IP address via `HOSTIPADDR`. - -**Create Docker network** - -```sh -docker network create dgraph_default -``` - -**Run dgraph zero** - -```sh -mkdir ~/zero # Or any other directory where data should be stored. - -docker run -it -p 5080:5080 --network dgraph_default -p 6080:6080 -v ~/zero:/dgraph dgraph/dgraph:{{< version >}} dgraph zero --my=HOSTIPADDR:5080 -``` - -**Run dgraph alpha** -```sh -mkdir ~/server1 # Or any other directory where data should be stored. - -docker run -it -p 7080:7080 --network dgraph_default -p 8080:8080 -p 9080:9080 -v ~/server1:/dgraph dgraph/dgraph:{{< version >}} dgraph alpha --lru_mb= --zero=HOSTIPADDR:5080 --my=HOSTIPADDR:7080 -``` -```sh -mkdir ~/server2 # Or any other directory where data should be stored. - -docker run -it -p 7081:7081 --network dgraph_default -p 8081:8081 -p 9081:9081 -v ~/server2:/dgraph dgraph/dgraph:{{< version >}} dgraph alpha --lru_mb= --zero=HOSTIPADDR:5080 --my=HOSTIPADDR:7081 -o=1 -``` -Notice the use of -o for server2 to override the default ports for server2. - -**Run dgraph UI** -```sh -docker run -it -p 8000:8000 --network dgraph_default dgraph/dgraph:{{< version >}} dgraph-ratel -``` - -### Run using Docker Compose (On single AWS instance) - -We will use [Docker Machine](https://docs.docker.com/machine/overview/). It is a tool that lets you install Docker Engine on virtual machines and easily deploy applications. - -* [Install Docker Machine](https://docs.docker.com/machine/install-machine/) on your machine. - -{{% notice "note" %}}These instructions are for running Dgraph Alpha without TLS config. -Instructions for running with TLS refer [TLS instructions](#tls-configuration).{{% /notice %}} - -Here we'll go through an example of deploying Dgraph Zero, Alpha and Ratel on an AWS instance. - -* Make sure you have Docker Machine installed by following [instructions](https://docs.docker.com/machine/install-machine/), provisioning an instance on AWS is just one step away. You'll have to [configure your AWS credentials](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html) for programmatic access to the Amazon API. - -* Create a new docker machine. - -```sh -docker-machine create --driver amazonec2 aws01 -``` - -Your output should look like - -```sh -Running pre-create checks... -Creating machine... -(aws01) Launching instance... -... -... -Docker is up and running! -To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env aws01 -``` - -The command would provision a `t2-micro` instance with a security group called `docker-machine` -(allowing inbound access on `2376` and `22`). You can either edit the security group to allow inbound access to `5080`, `8080`, `9080` (default ports for Dgraph Zero & Alpha) or you can provide your own security -group which allows inbound access on port `22`, `2376` (required by Docker Machine), `5080`, `8080` and `9080`. Remember port *`5080`* is only required if you are running Dgraph Live Loader or Dgraph Bulk Loader from outside. - -{{% notice "note" %}}Dgraph recommended memory is 7-8Gb. A `t2-micro` (free-tier eligible) is only provisioned with 1Gb and will not support larger schemas or data sets. We recommend using a `t2-large` (not free-tier eligible) or larger for a production server.{{% /notice %}} - -[Here](https://docs.docker.com/machine/drivers/aws/#options) is a list of full options for the `amazonec2` driver which allows you choose the instance type, security group, AMI among many other things. - -{{% notice "tip" %}}Docker machine supports [other drivers](https://docs.docker.com/machine/drivers/gce/) like GCE, Azure etc.{{% /notice %}} - -* Install and run Dgraph using docker-compose - -Docker Compose is a tool for running multi-container Docker applications. You can follow the -instructions [here](https://docs.docker.com/compose/install/) to install it. - -Run the command below to download the `docker-compose.yml` file on your machine. - -```sh -wget https://github.com/dgraph-io/dgraph/raw/master/contrib/config/docker/docker-compose.yml -``` - -{{% notice "note" %}}The config mounts `/tmp/data` on the instance to `/dgraph` within the -container for persistence. You will need to change this to a different directory to persists data as the `tmp` directory is only for illustration purposes and will not persist in that directory.{{% /notice %}} - -* Connect to the Docker Engine running on the machine. - -Running `docker-machine env aws01` tells us to run the command below to configure -our shell. -``` -eval $(docker-machine env aws01) -``` -This configures our Docker client to talk to the Docker engine running on the AWS Machine. - -Finally run the command below to start the Zero and Alpha. -``` -docker-compose up -d -``` -This would start 3 Docker containers running Dgraph Zero, Alpha and Ratel on the same machine. Docker would restart the containers in case there is any error. -You can look at the logs using `docker-compose logs`. - -## Multi Host Setup - -### Using Docker Swarm - -#### Cluster Setup Using Docker Swarm - -{{% notice "note" %}}These instructions are for running Dgraph Alpha without TLS config. -Instructions for running with TLS refer [TLS instructions](#tls-configuration).{{% /notice %}} - -Here we'll go through an example of deploying 3 Dgraph Alpha nodes and 1 Zero on three different AWS instances using Docker Swarm with a replication factor of 3. - -* Make sure you have Docker Machine installed by following [instructions](https://docs.docker.com/machine/install-machine/). - -```sh -docker-machine --version -``` - -* Create 3 instances on AWS and [install Docker Engine](https://docs.docker.com/engine/installation/) on them. This can be done manually or by using `docker-machine`. -You'll have to [configure your AWS credentials](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html) to create the instances using Docker Machine. - -Considering that you have AWS credentials setup, you can use the below commands to start 3 AWS -`t2-medium` instances with Docker Engine installed on them. - -```sh -docker-machine create --driver amazonec2 --amazonec2-instance-type t2.medium aws01 -docker-machine create --driver amazonec2 --amazonec2-instance-type t2.medium aws02 -docker-machine create --driver amazonec2 --amazonec2-instance-type t2.medium aws03 -``` - -Your output should look like - -```sh -Running pre-create checks... -Creating machine... -(aws01) Launching instance... -... -... -Docker is up and running! -To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env aws01 -``` - -The command would provision a `t2-medium` instance with a security group called `docker-machine` -(allowing inbound access on 2376 and 22). - -You would need to edit the `docker-machine` security group to open inbound traffic on the following ports. - -1. Allow all inbound traffic on all ports with Source being `docker-machine` - security ports so that Docker related communication can happen easily. - -2. Also open inbound TCP traffic on the following ports required by Dgraph: - `5080`, `6080`, `8000`, `808[0-2]`, `908[0-2]`. Remember port *5080* is only - required if you are running Dgraph Live Loader or Dgraph Bulk Loader from - outside. You need to open `7080` to enable Alpha-to-Alpha communication in - case you have not opened all ports in #1. - -If you are on AWS, below is the security group (**docker-machine**) after -necessary changes. - -{{% load-img "/images/aws.png" "AWS Security Group" %}} - -[Here](https://docs.docker.com/machine/drivers/aws/#options) is a list of full options for the `amazonec2` driver which allows you choose the -instance type, security group, AMI among many other -things. - -{{% notice "tip" %}}Docker machine supports [other drivers](https://docs.docker.com/machine/drivers/gce/) like GCE, Azure etc.{{% /notice %}} - -Running `docker-machine ls` shows all the AWS EC2 instances that we started. -```sh -➜ ~ docker-machine ls -NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS -aws01 - amazonec2 Running tcp://34.200.239.30:2376 v17.11.0-ce -aws02 - amazonec2 Running tcp://54.236.58.120:2376 v17.11.0-ce -aws03 - amazonec2 Running tcp://34.201.22.2:2376 v17.11.0-ce -``` - -* Start the Swarm - -Docker Swarm has manager and worker nodes. Swarm can be started and updated on manager nodes. We - will setup `aws01` as swarm manager. You can first run the following commands to initialize the - swarm. - -We are going to use the internal IP address given by AWS. Run the following command to get the -internal IP for `aws01`. Lets assume `172.31.64.18` is the internal IP in this case. -``` -docker-machine ssh aws01 ifconfig eth0 -``` - -Now that we have the internal IP, let's initiate the Swarm. - -```sh -# This configures our Docker client to talk to the Docker engine running on the aws01 host. -eval $(docker-machine env aws01) -docker swarm init --advertise-addr 172.31.64.18 -``` - -Output: -``` -Swarm initialized: current node (w9mpjhuju7nyewmg8043ypctf) is now a manager. - -To add a worker to this swarm, run the following command: - - docker swarm join \ - --token SWMTKN-1-1y7lba98i5jv9oscf10sscbvkmttccdqtkxg478g3qahy8dqvg-5r5cbsntc1aamsw3s4h3thvgk \ - 172.31.64.18:2377 - -To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions. -``` - -Now we will make other nodes join the swarm. - -```sh -eval $(docker-machine env aws02) -docker swarm join \ - --token SWMTKN-1-1y7lba98i5jv9oscf10sscbvkmttccdqtkxg478g3qahy8dqvg-5r5cbsntc1aamsw3s4h3thvgk \ - 172.31.64.18:2377 -``` - -Output: -``` -This node joined a swarm as a worker. -``` - -Similarly, aws03 -```sh -eval $(docker-machine env aws03) -docker swarm join \ - --token SWMTKN-1-1y7lba98i5jv9oscf10sscbvkmttccdqtkxg478g3qahy8dqvg-5r5cbsntc1aamsw3s4h3thvgk \ - 172.31.64.18:2377 -``` - -On the Swarm manager `aws01`, verify that your swarm is running. -```sh -docker node ls -``` - -Output: - -``` -ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS -ghzapjsto20c6d6l3n0m91zev aws02 Ready Active -rb39d5lgv66it1yi4rto0gn6a aws03 Ready Active -waqdyimp8llvca9i09k4202x5 * aws01 Ready Active Leader -``` - -* Start the Dgraph cluster - -Run the command below to download the `docker-compose-multi.yml` file on your machine. - -```sh -wget https://github.com/dgraph-io/dgraph/raw/master/contrib/config/docker/docker-compose-multi.yml -``` - -Run the following command on the Swarm leader to deploy the Dgraph Cluster. - -```sh -eval $(docker-machine env aws01) -docker stack deploy -c docker-compose-multi.yml dgraph -``` - -This should run three Dgraph Alpha services (one on each VM because of the -constraint we have), one Dgraph Zero service on aws01 and one Dgraph Ratel. - -These placement constraints (as seen in the compose file) are important so that -in case of restarting any containers, swarm places the respective Dgraph Alpha -or Zero containers on the same hosts to re-use the volumes. Also, if you are -running fewer than three hosts, make sure you use either different volumes or -run Dgraph Alpha with `-p p1 -w w1` options. - -{{% notice "note" %}} - -1. This setup would create and use a local volume called `dgraph_data-volume` on - the instances. If you plan to replace instances, you should use remote - storage like - [cloudstore](https://docs.docker.com/docker-for-aws/persistent-data-volumes) - instead of local disk. {{% /notice %}} - -You can verify that all services were created successfully by running: - -```sh -docker service ls -``` - -Output: - -``` -ID NAME MODE REPLICAS IMAGE PORTS -vp5bpwzwawoe dgraph_ratel replicated 1/1 dgraph/dgraph:latest *:8000->8000/tcp -69oge03y0koz dgraph_alpha2 replicated 1/1 dgraph/dgraph:latest *:8081->8081/tcp,*:9081->9081/tcp -kq5yks92mnk6 dgraph_alpha3 replicated 1/1 dgraph/dgraph:latest *:8082->8082/tcp,*:9082->9082/tcp -uild5cqp44dz dgraph_zero replicated 1/1 dgraph/dgraph:latest *:5080->5080/tcp,*:6080->6080/tcp -v9jlw00iz2gg dgraph_alpha1 replicated 1/1 dgraph/dgraph:latest *:8080->8080/tcp,*:9080->9080/tcp -``` - -To stop the cluster run: - -```sh -docker stack rm dgraph -``` - -### HA Cluster setup using Docker Swarm - -Here is a sample swarm config for running 6 Dgraph Alpha nodes and 3 Zero nodes on 6 different -ec2 instances. Setup should be similar to [Cluster setup using Docker Swarm]({{< relref "#cluster-setup-using-docker-swarm" >}}) apart from a couple of differences. This setup would ensure replication with sharding of data. The file assumes that there are six hosts available as docker-machines. Also if you are running on fewer than six hosts, make sure you use either different volumes or run Dgraph Alpha with `-p p1 -w w1` options. - -You would need to edit the `docker-machine` security group to open inbound traffic on the following ports. - -1. Allow all inbound traffic on all ports with Source being `docker-machine` security ports so that - docker related communication can happen easily. - -2. Also open inbound TCP traffic on the following ports required by Dgraph: `5080`, `8000`, `808[0-5]`, `908[0-5]`. Remember port *5080* is only required if you are running Dgraph Live Loader or Dgraph Bulk Loader from outside. You need to open `7080` to enable Alpha-to-Alpha communication in case you have not opened all ports in #1. - -If you are on AWS, below is the security group (**docker-machine**) after necessary changes. - -{{% load-img "/images/aws.png" "AWS Security Group" %}} - -Run the command below to download the `docker-compose-ha.yml` file on your machine. - -```sh -wget https://github.com/dgraph-io/dgraph/raw/master/contrib/config/docker/docker-compose-ha.yml -``` - -Run the following command on the Swarm leader to deploy the Dgraph Cluster. - -```sh -eval $(docker-machine env aws01) -docker stack deploy -c docker-compose-ha.yml dgraph -``` - -You can verify that all services were created successfully by running: - -```sh -docker service ls -``` - -Output: -``` -ID NAME MODE REPLICAS IMAGE PORTS -qck6v1lacvtu dgraph_alpha1 replicated 1/1 dgraph/dgraph:latest *:8080->8080/tcp, *:9080->9080/tcp -i3iq5mwhxy8a dgraph_alpha2 replicated 1/1 dgraph/dgraph:latest *:8081->8081/tcp, *:9081->9081/tcp -2ggma86bw7h7 dgraph_alpha3 replicated 1/1 dgraph/dgraph:latest *:8082->8082/tcp, *:9082->9082/tcp -wgn5adzk67n4 dgraph_alpha4 replicated 1/1 dgraph/dgraph:latest *:8083->8083/tcp, *:9083->9083/tcp -uzviqxv9fp2a dgraph_alpha5 replicated 1/1 dgraph/dgraph:latest *:8084->8084/tcp, *:9084->9084/tcp -nl1j457ko54g dgraph_alpha6 replicated 1/1 dgraph/dgraph:latest *:8085->8085/tcp, *:9085->9085/tcp -s11bwr4a6371 dgraph_ratel replicated 1/1 dgraph/dgraph:latest *:8000->8000/tcp -vchibvpquaes dgraph_zero1 replicated 1/1 dgraph/dgraph:latest *:5080->5080/tcp, *:6080->6080/tcp -199rezd7pw7c dgraph_zero2 replicated 1/1 dgraph/dgraph:latest *:5081->5081/tcp, *:6081->6081/tcp -yb8ella56oxt dgraph_zero3 replicated 1/1 dgraph/dgraph:latest *:5082->5082/tcp, *:6082->6082/tcp -``` - -To stop the cluster run: - -```sh -docker stack rm dgraph -``` - -{{% notice "note" %}} -1. This setup assumes that you are using 6 hosts, but if you are running fewer than 6 hosts then you have to either use different volumes between Dgraph alphas or use `-p` & `-w` to configure data directories. -2. This setup would create and use a local volume called `dgraph_data-volume` on the instances. If you plan to replace instances, you should use remote storage like [cloudstore](https://docs.docker.com/docker-for-aws/persistent-data-volumes) instead of local disk. {{% /notice %}} - -## Using Kubernetes - -The following section covers running Dgraph with Kubernetes. We have tested Dgraph with Kubernetes 1.14 to 1.15 on [GKE](https://cloud.google.com/kubernetes-engine) and [EKS](https://aws.amazon.com/eks/). - -{{% notice "note" %}}These instructions are for running Dgraph Alpha without TLS configuration. -Instructions for running with TLS refer [TLS instructions](#tls-configuration).{{% /notice %}} - -* Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) which is used to deploy - and manage applications on kubernetes. -* Get the Kubernetes cluster up and running on a cloud provider of your choice. - * For Amazon [EKS](https://aws.amazon.com/eks/), you can use [eksctl](https://eksctl.io/) to quickly provision a new cluster. If you are new to this, Amazon has an article [Getting started with eksctl](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). - * For Google Cloud [GKE](https://cloud.google.com/kubernetes-engine), you can use [Google Cloud SDK](https://cloud.google.com/sdk/install) and the `gcloud container clusters create` command to quickly provision a new cluster. - -Verify that you have your cluster up and running using `kubectl get nodes`. If you used `eksctl` or `gcloud container clusters create` with the default options, you should have 2-3 worker nodes ready. - -On Amazon [EKS](https://aws.amazon.com/eks/), you would see something like this: - -```sh -➜ kubernetes git:(master) ✗ kubectl get nodes -NAME STATUS ROLES AGE VERSION -..compute.internal Ready 1m v1.15.11-eks-af3caf -..compute.internal Ready 1m v1.15.11-eks-af3caf -``` - -On Google Cloud [GKE](https://cloud.google.com/kubernetes-engine), you would see something like this: - -```sh -➜ kubernetes git:(master) ✗ kubectl get nodes -NAME STATUS ROLES AGE VERSION -gke--default-pool- Ready 41s v1.14.10-gke.36 -gke--default-pool- Ready 40s v1.14.10-gke.36 -gke--default-pool- Ready 41s v1.14.10-gke.36 -``` - -### Single Server - -Once your Kubernetes cluster is up, you can use [dgraph-single.yaml](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml) to start a Zero, Alpha, and Ratel UI services. - -#### Deploy Single Server - -From your machine, run the following command to start a StatefulSet that creates a single Pod with Zero, Alpha, and Ratel UI running in it. - -```sh -kubectl create --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml -``` - -Output: -``` -service/dgraph-public created -statefulset.apps/dgraph created -``` - -#### Verify Single Server - -Confirm that the pod was created successfully. - -```sh -kubectl get pods -``` - -Output: -``` -NAME READY STATUS RESTARTS AGE -dgraph-0 3/3 Running 0 1m -``` - -{{% notice "tip" %}} -You can check the logs for the containers in the pod using -`kubectl logs --follow dgraph-0 `. For example, try -`kubectl logs --follow dgraph-0 alpha` for server logs. -{{% /notice %}} - -#### Test Single Server Setup - -Port forward from your local machine to the pod - -```sh -kubectl port-forward pod/dgraph-0 8080:8080 -kubectl port-forward pod/dgraph-0 8000:8000 -``` - -Go to `http://localhost:8000` and verify Dgraph is working as expected. - -#### Remove Single Server Resources - -Delete all the resources - -```sh -kubectl delete --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml -kubectl delete persistentvolumeclaims --selector app=dgraph -``` - -### HA Cluster Setup Using Kubernetes - -This setup allows you to run 3 Dgraph Alphas and 3 Dgraph Zeros. We start Zero with `--replicas -3` flag, so all data would be replicated on 3 Alphas and form 1 alpha group. - -{{% notice "note" %}} Ideally you should have at least three worker nodes as part of your Kubernetes -cluster so that each Dgraph Alpha runs on a separate worker node.{{% /notice %}} - -#### Validate Kubernetes Cluster for HA - -Check the nodes that are part of the Kubernetes cluster. - -```sh -kubectl get nodes -``` - -Output for Amazon [EKS](https://aws.amazon.com/eks/): - -```sh -NAME STATUS ROLES AGE VERSION -..compute.internal Ready 1m v1.15.11-eks-af3caf -..compute.internal Ready 1m v1.15.11-eks-af3caf -..compute.internal Ready 1m v1.15.11-eks-af3caf -``` - -Output for Google Cloud [GKE](https://cloud.google.com/kubernetes-engine) - -```sh -NAME STATUS ROLES AGE VERSION -gke--default-pool- Ready 41s v1.14.10-gke.36 -gke--default-pool- Ready 40s v1.14.10-gke.36 -gke--default-pool- Ready 41s v1.14.10-gke.36 -``` - -Once your Kubernetes cluster is up, you can use [dgraph-ha.yaml](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml) to start the cluster. - -#### Deploy Dgraph HA Cluster - -From your machine, run the following command to start the cluster. - -```sh -kubectl create --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml -``` - -Output: -```sh -service/dgraph-zero-public created -service/dgraph-alpha-public created -service/dgraph-ratel-public created -service/dgraph-zero created -service/dgraph-alpha created -statefulset.apps/dgraph-zero created -statefulset.apps/dgraph-alpha created -deployment.apps/dgraph-ratel created -``` - -#### Verify Dgraph HA Cluster - -Confirm that the pods were created successfully. - -It may take a few minutes for the pods to come up. - -```sh -kubectl get pods -``` - -Output: -```sh -NAME READY STATUS RESTARTS AGE -dgraph-alpha-0 1/1 Running 0 6m24s -dgraph-alpha-1 1/1 Running 0 5m42s -dgraph-alpha-2 1/1 Running 0 5m2s -dgraph-ratel- 1/1 Running 0 6m23s -dgraph-zero-0 1/1 Running 0 6m24s -dgraph-zero-1 1/1 Running 0 5m41s -dgraph-zero-2 1/1 Running 0 5m6s -``` - - -{{% notice "tip" %}}You can check the logs for the containers in the pod using `kubectl logs --follow dgraph-alpha-0` and `kubectl logs --follow dgraph-zero-0`.{{% /notice %}} - -#### Test Dgraph HA Cluster Setup - -Port forward from your local machine to the pod - -```sh -kubectl port-forward service/dgraph-alpha-public 8080:8080 -kubectl port-forward service/dgraph-ratel-public 8000:8000 -``` - -Go to `http://localhost:8000` and verify Dgraph is working as expected. - -{{% notice "note" %}} You can also access the service on its External IP address.{{% /notice %}} - -#### Delete Dgraph HA Cluster Resources - -Delete all the resources - -```sh -kubectl delete --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml -kubectl delete persistentvolumeclaims --selector app=dgraph-zero -kubectl delete persistentvolumeclaims --selector app=dgraph-alpha -``` - -### Using Helm Chart - -Once your Kubernetes cluster is up, you can make use of the Helm chart present -[in our official helm repository here](https://github.com/dgraph-io/charts/) to bring -up a Dgraph cluster. - -{{% notice "note" %}}The instructions below are for Helm versions >= 3.x.{{% /notice %}} - -#### Installing the Chart - -To add the Dgraph helm repository: - -```sh -helm repo add dgraph https://charts.dgraph.io -``` - -To install the chart with the release name `my-release`: - -```sh -helm install my-release dgraph/dgraph -``` - -The above command will install the latest available dgraph docker image. In order to install the older versions: - -```sh -helm install my-release dgraph/dgraph --set image.tag="latest" -``` - -By default zero and alpha services are exposed only within the kubernetes cluster as -kubernetes service type `ClusterIP`. In order to expose the alpha service publicly -you can use kubernetes service type `LoadBalancer`: - -```sh -helm install my-release dgraph/dgraph --set alpha.service.type="LoadBalancer" -``` - -Similarly, you can expose alpha and ratel service to the internet as follows: - -```sh -helm install my-release dgraph/dgraph --set alpha.service.type="LoadBalancer" --set ratel.service.type="LoadBalancer" -``` - -#### Upgrading the Chart - -You can update your cluster configuration by updating the configuration of the -Helm chart. Dgraph is a stateful database that requires some attention on -upgrading the configuration carefully in order to update your cluster to your -desired configuration. - -In general, you can use [`helm upgrade`][helm-upgrade] to update the -configuration values of the cluster. Depending on your change, you may need to -upgrade the configuration in multiple steps following the steps below. - -[helm-upgrade]: https://helm.sh/docs/helm/helm_upgrade/ - -**Upgrade to HA cluster setup** - -To upgrade to an [HA cluster setup]({{< relref "#ha-cluster-setup" >}}), ensure -that the shard replication setting is more than 1. When `zero.shardReplicaCount` -is not set to an HA configuration (3 or 5), follow the steps below: - -1. Set the shard replica flag on the Zero node group. For example: `zero.shardReplicaCount=3`. -2. Next, run the Helm upgrade command to restart the Zero node group: - ```sh - helm upgrade my-release dgraph/dgraph [options] - ``` -3. Now set the Alpha replica count flag. For example: `alpha.replicaCount=3`. -4. Finally, run the Helm upgrade command again: - ```sh - helm upgrade my-release dgraph/dgraph [options] - ``` - - -#### Deleting the Chart - -Delete the Helm deployment as normal - -```sh -helm delete my-release -``` -Deletion of the StatefulSet doesn't cascade to deleting associated PVCs. To delete them: - -```sh -kubectl delete pvc --selector release=my-release -``` - -#### Configuration - -The latest configuration settings can be found: -* https://github.com/dgraph-io/charts/blob/master/charts/dgraph/README.md#configuration - -### Monitoring in Kubernetes - -Dgraph exposes prometheus metrics to monitor the state of various components involved in the cluster, this includes dgraph alpha and zero. - -Follow the below mentioned steps to setup prometheus monitoring for your cluster: - -* Install Prometheus operator: - -```sh -kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.34/bundle.yaml -``` - -* Ensure that the instance of `prometheus-operator` has started before continuing. - -```sh -$ kubectl get deployments prometheus-operator -NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE -prometheus-operator 1 1 1 1 3m -``` - -* Apply prometheus manifest present [here](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/prometheus.yaml). - -```sh -$ kubectl apply -f prometheus.yaml - -serviceaccount/prometheus-dgraph-io created -clusterrole.rbac.authorization.k8s.io/prometheus-dgraph-io created -clusterrolebinding.rbac.authorization.k8s.io/prometheus-dgraph-io created -servicemonitor.monitoring.coreos.com/alpha.dgraph-io created -servicemonitor.monitoring.coreos.com/zero-dgraph-io created -prometheus.monitoring.coreos.com/dgraph-io created -``` - -To view prometheus UI locally run: - -```sh -kubectl port-forward prometheus-dgraph-io-0 9090:9090 -``` - -The UI is accessible at port 9090. Open http://localhost:9090 in your browser to play around. - -To register alerts from dgraph cluster with your prometheus deployment follow the steps below: - -* Create a kubernetes secret containing alertmanager configuration. Edit the configuration file present [here](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alertmanager-config.yaml) -with the required reciever configuration including the slack webhook credential and create the secret. - -You can find more information about alertmanager configuration [here](https://prometheus.io/docs/alerting/configuration/). - -```sh -$ kubectl create secret generic alertmanager-alertmanager-dgraph-io --from-file=alertmanager.yaml=alertmanager-config.yaml - -$ kubectl get secrets -NAME TYPE DATA AGE -alertmanager-alertmanager-dgraph-io Opaque 1 87m -``` - -* Apply the [alertmanager](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alertmanager.yaml) along with [alert-rules](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alert-rules.yaml) manifest -to use the default configured alert configuration. You can also add custom rules based on the metrics exposed by dgraph cluster similar to [alert-rules](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alert-rules.yaml) -manifest. - -```sh -$ kubectl apply -f alertmanager.yaml -alertmanager.monitoring.coreos.com/alertmanager-dgraph-io created -service/alertmanager-dgraph-io created - -$ kubectl apply -f alert-rules.yaml -prometheusrule.monitoring.coreos.com/prometheus-rules-dgraph-io created -``` - -### Kubernetes Storage - -The Kubernetes configurations in the previous sections were configured to run -Dgraph with any storage type (`storage-class: anything`). On the common cloud -environments like AWS, GCP, and Azure, the default storage type are slow disks -like hard disks or low IOPS SSDs. We highly recommend using faster disks for -ideal performance when running Dgraph. - -#### Local storage - -The AWS storage-optimized i-class instances provide locally attached NVMe-based -SSD storage which provide consistent very high IOPS. The Dgraph team uses -i3.large instances on AWS to test Dgraph. - -You can create a Kubernetes `StorageClass` object to provision a specific type -of storage volume which you can then attach to your Dgraph pods. You can set up -your cluster with local SSDs by using [Local Persistent -Volumes](https://kubernetes.io/blog/2018/04/13/local-persistent-volumes-beta/). -This Kubernetes feature is in beta at the time of this writing (Kubernetes -v1.13.1). You can first set up an EC2 instance with locally attached storage. -Once it is formatted and mounted properly, then you can create a StorageClass to -access it.: - -```yaml -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: -provisioner: kubernetes.io/no-provisioner -volumeBindingMode: WaitForFirstConsumer -``` - -Currently, Kubernetes does not allow automatic provisioning of local storage. So -a PersistentVolume with a specific mount path should be created: - -```yaml -apiVersion: v1 -kind: PersistentVolume -metadata: - name: -spec: - capacity: - storage: 475Gi - volumeMode: Filesystem - accessModes: - - ReadWriteOnce - persistentVolumeReclaimPolicy: Delete - storageClassName: - local: - path: /data - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - -``` - -Then, in the StatefulSet configuration you can claim this local storage in -.spec.volumeClaimTemplate: - -``` -kind: StatefulSet -... - volumeClaimTemplates: - - metadata: - name: datadir - spec: - accessModes: - - ReadWriteOnce - storageClassName: - resources: - requests: - storage: 500Gi -``` - -You can repeat these steps for each instance that's configured with local -node storage. - -#### Non-local persistent disks - -EBS volumes on AWS and PDs on GCP are persistent disks that can be configured -with Dgraph. The disk performance is much lower than locally attached storage -but can be sufficient for your workload such as testing environments. - -When using EBS volumes on AWS, we recommend using Provisioned IOPS SSD EBS -volumes (the io1 disk type) which provide consistent IOPS. The available IOPS -for AWS EBS volumes is based on the total disk size. With Kubernetes, you can -request io1 disks to be provisioned with this config with 50 IOPS/GB using the -`iopsPerGB` parameter: - -``` -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: -provisioner: kubernetes.io/aws-ebs -parameters: - type: io1 - iopsPerGB: "50" - fsType: ext4 -``` - -Example: Requesting a disk size of 250Gi with this storage class would provide -12.5K IOPS. - -### Removing a Dgraph Pod - -In the event that you need to completely remove a pod (e.g., its disk got -corrupted and data cannot be recovered), you can use the `/removeNode` API to -remove the node from the cluster. With a Kubernetes StatefulSet, you'll need to -remove the node in this order: - -1. On the Zero leader, call `/removeNode` to remove the Dgraph instance from - the cluster (see [More about Dgraph Zero]({{< relref - "#more-about-dgraph-zero" >}})). The removed instance will immediately stop - running. Any further attempts to join the cluster will fail for that instance - since it has been removed. -2. Remove the PersistentVolumeClaim associated with the pod to delete its data. - This prepares the pod to join with a clean state. -3. Restart the pod. This will create a new PersistentVolumeClaim to create new - data directories. - -When an Alpha pod restarts in a replicated cluster, it will join as a new member -of the cluster, be assigned a group and an unused index from Zero, and receive -the latest snapshot from the Alpha leader of the group. - -When a Zero pod restarts, it must join the existing group with an unused index -ID. The index ID is set with the `--idx` flag. This may require the StatefulSet -configuration to be updated. - -### Kubernetes and Bulk Loader - -You may want to initialize a new cluster with an existing data set such as data -from the [Dgraph Bulk Loader]({{< relref "#bulk-loader" >}}). You can use [Init -Containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) -to copy the data to the pod volume before the Alpha process runs. - -See the `initContainers` configuration in -[dgraph-ha.yaml](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml) -to learn more. - -## More about Dgraph Alpha - -On its HTTP port, a Dgraph Alpha exposes a number of admin endpoints. -{{% notice "warning" %}} -These HTTP endpoints are deprecated and will be removed in the next release. Please use the GraphQL endpoint at /admin. -{{% /notice %}} - -* `/health?all` returns information about the health of all the servers in the cluster. -* `/admin/shutdown` initiates a proper [shutdown]({{< relref "#shutdown" >}}) of the Alpha. -* `/admin/export` initiates a data [export]({{< relref "#export" >}}). The exported data will be -encrypted if the alpha instance was configured with an encryption key file. - -By default the Alpha listens on `localhost` for admin actions (the loopback address only accessible from the same machine). The `--bindall=true` option binds to `0.0.0.0` and thus allows external connections. - -{{% notice "tip" %}}Set max file descriptors to a high value like 10000 if you are going to load a lot of data.{{% /notice %}} - -### Querying Health - -You can query the `/admin` graphql endpoint with a query like the one below to get a JSON consisting of basic information about health of all the servers in the cluster. - -```graphql -query { - health { - instance - address - version - status - lastEcho - group - uptime - ongoing - indexing - } -} -``` - -Here’s an example of JSON returned from the above query: - -```json -{ - "data": { - "health": [ - { - "instance": "zero", - "address": "localhost:5080", - "version": "v2.0.0-rc1", - "status": "healthy", - "lastEcho": 1582827418, - "group": "0", - "uptime": 1504 - }, - { - "instance": "alpha", - "address": "localhost:7080", - "version": "v2.0.0-rc1", - "status": "healthy", - "lastEcho": 1582827418, - "group": "1", - "uptime": 1505, - "ongoing": ["opIndexing"], - "indexing": ["name", "age"] - } - ] - } -} -``` - -- `instance`: Name of the instance. Either `alpha` or `zero`. -- `status`: Health status of the instance. Either `healthy` or `unhealthy`. -- `version`: Version of Dgraph running the Alpha or Zero server. -- `uptime`: Time in nanoseconds since the Alpha or Zero server is up and running. -- `address`: IP_ADDRESS:PORT of the instance. -- `group`: Group assigned based on the replication factor. Read more [here]({{< relref "/deploy/index.md#cluster-setup" >}}). -- `lastEcho`: Last time, in Unix epoch, when the instance was contacted by another Alpha or Zero server. -- `ongoing`: List of ongoing operations in the background. -- `indexing`: List of predicates for which indexes are built in the background. Read more [here]({{< relref "/query-language/index.md#indexes-in-background" >}}). - -The same information (except `ongoing` and `indexing`) is available from the `/health` and `/health?all` endpoints of Alpha server. - -## More about Dgraph Zero - -Dgraph Zero controls the Dgraph cluster. It automatically moves data between -different Dgraph Alpha instances based on the size of the data served by each Alpha instance. - -It is mandatory to run at least one `dgraph zero` node before running any `dgraph alpha`. -Options present for `dgraph zero` can be seen by running `dgraph zero --help`. - -* Zero stores information about the cluster. -* `--replicas` is the option that controls the replication factor. (i.e. number of replicas per data shard, including the original shard) -* When a new Alpha joins the cluster, it is assigned a group based on the replication factor. If the replication factor is 1 then each Alpha node will serve different group. If replication factor is 2 and you launch 4 Alphas, then first two Alphas would serve group 1 and next two machines would serve group 2. -* Zero also monitors the space occupied by predicates in each group and moves them around to rebalance the cluster. - -Like Alpha, Zero also exposes HTTP on 6080 (+ any `--port_offset`). You can query (**GET** request) it -to see useful information, like the following: - -* `/state` Information about the nodes that are part of the cluster. Also contains information about -size of predicates and groups they belong to. -* `/assign?what=uids&num=100` This would allocate `num` uids and return a JSON map -containing `startId` and `endId`, both inclusive. This id range can be safely assigned -externally to new nodes during data ingestion. -* `/assign?what=timestamps&num=100` This would request timestamps from Zero. -This is useful to fast forward Zero state when starting from a postings -directory, which already has commits higher than Zero's leased timestamp. -* `/removeNode?id=3&group=2` If a replica goes down and can't be recovered, you -can remove it and add a new node to the quorum. This endpoint can be used to -remove a dead Zero or Dgraph Alpha node. To remove dead Zero nodes, pass -`group=0` and the id of the Zero node. - -{{% notice "note" %}} -Before using the API ensure that the node is down and ensure that it doesn't come back up ever again. - -You should not use the same `idx` of a node that was removed earlier. -{{% /notice %}} - -* `/moveTablet?tablet=name&group=2` This endpoint can be used to move a tablet to a group. Zero -already does shard rebalancing every 8 mins, this endpoint can be used to force move a tablet. - - -These are the **POST** endpoints available: - -* `/enterpriseLicense` Use endpoint to apply an enterprise license to the cluster by supplying it -as part of the body. - -### More about /state endpoint - -The `/state` endpoint of Dgraph Zero returns a JSON document of the current group membership info: - -- Instances which are part of the cluster. -- Number of instances in Zero group and each Alpha groups. -- Current leader of each group. -- Predicates that belong to a group. -- Estimated size in bytes of each predicate. -- Enterprise license information. -- Max Leased transaction ID. -- Max Leased UID. -- CID (Cluster ID). - -Here’s an example of JSON returned from `/state` endpoint for a 6-node Dgraph cluster with three replicas: - -```json -{ - "counter": "15", - "groups": { - "1": { - "members": { - "1": { - "id": "1", - "groupId": 1, - "addr": "alpha1:7080", - "leader": true, - "lastUpdate": "1576112366" - }, - "2": { - "id": "2", - "groupId": 1, - "addr": "alpha2:7080" - }, - "3": { - "id": "3", - "groupId": 1, - "addr": "alpha3:7080" - } - }, - "tablets": { - "counter.val": { - "groupId": 1, - "predicate": "counter.val" - }, - "dgraph.type": { - "groupId": 1, - "predicate": "dgraph.type" - } - }, - "checksum": "1021598189643258447" - } - }, - "zeros": { - "1": { - "id": "1", - "addr": "zero1:5080", - "leader": true - }, - "2": { - "id": "2", - "addr": "zero2:5080" - }, - "3": { - "id": "3", - "addr": "zero3:5080" - } - }, - "maxLeaseId": "10000", - "maxTxnTs": "10000", - "cid": "3602537a-ee49-43cb-9792-c766eea683dc", - "license": { - "maxNodes": "18446744073709551615", - "expiryTs": "1578704367", - "enabled": true - } -} -``` - -Here’s the information the above JSON document provides: - -- Group 0 - - members - - zero1:5080, id: 1, leader - - zero2:5080, id: 2 - - zero3:5080, id: 3 -- Group 1 - - members - - alpha1:7080, id: 1, leader - - alpha2:7080, id: 2 - - alpha3:7080, id: 3 - - predicates - - dgraph.type - - counter.val -- Enterprise license - - Enabled - - maxNodes: unlimited - - License expires on Friday, January 10, 2020 4:59:27 PM GMT-08:00 (converted from epoch timestamp) -- Other data: - - maxTxnTs - - The current max lease of transaction timestamps used to hand out start timestamps - and commit timestamps. - - This increments in batches of 10,000 IDs. Once the max lease is reached, another - 10,000 IDs are leased. In the event that the Zero leader is lost, then the new - leader starts a brand new lease from maxTxnTs+1 . Any lost transaction IDs - in-between will never be used. - - An admin can use the Zero endpoint HTTP GET `/assign?what=timestamps&num=1000` to - increase the current transaction timestamp (in this case, by 1000). This is mainly - useful in special-case scenarios, e.g., using an existing p directory to a fresh - cluster in order to be able to query the latest data in the DB. - - maxLeaseId - - The current max lease of UIDs used for blank node UID assignment. - - This increments in batches of 10,000 IDs. Once the max lease is reached, another - 10,000 IDs are leased. In the event that the Zero leader is lost, the new leader - starts a brand new lease from maxLeaseId+1. Any UIDs lost in-between will never - be used for blank-node UID assignment. - - An admin can use the Zero endpoint HTTP GET `/assign?what=uids&num=1000` to - reserve a range of UIDs (in this case, 1000) to use externally (Zero will NEVER - use these UIDs for blank node UID assignment, so the user can use the range - to assign UIDs manually to their own data sets. - - CID - - This is a unique UUID representing the *cluster-ID* for this cluster. It is generated - during the initial DB startup and is retained across restarts. - - Group checksum - - This is the checksum verification of the data per Alpha group. This is used internally - to verify group memberships in the event of a tablet move. - -{{% notice "note" %}} -"tablet", "predicate", and "edge" are synonymous terms today. The future plan to -improve data scalability is to shard a predicate into separate tablets that could -be assigned to different groups. -{{% /notice %}} - -## Log Format - -Dgraph's log format comes from the glog library and is [formatted](https://github.com/golang/glog/blob/23def4e6c14b4da8ac2ed8007337bc5eb5007998/glog.go#L523-L533) as follows: - - `Lmmdd hh:mm:ss.uuuuuu threadid file:line] msg...` - -Where the fields are defined as follows: - -``` - L A single character, representing the log level (eg 'I' for INFO) - mm The month (zero padded; ie May is '05') - dd The day (zero padded) - hh:mm:ss.uuuuuu Time in hours, minutes and fractional seconds - threadid The space-padded thread ID as returned by GetTID() - file The file name - line The line number - msg The user-supplied message -``` - -### Query Logging - -To enable query logging, you must set `-v=3` which will enable verbose logging for everything. Alternatively, you can set `--vmodule=server=3` for only the dgraph/server.go file which would only enable query/mutation logging. - -## TLS configuration - -{{% notice "note" %}} -This section refers to the `dgraph cert` command which was introduced in v1.0.9. For previous releases, see the previous [TLS configuration documentation](https://dgraph.io/docs/v1.0.7/deploy/#tls-configuration). -{{% /notice %}} - - -Connections between client and server can be secured with TLS. Password protected private keys are **not supported**. - -{{% notice "tip" %}}If you're generating encrypted private keys with `openssl`, be sure to specify encryption algorithm explicitly (like `-aes256`). This will force `openssl` to include `DEK-Info` header in private key, which is required to decrypt the key by Dgraph. When default encryption is used, `openssl` doesn't write that header and key can't be decrypted.{{% /notice %}} - -### Dgraph Certificate Management Tool - -The `dgraph cert` program creates and manages CA-signed certificates and private keys using a generated Dgraph Root CA. The `dgraph cert` command simplifies certificate management for you. - -```sh -# To see the available flags. -$ dgraph cert --help - -# Create Dgraph Root CA, used to sign all other certificates. -$ dgraph cert - -# Create node certificate and private key -$ dgraph cert -n localhost - -# Create client certificate and private key for mTLS (mutual TLS) -$ dgraph cert -c dgraphuser - -# Combine all in one command -$ dgraph cert -n localhost -c dgraphuser - -# List all your certificates and keys -$ dgraph cert ls -``` - -Node certificates by default are valid for 365 days. To adjust the validity duration, you can use the `--duration` option. - -#### File naming conventions - -To enable TLS you must specify the directory path to find certificates and keys. The default location where the _cert_ command stores certificates (and keys) is `tls` under the Dgraph working directory; where the data files are found. The default dir path can be overridden using the `--dir` option. - -```sh -$ dgraph cert --dir ~/mycerts -``` - -The following file naming conventions are used by Dgraph for proper TLS setup. - -| File name | Description | Use | -|-----------|-------------|-------| -| ca.crt | Dgraph Root CA certificate | Verify all certificates | -| ca.key | Dgraph CA private key | Validate CA certificate | -| node.crt | Dgraph node certificate | Shared by all nodes for accepting TLS connections | -| node.key | Dgraph node private key | Validate node certificate | -| client._name_.crt | Dgraph client certificate | Authenticate a client _name_ | -| client._name_.key | Dgraph client private key | Validate _name_ client certificate | - -The Root CA certificate is used for verifying node and client certificates, if changed you must regenerate all certificates. - -For client authentication, each client must have their own certificate and key. These are then used to connect to the Dgraph node(s). - -The node certificate `node.crt` can support multiple node names using multiple host names and/or IP address. Just separate the names with commas when generating the certificate. - -```sh -$ dgraph cert -n localhost,104.25.165.23,dgraph.io,2400:cb00:2048:1::6819:a417 -``` - -{{% notice "tip" %}}You must delete the old node cert and key before you can generate a new pair.{{% /notice %}} - -{{% notice "note" %}}When using host names for node certificates, including _localhost_, your clients must connect to the matching host name -- such as _localhost_ not 127.0.0.1. If you need to use IP addresses, then add them to the node certificate.{{% /notice %}} - -#### Certificate inspection - -The command `dgraph cert ls` lists all certificates and keys in the `--dir` directory (default 'tls'), along with details to inspect and validate cert/key pairs. - -Example of command output: - -```sh --rw-r--r-- ca.crt - Dgraph Root CA certificate - Issuer: Dgraph Labs, Inc. - S/N: 0b618b0771411b - Expiration: 13 Jul 30 20:12 UTC -SHA-256 Digest: 92248D16 FC3368EA 9C2C2B57 CC1657BC F41CB095 AB808700 80ED1A9B 38C7E5F8 - --r-------- ca.key - Dgraph Root CA key - Algorithm: RSA 2048 bits (PKCS#1) -SHA-256 Digest: 92248D16 FC3368EA 9C2C2B57 CC1657BC F41CB095 AB808700 80ED1A9B 38C7E5F8 - --rw-r--r-- client.dgraphuser.crt - Dgraph client certificate: dgraphuser - Issuer: Dgraph Labs, Inc. - CA Verify: PASSED - S/N: 23012b9183fdf9f5 - Expiration: 14 Jul 21 20:14 UTC -SHA-256 Digest: 800798FA 2938CAB4 7AA1A655 A7EB3053 81CE6031 3147C12A 50DBA682 83FF85DA - --rw------- client.dgraphuser.key - Dgraph Client key - Algorithm: RSA 2048 bits (PKCS#1) -SHA-256 Digest: 800798FA 2938CAB4 7AA1A655 A7EB3053 81CE6031 3147C12A 50DBA682 83FF85DA - --rw-r--r-- node.crt - Dgraph Node certificate - Issuer: Dgraph Labs, Inc. - CA Verify: PASSED - S/N: 4241d25148e478bd - Expiration: 14 Jul 21 20:12 UTC - Hosts: localhost -SHA-256 Digest: 23302165 DE675EFA 11ABAD0C 3B11CC6E BD5B33F1 7B4DB140 80224D21 F834853B - --rw------- node.key - Dgraph Node key - Algorithm: RSA 2048 bits (PKCS#1) -SHA-256 Digest: 23302165 DE675EFA 11ABAD0C 3B11CC6E BD5B33F1 7B4DB140 80224D21 F834853B -``` - -Important points: - -* The cert/key pairs should always have matching SHA-256 digests. Otherwise, the cert(s) must be - regenerated. If the Root CA pair differ, all cert/key must be regenerated; the flag `--force` - can help. -* All certificates must pass Dgraph CA verification. -* All key files should have the least access permissions, especially the `ca.key`, but be readable. -* Key files won't be overwritten if they have limited access, even with `--force`. -* Node certificates are only valid for the hosts listed. -* Client certificates are only valid for the named client/user. - -### TLS Options - -The following configuration options are available for Alpha: - -* `--tls_dir string` - TLS dir path; this enables TLS connections (usually 'tls'). -* `--tls_use_system_ca` - Include System CA with Dgraph Root CA. -* `--tls_client_auth string` - TLS client authentication used to validate client connection. See [Client Authentication Options](#client-authentication-options) for details. - -Dgraph Live Loader can be configured with the following options: - -* `--tls_cacert string` - Dgraph Root CA, such as `./tls/ca.crt` -* `--tls_use_system_ca` - Include System CA with Dgraph Root CA. -* `--tls_cert` - User cert file provided by the client to Alpha -* `--tls_key` - User private key file provided by the client to Alpha -* `--tls_server_name string` - Server name, used for validating the server's TLS host name. - - -#### Using TLS without Client Authentication - -For TLS without client authentication, you can configure certificates and run Alpha server using the following: - -```sh -# First, create rootca and node certificates and private keys -$ dgraph cert -n localhost -# Default use for enabling TLS server (after generating certificates and private keys) -$ dgraph alpha --tls_dir tls -``` - -You can then run Dgraph live loader using the following: - -```sh -# Now, connect to server using TLS -$ dgraph live --tls_cacert ./tls/ca.crt --tls_server_name "localhost" -s 21million.schema -f 21million.rdf.gz -``` - -#### Using TLS with Client Authentication - -If you do require Client Authentication (Mutual TLS), you can configure certificates and run Alpha server using the following: - -```sh -# First, create a rootca, node, and client certificates and private keys -$ dgraph cert -n localhost -c dgraphuser -# Default use for enabling TLS server with client authentication (after generating certificates and private keys) -$ dgraph alpha --tls_dir tls --tls_client_auth="REQUIREANDVERIFY" -``` - -You can then run Dgraph live loader using the following: - -```sh -# Now, connect to server using mTLS (mutual TLS) -$ dgraph live \ - --tls_cacert ./tls/ca.crt \ - --tls_cert ./tls/client.dgraphuser.crt \ - --tls_key ./tls/client.dgraphuser.key \ - --tls_server_name "localhost" \ - -s 21million.schema \ - -f 21million.rdf.gz -``` - -#### Client Authentication Options - -The server will always **request** Client Authentication. There are four different values for the `--tls_client_auth` option that change the security policy of the client certificate. - -| Value | Client Cert/Key | Client Certificate Verified | -|--------------------|-----------------|--------------------| -| `REQUEST` | optional | Client certificate is not VERIFIED if provided. (least secure) | -| `REQUIREANY` | required | Client certificate is never VERIFIED | -| `VERIFYIFGIVEN` | optional | Client certificate is VERIFIED if provided (default) | -| `REQUIREANDVERIFY` | required | Client certificate is always VERIFIED (most secure) | - -{{% notice "note" %}}REQUIREANDVERIFY is the most secure but also the most difficult to configure for remote clients. When using this value, the value of `--tls_server_name` is matched against the certificate SANs values and the connection host.{{% /notice %}} - -### Using Ratel UI with Client authentication - -Ratel UI (and any other JavaScript clients built on top of `dgraph-js-http`) -connect to Dgraph servers via HTTP, when TLS is enabled servers begin to expect -HTTPS requests only. Therefore some adjustments need to be made. - -If the `--tls_client_auth` option is set to `REQUEST`or `VERIFYIFGIVEN` (default): - -1. Change the connection URL from `http://` to `https://` (e.g. `https://127.0.0.1:8080`). -2. Install / make trusted the certificate of the Dgraph certificate authority `ca.crt`. Refer to the documentation of your OS / browser for instructions -(e.g. on Mac OS this means adding `ca.crt` to the KeyChain and making it trusted -for `Secure Socket Layer`). - -For `REQUIREANY` and `REQUIREANDVERIFY` you need to follow the steps above and -also need to install client certificate on your OS / browser: - -1. Generate a client certificate: `dgraph cert -c MyLaptop`. -2. Convert it to a `.p12` file: -`openssl pkcs12 -export -out MyLaptopCert.p12 -in tls/client.MyLaptop.crt -inkey tls/client.MyLaptop.key`. Use any password you like for export. -3. Install the generated `MyLaptopCert.p12` file on the client system -(on Mac OS this means simply double-click the file in Finder). -4. Next time you use Ratel to connect to an alpha with Client authentication -enabled the browser will prompt you for a client certificate to use. Select the -certificate you've just installed in the step above and queries/mutations will -succeed. - -### Using Curl with Client authentication - -When TLS is enabled, `curl` requests to Dgraph will need some specific options to work. For instance (for an export request): - -``` -curl --silent --cacert ./tls/ca.crt https://localhost:8080/admin/export -``` - -If you are using `curl` with [Client Authentication](#client-authentication-options) set to `REQUIREANY` or `REQUIREANDVERIFY`, you will need to provide the client certificate and private key. For instance (for an export request): - -``` -curl --silent --cacert ./tls/ca.crt --cert ./tls/client.dgraphuser.crt --key ./tls/client.dgraphuser.key https://localhost:8080/admin/export -``` - -Refer to the `curl` documentation for further information on its TLS options. - -### Access Data Using a Client - -Some examples of connecting via a [Client](/clients) when TLS is in use can be found below: - -- [dgraph4j](https://github.com/dgraph-io/dgraph4j#creating-a-secure-client-using-tls) -- [dgraph-js](https://github.com/dgraph-io/dgraph-js/tree/master/examples/tls) -- [dgo](https://github.com/dgraph-io/dgraph/blob/master/tlstest/acl/acl_over_tls_test.go) -- [pydgraph](https://github.com/dgraph-io/pydgraph/tree/master/examples/tls) - -### Troubleshooting Ratel's Client authentication - -If you are getting errors in Ratel when server's TLS is enabled try opening -your alpha URL as a webpage. - -Assuming you are running Dgraph on your local machine, opening -`https://localhost:8080/` in browser should produce a message `Dgraph browser is available for running separately using the dgraph-ratel binary`. - -In case you are getting a connection error, try not passing the -`--tls_client_auth` flag when starting an alpha. If you are still getting an -error, check that your hostname is correct and the port is open; then make sure -that "Dgraph Root CA" certificate is installed and trusted correctly. - -After that, if things work without `--tls_client_auth` but stop working when -`REQUIREANY` and `REQUIREANDVERIFY` is set make sure the `.p12` file is -installed correctly. - -## Cluster Checklist - -In setting up a cluster be sure the check the following. - -* Is at least one Dgraph Zero node running? -* Is each Dgraph Alpha instance in the cluster set up correctly? -* Will each Dgraph Alpha instance be accessible to all peers on 7080 (+ any port offset)? -* Does each instance have a unique ID on startup? -* Has `--bindall=true` been set for networked communication? - -See the [Production Checklist]({{< relref "#production-checklist" >}}) docs for more info. - -## Fast Data Loading - -There are two different tools that can be used for fast data loading: - -- `dgraph live` runs the Dgraph Live Loader -- `dgraph bulk` runs the Dgraph Bulk Loader - -{{% notice "note" %}} Both tools only accept [RDF N-Quad/Triple -data](https://www.w3.org/TR/n-quads/) or JSON in plain or gzipped format. Data -in other formats must be converted.{{% /notice %}} - -### Live Loader - -Dgraph Live Loader (run with `dgraph live`) is a small helper program which reads RDF N-Quads from a gzipped file, batches them up, creates mutations (using the go client) and shoots off to Dgraph. - -Dgraph Live Loader correctly handles assigning unique IDs to blank nodes across multiple files, and can optionally persist them to disk to save memory, in case the loader was re-run. - -{{% notice "note" %}} Dgraph Live Loader can optionally write the xid->uid mapping to a directory specified using the `--xidmap` flag, which can reused -given that live loader completed successfully in the previous run.{{% /notice %}} - -```sh -$ dgraph live --help # To see the available flags. - -# Read RDFs or JSON from the passed file, and send them to Dgraph on localhost:9080. -$ dgraph live -f - -# Read multiple RDFs or JSON from the passed path, and send them to Dgraph on localhost:9080. -$ dgraph live -f <./path-to-gzipped-RDF-or-JSON-files> - -# Read multiple files strictly by name. -$ dgraph live -f - -# Use compressed gRPC connections to and from Dgraph. -$ dgraph live -C -f - -# Read RDFs and a schema file and send to Dgraph running at given address. -$ dgraph live -f -s -a -z -``` - -#### Encrypted imports via Live Loader - -A new flag keyfile is added to the Live Loader. This option is required to decrypt the encrypted export data and schema files. Once the export files are decrypted, the Live Loader streams the data to a live Alpha instance. - -{{% notice "note" %}} -If the live Alpha instance has encryption turned on, the `p` directory will be encrypted. Otherwise, the `p` directory is unencrypted. -{{% /notice %}} - -#### Encrypted RDF/JSON file and schema via Live Loader -`dgraph live -f -s -keyfile ` - -#### Other Live Loader options - -`--new_uids` (default: false): Assign new UIDs instead of using the existing -UIDs in data files. This is useful to avoid overriding the data in a DB already -in operation. - -`-f, --files`: Location of *.rdf(.gz) or *.json(.gz) file(s) to load. It can -load multiple files in a given path. If the path is a directory, then all files -ending in .rdf, .rdf.gz, .json, and .json.gz will be loaded. - -`--format`: Specify file format (rdf or json) instead of getting it from -filenames. This is useful if you need to define a strict format manually. - -`-b, --batch` (default: 1000): Number of N-Quads to send as part of a mutation. - -`-c, --conc` (default: 10): Number of concurrent requests to make to Dgraph. -Do not confuse with `-C`. - -`-C, --use_compression` (default: false): Enable compression for connections to and from the -Alpha server. - -`-a, --alpha` (default: `localhost:9080`): Dgraph Alpha gRPC server address to connect for live loading. This can be a comma-separated list of Alphas addresses in the same cluster to distribute the load, e.g., `"alpha:grpc_port,alpha2:grpc_port,alpha3:grpc_port"`. - -`-x, --xidmap` (default: disabled. Need a path): Store xid to uid mapping to a directory. Dgraph will save all identifiers used in the load for later use in other data ingest operations. The mapping will be saved in the path you provide and you must indicate that same path in the next load. It is recommended to use this flag if you have full control over your identifiers (Blank-nodes). Because the identifier will be mapped to a specific UID. - -### Bulk Loader - -{{% notice "note" %}} -It's crucial to tune the bulk loader's flags to get good performance. See the -section below for details. -{{% /notice %}} - -Dgraph Bulk Loader serves a similar purpose to the Dgraph Live Loader, but can -only be used to load data into a new cluster. It cannot be run on an existing -Dgraph cluster. Dgraph Bulk Loader is **considerably faster** than the Dgraph -Live Loader and is the recommended way to perform the initial import of large -datasets into Dgraph. - -Only one or more Dgraph Zeros should be running for bulk loading. Dgraph Alphas -will be started later. - -{{% notice "warning" %}} -Don't use bulk loader once the Dgraph cluster is up and running. Use it to import -your existing data to a new cluster. -{{% /notice %}} - -You can [read some technical details](https://blog.dgraph.io/post/bulkloader/) -about the bulk loader on the blog. - -See [Fast Data Loading]({{< relref "#fast-data-loading" >}}) for more info about -the expected N-Quads format. - -**Reduce shards**: Before running the bulk load, you need to decide how many -Alpha groups will be running when the cluster starts. The number of Alpha groups -will be the same number of reduce shards you set with the `--reduce_shards` -flag. For example, if your cluster will run 3 Alpha with 3 replicas per group, -then there is 1 group and `--reduce_shards` should be set to 1. If your cluster -will run 6 Alphas with 3 replicas per group, then there are 2 groups and -`--reduce_shards` should be set to 2. - -**Map shards**: The `--map_shards` option must be set to at least what's set for -`--reduce_shards`. A higher number helps the bulk loader evenly distribute -predicates between the reduce shards. - -```sh -$ dgraph bulk -f goldendata.rdf.gz -s goldendata.schema --map_shards=4 --reduce_shards=2 --http localhost:8000 --zero=localhost:5080 -``` -``` -{ - "DataFiles": "goldendata.rdf.gz", - "DataFormat": "", - "SchemaFile": "goldendata.schema", - "DgraphsDir": "out", - "TmpDir": "tmp", - "NumGoroutines": 4, - "MapBufSize": 67108864, - "ExpandEdges": true, - "SkipMapPhase": false, - "CleanupTmp": true, - "NumShufflers": 1, - "Version": false, - "StoreXids": false, - "ZeroAddr": "localhost:5080", - "HttpAddr": "localhost:8000", - "IgnoreErrors": false, - "MapShards": 4, - "ReduceShards": 2 -} -The bulk loader needs to open many files at once. This number depends on the size of the data set loaded, the map file output size, and the level of indexing. 100,000 is adequate for most data set sizes. See `man ulimit` for details of how to change the limit. -Current max open files limit: 1024 -MAP 01s rdf_count:176.0 rdf_speed:174.4/sec edge_count:564.0 edge_speed:558.8/sec -MAP 02s rdf_count:399.0 rdf_speed:198.5/sec edge_count:1.291k edge_speed:642.4/sec -MAP 03s rdf_count:666.0 rdf_speed:221.3/sec edge_count:2.164k edge_speed:718.9/sec -MAP 04s rdf_count:952.0 rdf_speed:237.4/sec edge_count:3.014k edge_speed:751.5/sec -MAP 05s rdf_count:1.327k rdf_speed:264.8/sec edge_count:4.243k edge_speed:846.7/sec -MAP 06s rdf_count:1.774k rdf_speed:295.1/sec edge_count:5.720k edge_speed:951.5/sec -MAP 07s rdf_count:2.375k rdf_speed:338.7/sec edge_count:7.607k edge_speed:1.085k/sec -MAP 08s rdf_count:3.697k rdf_speed:461.4/sec edge_count:11.89k edge_speed:1.484k/sec -MAP 09s rdf_count:71.98k rdf_speed:7.987k/sec edge_count:225.4k edge_speed:25.01k/sec -MAP 10s rdf_count:354.8k rdf_speed:35.44k/sec edge_count:1.132M edge_speed:113.1k/sec -MAP 11s rdf_count:610.5k rdf_speed:55.39k/sec edge_count:1.985M edge_speed:180.1k/sec -MAP 12s rdf_count:883.9k rdf_speed:73.52k/sec edge_count:2.907M edge_speed:241.8k/sec -MAP 13s rdf_count:1.108M rdf_speed:85.10k/sec edge_count:3.653M edge_speed:280.5k/sec -MAP 14s rdf_count:1.121M rdf_speed:79.93k/sec edge_count:3.695M edge_speed:263.5k/sec -MAP 15s rdf_count:1.121M rdf_speed:74.61k/sec edge_count:3.695M edge_speed:246.0k/sec -REDUCE 16s [1.69%] edge_count:62.61k edge_speed:62.61k/sec plist_count:29.98k plist_speed:29.98k/sec -REDUCE 17s [18.43%] edge_count:681.2k edge_speed:651.7k/sec plist_count:328.1k plist_speed:313.9k/sec -REDUCE 18s [33.28%] edge_count:1.230M edge_speed:601.1k/sec plist_count:678.9k plist_speed:331.8k/sec -REDUCE 19s [45.70%] edge_count:1.689M edge_speed:554.4k/sec plist_count:905.9k plist_speed:297.4k/sec -REDUCE 20s [60.94%] edge_count:2.252M edge_speed:556.5k/sec plist_count:1.278M plist_speed:315.9k/sec -REDUCE 21s [93.21%] edge_count:3.444M edge_speed:681.5k/sec plist_count:1.555M plist_speed:307.7k/sec -REDUCE 22s [100.00%] edge_count:3.695M edge_speed:610.4k/sec plist_count:1.778M plist_speed:293.8k/sec -REDUCE 22s [100.00%] edge_count:3.695M edge_speed:584.4k/sec plist_count:1.778M plist_speed:281.3k/sec -Total: 22s -``` - -The output will be generated in the `out` directory by default. Here's the bulk -load output from the example above: - -```sh -$ tree ./out -``` -``` -./out -├── 0 -│   └── p -│   ├── 000000.vlog -│   ├── 000002.sst -│   └── MANIFEST -└── 1 - └── p - ├── 000000.vlog - ├── 000002.sst - └── MANIFEST - -4 directories, 6 files -``` - -Because `--reduce_shards` was set to 2, there are two sets of p directories: one -in `./out/0` directory and another in the `./out/1` directory. - -Once the output is created, they can be copied to all the servers that will run -Dgraph Alphas. Each Dgraph Alpha must have its own copy of the group's p -directory output. Each replica of the first group should have its own copy of -`./out/0/p`, each replica of the second group should have its own copy of -`./out/1/p`, and so on. - -```sh -$ dgraph bulk --help # To see the available flags. - -# Read RDFs or JSON from the passed file. -$ dgraph bulk -f ... - -# Read multiple RDFs or JSON from the passed path. -$ dgraph bulk -f <./path-to-gzipped-RDF-or-JSON-files> ... - -# Read multiple files strictly by name. -$ dgraph bulk -f ... - -``` - -#### Encryption at rest with Bulk Loader - -Even before the Dgraph cluster starts, we can load data using Bulk Loader with the encryption feature turned on. Later we can point the generated `p` directory to a new Alpha server. - -Here's an example to run Bulk Loader with a key used to write encrypted data: - -```bash -dgraph bulk --encryption_key_file ./enc_key_file -f data.json.gz -s data.schema --map_shards=1 --reduce_shards=1 --http localhost:8000 --zero=localhost:5080 -``` - -#### Encrypting imports via Bulk Loader - -The Bulk Loader’s `encryption_key_file` option was previously used to encrypt the output `p ` directory. This same option will also be used to decrypt the encrypted export data and schema files. - -Another option, `--encrypted`, indicates whether the input `rdf`/`json` data and schema files are encrypted or not. With this switch, we support the use case of migrating data from unencrypted exports to encrypted import. - -So, with the above two options we have 4 cases: - -1. `--encrypted=true` and no `encryption_key_file`. - -Error: If the input is encrypted, a key file must be provided. - -2. `--encrypted=true` and `encryption_key_file`=`path to key. - -Input is encrypted and output `p` dir is encrypted as well. - -3. `--encrypted=false` and no `encryption_key_file`. - -Input is not encrypted and the output `p` dir is also not encrypted. - -4. `--encrypted=false` and `encryption_key_file`=`path to key`. - -Input is not encrypted but the output is encrypted. (This is the migration use case mentioned above). - -#### Other Bulk Loader options - -`--new_uids` (default: false): Assign new UIDs instead of using the existing -UIDs in data files. This is useful to avoid overriding the data in a DB already -in operation. - -`-f, --files`: Location of *.rdf(.gz) or *.json(.gz) file(s) to load. It can -load multiple files in a given path. If the path is a directory, then all files -ending in .rdf, .rdf.gz, .json, and .json.gz will be loaded. - -`--format`: Specify file format (rdf or json) instead of getting it from -filenames. This is useful if you need to define a strict format manually. - -`--store_xids`: Generate a xid edge for each node. It will store the XIDs (The identifier / Blank-nodes) in an attribute named `xid` in the entity itself. It is useful if you gonna use [External IDs](/mutations#external-ids). - -`--xidmap` (default: disabled. Need a path): Store xid to uid mapping to a directory. Dgraph will save all identifiers used in the load for later use in other data ingest operations. The mapping will be saved in the path you provide and you must indicate that same path in the next load. It is recommended to use this flag if you have full control over your identifiers (Blank-nodes). Because the identifier will be mapped to a specific UID. - -#### Tuning & monitoring - -##### Performance Tuning - -{{% notice "tip" %}} -We highly recommend [disabling swap -space](https://askubuntu.com/questions/214805/how-do-i-disable-swap) when -running Bulk Loader. It is better to fix the parameters to decrease memory -usage, than to have swapping grind the loader down to a halt. -{{% /notice %}} - -Flags can be used to control the behaviour and performance characteristics of -the bulk loader. You can see the full list by running `dgraph bulk --help`. In -particular, **the flags should be tuned so that the bulk loader doesn't use more -memory than is available as RAM**. If it starts swapping, it will become -incredibly slow. - -**In the map phase**, tweaking the following flags can reduce memory usage: - -- The `--num_go_routines` flag controls the number of worker threads. Lowering reduces memory - consumption. - -- The `--mapoutput_mb` flag controls the size of the map output files. Lowering - reduces memory consumption. - -For bigger datasets and machines with many cores, gzip decoding can be a -bottleneck during the map phase. Performance improvements can be obtained by -first splitting the RDFs up into many `.rdf.gz` files (e.g. 256MB each). This -has a negligible impact on memory usage. - -**The reduce phase** is less memory heavy than the map phase, although can still -use a lot. Some flags may be increased to improve performance, *but only if -you have large amounts of RAM*: - -- The `--reduce_shards` flag controls the number of resultant Dgraph alpha instances. - Increasing this increases memory consumption, but in exchange allows for -higher CPU utilization. - -- The `--map_shards` flag controls the number of separate map output shards. - Increasing this increases memory consumption but balances the resultant -Dgraph alpha instances more evenly. - -- The `--shufflers` controls the level of parallelism in the shuffle/reduce - stage. Increasing this increases memory consumption. - -## Ludicrous Mode - -Ludicrous mode is available in Dgraph v20.03.1 or later. - -Ludicrous mode allows Dgraph to ingest data at an incredibly fast speed. It differs from the normal mode as it provides fewer guarantees. In normal mode, Dgraph provides strong consistency. In ludicrous mode, Dgraph provides eventual consistency. In ludicrous mode, any mutation which succeeds **might be available eventually**. **Eventually** means the changes will be applied later and might not be reflected in queries away. If Dgraph crashes unexpectedly, there **might** be unapplied mutations which **will not** be picked up when Dgraph restarts. Dgraph with ludicrous mode enabled behaves as an eventually consistent system. - - -**How do I enable it?** - -Ludicrous mode can be enabled by setting the `--ludicrous_mode` config option to all Zero and Alpha instances in the cluster. - - -**What does it do?** - -It doesn't wait for mutations to be applied. When a mutation comes, it proposes the mutation to the cluster and as soon as the proposal reaches the other nodes, it returns the response right away. You don't need to send a commit request for mutation. It's equivalent to having CommitNow set automatically for all mutations. All the mutations are then sent to background workers which keep applying them. - -Also, Dgraph does not sync writes to disk. This increases throughput but may result in loss of unsynced writes in the event of hardware failure. - - -**What is the trade off?** - -As mentioned in the section above, it provides amazing speed at the cost of some guarantees. - -It can be used when we have write-heavy operations and there is a time gap between queries and mutations, or you are fine with potentially reading stale data. - -There are no transactions in ludicrous mode. That is, you cannot open a transaction, apply a mutation, and then decide to cancel the transaction. Every mutation request is committed to Dgraph. - -**Can the cluster run with HA?** - -Yes, ludicrous mode works with the cluster set up in a highly-available (HA) configuration. - -**Can the cluster run with multiple data shards?** - -Yes, ludicrous mode works with the cluster set up with multiple data shards. - - - -## Monitoring -Dgraph exposes metrics via the `/debug/vars` endpoint in json format and the `/debug/prometheus_metrics` endpoint in Prometheus's text-based format. Dgraph doesn't store the metrics and only exposes the value of the metrics at that instant. You can either poll this endpoint to get the data in your monitoring systems or install **[Prometheus](https://prometheus.io/docs/introduction/install/)**. Replace targets in the below config file with the ip of your Dgraph instances and run prometheus using the command `prometheus -config.file my_config.yaml`. - -```sh -scrape_configs: - - job_name: "dgraph" - metrics_path: "/debug/prometheus_metrics" - scrape_interval: "2s" - static_configs: - - targets: - - 172.31.9.133:6080 # For Dgraph zero, 6080 is the http endpoint exposing metrics. - - 172.31.15.230:8080 # For Dgraph alpha, 8080 is the http endpoint exposing metrics. - - 172.31.0.170:8080 - - 172.31.8.118:8080 -``` - -{{% notice "note" %}} -Raw data exported by Prometheus is available via `/debug/prometheus_metrics` endpoint on Dgraph alphas. -{{% /notice %}} - -Install **[Grafana](http://docs.grafana.org/installation/)** to plot the metrics. Grafana runs at port 3000 in default settings. Create a prometheus datasource by following these **[steps](https://prometheus.io/docs/visualization/grafana/#creating-a-prometheus-data-source)**. Import **[grafana_dashboard.json](https://github.com/dgraph-io/benchmarks/blob/master/scripts/grafana_dashboard.json)** by following this **[link](http://docs.grafana.org/reference/export_import/#importing-a-dashboard)**. - - -### CloudWatch - -Route53's health checks can be leveraged to create standard CloudWatch alarms to notify on change in the status of the `/health` endpoints of Alpha and Zero. - -Considering that the endpoints to monitor are publicly accessible and you have the AWS credentials and [awscli](https://aws.amazon.com/cli/) setup, we’ll go through an example of setting up a simple CloudWatch alarm configured to alert via email for the Alpha endpoint `alpha.acme.org:8080/health`. Dgraph Zero's `/health` endpoint can also be monitored in a similar way. - - - -#### Create the Route53 Health Check -```sh -aws route53 create-health-check \ - --caller-reference $(date "+%Y%m%d%H%M%S") \ - --health-check-config file:///tmp/create-healthcheck.json \ - --query 'HealthCheck.Id' -``` -The file `/tmp/create-healthcheck.json` would need to have the values for the parameters required to create the health check as such: -```sh -{ - "Type": "HTTPS", - "ResourcePath": "/health", - "FullyQualifiedDomainName": "alpha.acme.org", - "Port": 8080, - "RequestInterval": 30, - "FailureThreshold": 3 -} -``` -The reference for the values one can specify while creating or updating a health check can be found on the AWS [documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-values.html). - -The response to the above command would be the ID of the created health check. -```sh -"29bdeaaa-f5b5-417e-a5ce-7dba1k5f131b" -``` -Make a note of the health check ID. This will be used to integrate CloudWatch alarms with the health check. - -{{% notice "note" %}} -Currently, Route53 metrics are only (available)[https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-health-checks.html] in the **US East (N. Virginia)** region. The Cloudwatch Alarm (and the SNS Topic) should therefore be created in `us-east-1`. -{{% /notice %}} - -#### [Optional] Creating an SNS Topic -SNS topics are used to create message delivery channels. If you do not have any SNS topics configured, one can be created by running the following command: - -```sh -aws sns create-topic --region=us-east-1 --name ops --query 'TopicArn' -``` - -The response to the above command would be as follows: -```sh -"arn:aws:sns:us-east-1:123456789012:ops" -``` -Be sure to make a note of the topic ARN. This would be used to configure the CloudWatch alarm's action parameter. - -Run the following command to subscribe your email to the SNS topic: -```sh -aws sns subscribe \ - --topic-arn arn:aws:sns:us-east-1:123456789012:ops \ - --protocol email \ - --notification-endpoint ops@acme.org -``` -The subscription will need to be confirmed through *AWS Notification - Subscription Confirmation* sent through email. Once the subscription is confirmed, CloudWatch can be configured to use the SNS topic to trigger the alarm notification. - - - -#### Creating a CloudWatch Alarm -The following command creates a CloudWatch alarm with `--alarm-actions` set to the ARN of the SNS topic and the `--dimensions` of the alarm set to the health check ID. -```sh -aws cloudwatch put-metric-alarm \ - --region=us-east-1 \ - --alarm-name dgraph-alpha \ - --alarm-description "Alarm for when Alpha is down" \ - --metric-name HealthCheckStatus \ - --dimensions "Name=HealthCheckId,Value=29bdeaaa-f5b5-417e-a5ce-7dba1k5f131b" \ - --namespace AWS/Route53 \ - --statistic Minimum \ - --period 60 \ - --threshold 1 \ - --comparison-operator LessThanThreshold \ - --evaluation-periods 1 \ - --treat-missing-data breaching \ - --alarm-actions arn:aws:sns:us-east-1:123456789012:ops -``` - -One can verify the alarm status from the CloudWatch or Route53 consoles. - -##### Internal Endpoints -If the Alpha endpoint is internal to the VPC network - one would need to create a Lambda function that would periodically (triggered using CloudWatch Event Rules) request the `/health` path and create CloudWatch metrics which could then be used to create the required CloudWatch alarms. -The architecture and the CloudFormation template to achieve the same can be found [here](https://aws.amazon.com/blogs/networking-and-content-delivery/performing-route-53-health-checks-on-private-resources-in-a-vpc-with-aws-lambda-and-amazon-cloudwatch/). - - - -## Metrics - -Dgraph metrics follow the [metric and label conventions for -Prometheus](https://prometheus.io/docs/practices/naming/). - -### Disk Metrics - -The disk metrics let you track the disk activity of the Dgraph process. Dgraph does not interact -directly with the filesystem. Instead it relies on [Badger](https://github.com/dgraph-io/badger) to -read from and write to disk. - - Metrics | Description - ------- | ----------- - `badger_v2_disk_reads_total` | Total count of disk reads in Badger. - `badger_v2_disk_writes_total` | Total count of disk writes in Badger. - `badger_v2_gets_total` | Total count of calls to Badger's `get`. - `badger_v2_memtable_gets_total` | Total count of memtable accesses to Badger's `get`. - `badger_v2_puts_total` | Total count of calls to Badger's `put`. - `badger_v2_read_bytes` | Total bytes read from Badger. - `badger_v2_written_bytes` | Total bytes written to Badger. - -### Memory Metrics - -The memory metrics let you track the memory usage of the Dgraph process. The idle and inuse metrics -gives you a better sense of the active memory usage of the Dgraph process. The process memory metric -shows the memory usage as measured by the operating system. - -By looking at all three metrics you can see how much memory a Dgraph process is holding from the -operating system and how much is actively in use. - - Metrics | Description - ------- | ----------- - `dgraph_memory_idle_bytes` | Estimated amount of memory that is being held idle that could be reclaimed by the OS. - `dgraph_memory_inuse_bytes` | Total memory usage in bytes (sum of heap usage and stack usage). - `dgraph_memory_proc_bytes` | Total memory usage in bytes of the Dgraph process. On Linux/macOS, this metric is equivalent to resident set size. On Windows, this metric is equivalent to [Go's runtime.ReadMemStats](https://golang.org/pkg/runtime/#ReadMemStats). - -### Activity Metrics - -The activity metrics let you track the mutations, queries, and proposals of an Dgraph instance. - - Metrics | Description - ------- | ----------- - `go_goroutines` | Total number of Goroutines currently running in Dgraph. - `dgraph_active_mutations_total` | Total number of mutations currently running. - `dgraph_pending_proposals_total` | Total pending Raft proposals. - `dgraph_pending_queries_total` | Total number of queries in progress. - `dgraph_num_queries_total{method="Server.Mutate"}` | Total number of mutations run in Dgraph. - `dgraph_num_queries_total{method="Server.Query"}` | Total number of queries run in Dgraph. - -### Health Metrics - -The health metrics let you track to check the availability of an Dgraph Alpha instance. - - Metrics | Description - ------- | ----------- - `dgraph_alpha_health_status` | **Only applicable to Dgraph Alpha**. Value is 1 when the Alpha is ready to accept requests; otherwise 0. - -### Go Metrics - -Go's built-in metrics may also be useful to measure for memory usage and garbage collection time. - - Metrics | Description - ------- | ----------- - `go_memstats_gc_cpu_fraction` | The fraction of this program's available CPU time used by the GC since the program started. - `go_memstats_heap_idle_bytes` | Number of heap bytes waiting to be used. - `go_memstats_heap_inuse_bytes` | Number of heap bytes that are in use. - -## Tracing - -Dgraph is integrated with [OpenCensus](https://opencensus.io/zpages/) to collect distributed traces from the Dgraph cluster. - -Trace data is always collected within Dgraph. You can adjust the trace sampling rate for Dgraph queries with the `--trace` option for Dgraph Alphas. By default, `--trace` is set to 0.01 to trace 1% of queries. - -### Examining Traces with zPages - -The most basic way to view traces is with the integrated trace pages. - -OpenCensus's [zPages](https://opencensus.io/zpages/) are accessible via the Zero or Alpha HTTP port at `/z/tracez`. - -### Examining Traces with Jaeger - -Jaeger collects distributed traces and provides a UI to view and query traces across different services. This provides the necessary observability to figure out what is happening in the system. - -Dgraph can be configured to send traces directly to a Jaeger collector with the `--jaeger.collector` flag. For example, if the Jaeger collector is running on `http://localhost:14268`, then pass the flag to the Dgraph Zero and Dgraph Alpha instances as `--jaeger.collector=http://localhost:14268`. - -See [Jaeger's Getting Started docs](https://www.jaegertracing.io/docs/getting-started/) to get up and running with Jaeger. - -#### Setting up multiple Dgraph clusters with Jaeger - -Jaeger allows you to examine traces from multiple Dgraph clusters. To do this, use the `--collector.tags` on a Jaeger collector to set custom trace tags. For example, run one collector with `--collector.tags env=qa` and then another collector with `--collector.tags env=dev`. In Dgraph, set the `--jaeger.collector` flag in the Dgraph QA cluster to the first collector and the flag in the Dgraph Dev cluster to the second collector. -You can run multiple Jaeger collector components for the same single Jaeger backend (e.g., many Jaeger collectors to a single Cassandra backend). This is still a single Jaeger installation but with different collectors customizing the tags per environment. - -Once you have this configured, you can filter by tags in the Jaeger UI. Filter traces by tags matching `env=dev`: - -{{% load-img "/images/jaeger-ui.png" "Jaeger UI" %}} - -Every trace has your custom tags set under the “Process” section of each span: - -{{% load-img "/images/jaeger-server-query.png" "Jaeger Query" %}} - -Filter traces by tags matching `env=qa`: - -{{% load-img "/images/jaeger-json.png" "Jaeger JSON" %}} - -{{% load-img "/images/jaeger-server-query-2.png" "Jaeger Query Result" %}} - -For more information, check out [Jaeger's Deployment Guide](https://www.jaegertracing.io/docs/deployment/). - -## Data compression on disk - -Alpha exposes the option `--badger.compression_level` to configure the compression -level for data on disk using Zstd compression. The option can be set as - -```sh -dgraph alpha --badger.compression_level=xxx -``` - -A higher compression level is more CPU intensive but offers a better compression -ratio. The default level is 3. - -This option is available in v20.03.1 and later. - -## Dgraph Administration - -Each Dgraph Alpha exposes various administrative endpoints both over HTTP and GraphQL, for - example endpoints to export data and to perform a clean shutdown. All such admin endpoints are - protected by three layers of auth: - -1. IP White-listing (use `--whitelist` flag in alpha to whitelist IPs other than localhost). -2. Poor-man's auth, if alpha is started with the `--auth_token` flag (means you will need to pass the `auth_token` as `X-Dgraph-AuthToken` header while making the HTTP request). -3. Guardian only access, if ACL is enabled (means you need to pass the ACL-JWT of a Guardian user as `X-Dgraph-AccessToken` header while making the HTTP request). - -Admin endpoint means any http endpoint which provides admin functionalities. Normally, the path starts with `/admin` for such endpoints, except a few. So, currently this list includes: - -* /admin -* /admin/backup -* /admin/config/lru_mb -* /admin/draining -* /admin/export -* /admin/shutdown -* /admin/schema -* /alter -* /login - -There are a few exceptions to the general rule described above: - -1. `/login`: This endpoint logs-in an ACL user, and provides them with a JWT. Only IP Whitelisting and Poor-man's auth checks are performed for this. -2. `/admin`: This endpoint provides GraphQL queries/mutations corresponding to the HTTP admin endpoints. All the queries/mutations on `/admin` have all the 3 auth checks, except for the following one: - * `login (mutation)`: The same behavior as the above HTTP `login` endpoint. - -### Whitelisting Admin Operations - -By default, admin operations can only be initiated from the machine on which the Dgraph Alpha runs. -You can use the `--whitelist` option to specify whitelisted IP addresses and ranges for hosts from which admin operations can be initiated. - -```sh -dgraph alpha --whitelist 172.17.0.0:172.20.0.0,192.168.1.1 --lru_mb ... -``` -This would allow admin operations from hosts with IP between `172.17.0.0` and `172.20.0.0` along with -the server which has IP address as `192.168.1.1`. - -### Restricting Mutation Operations - -By default, you can perform mutation operations for any predicate. -If the predicate in mutation doesn't exist in the schema, -the predicate gets added to the schema with an appropriate -[Dgraph Type]({{< relref "query-language/index.md#schema-types" >}}). - -You can use `--mutations disallow` to disable all mutations, -which is set to `allow` by default. - -```sh -dgraph alpha --mutations disallow -``` - -Enforce a strict schema by setting `--mutations strict`. -This mode allows mutations only on predicates already in the schema. -Before performing a mutation on a predicate that doesn't exist in the schema, -you need to perform an alter operation with that predicate and its schema type. - -```sh -dgraph alpha --mutations strict -``` - -### Securing Alter Operations - -Clients can use alter operations to apply schema updates and drop particular or all predicates from the database. -By default, all clients are allowed to perform alter operations. -You can configure Dgraph to only allow alter operations when the client provides a specific token. -This can be used to prevent clients from making unintended or accidental schema updates or predicate drops. - -You can specify the auth token with the `--auth_token` option for each Dgraph Alpha in the cluster. -Clients must include the same auth token to make alter requests. - -```sh -$ dgraph alpha --lru_mb=2048 --auth_token= -``` - -```sh -$ curl -s localhost:8080/alter -d '{ "drop_all": true }' -# Permission denied. No token provided. -``` - -```sh -$ curl -s -H 'X-Dgraph-AuthToken: ' localhost:8180/alter -d '{ "drop_all": true }' -# Permission denied. Incorrect token. -``` - -```sh -$ curl -H 'X-Dgraph-AuthToken: ' localhost:8180/alter -d '{ "drop_all": true }' -# Success. Token matches. -``` - -{{% notice "note" %}} -To fully secure alter operations in the cluster, the auth token must be set for every Alpha. -{{% /notice %}} - - -### Exporting Database - -An export of all nodes is started by locally executing the following GraphQL mutation on /admin endpoint using any compatible client like Insomnia, GraphQL Playground or GraphiQL. - -```graphql -mutation { - export(input: {format: "rdf"}) { - response { - message - code - } - } -} -``` -{{% notice "warning" %}}By default, this won't work if called from outside the server where the Dgraph Alpha is running. -You can specify a list or range of whitelisted IP addresses from which export or other admin operations -can be initiated using the `--whitelist` flag on `dgraph alpha`. -{{% /notice %}} - -This triggers an export for all Alpha groups of the cluster. The data is exported from the following Dgraph instances: - -1. For the Alpha instance that receives the GET request, the group's export data is stored with this Alpha. -2. For every other group, its group's export data is stored with the Alpha leader of that group. - -It is up to the user to retrieve the right export files from the Alphas in the -cluster. Dgraph does not copy all files to the Alpha that initiated the export. -The user must also ensure that there is sufficient space on disk to store the -export. - -Each Alpha leader for a group writes output as a gzipped file to the export -directory specified via the `--export` flag (defaults to a directory called `"export"`). If any of the groups fail, the -entire export process is considered failed and an error is returned. - -The data is exported in RDF format by default. A different output format may be specified with the -`format` field. For example: - -```graphql -mutation { - export(input: {format: "json"}) { - response { - message - code - } - } -} -``` - -Currently, "rdf" and "json" are the only formats supported. - -#### Encrypting Exports - -Export is available wherever an Alpha is running. To encrypt an export, the Alpha must be configured with the `encryption-key-file`. - -{{% notice "note" %}} -The `encryption-key-file` was used for `encryption-at-rest` and will now also be used for encrypted backups and exports. -{{% /notice %}} - -### Shutting Down Database - -A clean exit of a single Dgraph node is initiated by running the following GraphQL mutation on /admin endpoint. -{{% notice "warning" %}}This won't work if called from outside the server where Dgraph is running. -You can specify a list or range of whitelisted IP addresses from which shutdown or other admin operations -can be initiated using the `--whitelist` flag on `dgraph alpha`. -{{% /notice %}} - -```graphql -mutation { - shutdown { - response { - message - code - } - } -} -``` - -This stops the Alpha on which the command is executed and not the entire cluster. - -### Deleting database - -Individual triples, patterns of triples and predicates can be deleted as described in the [query languge docs](/query-language#delete). - -To drop all data, you could send a `DropAll` request via `/alter` endpoint. - -Alternatively, you could: - -* [Shutdown Dgraph]({{< relref "#shutting-down-database" >}}) and wait for all writes to complete, -* Delete (maybe do an export first) the `p` and `w` directories, then -* Restart Dgraph. - -### Upgrading Database - -Doing periodic exports is always a good idea. This is particularly useful if you wish to upgrade Dgraph or reconfigure the sharding of a cluster. The following are the right steps to safely export and restart. - -1. Start an [export]({{< relref "#exporting-database">}}) -2. Ensure it is successful -3. [Shutdown Dgraph]({{< relref "#shutting-down-database" >}}) and wait for all writes to complete -4. Start a new Dgraph cluster using new data directories (this can be done by passing empty directories to the options `-p` and `-w` for Alphas and `-w` for Zeros) -5. Reload the data via [bulk loader]({{< relref "#bulk-loader" >}}) -6. Verify the correctness of the new Dgraph cluster. If all looks good, you can delete the old directories (export serves as an insurance) - -These steps are necessary because Dgraph's underlying data format could have changed, and reloading the export avoids encoding incompatibilities. - -Blue-green deployment is a common approach to minimize downtime during the upgrade process. -This approach involves switching your application to read-only mode. To make sure that no mutations are executed during the maintenance window you can -do a rolling restart of all your Alpha using the option `--mutations disallow` when you restart the Alphas. This will ensure the cluster is in read-only mode. - -At this point your application can still read from the old cluster and you can perform the steps 4. and 5. described above. -When the new cluster (that uses the upgraded version of Dgraph) is up and running, you can point your application to it, and shutdown the old cluster. - -#### Upgrading from v1.2.2 to v20.03.0 for Enterprise Customers - -1. Use [binary]({{< relref "enterprise-features/index.md#binary-backups">}}) backup to export data from old cluster -2. Ensure it is successful -3. [Shutdown Dgraph]({{< relref "#shutting-down-database" >}}) and wait for all writes to complete -4. Upgrade `dgraph` binary to `v20.03.0` -5. [Restore]({{< relref "enterprise-features/index.md#restore-from-backup">}}) from the backups using upgraded `dgraph` binary -6. Start a new Dgraph cluster using the restored data directories -7. Upgrade ACL data using the following command: - -``` -dgraph upgrade --acl -a localhost:9080 -u groot -p password -``` - -{{% notice "note" %}} -If you are upgrading from v1.0, please make sure you follow the schema migration steps described in [this section](/howto/#schema-types-scalar-uid-and-list-uid). -{{% /notice %}} - -### Post Installation - -Now that Dgraph is up and running, to understand how to add and query data to Dgraph, follow [Query Language Spec](/query-language). Also, have a look at [Frequently asked questions](/faq). - -## Troubleshooting - -Here are some problems that you may encounter and some solutions to try. - -#### Running OOM (out of memory) - -During bulk loading of data, Dgraph can consume more memory than usual, due to high volume of writes. That's generally when you see the OOM crashes. - -The recommended minimum RAM to run on desktops and laptops is 16GB. Dgraph can take up to 7-8 GB with the default setting `--lru_mb` set to 4096; so having the rest 8GB for desktop applications should keep your machine humming along. - -On EC2/GCE instances, the recommended minimum is 8GB. It's recommended to set `--lru_mb` to one-third of RAM size. - -You could also decrease memory usage of Dgraph by setting `--badger.vlog=disk`. - -#### Too many open files - -If you see an log error messages saying `too many open files`, you should increase the per-process file descriptors limit. - -During normal operations, Dgraph must be able to open many files. Your operating system may set by default a open file descriptor limit lower than what's needed for a database such as Dgraph. - -On Linux and Mac, you can check the file descriptor limit with `ulimit -n -H` for the hard limit and `ulimit -n -S` for the soft limit. The soft limit should be set high enough for Dgraph to run properly. A soft limit of 65535 is a good lower bound for a production setup. You can adjust the limit as needed. - -## Production Checklist - -This guide describes important setup recommendations for a production-ready Dgraph cluster. - -{{% notice "note" %}} -In this guide, a node refers to a Dgraph instance unless specified otherwise. -{{% /notice %}} - -A **Dgraph cluster** is comprised of multiple **Dgraph instances** (aka **nodes**) connected together to form a single distributed database. A Dgraph instance is either a **Dgraph Zero** or **Dgraph Alpha**, each of which serves a different role in the cluster. - -There can be one or more **Dgraph clients** connected to Dgraph to perform database operations (queries, mutations, alter schema, etc.). These clients connect via gRPC or HTTP. Dgraph provides official clients for Go, Java, Python, and JavaScript, and C#. All of these are gRPC-based, and JavaScript supports both gRPC and HTTP for browser support. Community-developed Dgraph clients for other languages are also available. The full list of clients can be found in [Clients]({{< relref "clients/index.md" >}}) page. You can also interact with Dgraph via curl over HTTP. Dgraph Ratel is a UI client used to visualize queries, run mutations, and manage the schema. Clients do not participate as a member of the database cluster, they simply connect to one or more Dgraph Alpha instances. - -#### Cluster Requirements - -A minimum of one Dgraph Zero and one Dgraph Alpha is needed for a working cluster. - -There can be multiple Dgraph Zeros and Dgraph Alphas running in a single cluster. - - -#### Machine Requirements - -To ensure predictable performance characteristics, Dgraph instances should NOT run on "burstable" or throttled machines that limit resources. That includes t2 class machines on AWS. - -We recommend each Dgraph instance to be deployed to a single dedicated machine to ensure that Dgraph can take full advantage of machine resources. That is, for a 6-node Dgraph cluster with 3 Dgraph Zeros and 3 Dgraph Alphas, each process runs in its own machine (e.g., EC2 instance). In the event of a machine failure, only one instance is affected, instead of multiple if they were running on that same machine. - -If you'd like to run Dgraph with fewer machines, then the recommended configuration is to run a single Dgraph Zero and a single Dgraph Alpha per machine. In a high availability setup, that allows the cluster to lose a single machine (simultaneously losing a Dgraph Zero and a Dgraph Alpha) with continued availability of the database. - -Do not run multiple Dgraph Zeros or Dgraph Alpha processes on a single machine. This can affect performance due to shared resources and reduce high availability in the event of machine failures. - -#### Operating System - -The recommended operating system is Linux for production workloads. Dgraph provides release binaries in Linux, macOS, and Windows. For test environments, you can choose to run Dgraph on any operating system. This deployment guide assumes you are setting up Dgraph on Linux systems (see [Operating System Tuning]({{< relref - "#operating-system-tuning" >}})). - -#### CPU and Memory - -At the bare minimum, we recommend machines with at least 2 CPUs and 2 GiB of memory for testing. - -You'll want a sufficient CPU and memory according to your production workload. A common setup for Dgraph is 16 CPUs and 32 GiB of memory per machine. Dgraph is designed with concurrency in mind, so more cores means quicker processing and higher throughput of requests. - -You may find you'll need more CPU cores and memory for your specific use case. - -#### Disk - -Dgraph instances make heavy usage of disks, so storage with high IOPS is highly recommended to ensure reliable performance. Specifically, we recommend SSDs, not HDDs. - -Instances such as c5d.4xlarge have locally-attached NVMe SSDs with high IOPS. You can also use EBS volumes with provisioned IOPS (io1). If you are not running performance-critical workloads, you can also choose to use cheaper gp2 EBS volumes. - -Recommended disk sizes for Dgraph Zero and Dgraph Alpha: - -* Dgraph Zero: 200 GB to 300 GB. Dgraph Zero stores cluster metadata information and maintains a write-ahead log for cluster operations. -* Dgraph Alpha: 250 GB to 750 GB. Dgraph Alpha stores database data, including the schema, indices, and the data values. It maintains a write-ahead log of changes to the database. Your cloud provider may provide better disk performance based on the volume size. - -Additional recommendations: - -* The recommended Linux filesystem is ext4. -* Avoid using shared storage such as NFS, CIFS, and CEPH storage. - -#### Firewall Rules - -Dgraph instances communicate over several ports. Firewall rules should be configured appropriately for the ports documented in [Ports Usage]({{< relref "deploy/index.md#ports-usage" >}}). - -Internal ports must be accessible by all Zero and Alpha peers for proper cluster-internal communication. Database clients must be able to connect to Dgraph Alpha external ports either directly or through a load balancer. - -Dgraph Zeros can be set up in a private network where communication is only with Dgraph Alphas, database administrators, internal services (such as Prometheus or Jaeger), and possibly developers (see note below). Dgraph Zero's 6080 external port is only necessary for database administrators. For example, it can be used to inspect the cluster metadata (/state), allocate UIDs or set txn timestamps (/assign), move data shards (/moveTablet), or remove cluster nodes (/removeNode). The full docs about Zero's administrative tasks are in [More About Dgraph Zero]({{< relref "deploy/index.md#more-about-dgraph-zero" >}}). - -{{% notice "note" %}} -Developers using Dgraph Live Loader or Dgraph Bulk Loader require access to both Dgraph Zero port 5080 and Dgraph Alpha port 9080. When using those tools, consider using them within your environment that has network access to both ports of the cluster. -{{% /notice %}} - -#### Operating System Tuning - -The OS should be configured with the recommended settings to ensure that Dgraph runs properly. - -**File Descriptors Limit** - -Dgraph can use a large number of open file descriptors. Most operating systems set a default limit that is lower than what is required. - -It is recommended to set the file descriptors limit to unlimited. If that is not possible, set it to at least a million (1,048,576) which is recommended to account for cluster growth over time. - -#### Deployment - -A Dgraph instance is run as a single process from a single static binary. It does not require any additional dependencies or separate services in order to run (see the [Supplementary Services]({{< relref "#supplementary-services" >}}) section for third-party services that work alongside Dgraph). A Dgraph cluster is set up by running multiple Dgraph processes networked together. - -#### Terminology - -An **N-node cluster** is a Dgraph cluster that contains N number of Dgraph instances. For example, a 6-node cluster means six Dgraph instances. The **replication setting** specifies the number of Dgraph Alpha replicas are assigned per group. The replication setting is a configuration flag (`--replicas`) on Dgraph Zero. A **Dgraph Alpha group** is a set of Dgraph Alphas that store replications of the data amongst each other. Every Dgraph Alpha group is assigned a set of distinct predicates to store and serve. - -Examples of different cluster settings: -* No sharding - * 2-node cluster: 1 Zero, 1 Alpha (one group). - * HA equivalent: x3 = 6-node cluster. -* With 2-way sharding: - * 3-node cluster: 1 Zero, 2 Alphas (two groups). - * HA equivalent: x3 = 9-node cluster. - -In the following examples we outline the two most common cluster configurations: a 2-node cluster and a 6-node cluster. - -#### Basic setup: 2-node cluster -We provide sample configs for both [Docker Compose](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/docker/docker-compose.yml) and [Kubernetes](https://github.com/dgraph-io/dgraph/tree/master/contrib/config/kubernetes/dgraph-single) for a 2-node cluster. You can also run Dgraph directly on your host machines. - -{{% load-img "/images/deploy-guide-1.png" "2-node cluster" %}} - -Configuration can be set either as command-line flags, environment variables, or in a config file (see [Config]({{< relref "deploy/index.md#config" >}})). - -Dgraph Zero: -* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to the Dgraph Alpha (default: `localhost:5080`). -* The `--idx` flag should be set to a unique Raft ID within the Dgraph Zero group (default: `1`). -* The `--wal` flag should be set to the directory path to store write-ahead-log entries on disk (default: `zw`). -* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). -* Recommended: For better issue diagnostics, set the log level verbosity to 2 with the option `--v=2`. - -Dgraph Alpha: -* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to the Dgraph Zero (default: `localhost:7080`). -* The `--zero` flag should be set to the corresponding Zero address set for Dgraph Zero's `--my` flag. -* The `--postings` flag should be set to the directory path for data storage (default: `p`). -* The `--wal` flag should be set to the directory path for write-ahead-log entries (default: `w`) -* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). -* Recommended: For better issue diagnostics, set the log level verbosity to 2 `--v=2`. - -#### HA setup: 6-node cluster - -We provide sample configs for both [Docker Compose](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/docker/docker-compose-ha.yml) and [Kubernetes](https://github.com/dgraph-io/dgraph/tree/master/contrib/config/kubernetes/dgraph-ha) for a 6-node cluster with 3 Alpha replicas per group. You can also run Dgraph directly on your host machines. - -A Dgraph cluster can be configured in a high-availability setup with Dgraph Zero and Dgraph Alpha each set up with peers. These peers are part of Raft consensus groups, which elect a single leader amongst themselves. The non-leader peers are called followers. In the event that the peers cannot communicate with the leader (e.g., a network partition or a machine shuts down), the group automatically elects a new leader to continue. - -Configuration can be set either as command-line flags, environment variables, or in a config file (see [Config]({{< relref "deploy/index.md#config" >}})). - -In this setup, we assume the following hostnames are set: - -- `zero1` -- `zero2` -- `zero3` -- `alpha1` -- `alpha2` -- `alpha3` - -We will configure the cluster with 3 Alpha replicas per group. The cluster group-membership topology will look like the following: - -{{% load-img "/images/deploy-guide-2.png" "Dgraph cluster image" %}} - -##### Set up Dgraph Zero group - -In the Dgraph Zero group you must set unique Raft IDs (`--idx`) per Dgraph Zero. Dgraph will not auto-assign Raft IDs to Dgraph Zero instances. - -The first Dgraph Zero that starts will initiate the database cluster. Any following Dgraph Zero instances must connect to the cluster via the `--peer` flag to join. If the `--peer` flag is omitted from the peers, then the Dgraph Zero will create its own independent Dgraph cluster. - -**First Dgraph Zero** example: `dgraph zero --replicas=3 --idx=1 --my=zero1:5080` - -The `--my` flag must be set to the address:port of this instance that peers will connect to. The `--idx` flag sets its Raft ID to `1`. - -**Second Dgraph Zero** example: `dgraph zero --replicas=3 --idx=2 --my=zero2:5080 --peer=zero1:5080` - -The `--my` flag must be set to the address:port of this instance that peers will connect to. The `--idx` flag sets its Raft ID to 2, and the `--peer` flag specifies a request to connect to the Dgraph cluster of zero1 instead of initializing a new one. - -**Third Dgraph Zero** example: `dgraph zero --replicas=3 --idx=3 --my=zero3:5080 --peer=zero1:5080`: - -The `--my` flag must be set to the address:port of this instance that peers will connect to. The `--idx` flag sets its Raft ID to 3, and the `--peer` flag specifies a request to connect to the Dgraph cluster of zero1 instead of initializing a new one. - -Dgraph Zero configuration options: - -* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to Dgraph Alpha (default: `localhost:5080`). -* The `--idx` flag should be set to a unique Raft ID within the Dgraph Zero group (default: `1`). -* The `--wal` flag should be set to the directory path to store write-ahead-log entries on disk (default: `zw`). -* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). -* Recommended: For more informative log info, set the log level verbosity to 2 with the option `--v=2`. - -##### Set up Dgraph Alpha group - -The number of replica members per Alpha group depends on the setting of Dgraph Zero's `--replicas` flag. Above, it is set to 3. So when Dgraph Alphas join the cluster, Dgraph Zero will assign it to an Alpha group to fill in its members up to the limit per group set by the `--replicas` flag. - -First Alpha example: `dgraph alpha --my=alpha1:7080 --zero=zero1:7080` - -Second Alpha example: `dgraph alpha --my=alpha2:7080 --zero=zero1:7080` - -First Alpha example: `dgraph alpha --my=alpha3:7080 --zero=zero1:7080` - -Dgraph Alpha configuration options: - -* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to the Dgraph Zero (default: `localhost:7080`). -* The `--zero` flag should be set to the corresponding Zero address set for Dgraph Zero's `--my`flag. -* The `--postings` flag should be set to the directory path for data storage (default: `p`). -* The `--wal` flag should be set to the directory path for write-ahead-log entries (default: `w`) -* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). -* Recommended: For more informative log info, set the log level verbosity to 2 `--v=2`. - -#### Supplementary Services - -These services are not required for a Dgraph cluster to function but are recommended for better insight when operating a Dgraph cluster. - -- [Metrics and monitoring][] with Prometheus and Grafana. -- [Distributed tracing][] with Jaeger. - -[Metrics and monitoring]: {{< relref "deploy/index.md#monitoring" >}} -[Distributed tracing]: {{< relref "deploy/index.md#tracing" >}} - -## See Also - -* [Product Roadmap 2020](https://github.com/dgraph-io/dgraph/issues/4724) diff --git a/wiki/content/deploy/kubernetes.md b/wiki/content/deploy/kubernetes.md new file mode 100644 index 00000000000..5005244b594 --- /dev/null +++ b/wiki/content/deploy/kubernetes.md @@ -0,0 +1,566 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Using Kubernetes" +[menu.main] + parent = "deploy" + weight = 6 ++++ + +The following section covers running Dgraph with Kubernetes. We have tested Dgraph with Kubernetes 1.14 to 1.15 on [GKE](https://cloud.google.com/kubernetes-engine) and [EKS](https://aws.amazon.com/eks/). + +{{% notice "note" %}}These instructions are for running Dgraph Alpha without TLS configuration. +Instructions for running with TLS refer [TLS instructions](#tls-configuration).{{% /notice %}} + +* Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) which is used to deploy + and manage applications on kubernetes. +* Get the Kubernetes cluster up and running on a cloud provider of your choice. + * For Amazon [EKS](https://aws.amazon.com/eks/), you can use [eksctl](https://eksctl.io/) to quickly provision a new cluster. If you are new to this, Amazon has an article [Getting started with eksctl](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). + * For Google Cloud [GKE](https://cloud.google.com/kubernetes-engine), you can use [Google Cloud SDK](https://cloud.google.com/sdk/install) and the `gcloud container clusters create` command to quickly provision a new cluster. + +On Amazon [EKS](https://aws.amazon.com/eks/), you would see something like this: + +Verify that you have your cluster up and running using `kubectl get nodes`. If you used `kops` with +the default options, you should have a master and two worker nodes ready. + +```sh +➜ kubernetes git:(master) ✗ kubectl get nodes +NAME STATUS ROLES AGE VERSION +..compute.internal Ready 1m v1.15.11-eks-af3caf +..compute.internal Ready 1m v1.15.11-eks-af3caf +``` + +On Google Cloud [GKE](https://cloud.google.com/kubernetes-engine), you would see something like this: + +```sh +➜ kubernetes git:(master) ✗ kubectl get nodes +NAME STATUS ROLES AGE VERSION +gke--default-pool- Ready 41s v1.14.10-gke.36 +gke--default-pool- Ready 40s v1.14.10-gke.36 +gke--default-pool- Ready 41s v1.14.10-gke.36 +``` + +## Single Server + +Once your Kubernetes cluster is up, you can use [dgraph-single.yaml](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml) to start a Zero, Alpha, and Ratel UI services. + +### Deploy Single Server + +From your machine, run the following command to start a StatefulSet that creates a single Pod with Zero, Alpha, and Ratel UI running in it. + +```sh +kubectl create --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml +``` + +Output: +``` +service/dgraph-public created +statefulset.apps/dgraph created +``` + +### Verify Single Server + +Confirm that the pod was created successfully. + +```sh +kubectl get pods +``` + +Output: +``` +NAME READY STATUS RESTARTS AGE +dgraph-0 3/3 Running 0 1m +``` + +{{% notice "tip" %}} +You can check the logs for the containers in the pod using +`kubectl logs --follow dgraph-0 `. For example, try +`kubectl logs --follow dgraph-0 alpha` for server logs. +{{% /notice %}} + +### Test Single Server Setup + +Port forward from your local machine to the pod + +```sh +kubectl port-forward pod/dgraph-0 8080:8080 +kubectl port-forward pod/dgraph-0 8000:8000 +``` + +Go to `http://localhost:8000` and verify Dgraph is working as expected. + +### Remove Single Server Resources + +Delete all the resources + +```sh +kubectl delete --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml +kubectl delete persistentvolumeclaims --selector app=dgraph +``` + +## HA Cluster Setup Using Kubernetes + +This setup allows you to run 3 Dgraph Alphas and 3 Dgraph Zeros. We start Zero with `--replicas +3` flag, so all data would be replicated on 3 Alphas and form 1 alpha group. + +{{% notice "note" %}} Ideally you should have at least three worker nodes as part of your Kubernetes +cluster so that each Dgraph Alpha runs on a separate worker node.{{% /notice %}} + +### Validate Kubernetes Cluster for HA + +Check the nodes that are part of the Kubernetes cluster. + +```sh +kubectl get nodes +``` + +Output for Amazon [EKS](https://aws.amazon.com/eks/): + +```sh +NAME STATUS ROLES AGE VERSION +..compute.internal Ready 1m v1.15.11-eks-af3caf +..compute.internal Ready 1m v1.15.11-eks-af3caf +..compute.internal Ready 1m v1.15.11-eks-af3caf +``` + +Output for Google Cloud [GKE](https://cloud.google.com/kubernetes-engine) + +```sh +NAME STATUS ROLES AGE VERSION +gke--default-pool- Ready 41s v1.14.10-gke.36 +gke--default-pool- Ready 40s v1.14.10-gke.36 +gke--default-pool- Ready 41s v1.14.10-gke.36 +``` + +Once your Kubernetes cluster is up, you can use [dgraph-ha.yaml](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml) to start the cluster. + +#### Deploy Dgraph HA Cluster + +From your machine, run the following command to start the cluster. + +```sh +kubectl create --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml +``` + +Output: +```sh +service/dgraph-zero-public created +service/dgraph-alpha-public created +service/dgraph-ratel-public created +service/dgraph-zero created +service/dgraph-alpha created +statefulset.apps/dgraph-zero created +statefulset.apps/dgraph-alpha created +deployment.apps/dgraph-ratel created +``` + +### Verify Dgraph HA Cluster + +Confirm that the pods were created successfully. + +It may take a few minutes for the pods to come up. + +```sh +kubectl get pods +``` + +Output: +```sh +NAME READY STATUS RESTARTS AGE +dgraph-alpha-0 1/1 Running 0 6m24s +dgraph-alpha-1 1/1 Running 0 5m42s +dgraph-alpha-2 1/1 Running 0 5m2s +dgraph-ratel- 1/1 Running 0 6m23s +dgraph-zero-0 1/1 Running 0 6m24s +dgraph-zero-1 1/1 Running 0 5m41s +dgraph-zero-2 1/1 Running 0 5m6s +``` + +{{% notice "tip" %}}You can check the logs for the containers in the pod using `kubectl logs --follow dgraph-alpha-0` and `kubectl logs --follow dgraph-zero-0`.{{% /notice %}} + +### Test Dgraph HA Cluster Setup + +Port forward from your local machine to the pod + +```sh +kubectl port-forward service/dgraph-alpha-public 8080:8080 +kubectl port-forward service/dgraph-ratel-public 8000:8000 +``` + +Go to `http://localhost:8000` and verify Dgraph is working as expected. + +{{% notice "note" %}} You can also access the service on its External IP address.{{% /notice %}} + +### Delete Dgraph HA Cluster Resources + +Delete all the resources + +```sh +kubectl delete --filename https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml +kubectl delete persistentvolumeclaims --selector app=dgraph-zero +kubectl delete persistentvolumeclaims --selector app=dgraph-alpha +``` + +## Using Helm Chart + +Once your Kubernetes cluster is up, you can make use of the Helm chart present +[in our official helm repository here](https://github.com/dgraph-io/charts/) to bring +up a Dgraph cluster. + +{{% notice "note" %}}The instructions below are for Helm versions >= 3.x.{{% /notice %}} + +### Installing the Chart + +To add the Dgraph helm repository: + +```sh +helm repo add dgraph https://charts.dgraph.io +``` + +To install the chart with the release name `my-release`: + +```sh +helm install my-release dgraph/dgraph +``` + +The above command will install the latest available dgraph docker image. In order to install the older versions: + +```sh +helm install my-release dgraph/dgraph --set image.tag="latest" +``` + +By default zero and alpha services are exposed only within the kubernetes cluster as +kubernetes service type `ClusterIP`. In order to expose the alpha service publicly +you can use kubernetes service type `LoadBalancer`: + +```sh +helm install my-release dgraph/dgraph --set alpha.service.type="LoadBalancer" +``` + +Similarly, you can expose alpha and ratel service to the internet as follows: + +```sh +helm install my-release dgraph/dgraph --set alpha.service.type="LoadBalancer" --set ratel.service.type="LoadBalancer" +``` + +### Upgrading the Chart + +You can update your cluster configuration by updating the configuration of the +Helm chart. Dgraph is a stateful database that requires some attention on +upgrading the configuration carefully in order to update your cluster to your +desired configuration. + +In general, you can use [`helm upgrade`][helm-upgrade] to update the +configuration values of the cluster. Depending on your change, you may need to +upgrade the configuration in multiple steps following the steps below. + +[helm-upgrade]: https://helm.sh/docs/helm/helm_upgrade/ + +#### Upgrade to HA cluster setup + +To upgrade to an [HA cluster setup]({{< relref "#ha-cluster-setup" >}}), ensure +that the shard replication setting is more than 1. When `zero.shardReplicaCount` +is not set to an HA configuration (3 or 5), follow the steps below: + +1. Set the shard replica flag on the Zero node group. For example: `zero.shardReplicaCount=3`. +2. Next, run the Helm upgrade command to restart the Zero node group: + ```sh + helm upgrade my-release dgraph/dgraph [options] + ``` +3. Now set the Alpha replica count flag. For example: `alpha.replicaCount=3`. +4. Finally, run the Helm upgrade command again: + ```sh + helm upgrade my-release dgraph/dgraph [options] + ``` + + +### Deleting the Chart + +Delete the Helm deployment as normal + +```sh +helm delete my-release +``` +Deletion of the StatefulSet doesn't cascade to deleting associated PVCs. To delete them: + +```sh +kubectl delete pvc -l release=my-release,chart=dgraph +``` + +### Configuration + +The following table lists the configurable parameters of the dgraph chart and their default values. + +| Parameter | Description | Default | +| ------------------------------------ | ------------------------------------------------------------------- | --------------------------------------------------- | +| `image.registry` | Container registry name | `docker.io` | +| `image.repository` | Container image name | `dgraph/dgraph` | +| `image.tag` | Container image tag | `latest` | +| `image.pullPolicy` | Container pull policy | `Always` | +| `zero.name` | Zero component name | `zero` | +| `zero.updateStrategy` | Strategy for upgrading zero nodes | `RollingUpdate` | +| `zero.monitorLabel` | Monitor label for zero, used by prometheus. | `zero-dgraph-io` | +| `zero.rollingUpdatePartition` | Partition update strategy | `nil` | +| `zero.podManagementPolicy` | Pod management policy for zero nodes | `OrderedReady` | +| `zero.replicaCount` | Number of zero nodes | `3` | +| `zero.shardReplicaCount` | Max number of replicas per data shard | `5` | +| `zero.terminationGracePeriodSeconds` | Zero server pod termination grace period | `60` | +| `zero.antiAffinity` | Zero anti-affinity policy | `soft` | +| `zero.podAntiAffinitytopologyKey` | Anti affinity topology key for zero nodes | `kubernetes.io/hostname` | +| `zero.nodeAffinity` | Zero node affinity policy | `{}` | +| `zero.service.type` | Zero node service type | `ClusterIP` | +| `zero.securityContext.enabled` | Security context for zero nodes enabled | `false` | +| `zero.securityContext.fsGroup` | Group id of the zero container | `1001` | +| `zero.securityContext.runAsUser` | User ID for the zero container | `1001` | +| `zero.persistence.enabled` | Enable persistence for zero using PVC | `true` | +| `zero.persistence.storageClass` | PVC Storage Class for zero volume | `nil` | +| `zero.persistence.accessModes` | PVC Access Mode for zero volume | `ReadWriteOnce` | +| `zero.persistence.size` | PVC Storage Request for zero volume | `8Gi` | +| `zero.nodeSelector` | Node labels for zero pod assignment | `{}` | +| `zero.tolerations` | Zero tolerations | `[]` | +| `zero.resources` | Zero node resources requests & limits | `{}` | +| `zero.livenessProbe` | Zero liveness probes | `See values.yaml for defaults` | +| `zero.readinessProbe` | Zero readiness probes | `See values.yaml for defaults` | +| `alpha.name` | Alpha component name | `alpha` | +| `alpha.updateStrategy` | Strategy for upgrading alpha nodes | `RollingUpdate` | +| `alpha.monitorLabel` | Monitor label for alpha, used by prometheus. | `alpha-dgraph-io` | +| `alpha.rollingUpdatePartition` | Partition update strategy | `nil` | +| `alpha.podManagementPolicy` | Pod management policy for alpha nodes | `OrderedReady` | +| `alpha.replicaCount` | Number of alpha nodes | `3` | +| `alpha.terminationGracePeriodSeconds`| Alpha server pod termination grace period | `60` | +| `alpha.antiAffinity` | Alpha anti-affinity policy | `soft` | +| `alpha.podAntiAffinitytopologyKey` | Anti affinity topology key for zero nodes | `kubernetes.io/hostname` | +| `alpha.nodeAffinity` | Alpha node affinity policy | `{}` | +| `alpha.service.type` | Alpha node service type | `ClusterIP` | +| `alpha.securityContext.enabled` | Security context for alpha nodes enabled | `false` | +| `alpha.securityContext.fsGroup` | Group id of the alpha container | `1001` | +| `alpha.securityContext.runAsUser` | User ID for the alpha container | `1001` | +| `alpha.persistence.enabled` | Enable persistence for alpha using PVC | `true` | +| `alpha.persistence.storageClass` | PVC Storage Class for alpha volume | `nil` | +| `alpha.persistence.accessModes` | PVC Access Mode for alpha volume | `ReadWriteOnce` | +| `alpha.persistence.size` | PVC Storage Request for alpha volume | `8Gi` | +| `alpha.nodeSelector` | Node labels for alpha pod assignment | `{}` | +| `alpha.tolerations` | Alpha tolerations | `[]` | +| `alpha.resources` | Alpha node resources requests & limits | `{}` | +| `alpha.livenessProbe` | Alpha liveness probes | `See values.yaml for defaults` | +| `alpha.readinessProbe` | Alpha readiness probes | `See values.yaml for defaults` | +| `ratel.name` | Ratel component name | `ratel` | +| `ratel.replicaCount` | Number of ratel nodes | `1` | +| `ratel.service.type` | Ratel service type | `ClusterIP` | +| `ratel.securityContext.enabled` | Security context for ratel nodes enabled | `false` | +| `ratel.securityContext.fsGroup` | Group id of the ratel container | `1001` | +| `ratel.securityContext.runAsUser` | User ID for the ratel container | `1001` | +| `ratel.livenessProbe` | Ratel liveness probes | `See values.yaml for defaults` | +| `ratel.readinessProbe` | Ratel readiness probes | `See values.yaml for defaults` | + +## Monitoring in Kubernetes + +Dgraph exposes prometheus metrics to monitor the state of various components involved in the cluster, this includes dgraph alpha and zero. + +Follow the below mentioned steps to setup prometheus monitoring for your cluster: + +* Install Prometheus operator: + +```sh +kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.34/bundle.yaml +``` + +* Ensure that the instance of `prometheus-operator` has started before continuing. + +```sh +$ kubectl get deployments prometheus-operator +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +prometheus-operator 1 1 1 1 3m +``` + +* Apply prometheus manifest present [here](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/prometheus.yaml). + +```sh +$ kubectl apply -f prometheus.yaml + +serviceaccount/prometheus-dgraph-io created +clusterrole.rbac.authorization.k8s.io/prometheus-dgraph-io created +clusterrolebinding.rbac.authorization.k8s.io/prometheus-dgraph-io created +servicemonitor.monitoring.coreos.com/alpha.dgraph-io created +servicemonitor.monitoring.coreos.com/zero-dgraph-io created +prometheus.monitoring.coreos.com/dgraph-io created +``` + +To view prometheus UI locally run: + +```sh +kubectl port-forward prometheus-dgraph-io-0 9090:9090 +``` + +The UI is accessible at port 9090. Open http://localhost:9090 in your browser to play around. + +To register alerts from dgraph cluster with your prometheus deployment follow the steps below: + +* Create a kubernetes secret containing alertmanager configuration. Edit the configuration file present [here](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alertmanager-config.yaml) +with the required reciever configuration including the slack webhook credential and create the secret. + +You can find more information about alertmanager configuration [here](https://prometheus.io/docs/alerting/configuration/). + +```sh +$ kubectl create secret generic alertmanager-alertmanager-dgraph-io --from-file=alertmanager.yaml=alertmanager-config.yaml + +$ kubectl get secrets +NAME TYPE DATA AGE +alertmanager-alertmanager-dgraph-io Opaque 1 87m +``` + +* Apply the [alertmanager](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alertmanager.yaml) along with [alert-rules](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alert-rules.yaml) manifest +to use the default configured alert configuration. You can also add custom rules based on the metrics exposed by dgraph cluster similar to [alert-rules](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/monitoring/prometheus/alert-rules.yaml) +manifest. + +```sh +$ kubectl apply -f alertmanager.yaml +alertmanager.monitoring.coreos.com/alertmanager-dgraph-io created +service/alertmanager-dgraph-io created + +$ kubectl apply -f alert-rules.yaml +prometheusrule.monitoring.coreos.com/prometheus-rules-dgraph-io created +``` + +## Kubernetes Storage + +The Kubernetes configurations in the previous sections were configured to run +Dgraph with any storage type (`storage-class: anything`). On the common cloud +environments like AWS, GCP, and Azure, the default storage type are slow disks +like hard disks or low IOPS SSDs. We highly recommend using faster disks for +ideal performance when running Dgraph. + +### Local storage + +The AWS storage-optimized i-class instances provide locally attached NVMe-based +SSD storage which provide consistent very high IOPS. The Dgraph team uses +i3.large instances on AWS to test Dgraph. + +You can create a Kubernetes `StorageClass` object to provision a specific type +of storage volume which you can then attach to your Dgraph pods. You can set up +your cluster with local SSDs by using [Local Persistent +Volumes](https://kubernetes.io/blog/2018/04/13/local-persistent-volumes-beta/). +This Kubernetes feature is in beta at the time of this writing (Kubernetes +v1.13.1). You can first set up an EC2 instance with locally attached storage. +Once it is formatted and mounted properly, then you can create a StorageClass to +access it.: + +```yaml +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: +provisioner: kubernetes.io/no-provisioner +volumeBindingMode: WaitForFirstConsumer +``` + +Currently, Kubernetes does not allow automatic provisioning of local storage. So +a PersistentVolume with a specific mount path should be created: + +```yaml +apiVersion: v1 +kind: PersistentVolume +metadata: + name: +spec: + capacity: + storage: 475Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Delete + storageClassName: + local: + path: /data + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - +``` + +Then, in the StatefulSet configuration you can claim this local storage in +.spec.volumeClaimTemplate: + +``` +kind: StatefulSet +... + volumeClaimTemplates: + - metadata: + name: datadir + spec: + accessModes: + - ReadWriteOnce + storageClassName: + resources: + requests: + storage: 500Gi +``` + +You can repeat these steps for each instance that's configured with local +node storage. + +### Non-local persistent disks + +EBS volumes on AWS and PDs on GCP are persistent disks that can be configured +with Dgraph. The disk performance is much lower than locally attached storage +but can be sufficient for your workload such as testing environments. + +When using EBS volumes on AWS, we recommend using Provisioned IOPS SSD EBS +volumes (the io1 disk type) which provide consistent IOPS. The available IOPS +for AWS EBS volumes is based on the total disk size. With Kubernetes, you can +request io1 disks to be provisioned with this config with 50 IOPS/GB using the +`iopsPerGB` parameter: + +``` +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: +provisioner: kubernetes.io/aws-ebs +parameters: + type: io1 + iopsPerGB: "50" + fsType: ext4 +``` + +Example: Requesting a disk size of 250Gi with this storage class would provide +12.5K IOPS. + +## Removing a Dgraph Pod + +In the event that you need to completely remove a pod (e.g., its disk got +corrupted and data cannot be recovered), you can use the `/removeNode` API to +remove the node from the cluster. With a Kubernetes StatefulSet, you'll need to +remove the node in this order: + +1. On the Zero leader, call `/removeNode` to remove the Dgraph instance from + the cluster (see [More about Dgraph Zero]({{< relref + "#more-about-dgraph-zero" >}})). The removed instance will immediately stop + running. Any further attempts to join the cluster will fail for that instance + since it has been removed. +2. Remove the PersistentVolumeClaim associated with the pod to delete its data. + This prepares the pod to join with a clean state. +3. Restart the pod. This will create a new PersistentVolumeClaim to create new + data directories. + +When an Alpha pod restarts in a replicated cluster, it will join as a new member +of the cluster, be assigned a group and an unused index from Zero, and receive +the latest snapshot from the Alpha leader of the group. + +When a Zero pod restarts, it must join the existing group with an unused index +ID. The index ID is set with the `--idx` flag. This may require the StatefulSet +configuration to be updated. + +## Kubernetes and Bulk Loader + +You may want to initialize a new cluster with an existing data set such as data +from the [Dgraph Bulk Loader]({{< relref "#bulk-loader" >}}). You can use [Init +Containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) +to copy the data to the pod volume before the Alpha process runs. + +See the `initContainers` configuration in +[dgraph-ha.yaml](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/kubernetes/dgraph-ha/dgraph-ha.yaml) +to learn more. \ No newline at end of file diff --git a/wiki/content/deploy/log-format.md b/wiki/content/deploy/log-format.md new file mode 100644 index 00000000000..2bf94110fe9 --- /dev/null +++ b/wiki/content/deploy/log-format.md @@ -0,0 +1,28 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Log Format" +[menu.main] + parent = "deploy" + weight = 9 ++++ + +Dgraph's log format comes from the glog library and is [formatted](https://github.com/golang/glog/blob/23def4e6c14b4da8ac2ed8007337bc5eb5007998/glog.go#L523-L533) as follows: + + `Lmmdd hh:mm:ss.uuuuuu threadid file:line] msg...` + +Where the fields are defined as follows: + +``` + L A single character, representing the log level (eg 'I' for INFO) + mm The month (zero padded; ie May is '05') + dd The day (zero padded) + hh:mm:ss.uuuuuu Time in hours, minutes and fractional seconds + threadid The space-padded thread ID as returned by GetTID() + file The file name + line The line number + msg The user-supplied message +``` + +## Query Logging + +To enable query logging, you must set `-v=3` which will enable verbose logging for everything. Alternatively, you can set `--vmodule=server=3` for only the dgraph/server.go file which would only enable query/mutation logging. diff --git a/wiki/content/deploy/ludicrous-mode.md b/wiki/content/deploy/ludicrous-mode.md new file mode 100644 index 00000000000..f580e3c33bf --- /dev/null +++ b/wiki/content/deploy/ludicrous-mode.md @@ -0,0 +1,40 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Ludicrous Mode" +[menu.main] + parent = "deploy" + weight = 13 ++++ + +Ludicrous mode is available in Dgraph v20.03.1 or later. + +Ludicrous mode allows Dgraph to ingest data at an incredibly fast speed. It differs from the normal mode as it provides fewer guarantees. In normal mode, Dgraph provides strong consistency. In ludicrous mode, Dgraph provides eventual consistency. In ludicrous mode, any mutation which succeeds **might be available eventually**. **Eventually** means the changes will be applied later and might not be reflected in queries away. If Dgraph crashes unexpectedly, there **might** be unapplied mutations which **will not** be picked up when Dgraph restarts. Dgraph with ludicrous mode enabled behaves as an eventually consistent system. + + +## How do I enable it? + +Ludicrous mode can be enabled by setting the `--ludicrous_mode` config option to all Zero and Alpha instances in the cluster. + + +## What does it do? + +It doesn't wait for mutations to be applied. When a mutation comes, it proposes the mutation to the cluster and as soon as the proposal reaches the other nodes, it returns the response right away. You don't need to send a commit request for mutation. It's equivalent to having CommitNow set automatically for all mutations. All the mutations are then sent to background workers which keep applying them. + +Also, Dgraph does not sync writes to disk. This increases throughput but may result in loss of unsynced writes in the event of hardware failure. + + +## What is the trade off? + +As mentioned in the section above, it provides amazing speed at the cost of some guarantees. + +It can be used when we have write-heavy operations and there is a time gap between queries and mutations, or you are fine with potentially reading stale data. + +There are no transactions in ludicrous mode. That is, you cannot open a transaction, apply a mutation, and then decide to cancel the transaction. Every mutation request is committed to Dgraph. + +## Can the cluster run with HA? + +Yes, ludicrous mode works with the cluster set up in a highly-available (HA) configuration. + +## Can the cluster run with multiple data shards? + +Yes, ludicrous mode works with the cluster set up with multiple data shards. \ No newline at end of file diff --git a/wiki/content/deploy/metrics.md b/wiki/content/deploy/metrics.md new file mode 100644 index 00000000000..42c5e1cb8e0 --- /dev/null +++ b/wiki/content/deploy/metrics.md @@ -0,0 +1,73 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Metrics" +[menu.main] + parent = "deploy" + weight = 15 ++++ + + +Dgraph metrics follow the [metric and label conventions for +Prometheus](https://prometheus.io/docs/practices/naming/). + +## Disk Metrics + +The disk metrics let you track the disk activity of the Dgraph process. Dgraph does not interact +directly with the filesystem. Instead it relies on [Badger](https://github.com/dgraph-io/badger) to +read from and write to disk. + + Metrics | Description + ------- | ----------- + `badger_v2_disk_reads_total` | Total count of disk reads in Badger. + `badger_v2_disk_writes_total` | Total count of disk writes in Badger. + `badger_v2_gets_total` | Total count of calls to Badger's `get`. + `badger_v2_memtable_gets_total` | Total count of memtable accesses to Badger's `get`. + `badger_v2_puts_total` | Total count of calls to Badger's `put`. + `badger_v2_read_bytes` | Total bytes read from Badger. + `badger_v2_written_bytes` | Total bytes written to Badger. + +## Memory Metrics + +The memory metrics let you track the memory usage of the Dgraph process. The idle and inuse metrics +gives you a better sense of the active memory usage of the Dgraph process. The process memory metric +shows the memory usage as measured by the operating system. + +By looking at all three metrics you can see how much memory a Dgraph process is holding from the +operating system and how much is actively in use. + + Metrics | Description + ------- | ----------- + `dgraph_memory_idle_bytes` | Estimated amount of memory that is being held idle that could be reclaimed by the OS. + `dgraph_memory_inuse_bytes` | Total memory usage in bytes (sum of heap usage and stack usage). + `dgraph_memory_proc_bytes` | Total memory usage in bytes of the Dgraph process. On Linux/macOS, this metric is equivalent to resident set size. On Windows, this metric is equivalent to [Go's runtime.ReadMemStats](https://golang.org/pkg/runtime/#ReadMemStats). + +## Activity Metrics + +The activity metrics let you track the mutations, queries, and proposals of an Dgraph instance. + + Metrics | Description + ------- | ----------- + `go_goroutines` | Total number of Goroutines currently running in Dgraph. + `dgraph_active_mutations_total` | Total number of mutations currently running. + `dgraph_pending_proposals_total` | Total pending Raft proposals. + `dgraph_pending_queries_total` | Total number of queries in progress. + `dgraph_num_queries_total{method="Server.Mutate"}` | Total number of mutations run in Dgraph. + `dgraph_num_queries_total{method="Server.Query"}` | Total number of queries run in Dgraph. + +## Health Metrics + +The health metrics let you track to check the availability of an Dgraph Alpha instance. + + Metrics | Description + ------- | ----------- + `dgraph_alpha_health_status` | **Only applicable to Dgraph Alpha**. Value is 1 when the Alpha is ready to accept requests; otherwise 0. + +## Go Metrics + +Go's built-in metrics may also be useful to measure for memory usage and garbage collection time. + + Metrics | Description + ------- | ----------- + `go_memstats_gc_cpu_fraction` | The fraction of this program's available CPU time used by the GC since the program started. + `go_memstats_heap_idle_bytes` | Number of heap bytes waiting to be used. + `go_memstats_heap_inuse_bytes` | Number of heap bytes that are in use. diff --git a/wiki/content/deploy/monitoring.md b/wiki/content/deploy/monitoring.md new file mode 100644 index 00000000000..9ba57e6cae2 --- /dev/null +++ b/wiki/content/deploy/monitoring.md @@ -0,0 +1,116 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Monitoring" +[menu.main] + parent = "deploy" + weight = 14 ++++ + +Dgraph exposes metrics via the `/debug/vars` endpoint in json format and the `/debug/prometheus_metrics` endpoint in Prometheus's text-based format. Dgraph doesn't store the metrics and only exposes the value of the metrics at that instant. You can either poll this endpoint to get the data in your monitoring systems or install **[Prometheus](https://prometheus.io/docs/introduction/install/)**. Replace targets in the below config file with the ip of your Dgraph instances and run prometheus using the command `prometheus -config.file my_config.yaml`. + +```sh +scrape_configs: + - job_name: "dgraph" + metrics_path: "/debug/prometheus_metrics" + scrape_interval: "2s" + static_configs: + - targets: + - 172.31.9.133:6080 # For Dgraph zero, 6080 is the http endpoint exposing metrics. + - 172.31.15.230:8080 # For Dgraph alpha, 8080 is the http endpoint exposing metrics. + - 172.31.0.170:8080 + - 172.31.8.118:8080 +``` + +{{% notice "note" %}} +Raw data exported by Prometheus is available via `/debug/prometheus_metrics` endpoint on Dgraph alphas. +{{% /notice %}} + +Install **[Grafana](http://docs.grafana.org/installation/)** to plot the metrics. Grafana runs at port 3000 in default settings. Create a prometheus datasource by following these **[steps](https://prometheus.io/docs/visualization/grafana/#creating-a-prometheus-data-source)**. Import **[grafana_dashboard.json](https://github.com/dgraph-io/benchmarks/blob/master/scripts/grafana_dashboard.json)** by following this **[link](http://docs.grafana.org/reference/export_import/#importing-a-dashboard)**. + + +## CloudWatch + +Route53's health checks can be leveraged to create standard CloudWatch alarms to notify on change in the status of the `/health` endpoints of Alpha and Zero. + +Considering that the endpoints to monitor are publicly accessible and you have the AWS credentials and [awscli](https://aws.amazon.com/cli/) setup, we’ll go through an example of setting up a simple CloudWatch alarm configured to alert via email for the Alpha endpoint `alpha.acme.org:8080/health`. Dgraph Zero's `/health` endpoint can also be monitored in a similar way. + + + +### Create the Route53 Health Check +```sh +aws route53 create-health-check \ + --caller-reference $(date "+%Y%m%d%H%M%S") \ + --health-check-config file:///tmp/create-healthcheck.json \ + --query 'HealthCheck.Id' +``` +The file `/tmp/create-healthcheck.json` would need to have the values for the parameters required to create the health check as such: +```sh +{ + "Type": "HTTPS", + "ResourcePath": "/health", + "FullyQualifiedDomainName": "alpha.acme.org", + "Port": 8080, + "RequestInterval": 30, + "FailureThreshold": 3 +} +``` +The reference for the values one can specify while creating or updating a health check can be found on the AWS [documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-values.html). + +The response to the above command would be the ID of the created health check. +```sh +"29bdeaaa-f5b5-417e-a5ce-7dba1k5f131b" +``` +Make a note of the health check ID. This will be used to integrate CloudWatch alarms with the health check. + +{{% notice "note" %}} +Currently, Route53 metrics are only (available)[https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-health-checks.html] in the **US East (N. Virginia)** region. The Cloudwatch Alarm (and the SNS Topic) should therefore be created in `us-east-1`. +{{% /notice %}} + +### [Optional] Creating an SNS Topic +SNS topics are used to create message delivery channels. If you do not have any SNS topics configured, one can be created by running the following command: + +```sh +aws sns create-topic --region=us-east-1 --name ops --query 'TopicArn' +``` + +The response to the above command would be as follows: +```sh +"arn:aws:sns:us-east-1:123456789012:ops" +``` +Be sure to make a note of the topic ARN. This would be used to configure the CloudWatch alarm's action parameter. + +Run the following command to subscribe your email to the SNS topic: +```sh +aws sns subscribe \ + --topic-arn arn:aws:sns:us-east-1:123456789012:ops \ + --protocol email \ + --notification-endpoint ops@acme.org +``` +The subscription will need to be confirmed through *AWS Notification - Subscription Confirmation* sent through email. Once the subscription is confirmed, CloudWatch can be configured to use the SNS topic to trigger the alarm notification. + + + +### Creating a CloudWatch Alarm +The following command creates a CloudWatch alarm with `--alarm-actions` set to the ARN of the SNS topic and the `--dimensions` of the alarm set to the health check ID. +```sh +aws cloudwatch put-metric-alarm \ + --region=us-east-1 \ + --alarm-name dgraph-alpha \ + --alarm-description "Alarm for when Alpha is down" \ + --metric-name HealthCheckStatus \ + --dimensions "Name=HealthCheckId,Value=29bdeaaa-f5b5-417e-a5ce-7dba1k5f131b" \ + --namespace AWS/Route53 \ + --statistic Minimum \ + --period 60 \ + --threshold 1 \ + --comparison-operator LessThanThreshold \ + --evaluation-periods 1 \ + --treat-missing-data breaching \ + --alarm-actions arn:aws:sns:us-east-1:123456789012:ops +``` + +One can verify the alarm status from the CloudWatch or Route53 consoles. + +#### Internal Endpoints +If the Alpha endpoint is internal to the VPC network - one would need to create a Lambda function that would periodically (triggered using CloudWatch Event Rules) request the `/health` path and create CloudWatch metrics which could then be used to create the required CloudWatch alarms. +The architecture and the CloudFormation template to achieve the same can be found [here](https://aws.amazon.com/blogs/networking-and-content-delivery/performing-route-53-health-checks-on-private-resources-in-a-vpc-with-aws-lambda-and-amazon-cloudwatch/). diff --git a/wiki/content/deploy/multi-host-setup.md b/wiki/content/deploy/multi-host-setup.md new file mode 100644 index 00000000000..aa000546f28 --- /dev/null +++ b/wiki/content/deploy/multi-host-setup.md @@ -0,0 +1,264 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Multi Host Setup" +[menu.main] + parent = "deploy" + weight = 5 ++++ + +## Using Docker Swarm + +### Cluster Setup Using Docker Swarm + +{{% notice "note" %}}These instructions are for running Dgraph Alpha without TLS config. +Instructions for running with TLS refer [TLS instructions](#tls-configuration).{{% /notice %}} + +Here we'll go through an example of deploying 3 Dgraph Alpha nodes and 1 Zero on three different AWS instances using Docker Swarm with a replication factor of 3. + +* Make sure you have Docker Machine installed by following [instructions](https://docs.docker.com/machine/install-machine/). + +```sh +docker-machine --version +``` + +* Create 3 instances on AWS and [install Docker Engine](https://docs.docker.com/engine/installation/) on them. This can be done manually or by using `docker-machine`. +You'll have to [configure your AWS credentials](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html) to create the instances using Docker Machine. + +Considering that you have AWS credentials setup, you can use the below commands to start 3 AWS +`t2-medium` instances with Docker Engine installed on them. + +```sh +docker-machine create --driver amazonec2 --amazonec2-instance-type t2.medium aws01 +docker-machine create --driver amazonec2 --amazonec2-instance-type t2.medium aws02 +docker-machine create --driver amazonec2 --amazonec2-instance-type t2.medium aws03 +``` + +Your output should look like + +```sh +Running pre-create checks... +Creating machine... +(aws01) Launching instance... +... +... +Docker is up and running! +To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env aws01 +``` + +The command would provision a `t2-medium` instance with a security group called `docker-machine` +(allowing inbound access on 2376 and 22). + +You would need to edit the `docker-machine` security group to open inbound traffic on the following ports. + +1. Allow all inbound traffic on all ports with Source being `docker-machine` + security ports so that Docker related communication can happen easily. + +2. Also open inbound TCP traffic on the following ports required by Dgraph: + `5080`, `6080`, `8000`, `808[0-2]`, `908[0-2]`. Remember port *5080* is only + required if you are running Dgraph Live Loader or Dgraph Bulk Loader from + outside. You need to open `7080` to enable Alpha-to-Alpha communication in + case you have not opened all ports in #1. + +If you are on AWS, below is the security group (**docker-machine**) after +necessary changes. + +{{% load-img "/images/aws.png" "AWS Security Group" %}} + +[Here](https://docs.docker.com/machine/drivers/aws/#options) is a list of full options for the `amazonec2` driver which allows you choose the +instance type, security group, AMI among many other +things. + +{{% notice "tip" %}}Docker machine supports [other drivers](https://docs.docker.com/machine/drivers/gce/) like GCE, Azure etc.{{% /notice %}} + +Running `docker-machine ls` shows all the AWS EC2 instances that we started. +```sh +➜ ~ docker-machine ls +NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS +aws01 - amazonec2 Running tcp://34.200.239.30:2376 v17.11.0-ce +aws02 - amazonec2 Running tcp://54.236.58.120:2376 v17.11.0-ce +aws03 - amazonec2 Running tcp://34.201.22.2:2376 v17.11.0-ce +``` + +* Start the Swarm + +Docker Swarm has manager and worker nodes. Swarm can be started and updated on manager nodes. We + will setup `aws01` as swarm manager. You can first run the following commands to initialize the + swarm. + +We are going to use the internal IP address given by AWS. Run the following command to get the +internal IP for `aws01`. Lets assume `172.31.64.18` is the internal IP in this case. +``` +docker-machine ssh aws01 ifconfig eth0 +``` + +Now that we have the internal IP, let's initiate the Swarm. + +```sh +# This configures our Docker client to talk to the Docker engine running on the aws01 host. +eval $(docker-machine env aws01) +docker swarm init --advertise-addr 172.31.64.18 +``` + +Output: +``` +Swarm initialized: current node (w9mpjhuju7nyewmg8043ypctf) is now a manager. + +To add a worker to this swarm, run the following command: + + docker swarm join \ + --token SWMTKN-1-1y7lba98i5jv9oscf10sscbvkmttccdqtkxg478g3qahy8dqvg-5r5cbsntc1aamsw3s4h3thvgk \ + 172.31.64.18:2377 + +To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions. +``` + +Now we will make other nodes join the swarm. + +```sh +eval $(docker-machine env aws02) +docker swarm join \ + --token SWMTKN-1-1y7lba98i5jv9oscf10sscbvkmttccdqtkxg478g3qahy8dqvg-5r5cbsntc1aamsw3s4h3thvgk \ + 172.31.64.18:2377 +``` + +Output: +``` +This node joined a swarm as a worker. +``` + +Similarly, aws03 +```sh +eval $(docker-machine env aws03) +docker swarm join \ + --token SWMTKN-1-1y7lba98i5jv9oscf10sscbvkmttccdqtkxg478g3qahy8dqvg-5r5cbsntc1aamsw3s4h3thvgk \ + 172.31.64.18:2377 +``` + +On the Swarm manager `aws01`, verify that your swarm is running. +```sh +docker node ls +``` + +Output: + +``` +ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS +ghzapjsto20c6d6l3n0m91zev aws02 Ready Active +rb39d5lgv66it1yi4rto0gn6a aws03 Ready Active +waqdyimp8llvca9i09k4202x5 * aws01 Ready Active Leader +``` + +* Start the Dgraph cluster + +Run the command below to download the `docker-compose-multi.yml` file on your machine. + +```sh +wget https://github.com/dgraph-io/dgraph/raw/master/contrib/config/docker/docker-compose-multi.yml +``` + +Run the following command on the Swarm leader to deploy the Dgraph Cluster. + +```sh +eval $(docker-machine env aws01) +docker stack deploy -c docker-compose-multi.yml dgraph +``` + +This should run three Dgraph Alpha services (one on each VM because of the +constraint we have), one Dgraph Zero service on aws01 and one Dgraph Ratel. + +These placement constraints (as seen in the compose file) are important so that +in case of restarting any containers, swarm places the respective Dgraph Alpha +or Zero containers on the same hosts to re-use the volumes. Also, if you are +running fewer than three hosts, make sure you use either different volumes or +run Dgraph Alpha with `-p p1 -w w1` options. + +{{% notice "note" %}} + +1. This setup would create and use a local volume called `dgraph_data-volume` on + the instances. If you plan to replace instances, you should use remote + storage like + [cloudstore](https://docs.docker.com/docker-for-aws/persistent-data-volumes) + instead of local disk. {{% /notice %}} + +You can verify that all services were created successfully by running: + +```sh +docker service ls +``` + +Output: + +``` +ID NAME MODE REPLICAS IMAGE PORTS +vp5bpwzwawoe dgraph_ratel replicated 1/1 dgraph/dgraph:latest *:8000->8000/tcp +69oge03y0koz dgraph_alpha2 replicated 1/1 dgraph/dgraph:latest *:8081->8081/tcp,*:9081->9081/tcp +kq5yks92mnk6 dgraph_alpha3 replicated 1/1 dgraph/dgraph:latest *:8082->8082/tcp,*:9082->9082/tcp +uild5cqp44dz dgraph_zero replicated 1/1 dgraph/dgraph:latest *:5080->5080/tcp,*:6080->6080/tcp +v9jlw00iz2gg dgraph_alpha1 replicated 1/1 dgraph/dgraph:latest *:8080->8080/tcp,*:9080->9080/tcp +``` + +To stop the cluster run: + +```sh +docker stack rm dgraph +``` + +## HA Cluster setup using Docker Swarm + +Here is a sample swarm config for running 6 Dgraph Alpha nodes and 3 Zero nodes on 6 different +ec2 instances. Setup should be similar to [Cluster setup using Docker Swarm]({{< relref "#cluster-setup-using-docker-swarm" >}}) apart from a couple of differences. This setup would ensure replication with sharding of data. The file assumes that there are six hosts available as docker-machines. Also if you are running on fewer than six hosts, make sure you use either different volumes or run Dgraph Alpha with `-p p1 -w w1` options. + +You would need to edit the `docker-machine` security group to open inbound traffic on the following ports. + +1. Allow all inbound traffic on all ports with Source being `docker-machine` security ports so that + docker related communication can happen easily. + +2. Also open inbound TCP traffic on the following ports required by Dgraph: `5080`, `8000`, `808[0-5]`, `908[0-5]`. Remember port *5080* is only required if you are running Dgraph Live Loader or Dgraph Bulk Loader from outside. You need to open `7080` to enable Alpha-to-Alpha communication in case you have not opened all ports in #1. + +If you are on AWS, below is the security group (**docker-machine**) after necessary changes. + +{{% load-img "/images/aws.png" "AWS Security Group" %}} + +Run the command below to download the `docker-compose-ha.yml` file on your machine. + +```sh +wget https://github.com/dgraph-io/dgraph/raw/master/contrib/config/docker/docker-compose-ha.yml +``` + +Run the following command on the Swarm leader to deploy the Dgraph Cluster. + +```sh +eval $(docker-machine env aws01) +docker stack deploy -c docker-compose-ha.yml dgraph +``` + +You can verify that all services were created successfully by running: + +```sh +docker service ls +``` + +Output: +``` +ID NAME MODE REPLICAS IMAGE PORTS +qck6v1lacvtu dgraph_alpha1 replicated 1/1 dgraph/dgraph:latest *:8080->8080/tcp, *:9080->9080/tcp +i3iq5mwhxy8a dgraph_alpha2 replicated 1/1 dgraph/dgraph:latest *:8081->8081/tcp, *:9081->9081/tcp +2ggma86bw7h7 dgraph_alpha3 replicated 1/1 dgraph/dgraph:latest *:8082->8082/tcp, *:9082->9082/tcp +wgn5adzk67n4 dgraph_alpha4 replicated 1/1 dgraph/dgraph:latest *:8083->8083/tcp, *:9083->9083/tcp +uzviqxv9fp2a dgraph_alpha5 replicated 1/1 dgraph/dgraph:latest *:8084->8084/tcp, *:9084->9084/tcp +nl1j457ko54g dgraph_alpha6 replicated 1/1 dgraph/dgraph:latest *:8085->8085/tcp, *:9085->9085/tcp +s11bwr4a6371 dgraph_ratel replicated 1/1 dgraph/dgraph:latest *:8000->8000/tcp +vchibvpquaes dgraph_zero1 replicated 1/1 dgraph/dgraph:latest *:5080->5080/tcp, *:6080->6080/tcp +199rezd7pw7c dgraph_zero2 replicated 1/1 dgraph/dgraph:latest *:5081->5081/tcp, *:6081->6081/tcp +yb8ella56oxt dgraph_zero3 replicated 1/1 dgraph/dgraph:latest *:5082->5082/tcp, *:6082->6082/tcp +``` + +To stop the cluster run: + +```sh +docker stack rm dgraph +``` + +{{% notice "note" %}} +1. This setup assumes that you are using 6 hosts, but if you are running fewer than 6 hosts then you have to either use different volumes between Dgraph alphas or use `-p` & `-w` to configure data directories. +2. This setup would create and use a local volume called `dgraph_data-volume` on the instances. If you plan to replace instances, you should use remote storage like [cloudstore](https://docs.docker.com/docker-for-aws/persistent-data-volumes) instead of local disk. {{% /notice %}} \ No newline at end of file diff --git a/wiki/content/deploy/ports-usage.md b/wiki/content/deploy/ports-usage.md new file mode 100644 index 00000000000..f701ed75826 --- /dev/null +++ b/wiki/content/deploy/ports-usage.md @@ -0,0 +1,77 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Ports Usage" +[menu.main] + parent = "deploy" + weight = 3 ++++ + +Dgraph cluster nodes use different ports to communicate over gRPC and HTTP. Users should pay attention while choosing these ports based on their topology and deployment-mode as each port needs different access security rules or firewall. + +## Types of ports + +- **gRPC-internal:** Port that is used between the cluster nodes for internal communication and message exchange. +- **gRPC-external:** Port that is used by Dgraph clients, Dgraph Live Loader , and Dgraph Bulk loader to access APIs over gRPC. +- **http-external:** Port that is used by clients to access APIs over HTTP and other monitoring & administrative tasks. + +## Ports used by different nodes + + Dgraph Node Type | gRPC-internal | gRPC-external | HTTP-external +------------------|-----------------------|---------------|--------------- + zero | 50801 | --Not Used-- | 60802 + alpha | 7080 | 9080 | 8080 + ratel | --Not Used-- | --Not Used-- | 8000 + + +1: Dgraph Zero's gRPC-internal port is used for internal communication within the cluster. It's also needed for the [fast data loading]({{< relref "#fast-data-loading" >}}) tools Dgraph Live Loader and Dgraph Bulk Loader. + +2: Dgraph Zero's HTTP-external port is used for [admin]({{< relref "#more-about-dgraph-zero" >}}) operations. Access to it is not required by clients. + +Users have to modify security rules or open firewall ports depending up on their underlying network to allow communication between cluster nodes and between the Dgraph instances themselves and between Dgraph and a client. A general rule is to make *-external (gRPC/HTTP) ports wide open to clients and gRPC-internal ports open within the cluster nodes. + +**Ratel UI** accesses Dgraph Alpha on the HTTP-external port (default localhost:8080) and can be configured to talk to remote Dgraph cluster. This way you can run Ratel on your local machine and point to a remote cluster. But if you are deploying Ratel along with Dgraph cluster, then you may have to expose 8000 to the public. + +**Port Offset** To make it easier for user to setup the cluster, Dgraph defaults the ports used by Dgraph nodes and let user to provide an offset (through command option `--port_offset`) to define actual ports used by the node. Offset can also be used when starting multiple zero nodes in a HA setup. + +For example, when a user runs a Dgraph Alpha by setting `--port_offset 2`, then the Alpha node binds to 7082 (gRPC-internal), 8082 (HTTP-external) & 9082 (gRPC-external) respectively. + +**Ratel UI** by default listens on port 8000. You can use the `-port` flag to configure to listen on any other port. + +## HA Cluster Setup + +In a high-availability setup, we need to run 3 or 5 replicas for Zero, and similarly, 3 or 5 replicas for Alpha. +{{% notice "note" %}} +If number of replicas is 2K + 1, up to **K servers** can be down without any impact on reads or writes. + +Avoid keeping replicas to 2K (even number). If K servers go down, this would block reads and writes, due to lack of consensus. +{{% /notice %}} + +### Dgraph Zero + +Run three Zero instances, assigning a unique ID(Integer) to each via `--idx` flag, and +passing the address of any healthy Zero instance via `--peer` flag. + +To run three replicas for the alphas, set `--replicas=3`. Every time a new +Dgraph Alpha is added, Zero would check the existing groups and assign them to +one, which doesn't have three replicas. + +### Dgraph Alpha +Run as many Dgraph Alphas as you want. You can manually set `--idx` flag, or you +can leave that flag empty, and Zero would auto-assign an id to the Alpha. This +id would get persisted in the write-ahead log, so be careful not to delete it. + +The new Alphas will automatically detect each other by communicating with +Dgraph zero and establish connections to each other. You can provide a list of +zero addresses to alpha using the `--zero` flag. Alpha will try to connect to +one of the zeros starting from the first zero address in the list. For example: +`--zero=zero1,zero2,zero3` where zero1 is the `host:port` of a zero instance. + +Typically, Zero would first attempt to replicate a group, by assigning a new +Dgraph alpha to run the same group as assigned to another. Once the group has +been replicated as per the `--replicas` flag, Zero would create a new group. + +Over time, the data would be evenly split across all the groups. So, it's +important to ensure that the number of Dgraph alphas is a multiple of the +replication setting. For e.g., if you set `--replicas=3` in Zero, then run three +Dgraph alphas for no sharding, but 3x replication. Run six Dgraph alphas, for +sharding the data into two groups, with 3x replication. \ No newline at end of file diff --git a/wiki/content/deploy/production-checklist.md b/wiki/content/deploy/production-checklist.md new file mode 100644 index 00000000000..3844d31f62a --- /dev/null +++ b/wiki/content/deploy/production-checklist.md @@ -0,0 +1,201 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Production Checklist" +[menu.main] + parent = "deploy" + weight = 20 ++++ + +This guide describes important setup recommendations for a production-ready Dgraph cluster. + +{{% notice "note" %}} +In this guide, a node refers to a Dgraph instance unless specified otherwise. +{{% /notice %}} + +A **Dgraph cluster** is comprised of multiple **Dgraph instances** (aka **nodes**) connected together to form a single distributed database. A Dgraph instance is either a **Dgraph Zero** or **Dgraph Alpha**, each of which serves a different role in the cluster. + +There can be one or more **Dgraph clients** connected to Dgraph to perform database operations (queries, mutations, alter schema, etc.). These clients connect via gRPC or HTTP. Dgraph provides official clients for Go, Java, Python, and JavaScript, and C#. All of these are gRPC-based, and JavaScript supports both gRPC and HTTP for browser support. Community-developed Dgraph clients for other languages are also available. The full list of clients can be found in [Clients]({{< relref "clients/_index.md" >}}) page. You can also interact with Dgraph via curl over HTTP. Dgraph Ratel is a UI client used to visualize queries, run mutations, and manage the schema. Clients do not participate as a member of the database cluster, they simply connect to one or more Dgraph Alpha instances. + +### Cluster Requirements + +A minimum of one Dgraph Zero and one Dgraph Alpha is needed for a working cluster. + +There can be multiple Dgraph Zeros and Dgraph Alphas running in a single cluster. + + +### Machine Requirements + +To ensure predictable performance characteristics, Dgraph instances should NOT run on "burstable" or throttled machines that limit resources. That includes t2 class machines on AWS. + +We recommend each Dgraph instance to be deployed to a single dedicated machine to ensure that Dgraph can take full advantage of machine resources. That is, for a 6-node Dgraph cluster with 3 Dgraph Zeros and 3 Dgraph Alphas, each process runs in its own machine (e.g., EC2 instance). In the event of a machine failure, only one instance is affected, instead of multiple if they were running on that same machine. + +If you'd like to run Dgraph with fewer machines, then the recommended configuration is to run a single Dgraph Zero and a single Dgraph Alpha per machine. In a high availability setup, that allows the cluster to lose a single machine (simultaneously losing a Dgraph Zero and a Dgraph Alpha) with continued availability of the database. + +Do not run multiple Dgraph Zeros or Dgraph Alpha processes on a single machine. This can affect performance due to shared resources and reduce high availability in the event of machine failures. + +### Operating System + +The recommended operating system is Linux for production workloads. Dgraph provides release binaries in Linux, macOS, and Windows. For test environments, you can choose to run Dgraph on any operating system. This deployment guide assumes you are setting up Dgraph on Linux systems (see [Operating System Tuning]({{< relref + "#operating-system-tuning" >}})). + +### CPU and Memory + +At the bare minimum, we recommend machines with at least 2 CPUs and 2 GiB of memory for testing. + +You'll want a sufficient CPU and memory according to your production workload. A common setup for Dgraph is 16 CPUs and 32 GiB of memory per machine. Dgraph is designed with concurrency in mind, so more cores means quicker processing and higher throughput of requests. + +You may find you'll need more CPU cores and memory for your specific use case. + +### Disk + +Dgraph instances make heavy usage of disks, so storage with high IOPS is highly recommended to ensure reliable performance. Specifically, we recommend SSDs, not HDDs. + +Instances such as c5d.4xlarge have locally-attached NVMe SSDs with high IOPS. You can also use EBS volumes with provisioned IOPS (io1). If you are not running performance-critical workloads, you can also choose to use cheaper gp2 EBS volumes. + +Recommended disk sizes for Dgraph Zero and Dgraph Alpha: + +* Dgraph Zero: 200 GB to 300 GB. Dgraph Zero stores cluster metadata information and maintains a write-ahead log for cluster operations. +* Dgraph Alpha: 250 GB to 750 GB. Dgraph Alpha stores database data, including the schema, indices, and the data values. It maintains a write-ahead log of changes to the database. Your cloud provider may provide better disk performance based on the volume size. + +Additional recommendations: + +* The recommended Linux filesystem is ext4. +* Avoid using shared storage such as NFS, CIFS, and CEPH storage. + +### Firewall Rules + +Dgraph instances communicate over several ports. Firewall rules should be configured appropriately for the ports documented in [Ports Usage]({{< relref "deploy/ports-usage.md" >}}). + +Internal ports must be accessible by all Zero and Alpha peers for proper cluster-internal communication. Database clients must be able to connect to Dgraph Alpha external ports either directly or through a load balancer. + +Dgraph Zeros can be set up in a private network where communication is only with Dgraph Alphas, database administrators, internal services (such as Prometheus or Jaeger), and possibly developers (see note below). Dgraph Zero's 6080 external port is only necessary for database administrators. For example, it can be used to inspect the cluster metadata (/state), allocate UIDs or set txn timestamps (/assign), move data shards (/moveTablet), or remove cluster nodes (/removeNode). The full docs about Zero's administrative tasks are in [More About Dgraph Zero]({{< relref "deploy/dgraph-zero.md" >}}). + +{{% notice "note" %}} +Developers using Dgraph Live Loader or Dgraph Bulk Loader require access to both Dgraph Zero port 5080 and Dgraph Alpha port 9080. When using those tools, consider using them within your environment that has network access to both ports of the cluster. +{{% /notice %}} + +### Operating System Tuning + +The OS should be configured with the recommended settings to ensure that Dgraph runs properly. + +#### File Descriptors Limit + +Dgraph can use a large number of open file descriptors. Most operating systems set a default limit that is lower than what is required. + +It is recommended to set the file descriptors limit to unlimited. If that is not possible, set it to at least a million (1,048,576) which is recommended to account for cluster growth over time. + +### Deployment + +A Dgraph instance is run as a single process from a single static binary. It does not require any additional dependencies or separate services in order to run (see the [Supplementary Services]({{< relref "#supplementary-services" >}}) section for third-party services that work alongside Dgraph). A Dgraph cluster is set up by running multiple Dgraph processes networked together. + +### Terminology + +An **N-node cluster** is a Dgraph cluster that contains N number of Dgraph instances. For example, a 6-node cluster means six Dgraph instances. The **replication setting** specifies the number of Dgraph Alpha replicas are assigned per group. The replication setting is a configuration flag (`--replicas`) on Dgraph Zero. A **Dgraph Alpha group** is a set of Dgraph Alphas that store replications of the data amongst each other. Every Dgraph Alpha group is assigned a set of distinct predicates to store and serve. + +Examples of different cluster settings: +* No sharding + * 2-node cluster: 1 Zero, 1 Alpha (one group). + * HA equivalent: x3 = 6-node cluster. +* With 2-way sharding: + * 3-node cluster: 1 Zero, 2 Alphas (two groups). + * HA equivalent: x3 = 9-node cluster. + +In the following examples we outline the two most common cluster configurations: a 2-node cluster and a 6-node cluster. + +### Basic setup: 2-node cluster +We provide sample configs for both [Docker Compose](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/docker/docker-compose.yml) and [Kubernetes](https://github.com/dgraph-io/dgraph/tree/master/contrib/config/kubernetes/dgraph-single) for a 2-node cluster. You can also run Dgraph directly on your host machines. + +{{% load-img "/images/deploy-guide-1.png" "2-node cluster" %}} + +Configuration can be set either as command-line flags, environment variables, or in a config file (see [Config]({{< relref "deploy/_index.md#config" >}})). + +Dgraph Zero: +* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to the Dgraph Alpha (default: `localhost:5080`). +* The `--idx` flag should be set to a unique Raft ID within the Dgraph Zero group (default: `1`). +* The `--wal` flag should be set to the directory path to store write-ahead-log entries on disk (default: `zw`). +* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). +* Recommended: For better issue diagnostics, set the log level verbosity to 2 with the option `--v=2`. + +Dgraph Alpha: +* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to the Dgraph Zero (default: `localhost:7080`). +* The `--zero` flag should be set to the corresponding Zero address set for Dgraph Zero's `--my` flag. +* The `--postings` flag should be set to the directory path for data storage (default: `p`). +* The `--wal` flag should be set to the directory path for write-ahead-log entries (default: `w`) +* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). +* Recommended: For better issue diagnostics, set the log level verbosity to 2 `--v=2`. + +### HA setup: 6-node cluster + +We provide sample configs for both [Docker Compose](https://github.com/dgraph-io/dgraph/blob/master/contrib/config/docker/docker-compose-ha.yml) and [Kubernetes](https://github.com/dgraph-io/dgraph/tree/master/contrib/config/kubernetes/dgraph-ha) for a 6-node cluster with 3 Alpha replicas per group. You can also run Dgraph directly on your host machines. + +A Dgraph cluster can be configured in a high-availability setup with Dgraph Zero and Dgraph Alpha each set up with peers. These peers are part of Raft consensus groups, which elect a single leader amongst themselves. The non-leader peers are called followers. In the event that the peers cannot communicate with the leader (e.g., a network partition or a machine shuts down), the group automatically elects a new leader to continue. + +Configuration can be set either as command-line flags, environment variables, or in a config file (see [Config]({{< relref "deploy/_index.md#config" >}})). + +In this setup, we assume the following hostnames are set: + +- `zero1` +- `zero2` +- `zero3` +- `alpha1` +- `alpha2` +- `alpha3` + +We will configure the cluster with 3 Alpha replicas per group. The cluster group-membership topology will look like the following: + +{{% load-img "/images/deploy-guide-2.png" "Dgraph cluster image" %}} + +#### Set up Dgraph Zero group + +In the Dgraph Zero group you must set unique Raft IDs (`--idx`) per Dgraph Zero. Dgraph will not auto-assign Raft IDs to Dgraph Zero instances. + +The first Dgraph Zero that starts will initiate the database cluster. Any following Dgraph Zero instances must connect to the cluster via the `--peer` flag to join. If the `--peer` flag is omitted from the peers, then the Dgraph Zero will create its own independent Dgraph cluster. + +**First Dgraph Zero** example: `dgraph zero --replicas=3 --idx=1 --my=zero1:5080` + +The `--my` flag must be set to the address:port of this instance that peers will connect to. The `--idx` flag sets its Raft ID to `1`. + +**Second Dgraph Zero** example: `dgraph zero --replicas=3 --idx=2 --my=zero2:5080 --peer=zero1:5080` + +The `--my` flag must be set to the address:port of this instance that peers will connect to. The `--idx` flag sets its Raft ID to 2, and the `--peer` flag specifies a request to connect to the Dgraph cluster of zero1 instead of initializing a new one. + +**Third Dgraph Zero** example: `dgraph zero --replicas=3 --idx=3 --my=zero3:5080 --peer=zero1:5080`: + +The `--my` flag must be set to the address:port of this instance that peers will connect to. The `--idx` flag sets its Raft ID to 3, and the `--peer` flag specifies a request to connect to the Dgraph cluster of zero1 instead of initializing a new one. + +Dgraph Zero configuration options: + +* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to Dgraph Alpha (default: `localhost:5080`). +* The `--idx` flag should be set to a unique Raft ID within the Dgraph Zero group (default: `1`). +* The `--wal` flag should be set to the directory path to store write-ahead-log entries on disk (default: `zw`). +* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). +* Recommended: For more informative log info, set the log level verbosity to 2 with the option `--v=2`. + +#### Set up Dgraph Alpha group + +The number of replica members per Alpha group depends on the setting of Dgraph Zero's `--replicas` flag. Above, it is set to 3. So when Dgraph Alphas join the cluster, Dgraph Zero will assign it to an Alpha group to fill in its members up to the limit per group set by the `--replicas` flag. + +First Alpha example: `dgraph alpha --my=alpha1:7080 --zero=zero1:7080` + +Second Alpha example: `dgraph alpha --my=alpha2:7080 --zero=zero1:7080` + +First Alpha example: `dgraph alpha --my=alpha3:7080 --zero=zero1:7080` + +Dgraph Alpha configuration options: + +* The `--my` flag should be set to the address:port (the internal-gRPC port) that will be accessible to the Dgraph Zero (default: `localhost:7080`). +* The `--zero` flag should be set to the corresponding Zero address set for Dgraph Zero's `--my`flag. +* The `--postings` flag should be set to the directory path for data storage (default: `p`). +* The `--wal` flag should be set to the directory path for write-ahead-log entries (default: `w`) +* The `--bindall` flag should be set to true for machine-to-machine communication (default: `true`). +* Recommended: For more informative log info, set the log level verbosity to 2 `--v=2`. + +### Supplementary Services + +These services are not required for a Dgraph cluster to function but are recommended for better insight when operating a Dgraph cluster. + +- [Metrics and monitoring][] with Prometheus and Grafana. +- [Distributed tracing][] with Jaeger. + +[Metrics and monitoring]: {{< relref "deploy/monitoring.md" >}} +[Distributed tracing]: {{< relref "deploy/tracing.md" >}} diff --git a/wiki/content/deploy/single-host-setup.md b/wiki/content/deploy/single-host-setup.md new file mode 100644 index 00000000000..b8b096f47a2 --- /dev/null +++ b/wiki/content/deploy/single-host-setup.md @@ -0,0 +1,148 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Single Host Setup" +[menu.main] + parent = "deploy" + weight = 4 ++++ + +## Run directly on the host + +### Run dgraph zero + +```sh +dgraph zero --my=IPADDR:5080 +``` +The `--my` flag is the connection that Dgraph alphas would dial to talk to +zero. So, the port `5080` and the IP address must be visible to all the Dgraph alphas. + +For all other various flags, run `dgraph zero --help`. + +### Run dgraph alpha + +```sh +dgraph alpha --lru_mb= --my=IPADDR:7080 --zero=localhost:5080 +dgraph alpha --lru_mb= --my=IPADDR:7081 --zero=localhost:5080 -o=1 +``` + +Notice the use of `-o` for the second Alpha to add offset to the default ports used. Zero automatically assigns an unique ID to each Alpha, which is persisted in the write ahead log (wal) directory, users can specify the index using `--idx` option. Dgraph Alphas use two directories to persist data and +wal logs, and these directories must be different for each Alpha if they are running on the same host. You can use `-p` and `-w` to change the location of the data and WAL directories. For all other flags, run + +`dgraph alpha --help`. + +### Run dgraph UI + +```sh +dgraph-ratel +``` + +## Run using Docker + +Dgraph cluster can be setup running as containers on a single host. First, you'd want to figure out the host IP address. You can typically do that via + +```sh +ip addr # On Arch Linux +ifconfig # On Ubuntu/Mac +``` +We'll refer to the host IP address via `HOSTIPADDR`. + +### Create Docker network + +```sh +docker network create dgraph_default +``` + +### Run dgraph zero + +```sh +mkdir ~/zero # Or any other directory where data should be stored. + +docker run -it -p 5080:5080 --network dgraph_default -p 6080:6080 -v ~/zero:/dgraph dgraph/dgraph:{{< version >}} dgraph zero --my=HOSTIPADDR:5080 +``` + +### Run dgraph alpha +```sh +mkdir ~/server1 # Or any other directory where data should be stored. + +docker run -it -p 7080:7080 --network dgraph_default -p 8080:8080 -p 9080:9080 -v ~/server1:/dgraph dgraph/dgraph:{{< version >}} dgraph alpha --lru_mb= --zero=HOSTIPADDR:5080 --my=HOSTIPADDR:7080 +``` +```sh +mkdir ~/server2 # Or any other directory where data should be stored. + +docker run -it -p 7081:7081 --network dgraph_default -p 8081:8081 -p 9081:9081 -v ~/server2:/dgraph dgraph/dgraph:{{< version >}} dgraph alpha --lru_mb= --zero=HOSTIPADDR:5080 --my=HOSTIPADDR:7081 -o=1 +``` +Notice the use of -o for server2 to override the default ports for server2. + +### Run dgraph UI +```sh +docker run -it -p 8000:8000 --network dgraph_default dgraph/dgraph:{{< version >}} dgraph-ratel +``` + +## Run using Docker Compose (On single AWS instance) + +We will use [Docker Machine](https://docs.docker.com/machine/overview/). It is a tool that lets you install Docker Engine on virtual machines and easily deploy applications. + +* [Install Docker Machine](https://docs.docker.com/machine/install-machine/) on your machine. + +{{% notice "note" %}}These instructions are for running Dgraph Alpha without TLS config. +Instructions for running with TLS refer [TLS instructions](#tls-configuration).{{% /notice %}} + +Here we'll go through an example of deploying Dgraph Zero, Alpha and Ratel on an AWS instance. + +* Make sure you have Docker Machine installed by following [instructions](https://docs.docker.com/machine/install-machine/), provisioning an instance on AWS is just one step away. You'll have to [configure your AWS credentials](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html) for programmatic access to the Amazon API. + +* Create a new docker machine. + +```sh +docker-machine create --driver amazonec2 aws01 +``` + +Your output should look like + +```sh +Running pre-create checks... +Creating machine... +(aws01) Launching instance... +... +... +Docker is up and running! +To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env aws01 +``` + +The command would provision a `t2-micro` instance with a security group called `docker-machine` +(allowing inbound access on 2376 and 22). You can either edit the security group to allow inbound access to '5080`, `8080`, `9080` (default ports for Dgraph Zero & Alpha) or you can provide your own security +group which allows inbound access on port 22, 2376 (required by Docker Machine), 5080, 8080 and 9080. Remember port *5080* is only required if you are running Dgraph Live Loader or Dgraph Bulk Loader from outside. + +[Here](https://docs.docker.com/machine/drivers/aws/#options) is a list of full options for the `amazonec2` driver which allows you choose the instance type, security group, AMI among many other things. + +{{% notice "tip" %}}Docker machine supports [other drivers](https://docs.docker.com/machine/drivers/gce/) like GCE, Azure etc.{{% /notice %}} + +* Install and run Dgraph using docker-compose + +Docker Compose is a tool for running multi-container Docker applications. You can follow the +instructions [here](https://docs.docker.com/compose/install/) to install it. + +Run the command below to download the `docker-compose.yml` file on your machine. + +```sh +wget https://github.com/dgraph-io/dgraph/raw/master/contrib/config/docker/docker-compose.yml +``` + +{{% notice "note" %}}The config mounts `/data`(you could mount something else) on the instance to `/dgraph` within the +container for persistence.{{% /notice %}} + +* Connect to the Docker Engine running on the machine. + +Running `docker-machine env aws01` tells us to run the command below to configure +our shell. +``` +eval $(docker-machine env aws01) +``` +This configures our Docker client to talk to the Docker engine running on the AWS Machine. + +Finally run the command below to start the Zero and Alpha. +``` +docker-compose up -d +``` +This would start 3 Docker containers running Dgraph Zero, Alpha and Ratel on the same machine. Docker would restart the containers in case there is any error. +You can look at the logs using `docker-compose logs`. \ No newline at end of file diff --git a/wiki/content/deploy/tls-configuration.md b/wiki/content/deploy/tls-configuration.md new file mode 100644 index 00000000000..39612e81421 --- /dev/null +++ b/wiki/content/deploy/tls-configuration.md @@ -0,0 +1,262 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "TLS Configuration" +[menu.main] + parent = "deploy" + weight = 10 ++++ + +{{% notice "note" %}} +This section refers to the `dgraph cert` command which was introduced in v1.0.9. For previous releases, see the previous [TLS configuration documentation](https://dgraph.io/docs/v1.0.7/deploy/#tls-configuration). +{{% /notice %}} + + +Connections between client and server can be secured with TLS. Password protected private keys are **not supported**. + +{{% notice "tip" %}}If you're generating encrypted private keys with `openssl`, be sure to specify encryption algorithm explicitly (like `-aes256`). This will force `openssl` to include `DEK-Info` header in private key, which is required to decrypt the key by Dgraph. When default encryption is used, `openssl` doesn't write that header and key can't be decrypted.{{% /notice %}} + +## Dgraph Certificate Management Tool + +The `dgraph cert` program creates and manages CA-signed certificates and private keys using a generated Dgraph Root CA. The `dgraph cert` command simplifies certificate management for you. + +```sh +# To see the available flags. +$ dgraph cert --help + +# Create Dgraph Root CA, used to sign all other certificates. +$ dgraph cert + +# Create node certificate and private key +$ dgraph cert -n localhost + +# Create client certificate and private key for mTLS (mutual TLS) +$ dgraph cert -c dgraphuser + +# Combine all in one command +$ dgraph cert -n localhost -c dgraphuser + +# List all your certificates and keys +$ dgraph cert ls +``` + +### File naming conventions + +To enable TLS you must specify the directory path to find certificates and keys. The default location where the _cert_ command stores certificates (and keys) is `tls` under the Dgraph working directory; where the data files are found. The default dir path can be overridden using the `--dir` option. + +```sh +$ dgraph cert --dir ~/mycerts +``` + +The following file naming conventions are used by Dgraph for proper TLS setup. + +| File name | Description | Use | +|-----------|-------------|-------| +| ca.crt | Dgraph Root CA certificate | Verify all certificates | +| ca.key | Dgraph CA private key | Validate CA certificate | +| node.crt | Dgraph node certificate | Shared by all nodes for accepting TLS connections | +| node.key | Dgraph node private key | Validate node certificate | +| client._name_.crt | Dgraph client certificate | Authenticate a client _name_ | +| client._name_.key | Dgraph client private key | Validate _name_ client certificate | + +The Root CA certificate is used for verifying node and client certificates, if changed you must regenerate all certificates. + +For client authentication, each client must have their own certificate and key. These are then used to connect to the Dgraph node(s). + +The node certificate `node.crt` can support multiple node names using multiple host names and/or IP address. Just separate the names with commas when generating the certificate. + +```sh +$ dgraph cert -n localhost,104.25.165.23,dgraph.io,2400:cb00:2048:1::6819:a417 +``` + +{{% notice "tip" %}}You must delete the old node cert and key before you can generate a new pair.{{% /notice %}} + +{{% notice "note" %}}When using host names for node certificates, including _localhost_, your clients must connect to the matching host name -- such as _localhost_ not 127.0.0.1. If you need to use IP addresses, then add them to the node certificate.{{% /notice %}} + +### Certificate inspection + +The command `dgraph cert ls` lists all certificates and keys in the `--dir` directory (default 'tls'), along with details to inspect and validate cert/key pairs. + +Example of command output: + +```sh +-rw-r--r-- ca.crt - Dgraph Root CA certificate + Issuer: Dgraph Labs, Inc. + S/N: 043c4d8fdd347f06 + Expiration: 02 Apr 29 16:56 UTC +SHA-256 Digest: 4A2B0F0F 716BF5B6 C603E01A 6229D681 0B2AFDC5 CADF5A0D 17D59299 116119E5 + +-r-------- ca.key - Dgraph Root CA key +SHA-256 Digest: 4A2B0F0F 716BF5B6 C603E01A 6229D681 0B2AFDC5 CADF5A0D 17D59299 116119E5 + +-rw-r--r-- client.admin.crt - Dgraph client certificate: admin + Issuer: Dgraph Labs, Inc. + CA Verify: PASSED + S/N: 297e4cb4f97c71f9 + Expiration: 03 Apr 24 17:29 UTC +SHA-256 Digest: D23EFB61 DE03C735 EB07B318 DB70D471 D3FE8556 B15D084C 62675857 788DF26C + +-rw------- client.admin.key - Dgraph Client key +SHA-256 Digest: D23EFB61 DE03C735 EB07B318 DB70D471 D3FE8556 B15D084C 62675857 788DF26C + +-rw-r--r-- node.crt - Dgraph Node certificate + Issuer: Dgraph Labs, Inc. + CA Verify: PASSED + S/N: 795ff0e0146fdb2d + Expiration: 03 Apr 24 17:00 UTC + Hosts: 104.25.165.23, 2400:cb00:2048:1::6819:a417, localhost, dgraph.io +SHA-256 Digest: 7E243ED5 3286AE71 B9B4E26C 5B2293DA D3E7F336 1B1AFFA7 885E8767 B1A84D28 + +-rw------- node.key - Dgraph Node key +SHA-256 Digest: 7E243ED5 3286AE71 B9B4E26C 5B2293DA D3E7F336 1B1AFFA7 885E8767 B1A84D28 +``` + +Important points: + +* The cert/key pairs should always have matching SHA-256 digests. Otherwise, the cert(s) must be + regenerated. If the Root CA pair differ, all cert/key must be regenerated; the flag `--force` + can help. +* All certificates must pass Dgraph CA verification. +* All key files should have the least access permissions, especially the `ca.key`, but be readable. +* Key files won't be overwritten if they have limited access, even with `--force`. +* Node certificates are only valid for the hosts listed. +* Client certificates are only valid for the named client/user. + +## TLS Options + +The following configuration options are available for Alpha: + +* `--tls_dir string` - TLS dir path; this enables TLS connections (usually 'tls'). +* `--tls_use_system_ca` - Include System CA with Dgraph Root CA. +* `--tls_client_auth string` - TLS client authentication used to validate client connection. See [Client Authentication Options](#client-authentication-options) for details. + +Dgraph Live Loader can be configured with the following options: + +* `--tls_cacert string` - Dgraph Root CA, such as `./tls/ca.crt` +* `--tls_use_system_ca` - Include System CA with Dgraph Root CA. +* `--tls_cert` - User cert file provided by the client to Alpha +* `--tls_key` - User private key file provided by the client to Alpha +* `--tls_server_name string` - Server name, used for validating the server's TLS host name. + + +### Using TLS without Client Authentication + +For TLS without client authentication, you can configure certificates and run Alpha server using the following: + +```sh +# First, create rootca and node certificates and private keys +$ dgraph cert -n localhost +# Default use for enabling TLS server (after generating certificates and private keys) +$ dgraph alpha --tls_dir tls +``` + +You can then run Dgraph live loader using the following: + +```sh +# Now, connect to server using TLS +$ dgraph live --tls_cacert ./tls/ca.crt --tls_server_name "localhost" -s 21million.schema -f 21million.rdf.gz +``` + +### Using TLS with Client Authentication + +If you do require Client Authentication (Mutual TLS), you can configure certificates and run Alpha server using the following: + +```sh +# First, create a rootca, node, and client certificates and private keys +$ dgraph cert -n localhost -c dgraphuser +# Default use for enabling TLS server with client authentication (after generating certificates and private keys) +$ dgraph alpha --tls_dir tls --tls_client_auth="REQUIREANDVERIFY" +``` + +You can then run Dgraph live loader using the following: + +```sh +# Now, connect to server using mTLS (mutual TLS) +$ dgraph live \ + --tls_cacert ./tls/ca.crt \ + --tls_cert ./tls/client.dgraphuser.crt \ + --tls_key ./tls/client.dgraphuser.key \ + --tls_server_name "localhost" \ + -s 21million.schema \ + -f 21million.rdf.gz +``` + +### Client Authentication Options + +The server will always **request** Client Authentication. There are four different values for the `--tls_client_auth` option that change the security policy of the client certificate. + +| Value | Client Cert/Key | Client Certificate Verified | +|--------------------|-----------------|--------------------| +| `REQUEST` | optional | Client certificate is not VERIFIED if provided. (least secure) | +| `REQUIREANY` | required | Client certificate is never VERIFIED | +| `VERIFYIFGIVEN` | optional | Client certificate is VERIFIED if provided (default) | +| `REQUIREANDVERIFY` | required | Client certificate is always VERIFIED (most secure) | + +{{% notice "note" %}}REQUIREANDVERIFY is the most secure but also the most difficult to configure for remote clients. When using this value, the value of `--tls_server_name` is matched against the certificate SANs values and the connection host.{{% /notice %}} + +## Using Ratel UI with Client authentication + +Ratel UI (and any other JavaScript clients built on top of `dgraph-js-http`) +connect to Dgraph servers via HTTP, when TLS is enabled servers begin to expect +HTTPS requests only. Therefore some adjustments need to be made. + +If the `--tls_client_auth` option is set to `REQUEST`or `VERIFYIFGIVEN` (default): + +1. Change the connection URL from `http://` to `https://` (e.g. `https://127.0.0.1:8080`). +2. Install / make trusted the certificate of the Dgraph certificate authority `ca.crt`. Refer to the documentation of your OS / browser for instructions +(e.g. on Mac OS this means adding `ca.crt` to the KeyChain and making it trusted +for `Secure Socket Layer`). + +For `REQUIREANY` and `REQUIREANDVERIFY` you need to follow the steps above and +also need to install client certificate on your OS / browser: + +1. Generate a client certificate: `dgraph cert -c MyLaptop`. +2. Convert it to a `.p12` file: +`openssl pkcs12 -export -out MyLaptopCert.p12 -in tls/client.MyLaptop.crt -inkey tls/client.MyLaptop.key`. Use any password you like for export. +3. Install the generated `MyLaptopCert.p12` file on the client system +(on Mac OS this means simply double-click the file in Finder). +4. Next time you use Ratel to connect to an alpha with Client authentication +enabled the browser will prompt you for a client certificate to use. Select the +certificate you've just installed in the step above and queries/mutations will +succeed. + +## Using Curl with Client authentication + +When TLS is enabled, `curl` requests to Dgraph will need some specific options to work. For instance (for an export request): + +``` +curl --silent --cacert ./tls/ca.crt https://localhost:8080/admin/export +``` + +If you are using `curl` with [Client Authentication](#client-authentication-options) set to `REQUIREANY` or `REQUIREANDVERIFY`, you will need to provide the client certificate and private key. For instance (for an export request): + +``` +curl --silent --cacert ./tls/ca.crt --cert ./tls/client.dgraphuser.crt --key ./tls/client.dgraphuser.key https://localhost:8080/admin/export +``` + +Refer to the `curl` documentation for further information on its TLS options. + +## Access Data Using a Client + +Some examples of connecting via a [Client](/clients) when TLS is in use can be found below: + +- [dgraph4j](https://github.com/dgraph-io/dgraph4j#creating-a-secure-client-using-tls) +- [dgraph-js](https://github.com/dgraph-io/dgraph-js/tree/master/examples/tls) +- [dgo](https://github.com/dgraph-io/dgraph/blob/master/tlstest/acl/acl_over_tls_test.go) +- [pydgraph](https://github.com/dgraph-io/pydgraph/tree/master/examples/tls) + +## Troubleshooting Ratel's Client authentication + +If you are getting errors in Ratel when server's TLS is enabled try opening +your alpha URL as a webpage. + +Assuming you are running Dgraph on your local machine, opening +`https://localhost:8080/` in browser should produce a message `Dgraph browser is available for running separately using the dgraph-ratel binary`. + +In case you are getting a connection error, try not passing the +`--tls_client_auth` flag when starting an alpha. If you are still getting an +error, check that your hostname is correct and the port is open; then make sure +that "Dgraph Root CA" certificate is installed and trusted correctly. + +After that, if things work without `--tls_client_auth` but stop working when +`REQUIREANY` and `REQUIREANDVERIFY` is set make sure the `.p12` file is +installed correctly. \ No newline at end of file diff --git a/wiki/content/deploy/tracing.md b/wiki/content/deploy/tracing.md new file mode 100644 index 00000000000..7be052538bf --- /dev/null +++ b/wiki/content/deploy/tracing.md @@ -0,0 +1,46 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Tracing" +[menu.main] + parent = "deploy" + weight = 16 ++++ + +Dgraph is integrated with [OpenCensus](https://opencensus.io/zpages/) to collect distributed traces from the Dgraph cluster. + +Trace data is always collected within Dgraph. You can adjust the trace sampling rate for Dgraph queries with the `--trace` option for Dgraph Alphas. By default, `--trace` is set to 0.01 to trace 1% of queries. + +## Examining Traces with zPages + +The most basic way to view traces is with the integrated trace pages. + +OpenCensus's [zPages](https://opencensus.io/zpages/) are accessible via the Zero or Alpha HTTP port at `/z/tracez`. + +## Examining Traces with Jaeger + +Jaeger collects distributed traces and provides a UI to view and query traces across different services. This provides the necessary observability to figure out what is happening in the system. + +Dgraph can be configured to send traces directly to a Jaeger collector with the `--jaeger.collector` flag. For example, if the Jaeger collector is running on `http://localhost:14268`, then pass the flag to the Dgraph Zero and Dgraph Alpha instances as `--jaeger.collector=http://localhost:14268`. + +See [Jaeger's Getting Started docs](https://www.jaegertracing.io/docs/getting-started/) to get up and running with Jaeger. + +### Setting up multiple Dgraph clusters with Jaeger + +Jaeger allows you to examine traces from multiple Dgraph clusters. To do this, use the `--collector.tags` on a Jaeger collector to set custom trace tags. For example, run one collector with `--collector.tags env=qa` and then another collector with `--collector.tags env=dev`. In Dgraph, set the `--jaeger.collector` flag in the Dgraph QA cluster to the first collector and the flag in the Dgraph Dev cluster to the second collector. +You can run multiple Jaeger collector components for the same single Jaeger backend (e.g., many Jaeger collectors to a single Cassandra backend). This is still a single Jaeger installation but with different collectors customizing the tags per environment. + +Once you have this configured, you can filter by tags in the Jaeger UI. Filter traces by tags matching `env=dev`: + +{{% load-img "/images/jaeger-ui.png" "Jaeger UI" %}} + +Every trace has your custom tags set under the “Process” section of each span: + +{{% load-img "/images/jaeger-server-query.png" "Jaeger Query" %}} + +Filter traces by tags matching `env=qa`: + +{{% load-img "/images/jaeger-json.png" "Jaeger JSON" %}} + +{{% load-img "/images/jaeger-server-query-2.png" "Jaeger Query Result" %}} + +For more information, check out [Jaeger's Deployment Guide](https://www.jaegertracing.io/docs/deployment/). \ No newline at end of file diff --git a/wiki/content/deploy/troubleshooting.md b/wiki/content/deploy/troubleshooting.md new file mode 100644 index 00000000000..28440375407 --- /dev/null +++ b/wiki/content/deploy/troubleshooting.md @@ -0,0 +1,27 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Troubleshooting" +[menu.main] + parent = "deploy" + weight = 19 ++++ + +Here are some problems that you may encounter and some solutions to try. + +### Running OOM (out of memory) + +During bulk loading of data, Dgraph can consume more memory than usual, due to high volume of writes. That's generally when you see the OOM crashes. + +The recommended minimum RAM to run on desktops and laptops is 16GB. Dgraph can take up to 7-8 GB with the default setting `--lru_mb` set to 4096; so having the rest 8GB for desktop applications should keep your machine humming along. + +On EC2/GCE instances, the recommended minimum is 8GB. It's recommended to set `--lru_mb` to one-third of RAM size. + +You could also decrease memory usage of Dgraph by setting `--badger.vlog=disk`. + +### Too many open files + +If you see an log error messages saying `too many open files`, you should increase the per-process file descriptors limit. + +During normal operations, Dgraph must be able to open many files. Your operating system may set by default a open file descriptor limit lower than what's needed for a database such as Dgraph. + +On Linux and Mac, you can check the file descriptor limit with `ulimit -n -H` for the hard limit and `ulimit -n -S` for the soft limit. The soft limit should be set high enough for Dgraph to run properly. A soft limit of 65535 is a good lower bound for a production setup. You can adjust the limit as needed. \ No newline at end of file diff --git a/wiki/content/design-concepts/_index.md b/wiki/content/design-concepts/_index.md index e69de29bb2d..d6a83fa2405 100644 --- a/wiki/content/design-concepts/_index.md +++ b/wiki/content/design-concepts/_index.md @@ -0,0 +1,8 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Design Concepts" +[menu.main] + url = "/design-concepts/" + identifier = "design-concepts" + weight = 12 ++++ \ No newline at end of file diff --git a/wiki/content/design-concepts/concepts.md b/wiki/content/design-concepts/concepts.md new file mode 100644 index 00000000000..e287f62d91d --- /dev/null +++ b/wiki/content/design-concepts/concepts.md @@ -0,0 +1,259 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Concepts" +[menu.main] + parent = "design-concepts" + weight = 3 ++++ + +## Edges + +Typical data format is RDF [N-Quad](https://www.w3.org/TR/n-quads/) which is: + +* `Subject, Predicate, Object, Label`, aka +* `Entity, Attribute, Other Entity / Value, Label` + +Both the terminologies get used interchangeably in our code. Dgraph considers edges to be directional, +i.e. from `Subject -> Object`. This is the direction that the queries would be run. + +{{% notice "tip" %}}Dgraph can automatically generate a reverse edge. If the user wants to run +queries in that direction, they would need to define the [reverse edge](/query-language#reverse-edges) +as part of the schema.{{% /notice %}} + +Internally, the RDF N-Quad gets parsed into this format. + +``` +type DirectedEdge struct { + Entity uint64 + Attr string + Value []byte + ValueType Posting_ValType + ValueId uint64 + Label string + Lang string + Op DirectedEdge_Op // Set or Delete + Facets []*api.Facet +} +``` + +Note that irrespective of the input, both `Entity` and `Object/ValueId` get converted in `UID` format. + +## Posting List +Conceptually, a posting list contains all the `DirectedEdges` corresponding to an `Attribute`, in the +following format: + +``` +Attribute: Entity -> sorted list of ValueId // Everything in uint64 representation. +``` + +So, for, e.g., if we're storing a list of friends, such as: + +Entity | Attribute| ValueId +-------|----------|-------- +Me | friend | person0 +Me | friend | person1 +Me | friend | person2 +Me | friend | person3 + + +Then a posting list `friend` would be generated. Seeking for `Me` in this PL +would produce a list of friends, namely `[person0, person1, person2, person3]`. + +The big advantage of having such a structure is that we have all the data to do one join in one +Posting List. This means, one RPC to +the machine serving that Posting List would result in a join, without any further +network calls, reducing joins to lookups. + +Implementation wise, a `Posting List` is a list of `Postings`. This is how they look in +[Protocol Buffers]({{< relref "#protocol-buffers" >}}) format. +``` +message Posting { + fixed64 uid = 1; + bytes value = 2; + enum ValType { + DEFAULT = 0; + BINARY = 1; + INT = 2; // We treat it as int64. + FLOAT = 3; + BOOL = 4; + DATETIME = 5; + GEO = 6; + UID = 7; + PASSWORD = 8; + STRING = 9; + OBJECT = 10; + } + ValType val_type = 3; + enum PostingType { + REF=0; // UID + VALUE=1; // simple, plain value + VALUE_LANG=2; // value with specified language + } + PostingType posting_type = 4; + bytes lang_tag = 5; // Only set for VALUE_LANG + string label = 6; + repeated api.Facet facets = 9; + + // TODO: op is only used temporarily. See if we can remove it from here. + uint32 op = 12; + uint64 start_ts = 13; // Meant to use only inmemory + uint64 commit_ts = 14; // Meant to use only inmemory +} + +message PostingList { + repeated Posting postings = 1; + bytes checksum = 2; + uint64 commit = 3; // More inclination towards smaller values. +} +``` + +There is typically more than one Posting in a PostingList. + +The RDF Label is stored as `label` in each posting. +{{% notice "warning" %}}We don't currently retrieve label via query -- but would use it in the future.{{% /notice %}} + +## Badger +PostingLists are served via [Badger](https://github.com/dgraph-io/badger), given the latter provides enough +knobs to decide how much data should be served out of memory, SSD or disk. +Also, it supports bloom filters on keys, which makes random lookups efficient. + +To allow Badger full access to memory to optimize for caches, we'll have +one Badger instance per machine. Each instance would contain all the +posting lists served by the machine. + +Posting Lists get stored in Badger, in a key-value format, like so: +``` +(Predicate, Subject) --> PostingList +``` + +## Group + +Every Alpha server belongs to a particular group, and each group is responsible for serving a +particular set of predicates. Multiple servers in a single group replicate the same data to achieve +high availability and redundancy of data. + +Predicates are automatically assigned to each group based on which group first receives the +predicate. By default periodically predicates can be moved around to different groups upon +heuristics to evenly distribute the data across the cluster. Predicates can also be moved manually +if desired. + +In a future version, if a group gets too big, it could be split further. In this case, a single +`Predicate` essentially gets divided across two groups. + +``` + Original Group: + (Predicate, Sa..z) + After split: + Group 1: (Predicate, Sa..i) + Group 2: (Predicate, Sj..z) +``` + +Note that keys are sorted in BadgerDB. So, the group split would be done in a way to maintain that +sorting order, i.e. it would be split in a way where the lexicographically earlier subjects would be +in one group, and the later in the second. + +## Replication and Server Failure +Each group should typically be served by at least 3 servers, if available. In the case of a machine +failure, other servers serving the same group can still handle the load in that case. + +## New Server and Discovery +Dgraph cluster can detect new machines allocated to the [cluster](/deploy#cluster), +establish connections, and transfer a subset of existing predicates to it based on the groups served +by the new machine. + +## Write Ahead Logs +Every mutation upon hitting the database doesn't immediately make it on disk via BadgerDB. We avoid +re-generating the posting list too often, because all the postings need to be kept sorted, and it's +expensive. Instead, every mutation gets logged and synced to disk via append only log files called +`write-ahead logs`. So, any acknowledged writes would always be on disk. This allows us to recover +from a system crash, by replaying all the mutations since the last write to `Posting List`. + +## Mutations + +{{% notice "outdated" %}} +This section needs to be improved. +{{% /notice %}} + +In addition to being written to `Write Ahead Logs`, a mutation also gets stored in memory as an +overlay over immutable `Posting list` in a mutation layer. This mutation layer allows us to iterate +over `Posting`s as though they're sorted, without requiring re-creating the posting list. + +When a posting list has mutations in memory, it's considered a `dirty` posting list. Periodically, +we re-generate the immutable version, and write to BadgerDB. Note that the writes to BadgerDB are +asynchronous, which means they don't get flushed out to disk immediately, but that wouldn't lead +to data loss on a machine crash. When `Posting lists` are initialized, write-ahead logs get referred, +and any missing writes get applied. + +Every time we regenerate a posting list, we also write the max commit log timestamp that was +included -- this helps us figure out how long back to seek in write-ahead logs when initializing +the posting list, the first time it's brought back into memory. + +## Queries + +Let's understand how query execution works, by looking at an example. + +``` +{ + me(func: uid(0x1)) { + pred_A + pred_B { + pred_B1 + pred_B2 + } + pred_C { + pred_C1 + pred_C2 { + pred_C21 + } + } + } +} + +``` + +Let's assume we have 3 Alpha instances, and instance id=2 receives this query. These are the steps: + +* Send queries to look up keys = `pred_A, 0x1`, `pred_B, 0x1`, and `pred_C, 0x1`. These predicates could +belong to 3 different groups, served by potentially different Alpha servers. So, this would typically +incur at max 3 network calls (equal to number of predicates at this step). +* The above queries would return back 3 lists of UIDs or values. The result of `pred_B` and `pred_C` +would be converted into queries for `pred_Bi` and `pred_Ci`. +* `pred_Bi` and `pred_Ci` would then cause at max 4 network calls, depending upon where these +predicates are located. The keys for `pred_Bi`, for example, would be `pred_Bi, res_pred_Bk`, where +res_pred_Bk = list of resulting UIDs from `pred_B, u`. +* Looking at `res_pred_C2`, you'll notice that this would be a list of lists aka list matrix. We +merge these list of lists into a sorted list with distinct elements to form the query for `pred_C21`. +* Another network call depending upon where `pred_C21` lies, and this would again give us a list of +list UIDs / value. + +If the query was run via HTTP interface `/query`, this subgraph gets converted into JSON for +replying back to the client. If the query was run via [gRPC](https://www.grpc.io/) interface using +the language [clients]({{< relref "clients/_index.md" >}}), the subgraph gets converted to +[protocol buffer](https://developers.google.com/protocol-buffers/) format and then returned to client. + +## Network Calls +Compared to RAM or SSD access, network calls are slow. +Dgraph minimizes the number of network calls required to execute queries. As explained above, the +data sharding is done based on `predicate`, not `entity`. Thus, even if we have a large set of +intermediate results, they'd still only increase the payload of a network call, not the number of +network calls itself. In general, the number of network calls done in Dgraph is directly proportional +to the number of predicates in the query, or the complexity of the query, not the number of +intermediate or final results. + +In the above example, we have eight predicates, and so including a call to convert to UID, we'll +have at max nine network calls. The total number of entity results could be in millions. + +## Worker +In Queries section, you noticed how the calls were made to query for `(predicate, uids)`. All those +network calls / local processing are done via workers. Each server exposes a +[gRPC](https://www.grpc.io) interface, which can then be called by the query processor to retrieve data. + +## Worker Pool +Worker Pool is just a pool of open TCP connections which can be reused by multiple goroutines. +This avoids having to recreate a new connection every time a network call needs to be made. + +## Protocol Buffers +All data in Dgraph that is stored or transmitted is first converted into byte arrays through +serialization using [Protocol Buffers](https://developers.google.com/protocol-buffers/). When +the result is to be returned to the user, the protocol buffer object is traversed, and the JSON +object is formed. \ No newline at end of file diff --git a/wiki/content/design-concepts/consistency-model.md b/wiki/content/design-concepts/consistency-model.md new file mode 100644 index 00000000000..ab8bf79ae7f --- /dev/null +++ b/wiki/content/design-concepts/consistency-model.md @@ -0,0 +1,62 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Consistency Model" +[menu.main] + parent = "design-concepts" + weight = 2 ++++ + +[Update on Jan 15, 2020] + +- Dgraph supports MVCC, Read Snapshots and Distributed ACID transactions. +- The transactions are cluster-wide (not key-only, or any other "crippled" version of them). +- Transactions are lockless. They don't block/wait on seeing pending writes by uncommitted transactions. Zero would choose to commit or abort them depending on conflicts. +- Transactions are based on Snapshot Isolation (not Serializable Snapshot Isolation), because conflicts are determined by writes (not reads). +- Dgraph hands out monotonically increasing timestamps (for transactions). Ergo, if any transaction Tx1 commits before Tx2 starts, then Ts_commit(Tx1) < Ts_start(Tx2). +- Any commit at Tc are guaranteed to be seen by a read at timestamp Tr by any client, if Tr > Tc. +- All reads are snapshots across the entire cluster, seeing all previously committed transactions in full. + +--- + +{{% notice "outdated" %}}Sections below this one are outdated. You will find [Tour of Dgraph](https://dgraph.io/tour/) a much helpful resource.{{% /notice %}} + +[Last updated: Mar 2018. This is outdated and is not how we do things anymore] +Basing it [on this +article](https://aphyr.com/posts/313-strong-consistency-models) by aphyr. + +- **Sequential Consistency:** Different users would see updates at different times, but each user would see operations in order. + +Dgraph has a client-side sequencing mode, which provides sequential consistency. + +Here, let’s replace a “user” with a “client” (or a single process). In Dgraph, each client maintains a linearizable read map (linread map). Dgraph's data set is sharded into many "groups". Each group is a Raft group, where every write is done via a "proposal." You can think of a transaction in Dgraph, to consist of many group proposals. + +The leader in Raft group always has the most recent proposal, while +replicas could be behind the leader in varying degrees. You can determine this +by just looking at the latest applied proposal ID. A leader's proposal ID would +be greater than or equal to some replicas' applied proposal ID. + +`linread` map stores a group -> max proposal ID seen, per client. If a client's +last read had seen updates corresponding to proposal ID X, then `linread` map +would store X for that group. The client would then use the `linread` map to +inform future reads to ensure that the server servicing the request, has +proposals >= X applied before servicing the read. Thus, all future reads, +irrespective of which replica it might hit, would see updates for proposals >= +X. Also, the `linread` map is updated continuously with max seen proposal IDs +across all groups as reads and writes are done across transactions (within that +client). + +In short, this map ensures that updates made by the client, or seen by the +client, would never be *unseen*; in fact, they would be visible in a sequential +order. There might be jumps though, for e.g., if a value X → Y → Z, the client +might see X, then Z (and not see Y at all). + +- **Linearizability:** Each op takes effect atomically at some point between invocation and completion. Once op is complete, it would be visible to all. + +Dgraph supports server-side sequencing of updates, which provides +linearizability. Unlike sequential consistency which provides sequencing per +client, this provide sequencing across all clients. This is necessary to make +transactions work across clients. Thus, once a transaction is committed, +it would be visible to all future readers, irrespective of client boundaries. + +- **Causal consistency:** Dgraph does not have a concept of dependencies among transactions. So, does NOT order based on dependencies. +- **Serializable consistency:** Dgraph does NOT allow arbitrary reordering of transactions, but does provide a linear order per key. diff --git a/wiki/content/design-concepts/index.md b/wiki/content/design-concepts/index.md deleted file mode 100644 index e52b526d17f..00000000000 --- a/wiki/content/design-concepts/index.md +++ /dev/null @@ -1,544 +0,0 @@ -+++ -date = "2017-03-20T22:25:17+11:00" -title = "Design Concepts" -+++ - -## Transactions: FAQ - -Dgraph supports distributed ACID transactions through snapshot isolation. - -### Can we do pre-writes only on leaders? - -Seems like a good idea, but has bad implications. If we only do a prewrite -in-memory, only on leader, then this prewrite wouldn't make it to the Raft log, -or disk; but would be considered successful. - -Then zero could mark the transaction as committed; but this leader could go -down, or leadership could change. In such a case, we'd end up losing the -transaction altogether despite it having been considered committed. - -Therefore, pre-writes do have to make it to disk. And if so, better to propose -them in a Raft group. - -## Consistency Model - -[Update on Jan 15, 2020] - -- Dgraph supports MVCC, Read Snapshots and Distributed ACID transactions. -- The transactions are cluster-wide (not key-only, or any other "crippled" version of them). -- Transactions are lockless. They don't block/wait on seeing pending writes by uncommitted transactions. Zero would choose to commit or abort them depending on conflicts. -- Transactions are based on Snapshot Isolation (not Serializable Snapshot Isolation), because conflicts are determined by writes (not reads). -- Dgraph hands out monotonically increasing timestamps (for transactions). Ergo, if any transaction Tx1 commits before Tx2 starts, then Ts_commit(Tx1) < Ts_start(Tx2). -- Any commit at Tc are guaranteed to be seen by a read at timestamp Tr by any client, if Tr > Tc. -- All reads are snapshots across the entire cluster, seeing all previously committed transactions in full. - ---- - -{{% notice "outdated" %}}Sections below this one are outdated. You will find [Tour of Dgraph](https://dgraph.io/tour/) a much helpful resource.{{% /notice %}} - -## Consistency Models -[Last updated: Mar 2018. This is outdated and is not how we do things anymore] -Basing it [on this -article](https://aphyr.com/posts/313-strong-consistency-models) by aphyr. - -- **Sequential Consistency:** Different users would see updates at different times, but each user would see operations in order. - -Dgraph has a client-side sequencing mode, which provides sequential consistency. - -Here, let’s replace a “user” with a “client” (or a single process). In Dgraph, each client maintains a linearizable read map (linread map). Dgraph's data set is sharded into many "groups". Each group is a Raft group, where every write is done via a "proposal." You can think of a transaction in Dgraph, to consist of many group proposals. - -The leader in Raft group always has the most recent proposal, while -replicas could be behind the leader in varying degrees. You can determine this -by just looking at the latest applied proposal ID. A leader's proposal ID would -be greater than or equal to some replicas' applied proposal ID. - -`linread` map stores a group -> max proposal ID seen, per client. If a client's -last read had seen updates corresponding to proposal ID X, then `linread` map -would store X for that group. The client would then use the `linread` map to -inform future reads to ensure that the server servicing the request, has -proposals >= X applied before servicing the read. Thus, all future reads, -irrespective of which replica it might hit, would see updates for proposals >= -X. Also, the `linread` map is updated continuously with max seen proposal IDs -across all groups as reads and writes are done across transactions (within that -client). - -In short, this map ensures that updates made by the client, or seen by the -client, would never be *unseen*; in fact, they would be visible in a sequential -order. There might be jumps though, for e.g., if a value X → Y → Z, the client -might see X, then Z (and not see Y at all). - -- **Linearizability:** Each op takes effect atomically at some point between invocation and completion. Once op is complete, it would be visible to all. - -Dgraph supports server-side sequencing of updates, which provides -linearizability. Unlike sequential consistency which provides sequencing per -client, this provide sequencing across all clients. This is necessary to make -transactions work across clients. Thus, once a transaction is committed, -it would be visible to all future readers, irrespective of client boundaries. - -- **Causal consistency:** Dgraph does not have a concept of dependencies among transactions. So, does NOT order based on dependencies. -- **Serializable consistency:** Dgraph does NOT allow arbitrary reordering of transactions, but does provide a linear order per key. - -## Concepts - -### Edges - -Typical data format is RDF [N-Quad](https://www.w3.org/TR/n-quads/) which is: - -* `Subject, Predicate, Object, Label`, aka -* `Entity, Attribute, Other Entity / Value, Label` - -Both the terminologies get used interchangeably in our code. Dgraph considers edges to be directional, -i.e. from `Subject -> Object`. This is the direction that the queries would be run. - -{{% notice "tip" %}}Dgraph can automatically generate a reverse edge. If the user wants to run -queries in that direction, they would need to define the [reverse edge](/query-language#reverse-edges) -as part of the schema.{{% /notice %}} - -Internally, the RDF N-Quad gets parsed into this format. - -``` -type DirectedEdge struct { - Entity uint64 - Attr string - Value []byte - ValueType Posting_ValType - ValueId uint64 - Label string - Lang string - Op DirectedEdge_Op // Set or Delete - Facets []*api.Facet -} -``` - -Note that irrespective of the input, both `Entity` and `Object/ValueId` get converted in `UID` format. - -### Posting List -Conceptually, a posting list contains all the `DirectedEdges` corresponding to an `Attribute`, in the -following format: - -``` -Attribute: Entity -> sorted list of ValueId // Everything in uint64 representation. -``` - -So, for, e.g., if we're storing a list of friends, such as: - -Entity | Attribute| ValueId --------|----------|-------- -Me | friend | person0 -Me | friend | person1 -Me | friend | person2 -Me | friend | person3 - - -Then a posting list `friend` would be generated. Seeking for `Me` in this PL -would produce a list of friends, namely `[person0, person1, person2, person3]`. - -The big advantage of having such a structure is that we have all the data to do one join in one -Posting List. This means, one RPC to -the machine serving that Posting List would result in a join, without any further -network calls, reducing joins to lookups. - -Implementation wise, a `Posting List` is a list of `Postings`. This is how they look in -[Protocol Buffers]({{< relref "#protocol-buffers" >}}) format. -``` -message Posting { - fixed64 uid = 1; - bytes value = 2; - enum ValType { - DEFAULT = 0; - BINARY = 1; - INT = 2; // We treat it as int64. - FLOAT = 3; - BOOL = 4; - DATETIME = 5; - GEO = 6; - UID = 7; - PASSWORD = 8; - STRING = 9; - OBJECT = 10; - } - ValType val_type = 3; - enum PostingType { - REF=0; // UID - VALUE=1; // simple, plain value - VALUE_LANG=2; // value with specified language - } - PostingType posting_type = 4; - bytes lang_tag = 5; // Only set for VALUE_LANG - string label = 6; - repeated api.Facet facets = 9; - - // TODO: op is only used temporarily. See if we can remove it from here. - uint32 op = 12; - uint64 start_ts = 13; // Meant to use only inmemory - uint64 commit_ts = 14; // Meant to use only inmemory -} - -message PostingList { - repeated Posting postings = 1; - bytes checksum = 2; - uint64 commit = 3; // More inclination towards smaller values. -} -``` - -There is typically more than one Posting in a PostingList. - -The RDF Label is stored as `label` in each posting. -{{% notice "warning" %}}We don't currently retrieve label via query -- but would use it in the future.{{% /notice %}} - -### Badger -PostingLists are served via [Badger](https://github.com/dgraph-io/badger), given the latter provides enough -knobs to decide how much data should be served out of memory, SSD or disk. -Also, it supports bloom filters on keys, which makes random lookups efficient. - -To allow Badger full access to memory to optimize for caches, we'll have -one Badger instance per machine. Each instance would contain all the -posting lists served by the machine. - -Posting Lists get stored in Badger, in a key-value format, like so: -``` -(Predicate, Subject) --> PostingList -``` - -### Group - -Every Alpha server belongs to a particular group, and each group is responsible for serving a -particular set of predicates. Multiple servers in a single group replicate the same data to achieve -high availability and redundancy of data. - -Predicates are automatically assigned to each group based on which group first receives the -predicate. By default periodically predicates can be moved around to different groups upon -heuristics to evenly distribute the data across the cluster. Predicates can also be moved manually -if desired. - -In a future version, if a group gets too big, it could be split further. In this case, a single -`Predicate` essentially gets divided across two groups. - -``` - Original Group: - (Predicate, Sa..z) - After split: - Group 1: (Predicate, Sa..i) - Group 2: (Predicate, Sj..z) -``` - -Note that keys are sorted in BadgerDB. So, the group split would be done in a way to maintain that -sorting order, i.e. it would be split in a way where the lexicographically earlier subjects would be -in one group, and the later in the second. - -### Replication and Server Failure -Each group should typically be served by at least 3 servers, if available. In the case of a machine -failure, other servers serving the same group can still handle the load in that case. - -### New Server and Discovery -Dgraph cluster can detect new machines allocated to the [cluster](/deploy#cluster), -establish connections, and transfer a subset of existing predicates to it based on the groups served -by the new machine. - -### Write Ahead Logs -Every mutation upon hitting the database doesn't immediately make it on disk via BadgerDB. We avoid -re-generating the posting list too often, because all the postings need to be kept sorted, and it's -expensive. Instead, every mutation gets logged and synced to disk via append only log files called -`write-ahead logs`. So, any acknowledged writes would always be on disk. This allows us to recover -from a system crash, by replaying all the mutations since the last write to `Posting List`. - -### Mutations - -{{% notice "outdated" %}} -This section needs to be improved. -{{% /notice %}} - -In addition to being written to `Write Ahead Logs`, a mutation also gets stored in memory as an -overlay over immutable `Posting list` in a mutation layer. This mutation layer allows us to iterate -over `Posting`s as though they're sorted, without requiring re-creating the posting list. - -When a posting list has mutations in memory, it's considered a `dirty` posting list. Periodically, -we re-generate the immutable version, and write to BadgerDB. Note that the writes to BadgerDB are -asynchronous, which means they don't get flushed out to disk immediately, but that wouldn't lead -to data loss on a machine crash. When `Posting lists` are initialized, write-ahead logs get referred, -and any missing writes get applied. - -Every time we regenerate a posting list, we also write the max commit log timestamp that was -included -- this helps us figure out how long back to seek in write-ahead logs when initializing -the posting list, the first time it's brought back into memory. - -### Queries - -Let's understand how query execution works, by looking at an example. - -``` -{ - me(func: uid(0x1)) { - pred_A - pred_B { - pred_B1 - pred_B2 - } - pred_C { - pred_C1 - pred_C2 { - pred_C21 - } - } - } -} - -``` - -Let's assume we have 3 Alpha instances, and instance id=2 receives this query. These are the steps: - -* Send queries to look up keys = `pred_A, 0x1`, `pred_B, 0x1`, and `pred_C, 0x1`. These predicates could -belong to 3 different groups, served by potentially different Alpha servers. So, this would typically -incur at max 3 network calls (equal to number of predicates at this step). -* The above queries would return back 3 lists of UIDs or values. The result of `pred_B` and `pred_C` -would be converted into queries for `pred_Bi` and `pred_Ci`. -* `pred_Bi` and `pred_Ci` would then cause at max 4 network calls, depending upon where these -predicates are located. The keys for `pred_Bi`, for example, would be `pred_Bi, res_pred_Bk`, where -res_pred_Bk = list of resulting UIDs from `pred_B, u`. -* Looking at `res_pred_C2`, you'll notice that this would be a list of lists aka list matrix. We -merge these list of lists into a sorted list with distinct elements to form the query for `pred_C21`. -* Another network call depending upon where `pred_C21` lies, and this would again give us a list of -list UIDs / value. - -If the query was run via HTTP interface `/query`, this subgraph gets converted into JSON for -replying back to the client. If the query was run via [gRPC](https://www.grpc.io/) interface using -the language [clients]({{< relref "clients/index.md" >}}), the subgraph gets converted to -[protocol buffer](https://developers.google.com/protocol-buffers/) format and then returned to client. - -### Network Calls -Compared to RAM or SSD access, network calls are slow. -Dgraph minimizes the number of network calls required to execute queries. As explained above, the -data sharding is done based on `predicate`, not `entity`. Thus, even if we have a large set of -intermediate results, they'd still only increase the payload of a network call, not the number of -network calls itself. In general, the number of network calls done in Dgraph is directly proportional -to the number of predicates in the query, or the complexity of the query, not the number of -intermediate or final results. - -In the above example, we have eight predicates, and so including a call to convert to UID, we'll -have at max nine network calls. The total number of entity results could be in millions. - -### Worker -In Queries section, you noticed how the calls were made to query for `(predicate, uids)`. All those -network calls / local processing are done via workers. Each server exposes a -[gRPC](https://www.grpc.io) interface, which can then be called by the query processor to retrieve data. - -### Worker Pool -Worker Pool is just a pool of open TCP connections which can be reused by multiple goroutines. -This avoids having to recreate a new connection every time a network call needs to be made. - -### Protocol Buffers -All data in Dgraph that is stored or transmitted is first converted into byte arrays through -serialization using [Protocol Buffers](https://developers.google.com/protocol-buffers/). When -the result is to be returned to the user, the protocol buffer object is traversed, and the JSON -object is formed. - -## Minimizing network calls explained - -To explain how Dgraph minimizes network calls, let's start with an example query we should be able -to run. - -*Find all posts liked by friends of friends of mine over the last year, written by a popular author X.* - -### SQL/NoSQL -In a distributed SQL/NoSQL database, this would require you to retrieve a lot of data. - -Method 1: - -* Find all the friends (~ 338 [friends](http://www.pewresearch.org/fact-tank/2014/02/03/6-new-facts-about-facebook/)). -* Find all their friends (~ 338 * 338 = 40,000 people). -* Find all the posts liked by these people over the last year (resulting set in millions). -* Intersect these posts with posts authored by person X. - -Method 2: - -* Find all posts written by popular author X over the last year (possibly thousands). -* Find all people who liked those posts (easily millions) `result set 1`. -* Find all your friends. -* Find all their friends `result set 2`. -* Intersect `result set 1` with `result set 2`. - -Both of these approaches would result in a lot of data going back and forth between database and -application; would be slow to execute, or would require you to run an offline job. - -### Dgraph -This is how it would run in Dgraph: - -* Node X contains posting list for predicate `friends`. -* Seek to caller's userid in Node X **(1 RPC)**. Retrieve a list of friend uids. -* Do multiple seeks for each of the friend uids, to generate a list of friends of friends uids. `result set 1` -* Node Y contains posting list for predicate `posts_liked`. -* Ship result set 1 to Node Y **(1 RPC)**, and do seeks to generate a list of all posts liked by -result set 1. `result set 2` -* Node Z contains posting list for predicate `author`. -* Ship result set 2 to Node Z **(1 RPC)**. Seek to author X, and generate a list of posts authored -by X. `result set 3` -* Intersect the two sorted lists, `result set 2` and `result set 3`. `result set 4` -* Node N contains names for all uids. -* Ship `result set 4` to Node N **(1 RPC)**, and convert uids to names by doing multiple seeks. `result set 5` -* Ship `result set 5` back to caller. - -In 4-5 RPCs, we have figured out all the posts liked by friends of friends, written by popular author X. - -This design allows vast scalability, and yet consistent production level latencies, -to support running complicated queries requiring deep joins. - -## RAFT - -This section aims to explain the RAFT consensus algorithm in simple terms. The idea is to give you -just enough to make you understand the basic concepts, without going into explanations about why it -works accurately. For a detailed explanation of RAFT, please read the original thesis paper by -[Diego Ongaro](https://github.com/ongardie/dissertation). - -### Term -Each election cycle is considered a **term**, during which there is a single leader -*(just like in a democracy)*. When a new election starts, the term number is increased. This is -straightforward and obvious but is a critical factor for the accuracy of the algorithm. - -In rare cases, if no leader could be elected within an `ElectionTimeout`, that term can end without -a leader. - -### Server States -Each server in cluster can be in one of the following three states: - -* Leader -* Follower -* Candidate - -Generally, the servers are in leader or follower state. When the leader crashes or the communication -breaks down, the followers will wait for election timeout before converting to candidates. The -election timeout is randomized. This would allow one of them to declare candidacy before others. -The candidate would vote for itself and wait for the majority of the cluster to vote for it as well. -If a follower hears from a candidate with a higher term than the current (*dead in this case*) leader, -it would vote for it. The candidate who gets majority votes wins the election and becomes the leader. - -The leader then tells the rest of the cluster about the result (Heartbeat -[Communication]({{< relref "#communication" >}})) and the other candidates then become followers. -Again, the cluster goes back into leader-follower model. - -A leader could revert to being a follower without an election, if it finds another leader in the -cluster with a higher [Term]({{< relref "#term" >}})). This might happen in rare cases (network partitions). - -### Communication -There is unidirectional RPC communication, from leader to followers. The followers never ping the -leader. The leader sends `AppendEntries` messages to the followers with logs containing state -updates. When the leader sends `AppendEntries` with zero logs, that's considered a -Heartbeat. Leader sends all followers Heartbeats at regular intervals. - -If a follower doesn't receive Heartbeat for `ElectionTimeout` duration (generally between -150ms to 300ms), it converts it's state to candidate (as mentioned in [Server States]({{< relref "#server-states" >}})). -It then requests for votes by sending a `RequestVote` call to other servers. Again, if it gets -majority votes, candidate becomes a leader. At becoming leader, it then sends Heartbeats -to all other servers to establish its authority *(Cartman style, "Respect my authoritah!")*. - -Every communication request contains a term number. If a server receives a request with a stale term -number, it rejects the request. - -Raft believes in retrying RPCs indefinitely. - -### Log Entries -Log Entries are numbered sequentially and contain a term number. Entry is considered **committed** if -it has been replicated to a majority of the servers. - -On receiving a client request, the leader does four things (aka Log Replication): - -* Appends and persists to its log. -* Issue `AppendEntries` in parallel to other servers. -* On majority replication, consider the entry committed and apply to its state machine. -* Notify followers that entry is committed so that they can apply it to their state machines. - -A leader never overwrites or deletes its entries. There is a guarantee that if an entry is committed, -all future leaders will have it. A leader can, however, force overwrite the followers' logs, so they -match leader's logs *(elected democratically, but got a dictator)*. - -### Voting -Each server persists its current term and vote, so it doesn't end up voting twice in the same term. -On receiving a `RequestVote` RPC, the server denies its vote if its log is more up-to-date than the -candidate. It would also deny a vote, if a minimum `ElectionTimeout` hasn't passed since the last -Heartbeat from the leader. Otherwise, it gives a vote and resets its `ElectionTimeout` timer. - -Up-to-date property of logs is determined as follows: - -* Term number comparison -* Index number or log length comparison - -{{% notice "tip" %}}To understand the above sections better, you can see this -[interactive visualization](http://thesecretlivesofdata.com/raft).{{% /notice %}} - -### Cluster membership -Raft only allows single-server changes, i.e. only one server can be added or deleted at a time. -This is achieved by cluster configuration changes. Cluster configurations are communicated using -special entries in `AppendEntries`. - -The significant difference in how cluster configuration changes are applied compared to how typical -[Log Entries]({{< relref "#log-entries" >}}) are applied is that the followers don't wait for a -commitment confirmation from the leader before enabling it. - -A server can respond to both `AppendEntries` and `RequestVote`, without checking current -configuration. This mechanism allows new servers to participate without officially being part of -the cluster. Without this feature, things won't work. - -When a new server joins, it won't have any logs, and they need to be streamed. To ensure cluster -availability, Raft allows this server to join the cluster as a non-voting member. Once it's caught -up, voting can be enabled. This also allows the cluster to remove this server in case it's too slow -to catch up, before giving voting rights *(sort of like getting a green card to allow assimilation -before citizenship is awarded providing voting rights)*. - - -{{% notice "tip" %}}If you want to add a few servers and remove a few servers, do the addition -before the removal. To bootstrap a cluster, start with one server to allow it to become the leader, -and then add servers to the cluster one-by-one.{{% /notice %}} - -### Log Compaction -One of the ways to do this is snapshotting. As soon as the state machine is synced to disk, the -logs can be discarded. - -Snapshots are taken by default after 10000 Raft entries. This number can be adjusted using the -`dgraph alpha --snapshot_after` flag. - -### Clients -Clients must locate the cluster to interact with it. Various approaches can be used for discovery. - -A client can randomly pick up any server in the cluster. If the server isn't a leader, the request -should be rejected, and the leader information passed along. The client can then re-route it's query -to the leader. Alternatively, the server can proxy the client's request to the leader. - -When a client first starts up, it can register itself with the cluster using `RegisterClient` RPC. -This creates a new client id, which is used for all subsequent RPCs. - -### Linearizable Semantics - -Servers must filter out duplicate requests. They can do this via session tracking where they use -the client id and another request UID set by the client to avoid reprocessing duplicate requests. -RAFT also suggests storing responses along with the request UIDs to reply back in case it receives -a duplicate request. - -Linearizability requires the results of a read to reflect the latest committed write. -Serializability, on the other hand, allows stale reads. - -### Read-only queries - -To ensure linearizability of read-only queries run via leader, leader must take these steps: - -* Leader must have at least one committed entry in its term. This would allow for up-to-dated-ness. -*(C'mon! Now that you're in power do something at least!)* -* Leader stores it's latest commit index. -* Leader sends Heartbeats to the cluster and waits for ACK from majority. Now it knows -that it's the leader. *(No successful coup. Yup, still the democratically elected dictator I was before!)* -* Leader waits for its state machine to advance to readIndex. -* Leader can now run the queries against state machine and reply to clients. - -Read-only queries can also be serviced by followers to reduce the load on the leader. But this -could lead to stale results unless the follower confirms that its leader is the real leader(network partition). -To do so, it would have to send a query to the leader, and the leader would have to do steps 1-3. -Then the follower can do 4-5. - -Read-only queries would have to be batched up, and then RPCs would have to go to the leader for each -batch, who in turn would have to send further RPCs to the whole cluster. *(This is not scalable -without considerable optimizations to deal with latency.)* - -**An alternative approach** would be to have the servers return the index corresponding to their -state machine. The client can then keep track of the maximum index it has received from replies so far. -And pass it along to the server for the next request. If a server's state machine hasn't reached the -index provided by the client, it will not service the request. This approach avoids inter-server -communication and is a lot more scalable. *(This approach does not guarantee linearizability, but -should converge quickly to the latest write.)* diff --git a/wiki/content/design-concepts/minimizing-network-calls.md b/wiki/content/design-concepts/minimizing-network-calls.md new file mode 100644 index 00000000000..e3e6878740a --- /dev/null +++ b/wiki/content/design-concepts/minimizing-network-calls.md @@ -0,0 +1,55 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Minimizing network calls explained" +[menu.main] + parent = "design-concepts" + weight = 4 ++++ + +To explain how Dgraph minimizes network calls, let's start with an example query we should be able +to run. + +*Find all posts liked by friends of friends of mine over the last year, written by a popular author X.* + +## SQL/NoSQL +In a distributed SQL/NoSQL database, this would require you to retrieve a lot of data. + +Method 1: + +* Find all the friends (~ 338 [friends](http://www.pewresearch.org/fact-tank/2014/02/03/6-new-facts-about-facebook/)). +* Find all their friends (~ 338 * 338 = 40,000 people). +* Find all the posts liked by these people over the last year (resulting set in millions). +* Intersect these posts with posts authored by person X. + +Method 2: + +* Find all posts written by popular author X over the last year (possibly thousands). +* Find all people who liked those posts (easily millions) `result set 1`. +* Find all your friends. +* Find all their friends `result set 2`. +* Intersect `result set 1` with `result set 2`. + +Both of these approaches would result in a lot of data going back and forth between database and +application; would be slow to execute, or would require you to run an offline job. + +## Dgraph +This is how it would run in Dgraph: + +* Node X contains posting list for predicate `friends`. +* Seek to caller's userid in Node X **(1 RPC)**. Retrieve a list of friend uids. +* Do multiple seeks for each of the friend uids, to generate a list of friends of friends uids. `result set 1` +* Node Y contains posting list for predicate `posts_liked`. +* Ship result set 1 to Node Y **(1 RPC)**, and do seeks to generate a list of all posts liked by +result set 1. `result set 2` +* Node Z contains posting list for predicate `author`. +* Ship result set 2 to Node Z **(1 RPC)**. Seek to author X, and generate a list of posts authored +by X. `result set 3` +* Intersect the two sorted lists, `result set 2` and `result set 3`. `result set 4` +* Node N contains names for all uids. +* Ship `result set 4` to Node N **(1 RPC)**, and convert uids to names by doing multiple seeks. `result set 5` +* Ship `result set 5` back to caller. + +In 4-5 RPCs, we have figured out all the posts liked by friends of friends, written by popular author X. + +This design allows vast scalability, and yet consistent production level latencies, +to support running complicated queries requiring deep joins. \ No newline at end of file diff --git a/wiki/content/design-concepts/raft.md b/wiki/content/design-concepts/raft.md new file mode 100644 index 00000000000..1a16fa800e7 --- /dev/null +++ b/wiki/content/design-concepts/raft.md @@ -0,0 +1,167 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "RAFT" +[menu.main] + parent = "design-concepts" + weight = 5 ++++ + + +This section aims to explain the RAFT consensus algorithm in simple terms. The idea is to give you +just enough to make you understand the basic concepts, without going into explanations about why it +works accurately. For a detailed explanation of RAFT, please read the original thesis paper by +[Diego Ongaro](https://github.com/ongardie/dissertation). + +## Term +Each election cycle is considered a **term**, during which there is a single leader +*(just like in a democracy)*. When a new election starts, the term number is increased. This is +straightforward and obvious but is a critical factor for the accuracy of the algorithm. + +In rare cases, if no leader could be elected within an `ElectionTimeout`, that term can end without +a leader. + +## Server States +Each server in cluster can be in one of the following three states: + +* Leader +* Follower +* Candidate + +Generally, the servers are in leader or follower state. When the leader crashes or the communication +breaks down, the followers will wait for election timeout before converting to candidates. The +election timeout is randomized. This would allow one of them to declare candidacy before others. +The candidate would vote for itself and wait for the majority of the cluster to vote for it as well. +If a follower hears from a candidate with a higher term than the current (*dead in this case*) leader, +it would vote for it. The candidate who gets majority votes wins the election and becomes the leader. + +The leader then tells the rest of the cluster about the result (Heartbeat +[Communication]({{< relref "#communication" >}})) and the other candidates then become followers. +Again, the cluster goes back into leader-follower model. + +A leader could revert to being a follower without an election, if it finds another leader in the +cluster with a higher [Term]({{< relref "#term" >}})). This might happen in rare cases (network partitions). + +## Communication +There is unidirectional RPC communication, from leader to followers. The followers never ping the +leader. The leader sends `AppendEntries` messages to the followers with logs containing state +updates. When the leader sends `AppendEntries` with zero logs, that's considered a +Heartbeat. Leader sends all followers Heartbeats at regular intervals. + +If a follower doesn't receive Heartbeat for `ElectionTimeout` duration (generally between +150ms to 300ms), it converts it's state to candidate (as mentioned in [Server States]({{< relref "#server-states" >}})). +It then requests for votes by sending a `RequestVote` call to other servers. Again, if it gets +majority votes, candidate becomes a leader. At becoming leader, it then sends Heartbeats +to all other servers to establish its authority *(Cartman style, "Respect my authoritah!")*. + +Every communication request contains a term number. If a server receives a request with a stale term +number, it rejects the request. + +Raft believes in retrying RPCs indefinitely. + +## Log Entries +Log Entries are numbered sequentially and contain a term number. Entry is considered **committed** if +it has been replicated to a majority of the servers. + +On receiving a client request, the leader does four things (aka Log Replication): + +* Appends and persists to its log. +* Issue `AppendEntries` in parallel to other servers. +* On majority replication, consider the entry committed and apply to its state machine. +* Notify followers that entry is committed so that they can apply it to their state machines. + +A leader never overwrites or deletes its entries. There is a guarantee that if an entry is committed, +all future leaders will have it. A leader can, however, force overwrite the followers' logs, so they +match leader's logs *(elected democratically, but got a dictator)*. + +## Voting +Each server persists its current term and vote, so it doesn't end up voting twice in the same term. +On receiving a `RequestVote` RPC, the server denies its vote if its log is more up-to-date than the +candidate. It would also deny a vote, if a minimum `ElectionTimeout` hasn't passed since the last +Heartbeat from the leader. Otherwise, it gives a vote and resets its `ElectionTimeout` timer. + +Up-to-date property of logs is determined as follows: + +* Term number comparison +* Index number or log length comparison + +{{% notice "tip" %}}To understand the above sections better, you can see this +[interactive visualization](http://thesecretlivesofdata.com/raft).{{% /notice %}} + +## Cluster membership +Raft only allows single-server changes, i.e. only one server can be added or deleted at a time. +This is achieved by cluster configuration changes. Cluster configurations are communicated using +special entries in `AppendEntries`. + +The significant difference in how cluster configuration changes are applied compared to how typical +[Log Entries]({{< relref "#log-entries" >}}) are applied is that the followers don't wait for a +commitment confirmation from the leader before enabling it. + +A server can respond to both `AppendEntries` and `RequestVote`, without checking current +configuration. This mechanism allows new servers to participate without officially being part of +the cluster. Without this feature, things won't work. + +When a new server joins, it won't have any logs, and they need to be streamed. To ensure cluster +availability, Raft allows this server to join the cluster as a non-voting member. Once it's caught +up, voting can be enabled. This also allows the cluster to remove this server in case it's too slow +to catch up, before giving voting rights *(sort of like getting a green card to allow assimilation +before citizenship is awarded providing voting rights)*. + + +{{% notice "tip" %}}If you want to add a few servers and remove a few servers, do the addition +before the removal. To bootstrap a cluster, start with one server to allow it to become the leader, +and then add servers to the cluster one-by-one.{{% /notice %}} + +## Log Compaction +One of the ways to do this is snapshotting. As soon as the state machine is synced to disk, the +logs can be discarded. + +Snapshots are taken by default after 10000 Raft entries. This number can be adjusted using the +`dgraph alpha --snapshot_after` flag. + +## Clients +Clients must locate the cluster to interact with it. Various approaches can be used for discovery. + +A client can randomly pick up any server in the cluster. If the server isn't a leader, the request +should be rejected, and the leader information passed along. The client can then re-route it's query +to the leader. Alternatively, the server can proxy the client's request to the leader. + +When a client first starts up, it can register itself with the cluster using `RegisterClient` RPC. +This creates a new client id, which is used for all subsequent RPCs. + +## Linearizable Semantics + +Servers must filter out duplicate requests. They can do this via session tracking where they use +the client id and another request UID set by the client to avoid reprocessing duplicate requests. +RAFT also suggests storing responses along with the request UIDs to reply back in case it receives +a duplicate request. + +Linearizability requires the results of a read to reflect the latest committed write. +Serializability, on the other hand, allows stale reads. + +## Read-only queries + +To ensure linearizability of read-only queries run via leader, leader must take these steps: + +* Leader must have at least one committed entry in its term. This would allow for up-to-dated-ness. +*(C'mon! Now that you're in power do something at least!)* +* Leader stores it's latest commit index. +* Leader sends Heartbeats to the cluster and waits for ACK from majority. Now it knows +that it's the leader. *(No successful coup. Yup, still the democratically elected dictator I was before!)* +* Leader waits for its state machine to advance to readIndex. +* Leader can now run the queries against state machine and reply to clients. + +Read-only queries can also be serviced by followers to reduce the load on the leader. But this +could lead to stale results unless the follower confirms that its leader is the real leader(network partition). +To do so, it would have to send a query to the leader, and the leader would have to do steps 1-3. +Then the follower can do 4-5. + +Read-only queries would have to be batched up, and then RPCs would have to go to the leader for each +batch, who in turn would have to send further RPCs to the whole cluster. *(This is not scalable +without considerable optimizations to deal with latency.)* + +**An alternative approach** would be to have the servers return the index corresponding to their +state machine. The client can then keep track of the maximum index it has received from replies so far. +And pass it along to the server for the next request. If a server's state machine hasn't reached the +index provided by the client, it will not service the request. This approach avoids inter-server +communication and is a lot more scalable. *(This approach does not guarantee linearizability, but +should converge quickly to the latest write.)* diff --git a/wiki/content/design-concepts/transactions-faq.md b/wiki/content/design-concepts/transactions-faq.md new file mode 100644 index 00000000000..06319983809 --- /dev/null +++ b/wiki/content/design-concepts/transactions-faq.md @@ -0,0 +1,22 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Transactions: FAQ" +[menu.main] + parent = "design-concepts" + weight = 1 ++++ + +Dgraph supports distributed ACID transactions through snapshot isolation. + +## Can we do pre-writes only on leaders? + +Seems like a good idea, but has bad implications. If we only do a prewrite +in-memory, only on leader, then this prewrite wouldn't make it to the Raft log, +or disk; but would be considered successful. + +Then zero could mark the transaction as committed; but this leader could go +down, or leadership could change. In such a case, we'd end up losing the +transaction altogether despite it having been considered committed. + +Therefore, pre-writes do have to make it to disk. And if so, better to propose +them in a Raft group. \ No newline at end of file diff --git a/wiki/content/dgraph-compared-to-other-databases/_index.md b/wiki/content/dgraph-compared-to-other-databases/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/dgraph-compared-to-other-databases/index.md b/wiki/content/dgraph-compared-to-other-databases/index.md index 5cd1c0c77fb..eb3c063ac59 100644 --- a/wiki/content/dgraph-compared-to-other-databases/index.md +++ b/wiki/content/dgraph-compared-to-other-databases/index.md @@ -1,5 +1,9 @@ +++ title = "Dgraph compared to other databases" +[menu.main] + url = "/dgraph-compared-to-other-databases/" + identifier = "dgraph-compared-to-other-databases" + weight = 13 +++ This page attempts to draw a comparison between Dgraph and other popular graph databases/datastores. The summaries that follow are brief descriptions that may help a person decide if Dgraph will suit their needs. @@ -22,7 +26,7 @@ Graph databases optimize internal data representation to be able to do graph ope ### Language -Dgraph supports [GraphQL+-]({{< relref "query-language/index.md#graphql">}}), +Dgraph supports [GraphQL+-]({{< relref "query-language/_index.md#graphql">}}), a variation of [GraphQL](https://graphql.org/), a query language created by Facebook. GraphQL+-, as GraphQL itself, allows results to be produced as subgraph rather than lists. diff --git a/wiki/content/enterprise-features/_index.md b/wiki/content/enterprise-features/_index.md index e69de29bb2d..f3d4b9d741f 100644 --- a/wiki/content/enterprise-features/_index.md +++ b/wiki/content/enterprise-features/_index.md @@ -0,0 +1,8 @@ ++++ +date = "2017-03-20T19:35:35+11:00" +title = "Enterprise Features" +[menu.main] + url = "/enterprise-features/" + identifier = "enterprise-features" + weight = 9 ++++ \ No newline at end of file diff --git a/wiki/content/enterprise-features/access-control-lists.md b/wiki/content/enterprise-features/access-control-lists.md new file mode 100644 index 00000000000..1289ed54f48 --- /dev/null +++ b/wiki/content/enterprise-features/access-control-lists.md @@ -0,0 +1,476 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Access Control Lists" +[menu.main] + parent = "enterprise-features" + weight = 2 ++++ + +{{% notice "note" %}} +This feature was introduced in [v1.1.0](https://github.com/dgraph-io/dgraph/releases/tag/v1.1.0). +The Dgraph ACL tool is deprecated and would be removed in the next release. ACL changes can be made by using the `/admin` GraphQL endpoint on any Alpha node. +{{% /notice %}} + +Access Control List (ACL) provides access protection to your data stored in +Dgraph. When the ACL feature is turned on, a client, e.g. dgo or dgraph4j, must +authenticate with a username and password before executing any transactions, and +is only allowed to access the data permitted by the ACL rules. + +This document has two parts: first we will talk about the admin operations +needed for setting up ACL; then we will explain how to use a client to access +the data protected by ACL rules. + +## Turn on ACLs + +The ACL Feature can be turned on by following these steps + +1. Since ACL is an enterprise feature, make sure your use case is covered under +a contract with Dgraph Labs Inc. You can contact us by sending an email to +[contact@dgraph.io](mailto:contact@dgraph.io) or post your request at [our discuss +forum](https://discuss.dgraph.io) to get an enterprise license. + +2. Create a plain text file, and store a randomly generated secret key in it. The secret +key is used by Alpha servers to sign JSON Web Tokens (JWT). As you’ve probably guessed, +it’s critical to keep the secret key as a secret. Another requirement for the secret key +is that it must have at least 256-bits, i.e. 32 ASCII characters, as we are using +HMAC-SHA256 as the signing algorithm. + +3. Start all the alpha servers in your cluster with the option `--acl_secret_file`, and +make sure they are all using the same secret key file created in Step 2. + +Here is an example that starts one zero server and one alpha server with the ACL feature turned on: + +```bash +dgraph zero --my=localhost:5080 --replicas 1 --idx 1 --bindall --expose_trace --profile_mode block --block_rate 10 --logtostderr -v=2 +dgraph alpha --my=localhost:7080 --lru_mb=1024 --zero=localhost:5080 --logtostderr -v=3 --acl_secret_file ./hmac-secret +``` + +If you are using docker-compose, a sample cluster can be set up by: + +1. `cd $GOPATH/src/github.com/dgraph-io/dgraph/compose/` +2. `make` +3. `./compose -e --acl_secret `, after which a `docker-compose.yml` file will be generated. +4. `docker-compose up` to start the cluster using the `docker-compose.yml` generated above. + +## Set up ACL Rules + +Now that your cluster is running with the ACL feature turned on, you can set up the ACL rules. This can be done using the web UI Ratel or by using a GraphQL tool which fires the mutations. Execute the following mutations using a GraphQL tool like Insomnia, GraphQL Playground or GraphiQL. + +A typical workflow is the following: + +1. Reset the root password +2. Create a regular user +3. Create a group +4. Assign the user to the group +5. Assign predicate permissions to the group + +### Using GraphQL Admin API +{{% notice "note" %}} +All these mutations require passing an `X-Dgraph-AccessToken` header, value for which can be obtained after logging in. +{{% /notice %}} + +1) Reset the root password. The example below uses the dgraph endpoint `localhost:8080/admin`as a demo, make sure to choose the correct IP and port for your environment: +```graphql +mutation { + updateUser(input: {filter: {name: {eq: "groot"}}, set: {password: "newpassword"}}) { + user { + name + } + } +} +``` +The default password is `password`. `groot` is part of a special group called `guardians`. Members of `guardians` group will have access to everything. You can add more users to this group if required. + +2) Create a regular user + +```graphql +mutation { + addUser(input: [{name: "alice", password: "newpassword"}]) { + user { + name + } + } +} +``` + +Now you should see the following output + +```json +{ + "data": { + "addUser": { + "user": [ + { + "name": "alice" + } + ] + } + } +} +``` + +3) Create a group + +```graphql +mutation { + addGroup(input: [{name: "dev"}]) { + group { + name + users { + name + } + } + } +} +``` + +Now you should see the following output + +```json +{ + "data": { + "addGroup": { + "group": [ + { + "name": "dev", + "users": [] + } + ] + } + } +} +``` + +4) Assign the user to the group +To assign the user `alice` to both the group `dev` and the group `sre`, the mutation should be + +```graphql +mutation { + updateUser(input: {filter: {name: {eq: "alice"}}, set: {groups: [{name: "dev"}, {name: "sre"}]}}) { + user { + name + groups { + name + } + } + } +} +``` + +5) Assign predicate permissions to the group + +```graphql +mutation { + updateGroup(input: {filter: {name: {eq: "dev"}}, set: {rules: [{predicate: "friend", permission: 7}]}}) { + group { + name + rules { + permission + predicate + } + } + } +} +``` + +Here we assigned a permission rule for the friend predicate to the group. In case you have [reverse edges]({{< relref "query-language/schema.md#reverse-edges" >}}), they have to be given the permission to the group as well +```graphql +mutation { + updateGroup(input: {filter: {name: {eq: "dev"}}, set: {rules: [{predicate: "~friend", permission: 7}]}}) { + group { + name + rules { + permission + predicate + } + } + } +} +``` +You can also resolve this by using the `dgraph acl` tool +``` +dgraph acl -a -w -x mod --group dev --pred ~friend --perm 7 +``` + +The command above grants the `dev` group the `READ`+`WRITE`+`MODIFY` permission on the +`friend` predicate. Permissions are represented by a number following the UNIX file +permission convention. That is, 4 (binary 100) represents `READ`, 2 (binary 010) +represents `WRITE`, and 1 (binary 001) represents `MODIFY` (the permission to change a +predicate's schema). Similarly, permisson numbers can be bitwise OR-ed to represent +multiple permissions. For example, 7 (binary 111) represents all of `READ`, `WRITE` and +`MODIFY`. In order for the example in the next section to work, we also need to grant +full permissions on another predicate `name` to the group `dev`. If there are no rules for +a predicate, the default behavior is to block all (`READ`, `WRITE` and `MODIFY`) operations. + +```graphql +mutation { + updateGroup(input: {filter: {name: {eq: "dev"}}, set: {rules: [{predicate: "name", permission: 7}]}}) { + group { + name + rules { + permission + predicate + } + } + } +} +``` + +## Retrieve Users and Groups Information +{{% notice "note" %}} +All these queries require passing an `X-Dgraph-AccessToken` header, value for which can be obtained after logging in. +{{% /notice %}} +The following examples show how to retrieve information about users and groups. + +### Using a GraphQL tool + +1) Check information about a user + +```graphql +query { + getUser(name: "alice") { + name + groups { + name + } + } +} +``` + +and the output should show the groups that the user has been added to, e.g. + +```json +{ + "data": { + "getUser": { + "name": "alice", + "groups": [ + { + "name": "dev" + } + ] + } + } +} +``` + +2) Check information about a group + +```graphql +{ + getGroup(name: "dev") { + name + users { + name + } + rules { + permission + predicate + } + } +} +``` + +and the output should include the users in the group, as well as the permissions, the +group's ACL rules, e.g. + +```json +{ + "data": { + "getGroup": { + "name": "dev", + "users": [ + { + "name": "alice" + } + ], + "rules": [ + { + "permission": 7, + "predicate": "friend" + }, + { + "permission": 7, + "predicate": "name" + } + ] + } + } +} +``` + +3) Query for users + +```graphql +query { + queryUser(filter: {name: {eq: "alice"}}) { + name + groups { + name + } + } +} +``` + +and the output should show the groups that the user has been added to, e.g. + +```json +{ + "data": { + "queryUser": [ + { + "name": "alice", + "groups": [ + { + "name": "dev" + } + ] + } + ] + } +} +``` + +4) Query for groups + +```graphql +query { + queryGroup(filter: {name: {eq: "dev"}}) { + name + users { + name + } + rules { + permission + predicate + } + } +} +``` + +and the output should include the users in the group, as well as the permissions the +group's ACL rules, e.g. + +```json +{ + "data": { + "queryGroup": [ + { + "name": "dev", + "users": [ + { + "name": "alice" + } + ], + "rules": [ + { + "permission": 7, + "predicate": "friend" + }, + { + "permission": 7, + "predicate": "name" + } + ] + } + ] + } +} +``` + +5) Run ACL commands as another guardian (member of `guardians` group). + +You can also run ACL commands with other users. Say we have a user `alice` which is member +of `guardians` group and its password is `simple_alice`. + +## Access Data Using a Client + +Now that the ACL data are set, to access the data protected by ACL rules, we need to +first log in through a user. This is tyically done via the client's `.login(USER_ID, USER_PASSWORD)` method. + +A sample code using the dgo client can be found +[here](https://github.com/dgraph-io/dgraph/blob/master/tlstest/acl/acl_over_tls_test.go). An example using +dgraph4j can be found [here](https://github.com/dgraph-io/dgraph4j/blob/master/src/test/java/io/dgraph/AclTest.java). + +## Access Data Using the GraphQL API + +Dgraph's HTTP API also supports authenticated operations to access ACL-protected +data. + +To login, send a POST request to `/admin` with the GraphQL mutation. For example, to log in as the root user groot: + +```graphql +mutation { + login(userId: "groot", password: "password") { + response { + accessJWT + refreshJWT + } + } +} +``` + +Response: + +```json +{ + "data": { + "accessJWT": "", + "refreshJWT": "" + } +} +``` + +The response includes the access and refresh JWTs which are used for the authentication itself and refreshing the authentication token, respectively. Save the JWTs from the response for later HTTP requests. + +You can run authenticated requests by passing the accessJWT to a request via the `X-Dgraph-AccessToken` header. Add the header `X-Dgraph-AccessToken` with the `accessJWT` value which you got in the login response in the GraphQL tool which you're using to make the request. For example: + +```graphql +mutation { + addUser(input: [{name: "alice", password: "newpassword"}]) { + user { + name + } + } +} +``` + +The refresh token can be used in the `/admin` POST GraphQL mutation to receive new access and refresh JWTs, which is useful to renew the authenticated session once the ACL access TTL expires (controlled by Dgraph Alpha's flag `--acl_access_ttl` which is set to 6h0m0s by default). + +```graphql +mutation { + login(userId: "groot", password: "newpassword", refreshToken: "") { + response { + accessJWT + refreshJWT + } + } +} +``` + +## Reset Groot Password + +If you've forgotten the password to your groot user, then you may reset the groot password (or +the password for any user) by following these steps. + +1. Stop Dgraph Alpha. +2. Turn off ACLs by removing the `--acl_hmac_secret` config flag in the Alpha config. This leaves + the Alpha open with no ACL rules, so be sure to restrict access, including stopping request + traffic to this Alpha. +3. Start Dgraph Alpha. +4. Connect to Dgraph Alpha using Ratel and run the following upsert mutation to update the groot password + to `newpassword` (choose your own secure password): + ```text + upsert { + query { + groot as var(func: eq(dgraph.xid, "groot")) + } + mutation { + set { + uid(groot) "newpassword" . + } + } + } + ``` +5. Restart Dgraph Alpha with ACLs turned on by setting the `--acl_hmac_secret` config flag. +6. Login as groot with your new password. \ No newline at end of file diff --git a/wiki/content/enterprise-features/binary-backups.md b/wiki/content/enterprise-features/binary-backups.md new file mode 100644 index 00000000000..68f86935146 --- /dev/null +++ b/wiki/content/enterprise-features/binary-backups.md @@ -0,0 +1,316 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Binary Backups" +[menu.main] + parent = "enterprise-features" + weight = 1 ++++ + +{{% notice "note" %}} +This feature was introduced in [v1.1.0](https://github.com/dgraph-io/dgraph/releases/tag/v1.1.0). +{{% /notice %}} + +Binary backups are full backups of Dgraph that are backed up directly to cloud +storage such as Amazon S3 or any Minio storage backend. Backups can also be +saved to an on-premise network file system shared by all alpha instances. These +backups can be used to restore a new Dgraph cluster to the previous state from +the backup. Unlike [exports]({{< relref "deploy/dgraph-administration.md#exporting-database" >}}), +binary backups are Dgraph-specific and can be used to restore a cluster quickly. + + +## Configure Backup + +Backup is only enabled when a valid license file is supplied to a Zero server OR within the thirty +(30) day trial period, no exceptions. + + +### Configure Amazon S3 Credentials + +To backup to Amazon S3, the Alpha must have the following AWS credentials set +via environment variables: + + Environment Variable | Description + -------------------- | ----------- + `AWS_ACCESS_KEY_ID` or `AWS_ACCESS_KEY` | AWS access key with permissions to write to the destination bucket. + `AWS_SECRET_ACCESS_KEY` or `AWS_SECRET_KEY` | AWS access key with permissions to write to the destination bucket. + `AWS_SESSION_TOKEN` | AWS session token (if required). + + +### Configure Minio Credentials + +To backup to Minio, the Alpha must have the following Minio credentials set via +environment variables: + + Environment Variable | Description + -------------------- | ----------- + `MINIO_ACCESS_KEY` | Minio access key with permissions to write to the destination bucket. + `MINIO_SECRET_KEY` | Minio secret key with permissions to write to the destination bucket. + + +## Create a Backup + +To create a backup, make an HTTP POST request to `/admin` to a Dgraph +Alpha HTTP address and port (default, "localhost:8080"). Like with all `/admin` +endpoints, this is only accessible on the same machine as the Alpha unless +[whitelisted for admin operations]({{< relref "deploy/dgraph-administration.md#whitelisting-admin-operations" >}}). +Execute the following mutation on /admin endpoint using any GraphQL compatible client like Insomnia, GraphQL Playground or GraphiQL. + + +### Backup to Amazon S3 + +```graphql +mutation { + backup(input: {destination: "s3://s3.us-west-2.amazonaws.com/"}) { + response { + message + code + } + } +} +``` + + +### Backup to Minio + +```graphql +mutation { + backup(input: {destination: "minio://127.0.0.1:9000/"}) { + response { + message + code + } + } +} +``` + + + +### Backup to Minio + + +### Backup to Google Cloud Storage via Minio Gateway + +1. [Create a Service Account key](https://github.com/minio/minio/blob/master/docs/gateway/gcs.md#11-create-a-service-account-ey-for-gcs-and-get-the-credentials-file) for GCS and get the Credentials File +2. Run MinIO GCS Gateway Using Docker +``` +docker run -p 9000:9000 --name gcs-s3 \ + -v /path/to/credentials.json:/credentials.json \ + -e "GOOGLE_APPLICATION_CREDENTIALS=/credentials.json" \ + -e "MINIO_ACCESS_KEY=minioaccountname" \ + -e "MINIO_SECRET_KEY=minioaccountkey" \ + minio/minio gateway gcs yourprojectid +``` +3. Run MinIO GCS Gateway Using the MinIO Binary +``` +export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json +export MINIO_ACCESS_KEY=minioaccesskey +export MINIO_SECRET_KEY=miniosecretkey +minio gateway gcs yourprojectid +``` + +### Test Using MinIO Browser +MinIO Gateway comes with an embedded web-based object browser that outputs content to http://127.0.0.1:9000. To test that MinIO Gateway is running, open a web browser, navigate to http://127.0.0.1:9000, and ensure that the object browser is displayed. +![](https://github.com/minio/minio/blob/master/docs/screenshots/minio-browser-gateway.png?raw=true) + + +### Test Using MinIO Client + +MinIO Client is a command-line tool called mc that provides UNIX-like commands for interacting with the server (e.g. ls, cat, cp, mirror, diff, find, etc.). mc supports file systems and Amazon S3-compatible cloud storage services (AWS Signature v2 and v4). +MinIO Client is a command-line tool called mc that provides UNIX-like commands for interacting with the server (e.g. ls, cat, cp, diff, find, etc.). mc supports file systems and Amazon S3-compatible cloud storage services (AWS Signature v2 and v4). + +1. Configure the Gateway using MinIO Client + +Use the following command to configure the gateway: +``` +mc config host add mygcs http://gateway-ip:9000 minioaccesskey miniosecretkey +``` + +2. List Containers on GCS + +Use the following command to list the containers on GCS: + +``` +mc ls mygcs +``` +A response similar to this one should be displayed: + +``` +[2017-02-22 01:50:43 PST] 0B ferenginar/ +[2017-02-26 21:43:51 PST] 0B my-container/ +[2017-02-26 22:10:11 PST] 0B test-container1/ +``` + + +### Disabling HTTPS for S3 and Minio backups + +By default, Dgraph assumes the destination bucket is using HTTPS. If that is not +the case, the backup will fail. To send a backup to a bucket using HTTP +(insecure), set the query parameter `secure=false` with the destination +endpoint in the `destination` field: + +```graphql +mutation { + backup(input: {destination: "minio://127.0.0.1:9000/?secure=false"}) { + response { + message + code + } + } +} +``` + + +### Overriding Credentials + +The `accessKey`, `secretKey`, and `sessionToken` parameters can be used to +override the default credentials. Please note that unless HTTPS is used, the +credentials will be transmitted in plain text so use these parameters with +discretion. The environment variables should be used by default but these +options are there to allow for greater flexibility. + +The `anonymous` parameter can be set to "true" to a allow backing up to S3 or +Minio bucket that requires no credentials (i.e a public bucket). + + +### Backup to NFS + +```graphql +mutation { + backup(input: {destination: "/path/to/local/directory"}) { + response { + message + code + } + } +} +``` + +A local filesystem will work only if all the Alphas have access to it (e.g all +the Alphas are running on the same filesystems as a normal process, not a Docker +container). However, a NFS is recommended so that backups work seamlessly across +multiple machines and/or containers. + + +### Forcing a Full Backup + +By default, an incremental backup will be created if there's another full backup +in the specified location. To create a full backup, set the `forceFull` field +to `true` in the mutation. Each series of backups can be +identified by a unique ID and each backup in the series is assigned a +monotonically increasing number. The following section contains more details on +how to restore a backup series. +```graphql +mutation { + backup(input: {destination: "/path/to/local/directory", forceFull: true}) { + response { + message + code + } + } +} +``` + + +## Encrypted Backups + +Encrypted backups are a Enterprise feature that are available from v20.03.1 and v1.2.3 and allow you to encrypt your backups and restore them. This documentation describes how to implement encryption into your binary backups + + +## New flag “Encrypted” in manifest.json + +A new flag “Encrypted” is added to the `manifest.json`. This flag indicates if the corresponding binary backup is encrypted or not. To be backward compatible, if this flag is absent, it is presumed that the corresponding backup is not encrypted. + +For a series of full and incremental backups, per the current design, we don't allow mixing of encrypted and unencrypted backups. As a result, all full and incremental backups in a series must either be encrypted fully or not at all. This flag helps with checking this restriction. + + +## AES And Chaining with Gzip + +If encryption is turned on an alpha, then we use the configured encryption key. The key size (16, 24, 32 bytes) determines AES-128/192/256 cipher chosen. We use the AES CTR mode. Currently, the binary backup is already gzipped. With encryption, we will encrypt the gzipped data. + +During **backup**: the 16 bytes IV is prepended to the Cipher-text data after encryption. + + +## Backup + +Backup is an online tool, meaning it is available when alpha is running. For encrypted backups, the alpha must be configured with the “encryption_key_file”. + +{{% notice "note" %}} +encryption_key_file was used for encryption-at-rest and will now also be used for encrypted backups. +{{% /notice %}} + +The restore utility is a standalone tool today. Hence, a new flag “keyfile” is added to the restore utility so it can decrypt the backup. This keyfile must be the same key that was used for encryption during backup. + + +## Restore from Backup + +The `dgraph restore` command restores the postings directory from a previously +created backup to a directory in the local filesystem. Restore is intended to +restore a backup to a new Dgraph cluster not a currently live one. During a +restore, a new Dgraph Zero may be running to fully restore the backup state. + +The `--location` (`-l`) flag specifies a source URI with Dgraph backup objects. +This URI supports all the schemes used for backup. + +The `--postings` (`-p`) flag sets the directory to which the restored posting +directories will be saved. This directory will contain a posting directory for +each group in the restored backup. + +The `--zero` (`-z`) flag specifies a Dgraph Zero address to update the start +timestamp and UID lease using the restored version. If no zero address is +passed, the command will complain unless you set the value of the +`--force_zero` flag to false. If do not pass a zero value to this command, +the timestamp and UID lease must be manually updated through Zero's HTTP +'assign' endpoint using the values printed near the end of the command's output. + +The `--backup_id` optional flag specifies the ID of the backup series to +restore. A backup series consists of a full backup and all the incremental +backups built on top of it. Each time a new full backup is created, a new backup +series with a different ID is started. The backup series ID is stored in each +`manifest.json` file stored in every backup folder. + +The `--encryption_key_file` flag is required if you took the backup in an +encrypted cluster and should point to the location of the same key used to +run the cluster. + +The restore feature will create a cluster with as many groups as the original +cluster had at the time of the last backup. For each group, `dgraph restore` +creates a posting directory `p` corresponding to the backup group ID. For +example, a backup for Alpha group 2 would have the name `.../r32-g2.backup` +and would be loaded to posting directory `p2`. + +After running the restore command, the directories inside the `postings` +directory need to be manually copied over to the machines/containers running the +alphas before running the `dgraph alpha` command. For example, in a database +cluster with two Alpha groups and one replica each, `p1` needs to be moved to +the location of the first Alpha and `p2` needs to be moved to the location of +the second Alpha. + +By default, Dgraph will look for a posting directory with the name `p`, so make +sure to rename the directories after moving them. You can also use the `-p` +option of the `dgraph alpha` command to specify a different path from the default. + + +### Restore from Amazon S3 +```sh +$ dgraph restore -p /var/db/dgraph -l s3://s3.us-west-2.amazonaws.com/ +``` + + +### Restore from Minio +```sh +$ dgraph restore -p /var/db/dgraph -l minio://127.0.0.1:9000/ +``` + + +### Restore from Local Directory or NFS +```sh +$ dgraph restore -p /var/db/dgraph -l /var/backups/dgraph +``` + + +### Restore and Update Timestamp + +Specify the Zero address and port for the new cluster with `--zero`/`-z` to update the timestamp. +```sh +$ dgraph restore -p /var/db/dgraph -l /var/backups/dgraph -z localhost:5080 +``` \ No newline at end of file diff --git a/wiki/content/enterprise-features/encryption-at-rest.md b/wiki/content/enterprise-features/encryption-at-rest.md new file mode 100644 index 00000000000..b0f5d744c8a --- /dev/null +++ b/wiki/content/enterprise-features/encryption-at-rest.md @@ -0,0 +1,79 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Encryption at Rest" +[menu.main] + parent = "enterprise-features" + weight = 3 ++++ + +{{% notice "note" %}} +This feature was introduced in [v1.1.1](https://github.com/dgraph-io/dgraph/releases/tag/v1.1.1). +For migrating unencrypted data to a new Dgraph cluster with encryption enabled, you need to +[export the database](https://dgraph.io/docs/deploy/#exporting-database) and [fast data load](https://dgraph.io/docs/deploy/#fast-data-loading), +preferably using the [bulk loader](https://dgraph.io/docs/deploy/#bulk-loader). +{{% /notice %}} + +Encryption at rest refers to the encryption of data that is stored physically in any +digital form. It ensures that sensitive data on disks is not readable by any user +or application without a valid key that is required for decryption. Dgraph provides +encryption at rest as an enterprise feature. If encryption is enabled, Dgraph uses +[Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) +algorithm to encrypt the data and secure it. + +## Set up Encryption + +To enable encryption, we need to pass a file that stores the data encryption key with the option +`--encryption_key_file`. The key size must be 16, 24, or 32 bytes long, and the key size determines +the corresponding block size for AES encryption ,i.e. AES-128, AES-192, and AES-256, respectively. + +You can use the following command to create the encryption key file (set _count_ to the +desired key size): + +``` +dd if=/dev/random bs=1 count=32 of=enc_key_file +``` + +## Turn on Encryption + +Here is an example that starts one Zero server and one Alpha server with the encryption feature turned on: + +```bash +dgraph zero --my=localhost:5080 --replicas 1 --idx 1 +dgraph alpha --encryption_key_file ./enc_key_file --my=localhost:7080 --lru_mb=1024 --zero=localhost:5080 +``` + +If multiple Alpha nodes are part of the cluster, you will need to pass the `--encryption_key_file` option to +each of the Alphas. + +Once an Alpha has encryption enabled, the encryption key must be provided in order to start the Alpha server. +If the Alpha server restarts, the `--encryption_key_file` option must be set along with the key in order to +restart successfully. + +## Turn off Encryption + +If you wish to turn off encryption from an existing Alpha, then you can export your data and import it +into a new Dgraph instance without encryption enabled. + +## Change Encryption Key + +The master encryption key set by the `--encryption_key_file` option does not change automatically. The master +encryption key encrypts underlying *data keys* which are changed on a regular basis automatically (more info +about this is covered on the encryption-at-rest [blog][encblog] post). + +[encblog]: https://dgraph.io/blog/post/encryption-at-rest-dgraph-badger#one-key-to-rule-them-all-many-keys-to-find-them + +Changing the existing key to a new one is called key rotation. You can rotate the master encryption key by +using the `badger rotate` command on both p and w directories for each Alpha. To maintain availability in HA +cluster configurations, you can do this rotate the key one Alpha at a time in a rolling manner. + +You'll need both the current key and the new key in two different files. Specify the directory you +rotate ("p" or "w") for the `--dir` flag, the old key for the `--old-key-path` flag, and the new key with the +`--new-key-path` flag. + +``` +badger rotate --dir p --old-key-path enc_key_file --new-key-path new_enc_key_file +badger rotate --dir w --old-key-path enc_key_file --new-key-path new_enc_key_file +``` + +Then, you can start Alpha with the `new_enc_key_file` key file to use the new key. + diff --git a/wiki/content/enterprise-features/index.md b/wiki/content/enterprise-features/index.md deleted file mode 100644 index 183a7a1276f..00000000000 --- a/wiki/content/enterprise-features/index.md +++ /dev/null @@ -1,960 +0,0 @@ -+++ -date = "2017-03-20T19:35:35+11:00" -title = "Enterprise Features" -+++ - -Dgraph enterprise features are proprietary licensed under the [Dgraph Community -License][dcl]. All Dgraph releases contain proprietary code for enterprise features. -Enabling these features requires an enterprise contract from -[contact@dgraph.io](mailto:contact@dgraph.io) or the [discuss -community](https://discuss.dgraph.io). - -**Dgraph enterprise features are enabled by default for 30 days in a new cluster**. -After the trial period of thirty (30) days, the cluster must obtain a license from Dgraph to -continue using the enterprise features released in the proprietary code. - -{{% notice "note" %}} -At the conclusion of your 30-day trial period if a license has not been applied to the cluster, -access to the enterprise features will be suspended. The cluster will continue to operate without -enterprise features. -{{% /notice %}} - -When you have an enterprise license key, the license can be applied to the cluster by including it -as the body of a POST request and calling `/enterpriseLicense` HTTP endpoint on the leader Zero server. - -```sh -curl -X POST localhost:6080/enterpriseLicense --upload-file ./licensekey.txt -``` - -It can also be applied by passing the path to the enterprise license file (using the flag -`--enterprise_license`) to the `dgraph zero` command used to start the server. The second option is -useful when the process needs to be automated. - -```sh -dgraph zero --enterprise_license ./licensekey.txt -``` - -[dcl]: https://github.com/dgraph-io/dgraph/blob/master/licenses/DCL.txt - -## Binary Backups - -{{% notice "note" %}} -This feature was introduced in [v1.1.0](https://github.com/dgraph-io/dgraph/releases/tag/v1.1.0). -{{% /notice %}} - -Binary backups are full backups of Dgraph that are backed up directly to cloud -storage such as Amazon S3 or any Minio storage backend. Backups can also be -saved to an on-premise network file system shared by all alpha instances. These -backups can be used to restore a new Dgraph cluster to the previous state from -the backup. Unlike [exports]({{< relref "deploy/index.md#exporting-database" >}}), -binary backups are Dgraph-specific and can be used to restore a cluster quickly. - -### Configure Backup - -Backup is only enabled when a valid license file is supplied to a Zero server OR within the thirty -(30) day trial period, no exceptions. - -#### Configure Amazon S3 Credentials - -To backup to Amazon S3, the Alpha must have the following AWS credentials set -via environment variables: - - Environment Variable | Description - -------------------- | ----------- - `AWS_ACCESS_KEY_ID` or `AWS_ACCESS_KEY` | AWS access key with permissions to write to the destination bucket. - `AWS_SECRET_ACCESS_KEY` or `AWS_SECRET_KEY` | AWS access key with permissions to write to the destination bucket. - `AWS_SESSION_TOKEN` | AWS session token (if required). - -#### Configure Minio Credentials - -To backup to Minio, the Alpha must have the following Minio credentials set via -environment variables: - - Environment Variable | Description - -------------------- | ----------- - `MINIO_ACCESS_KEY` | Minio access key with permissions to write to the destination bucket. - `MINIO_SECRET_KEY` | Minio secret key with permissions to write to the destination bucket. - -### Create a Backup - -To create a backup, make an HTTP POST request to `/admin` to a Dgraph -Alpha HTTP address and port (default, "localhost:8080"). Like with all `/admin` -endpoints, this is only accessible on the same machine as the Alpha unless -[whitelisted for admin operations]({{< relref "deploy/index.md#whitelisting-admin-operations" >}}). -Execute the following mutation on /admin endpoint using any GraphQL compatible client like Insomnia, GraphQL Playground or GraphiQL. - -#### Backup to Amazon S3 - -```graphql -mutation { - backup(input: {destination: "s3://s3.us-west-2.amazonaws.com/"}) { - response { - message - code - } - } -} -``` - -#### Backup to Minio - -```graphql -mutation { - backup(input: {destination: "minio://127.0.0.1:9000/"}) { - response { - message - code - } - } -} -``` - - -#### Backup to Minio - -#### Backup to Google Cloud Storage via Minio Gateway - -1. [Create a Service Account key](https://github.com/minio/minio/blob/master/docs/gateway/gcs.md#11-create-a-service-account-ey-for-gcs-and-get-the-credentials-file) for GCS and get the Credentials File -2. Run MinIO GCS Gateway Using Docker -``` -docker run -p 9000:9000 --name gcs-s3 \ - -v /path/to/credentials.json:/credentials.json \ - -e "GOOGLE_APPLICATION_CREDENTIALS=/credentials.json" \ - -e "MINIO_ACCESS_KEY=minioaccountname" \ - -e "MINIO_SECRET_KEY=minioaccountkey" \ - minio/minio gateway gcs yourprojectid -``` -3. Run MinIO GCS Gateway Using the MinIO Binary -``` -export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json -export MINIO_ACCESS_KEY=minioaccesskey -export MINIO_SECRET_KEY=miniosecretkey -minio gateway gcs yourprojectid -``` -#### Test Using MinIO Browser -MinIO Gateway comes with an embedded web-based object browser that outputs content to http://127.0.0.1:9000. To test that MinIO Gateway is running, open a web browser, navigate to http://127.0.0.1:9000, and ensure that the object browser is displayed. -![](https://github.com/minio/minio/blob/master/docs/screenshots/minio-browser-gateway.png?raw=true) - -#### Test Using MinIO Client - -MinIO Client is a command-line tool called mc that provides UNIX-like commands for interacting with the server (e.g. ls, cat, cp, mirror, diff, find, etc.). mc supports file systems and Amazon S3-compatible cloud storage services (AWS Signature v2 and v4). -MinIO Client is a command-line tool called mc that provides UNIX-like commands for interacting with the server (e.g. ls, cat, cp, diff, find, etc.). mc supports file systems and Amazon S3-compatible cloud storage services (AWS Signature v2 and v4). - -1. Configure the Gateway using MinIO Client - -Use the following command to configure the gateway: -``` -mc config host add mygcs http://gateway-ip:9000 minioaccesskey miniosecretkey -``` - -2. List Containers on GCS - -Use the following command to list the containers on GCS: - -``` -mc ls mygcs -``` -A response similar to this one should be displayed: - -``` -[2017-02-22 01:50:43 PST] 0B ferenginar/ -[2017-02-26 21:43:51 PST] 0B my-container/ -[2017-02-26 22:10:11 PST] 0B test-container1/ -``` - -#### Disabling HTTPS for S3 and Minio backups - -By default, Dgraph assumes the destination bucket is using HTTPS. If that is not -the case, the backup will fail. To send a backup to a bucket using HTTP -(insecure), set the query parameter `secure=false` with the destination -endpoint in the `destination` field: - -```graphql -mutation { - backup(input: {destination: "minio://127.0.0.1:9000/?secure=false"}) { - response { - message - code - } - } -} -``` - -#### Overriding Credentials - -The `accessKey`, `secretKey`, and `sessionToken` parameters can be used to -override the default credentials. Please note that unless HTTPS is used, the -credentials will be transmitted in plain text so use these parameters with -discretion. The environment variables should be used by default but these -options are there to allow for greater flexibility. - -The `anonymous` parameter can be set to "true" to a allow backing up to S3 or -Minio bucket that requires no credentials (i.e a public bucket). - -#### Backup to NFS - -```graphql -mutation { - backup(input: {destination: "/path/to/local/directory"}) { - response { - message - code - } - } -} -``` - -A local filesystem will work only if all the Alphas have access to it (e.g all -the Alphas are running on the same filesystems as a normal process, not a Docker -container). However, a NFS is recommended so that backups work seamlessly across -multiple machines and/or containers. - -#### Forcing a Full Backup - -By default, an incremental backup will be created if there's another full backup -in the specified location. To create a full backup, set the `forceFull` field -to `true` in the mutation. Each series of backups can be -identified by a unique ID and each backup in the series is assigned a -monotonically increasing number. The following section contains more details on -how to restore a backup series. -```graphql -mutation { - backup(input: {destination: "/path/to/local/directory", forceFull: true}) { - response { - message - code - } - } -} -``` - -### Encrypted Backups - -Encrypted backups are a Enterprise feature that are available from v20.03.1 and v1.2.3 and allow you to encrypt your backups and restore them. This documentation describes how to implement encryption into your binary backups - -### New flag “Encrypted” in manifest.json - -A new flag “Encrypted” is added to the `manifest.json`. This flag indicates if the corresponding binary backup is encrypted or not. To be backward compatible, if this flag is absent, it is presumed that the corresponding backup is not encrypted. - -For a series of full and incremental backups, per the current design, we don't allow mixing of encrypted and unencrypted backups. As a result, all full and incremental backups in a series must either be encrypted fully or not at all. This flag helps with checking this restriction. - -### AES And Chaining with Gzip - -If encryption is turned on an alpha, then we use the configured encryption key. The key size (16, 24, 32 bytes) determines AES-128/192/256 cipher chosen. We use the AES CTR mode. Currently, the binary backup is already gzipped. With encryption, we will encrypt the gzipped data. - -During **backup**: the 16 bytes IV is prepended to the Cipher-text data after encryption. - -### Backup - -Backup is an online tool, meaning it is available when alpha is running. For encrypted backups, the alpha must be configured with the “encryption_key_file”. - -{{% notice "note" %}} -encryption_key_file was used for encryption-at-rest and will now also be used for encrypted backups. -{{% /notice %}} - -The restore utility is a standalone tool today. Hence, a new flag “keyfile” is added to the restore utility so it can decrypt the backup. This keyfile must be the same key that was used for encryption during backup. - -### Restore from Backup - -The `dgraph restore` command restores the postings directory from a previously -created backup to a directory in the local filesystem. Restore is intended to -restore a backup to a new Dgraph cluster not a currently live one. During a -restore, a new Dgraph Zero may be running to fully restore the backup state. - -The `--location` (`-l`) flag specifies a source URI with Dgraph backup objects. -This URI supports all the schemes used for backup. - -The `--postings` (`-p`) flag sets the directory to which the restored posting -directories will be saved. This directory will contain a posting directory for -each group in the restored backup. - -The `--zero` (`-z`) flag specifies a Dgraph Zero address to update the start -timestamp and UID lease using the restored version. If no zero address is -passed, the command will complain unless you set the value of the -`--force_zero` flag to false. If do not pass a zero value to this command, -the timestamp and UID lease must be manually updated through Zero's HTTP -'assign' endpoint using the values printed near the end of the command's output. - -The `--backup_id` optional flag specifies the ID of the backup series to -restore. A backup series consists of a full backup and all the incremental -backups built on top of it. Each time a new full backup is created, a new backup -series with a different ID is started. The backup series ID is stored in each -`manifest.json` file stored in every backup folder. - -The `--encryption_key_file` flag is required if you took the backup in an -encrypted cluster and should point to the location of the same key used to -run the cluster. - -The restore feature will create a cluster with as many groups as the original -cluster had at the time of the last backup. For each group, `dgraph restore` -creates a posting directory `p` corresponding to the backup group ID. For -example, a backup for Alpha group 2 would have the name `.../r32-g2.backup` -and would be loaded to posting directory `p2`. - -After running the restore command, the directories inside the `postings` -directory need to be manually copied over to the machines/containers running the -alphas before running the `dgraph alpha` command. For example, in a database -cluster with two Alpha groups and one replica each, `p1` needs to be moved to -the location of the first Alpha and `p2` needs to be moved to the location of -the second Alpha. - -By default, Dgraph will look for a posting directory with the name `p`, so make -sure to rename the directories after moving them. You can also use the `-p` -option of the `dgraph alpha` command to specify a different path from the default. - -#### Restore from Amazon S3 -```sh -$ dgraph restore -p /var/db/dgraph -l s3://s3.us-west-2.amazonaws.com/ -``` - -#### Restore from Minio -```sh -$ dgraph restore -p /var/db/dgraph -l minio://127.0.0.1:9000/ -``` - -#### Restore from Local Directory or NFS -```sh -$ dgraph restore -p /var/db/dgraph -l /var/backups/dgraph -``` - -#### Restore and Update Timestamp - -Specify the Zero address and port for the new cluster with `--zero`/`-z` to update the timestamp. -```sh -$ dgraph restore -p /var/db/dgraph -l /var/backups/dgraph -z localhost:5080 -``` - -### Online Restore - -Starting in version 20.07, restoring to a live cluster is supported. Instead of -running the command line tool and copying the `p` directories around, users can -now point the cluster to the backup location and the cluster will read the backup, -write the data, and set the cluster so that it can read the data. - -Some things to note about online restores are: - -- Existing data is dropped. This is the equivalent of sending a DropAll - operation to the cluster. -- Draining mode is enabled during the duration of the restore. This means - queries and mutations are disabled. Draining mode is turned off when the - restore completes. -- The operation is asynchronous and the request responds immediately after - scheduling the restore. The response includes a unique restore ID that can be - used to query the status of the operation. -- This operation should only be done when the cluster is new or when an existing - cluster has been taken offline for maintenance. -- The cluster needs to have the same number of groups as the cluster where the - backup was created. -- The predicates will be forcibly moved around groups to ensure the state of the - cluster after restore matches what is indicated by the backup manifest. The - process does not require existing data to be moved around since it will be - deleted anyways. - -### Basic operation - -A restore can be started via the GraphQL admin endpoint (i.e. `/admin`) of any -alpha in the cluster. This is the same endpoint to which backup requests are -sent. The basic call looks like this. - -```graphql -mutation restore() { - restore(input: {location: "your-backup-location", backupId: "your-backup-id") { - code - message - restoreId - } -} -``` - -If the restore was successfully scheduled, the response will include the restore ID that -can be used to query for the status of the restore via the admin endpoint. Below is an -example. - -```graphql -query status() { - restoreStatus(restoreId: 1) { - status - errors - } -} -``` - -The status can be one of "OK", "ERR", "UNKNOWN", or "IN_PROGRESS". The errors -field contains the errors if the operation failed and it will be empty -otherwise. Also note that the information used to track a restore operation is -local to each alpha. In practical terms, this means that you should send this -request to the same alpha to which the original restore request was sent. - -### Online Restore Options - -The input parameter can include the fields shown below. Of those, only -`location` is required. Like backups, the authentication info (e.g access key) -is only required if you need to override the defaults that are set via -environment variables (see section on backups for reference). -The fields related to Vault are also only needed if you need to override the -defaults. - -- location: Destination for the backup: e.g. Minio or S3 bucket. -- backupId: Backup ID of the backup series to restore. This ID is included in - the manifest.json file. If missing, it defaults to the latest series. -- encryptionKeyFile: Path to the key file needed to decrypt the backup. This - file should be accessible by all alphas in the group. The backup will be - written using the encryption key with which the cluster was started, which - might be different than this key. -- accessKey: Access key credential for the S3 or minio destination. -- secretKey: Secret key credential for the S3 or minio destination . -- sessionToken: AWS session token, if required. -- anonymous: Set to true to allow backing up to S3 or Minio bucket that requires - no credentials. -- vaultAddr: Vault server address where the key is stored. This server must be - accessible by all alphas in the group. Default "http://localhost:8200". -- vaultRoleIDFile: Path to the Vault RoleID file. -- vaultSecretIDFile: Path to the Vault SecretID file. -- vaultPath: Vault kv store path where the key lives. Default - "secret/data/dgraph". -- vaultField: Vault kv store field whose value is the key. Default "enc_key". -- vaultFormat: Vault kv store field's format. Must be "base64" or "raw". Default - "base64". - -## Access Control Lists - -{{% notice "note" %}} -This feature was introduced in [v1.1.0](https://github.com/dgraph-io/dgraph/releases/tag/v1.1.0). -The Dgraph ACL tool is deprecated and would be removed in the next release. ACL changes can be made by using the `/admin` GraphQL endpoint on any Alpha node. -{{% /notice %}} - -Access Control List (ACL) provides access protection to your data stored in -Dgraph. When the ACL feature is turned on, a client, e.g. dgo or dgraph4j, must -authenticate with a username and password before executing any transactions, and -is only allowed to access the data permitted by the ACL rules. - -This document has two parts: first we will talk about the admin operations -needed for setting up ACL; then we will explain how to use a client to access -the data protected by ACL rules. - -### Turn on ACLs - -The ACL Feature can be turned on by following these steps - -1. Since ACL is an enterprise feature, make sure your use case is covered under -a contract with Dgraph Labs Inc. You can contact us by sending an email to -[contact@dgraph.io](mailto:contact@dgraph.io) or post your request at [our discuss -community](https://discuss.dgraph.io) to get an enterprise license. - -2. Create a plain text file, and store a randomly generated secret key in it. The secret -key is used by Alpha servers to sign JSON Web Tokens (JWT). As you’ve probably guessed, -it’s critical to keep the secret key as a secret. Another requirement for the secret key -is that it must have at least 256-bits, i.e. 32 ASCII characters, as we are using -HMAC-SHA256 as the signing algorithm. - -3. Start all the alpha servers in your cluster with the option `--acl_secret_file`, and -make sure they are all using the same secret key file created in Step 2. - -Here is an example that starts one zero server and one alpha server with the ACL feature turned on: - -```bash -dgraph zero --my=localhost:5080 --replicas 1 --idx 1 --bindall --expose_trace --profile_mode block --block_rate 10 --logtostderr -v=2 -dgraph alpha --my=localhost:7080 --lru_mb=1024 --zero=localhost:5080 --logtostderr -v=3 --acl_secret_file ./hmac-secret -``` - -If you are using docker-compose, a sample cluster can be set up by: - -1. `cd $GOPATH/src/github.com/dgraph-io/dgraph/compose/` -2. `make` -3. `./compose -e --acl_secret `, after which a `docker-compose.yml` file will be generated. -4. `docker-compose up` to start the cluster using the `docker-compose.yml` generated above. - -### Set up ACL Rules - -Now that your cluster is running with the ACL feature turned on, you can set up the ACL rules. This can be done using the web UI Ratel or by using a GraphQL tool which fires the mutations. Execute the following mutations using a GraphQL tool like Insomnia, GraphQL Playground or GraphiQL. - -A typical workflow is the following: - -1. Reset the root password -2. Create a regular user -3. Create a group -4. Assign the user to the group -5. Assign predicate permissions to the group - -#### Using GraphQL Admin API -{{% notice "note" %}} -All these mutations require passing an `X-Dgraph-AccessToken` header, value for which can be obtained after logging in. -{{% /notice %}} - -1) Reset the root password. The example below uses the dgraph endpoint `localhost:8080/admin`as a demo, make sure to choose the correct IP and port for your environment: -```graphql -mutation { - updateUser(input: {filter: {name: {eq: "groot"}}, set: {password: "newpassword"}}) { - user { - name - } - } -} -``` -The default password is `password`. `groot` is part of a special group called `guardians`. Members of `guardians` group will have access to everything. You can add more users to this group if required. - -2) Create a regular user - -```graphql -mutation { - addUser(input: [{name: "alice", password: "newpassword"}]) { - user { - name - } - } -} -``` - -Now you should see the following output - -```json -{ - "data": { - "addUser": { - "user": [ - { - "name": "alice" - } - ] - } - } -} -``` - -3) Create a group - -```graphql -mutation { - addGroup(input: [{name: "dev"}]) { - group { - name - users { - name - } - } - } -} -``` - -Now you should see the following output - -```json -{ - "data": { - "addGroup": { - "group": [ - { - "name": "dev", - "users": [] - } - ] - } - } -} -``` - -4) Assign the user to the group -To assign the user `alice` to both the group `dev` and the group `sre`, the mutation should be - -```graphql -mutation { - updateUser(input: {filter: {name: {eq: "alice"}}, set: {groups: [{name: "dev"}, {name: "sre"}]}}) { - user { - name - groups { - name - } - } - } -} -``` - -5) Assign predicate permissions to the group - -```graphql -mutation { - updateGroup(input: {filter: {name: {eq: "dev"}}, set: {rules: [{predicate: "friend", permission: 7}]}}) { - group { - name - rules { - permission - predicate - } - } - } -} -``` -Here we assigned a permission rule for the friend predicate to the group. In case you have [reverse edges]({{< relref "query-language/index.md#reverse-edges" >}}), they have to be given the permission to the group as well -```graphql -mutation { - updateGroup(input: {filter: {name: {eq: "dev"}}, set: {rules: [{predicate: "~friend", permission: 7}]}}) { - group { - name - rules { - permission - predicate - } - } - } -} -``` -You can also resolve this by using the `dgraph acl` tool -``` -dgraph acl -a -w -x mod --group dev --pred ~friend --perm 7 -``` - -The command above grants the `dev` group the `READ`+`WRITE`+`MODIFY` permission on the -`friend` predicate. Permissions are represented by a number following the UNIX file -permission convention. That is, 4 (binary 100) represents `READ`, 2 (binary 010) -represents `WRITE`, and 1 (binary 001) represents `MODIFY` (the permission to change a -predicate's schema). Similarly, permisson numbers can be bitwise OR-ed to represent -multiple permissions. For example, 7 (binary 111) represents all of `READ`, `WRITE` and -`MODIFY`. In order for the example in the next section to work, we also need to grant -full permissions on another predicate `name` to the group `dev`. If there are no rules for -a predicate, the default behavior is to block all (`READ`, `WRITE` and `MODIFY`) operations. - -```graphql -mutation { - updateGroup(input: {filter: {name: {eq: "dev"}}, set: {rules: [{predicate: "name", permission: 7}]}}) { - group { - name - rules { - permission - predicate - } - } - } -} -``` - -### Retrieve Users and Groups Information -{{% notice "note" %}} -All these queries require passing an `X-Dgraph-AccessToken` header, value for which can be obtained after logging in. -{{% /notice %}} -The following examples show how to retrieve information about users and groups. - -#### Using a GraphQL tool - -1) Check information about a user - -```graphql -query { - getUser(name: "alice") { - name - groups { - name - } - } -} -``` - -and the output should show the groups that the user has been added to, e.g. - -```json -{ - "data": { - "getUser": { - "name": "alice", - "groups": [ - { - "name": "dev" - } - ] - } - } -} -``` - -2) Check information about a group - -```graphql -{ - getGroup(name: "dev") { - name - users { - name - } - rules { - permission - predicate - } - } -} -``` - -and the output should include the users in the group, as well as the permissions, the -group's ACL rules, e.g. - -```json -{ - "data": { - "getGroup": { - "name": "dev", - "users": [ - { - "name": "alice" - } - ], - "rules": [ - { - "permission": 7, - "predicate": "friend" - }, - { - "permission": 7, - "predicate": "name" - } - ] - } - } -} -``` - -3) Query for users - -```graphql -query { - queryUser(filter: {name: {eq: "alice"}}) { - name - groups { - name - } - } -} -``` - -and the output should show the groups that the user has been added to, e.g. - -```json -{ - "data": { - "queryUser": [ - { - "name": "alice", - "groups": [ - { - "name": "dev" - } - ] - } - ] - } -} -``` - -4) Query for groups - -```graphql -query { - queryGroup(filter: {name: {eq: "dev"}}) { - name - users { - name - } - rules { - permission - predicate - } - } -} -``` - -and the output should include the users in the group, as well as the permissions the -group's ACL rules, e.g. - -```json -{ - "data": { - "queryGroup": [ - { - "name": "dev", - "users": [ - { - "name": "alice" - } - ], - "rules": [ - { - "permission": 7, - "predicate": "friend" - }, - { - "permission": 7, - "predicate": "name" - } - ] - } - ] - } -} -``` - -5) Run ACL commands as another guardian (member of `guardians` group). - -You can also run ACL commands with other users. Say we have a user `alice` which is member -of `guardians` group and its password is `simple_alice`. - -### Access Data Using a Client - -Now that the ACL data are set, to access the data protected by ACL rules, we need to -first log in through a user. This is tyically done via the client's `.login(USER_ID, USER_PASSWORD)` method. - -A sample code using the dgo client can be found -[here](https://github.com/dgraph-io/dgraph/blob/master/tlstest/acl/acl_over_tls_test.go). An example using -dgraph4j can be found [here](https://github.com/dgraph-io/dgraph4j/blob/master/src/test/java/io/dgraph/AclTest.java). - -### Access Data Using the GraphQL API - -Dgraph's HTTP API also supports authenticated operations to access ACL-protected -data. - -To login, send a POST request to `/admin` with the GraphQL mutation. For example, to log in as the root user groot: - -```graphql -mutation { - login(userId: "groot", password: "password") { - response { - accessJWT - refreshJWT - } - } -} -``` - -Response: - -```json -{ - "data": { - "accessJWT": "", - "refreshJWT": "" - } -} -``` - -The response includes the access and refresh JWTs which are used for the authentication itself and refreshing the authentication token, respectively. Save the JWTs from the response for later HTTP requests. - -You can run authenticated requests by passing the accessJWT to a request via the `X-Dgraph-AccessToken` header. Add the header `X-Dgraph-AccessToken` with the `accessJWT` value which you got in the login response in the GraphQL tool which you're using to make the request. For example: - -```graphql -mutation { - addUser(input: [{name: "alice", password: "newpassword"}]) { - user { - name - } - } -} -``` - -The refresh token can be used in the `/admin` POST GraphQL mutation to receive new access and refresh JWTs, which is useful to renew the authenticated session once the ACL access TTL expires (controlled by Dgraph Alpha's flag `--acl_access_ttl` which is set to 6h0m0s by default). - -```graphql -mutation { - login(userId: "groot", password: "newpassword", refreshToken: "") { - response { - accessJWT - refreshJWT - } - } -} -``` - -### Reset Groot Password - -If you've forgotten the password to your groot user, then you may reset the groot password (or -the password for any user) by following these steps. - -1. Stop Dgraph Alpha. -2. Turn off ACLs by removing the `--acl_hmac_secret` config flag in the Alpha config. This leaves - the Alpha open with no ACL rules, so be sure to restrict access, including stopping request - traffic to this Alpha. -3. Start Dgraph Alpha. -4. Connect to Dgraph Alpha using Ratel and run the following upsert mutation to update the groot password - to `newpassword` (choose your own secure password): - ```text - upsert { - query { - groot as var(func: eq(dgraph.xid, "groot")) - } - mutation { - set { - uid(groot) "newpassword" . - } - } - } - ``` -5. Restart Dgraph Alpha with ACLs turned on by setting the `--acl_hmac_secret` config flag. -6. Login as groot with your new password. - -## Encryption at Rest - -{{% notice "note" %}} -This feature was introduced in [v1.1.1](https://github.com/dgraph-io/dgraph/releases/tag/v1.1.1). -For migrating unencrypted data to a new Dgraph cluster with encryption enabled, you need to -[export the database](https://dgraph.io/docs/deploy/#exporting-database) and [fast data load](https://dgraph.io/docs/deploy/#fast-data-loading), -preferably using the [bulk loader](https://dgraph.io/docs/deploy/#bulk-loader). -{{% /notice %}} - -Encryption at rest refers to the encryption of data that is stored physically in any -digital form. It ensures that sensitive data on disks is not readable by any user -or application without a valid key that is required for decryption. Dgraph provides -encryption at rest as an enterprise feature. If encryption is enabled, Dgraph uses -[Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) -algorithm to encrypt the data and secure it. - -### Set up Encryption - -To enable encryption, we need to pass a file that stores the data encryption key with the option -`--encryption_key_file`. The key size must be 16, 24, or 32 bytes long, and the key size determines -the corresponding block size for AES encryption ,i.e. AES-128, AES-192, and AES-256, respectively. - -You can use the following command to create the encryption key file (set _count_ to the -desired key size): - -``` -dd if=/dev/random bs=1 count=32 of=enc_key_file -``` - -### Turn on Encryption - -Here is an example that starts one Zero server and one Alpha server with the encryption feature turned on: - -```bash -dgraph zero --my=localhost:5080 --replicas 1 --idx 1 -dgraph alpha --encryption_key_file ./enc_key_file --my=localhost:7080 --lru_mb=1024 --zero=localhost:5080 -``` - -If multiple Alpha nodes are part of the cluster, you will need to pass the `--encryption_key_file` option to -each of the Alphas. - -Once an Alpha has encryption enabled, the encryption key must be provided in order to start the Alpha server. -If the Alpha server restarts, the `--encryption_key_file` option must be set along with the key in order to -restart successfully. - -### Turn off Encryption - -If you wish to turn off encryption from an existing Alpha, then you can export your data and import it -into a new Dgraph instance without encryption enabled. - -### Change Encryption Key - -The master encryption key set by the `--encryption_key_file` option does not change automatically. The master -encryption key encrypts underlying *data keys* which are changed on a regular basis automatically (more info -about this is covered on the encryption-at-rest [blog][encblog] post). - -[encblog]: https://dgraph.io/blog/post/encryption-at-rest-dgraph-badger#one-key-to-rule-them-all-many-keys-to-find-them - -Changing the existing key to a new one is called key rotation. You can rotate the master encryption key by -using the `badger rotate` command on both p and w directories for each Alpha. To maintain availability in HA -cluster configurations, you can do this rotate the key one Alpha at a time in a rolling manner. - -You'll need both the current key and the new key in two different files. Specify the directory you -rotate ("p" or "w") for the `--dir` flag, the old key for the `--old-key-path` flag, and the new key with the -`--new-key-path` flag. - -``` -badger rotate --dir p --old-key-path enc_key_file --new-key-path new_enc_key_file -badger rotate --dir w --old-key-path enc_key_file --new-key-path new_enc_key_file -``` - -Then, you can start Alpha with the `new_enc_key_file` key file to use the new key. diff --git a/wiki/content/enterprise-features/license.md b/wiki/content/enterprise-features/license.md new file mode 100644 index 00000000000..64610227775 --- /dev/null +++ b/wiki/content/enterprise-features/license.md @@ -0,0 +1,40 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "License" +[menu.main] + parent = "enterprise-features" + weight = 4 ++++ + +Dgraph enterprise features are proprietary licensed under the [Dgraph Community +License][dcl]. All Dgraph releases contain proprietary code for enterprise features. +Enabling these features requires an enterprise contract from +[contact@dgraph.io](mailto:contact@dgraph.io) or the [discuss +forum](https://discuss.dgraph.io). + +**Dgraph enterprise features are enabled by default for 30 days in a new cluster**. +After the trial period of thirty (30) days, the cluster must obtain a license from Dgraph to +continue using the enterprise features released in the proprietary code. + +{{% notice "note" %}} +At the conclusion of your 30-day trial period if a license has not been applied to the cluster, +access to the enterprise features will be suspended. The cluster will continue to operate without +enterprise features. +{{% /notice %}} + +When you have an enterprise license key, the license can be applied to the cluster by including it +as the body of a POST request and calling `/enterpriseLicense` HTTP endpoint on any Zero server. + +```sh +curl -X POST localhost:6080/enterpriseLicense --upload-file ./licensekey.txt +``` + +It can also be applied by passing the path to the enterprise license file (using the flag +`--enterprise_license`) to the `dgraph zero` command used to start the server. The second option is +useful when the process needs to be automated. + +```sh +dgraph zero --enterprise_license ./licensekey.txt +``` + +[dcl]: https://github.com/dgraph-io/dgraph/blob/master/licenses/DCL.txt \ No newline at end of file diff --git a/wiki/content/faq/_index.md b/wiki/content/faq/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/faq/index.md b/wiki/content/faq/index.md index 860e50456cc..221649a33f5 100644 --- a/wiki/content/faq/index.md +++ b/wiki/content/faq/index.md @@ -1,6 +1,10 @@ +++ date = "2017-03-20T19:35:35+11:00" title = "FAQ" +[menu.main] + url = "/faq/" + identifier = "faq" + weight = 10 +++ ## General @@ -54,7 +58,7 @@ No. Dgraph stores and handles data natively to ensure it has complete control ov ## Languages and Features ### Does Dgraph support GraphQL? -Dgraph started with the aim to fully support GraphQL. However, as our experience with the language grew, we started hitting the seams. It couldn't support many of the features required from a language meant to interact with Graph data, and we felt some of the features were unnecessary and complicated. So, we've created a simplified and feature rich version of GraphQL. For lack of better name, we're calling GraphQL+-. You can [read more about it here]({{< relref "query-language/index.md" >}}). +Dgraph started with the aim to fully support GraphQL. However, as our experience with the language grew, we started hitting the seams. It couldn't support many of the features required from a language meant to interact with Graph data, and we felt some of the features were unnecessary and complicated. So, we've created a simplified and feature rich version of GraphQL. For lack of better name, we're calling GraphQL+-. You can [read more about it here]({{< relref "query-language/_index.md" >}}). ### When is Dgraph going to support Gremlin? Dgraph will aim to support [Gremlin](https://github.com/tinkerpop/gremlin/wiki) after v1.0. However, this is not set in stone. If our community wants Gremlin support to interact with other frameworks, like Tinkerpop, we can look into supporting it earlier. diff --git a/wiki/content/get-started/_index.md b/wiki/content/get-started/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/get-started/index.md b/wiki/content/get-started/index.md index dee452480da..a496d02629e 100644 --- a/wiki/content/get-started/index.md +++ b/wiki/content/get-started/index.md @@ -1,6 +1,11 @@ +++ title = "Get Started - Quickstart Guide" aliases = ["/get-started-old"] +[menu.main] + url = "/get-started" + name = "Get Started" + identifier = "get-started" + weight = 2 +++ {{% notice "note" %}} @@ -286,12 +291,12 @@ data, set a schema and queried that data back. ## Where to go from here -- Go to [Clients]({{< relref "clients/index.md" >}}) to see how to +- Go to [Clients]({{< relref "clients/_index.md" >}}) to see how to communicate with Dgraph from your application. - Take the [Tour](https://dgraph.io/tour/) for a guided tour of how to write queries in Dgraph. - A wider range of queries can also be found in the -[Query Language]({{< relref "query-language/index.md" >}}) reference. -- See [Deploy]({{< relref "deploy/index.md" >}}) if you wish to run Dgraph +[Query Language]({{< relref "query-language/_index.md" >}}) reference. +- See [Deploy]({{< relref "deploy/_index.md" >}}) if you wish to run Dgraph in a cluster. ## Need Help diff --git a/wiki/content/howto/_index.md b/wiki/content/howto/_index.md index e69de29bb2d..af02df08b27 100644 --- a/wiki/content/howto/_index.md +++ b/wiki/content/howto/_index.md @@ -0,0 +1,8 @@ ++++ +date = "2017-03-20T19:35:35+11:00" +title = "How To Guides" +[menu.main] + url = "/howto/" + identifier = "howto" + weight = 11 ++++ \ No newline at end of file diff --git a/wiki/content/howto/dgraph-sentry-integration.md b/wiki/content/howto/dgraph-sentry-integration.md new file mode 100644 index 00000000000..c58dce751c4 --- /dev/null +++ b/wiki/content/howto/dgraph-sentry-integration.md @@ -0,0 +1,63 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Using the Dgraph Sentry Integration" +[menu.main] + parent = "howto" + weight = 3 ++++ + +Sentry is a powerful service that allows applications to send arbitrary events, messages, exceptions, bread-crumbs (logs) to your sentry account. In simplest terms, it is a dial-home service but also has a rich feature set including event filtering, data scrubbing, several SDKs, custom and release tagging, as well as integration with 3rd party tools such as Slack, GitHub. + +Although Sentry reporting is on by default, starting from v20.03.1 and v20.07.0, there is a configuration flag `enable-sentry` which can be used to completely turn off Sentry events reporting. + +## Basic Integration + +**Panics (runtime and manual)** + +* As of now, at Dgraph, we use Sentry reporting for capturing panics only. For manual panics anywhere in the code, sentry.CaptureException() API is called. + +* For runtime panics, Sentry does not have any native method. After further research, we chose the approach of a wrapper process to capture these panics. The basic idea for this is that whenever a dgraph instance is started, a 2nd monitoring process is started whose only job is to monitor the stderr for panics of the monitored process. When a panic is seen, it is reported back to sentry via the CaptureException API. + +**Reporting** + +Each event is tagged with the release version, environment, timestamp, tags and the panic backtrace as explained below. +**Release:** + + - This is the release version string of the Dgraph instance. + +**Environments:** + +We have defined 4 environments: + +**dev-oss / dev-enterprise**: These are events seen on non-released / local developer builds. + +**prod-oss/prod-enterprise**: These are events on released version such as v20.03.0. Events in this category are also sent on a slack channel private to Dgraph + +**Tags:** + +Tags are key-value pairs that provide additional context for an event. We have defined the following tags: + +`dgraph`: This tag can have values “zero” or “alpha” depending on which sub-command saw the panic/exception. + +## Data Handling + +We strive to handle your data with care in a variety of ways when sending events to Sentry + +1. **Event Selection:** As of now, only panic events are sent to Sentry from Dgraph. +2. **Data in Transit:** Events sent from the SDK to the Sentry server are encrypted on the wire with industry-standard TLS protocol with 256 bit AES Cipher. +3. **Data at rest:** Events on the Sentry server are also encrypted with 256 bit AES cipher. Sentry is hosted on GCP and as such physical access is tightly controlled. Logical access is only available to sentry approved officials. +4. **Data Retention:** Sentry stores events only for 90 days after which they are removed permanently. +5. **Data Scrubbing**: The Data Scrcubber option (default: on) in Sentry’s settings ensures PII doesn’t get sent to or stored on Sentry’s servers, automatically removing any values that look like they contain sensitive information for values that contain various strings. The strings we currently monitor and scrub are: + +- `password` +- `secret` +- `passwd` +- `api_key` +- `apikey` +- `access_token` +- `auth_token` +- `credentials` +- `mysql_pwd` +- `stripetoken` +- `card[number]` +- `ip addresses` \ No newline at end of file diff --git a/wiki/content/howto/giving-nodes-type.md b/wiki/content/howto/giving-nodes-type.md new file mode 100644 index 00000000000..426b26abc6e --- /dev/null +++ b/wiki/content/howto/giving-nodes-type.md @@ -0,0 +1,10 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Giving Nodes a Type" +[menu.main] + parent = "howto" + weight = 5 ++++ + +It's often useful to give the nodes in a graph *types* (also commonly referred +to as *labels* or *kinds*). You can do so using the [type system]({{< relref "query-language/type-system.md" >}}). \ No newline at end of file diff --git a/wiki/content/howto/index.md b/wiki/content/howto/index.md deleted file mode 100644 index ab6a69356ea..00000000000 --- a/wiki/content/howto/index.md +++ /dev/null @@ -1,1048 +0,0 @@ -+++ -date = "2017-03-20T19:35:35+11:00" -title = "How To Guides" -+++ - -## Retrieving Debug Information - -Each Dgraph data node exposes profile over `/debug/pprof` endpoint and metrics over `/debug/vars` endpoint. Each Dgraph data node has it's own profiling and metrics information. Below is a list of debugging information exposed by Dgraph and the corresponding commands to retrieve them. - -### Metrics Information - -If you are collecting these metrics from outside the Dgraph instance you need to pass `--expose_trace=true` flag, otherwise there metrics can be collected by connecting to the instance over localhost. - -``` -curl http://:/debug/vars -``` - -Metrics can also be retrieved in the Prometheus format at `/debug/prometheus_metrics`. See the [Metrics]({{< relref "deploy/index.md#metrics" >}}) section for the full list of metrics. - -### Profiling Information - -Profiling information is available via the `go tool pprof` profiling tool built into Go. The ["Profiling Go programs"](https://blog.golang.org/profiling-go-programs) Go blog post will help you get started with using pprof. Each Dgraph Zero and Dgraph Alpha exposes a debug endpoint at `/debug/pprof/` via the HTTP port. - -``` -go tool pprof http://:/debug/pprof/heap -#Fetching profile from ... -#Saved Profile in ... -``` -The output of the command would show the location where the profile is stored. - -In the interactive pprof shell, you can use commands like `top` to get a listing of the top functions in the profile, `web` to get a visual graph of the profile opened in a web browser, or `list` to display a code listing with profiling information overlaid. - -#### CPU Profile - -``` -go tool pprof http://:/debug/pprof/profile -``` - -#### Memory Profile - -``` -go tool pprof http://:/debug/pprof/heap -``` - -#### Block Profile - -Dgraph by default doesn't collect the block profile. Dgraph must be started with `--profile_mode=block` and `--block_rate=` with N > 1. - -``` -go tool pprof http://:/debug/pprof/block -``` - -#### Goroutine stack - -The HTTP page `/debug/pprof/` is available at the HTTP port of a Dgraph Zero or Dgraph Alpha. From this page a link to the "full goroutine stack dump" is available (e.g., on a Dgraph Alpha this page would be at `http://localhost:8080/debug/pprof/goroutine?debug=2`). Looking at the full goroutine stack can be useful to understand goroutine usage at that moment. - -## Using the Debug Tool - -{{% notice "note" %}} -To debug a running Dgraph cluster, first copy the postings ("p") directory to -another location. If the Dgraph cluster is not running, then you can use the -same postings directory with the debug tool. - -If the “p” directory has been encrypted, then the debug tool will need to use the --keyfile option. This file must contain the same key that was used to encrypt the “p” directory. -{{% /notice %}} - -The `dgraph debug` tool can be used to inspect Dgraph's posting list structure. -You can use the debug tool to inspect the data, schema, and indices of your -Dgraph cluster. - -Some scenarios where the debug tool is useful: - -- Verify that mutations committed to Dgraph have been persisted to disk. -- Verify that indices are created. -- Inspect the history of a posting list. - -### Example Usage - -Debug the p directory. - -```sh -$ dgraph debug --postings ./p -``` - -Debug the p directory, not opening in read-only mode. This is typically necessary when the database was not closed properly. - -```sh -$ dgraph debug --postings ./p --readonly=false -``` - -Debug the p directory, only outputing the keys for the predicate `name`. - -```sh -$ dgraph debug --postings ./p --readonly=false --pred=name -``` - -Debug the p directory, looking up a particular key: - -```sh -$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 -``` - -Debug the p directory, inspecting the history of a particular key: - -```sh -$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 --history -``` - -Debug an encrypted p directory with the key in a local file at the path ./key_file: - -```sh -$ dgraph debug --postings ./p --keyfile ./key_file -``` - - -{{% notice "note" %}} -The key file contains the key used to decrypt/encrypt the db. This key should be kept secret. As a best practice, - -- Do not store the key file on the disk permanently. Back it up in a safe place and delete it after using it with the debug tool. - -- If the above is not possible, make sure correct privileges are set on the keyfile. Only the user who owns the dgraph process should be able to read / write the key file: `chmod 600` -{{% /notice %}} - -### Debug Tool Output - -Let's go over an example with a Dgraph cluster with the following schema with a term index, full-text index, and two separately committed mutations: - -```sh -$ curl localhost:8080/alter -d ' - name: string @index(term) . - url: string . - description: string @index(fulltext) . -' -``` - -```sh -$ curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -d '{ - set { - _:dgraph "Dgraph" . - _:dgraph "Software" . - _:dgraph "https://github.com/dgraph-io/dgraph" . - _:dgraph "Fast, Transactional, Distributed Graph Database." . - } -}' -``` - -```sh -$ curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -d '{ - set { - _:badger "Badger" . - _:badger "Software" . - _:badger "https://github.com/dgraph-io/badger" . - _:badger "Embeddable, persistent and fast key-value (KV) database written in pure Go." . - } -}' -``` - -After stopping Dgraph, you can run the debug tool to inspect the postings directory: - -{{% notice "note" %}} -The debug output can be very large. Typically you would redirect the debug tool to a file first for easier analysis. -{{% /notice %}} - -```sh -$ dgraph debug --postings ./p -``` - -```text -Opening DB: ./p -Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 -prefix = -{d} {v.ok} attr: url uid: 1 key: 00000375726c000000000000000001 item: [71, b0100] ts: 3 -{d} {v.ok} attr: url uid: 2 key: 00000375726c000000000000000002 item: [71, b0100] ts: 5 -{d} {v.ok} attr: name uid: 1 key: 0000046e616d65000000000000000001 item: [43, b0100] ts: 3 -{d} {v.ok} attr: name uid: 2 key: 0000046e616d65000000000000000002 item: [43, b0100] ts: 5 -{i} {v.ok} attr: name term: [1] badger key: 0000046e616d650201626164676572 item: [30, b0100] ts: 5 -{i} {v.ok} attr: name term: [1] dgraph key: 0000046e616d650201646772617068 item: [30, b0100] ts: 3 -{d} {v.ok} attr: _predicate_ uid: 1 key: 00000b5f7072656469636174655f000000000000000001 item: [104, b0100] ts: 3 -{d} {v.ok} attr: _predicate_ uid: 2 key: 00000b5f7072656469636174655f000000000000000002 item: [104, b0100] ts: 5 -{d} {v.ok} attr: description uid: 1 key: 00000b6465736372697074696f6e000000000000000001 item: [92, b0100] ts: 3 -{d} {v.ok} attr: description uid: 2 key: 00000b6465736372697074696f6e000000000000000002 item: [119, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] databas key: 00000b6465736372697074696f6e020864617461626173 item: [38, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] distribut key: 00000b6465736372697074696f6e0208646973747269627574 item: [40, b0100] ts: 3 -{i} {v.ok} attr: description term: [8] embedd key: 00000b6465736372697074696f6e0208656d62656464 item: [37, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] fast key: 00000b6465736372697074696f6e020866617374 item: [35, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] go key: 00000b6465736372697074696f6e0208676f item: [33, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] graph key: 00000b6465736372697074696f6e02086772617068 item: [36, b0100] ts: 3 -{i} {v.ok} attr: description term: [8] kei key: 00000b6465736372697074696f6e02086b6569 item: [34, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] kv key: 00000b6465736372697074696f6e02086b76 item: [33, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] persist key: 00000b6465736372697074696f6e020870657273697374 item: [38, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] pure key: 00000b6465736372697074696f6e020870757265 item: [35, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] transact key: 00000b6465736372697074696f6e02087472616e73616374 item: [39, b0100] ts: 3 -{i} {v.ok} attr: description term: [8] valu key: 00000b6465736372697074696f6e020876616c75 item: [35, b0100] ts: 5 -{i} {v.ok} attr: description term: [8] written key: 00000b6465736372697074696f6e02087772697474656e item: [38, b0100] ts: 5 -{s} {v.ok} attr: url key: 01000375726c item: [13, b0001] ts: 1 -{s} {v.ok} attr: name key: 0100046e616d65 item: [23, b0001] ts: 1 -{s} {v.ok} attr: _predicate_ key: 01000b5f7072656469636174655f item: [31, b0001] ts: 1 -{s} {v.ok} attr: description key: 01000b6465736372697074696f6e item: [41, b0001] ts: 1 -{s} {v.ok} attr: dgraph.type key: 01000b6467726170682e74797065 item: [40, b0001] ts: 1 -Found 28 keys -``` - -Each line in the debug output contains a prefix indicating the type of the key: `{d}`: Data key; `{i}`: Index key; `{c}`: Count key; `{r}`: Reverse key; `{s}`: Schema key. In the debug output above, we see data keys, index keys, and schema keys. - -Each index key has a corresponding index type. For example, in `attr: name term: [1] dgraph` the `[1]` shows that this is the term index ([0x1][tok_term]); in `attr: description term: [8] fast`, the `[8]` shows that this is the full-text index ([0x8][tok_fulltext]). These IDs match the index IDs in [tok.go][tok]. - -[tok_term]: https://github.com/dgraph-io/dgraph/blob/ce82aaafba3d9e57cf5ea1aeb9b637193441e1e2/tok/tok.go#L39 -[tok_fulltext]: https://github.com/dgraph-io/dgraph/blob/ce82aaafba3d9e57cf5ea1aeb9b637193441e1e2/tok/tok.go#L48 -[tok]: https://github.com/dgraph-io/dgraph/blob/ce82aaafba3d9e57cf5ea1aeb9b637193441e1e2/tok/tok.go#L37-L53 - -### Key Lookup - -Every key can be inspected further with the `--lookup` flag for the specific key. - -```sh -$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 -``` - -```text -Opening DB: ./p -Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 - Key: 00000b6465736372697074696f6e0208676f Length: 2 - Uid: 1 Op: 1 - Uid: 2 Op: 1 -``` - -For data keys, a lookup shows its type and value. Below, we see that the key for `attr: url uid: 1` is a string value. - -```sh -$ dgraph debug --postings ./p --lookup 00000375726c000000000000000001 -``` - -```text -Opening DB: ./p -Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 - Key: 0000046e616d65000000000000000001 Length: 1 - Uid: 18446744073709551615 Op: 1 Type: STRING. String Value: "https://github.com/dgraph-io/dgraph" -``` - -For index keys, a lookup shows the UIDs that are part of this index. Below, we see that the `fast` index for the `` predicate has UIDs 0x1 and 0x2. - -```sh -$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 -``` - -```text -Opening DB: ./p -Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 - Key: 00000b6465736372697074696f6e0208676f Length: 2 - Uid: 1 Op: 1 - Uid: 2 Op: 1 -``` - -### Key History - -You can also look up the history of values for a key using the `--history` option. - -```sh -$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 --history -``` -```text -Opening DB: ./p -Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 -==> key: 00000b6465736372697074696f6e020866617374. PK: &{byteType:2 Attr:description Uid:0 Termfast Count:0 bytePrefix:0} -ts: 5 {item}{delta} - Uid: 2 Op: 1 - -ts: 3 {item}{delta} - Uid: 1 Op: 1 -``` - -Above, we see that UID 0x1 was committed to this index at ts 3, and UID 0x2 was committed to this index at ts 5. - -The debug output also shows UserMeta information: - -- `{complete}`: Complete posting list -- `{uid}`: UID posting list -- `{delta}`: Delta posting list -- `{empty}`: Empty posting list -- `{item}`: Item posting list -- `{deleted}`: Delete marker - -## Using the Dgraph Sentry Integration - -Sentry is a powerful service that allows applications to send arbitrary events, messages, exceptions, bread-crumbs (logs) to your sentry account. In simplest terms, it is a dial-home service but also has a rich feature set including event filtering, data scrubbing, several SDKs, custom and release tagging, as well as integration with 3rd party tools such as Slack, GitHub. - -Although Sentry reporting is on by default, starting from v20.03.1 and v20.07.0, there is a configuration flag `enable-sentry` which can be used to completely turn off Sentry events reporting. - -### Basic Integration - -**Panics (runtime and manual)** - -* As of now, at Dgraph, we use Sentry reporting for capturing panics only. For manual panics anywhere in the code, sentry.CaptureException() API is called. - -* For runtime panics, Sentry does not have any native method. After further research, we chose the approach of a wrapper process to capture these panics. The basic idea for this is that whenever a dgraph instance is started, a 2nd monitoring process is started whose only job is to monitor the stderr for panics of the monitored process. When a panic is seen, it is reported back to sentry via the CaptureException API. - -**Reporting** - -Each event is tagged with the release version, environment, timestamp, tags and the panic backtrace as explained below. -**Release:** - - - This is the release version string of the Dgraph instance. - -**Environments:** - -We have defined 4 environments: - -**dev-oss / dev-enterprise**: These are events seen on non-released / local developer builds. - -**prod-oss/prod-enterprise**: These are events on released version such as v20.03.0. Events in this category are also sent on a slack channel private to Dgraph - -**Tags:** - -Tags are key-value pairs that provide additional context for an event. We have defined the following tags: - -`dgraph`: This tag can have values “zero” or “alpha” depending on which sub-command saw the panic/exception. - -### Data Handling - -We strive to handle your data with care in a variety of ways when sending events to Sentry - -1. **Event Selection:** As of now, only panic events are sent to Sentry from Dgraph. -2. **Data in Transit:** Events sent from the SDK to the Sentry server are encrypted on the wire with industry-standard TLS protocol with 256 bit AES Cipher. -3. **Data at rest:** Events on the Sentry server are also encrypted with 256 bit AES cipher. Sentry is hosted on GCP and as such physical access is tightly controlled. Logical access is only available to sentry approved officials. -4. **Data Retention:** Sentry stores events only for 90 days after which they are removed permanently. -5. **Data Scrubbing**: The Data Scrcubber option (default: on) in Sentry’s settings ensures PII doesn’t get sent to or stored on Sentry’s servers, automatically removing any values that look like they contain sensitive information for values that contain various strings. The strings we currently monitor and scrub are: - -- `password` -- `secret` -- `passwd` -- `api_key` -- `apikey` -- `access_token` -- `auth_token` -- `credentials` -- `mysql_pwd` -- `stripetoken` -- `card[number]` -- `ip addresses` - -## Using the Increment Tool - -The `dgraph increment` tool increments a counter value transactionally. The -increment tool can be used as a health check that an Alpha is able to service -transactions for both queries and mutations. - -### Example Usage - -Increment the default predicate (`counter.val`) once. If the predicate doesn't yet -exist, then it will be created starting at counter 0. - -```sh -$ dgraph increment -``` - -Increment the counter predicate against the Alpha running at address `--alpha` (default: `localhost:9080`): - -```sh -$ dgraph increment --alpha=192.168.1.10:9080 -``` - -Increment the counter predicate specified by `--pred` (default: `counter.val`): - -```sh -$ dgraph increment --pred=counter.val.healthcheck -``` - -Run a read-only query for the counter predicate and does not run a mutation to increment it: - -```sh -$ dgraph increment --ro -``` - -Run a best-effort query for the counter predicate and does not run a mutation to increment it: - -```sh -$ dgraph increment --be -``` - -Run the increment tool 1000 times every 1 second: - -```sh -$ dgraph increment --num=1000 --wait=1s -``` - -### Increment Tool Output - -```sh -# Run increment a few times -$ dgraph increment -0410 10:31:16.379 Counter VAL: 1 [ Ts: 1 ] -$ dgraph increment -0410 10:34:53.017 Counter VAL: 2 [ Ts: 3 ] -$ dgraph increment -0410 10:34:53.648 Counter VAL: 3 [ Ts: 5 ] - -# Run read-only queries to read the counter a few times -$ dgraph increment --ro -0410 10:34:57.35 Counter VAL: 3 [ Ts: 7 ] -$ dgraph increment --ro -0410 10:34:57.886 Counter VAL: 3 [ Ts: 7 ] -$ dgraph increment --ro -0410 10:34:58.129 Counter VAL: 3 [ Ts: 7 ] - -# Run best-effort query to read the counter a few times -$ dgraph increment --be -0410 10:34:59.867 Counter VAL: 3 [ Ts: 7 ] -$ dgraph increment --be -0410 10:35:01.322 Counter VAL: 3 [ Ts: 7 ] -$ dgraph increment --be -0410 10:35:02.674 Counter VAL: 3 [ Ts: 7 ] - -# Run a read-only query to read the counter 5 times -$ dgraph increment --ro --num=5 -0410 10:35:18.812 Counter VAL: 3 [ Ts: 7 ] -0410 10:35:18.813 Counter VAL: 3 [ Ts: 7 ] -0410 10:35:18.815 Counter VAL: 3 [ Ts: 7 ] -0410 10:35:18.817 Counter VAL: 3 [ Ts: 7 ] -0410 10:35:18.818 Counter VAL: 3 [ Ts: 7 ] - -# Increment the counter 5 times -$ dgraph increment --num=5 -0410 10:35:24.028 Counter VAL: 4 [ Ts: 8 ] -0410 10:35:24.061 Counter VAL: 5 [ Ts: 10 ] -0410 10:35:24.104 Counter VAL: 6 [ Ts: 12 ] -0410 10:35:24.145 Counter VAL: 7 [ Ts: 14 ] -0410 10:35:24.178 Counter VAL: 8 [ Ts: 16 ] - -# Increment the counter 5 times, once every second. -$ dgraph increment --num=5 --wait=1s -0410 10:35:26.95 Counter VAL: 9 [ Ts: 18 ] -0410 10:35:27.975 Counter VAL: 10 [ Ts: 20 ] -0410 10:35:28.999 Counter VAL: 11 [ Ts: 22 ] -0410 10:35:30.028 Counter VAL: 12 [ Ts: 24 ] -0410 10:35:31.054 Counter VAL: 13 [ Ts: 26 ] - -# If the Alpha is too busy or unhealthy, the tool will timeout and retry. -$ dgraph increment -0410 10:36:50.857 While trying to process counter: Query error: rpc error: code = DeadlineExceeded desc = context deadline exceeded. Retrying... -``` - -## Giving Nodes a Type - -It's often useful to give the nodes in a graph *types* (also commonly referred -to as *labels* or *kinds*). You can do so using the [type system]({{< relref "query-language/index.md#type-system" >}}). - -## Loading CSV Data - -[Dgraph mutations]({{< relref "mutations/index.md" >}}) are accepted in RDF -N-Quad and JSON formats. To load CSV-formatted data into Dgraph, first convert -the dataset into one of the accepted formats and then load the resulting dataset -into Dgraph. This section demonstrates converting CSV into JSON. There are -many tools available to convert CSV to JSON. For example, you can use -[`d3-dsv`](https://github.com/d3/d3-dsv)'s `csv2json` tool as shown below: - -```csv -Name,URL -Dgraph,https://github.com/dgraph-io/dgraph -Badger,https://github.com/dgraph-io/badger -``` - -```sh -$ csv2json names.csv --out names.json -$ cat names.json | jq '.' -[ - { - "Name": "Dgraph", - "URL": "https://github.com/dgraph-io/dgraph" - }, - { - "Name": "Badger", - "URL": "https://github.com/dgraph-io/badger" - } -] -``` - -This JSON can be loaded into Dgraph via the programmatic clients. This follows -the [JSON Mutation Format]({{< relref "mutations#json-mutation-format" >}}). -Note that each JSON object in the list above will be assigned a unique UID since -the `uid` field is omitted. - -[The Ratel UI (and HTTP clients) expect JSON data to be stored within the `"set"` -key]({{< relref "mutations/index.md#json-syntax-using-raw-http-or-ratel-ui" ->}}). You can use `jq` to transform the JSON into the correct format: - -```sh -$ cat names.json | jq '{ set: . }' -``` -```json -{ - "set": [ - { - "Name": "Dgraph", - "URL": "https://github.com/dgraph-io/dgraph" - }, - { - "Name": "Badger", - "URL": "https://github.com/dgraph-io/badger" - } - ] -} -``` - -Let's say you have CSV data in a file named connects.csv that's connecting nodes -together. Here, the `connects` field should `uid` type. - -```csv -uid,connects -_:a,_:b -_:a,_:c -_:c,_:d -_:d,_:a -``` - -{{% notice "note" %}} -To reuse existing integer IDs from a CSV file as UIDs in Dgraph, use Dgraph Zero's [assign endpoint]({{< relref "deploy/index.md#more-about-dgraph-zero" >}}) before data loading to allocate a range of UIDs that can be safely assigned. -{{% /notice %}} - -To get the correct JSON format, you can convert the CSV into JSON and use `jq` -to transform it in the correct format where the `connects` edge is a node uid: - -```sh -$ csv2json connects.csv | jq '[ .[] | { uid: .uid, connects: { uid: .connects } } ]' -``` - -```json -[ - { - "uid": "_:a", - "connects": { - "uid": "_:b" - } - }, - { - "uid": "_:a", - "connects": { - "uid": "_:c" - } - }, - { - "uid": "_:c", - "connects": { - "uid": "_:d" - } - }, - { - "uid": "_:d", - "connects": { - "uid": "_:a" - } - } -] -``` - -You can modify the `jq` transformation to output the mutation format accepted by -Ratel UI and HTTP clients: - -```sh -$ csv2json connects.csv | jq '{ set: [ .[] | {uid: .uid, connects: { uid: .connects } } ] }' -``` -```json -{ - "set": [ - { - "uid": "_:a", - "connects": { - "uid": "_:b" - } - }, - { - "uid": "_:a", - "connects": { - "uid": "_:c" - } - }, - { - "uid": "_:c", - "connects": { - "uid": "_:d" - } - }, - { - "uid": "_:d", - "connects": { - "uid": "_:a" - } - } - ] -} -``` - -## A Simple Login System - -{{% notice "note" %}} -This example is based on part of the [transactions in -v0.9](https://blog.dgraph.io/post/v0.9/) blogpost. Error checking has been -omitted for brevity. -{{% /notice %}} - -Schema is assumed to be: -``` -// @upsert directive is important to detect conflicts. -email: string @index(exact) @upsert . # @index(hash) would also work -pass: password . -``` - -``` -// Create a new transaction. The deferred call to Discard -// ensures that server-side resources are cleaned up. -txn := client.NewTxn() -defer txn.Discard(ctx) - -// Create and execute a query to looks up an email and checks if the password -// matches. -q := fmt.Sprintf(` - { - login_attempt(func: eq(email, %q)) { - checkpwd(pass, %q) - } - } -`, email, pass) -resp, err := txn.Query(ctx, q) - -// Unmarshal the response into a struct. It will be empty if the email couldn't -// be found. Otherwise it will contain a bool to indicate if the password matched. -var login struct { - Account []struct { - Pass []struct { - CheckPwd bool `json:"checkpwd"` - } `json:"pass"` - } `json:"login_attempt"` -} -err = json.Unmarshal(resp.GetJson(), &login); err != nil { - -// Now perform the upsert logic. -if len(login.Account) == 0 { - fmt.Println("Account doesn't exist! Creating new account.") - mu := &protos.Mutation{ - SetJson: []byte(fmt.Sprintf(`{ "email": %q, "pass": %q }`, email, pass)), - } - _, err = txn.Mutate(ctx, mu) - // Commit the mutation, making it visible outside of the transaction. - err = txn.Commit(ctx) -} else if login.Account[0].Pass[0].CheckPwd { - fmt.Println("Login successful!") -} else { - fmt.Println("Wrong email or password.") -} -``` -## Load balancing queries with Nginx - -There might be times when you'll want to set up a load balancer to accomplish goals such as increasing the utilization of your database by sending queries from the app to multiple database server replicas. You can follow these steps to get started with that. - -### Download ZIP - -Download the contents of this gist's ZIP file and extract it to a directory called `graph-nginx` - -``` -mkdir dgraph-nginx -cd dgraph-nginx -wget -O dgraph-nginx.zip https://gist.github.com/danielmai/0cf7647b27c7626ad8944c4245a9981e/archive/5a2f1a49ca2f77bc39981749e4783e3443eb3ad9.zip -unzip -j dgraph-nginx.zip -``` -Two files will be created: `docker-compose.yml` and `nginx.conf`. - -### Start Dgraph cluster - -Start a 6-node Dgraph cluster (3 Dgraph Zero, 3 Dgraph Alpha, replication setting 3) by starting the Docker Compose config: - -``` -docker-compose up -``` -### Use the increment tool to start a gRPC LB - -In a different shell, run the `dgraph increment` [docs](https://dgraph.io/docs/howto/#using-the-increment-tool) tool against the Nginx gRPC load balancer (`nginx:9080`): - -``` -docker-compose exec alpha1 dgraph increment --alpha nginx:9080 --num=10 -``` -If you have `dgraph` installed on your host machine, then you can also run this from the host: - -``` -dgraph increment --alpha localhost:9080 --num=10 -``` -The increment tool uses the Dgraph Go client to establish a gRPC connection against the `--alpha` flag and transactionally increments a counter predicate `--num` times. - -### Check logs - -In the Nginx access logs (in the docker-compose up shell window), you'll see access logs like the following: - -{{% notice "note" %}} -It is important to take into account with gRPC load balancing that every request hits a different Alpha, potentially increasing read throughput. -{{% /notice %}} - -``` -nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.7:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.008 msec 1579057922.135 request_time 0.009 -nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.2:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.012 msec 1579057922.149 request_time 0.013 -nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.5:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.008 msec 1579057922.162 request_time 0.012 -nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.7:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.012 msec 1579057922.176 request_time 0.013 -nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.2:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.012 msec 1579057922.188 request_time 0.011 -nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.5:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.016 msec 1579057922.202 request_time 0.013 -``` -These logs show that traffic os being load balanced to the following upstream addresses defined in alpha_grpc in nginx.conf: - -- `nginx to: 172.20.0.7` -- `nginx to: 172.20.0.2` -- `nginx to: 172.20.0.5` - -By default, Nginx load balancing is done round-robin. - -## Upserts - -Upsert-style operations are operations where: - -1. A node is searched for, and then -2. Depending on if it is found or not, either: - - Updating some of its attributes, or - - Creating a new node with those attributes. - -The upsert has to be an atomic operation such that either a new node is -created, or an existing node is modified. It's not allowed that two concurrent -upserts both create a new node. - -There are many examples where upserts are useful. Most examples involve the -creation of a 1 to 1 mapping between two different entities. E.g. associating -email addresses with user accounts. - -Upserts are common in both traditional RDBMSs and newer NoSQL databases. -Dgraph is no exception. - -### Upsert Procedure - -In Dgraph, upsert-style behaviour can be implemented by users on top of -transactions. The steps are as follows: - -1. Create a new transaction. - -2. Query for the node. This will usually be as simple as `{ q(func: eq(email, - "bob@example.com")) { uid }}`. If a `uid` result is returned, then that's the -`uid` for the existing node. If no results are returned, then the user account -doesn't exist. - -3. In the case where the user account doesn't exist, then a new node has to be - created. This is done in the usual way by making a mutation (inside the -transaction), e.g. the RDF `_:newAccount "bob@example.com" .`. The -`uid` assigned can be accessed by looking up the blank node name `newAccount` -in the `Assigned` object returned from the mutation. - -4. Now that you have the `uid` of the account (either new or existing), you can - modify the account (using additional mutations) or perform queries on it in -whichever way you wish. - -### Upsert Block - -You can also use the `Upsert Block` to achieve the upsert procedure in a single - mutation. The request will contain both the query and the mutation as explained -[here]({{< relref "mutations/index.md#upsert-block" >}}). - -### Conflicts - -Upsert operations are intended to be run concurrently, as per the needs of the -application. As such, it's possible that two concurrently running operations -could try to add the same node at the same time. For example, both try to add a -user with the same email address. If they do, then one of the transactions will -fail with an error indicating that the transaction was aborted. - -If this happens, the transaction is rolled back and it's up to the user's -application logic to retry the whole operation. The transaction has to be -retried in its entirety, all the way from creating a new transaction. - -The choice of index placed on the predicate is important for performance. -**Hash is almost always the best choice of index for equality checking.** - -{{% notice "note" %}} -It's the _index_ that typically causes upsert conflicts to occur. The index is -stored as many key/value pairs, where each key is a combination of the -predicate name and some function of the predicate value (e.g. its hash for the -hash index). If two transactions modify the same key concurrently, then one -will fail. -{{% /notice %}} - -## Run Jepsen tests - -1. Clone the jepsen repo at [https://github.com/jepsen-io/jepsen](https://github.com/jepsen-io/jepsen). - -```sh -git clone git@github.com:jepsen-io/jepsen.git -``` - -2. Run the following command to setup the instances from the repo. - -```sh -cd docker && ./up.sh -``` - -This should start 5 jepsen nodes in docker containers. - -3. Now ssh into `jepsen-control` container and run the tests. - -{{% notice "note" %}} -You can use the [transfer](https://github.com/dgraph-io/dgraph/blob/master/contrib/nightly/transfer.sh) script to build the Dgraph binary and upload the tarball to https://transfer.sh, which gives you a url that can then be used in the Jepsen tests (using --package-url flag). -{{% /notice %}} - - - -```sh -docker exec -it jepsen-control bash -``` - -```sh -root@control:/jepsen# cd dgraph -root@control:/jepsen/dgraph# lein run test -w upsert - -# Specify a --package-url - -root@control:/jepsen/dgraph# lein run test --force-download --package-url https://github.com/dgraph-io/dgraph/releases/download/nightly/dgraph-linux-amd64.tar.gz -w upsert -``` - -## Migrate to Dgraph v1.1 - -### Schema types: scalar `uid` and list `[uid]` - -The semantics of predicates of type `uid` has changed in Dgraph 1.1. Whereas before all `uid` predicates implied a one-to-many relationship, now a one-to-one relationship or a one-to-many relationship can be expressed. - -``` -friend: [uid] . -best_friend: uid . -``` - -In the above, the predicate `friend` allows a one-to-many relationship (i.e a person can have more than one friend) and the predicate best_friend can be at most a one-to-one relationship. - -This syntactic meaning is consistent with the other types, e.g., `string` indicating a single-value string and `[string]` representing many strings. This change makes the `uid` type work similarly to other types. - -To migrate existing schemas from Dgraph v1.0 to Dgraph v1.1, update the schema file from an export so all predicates of type `uid` are changed to `[uid]`. Then use the updated schema when loading data into Dgraph v1.1. For example, for the following schema: - -```text -name: string . -friend: uid . -``` - -becomes - -```text -name: string . -friend: [uid] . -``` -### Type system - -The new [type system]({{< relref "query-language/index.md#type-system" >}}) introduced in Dgraph 1.1 should not affect migrating data from a previous version. However, a couple of features in the query language will not work as they did before: `expand()` and `_predicate_`. - -The reason is that the internal predicate that associated each node with its predicates (called `_predicate_`) has been removed. Instead, to get the predicates that belong to a node, the type system is used. - -#### `expand()` - -Expand queries will not work until the type system has been properly set up. For example, the following query will return an empty result in Dgraph 1.1 if the node 0xff has no type information. - -```text -{ - me(func: uid(0xff)) { - expand(_all_) - } -} -``` - -To make it work again, add a type definition via the alter endpoint. Let’s assume the node in the previous example represents a person. Then, the basic Person type could be defined as follows: - -```text -type Person { - name - age -} -``` - -After that, the node is associated with the type by adding the following RDF triple to Dgraph (using a mutation): - -```text -<0xff> "Person" . -``` - -After that, the results of the query in both Dgraph v1.0 and Dgraph v1.1 should be the same. - -#### `_predicate_` - -The other consequence of removing `_predicate_` is that it cannot be referenced explicitly in queries. In Dgraph 1.0, the following query returns the predicates of the node 0xff. - -```ql -{ - me(func: uid(0xff)) { - _predicate_ # NOT available in Dgraph v1.1 - } -} -``` - -**There’s no exact equivalent of this behavior in Dgraph 1.1**, but the information can be queried by first querying for the types associated with that node with the query - -```text -{ - me(func: uid(0xff)) { - dgraph.type - } -} -``` - -And then retrieving the definition of each type in the results using a schema query. - -```text -schema(type: Person) {} -``` - -### Live Loader and Bulk Loader command-line flags - -#### File input flags -In Dgraph v1.1, both the Dgraph Live Loader and Dgraph Bulk Loader tools support loading data in either RDF format or JSON format. To simplify the command-line interface for these tools, the `-r`/`--rdfs` flag has been removed in favor of `-f/--files`. The new flag accepts file or directory paths for either data format. By default, the tools will infer the file type based on the file suffix, e.g., `.rdf` and `.rdf.gz` or `.json` and `.json.gz` for RDF data or JSON data, respectively. To ignore the filenames and set the format explicitly, the `--format` flag can be set to `rdf` or `json`. - -Before (in Dgraph v1.0): - -```sh -dgraph live -r data.rdf.gz -``` - -Now (in Dgraph v1.1): - -```sh -dgraph live -f data.rdf.gz -``` - -#### Dgraph Alpha address flag -For Dgraph Live Loader, the flag to specify the Dgraph Alpha address (default: `127.0.0.1:9080`) has changed from `-d`/`--dgraph` to `-a`/`--alpha`. - -Before (in Dgraph v1.0): - -```sh -dgraph live -d 127.0.0.1:9080 -``` - -Now (in Dgraph v1.1): - -```sh -dgraph live -a 127.0.0.1:9080 -``` -### HTTP API - -For HTTP API users (e.g., Curl, Postman), the custom Dgraph headers have been removed in favor of standard HTTP headers and query parameters. - -#### Queries - -There are two accepted `Content-Type` headers for queries over HTTP: `application/graphql+-` or `application/json`. - -A `Content-Type` must be set to run a query. - -Before (in Dgraph v1.0): - -```sh -curl localhost:8080/query -d '{ - q(func: eq(name, "Dgraph")) { - name - } -}' -``` - -Now (in Dgraph v1.1): - -```sh -curl -H 'Content-Type: application/graphql+-' localhost:8080/query -d '{ - q(func: eq(name, "Dgraph")) { - name - } -}' -``` - -For queries using [GraphQL Variables]({{< relref "query-language/index.md#graphql-variables" >}}), the query must be sent via the `application/json` content type, with the query and variables sent in a JSON payload: - -Before (in Dgraph v1.0): - -```sh -curl -H 'X-Dgraph-Vars: {"$name": "Alice"}' localhost:8080/query -d 'query qWithVars($name: string) { - q(func: eq(name, $name)) { - name - } -} -``` - -Now (in Dgraph v1.1): - -```sh -curl -H 'Content-Type: application/json' localhost:8080/query -d '{ - "query": "query qWithVars($name: string) { q(func: eq(name, $name)) { name } }", - "variables": {"$name": "Alice"} -}' -``` - -#### Mutations - -There are two accepted Content-Type headers for mutations over HTTP: `Content-Type: application/rdf` or `Content-Type: application/json`. - -A `Content-Type` must be set to run a mutation. - -These Content-Type headers supercede the Dgraph v1.0.x custom header `X-Dgraph-MutationType` to set the mutation type as RDF or JSON. - -To commit the mutation immediately, use the query parameter `commitNow=true`. This replaces the custom header `X-Dgraph-CommitNow: true` from Dgraph v1.0.x. - -Before (in Dgraph v1.0) - -```sh -curl -H 'X-Dgraph-CommitNow: true' localhost:8080/mutate -d '{ - set { - _:n "Alice" . - _:n "Person" . - } -}' -``` - -Now (in Dgraph v1.1): - -```sh -curl -H 'Content-Type: application/rdf' localhost:8080/mutate?commitNow=true -d '{ - set { - _:n "Alice" . - _:n "Person" . - } -}' -``` - -For JSON mutations, set the `Content-Type` header to `application/json`. - -Before (in Dgraph v1.0): - -```sh -curl -H 'X-Dgraph-MutationType: json' -H "X-Dgraph-CommitNow: true" locahost:8080/mutate -d '{ - "set": [ - { - "name": "Alice" - } - ] -}' -``` - -Now (in Dgraph v1.1): - -```sh -curl -H 'Content-Type: application/json' locahost:8080/mutate?commitNow=true -d '{ - "set": [ - { - "name": "Alice" - } - ] -}' -``` diff --git a/wiki/content/howto/jepson-tests.md b/wiki/content/howto/jepson-tests.md new file mode 100644 index 00000000000..ee9ffc9d69a --- /dev/null +++ b/wiki/content/howto/jepson-tests.md @@ -0,0 +1,42 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Run Jepsen tests" +[menu.main] + parent = "howto" + weight = 10 ++++ + +1. Clone the jepsen repo at [https://github.com/jepsen-io/jepsen](https://github.com/jepsen-io/jepsen). + +```sh +git clone git@github.com:jepsen-io/jepsen.git +``` + +2. Run the following command to setup the instances from the repo. + +```sh +cd docker && ./up.sh +``` + +This should start 5 jepsen nodes in docker containers. + +3. Now ssh into `jepsen-control` container and run the tests. + +{{% notice "note" %}} +You can use the [transfer](https://github.com/dgraph-io/dgraph/blob/master/contrib/nightly/transfer.sh) script to build the Dgraph binary and upload the tarball to https://transfer.sh, which gives you a url that can then be used in the Jepsen tests (using --package-url flag). +{{% /notice %}} + + + +```sh +docker exec -it jepsen-control bash +``` + +```sh +root@control:/jepsen# cd dgraph +root@control:/jepsen/dgraph# lein run test -w upsert + +# Specify a --package-url + +root@control:/jepsen/dgraph# lein run test --force-download --package-url https://github.com/dgraph-io/dgraph/releases/download/nightly/dgraph-linux-amd64.tar.gz -w upsert +``` \ No newline at end of file diff --git a/wiki/content/howto/load-balancing-nginx.md b/wiki/content/howto/load-balancing-nginx.md new file mode 100644 index 00000000000..c88f42a8783 --- /dev/null +++ b/wiki/content/howto/load-balancing-nginx.md @@ -0,0 +1,66 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Load balancing queries with Nginx" +[menu.main] + parent = "howto" + weight = 8 ++++ + +There might be times when you'll want to set up a load balancer to accomplish goals such as increasing the utilization of your database by sending queries from the app to multiple database server replicas. You can follow these steps to get started with that. + +## Download ZIP + +Download the contents of this gist's ZIP file and extract it to a directory called `graph-nginx` + +``` +mkdir dgraph-nginx +cd dgraph-nginx +wget -O dgraph-nginx.zip https://gist.github.com/danielmai/0cf7647b27c7626ad8944c4245a9981e/archive/5a2f1a49ca2f77bc39981749e4783e3443eb3ad9.zip +unzip -j dgraph-nginx.zip +``` +Two files will be created: `docker-compose.yml` and `nginx.conf`. + +## Start Dgraph cluster + +Start a 6-node Dgraph cluster (3 Dgraph Zero, 3 Dgraph Alpha, replication setting 3) by starting the Docker Compose config: + +``` +docker-compose up +``` +## Use the increment tool to start a gRPC LB + +In a different shell, run the `dgraph increment` [docs](https://dgraph.io/docs/howto/#using-the-increment-tool) tool against the Nginx gRPC load balancer (`nginx:9080`): + +``` +docker-compose exec alpha1 dgraph increment --alpha nginx:9080 --num=10 +``` +If you have `dgraph` installed on your host machine, then you can also run this from the host: + +``` +dgraph increment --alpha localhost:9080 --num=10 +``` +The increment tool uses the Dgraph Go client to establish a gRPC connection against the `--alpha` flag and transactionally increments a counter predicate `--num` times. + +## Check logs + +In the Nginx access logs (in the docker-compose up shell window), you'll see access logs like the following: + +{{% notice "note" %}} +It is important to take into account with gRPC load balancing that every request hits a different Alpha, potentially increasing read throughput. +{{% /notice %}} + +``` +nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.7:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.008 msec 1579057922.135 request_time 0.009 +nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.2:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.012 msec 1579057922.149 request_time 0.013 +nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.5:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.008 msec 1579057922.162 request_time 0.012 +nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.7:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.012 msec 1579057922.176 request_time 0.013 +nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.2:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.012 msec 1579057922.188 request_time 0.011 +nginx_1 | [15/Jan/2020:03:12:02 +0000] 172.20.0.9 - - - nginx to: 172.20.0.5:9080: POST /api.Dgraph/Query HTTP/2.0 200 upstream_response_time 0.016 msec 1579057922.202 request_time 0.013 +``` +These logs show that traffic os being load balanced to the following upstream addresses defined in alpha_grpc in nginx.conf: + +- `nginx to: 172.20.0.7` +- `nginx to: 172.20.0.2` +- `nginx to: 172.20.0.5` + +By default, Nginx load balancing is done round-robin. \ No newline at end of file diff --git a/wiki/content/howto/loading-csv-data.md b/wiki/content/howto/loading-csv-data.md new file mode 100644 index 00000000000..5984276f1ba --- /dev/null +++ b/wiki/content/howto/loading-csv-data.md @@ -0,0 +1,150 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Loading CSV Data" +[menu.main] + parent = "howto" + weight = 6 ++++ + +[Dgraph mutations]({{< relref "mutations/_index.md" >}}) are accepted in RDF +N-Quad and JSON formats. To load CSV-formatted data into Dgraph, first convert +the dataset into one of the accepted formats and then load the resulting dataset +into Dgraph. This section demonstrates converting CSV into JSON. There are +many tools available to convert CSV to JSON. For example, you can use +[`d3-dsv`](https://github.com/d3/d3-dsv)'s `csv2json` tool as shown below: + +```csv +Name,URL +Dgraph,https://github.com/dgraph-io/dgraph +Badger,https://github.com/dgraph-io/badger +``` + +```sh +$ csv2json names.csv --out names.json +$ cat names.json | jq '.' +[ + { + "Name": "Dgraph", + "URL": "https://github.com/dgraph-io/dgraph" + }, + { + "Name": "Badger", + "URL": "https://github.com/dgraph-io/badger" + } +] +``` + +This JSON can be loaded into Dgraph via the programmatic clients. This follows +the [JSON Mutation Format]({{< relref "mutations/json-mutation-format.md" >}}). +Note that each JSON object in the list above will be assigned a unique UID since +the `uid` field is omitted. + +[The Ratel UI (and HTTP clients) expect JSON data to be stored within the `"set"` +key]({{< relref "mutations/json-mutation-format.md#json-syntax-using-raw-http-or-ratel-ui" +>}}). You can use `jq` to transform the JSON into the correct format: + +```sh +$ cat names.json | jq '{ set: . }' +``` +```json +{ + "set": [ + { + "Name": "Dgraph", + "URL": "https://github.com/dgraph-io/dgraph" + }, + { + "Name": "Badger", + "URL": "https://github.com/dgraph-io/badger" + } + ] +} +``` + +Let's say you have CSV data in a file named connects.csv that's connecting nodes +together. Here, the `connects` field should `uid` type. + +```csv +uid,connects +_:a,_:b +_:a,_:c +_:c,_:d +_:d,_:a +``` + +{{% notice "note" %}} +To reuse existing integer IDs from a CSV file as UIDs in Dgraph, use Dgraph Zero's [assign endpoint]({{< relref "deploy/index.md#more-about-dgraph-zero" >}}) before data loading to allocate a range of UIDs that can be safely assigned. +{{% /notice %}} + +To get the correct JSON format, you can convert the CSV into JSON and use `jq` +to transform it in the correct format where the `connects` edge is a node uid: + +```sh +$ csv2json connects.csv | jq '[ .[] | { uid: .uid, connects: { uid: .connects } } ]' +``` + +```json +[ + { + "uid": "_:a", + "connects": { + "uid": "_:b" + } + }, + { + "uid": "_:a", + "connects": { + "uid": "_:c" + } + }, + { + "uid": "_:c", + "connects": { + "uid": "_:d" + } + }, + { + "uid": "_:d", + "connects": { + "uid": "_:a" + } + } +] +``` + +You can modify the `jq` transformation to output the mutation format accepted by +Ratel UI and HTTP clients: + +```sh +$ csv2json connects.csv | jq '{ set: [ .[] | {uid: .uid, connects: { uid: .connects } } ] }' +``` +```json +{ + "set": [ + { + "uid": "_:a", + "connects": { + "uid": "_:b" + } + }, + { + "uid": "_:a", + "connects": { + "uid": "_:c" + } + }, + { + "uid": "_:c", + "connects": { + "uid": "_:d" + } + }, + { + "uid": "_:d", + "connects": { + "uid": "_:a" + } + } + ] +} +``` diff --git a/wiki/content/howto/login-system.md b/wiki/content/howto/login-system.md new file mode 100644 index 00000000000..327da367ffb --- /dev/null +++ b/wiki/content/howto/login-system.md @@ -0,0 +1,64 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "A Simple Login System" +[menu.main] + parent = "howto" + weight = 7 ++++ + +{{% notice "note" %}} +This example is based on part of the [transactions in +v0.9](https://blog.dgraph.io/post/v0.9/) blogpost. Error checking has been +omitted for brevity. +{{% /notice %}} + +Schema is assumed to be: +``` +// @upsert directive is important to detect conflicts. +email: string @index(exact) @upsert . # @index(hash) would also work +pass: password . +``` + +``` +// Create a new transaction. The deferred call to Discard +// ensures that server-side resources are cleaned up. +txn := client.NewTxn() +defer txn.Discard(ctx) + +// Create and execute a query to looks up an email and checks if the password +// matches. +q := fmt.Sprintf(` + { + login_attempt(func: eq(email, %q)) { + checkpwd(pass, %q) + } + } +`, email, pass) +resp, err := txn.Query(ctx, q) + +// Unmarshal the response into a struct. It will be empty if the email couldn't +// be found. Otherwise it will contain a bool to indicate if the password matched. +var login struct { + Account []struct { + Pass []struct { + CheckPwd bool `json:"checkpwd"` + } `json:"pass"` + } `json:"login_attempt"` +} +err = json.Unmarshal(resp.GetJson(), &login); err != nil { + +// Now perform the upsert logic. +if len(login.Account) == 0 { + fmt.Println("Account doesn't exist! Creating new account.") + mu := &protos.Mutation{ + SetJson: []byte(fmt.Sprintf(`{ "email": %q, "pass": %q }`, email, pass)), + } + _, err = txn.Mutate(ctx, mu) + // Commit the mutation, making it visible outside of the transaction. + err = txn.Commit(ctx) +} else if login.Account[0].Pass[0].CheckPwd { + fmt.Println("Login successful!") +} else { + fmt.Println("Wrong email or password.") +} +``` \ No newline at end of file diff --git a/wiki/content/howto/migrate-dgraph-1-1.md b/wiki/content/howto/migrate-dgraph-1-1.md new file mode 100644 index 00000000000..3ac1857c662 --- /dev/null +++ b/wiki/content/howto/migrate-dgraph-1-1.md @@ -0,0 +1,236 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Migrate to Dgraph v1.1" +[menu.main] + parent = "howto" + weight = 11 ++++ + +## Schema types: scalar `uid` and list `[uid]` + +The semantics of predicates of type `uid` has changed in Dgraph 1.1. Whereas before all `uid` predicates implied a one-to-many relationship, now a one-to-one relationship or a one-to-many relationship can be expressed. + +``` +friend: [uid] . +best_friend: uid . +``` + +In the above, the predicate `friend` allows a one-to-many relationship (i.e a person can have more than one friend) and the predicate best_friend can be at most a one-to-one relationship. + +This syntactic meaning is consistent with the other types, e.g., `string` indicating a single-value string and `[string]` representing many strings. This change makes the `uid` type work similarly to other types. + +To migrate existing schemas from Dgraph v1.0 to Dgraph v1.1, update the schema file from an export so all predicates of type `uid` are changed to `[uid]`. Then use the updated schema when loading data into Dgraph v1.1. For example, for the following schema: + +```text +name: string . +friend: uid . +``` + +becomes + +```text +name: string . +friend: [uid] . +``` +## Type system + +The new [type system]({{< relref "query-language/type-system.md" >}}) introduced in Dgraph 1.1 should not affect migrating data from a previous version. However, a couple of features in the query language will not work as they did before: `expand()` and `_predicate_`. + +The reason is that the internal predicate that associated each node with its predicates (called `_predicate_`) has been removed. Instead, to get the predicates that belong to a node, the type system is used. + +### `expand()` + +Expand queries will not work until the type system has been properly set up. For example, the following query will return an empty result in Dgraph 1.1 if the node 0xff has no type information. + +```text +{ + me(func: uid(0xff)) { + expand(_all_) + } +} +``` + +To make it work again, add a type definition via the alter endpoint. Let’s assume the node in the previous example represents a person. Then, the basic Person type could be defined as follows: + +```text +type Person { + name + age +} +``` + +After that, the node is associated with the type by adding the following RDF triple to Dgraph (using a mutation): + +```text +<0xff> "Person" . +``` + +After that, the results of the query in both Dgraph v1.0 and Dgraph v1.1 should be the same. + +### `_predicate_` + +The other consequence of removing `_predicate_` is that it cannot be referenced explicitly in queries. In Dgraph 1.0, the following query returns the predicates of the node 0xff. + +```ql +{ + me(func: uid(0xff)) { + _predicate_ # NOT available in Dgraph v1.1 + } +} +``` + +**There’s no exact equivalent of this behavior in Dgraph 1.1**, but the information can be queried by first querying for the types associated with that node with the query + +```text +{ + me(func: uid(0xff)) { + dgraph.type + } +} +``` + +And then retrieving the definition of each type in the results using a schema query. + +```text +schema(type: Person) {} +``` + +## Live Loader and Bulk Loader command-line flags + +### File input flags +In Dgraph v1.1, both the Dgraph Live Loader and Dgraph Bulk Loader tools support loading data in either RDF format or JSON format. To simplify the command-line interface for these tools, the `-r`/`--rdfs` flag has been removed in favor of `-f/--files`. The new flag accepts file or directory paths for either data format. By default, the tools will infer the file type based on the file suffix, e.g., `.rdf` and `.rdf.gz` or `.json` and `.json.gz` for RDF data or JSON data, respectively. To ignore the filenames and set the format explicitly, the `--format` flag can be set to `rdf` or `json`. + +Before (in Dgraph v1.0): + +```sh +dgraph live -r data.rdf.gz +``` + +Now (in Dgraph v1.1): + +```sh +dgraph live -f data.rdf.gz +``` + +### Dgraph Alpha address flag +For Dgraph Live Loader, the flag to specify the Dgraph Alpha address (default: `127.0.0.1:9080`) has changed from `-d`/`--dgraph` to `-a`/`--alpha`. + +Before (in Dgraph v1.0): + +```sh +dgraph live -d 127.0.0.1:9080 +``` + +Now (in Dgraph v1.1): + +```sh +dgraph live -a 127.0.0.1:9080 +``` +## HTTP API + +For HTTP API users (e.g., Curl, Postman), the custom Dgraph headers have been removed in favor of standard HTTP headers and query parameters. + +### Queries + +There are two accepted `Content-Type` headers for queries over HTTP: `application/graphql+-` or `application/json`. + +A `Content-Type` must be set to run a query. + +Before (in Dgraph v1.0): + +```sh +curl localhost:8080/query -d '{ + q(func: eq(name, "Dgraph")) { + name + } +}' +``` + +Now (in Dgraph v1.1): + +```sh +curl -H 'Content-Type: application/graphql+-' localhost:8080/query -d '{ + q(func: eq(name, "Dgraph")) { + name + } +}' +``` + +For queries using [GraphQL Variables]({{< relref "query-language/graphql-variables.md" >}}), the query must be sent via the `application/json` content type, with the query and variables sent in a JSON payload: + +Before (in Dgraph v1.0): + +```sh +curl -H 'X-Dgraph-Vars: {"$name": "Alice"}' localhost:8080/query -d 'query qWithVars($name: string) { + q(func: eq(name, $name)) { + name + } +} +``` + +Now (in Dgraph v1.1): + +```sh +curl -H 'Content-Type: application/json' localhost:8080/query -d '{ + "query": "query qWithVars($name: string) { q(func: eq(name, $name)) { name } }", + "variables": {"$name": "Alice"} +}' +``` + +### Mutations + +There are two accepted Content-Type headers for mutations over HTTP: `Content-Type: application/rdf` or `Content-Type: application/json`. + +A `Content-Type` must be set to run a mutation. + +These Content-Type headers supercede the Dgraph v1.0.x custom header `X-Dgraph-MutationType` to set the mutation type as RDF or JSON. + +To commit the mutation immediately, use the query parameter `commitNow=true`. This replaces the custom header `X-Dgraph-CommitNow: true` from Dgraph v1.0.x. + +Before (in Dgraph v1.0) + +```sh +curl -H 'X-Dgraph-CommitNow: true' localhost:8080/mutate -d '{ + set { + _:n "Alice" . + _:n "Person" . + } +}' +``` + +Now (in Dgraph v1.1): + +```sh +curl -H 'Content-Type: application/rdf' localhost:8080/mutate?commitNow=true -d '{ + set { + _:n "Alice" . + _:n "Person" . + } +}' +``` + +For JSON mutations, set the `Content-Type` header to `application/json`. + +Before (in Dgraph v1.0): + +```sh +curl -H 'X-Dgraph-MutationType: json' -H "X-Dgraph-CommitNow: true" locahost:8080/mutate -d '{ + "set": [ + { + "name": "Alice" + } + ] +}' +``` + +Now (in Dgraph v1.1): + +```sh +curl -H 'Content-Type: application/json' locahost:8080/mutate?commitNow=true -d '{ + "set": [ + { + "name": "Alice" + } + ] +}' +``` diff --git a/wiki/content/howto/retrieving-debug-information.md b/wiki/content/howto/retrieving-debug-information.md new file mode 100644 index 00000000000..1acf5e868e3 --- /dev/null +++ b/wiki/content/howto/retrieving-debug-information.md @@ -0,0 +1,56 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Retrieving Debug Information" +[menu.main] + parent = "howto" + weight = 1 ++++ + +Each Dgraph data node exposes profile over `/debug/pprof` endpoint and metrics over `/debug/vars` endpoint. Each Dgraph data node has it's own profiling and metrics information. Below is a list of debugging information exposed by Dgraph and the corresponding commands to retrieve them. + +## Metrics Information + +If you are collecting these metrics from outside the Dgraph instance you need to pass `--expose_trace=true` flag, otherwise there metrics can be collected by connecting to the instance over localhost. + +``` +curl http://:/debug/vars +``` + +Metrics can also be retrieved in the Prometheus format at `/debug/prometheus_metrics`. See the [Metrics]({{< relref "deploy/metrics.md" >}}) section for the full list of metrics. + +## Profiling Information + +Profiling information is available via the `go tool pprof` profiling tool built into Go. The ["Profiling Go programs"](https://blog.golang.org/profiling-go-programs) Go blog post will help you get started with using pprof. Each Dgraph Zero and Dgraph Alpha exposes a debug endpoint at `/debug/pprof/` via the HTTP port. + +``` +go tool pprof http://:/debug/pprof/heap +Fetching profile from ... +Saved Profile in ... +``` +The output of the command would show the location where the profile is stored. + +In the interactive pprof shell, you can use commands like `top` to get a listing of the top functions in the profile, `web` to get a visual graph of the profile opened in a web browser, or `list` to display a code listing with profiling information overlaid. + +### CPU Profile + +``` +go tool pprof http://:/debug/pprof/profile +``` + +### Memory Profile + +``` +go tool pprof http://:/debug/pprof/heap +``` + +### Block Profile + +Dgraph by default doesn't collect the block profile. Dgraph must be started with `--profile_mode=block` and `--block_rate=` with N > 1. + +``` +go tool pprof http://:/debug/pprof/block +``` + +### Goroutine stack + +The HTTP page `/debug/pprof/` is available at the HTTP port of a Dgraph Zero or Dgraph Alpha. From this page a link to the "full goroutine stack dump" is available (e.g., on a Dgraph Alpha this page would be at `http://localhost:8080/debug/pprof/goroutine?debug=2`). Looking at the full goroutine stack can be useful to understand goroutine usage at that moment. \ No newline at end of file diff --git a/wiki/content/howto/upserts.md b/wiki/content/howto/upserts.md new file mode 100644 index 00000000000..a0b44ba074b --- /dev/null +++ b/wiki/content/howto/upserts.md @@ -0,0 +1,76 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Upserts" +[menu.main] + parent = "howto" + weight = 9 ++++ + +Upsert-style operations are operations where: + +1. A node is searched for, and then +2. Depending on if it is found or not, either: + - Updating some of its attributes, or + - Creating a new node with those attributes. + +The upsert has to be an atomic operation such that either a new node is +created, or an existing node is modified. It's not allowed that two concurrent +upserts both create a new node. + +There are many examples where upserts are useful. Most examples involve the +creation of a 1 to 1 mapping between two different entities. E.g. associating +email addresses with user accounts. + +Upserts are common in both traditional RDBMSs and newer NoSQL databases. +Dgraph is no exception. + +## Upsert Procedure + +In Dgraph, upsert-style behaviour can be implemented by users on top of +transactions. The steps are as follows: + +1. Create a new transaction. + +2. Query for the node. This will usually be as simple as `{ q(func: eq(email, + "bob@example.com")) { uid }}`. If a `uid` result is returned, then that's the +`uid` for the existing node. If no results are returned, then the user account +doesn't exist. + +3. In the case where the user account doesn't exist, then a new node has to be + created. This is done in the usual way by making a mutation (inside the +transaction), e.g. the RDF `_:newAccount "bob@example.com" .`. The +`uid` assigned can be accessed by looking up the blank node name `newAccount` +in the `Assigned` object returned from the mutation. + +4. Now that you have the `uid` of the account (either new or existing), you can + modify the account (using additional mutations) or perform queries on it in +whichever way you wish. + +## Upsert Block + +You can also use the `Upsert Block` to achieve the upsert procedure in a single + mutation. The request will contain both the query and the mutation as explained +[here]({{< relref "mutations/upsert-block.md" >}}). + +## Conflicts + +Upsert operations are intended to be run concurrently, as per the needs of the +application. As such, it's possible that two concurrently running operations +could try to add the same node at the same time. For example, both try to add a +user with the same email address. If they do, then one of the transactions will +fail with an error indicating that the transaction was aborted. + +If this happens, the transaction is rolled back and it's up to the user's +application logic to retry the whole operation. The transaction has to be +retried in its entirety, all the way from creating a new transaction. + +The choice of index placed on the predicate is important for performance. +**Hash is almost always the best choice of index for equality checking.** + +{{% notice "note" %}} +It's the _index_ that typically causes upsert conflicts to occur. The index is +stored as many key/value pairs, where each key is a combination of the +predicate name and some function of the predicate value (e.g. its hash for the +hash index). If two transactions modify the same key concurrently, then one +will fail. +{{% /notice %}} \ No newline at end of file diff --git a/wiki/content/howto/using-debug-tool.md b/wiki/content/howto/using-debug-tool.md new file mode 100644 index 00000000000..3ed679eac62 --- /dev/null +++ b/wiki/content/howto/using-debug-tool.md @@ -0,0 +1,231 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Using the Debug Tool" +[menu.main] + parent = "howto" + weight = 2 ++++ + +{{% notice "note" %}} +To debug a running Dgraph cluster, first copy the postings ("p") directory to +another location. If the Dgraph cluster is not running, then you can use the +same postings directory with the debug tool. + +If the “p” directory has been encrypted, then the debug tool will need to use the --keyfile option. This file must contain the same key that was used to encrypt the “p” directory. +{{% /notice %}} + +The `dgraph debug` tool can be used to inspect Dgraph's posting list structure. +You can use the debug tool to inspect the data, schema, and indices of your +Dgraph cluster. + +Some scenarios where the debug tool is useful: + +- Verify that mutations committed to Dgraph have been persisted to disk. +- Verify that indices are created. +- Inspect the history of a posting list. + +## Example Usage + +Debug the p directory. + +```sh +$ dgraph debug --postings ./p +``` + +Debug the p directory, not opening in read-only mode. This is typically necessary when the database was not closed properly. + +```sh +$ dgraph debug --postings ./p --readonly=false +``` + +Debug the p directory, only outputing the keys for the predicate `name`. + +```sh +$ dgraph debug --postings ./p --readonly=false --pred=name +``` + +Debug the p directory, looking up a particular key: + +```sh +$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 +``` + +Debug the p directory, inspecting the history of a particular key: + +```sh +$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 --history +``` + +Debug an encrypted p directory with the key in a local file at the path ./key_file: + +```sh +$ dgraph debug --postings ./p --keyfile ./key_file +``` + + +{{% notice "note" %}} +The key file contains the key used to decrypt/encrypt the db. This key should be kept secret. As a best practice, + +- Do not store the key file on the disk permanently. Back it up in a safe place and delete it after using it with the debug tool. + +- If the above is not possible, make sure correct privileges are set on the keyfile. Only the user who owns the dgraph process should be able to read / write the key file: `chmod 600` +{{% /notice %}} + +## Debug Tool Output + +Let's go over an example with a Dgraph cluster with the following schema with a term index, full-text index, and two separately committed mutations: + +```sh +$ curl localhost:8080/alter -d ' + name: string @index(term) . + url: string . + description: string @index(fulltext) . +' +``` + +```sh +$ curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -d '{ + set { + _:dgraph "Dgraph" . + _:dgraph "Software" . + _:dgraph "https://github.com/dgraph-io/dgraph" . + _:dgraph "Fast, Transactional, Distributed Graph Database." . + } +}' +``` + +```sh +$ curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -d '{ + set { + _:badger "Badger" . + _:badger "Software" . + _:badger "https://github.com/dgraph-io/badger" . + _:badger "Embeddable, persistent and fast key-value (KV) database written in pure Go." . + } +}' +``` + +After stopping Dgraph, you can run the debug tool to inspect the postings directory: + +{{% notice "note" %}} +The debug output can be very large. Typically you would redirect the debug tool to a file first for easier analysis. +{{% /notice %}} + +```sh +$ dgraph debug --postings ./p +``` + +```text +Opening DB: ./p +Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 +prefix = +{d} {v.ok} attr: url uid: 1 key: 00000375726c000000000000000001 item: [71, b0100] ts: 3 +{d} {v.ok} attr: url uid: 2 key: 00000375726c000000000000000002 item: [71, b0100] ts: 5 +{d} {v.ok} attr: name uid: 1 key: 0000046e616d65000000000000000001 item: [43, b0100] ts: 3 +{d} {v.ok} attr: name uid: 2 key: 0000046e616d65000000000000000002 item: [43, b0100] ts: 5 +{i} {v.ok} attr: name term: [1] badger key: 0000046e616d650201626164676572 item: [30, b0100] ts: 5 +{i} {v.ok} attr: name term: [1] dgraph key: 0000046e616d650201646772617068 item: [30, b0100] ts: 3 +{d} {v.ok} attr: _predicate_ uid: 1 key: 00000b5f7072656469636174655f000000000000000001 item: [104, b0100] ts: 3 +{d} {v.ok} attr: _predicate_ uid: 2 key: 00000b5f7072656469636174655f000000000000000002 item: [104, b0100] ts: 5 +{d} {v.ok} attr: description uid: 1 key: 00000b6465736372697074696f6e000000000000000001 item: [92, b0100] ts: 3 +{d} {v.ok} attr: description uid: 2 key: 00000b6465736372697074696f6e000000000000000002 item: [119, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] databas key: 00000b6465736372697074696f6e020864617461626173 item: [38, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] distribut key: 00000b6465736372697074696f6e0208646973747269627574 item: [40, b0100] ts: 3 +{i} {v.ok} attr: description term: [8] embedd key: 00000b6465736372697074696f6e0208656d62656464 item: [37, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] fast key: 00000b6465736372697074696f6e020866617374 item: [35, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] go key: 00000b6465736372697074696f6e0208676f item: [33, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] graph key: 00000b6465736372697074696f6e02086772617068 item: [36, b0100] ts: 3 +{i} {v.ok} attr: description term: [8] kei key: 00000b6465736372697074696f6e02086b6569 item: [34, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] kv key: 00000b6465736372697074696f6e02086b76 item: [33, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] persist key: 00000b6465736372697074696f6e020870657273697374 item: [38, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] pure key: 00000b6465736372697074696f6e020870757265 item: [35, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] transact key: 00000b6465736372697074696f6e02087472616e73616374 item: [39, b0100] ts: 3 +{i} {v.ok} attr: description term: [8] valu key: 00000b6465736372697074696f6e020876616c75 item: [35, b0100] ts: 5 +{i} {v.ok} attr: description term: [8] written key: 00000b6465736372697074696f6e02087772697474656e item: [38, b0100] ts: 5 +{s} {v.ok} attr: url key: 01000375726c item: [13, b0001] ts: 1 +{s} {v.ok} attr: name key: 0100046e616d65 item: [23, b0001] ts: 1 +{s} {v.ok} attr: _predicate_ key: 01000b5f7072656469636174655f item: [31, b0001] ts: 1 +{s} {v.ok} attr: description key: 01000b6465736372697074696f6e item: [41, b0001] ts: 1 +{s} {v.ok} attr: dgraph.type key: 01000b6467726170682e74797065 item: [40, b0001] ts: 1 +Found 28 keys +``` + +Each line in the debug output contains a prefix indicating the type of the key: `{d}`: Data key; `{i}`: Index key; `{c}`: Count key; `{r}`: Reverse key; `{s}`: Schema key. In the debug output above, we see data keys, index keys, and schema keys. + +Each index key has a corresponding index type. For example, in `attr: name term: [1] dgraph` the `[1]` shows that this is the term index ([0x1][tok_term]); in `attr: description term: [8] fast`, the `[8]` shows that this is the full-text index ([0x8][tok_fulltext]). These IDs match the index IDs in [tok.go][tok]. + +[tok_term]: https://github.com/dgraph-io/dgraph/blob/ce82aaafba3d9e57cf5ea1aeb9b637193441e1e2/tok/tok.go#L39 +[tok_fulltext]: https://github.com/dgraph-io/dgraph/blob/ce82aaafba3d9e57cf5ea1aeb9b637193441e1e2/tok/tok.go#L48 +[tok]: https://github.com/dgraph-io/dgraph/blob/ce82aaafba3d9e57cf5ea1aeb9b637193441e1e2/tok/tok.go#L37-L53 + +## Key Lookup + +Every key can be inspected further with the `--lookup` flag for the specific key. + +```sh +$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 +``` + +```text +Opening DB: ./p +Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 + Key: 00000b6465736372697074696f6e0208676f Length: 2 + Uid: 1 Op: 1 + Uid: 2 Op: 1 +``` + +For data keys, a lookup shows its type and value. Below, we see that the key for `attr: url uid: 1` is a string value. + +```sh +$ dgraph debug --postings ./p --lookup 00000375726c000000000000000001 +``` + +```text +Opening DB: ./p +Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 + Key: 0000046e616d65000000000000000001 Length: 1 + Uid: 18446744073709551615 Op: 1 Type: STRING. String Value: "https://github.com/dgraph-io/dgraph" +``` + +For index keys, a lookup shows the UIDs that are part of this index. Below, we see that the `fast` index for the `` predicate has UIDs 0x1 and 0x2. + +```sh +$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 +``` + +```text +Opening DB: ./p +Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 + Key: 00000b6465736372697074696f6e0208676f Length: 2 + Uid: 1 Op: 1 + Uid: 2 Op: 1 +``` + +## Key History + +You can also look up the history of values for a key using the `--history` option. + +```sh +$ dgraph debug --postings ./p --lookup 00000b6465736372697074696f6e020866617374 --history +``` +```text +Opening DB: ./p +Min commit: 1. Max commit: 5, w.r.t 18446744073709551615 +==> key: 00000b6465736372697074696f6e020866617374. PK: &{byteType:2 Attr:description Uid:0 Termfast Count:0 bytePrefix:0} +ts: 5 {item}{delta} + Uid: 2 Op: 1 + +ts: 3 {item}{delta} + Uid: 1 Op: 1 +``` + +Above, we see that UID 0x1 was committed to this index at ts 3, and UID 0x2 was committed to this index at ts 5. + +The debug output also shows UserMeta information: + +- `{complete}`: Complete posting list +- `{uid}`: UID posting list +- `{delta}`: Delta posting list +- `{empty}`: Empty posting list +- `{item}`: Item posting list +- `{deleted}`: Delete marker \ No newline at end of file diff --git a/wiki/content/howto/using-increment-tool.md b/wiki/content/howto/using-increment-tool.md new file mode 100644 index 00000000000..4a1b23cc22f --- /dev/null +++ b/wiki/content/howto/using-increment-tool.md @@ -0,0 +1,106 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Using the Increment Tool" +[menu.main] + parent = "howto" + weight = 4 ++++ + +The `dgraph increment` tool increments a counter value transactionally. The +increment tool can be used as a health check that an Alpha is able to service +transactions for both queries and mutations. + +## Example Usage + +Increment the default predicate (`counter.val`) once. If the predicate doesn't yet +exist, then it will be created starting at counter 0. + +```sh +$ dgraph increment +``` + +Increment the counter predicate against the Alpha running at address `--alpha` (default: `localhost:9080`): + +```sh +$ dgraph increment --alpha=192.168.1.10:9080 +``` + +Increment the counter predicate specified by `--pred` (default: `counter.val`): + +```sh +$ dgraph increment --pred=counter.val.healthcheck +``` + +Run a read-only query for the counter predicate and does not run a mutation to increment it: + +```sh +$ dgraph increment --ro +``` + +Run a best-effort query for the counter predicate and does not run a mutation to increment it: + +```sh +$ dgraph increment --be +``` + +Run the increment tool 1000 times every 1 second: + +```sh +$ dgraph increment --num=1000 --wait=1s +``` + +## Increment Tool Output + +```sh + Run increment a few times +$ dgraph increment +0410 10:31:16.379 Counter VAL: 1 [ Ts: 1 ] +$ dgraph increment +0410 10:34:53.017 Counter VAL: 2 [ Ts: 3 ] +$ dgraph increment +0410 10:34:53.648 Counter VAL: 3 [ Ts: 5 ] + + Run read-only queries to read the counter a few times +$ dgraph increment --ro +0410 10:34:57.35 Counter VAL: 3 [ Ts: 7 ] +$ dgraph increment --ro +0410 10:34:57.886 Counter VAL: 3 [ Ts: 7 ] +$ dgraph increment --ro +0410 10:34:58.129 Counter VAL: 3 [ Ts: 7 ] + + Run best-effort query to read the counter a few times +$ dgraph increment --be +0410 10:34:59.867 Counter VAL: 3 [ Ts: 7 ] +$ dgraph increment --be +0410 10:35:01.322 Counter VAL: 3 [ Ts: 7 ] +$ dgraph increment --be +0410 10:35:02.674 Counter VAL: 3 [ Ts: 7 ] + + Run a read-only query to read the counter 5 times +$ dgraph increment --ro --num=5 +0410 10:35:18.812 Counter VAL: 3 [ Ts: 7 ] +0410 10:35:18.813 Counter VAL: 3 [ Ts: 7 ] +0410 10:35:18.815 Counter VAL: 3 [ Ts: 7 ] +0410 10:35:18.817 Counter VAL: 3 [ Ts: 7 ] +0410 10:35:18.818 Counter VAL: 3 [ Ts: 7 ] + + Increment the counter 5 times +$ dgraph increment --num=5 +0410 10:35:24.028 Counter VAL: 4 [ Ts: 8 ] +0410 10:35:24.061 Counter VAL: 5 [ Ts: 10 ] +0410 10:35:24.104 Counter VAL: 6 [ Ts: 12 ] +0410 10:35:24.145 Counter VAL: 7 [ Ts: 14 ] +0410 10:35:24.178 Counter VAL: 8 [ Ts: 16 ] + + Increment the counter 5 times, once every second. +$ dgraph increment --num=5 --wait=1s +0410 10:35:26.95 Counter VAL: 9 [ Ts: 18 ] +0410 10:35:27.975 Counter VAL: 10 [ Ts: 20 ] +0410 10:35:28.999 Counter VAL: 11 [ Ts: 22 ] +0410 10:35:30.028 Counter VAL: 12 [ Ts: 24 ] +0410 10:35:31.054 Counter VAL: 13 [ Ts: 26 ] + + If the Alpha is too busy or unhealthy, the tool will timeout and retry. +$ dgraph increment +0410 10:36:50.857 While trying to process counter: Query error: rpc error: code = DeadlineExceeded desc = context deadline exceeded. Retrying... +``` \ No newline at end of file diff --git a/wiki/content/mutations/_index.md b/wiki/content/mutations/_index.md index e69de29bb2d..23c79d346b7 100644 --- a/wiki/content/mutations/_index.md +++ b/wiki/content/mutations/_index.md @@ -0,0 +1,10 @@ ++++ +date = "2017-03-20T19:35:35+11:00" +title = "Mutations" +[menu.main] + url = "/mutations/" + identifier = "mutations" + weight = 6 ++++ + +Adding or removing data in Dgraph is called a mutation. \ No newline at end of file diff --git a/wiki/content/mutations/batch-mutations.md b/wiki/content/mutations/batch-mutations.md new file mode 100644 index 00000000000..7d7951648b4 --- /dev/null +++ b/wiki/content/mutations/batch-mutations.md @@ -0,0 +1,16 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Batch mutations" +[menu.main] + parent = "mutations" + weight = 6 ++++ + +Each mutation may contain multiple RDF triples. For large data uploads many such mutations can be batched in parallel. The command `dgraph live` does just this; by default batching 1000 RDF lines into a query, while running 100 such queries in parallel. + +`dgraph live` takes as input gzipped N-Quad files (that is triple lists without `{ set {`) and batches mutations for all triples in the input. The tool has documentation of options. + +```sh +dgraph live --help +``` +See also [Fast Data Loading](/deploy#fast-data-loading). \ No newline at end of file diff --git a/wiki/content/mutations/blank-nodes.md b/wiki/content/mutations/blank-nodes.md new file mode 100644 index 00000000000..e7c271375f9 --- /dev/null +++ b/wiki/content/mutations/blank-nodes.md @@ -0,0 +1,86 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Blank Nodes and UID" +[menu.main] + parent = "mutations" + weight = 2 ++++ + +Blank nodes in mutations, written `_:identifier`, identify nodes within a mutation. Dgraph creates a UID identifying each blank node and returns the created UIDs as the mutation result. For example, mutation: + +``` +{ + set { + _:class _:x . + _:class _:y . + _:class "awesome class" . + _:class "Class" . + _:x "Alice" . + _:x "Person" . + _:x "Student" . + _:x "Mars" . + _:x _:y . + _:y "Bob" . + _:y "Person" . + _:y "Student" . + } +} +``` +results in output (the actual UIDs will be different on any run of this mutation) +``` +{ + "data": { + "code": "Success", + "message": "Done", + "uids": { + "class": "0x2712", + "x": "0x2713", + "y": "0x2714" + } + } +} +``` +The graph has thus been updated as if it had stored the triples +``` +<0x6bc818dc89e78754> <0xc3bcc578868b719d> . +<0x6bc818dc89e78754> <0xb294fb8464357b0a> . +<0x6bc818dc89e78754> "awesome class" . +<0x6bc818dc89e78754> "Class" . +<0xc3bcc578868b719d> "Alice" . +<0xc3bcc578868b719d> "Person" . +<0xc3bcc578868b719d> "Student" . +<0xc3bcc578868b719d> "Mars" . +<0xc3bcc578868b719d> <0xb294fb8464357b0a> . +<0xb294fb8464357b0a> "Bob" . +<0xb294fb8464357b0a> "Person" . +<0xb294fb8464357b0a> "Student" . +``` +The blank node labels `_:class`, `_:x` and `_:y` do not identify the nodes after the mutation, and can be safely reused to identify new nodes in later mutations. + +A later mutation can update the data for existing UIDs. For example, the following to add a new student to the class. +``` +{ + set { + <0x6bc818dc89e78754> _:x . + _:x "Chris" . + _:x "Person" . + _:x "Student" . + } +} +``` + +A query can also directly use UID. +``` +{ + class(func: uid(0x6bc818dc89e78754)) { + name + student { + name + planet + friend { + name + } + } + } +} +``` \ No newline at end of file diff --git a/wiki/content/mutations/conditional-upsert.md b/wiki/content/mutations/conditional-upsert.md new file mode 100644 index 00000000000..76828d291ed --- /dev/null +++ b/wiki/content/mutations/conditional-upsert.md @@ -0,0 +1,285 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Conditional Upsert" +[menu.main] + parent = "mutations" + weight = 12 ++++ + +The upsert block also allows specifying conditional mutation blocks using an `@if` +directive. The mutation is executed only when the specified condition is true. If the +condition is false, the mutation is silently ignored. The general structure of +Conditional Upsert looks like as follows: + +``` +upsert { + query + [fragment ] + mutation [@if()] + [mutation [@if()] ] + ... +} +``` + +The `@if` directive accepts a condition on variables defined in the query block and can be +connected using `AND`, `OR` and `NOT`. + +## Example of Conditional Upsert + +Let's say in our previous example, we know the `company1` has less than 100 employees. +For safety, we want the mutation to execute only when the variable `v` stores less than +100 but greater than 50 UIDs in it. This can be achieved as follows: + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +upsert { + query { + v as var(func: regexp(email, /.*@company1.io$/)) + } + + mutation @if(lt(len(v), 100) AND gt(len(v), 50)) { + delete { + uid(v) * . + uid(v) * . + uid(v) * . + } + } +}' | jq +``` + +We can achieve the same result using `json` dataset as follows: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d '{ + "query": "{ v as var(func: regexp(email, /.*@company1.io$/)) }", + "cond": "@if(lt(len(v), 100) AND gt(len(v), 50))", + "delete": { + "uid": "uid(v)", + "name": null, + "email": null, + "age": null + } +}' | jq +``` + +## Example of Multiple Mutation Blocks + +Consider an example with the following schema: + +```sh +curl localhost:8080/alter -X POST -d $' + name: string @index(term) . + email: [string] @index(exact) @upsert .' | jq +``` + +Let's say, we have many users stored in our database each having one or more than +one email Addresses. Now, we get two email Addresses that belong to the same user. +If the email Addresses belong to the different nodes in the database, we want to delete +the existing nodes and create a new node with both the emails attached to this new node. +Otherwise, we create/update the new/existing node with both the emails. + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +upsert { + query { + # filter is needed to ensure that we do not get same UIDs in u1 and u2 + q1(func: eq(email, "user_email1@company1.io")) @filter(not(eq(email, "user_email2@company1.io"))) { + u1 as uid + } + + q2(func: eq(email, "user_email2@company1.io")) @filter(not(eq(email, "user_email1@company1.io"))) { + u2 as uid + } + + q3(func: eq(email, "user_email1@company1.io")) @filter(eq(email, "user_email2@company1.io")) { + u3 as uid + } + } + + # case when both emails do not exist + mutation @if(eq(len(u1), 0) AND eq(len(u2), 0) AND eq(len(u3), 0)) { + set { + _:user "user" . + _:user "Person" . + _:user "user_email1@company1.io" . + _:user "user_email2@company1.io" . + } + } + + # case when email1 exists but email2 does not + mutation @if(eq(len(u1), 1) AND eq(len(u2), 0) AND eq(len(u3), 0)) { + set { + uid(u1) "user_email2@company1.io" . + } + } + + # case when email1 does not exist but email2 exists + mutation @if(eq(len(u1), 0) AND eq(len(u2), 1) AND eq(len(u3), 0)) { + set { + uid(u2) "user_email1@company1.io" . + } + } + + # case when both emails exist and needs merging + mutation @if(eq(len(u1), 1) AND eq(len(u2), 1) AND eq(len(u3), 0)) { + set { + _:user "user" . + _:user "Person" . + _:user "user_email1@company1.io" . + _:user "user_email2@company1.io" . + } + + delete { + uid(u1) * . + uid(u1) * . + uid(u2) * . + uid(u2) * . + } + } +}' | jq +``` + +Result (when database is empty): + +```json +{ + "data": { + "q1": [], + "q2": [], + "q3": [], + "code": "Success", + "message": "Done", + "uids": { + "user": "0x1" + } + }, + "extensions": {...} +} +``` + +Result (both emails exist and are attached to different nodes): +```json +{ + "data": { + "q1": [ + { + "uid": "0x2" + } + ], + "q2": [ + { + "uid": "0x3" + } + ], + "q3": [], + "code": "Success", + "message": "Done", + "uids": { + "user": "0x4" + } + }, + "extensions": {...} +} +``` + +Result (when both emails exist and are already attached to the same node): + +```json +{ + "data": { + "q1": [], + "q2": [], + "q3": [ + { + "uid": "0x4" + } + ], + "code": "Success", + "message": "Done", + "uids": {} + }, + "extensions": {...} +} +``` + +We can achieve the same result using `json` dataset as follows: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d '{ + "query": "{q1(func: eq(email, \"user_email1@company1.io\")) @filter(not(eq(email, \"user_email2@company1.io\"))) {u1 as uid} \n q2(func: eq(email, \"user_email2@company1.io\")) @filter(not(eq(email, \"user_email1@company1.io\"))) {u2 as uid} \n q3(func: eq(email, \"user_email1@company1.io\")) @filter(eq(email, \"user_email2@company1.io\")) {u3 as uid}}", + "mutations": [ + { + "cond": "@if(eq(len(u1), 0) AND eq(len(u2), 0) AND eq(len(u3), 0))", + "set": [ + { + "uid": "_:user", + "name": "user", + "dgraph.type": "Person" + }, + { + "uid": "_:user", + "email": "user_email1@company1.io", + "dgraph.type": "Person" + }, + { + "uid": "_:user", + "email": "user_email2@company1.io", + "dgraph.type": "Person" + } + ] + }, + { + "cond": "@if(eq(len(u1), 1) AND eq(len(u2), 0) AND eq(len(u3), 0))", + "set": [ + { + "uid": "uid(u1)", + "email": "user_email2@company1.io", + "dgraph.type": "Person" + } + ] + }, + { + "cond": "@if(eq(len(u1), 1) AND eq(len(u2), 0) AND eq(len(u3), 0))", + "set": [ + { + "uid": "uid(u2)", + "email": "user_email1@company1.io", + "dgraph.type": "Person" + } + ] + }, + { + "cond": "@if(eq(len(u1), 1) AND eq(len(u2), 1) AND eq(len(u3), 0))", + "set": [ + { + "uid": "_:user", + "name": "user", + "dgraph.type": "Person" + }, + { + "uid": "_:user", + "email": "user_email1@company1.io", + "dgraph.type": "Person" + }, + { + "uid": "_:user", + "email": "user_email2@company1.io", + "dgraph.type": "Person" + } + ], + "delete": [ + { + "uid": "uid(u1)", + "name": null, + "email": null + }, + { + "uid": "uid(u2)", + "name": null, + "email": null + } + ] + } + ] +}' | jq +``` diff --git a/wiki/content/mutations/delete.md b/wiki/content/mutations/delete.md new file mode 100644 index 00000000000..578136412bd --- /dev/null +++ b/wiki/content/mutations/delete.md @@ -0,0 +1,76 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Delete" +[menu.main] + parent = "mutations" + weight = 7 ++++ + +A delete mutation, signified with the `delete` keyword, removes triples from the store. + +For example, if the store contained +```RDF +<0xf11168064b01135b> "Lewis Carrol" +<0xf11168064b01135b> "1998" +<0xf11168064b01135b> "Person" . +``` + +Then delete mutation + +```sh +{ + delete { + <0xf11168064b01135b> "1998" . + } +} +``` + +Deletes the erroneous data and removes it from indexes if present. + +For a particular node `N`, all data for predicate `P` (and corresponding indexing) is removed with the pattern `S P *`. + +```sh +{ + delete { + <0xf11168064b01135b> * . + } +} +``` + +The pattern `S * *` deletes all known edges out of a node (the node itself may +remain as the target of edges), any reverse edges corresponding to the removed +edges and any indexing for the removed data. The predicates to delete are +derived from the type information for that node (the value of the `dgraph.type` +edges on that node and their corresponding definitions in the schema). If that +information is missing, this operation will be a no-op. + +```sh +{ + delete { + <0xf11168064b01135b> * * . + } +} +``` + + +{{% notice "note" %}} The patterns `* P O` and `* * O` are not supported since its expensive to store/find all the incoming edges. {{% /notice %}} + +## Deletion of non-list predicates + +Deleting the value of a non-list predicate (i.e a 1-to-1 relation) can be done in two ways. + +1. Using the star notation mentioned in the last section. +1. Setting the object to a specific value. If the value passed is not the current value, the mutation will succeed but will have no effect. If the value passed is the current value, the mutation will succeed and will delete the triple. + +For language-tagged values, the following special syntax is supported: + +``` +{ + delete { + <0x12345> * . + } +} +``` + +In this example, the value of name tagged with language tag `es` will be deleted. +Other tagged values are left untouched. \ No newline at end of file diff --git a/wiki/content/mutations/external-ids.md b/wiki/content/mutations/external-ids.md new file mode 100644 index 00000000000..24949d473a8 --- /dev/null +++ b/wiki/content/mutations/external-ids.md @@ -0,0 +1,66 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "External IDs" +[menu.main] + parent = "mutations" + weight = 3 ++++ + +Dgraph's input language, RDF, also supports triples of the form ` literal/node` and variants on this, where the label `a_fixed_identifier` is intended as a unique identifier for a node. For example, mixing [schema.org](http://schema.org) identifiers, [the movie database](https://www.themoviedb.org/) identifiers and blank nodes: + +``` +_:userA . +_:userA "Person" . +_:userA "FirstName LastName" . + . + "Robin Wright" . +``` + +As Dgraph doesn't natively support such external IDs as node identifiers. Instead, external IDs can be stored as properties of a node with an `xid` edge. For example, from the above, the predicate names are valid in Dgraph, but the node identified with `` could be identified in Dgraph with a UID, say `0x123`, and an edge + +``` +<0x123> "http://schema.org/Person" . +<0x123> "ExternalType" . +``` + +While Robin Wright might get UID `0x321` and triples + +``` +<0x321> "https://www.themoviedb.org/person/32-robin-wright" . +<0x321> <0x123> . +<0x321> "Robin Wright" . +<0x321> "Person" . +``` + +An appropriate schema might be as follows. +``` +xid: string @index(exact) . +: [uid] @reverse . +``` + +Query Example: All people. + +``` +{ + var(func: eq(xid, "http://schema.org/Person")) { + allPeople as <~http://schema.org/type> + } + + q(func: uid(allPeople)) { + + } +} +``` + +Query Example: Robin Wright by external ID. + +``` +{ + robin(func: eq(xid, "https://www.themoviedb.org/person/32-robin-wright")) { + expand(_all_) { expand(_all_) } + } +} + +``` + +{{% notice "note" %}} `xid` edges are not added automatically in mutations. In general it is a user's responsibility to check for existing `xid`'s and add nodes and `xid` edges if necessary. Dgraph leaves all checking of uniqueness of such `xid`'s to external processes. {{% /notice %}} diff --git a/wiki/content/mutations/extrenal-ids-upsert-block.md b/wiki/content/mutations/extrenal-ids-upsert-block.md new file mode 100644 index 00000000000..5e8144d2c06 --- /dev/null +++ b/wiki/content/mutations/extrenal-ids-upsert-block.md @@ -0,0 +1,86 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "External IDs and Upsert Block" +[menu.main] + parent = "mutations" + weight = 4 ++++ + +The upsert block makes managing external IDs easy. + +Set the schema. +``` +xid: string @index(exact) . +: string @index(exact) . +: [uid] @reverse . +``` + +Set the type first of all. +``` +{ + set { + _:blank "http://schema.org/Person" . + _:blank "ExternalType" . + } +} +``` + +Now you can create a new person and attach its type using the upsert block. +``` + upsert { + query { + var(func: eq(xid, "http://schema.org/Person")) { + Type as uid + } + var(func: eq(, "Robin Wright")) { + Person as uid + } + } + mutation { + set { + uid(Person) "https://www.themoviedb.org/person/32-robin-wright" . + uid(Person) uid(Type) . + uid(Person) "Robin Wright" . + uid(Person) "Person" . + } + } + } +``` + +You can also delete a person and detach the relation between Type and Person Node. It's the same as above, but you use the keyword "delete" instead of "set". "`http://schema.org/Person`" will remain but "`Robin Wright`" will be deleted. + +``` + upsert { + query { + var(func: eq(xid, "http://schema.org/Person")) { + Type as uid + } + var(func: eq(, "Robin Wright")) { + Person as uid + } + } + mutation { + delete { + uid(Person) "https://www.themoviedb.org/person/32-robin-wright" . + uid(Person) uid(Type) . + uid(Person) "Robin Wright" . + uid(Person) "Person" . + } + } + } +``` + +Query by user. +``` +{ + q(func: eq(, "Robin Wright")) { + uid + xid + + { + uid + xid + } + } +} +``` \ No newline at end of file diff --git a/wiki/content/mutations/facets-in-list-type-with-rdf.md b/wiki/content/mutations/facets-in-list-type-with-rdf.md new file mode 100644 index 00000000000..8d38f55b393 --- /dev/null +++ b/wiki/content/mutations/facets-in-list-type-with-rdf.md @@ -0,0 +1,58 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Facets in List-type with RDF" +[menu.main] + parent = "mutations" + weight = 8 ++++ + +Schema: + +```sh +: string @index(exact). +: [string] . +``` + +Creating a list with facets in RDF is straightforward. + +```sh +{ + set { + _:Julian "Julian" . + _:Julian "Jay-Jay" (kind="first") . + _:Julian "Jules" (kind="official") . + _:Julian "JB" (kind="CS-GO") . + } +} +``` + +```graphql +{ + q(func: eq(name,"Julian")){ + name + nickname @facets + } +} +``` +Result: +```JSON +{ + "data": { + "q": [ + { + "name": "Julian", + "nickname|kind": { + "0": "first", + "1": "official", + "2": "CS-GO" + }, + "nickname": [ + "Jay-Jay", + "Jules", + "JB" + ] + } + ] + } +} +``` \ No newline at end of file diff --git a/wiki/content/mutations/index.md b/wiki/content/mutations/index.md deleted file mode 100644 index f932a7b555b..00000000000 --- a/wiki/content/mutations/index.md +++ /dev/null @@ -1,1684 +0,0 @@ -+++ -title = "Mutations" -+++ - -Adding or removing data in Dgraph is called a mutation. - -A mutation that adds triples is done with the `set` keyword. -``` -{ - set { - # triples in here - } -} -``` - -## Triples - -The input language is triples in the W3C standard [RDF N-Quad format](https://www.w3.org/TR/n-quads/). - -Each triple has the form -``` - . -``` -Meaning that the graph node identified by `subject` is linked to `object` with directed edge `predicate`. Each triple ends with a period. The subject of a triple is always a node in the graph, while the object may be a node or a value (a literal). - -For example, the triple -``` -<0x01> "Alice" . -<0x01> "Person" . -``` -Represents that graph node with ID `0x01` has a `name` with string value `"Alice"`. While triple -``` -<0x01> <0x02> . -``` -Represents that graph node with ID `0x01` is linked with the `friend` edge to node `0x02`. - -Dgraph creates a unique 64 bit identifier for every blank node in the mutation - the node's UID. A mutation can include a blank node as an identifier for the subject or object, or a known UID from a previous mutation. - - -## Blank Nodes and UID - -Blank nodes in mutations, written `_:identifier`, identify nodes within a mutation. Dgraph creates a UID identifying each blank node and returns the created UIDs as the mutation result. For example, mutation: - -``` -{ - set { - _:class _:x . - _:class _:y . - _:class "awesome class" . - _:class "Class" . - _:x "Alice" . - _:x "Person" . - _:x "Student" . - _:x "Mars" . - _:x _:y . - _:y "Bob" . - _:y "Person" . - _:y "Student" . - } -} -``` -results in output (the actual UIDs will be different on any run of this mutation) -``` -{ - "data": { - "code": "Success", - "message": "Done", - "uids": { - "class": "0x2712", - "x": "0x2713", - "y": "0x2714" - } - } -} -``` -The graph has thus been updated as if it had stored the triples -``` -<0x6bc818dc89e78754> <0xc3bcc578868b719d> . -<0x6bc818dc89e78754> <0xb294fb8464357b0a> . -<0x6bc818dc89e78754> "awesome class" . -<0x6bc818dc89e78754> "Class" . -<0xc3bcc578868b719d> "Alice" . -<0xc3bcc578868b719d> "Person" . -<0xc3bcc578868b719d> "Student" . -<0xc3bcc578868b719d> "Mars" . -<0xc3bcc578868b719d> <0xb294fb8464357b0a> . -<0xb294fb8464357b0a> "Bob" . -<0xb294fb8464357b0a> "Person" . -<0xb294fb8464357b0a> "Student" . -``` -The blank node labels `_:class`, `_:x` and `_:y` do not identify the nodes after the mutation, and can be safely reused to identify new nodes in later mutations. - -A later mutation can update the data for existing UIDs. For example, the following to add a new student to the class. -``` -{ - set { - <0x6bc818dc89e78754> _:x . - _:x "Chris" . - _:x "Person" . - _:x "Student" . - } -} -``` - -A query can also directly use UID. -``` -{ - class(func: uid(0x6bc818dc89e78754)) { - name - student { - name - planet - friend { - name - } - } - } -} -``` - -## External IDs - -Dgraph's input language, RDF, also supports triples of the form ` literal/node` and variants on this, where the label `a_fixed_identifier` is intended as a unique identifier for a node. For example, mixing [schema.org](http://schema.org) identifiers, [the movie database](https://www.themoviedb.org/) identifiers and blank nodes: - -``` -_:userA . -_:userA "Person" . -_:userA "FirstName LastName" . - . - "Robin Wright" . -``` - -As Dgraph doesn't natively support such external IDs as node identifiers. Instead, external IDs can be stored as properties of a node with an `xid` edge. For example, from the above, the predicate names are valid in Dgraph, but the node identified with `` could be identified in Dgraph with a UID, say `0x123`, and an edge - -``` -<0x123> "http://schema.org/Person" . -<0x123> "ExternalType" . -``` - -While Robin Wright might get UID `0x321` and triples - -``` -<0x321> "https://www.themoviedb.org/person/32-robin-wright" . -<0x321> <0x123> . -<0x321> "Robin Wright" . -<0x321> "Person" . -``` - -An appropriate schema might be as follows. -``` -xid: string @index(exact) . -: [uid] @reverse . -``` - -Query Example: All people. - -``` -{ - var(func: eq(xid, "http://schema.org/Person")) { - allPeople as <~http://schema.org/type> - } - - q(func: uid(allPeople)) { - - } -} -``` - -Query Example: Robin Wright by external ID. - -``` -{ - robin(func: eq(xid, "https://www.themoviedb.org/person/32-robin-wright")) { - expand(_all_) { expand(_all_) } - } -} - -``` - -{{% notice "note" %}} `xid` edges are not added automatically in mutations. In general it is a user's responsibility to check for existing `xid`'s and add nodes and `xid` edges if necessary. Dgraph leaves all checking of uniqueness of such `xid`'s to external processes. {{% /notice %}} - -## External IDs and Upsert Block - -The upsert block makes managing external IDs easy. - -Set the schema. -``` -xid: string @index(exact) . -: string @index(exact) . -: [uid] @reverse . -``` - -Set the type first of all. -``` -{ - set { - _:blank "http://schema.org/Person" . - _:blank "ExternalType" . - } -} -``` - -Now you can create a new person and attach its type using the upsert block. -``` - upsert { - query { - var(func: eq(xid, "http://schema.org/Person")) { - Type as uid - } - var(func: eq(, "Robin Wright")) { - Person as uid - } - } - mutation { - set { - uid(Person) "https://www.themoviedb.org/person/32-robin-wright" . - uid(Person) uid(Type) . - uid(Person) "Robin Wright" . - uid(Person) "Person" . - } - } - } -``` - -You can also delete a person and detach the relation between Type and Person Node. It's the same as above, but you use the keyword "delete" instead of "set". "`http://schema.org/Person`" will remain but "`Robin Wright`" will be deleted. - -``` - upsert { - query { - var(func: eq(xid, "http://schema.org/Person")) { - Type as uid - } - var(func: eq(, "Robin Wright")) { - Person as uid - } - } - mutation { - delete { - uid(Person) "https://www.themoviedb.org/person/32-robin-wright" . - uid(Person) uid(Type) . - uid(Person) "Robin Wright" . - uid(Person) "Person" . - } - } - } -``` - -Query by user. -``` -{ - q(func: eq(, "Robin Wright")) { - uid - xid - - { - uid - xid - } - } -} -``` - -## Language and RDF Types - -RDF N-Quad allows specifying a language for string values and an RDF type. Languages are written using `@lang`. For example -``` -<0x01> "Adelaide"@en . -<0x01> "Аделаида"@ru . -<0x01> "Adélaïde"@fr . -<0x01> "Person" . -``` -See also [how language strings are handled in queries]({{< relref "query-language/index.md#language-support" >}}). - -RDF types are attached to literals with the standard `^^` separator. For example -``` -<0x01> "32"^^ . -<0x01> "1985-06-08"^^ . -``` - -The supported [RDF datatypes](https://www.w3.org/TR/rdf11-concepts/#section-Datatypes) and the corresponding internal type in which the data is stored are as follows. - -| Storage Type | Dgraph type | -| ------------- | :------------: | -| <xs:string> | `string` | -| <xs:dateTime> | `dateTime` | -| <xs:date> | `datetime` | -| <xs:int> | `int` | -| <xs:integer> | `int` | -| <xs:boolean> | `bool` | -| <xs:double> | `float` | -| <xs:float> | `float` | -| <geo:geojson> | `geo` | -| <xs:password> | `password` | -| <http://www.w3.org/2001/XMLSchema#string> | `string` | -| <http://www.w3.org/2001/XMLSchema#dateTime> | `dateTime` | -| <http://www.w3.org/2001/XMLSchema#date> | `dateTime` | -| <http://www.w3.org/2001/XMLSchema#int> | `int` | -| <http://www.w3.org/2001/XMLSchema#positiveInteger> | `int` | -| <http://www.w3.org/2001/XMLSchema#integer> | `int` | -| <http://www.w3.org/2001/XMLSchema#boolean> | `bool` | -| <http://www.w3.org/2001/XMLSchema#double> | `float` | -| <http://www.w3.org/2001/XMLSchema#float> | `float` | - -See the section on [RDF schema types]({{< relref "#rdf-types" >}}) to understand how RDF types affect mutations and storage. - -## Batch mutations - -Each mutation may contain multiple RDF triples. For large data uploads many such mutations can be batched in parallel. The command `dgraph live` does just this; by default batching 1000 RDF lines into a query, while running 100 such queries in parallel. - -`dgraph live` takes as input gzipped N-Quad files (that is triple lists without `{ set {`) and batches mutations for all triples in the input. The tool has documentation of options. - -```sh -dgraph live --help -``` - -See also [Fast Data Loading](/deploy#fast-data-loading). - -## Delete - -A delete mutation, signified with the `delete` keyword, removes triples from the store. - -For example, if the store contained - -```RDF -<0xf11168064b01135b> "Lewis Carrol" -<0xf11168064b01135b> "1998" -<0xf11168064b01135b> "Person" . -``` - -Then delete mutation - -```sh -{ - delete { - <0xf11168064b01135b> "1998" . - } -} -``` - -Deletes the erroneous data and removes it from indexes if present. - -For a particular node `N`, all data for predicate `P` (and corresponding indexing) is removed with the pattern `S P *`. - -```sh -{ - delete { - <0xf11168064b01135b> * . - } -} -``` - -The pattern `S * *` deletes all known edges out of a node (the node itself may -remain as the target of edges), any reverse edges corresponding to the removed -edges and any indexing for the removed data. The predicates to delete are -derived from the type information for that node (the value of the `dgraph.type` -edges on that node and their corresponding definitions in the schema). If that -information is missing, this operation will be a no-op. - -```sh -{ - delete { - <0xf11168064b01135b> * * . - } -} -``` - -{{% notice "note" %}} The patterns `* P O` and `* * O` are not supported since its expensive to store/find all the incoming edges. {{% /notice %}} - -### Deletion of non-list predicates - -Deleting the value of a non-list predicate (i.e a 1-to-1 relation) can be done in two ways. - -1. Using the star notation mentioned in the last section. -1. Setting the object to a specific value. If the value passed is not the current value, the mutation will succeed but will have no effect. If the value passed is the current value, the mutation will succeed and will delete the triple. - -For language-tagged values, the following special syntax is supported: - -```sh -{ - delete { - <0x12345> * . - } -} -``` - -In this example, the value of name tagged with language tag `es` will be deleted. -Other tagged values are left untouched. - -## Facets in List-type with RDF - -Schema: - -```sh -: string @index(exact). -: [string] . -``` - -Creating a list with facets in RDF is straightforward. - -```sh -{ - set { - _:Julian "Julian" . - _:Julian "Jay-Jay" (kind="first") . - _:Julian "Jules" (kind="official") . - _:Julian "JB" (kind="CS-GO") . - } -} -``` - -```graphql -{ - q(func: eq(name,"Julian")){ - name - nickname @facets - } -} -``` - -Result: - -```JSON -{ - "data": { - "q": [ - { - "name": "Julian", - "nickname|kind": { - "0": "first", - "1": "official", - "2": "CS-GO" - }, - "nickname": [ - "Jay-Jay", - "Jules", - "JB" - ] - } - ] - } -} -``` - -## Mutations using cURL - -Mutations can be done over HTTP by making a `POST` request to an Alpha's `/mutate` endpoint. On the command line this can be done with curl. To commit the mutation, pass the parameter `commitNow=true` in the URL. - -To run a `set` mutation: - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -{ - set { - _:alice "Alice" . - _:alice "Person" . - } -}' -``` - -To run a `delete` mutation: - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -{ - delete { - # Example: The UID of Alice is 0x56f33 - <0x56f33> * . - } -}' -``` - -To run an RDF mutation stored in a file, use curl's `--data-binary` option so that, unlike the `-d` option, the data is not URL encoded. - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true --data-binary @mutation.txt -``` - -## JSON Mutation Format - -Mutations can also be specified using JSON objects. This can allow mutations to -be expressed in a more natural way. It also eliminates the need for apps to -have custom serialisation code, since most languages already have a JSON -marshalling library. - -When Dgraph receives a mutation as a JSON object, it first converts in into -multiple RDFs that are then processed as normal. - -Each JSON object represents a single node in the graph. - -{{% notice "note" %}} -JSON mutations are available via gRPC clients such as the Go client, JS client, and Java client, and are available to HTTP clients with [dgraph-js-http](https://github.com/dgraph-io/dgraph-js-http) and cURL. See more about cURL [here]({{< relref "#using-json-operations-via-curl" >}}) -{{% /notice %}} - -### Setting literal values - -When setting new values, the `set_json` field in the `Mutation` message should -contain a JSON object. - -Literal values can be set by adding a key/value to the JSON object. The key -represents the predicate, and the value represents the object. - -For example: - -```json -{ - "name": "diggy", - "food": "pizza", - "dgraph.type": "Mascot" -} -``` - -Will be converted into the RDFs: - -```RDF -_:blank-0 "diggy" . -_:blank-0 "pizza" . -_:blank-0 "Mascot" . -``` - -The result of the mutation would also contain a map, which would have the uid assigned corresponding -to the key `blank-0`. You could specify your own key like - -```json -{ - "uid": "_:diggy", - "name": "diggy", - "food": "pizza", - "dgraph.type": "Mascot" -} -``` - -In this case, the assigned uids map would have a key called `diggy` with the value being the uid -assigned to it. - -### Language support - -An important difference between RDF and JSON mutations is in regards to specifying a string value's -language. In JSON, the language tag is appended to the edge _name_, not the value like in RDF. - -For example, the JSON mutation - -```JSON -{ - "food": "taco", - "rating@en": "tastes good", - "rating@es": "sabe bien", - "rating@fr": "c'est bon", - "rating@it": "è buono", - "dgraph.type": "Food" -} -``` - -is equivalent to the following RDF: - -```RDF -_:blank-0 "taco" . -_:blank-0 "Food" . -_:blank-0 "tastes good"@en . -_:blank-0 "sabe bien"@es . -_:blank-0 "c'est bon"@fr . -_:blank-0 "è buono"@it . -``` - -### Geolocation support - -Support for geolocation data is available in JSON. Geo-location data is entered -as a JSON object with keys "type" and "coordinates". Keep in mind we only -support indexing on the Point, Polygon, and MultiPolygon types, but we can store -other types of geolocation data. Below is an example: - -```JSON -{ - "food": "taco", - "location": { - "type": "Point", - "coordinates": [1.0, 2.0] - } -} -``` - -### Referencing existing nodes - -If a JSON object contains a field named `"uid"`, then that field is interpreted -as the UID of an existing node in the graph. This mechanism allows you to -reference existing nodes. - -For example: - -```json -{ - "uid": "0x467ba0", - "food": "taco", - "rating": "tastes good", - "dgraph.type": "Food" -} -``` - -Will be converted into the RDFs: - -```RDF -<0x467ba0> "taco" . -<0x467ba0> "tastes good" . -<0x467ba0> "Food" . -``` - -### Edges between nodes - -Edges between nodes are represented in a similar way to literal values, except -that the object is a JSON object. - -For example: - -```JSON -{ - "name": "Alice", - "friend": { - "name": "Betty" - } -} -``` - -Will be converted into the RDFs: - -```RDF -_:blank-0 "Alice" . -_:blank-0 _:blank-1 . -_:blank-1 "Betty" . -``` - -The result of the mutation would contain the uids assigned to `blank-0` and `blank-1` nodes. If you -wanted to return these uids under a different key, you could specify the `uid` field as a blank -node. - -```JSON -{ - "uid": "_:alice", - "name": "Alice", - "friend": { - "uid": "_:bob", - "name": "Betty" - } -} -``` - -Will be converted to: - -```RDF -_:alice "Alice" . -_:alice _:bob . -_:bob "Betty" . -``` - -Existing nodes can be referenced in the same way as when adding literal values. -E.g. to link two existing nodes: - -```JSON -{ - "uid": "0x123", - "link": { - "uid": "0x456" - } -} -``` - -Will be converted to: - -```RDF -<0x123> <0x456> . -``` - -{{% notice "note" %}} -A common mistake is to attempt to use `{"uid":"0x123","link":"0x456"}`. This -will result in an error. Dgraph interprets this JSON object as setting the -`link` predicate to the string`"0x456"`, which is usually not intended. {{% -/notice %}} - -### Deleting literal values - -Deletion mutations can also be sent in JSON format. To send a delete mutation, -use the `delete_json` field instead of the `set_json` field in the `Mutation` -message. - -{{% notice "note" %}} Check the [JSON Syntax using Raw HTTP or Ratel UI]({{< relref "#json-syntax-using-raw-http-or-ratel-ui">}}) section if you're using the dgraph-js-http client or Ratel UI. {{% /notice %}} - -When using delete mutations, an existing node always has to be referenced. So -the `"uid"` field for each JSON object must be present. Predicates that should -be deleted should be set to the JSON value `null`. - -For example, to remove a food rating: - -```JSON -{ - "uid": "0x467ba0", - "rating": null -} -``` - -### Deleting edges - -Deleting a single edge requires the same JSON object that would create that -edge. E.g. to delete the predicate `link` from `"0x123"` to `"0x456"`: - -```JSON -{ - "uid": "0x123", - "link": { - "uid": "0x456" - } -} -``` - -All edges for a predicate emanating from a single node can be deleted at once -(corresponding to deleting `S P *`): - -```JSON -{ - "uid": "0x123", - "link": null -} -``` - -If no predicates are specified, then all of the node's known outbound edges (to -other nodes and to literal values) are deleted (corresponding to deleting `S * -*`). The predicates to delete are derived using the type system. Refer to the -[RDF format]({{< relref "#delete" >}}) documentation and the section on the -[type system]({{< relref "query-language/index.md#type-system" >}}) for more -information: - -```JSON -{ - "uid": "0x123" -} -``` - -### Facets - -Facets can be created by using the `|` character to separate the predicate -and facet key in a JSON object field name. This is the same encoding schema -used to show facets in query results. E.g. - -```JSON -{ - "name": "Carol", - "name|initial": "C", - "dgraph.type": "Person", - "friend": { - "name": "Daryl", - "friend|close": "yes", - "dgraph.type": "Person" - } -} -``` - -Produces the following RDFs: - -```RDF -_:blank-0 "Carol" (initial=C) . -_:blank-0 "Person" . -_:blank-0 _:blank-1 (close=yes) . -_:blank-1 "Daryl" . -_:blank-1 "Person" . -``` - -Facets do not contain type information but Dgraph will try to guess a type from -the input. If the value of a facet can be parsed to a number, it will be -converted to either a float or an int. If it can be parsed as a boolean, it will -be stored as a boolean. If the value is a string, it will be stored as a -datetime if the string matches one of the time formats that Dgraph recognizes -(YYYY, MM-YYYY, DD-MM-YYYY, RFC339, etc.) and as a double-quoted string -otherwise. If you do not want to risk the chance of your facet data being -misinterpreted as a time value, it is best to store numeric data as either an -int or a float. - -### Deleting Facets - -The easiest way to delete a Facet is overwriting it. When you create a new mutation for the same entity without a facet, the existing facet will be deleted automatically. - -e.g: - -```RDF -<0x1> "Carol" . -<0x1> <0x2> . -``` - -Another way to do this is by using the Upsert Block. - -> In this query below, we are deleting Facet in the Name and Friend predicates. To overwrite we need to collect the values ​​of the edges on which we are performing this operation and use the function "val(var)" to complete the overwriting. - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -upsert { - query { - user as var(func: eq(name, "Carol")){ - Name as name - Friends as friend - } - } - - mutation { - set { - uid(user) val(Name) . - uid(user) uid(Friends) . - } - } -}' | jq -``` - -### Creating a list with JSON and interacting with - -Schema: - -```sh -testList: [string] . -``` - -```JSON -{ - "testList": [ - "Grape", - "Apple", - "Strawberry", - "Banana", - "watermelon" - ] -} -``` - -Let’s then remove "Apple" from this list (Remember, it’s case sensitive): - -```graphql -{ - q(func: has(testList)) { - uid - testList - } -} -``` - -```JSON -{ - "delete": { - "uid": "0x6", #UID of the list. - "testList": "Apple" - } -} -``` - -Also you can delete multiple values - -```JSON -{ - "delete": { - "uid": "0x6", - "testList": [ - "Strawberry", - "Banana", - "watermelon" - ] - } -} -``` - -{{% notice "note" %}} Check the [JSON Syntax using Raw HTTP or Ratel UI]({{< relref "#json-syntax-using-raw-http-or-ratel-ui">}}) section if you're using the dgraph-js-http client or Ratel UI. {{% /notice %}} - -Add another fruit: - -```JSON -{ - "uid": "0x6", #UID of the list. - "testList": "Pineapple" -} -``` - -### Facets in List-type with JSON - -Schema: - -```sh -: string @index(exact). -: [string] . -``` - -To create a List-type predicate you need to specify all value in a single list. Facets for all -predicate values should be specified together. It is done in map format with index of predicate -values inside list being map key and their respective facets value as map values. Predicate values -which does not have facets values will be missing from facets map. E.g. - -```JSON -{ - "set": [ - { - "uid": "_:Julian", - "name": "Julian", - "nickname": ["Jay-Jay", "Jules", "JB"], - "nickname|kind": { - "0": "first", - "1": "official", - "2": "CS-GO" - } - } - ] -} -``` - -Above you see that we have three values ​​to enter the list with their respective facets. - -You can run this query to check the list with facets: - -```graphql -{ - q(func: eq(name,"Julian")) { - uid - nickname @facets - } -} -``` - -Later, if you want to add more values ​​with facets, just do the same procedure, but this time instead of using Blank-node you must use the actual node's UID. - -```JSON -{ - "set": [ - { - "uid": "0x3", - "nickname|kind": "Internet", - "nickname": "@JJ" - } - ] -} -``` - -And the final result is: - -```JSON -{ - "data": { - "q": [ - { - "uid": "0x3", - "nickname|kind": { - "0": "first", - "1": "Internet", - "2": "official", - "3": "CS-GO" - }, - "nickname": [ - "Jay-Jay", - "@JJ", - "Jules", - "JB" - ] - } - ] - } -} -``` - -### Specifying multiple operations - -When specifying add or delete mutations, multiple nodes can be specified -at the same time using JSON arrays. - -For example, the following JSON object can be used to add two new nodes, each -with a `name`: - -```JSON -[ - { - "name": "Edward" - }, - { - "name": "Fredric" - } -] -``` - -### JSON Syntax using Raw HTTP or Ratel UI - -This syntax can be used in the most current version of Ratel, in the [dgraph-js-http](https://github.com/dgraph-io/dgraph-js-http) client or even via cURL. - -You can also [download the Ratel UI for Linux, macOS, or Windows](https://discuss.dgraph.io/t/ratel-installer-for-linux-macos-and-windows-preview-version-ratel-update-from-v1-0-6/2884/). - -Mutate: - -```JSON -{ - "set": [ - { - # One JSON obj in here - }, - { - # Another JSON obj in here for multiple operations - } - ] -} -``` - -Delete: - -Deletion operations are the same as [Deleting literal values]({{< relref "#deleting-literal-values">}}) and [Deleting edges]({{< relref "#deleting-edges">}}). - -```JSON -{ - "delete": [ - { - # One JSON obj in here - }, - { - # Another JSON obj in here for multiple operations - } - ] -} -``` - -### Using JSON operations via cURL - -First you have to configure the HTTP header to specify content-type. - -```sh --H 'Content-Type: application/json' -``` - -{{% notice "note" %}} -In order to use `jq` for JSON formatting you need the `jq` package. See the -[`jq` downloads](https://stedolan.github.io/jq/download/) page for installation -details. You can also use Python's built in `json.tool` module with `python -m -json.tool` to do JSON formatting. -{{% /notice %}} - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $' - { - "set": [ - { - "name": "Alice" - }, - { - "name": "Bob" - } - ] - }' | jq - -``` - -To delete: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $' - { - "delete": [ - { - "uid": "0xa" - } - ] - }' | jq -``` - -Mutation with a JSON file: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d @data.json -``` - -where the contents of data.json looks like the following: - -```json -{ - "set": [ - { - "name": "Alice" - }, - { - "name": "Bob" - } - ] -} -``` - -The JSON file must follow the same format for mutations over HTTP: a single JSON -object with the `"set"` or `"delete"` key and an array of JSON objects for the -mutation. If you already have a file with an array of data, you can use `jq` to -transform your data to the proper format. For example, if your data.json file -looks like this: - -```json -[ - { - "name": "Alice" - }, - { - "name": "Bob" - } -] -``` - -then you can transform your data to the proper format with the following `jq` -command, where the `.` in the `jq` string represents the contents of data.json: - -```sh -cat data.json | jq '{set: .}' -``` - -``` -{ - "set": [ - { - "name": "Alice" - }, - { - "name": "Bob" - } - ] -} -``` - -## Upsert Block - -The upsert block allows performing queries and mutations in a single request. The upsert -block contains one query block and one or more than one mutation blocks. Variables defined -in the query block can be used in the mutation blocks using the `uid` and `val` function. - -In general, the structure of the upsert block is as follows: - -``` -upsert { - query - [fragment ] - mutation - [mutation ] - ... -} -``` - -Execution of an upsert block also returns the response of the query executed on the state -of the database *before mutation was executed*. To get the latest result, we should commit -the mutation and execute another query. - -### `uid` Function - -The `uid` function allows extracting UIDs from variables defined in the query block. -There are two possible outcomes based on the results of executing the query block: - -* If the variable is empty i.e. no node matched the query, the `uid` function returns a new UID in case of a `set` operation and is thus treated similar to a blank node. On the other hand, for `delete/del` operation, it returns no UID, and thus the operation becomes a no-op and is silently ignored. A blank node gets the same UID across all the mutation blocks. -* If the variable stores one or more than one UIDs, the `uid` function returns all the UIDs stored in the variable. In this case, the operation is performed on all the UIDs returned, one at a time. - -### `val` Function - -The `val` function allows extracting values from value variables. Value variables store -a mapping from UIDs to their corresponding values. Hence, `val(v)` is replaced by the value -stored in the mapping for the UID (Subject) in the N-Quad. If the variable `v` has no value -for a given UID, the mutation is silently ignored. The `val` function can be used with the -result of aggregate variables as well, in which case, all the UIDs in the mutation would -be updated with the aggregate value. - -### Example of `uid` Function - -Consider an example with the following schema: - -```sh -curl localhost:8080/alter -X POST -d $' - name: string @index(term) . - email: string @index(exact, trigram) @upsert . - age: int @index(int) .' | jq -``` - -Now, let's say we want to create a new user with `email` and `name` information. -We also want to make sure that one email has exactly one corresponding user in -the database. To achieve this, we need to first query whether a user exists -in the database with the given email. If a user exists, we use its UID -to update the `name` information. If the user doesn't exist, we create -a new user and update the `email` and `name` information. - -We can do this using the upsert block as follows: - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -upsert { - query { - q(func: eq(email, "user@company1.io")) { - v as uid - name - } - } - - mutation { - set { - uid(v) "first last" . - uid(v) "user@company1.io" . - } - } -}' | jq -``` - -Result: - -```json -{ - "data": { - "q": [], - "code": "Success", - "message": "Done", - "uids": { - "uid(v)": "0x1" - } - }, - "extensions": {...} -} -``` - -The query part of the upsert block stores the UID of the user with the provided email -in the variable `v`. The mutation part then extracts the UID from variable `v`, and -stores the `name` and `email` information in the database. If the user exists, -the information is updated. If the user doesn't exist, `uid(v)` is treated -as a blank node and a new user is created as explained above. - -If we run the same mutation again, the data would just be overwritten, and no new uid is -created. Note that the `uids` map is empty in the result when the mutation is executed -again and the `data` map (key `q`) contains the uid that was created in the previous upsert. - -```json -{ - "data": { - "q": [ - { - "uid": "0x1", - "name": "first last" - } - ], - "code": "Success", - "message": "Done", - "uids": {} - }, - "extensions": {...} -} -``` - -We can achieve the same result using `json` dataset as follows: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d ' -{ - "query": "{ q(func: eq(email, \\"user@company1.io\\")) {v as uid\\n name} }", - "set": { - "uid": "uid(v)", - "name": "first last", - "email": "user@company1.io" - } -}' | jq -``` - -Now, we want to add the `age` information for the same user having the same email -`user@company1.io`. We can use the upsert block to do the same as follows: - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -upsert { - query { - q(func: eq(email, "user@company1.io")) { - v as uid - } - } - - mutation { - set { - uid(v) "28" . - } - } -}' | jq -``` - -Result: - -```json -{ - "data": { - "q": [ - { - "uid": "0x1" - } - ], - "code": "Success", - "message": "Done", - "uids": {} - }, - "extensions": {...} -} -``` - -Here, the query block queries for a user with `email` as `user@company1.io`. It stores -the `uid` of the user in variable `v`. The mutation block then updates the `age` of the -user by extracting the uid from the variable `v` using `uid` function. - -We can achieve the same result using `json` dataset as follows: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $' -{ - "query": "{ q(func: eq(email, \\"user@company1.io\\")) {v as uid} }", - "set":{ - "uid": "uid(v)", - "age": "28" - } -}' | jq -``` - -If we want to execute the mutation only when the user exists, we could use -[Conditional Upsert]({{< relref "#conditional-upsert" >}}). - -### Example of `val` Function - -Let's say we want to migrate the predicate `age` to `other`. We can do this using the -following mutation: - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -upsert { - query { - v as var(func: has(age)) { - a as age - } - } - - mutation { - # we copy the values from the old predicate - set { - uid(v) val(a) . - } - - # and we delete the old predicate - delete { - uid(v) * . - } - } -}' | jq -``` - -Result: - -```json -{ - "data": { - "code": "Success", - "message": "Done", - "uids": {} - }, - "extensions": {...} -} -``` - -Here, variable `a` will store a mapping from all the UIDs to their `age`. The mutation -block then stores the corresponding value of `age` for each UID in the `other` predicate -and deletes the `age` predicate. - -We can achieve the same result using `json` dataset as follows: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $'{ - "query": "{ v as var(func: regexp(email, /.*@company1.io$/)) }", - "delete": { - "uid": "uid(v)", - "age": null - }, - "set": { - "uid": "uid(v)", - "other": "val(a)" - } -}' | jq -``` - -### Bulk Delete Example - -Let's say we want to delete all the users of `company1` from the database. This can be -achieved in just one query using the upsert block as follows: - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -upsert { - query { - v as var(func: regexp(email, /.*@company1.io$/)) - } - - mutation { - delete { - uid(v) * . - uid(v) * . - uid(v) * . - } - } -}' | jq -``` - -We can achieve the same result using `json` dataset as follows: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d '{ - "query": "{ v as var(func: regexp(email, /.*@company1.io$/)) }", - "delete": { - "uid": "uid(v)", - "name": null, - "email": null, - "age": null - } -}' | jq -``` - -## Conditional Upsert - -The upsert block also allows specifying conditional mutation blocks using an `@if` -directive. The mutation is executed only when the specified condition is true. If the -condition is false, the mutation is silently ignored. The general structure of -Conditional Upsert looks like as follows: - -``` -upsert { - query - [fragment ] - mutation [@if()] - [mutation [@if()] ] - ... -} -``` - -The `@if` directive accepts a condition on variables defined in the query block and can be -connected using `AND`, `OR` and `NOT`. - -### Example of Conditional Upsert - -Let's say in our previous example, we know the `company1` has less than 100 employees. -For safety, we want the mutation to execute only when the variable `v` stores less than -100 but greater than 50 UIDs in it. This can be achieved as follows: - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -upsert { - query { - v as var(func: regexp(email, /.*@company1.io$/)) - } - - mutation @if(lt(len(v), 100) AND gt(len(v), 50)) { - delete { - uid(v) * . - uid(v) * . - uid(v) * . - } - } -}' | jq -``` - -We can achieve the same result using `json` dataset as follows: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d '{ - "query": "{ v as var(func: regexp(email, /.*@company1.io$/)) }", - "cond": "@if(lt(len(v), 100) AND gt(len(v), 50))", - "delete": { - "uid": "uid(v)", - "name": null, - "email": null, - "age": null - } -}' | jq -``` - -### Example of Multiple Mutation Blocks - -Consider an example with the following schema: - -```sh -curl localhost:8080/alter -X POST -d $' - name: string @index(term) . - email: [string] @index(exact) @upsert .' | jq -``` - -Let's say, we have many users stored in our database each having one or more than -one email Addresses. Now, we get two email Addresses that belong to the same user. -If the email Addresses belong to the different nodes in the database, we want to delete -the existing nodes and create a new node with both the emails attached to this new node. -Otherwise, we create/update the new/existing node with both the emails. - -```sh -curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' -upsert { - query { - # filter is needed to ensure that we do not get same UIDs in u1 and u2 - q1(func: eq(email, "user_email1@company1.io")) @filter(not(eq(email, "user_email2@company1.io"))) { - u1 as uid - } - - q2(func: eq(email, "user_email2@company1.io")) @filter(not(eq(email, "user_email1@company1.io"))) { - u2 as uid - } - - q3(func: eq(email, "user_email1@company1.io")) @filter(eq(email, "user_email2@company1.io")) { - u3 as uid - } - } - - # case when both emails do not exist - mutation @if(eq(len(u1), 0) AND eq(len(u2), 0) AND eq(len(u3), 0)) { - set { - _:user "user" . - _:user "Person" . - _:user "user_email1@company1.io" . - _:user "user_email2@company1.io" . - } - } - - # case when email1 exists but email2 does not - mutation @if(eq(len(u1), 1) AND eq(len(u2), 0) AND eq(len(u3), 0)) { - set { - uid(u1) "user_email2@company1.io" . - } - } - - # case when email1 does not exist but email2 exists - mutation @if(eq(len(u1), 0) AND eq(len(u2), 1) AND eq(len(u3), 0)) { - set { - uid(u2) "user_email1@company1.io" . - } - } - - # case when both emails exist and needs merging - mutation @if(eq(len(u1), 1) AND eq(len(u2), 1) AND eq(len(u3), 0)) { - set { - _:user "user" . - _:user "Person" . - _:user "user_email1@company1.io" . - _:user "user_email2@company1.io" . - } - - delete { - uid(u1) * . - uid(u1) * . - uid(u2) * . - uid(u2) * . - } - } -}' | jq -``` - -Result (when database is empty): - -```json -{ - "data": { - "q1": [], - "q2": [], - "q3": [], - "code": "Success", - "message": "Done", - "uids": { - "user": "0x1" - } - }, - "extensions": {...} -} -``` - -Result (both emails exist and are attached to different nodes): -```json -{ - "data": { - "q1": [ - { - "uid": "0x2" - } - ], - "q2": [ - { - "uid": "0x3" - } - ], - "q3": [], - "code": "Success", - "message": "Done", - "uids": { - "user": "0x4" - } - }, - "extensions": {...} -} -``` - -Result (when both emails exist and are already attached to the same node): - -```json -{ - "data": { - "q1": [], - "q2": [], - "q3": [ - { - "uid": "0x4" - } - ], - "code": "Success", - "message": "Done", - "uids": {} - }, - "extensions": {...} -} -``` - -We can achieve the same result using `json` dataset as follows: - -```sh -curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d '{ - "query": "{q1(func: eq(email, \"user_email1@company1.io\")) @filter(not(eq(email, \"user_email2@company1.io\"))) {u1 as uid} \n q2(func: eq(email, \"user_email2@company1.io\")) @filter(not(eq(email, \"user_email1@company1.io\"))) {u2 as uid} \n q3(func: eq(email, \"user_email1@company1.io\")) @filter(eq(email, \"user_email2@company1.io\")) {u3 as uid}}", - "mutations": [ - { - "cond": "@if(eq(len(u1), 0) AND eq(len(u2), 0) AND eq(len(u3), 0))", - "set": [ - { - "uid": "_:user", - "name": "user", - "dgraph.type": "Person" - }, - { - "uid": "_:user", - "email": "user_email1@company1.io", - "dgraph.type": "Person" - }, - { - "uid": "_:user", - "email": "user_email2@company1.io", - "dgraph.type": "Person" - } - ] - }, - { - "cond": "@if(eq(len(u1), 1) AND eq(len(u2), 0) AND eq(len(u3), 0))", - "set": [ - { - "uid": "uid(u1)", - "email": "user_email2@company1.io", - "dgraph.type": "Person" - } - ] - }, - { - "cond": "@if(eq(len(u1), 1) AND eq(len(u2), 0) AND eq(len(u3), 0))", - "set": [ - { - "uid": "uid(u2)", - "email": "user_email1@company1.io", - "dgraph.type": "Person" - } - ] - }, - { - "cond": "@if(eq(len(u1), 1) AND eq(len(u2), 1) AND eq(len(u3), 0))", - "set": [ - { - "uid": "_:user", - "name": "user", - "dgraph.type": "Person" - }, - { - "uid": "_:user", - "email": "user_email1@company1.io", - "dgraph.type": "Person" - }, - { - "uid": "_:user", - "email": "user_email2@company1.io", - "dgraph.type": "Person" - } - ], - "delete": [ - { - "uid": "uid(u1)", - "name": null, - "email": null - }, - { - "uid": "uid(u2)", - "name": null, - "email": null - } - ] - } - ] -}' | jq -``` diff --git a/wiki/content/mutations/json-mutation-format.md b/wiki/content/mutations/json-mutation-format.md new file mode 100644 index 00000000000..2bee769dd5a --- /dev/null +++ b/wiki/content/mutations/json-mutation-format.md @@ -0,0 +1,612 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "JSON Mutation Format" +[menu.main] + parent = "mutations" + weight = 10 ++++ + +Mutations can also be specified using JSON objects. This can allow mutations to +be expressed in a more natural way. It also eliminates the need for apps to +have custom serialisation code, since most languages already have a JSON +marshalling library. + +When Dgraph receives a mutation as a JSON object, it first converts in into +multiple RDFs that are then processed as normal. + +Each JSON object represents a single node in the graph. + +{{% notice "note" %}} +JSON mutations are available via gRPC clients such as the Go client, JS client, and Java client, and are available to HTTP clients with [dgraph-js-http](https://github.com/dgraph-io/dgraph-js-http) and cURL. See more about cURL [here]({{< relref "#using-json-operations-via-curl" >}}) +{{% /notice %}} + +## Setting literal values + +When setting new values, the `set_json` field in the `Mutation` message should +contain a JSON object. + +Literal values can be set by adding a key/value to the JSON object. The key +represents the predicate, and the value represents the object. + +For example: +```json +{ + "name": "diggy", + "food": "pizza", + "dgraph.type": "Mascot" +} +``` +Will be converted into the RDFs: +```RDF +_:blank-0 "diggy" . +_:blank-0 "pizza" . +_:blank-0 "Mascot" . +``` + +The result of the mutation would also contain a map, which would have the uid assigned corresponding +to the key `blank-0`. You could specify your own key like + +```json +{ + "uid": "_:diggy", + "name": "diggy", + "food": "pizza", + "dgraph.type": "Mascot" +} +``` + +In this case, the assigned uids map would have a key called `diggy` with the value being the uid +assigned to it. + +## Language support + +An important difference between RDF and JSON mutations is in regards to specifying a string value's +language. In JSON, the language tag is appended to the edge _name_, not the value like in RDF. + +For example, the JSON mutation +```JSON +{ + "food": "taco", + "rating@en": "tastes good", + "rating@es": "sabe bien", + "rating@fr": "c'est bon", + "rating@it": "è buono", + "dgraph.type": "Food" +} +``` + +is equivalent to the following RDF: +```RDF +_:blank-0 "taco" . +_:blank-0 "Food" . +_:blank-0 "tastes good"@en . +_:blank-0 "sabe bien"@es . +_:blank-0 "c'est bon"@fr . +_:blank-0 "è buono"@it . +``` + +## Geolocation support + +Support for geolocation data is available in JSON. Geo-location data is entered +as a JSON object with keys "type" and "coordinates". Keep in mind we only +support indexing on the Point, Polygon, and MultiPolygon types, but we can store +other types of geolocation data. Below is an example: + +```JSON +{ + "food": "taco", + "location": { + "type": "Point", + "coordinates": [1.0, 2.0] + } +} +``` + +## Referencing existing nodes + +If a JSON object contains a field named `"uid"`, then that field is interpreted +as the UID of an existing node in the graph. This mechanism allows you to +reference existing nodes. + +For example: +```json +{ + "uid": "0x467ba0", + "food": "taco", + "rating": "tastes good", + "dgraph.type": "Food" +} +``` +Will be converted into the RDFs: +```RDF +<0x467ba0> "taco" . +<0x467ba0> "tastes good" . +<0x467ba0> "Food" . +``` + +## Edges between nodes + +Edges between nodes are represented in a similar way to literal values, except +that the object is a JSON object. + +For example: +```JSON +{ + "name": "Alice", + "friend": { + "name": "Betty" + } +} +``` +Will be converted into the RDFs: +```RDF +_:blank-0 "Alice" . +_:blank-0 _:blank-1 . +_:blank-1 "Betty" . +``` + +The result of the mutation would contain the uids assigned to `blank-0` and `blank-1` nodes. If you +wanted to return these uids under a different key, you could specify the `uid` field as a blank +node. + +```JSON +{ + "uid": "_:alice", + "name": "Alice", + "friend": { + "uid": "_:bob", + "name": "Betty" + } +} +``` + +Will be converted to: + +```RDF +_:alice "Alice" . +_:alice _:bob . +_:bob "Betty" . +``` + +Existing nodes can be referenced in the same way as when adding literal values. +E.g. to link two existing nodes: +```JSON +{ + "uid": "0x123", + "link": { + "uid": "0x456" + } +} +``` + +Will be converted to: + +```RDF +<0x123> <0x456> . +``` + +{{% notice "note" %}} +A common mistake is to attempt to use `{"uid":"0x123","link":"0x456"}`. This +will result in an error. Dgraph interprets this JSON object as setting the +`link` predicate to the string`"0x456"`, which is usually not intended. {{% +/notice %}} + +## Deleting literal values + +Deletion mutations can also be sent in JSON format. To send a delete mutation, +use the `delete_json` field instead of the `set_json` field in the `Mutation` +message. + +{{% notice "note" %}} Check the [JSON Syntax using Raw HTTP or Ratel UI]({{< relref "#json-syntax-using-raw-http-or-ratel-ui">}}) section if you're using the dgraph-js-http client or Ratel UI. {{% /notice %}} + +When using delete mutations, an existing node always has to be referenced. So +the `"uid"` field for each JSON object must be present. Predicates that should +be deleted should be set to the JSON value `null`. + +For example, to remove a food rating: +```JSON +{ + "uid": "0x467ba0", + "rating": null +} +``` + +## Deleting edges + +Deleting a single edge requires the same JSON object that would create that +edge. E.g. to delete the predicate `link` from `"0x123"` to `"0x456"`: +```JSON +{ + "uid": "0x123", + "link": { + "uid": "0x456" + } +} +``` + +All edges for a predicate emanating from a single node can be deleted at once +(corresponding to deleting `S P *`): +```JSON +{ + "uid": "0x123", + "link": null +} +``` + +If no predicates are specified, then all of the node's known outbound edges (to +other nodes and to literal values) are deleted (corresponding to deleting `S * +*`). The predicates to delete are derived using the type system. Refer to the +[RDF format]({{< relref "#delete" >}}) documentation and the section on the +[type system]({{< relref "query-language/type-system.md" >}}) for more +information: + +```JSON +{ + "uid": "0x123" +} +``` + +## Facets + +Facets can be created by using the `|` character to separate the predicate +and facet key in a JSON object field name. This is the same encoding schema +used to show facets in query results. E.g. +```JSON +{ + "name": "Carol", + "name|initial": "C", + "dgraph.type": "Person", + "friend": { + "name": "Daryl", + "friend|close": "yes", + "dgraph.type": "Person" + } +} +``` +Produces the following RDFs: +``` +_:blank-0 "Carol" (initial=C) . +_:blank-0 "Person" . +_:blank-0 _:blank-1 (close=yes) . +_:blank-1 "Daryl" . +_:blank-1 "Person" . +``` + +Facets do not contain type information but Dgraph will try to guess a type from +the input. If the value of a facet can be parsed to a number, it will be +converted to either a float or an int. If it can be parsed as a boolean, it will +be stored as a boolean. If the value is a string, it will be stored as a +datetime if the string matches one of the time formats that Dgraph recognizes +(YYYY, MM-YYYY, DD-MM-YYYY, RFC339, etc.) and as a double-quoted string +otherwise. If you do not want to risk the chance of your facet data being +misinterpreted as a time value, it is best to store numeric data as either an +int or a float. + +## Deleting Facets + +The easiest way to delete a Facet is overwriting it. When you create a new mutation for the same entity without a facet, the existing facet will be deleted automatically. + +e.g: + +```RDF +<0x1> "Carol" . +<0x1> <0x2> . +``` + +Another way to do this is by using the Upsert Block. + +> In this query below, we are deleting Facet in the Name and Friend predicates. To overwrite we need to collect the values ​​of the edges on which we are performing this operation and use the function "val(var)" to complete the overwriting. + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +upsert { + query { + user as var(func: eq(name, "Carol")){ + Name as name + Friends as friend + } + } + + mutation { + set { + uid(user) val(Name) . + uid(user) uid(Friends) . + } + } +}' | jq +``` + +## Creating a list with JSON and interacting with + +Schema: + +```JSON +testList: [string] . +``` + +```JSON +{ + "testList": [ + "Grape", + "Apple", + "Strawberry", + "Banana", + "watermelon" + ] +} +``` + +Let’s then remove "Apple" from this list (Remember, it’s case sensitive): + +```graphql +{ + q(func: has(testList)) { + uid + testList + } +} +``` + +```JSON +{ + "delete": { + "uid": "0x6", #UID of the list. + "testList": "Apple" + } +} +``` + +Also you can delete multiple values +```JSON +{ + "delete": { + "uid": "0x6", + "testList": [ + "Strawberry", + "Banana", + "watermelon" + ] + } +} +``` + +{{% notice "note" %}} Check the [JSON Syntax using Raw HTTP or Ratel UI]({{< relref "#json-syntax-using-raw-http-or-ratel-ui">}}) section if you're using the dgraph-js-http client or Ratel UI. {{% /notice %}} + +Add another fruit: + +```JSON +{ + "uid": "0x6", #UID of the list. + "testList": "Pineapple" +} +``` + +## Facets in List-type with JSON +Schema: +```sh +: string @index(exact). +: [string] . +``` +To create a List-type predicate you need to specify all value in a single list. Facets for all +predicate values should be specified together. It is done in map format with index of predicate +values inside list being map key and their respective facets value as map values. Predicate values +which does not have facets values will be missing from facets map. E.g. +```JSON +{ + "set": [ + { + "uid": "_:Julian", + "name": "Julian", + "nickname": ["Jay-Jay", "Jules", "JB"], + "nickname|kind": { + "0": "first", + "1": "official", + "2": "CS-GO" + } + } + ] +} +``` +Above you see that we have three values ​​to enter the list with their respective facets. +You can run this query to check the list with facets: +```graphql +{ + q(func: eq(name,"Julian")) { + uid + nickname @facets + } +} +``` +Later, if you want to add more values ​​with facets, just do the same procedure, but this time instead of using Blank-node you must use the actual node's UID. +```JSON +{ + "set": [ + { + "uid": "0x3", + "nickname|kind": "Internet", + "nickname": "@JJ" + } + ] +} +``` +And the final result is: +```JSON +{ + "data": { + "q": [ + { + "uid": "0x3", + "nickname|kind": { + "0": "first", + "1": "Internet", + "2": "official", + "3": "CS-GO" + }, + "nickname": [ + "Jay-Jay", + "@JJ", + "Jules", + "JB" + ] + } + ] + } +} +``` + +## Specifying multiple operations + +When specifying add or delete mutations, multiple nodes can be specified +at the same time using JSON arrays. + +For example, the following JSON object can be used to add two new nodes, each +with a `name`: + +```JSON +[ + { + "name": "Edward" + }, + { + "name": "Fredric" + } +] +``` + +## JSON Syntax using Raw HTTP or Ratel UI + +This syntax can be used in the most current version of Ratel, in the [dgraph-js-http](https://github.com/dgraph-io/dgraph-js-http) client or even via cURL. + +You can also [download the Ratel UI for Linux, macOS, or Windows](https://discuss.dgraph.io/t/ratel-installer-for-linux-macos-and-windows-preview-version-ratel-update-from-v1-0-6/2884/). + +Mutate: +```JSON +{ + "set": [ + { + # One JSON obj in here + }, + { + # Another JSON obj in here for multiple operations + } + ] +} +``` + +Delete: + +Deletion operations are the same as [Deleting literal values]({{< relref "#deleting-literal-values">}}) and [Deleting edges]({{< relref "#deleting-edges">}}). + +```JSON +{ + "delete": [ + { + # One JSON obj in here + }, + { + # Another JSON obj in here for multiple operations + } + ] +} +``` + +## Using JSON operations via cURL + +First you have to configure the HTTP header to specify content-type. + +```sh +-H 'Content-Type: application/json' +``` + +{{% notice "note" %}} +In order to use `jq` for JSON formatting you need the `jq` package. See the +[`jq` downloads](https://stedolan.github.io/jq/download/) page for installation +details. You can also use Python's built in `json.tool` module with `python -m +json.tool` to do JSON formatting. +{{% /notice %}} + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $' + { + "set": [ + { + "name": "Alice" + }, + { + "name": "Bob" + } + ] + }' | jq + +``` + +To delete: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $' + { + "delete": [ + { + "uid": "0xa" + } + ] + }' | jq +``` + +Mutation with a JSON file: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d @data.json +``` + +where the contents of data.json looks like the following: + +```json +{ + "set": [ + { + "name": "Alice" + }, + { + "name": "Bob" + } + ] +} +``` + +The JSON file must follow the same format for mutations over HTTP: a single JSON +object with the `"set"` or `"delete"` key and an array of JSON objects for the +mutation. If you already have a file with an array of data, you can use `jq` to +transform your data to the proper format. For example, if your data.json file +looks like this: + +```json +[ + { + "name": "Alice" + }, + { + "name": "Bob" + } +] +``` + +then you can transform your data to the proper format with the following `jq` +command, where the `.` in the `jq` string represents the contents of data.json: + +```sh +cat data.json | jq '{set: .}' +``` + +``` +{ + "set": [ + { + "name": "Alice" + }, + { + "name": "Bob" + } + ] +} +``` \ No newline at end of file diff --git a/wiki/content/mutations/language-rdf-types.md b/wiki/content/mutations/language-rdf-types.md new file mode 100644 index 00000000000..0800fee5d07 --- /dev/null +++ b/wiki/content/mutations/language-rdf-types.md @@ -0,0 +1,49 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Language and RDF Types" +[menu.main] + parent = "mutations" + weight = 5 ++++ + +RDF N-Quad allows specifying a language for string values and an RDF type. Languages are written using `@lang`. For example +``` +<0x01> "Adelaide"@en . +<0x01> "Аделаида"@ru . +<0x01> "Adélaïde"@fr . +<0x01> "Person" . +``` +See also [how language strings are handled in queries]({{< relref "query-language/graphql-fundamentals.md#language-support" >}}). + +RDF types are attached to literals with the standard `^^` separator. For example +``` +<0x01> "32"^^ . +<0x01> "1985-06-08"^^ . +``` + +The supported [RDF datatypes](https://www.w3.org/TR/rdf11-concepts/#section-Datatypes) and the corresponding internal type in which the data is stored are as follows. + +| Storage Type | Dgraph type | +| ------------- | :------------: | +| <xs:string> | `string` | +| <xs:dateTime> | `dateTime` | +| <xs:date> | `datetime` | +| <xs:int> | `int` | +| <xs:integer> | `int` | +| <xs:boolean> | `bool` | +| <xs:double> | `float` | +| <xs:float> | `float` | +| <geo:geojson> | `geo` | +| <xs:password> | `password` | +| <http://www.w3.org/2001/XMLSchema#string> | `string` | +| <http://www.w3.org/2001/XMLSchema#dateTime> | `dateTime` | +| <http://www.w3.org/2001/XMLSchema#date> | `dateTime` | +| <http://www.w3.org/2001/XMLSchema#int> | `int` | +| <http://www.w3.org/2001/XMLSchema#positiveInteger> | `int` | +| <http://www.w3.org/2001/XMLSchema#integer> | `int` | +| <http://www.w3.org/2001/XMLSchema#boolean> | `bool` | +| <http://www.w3.org/2001/XMLSchema#double> | `float` | +| <http://www.w3.org/2001/XMLSchema#float> | `float` | + + +See the section on [RDF schema types]({{< relref "#rdf-types" >}}) to understand how RDF types affect mutations and storage. diff --git a/wiki/content/mutations/mutations-using-curl.md b/wiki/content/mutations/mutations-using-curl.md new file mode 100644 index 00000000000..d1be82d0a36 --- /dev/null +++ b/wiki/content/mutations/mutations-using-curl.md @@ -0,0 +1,39 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Mutations using cURL" +[menu.main] + parent = "mutations" + weight = 9 ++++ + +Mutations can be done over HTTP by making a `POST` request to an Alpha's `/mutate` endpoint. On the command line this can be done with curl. To commit the mutation, pass the parameter `commitNow=true` in the URL. + +To run a `set` mutation: + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +{ + set { + _:alice "Alice" . + _:alice "Person" . + } +}' +``` + +To run a `delete` mutation: + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +{ + delete { + # Example: The UID of Alice is 0x56f33 + <0x56f33> * . + } +}' +``` + +To run an RDF mutation stored in a file, use curl's `--data-binary` option so that, unlike the `-d` option, the data is not URL encoded. + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true --data-binary @mutation.txt +``` \ No newline at end of file diff --git a/wiki/content/mutations/triples.md b/wiki/content/mutations/triples.md new file mode 100644 index 00000000000..832bc45e914 --- /dev/null +++ b/wiki/content/mutations/triples.md @@ -0,0 +1,37 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Triples" +[menu.main] + parent = "mutations" + weight = 1 ++++ + +A mutation that adds triples is done with the `set` keyword. +``` +{ + set { + # triples in here + } +} +``` + +The input language is triples in the W3C standard [RDF N-Quad format](https://www.w3.org/TR/n-quads/). + +Each triple has the form +``` + . +``` +Meaning that the graph node identified by `subject` is linked to `object` with directed edge `predicate`. Each triple ends with a period. The subject of a triple is always a node in the graph, while the object may be a node or a value (a literal). + +For example, the triple +``` +<0x01> "Alice" . +<0x01> "Person" . +``` +Represents that graph node with ID `0x01` has a `name` with string value `"Alice"`. While triple +``` +<0x01> <0x02> . +``` +Represents that graph node with ID `0x01` is linked with the `friend` edge to node `0x02`. + +Dgraph creates a unique 64 bit identifier for every blank node in the mutation - the node's UID. A mutation can include a blank node as an identifier for the subject or object, or a known UID from a previous mutation. \ No newline at end of file diff --git a/wiki/content/mutations/upsert-block.md b/wiki/content/mutations/upsert-block.md new file mode 100644 index 00000000000..baefdaccfd5 --- /dev/null +++ b/wiki/content/mutations/upsert-block.md @@ -0,0 +1,295 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Upsert Block" +[menu.main] + parent = "mutations" + weight = 11 ++++ + +The upsert block allows performing queries and mutations in a single request. The upsert +block contains one query block and one or more than one mutation blocks. Variables defined +in the query block can be used in the mutation blocks using the `uid` and `val` function. + +In general, the structure of the upsert block is as follows: + +``` +upsert { + query + [fragment ] + mutation + [mutation ] + ... +} +``` + +Execution of an upsert block also returns the response of the query executed on the state +of the database *before mutation was executed*. To get the latest result, we should commit +the mutation and execute another query. + +## `uid` Function + +The `uid` function allows extracting UIDs from variables defined in the query block. +There are two possible outcomes based on the results of executing the query block: + +* If the variable is empty i.e. no node matched the query, the `uid` function returns a new UID in case of a `set` operation and is thus treated similar to a blank node. On the other hand, for `delete/del` operation, it returns no UID, and thus the operation becomes a no-op and is silently ignored. A blank node gets the same UID across all the mutation blocks. +* If the variable stores one or more than one UIDs, the `uid` function returns all the UIDs stored in the variable. In this case, the operation is performed on all the UIDs returned, one at a time. + +## `val` Function + +The `val` function allows extracting values from value variables. Value variables store +a mapping from UIDs to their corresponding values. Hence, `val(v)` is replaced by the value +stored in the mapping for the UID (Subject) in the N-Quad. If the variable `v` has no value +for a given UID, the mutation is silently ignored. The `val` function can be used with the +result of aggregate variables as well, in which case, all the UIDs in the mutation would +be updated with the aggregate value. + +## Example of `uid` Function + +Consider an example with the following schema: + +```sh +curl localhost:8080/alter -X POST -d $' + name: string @index(term) . + email: string @index(exact, trigram) @upsert . + age: int @index(int) .' | jq +``` + +Now, let's say we want to create a new user with `email` and `name` information. +We also want to make sure that one email has exactly one corresponding user in +the database. To achieve this, we need to first query whether a user exists +in the database with the given email. If a user exists, we use its UID +to update the `name` information. If the user doesn't exist, we create +a new user and update the `email` and `name` information. + +We can do this using the upsert block as follows: + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +upsert { + query { + q(func: eq(email, "user@company1.io")) { + v as uid + name + } + } + + mutation { + set { + uid(v) "first last" . + uid(v) "user@company1.io" . + } + } +}' | jq +``` + +Result: + +```json +{ + "data": { + "q": [], + "code": "Success", + "message": "Done", + "uids": { + "uid(v)": "0x1" + } + }, + "extensions": {...} +} +``` + +The query part of the upsert block stores the UID of the user with the provided email +in the variable `v`. The mutation part then extracts the UID from variable `v`, and +stores the `name` and `email` information in the database. If the user exists, +the information is updated. If the user doesn't exist, `uid(v)` is treated +as a blank node and a new user is created as explained above. + +If we run the same mutation again, the data would just be overwritten, and no new uid is +created. Note that the `uids` map is empty in the result when the mutation is executed +again and the `data` map (key `q`) contains the uid that was created in the previous upsert. + +```json +{ + "data": { + "q": [ + { + "uid": "0x1", + "name": "first last" + } + ], + "code": "Success", + "message": "Done", + "uids": {} + }, + "extensions": {...} +} +``` + +We can achieve the same result using `json` dataset as follows: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d ' +{ + "query": "{ q(func: eq(email, \\"user@company1.io\\")) {v as uid\\n name} }", + "set": { + "uid": "uid(v)", + "name": "first last", + "email": "user@company1.io" + } +}' | jq +``` + +Now, we want to add the `age` information for the same user having the same email +`user@company1.io`. We can use the upsert block to do the same as follows: + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +upsert { + query { + q(func: eq(email, "user@company1.io")) { + v as uid + } + } + + mutation { + set { + uid(v) "28" . + } + } +}' | jq +``` + +Result: + +```json +{ + "data": { + "q": [ + { + "uid": "0x1" + } + ], + "code": "Success", + "message": "Done", + "uids": {} + }, + "extensions": {...} +} +``` + +Here, the query block queries for a user with `email` as `user@company1.io`. It stores +the `uid` of the user in variable `v`. The mutation block then updates the `age` of the +user by extracting the uid from the variable `v` using `uid` function. + +We can achieve the same result using `json` dataset as follows: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $' +{ + "query": "{ q(func: eq(email, \\"user@company1.io\\")) {v as uid} }", + "set":{ + "uid": "uid(v)", + "age": "28" + } +}' | jq +``` + +If we want to execute the mutation only when the user exists, we could use +[Conditional Upsert]({{< relref "#conditional-upsert" >}}). + +## Example of `val` Function + +Let's say we want to migrate the predicate `age` to `other`. We can do this using the +following mutation: + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +upsert { + query { + v as var(func: has(age)) { + a as age + } + } + + mutation { + # we copy the values from the old predicate + set { + uid(v) val(a) . + } + + # and we delete the old predicate + delete { + uid(v) * . + } + } +}' | jq +``` + +Result: + +```json +{ + "data": { + "code": "Success", + "message": "Done", + "uids": {} + }, + "extensions": {...} +} +``` + +Here, variable `a` will store a mapping from all the UIDs to their `age`. The mutation +block then stores the corresponding value of `age` for each UID in the `other` predicate +and deletes the `age` predicate. + +We can achieve the same result using `json` dataset as follows: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d $'{ + "query": "{ v as var(func: regexp(email, /.*@company1.io$/)) }", + "delete": { + "uid": "uid(v)", + "age": null + }, + "set": { + "uid": "uid(v)", + "other": "val(a)" + } +}' | jq +``` + +## Bulk Delete Example + +Let's say we want to delete all the users of `company1` from the database. This can be +achieved in just one query using the upsert block as follows: + +```sh +curl -H "Content-Type: application/rdf" -X POST localhost:8080/mutate?commitNow=true -d $' +upsert { + query { + v as var(func: regexp(email, /.*@company1.io$/)) + } + + mutation { + delete { + uid(v) * . + uid(v) * . + uid(v) * . + } + } +}' | jq +``` + +We can achieve the same result using `json` dataset as follows: + +```sh +curl -H "Content-Type: application/json" -X POST localhost:8080/mutate?commitNow=true -d '{ + "query": "{ v as var(func: regexp(email, /.*@company1.io$/)) }", + "delete": { + "uid": "uid(v)", + "name": null, + "email": null, + "age": null + } +}' | jq +``` \ No newline at end of file diff --git a/wiki/content/query-language/_index.md b/wiki/content/query-language/_index.md index e69de29bb2d..f9ad229f3f1 100644 --- a/wiki/content/query-language/_index.md +++ b/wiki/content/query-language/_index.md @@ -0,0 +1,9 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Query Language" +[menu.main] + url = "/query-language/" + identifier = "query-language" + weight = 4 ++++ + diff --git a/wiki/content/query-language/aggregation.md b/wiki/content/query-language/aggregation.md new file mode 100644 index 00000000000..8500e5dd1d3 --- /dev/null +++ b/wiki/content/query-language/aggregation.md @@ -0,0 +1,188 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Aggregation" +[menu.main] + parent = "query-language" + weight = 11 ++++ + +Syntax Example: `AG(val(varName))` + +For `AG` replaced with + +* `min` : select the minimum value in the value variable `varName` +* `max` : select the maximum value +* `sum` : sum all values in value variable `varName` +* `avg` : calculate the average of values in `varName` + +Schema Types: + +| Aggregation | Schema Types | +|:-----------|:--------------| +| `min` / `max` | `int`, `float`, `string`, `dateTime`, `default` | +| `sum` / `avg` | `int`, `float` | + +Aggregation can only be applied to [value variables]({{< relref "#value-variables">}}). An index is not required (the values have already been found and stored in the value variable mapping). + +An aggregation is applied at the query block enclosing the variable definition. As opposed to query variables and value variables, which are global, aggregation is computed locally. For example: +``` +A as predicateA { + ... + B as predicateB { + x as ...some value... + } + min(val(x)) +} +``` +Here, `A` and `B` are the lists of all UIDs that match these blocks. Value variable `x` is a mapping from UIDs in `B` to values. The aggregation `min(val(x))`, however, is computed for each UID in `A`. That is, it has a semantics of: for each UID in `A`, take the slice of `x` that corresponds to `A`'s outgoing `predicateB` edges and compute the aggregation for those values. + +Aggregations can themselves be assigned to value variables, making a UID to aggregation map. + + +## Min + +### Usage at Root + +Query Example: Get the min initial release date for any Harry Potter movie. + +The release date is assigned to a variable, then it is aggregated and fetched in an empty block. +{{< runnable >}} +{ + var(func: allofterms(name@en, "Harry Potter")) { + d as initial_release_date + } + me() { + min(val(d)) + } +} +{{< /runnable >}} + +### Usage at other levels + +Query Example: Directors called Steven and the date of release of their first movie, in ascending order of first movie. + +{{< runnable >}} +{ + stevens as var(func: allofterms(name@en, "steven")) { + director.film { + ird as initial_release_date + # ird is a value variable mapping a film UID to its release date + } + minIRD as min(val(ird)) + # minIRD is a value variable mapping a director UID to their first release date + } + + byIRD(func: uid(stevens), orderasc: val(minIRD)) { + name@en + firstRelease: val(minIRD) + } +} +{{< /runnable >}} + +## Max + +### Usage at Root + +Query Example: Get the max initial release date for any Harry Potter movie. + +The release date is assigned to a variable, then it is aggregated and fetched in an empty block. +{{< runnable >}} +{ + var(func: allofterms(name@en, "Harry Potter")) { + d as initial_release_date + } + me() { + max(val(d)) + } +} +{{< /runnable >}} + +### Usage at other levels + +Query Example: Quentin Tarantino's movies and date of release of the most recent movie. + +{{< runnable >}} +{ + director(func: allofterms(name@en, "Quentin Tarantino")) { + director.film { + name@en + x as initial_release_date + } + max(val(x)) + } +} +{{< /runnable >}} + +## Sum and Avg + +### Usage at Root + +Query Example: Get the sum and average of number of count of movies directed by people who have +Steven or Tom in their name. + +{{< runnable >}} +{ + var(func: anyofterms(name@en, "Steven Tom")) { + a as count(director.film) + } + + me() { + avg(val(a)) + sum(val(a)) + } +} +{{< /runnable >}} + +### Usage at other levels + +Query Example: Steven Spielberg's movies, with the number of recorded genres per movie, and the total number of genres and average genres per movie. + +{{< runnable >}} +{ + director(func: eq(name@en, "Steven Spielberg")) { + name@en + director.film { + name@en + numGenres : g as count(genre) + } + totalGenres : sum(val(g)) + genresPerMovie : avg(val(g)) + } +} +{{< /runnable >}} + + +## Aggregating Aggregates + +Aggregations can be assigned to value variables, and so these variables can in turn be aggregated. + +Query Example: For each actor in a Peter Jackson film, find the number of roles played in any movie. Sum these to find the total number of roles ever played by all actors in the movie. Then sum the lot to find the total number of roles ever played by actors who have appeared in Peter Jackson movies. Note that this demonstrates how to aggregate aggregates; the answer in this case isn't quite precise though, because actors that have appeared in multiple Peter Jackson movies are counted more than once. + +{{< runnable >}} +{ + PJ as var(func:allofterms(name@en, "Peter Jackson")) { + director.film { + starring { # starring an actor + performance.actor { + movies as count(actor.film) + # number of roles for this actor + } + perf_total as sum(val(movies)) + } + movie_total as sum(val(perf_total)) + # total roles for all actors in this movie + } + gt as sum(val(movie_total)) + } + + PJmovies(func: uid(PJ)) { + name@en + director.film (orderdesc: val(movie_total), first: 5) { + name@en + totalRoles : val(movie_total) + } + grandTotal : val(gt) + } +} +{{< /runnable >}} + diff --git a/wiki/content/query-language/alias.md b/wiki/content/query-language/alias.md new file mode 100644 index 00000000000..7979df241f7 --- /dev/null +++ b/wiki/content/query-language/alias.md @@ -0,0 +1,42 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Alias" +[menu.main] + parent = "query-language" + weight = 4 ++++ + +Syntax Examples: + +* `aliasName : predicate` +* `aliasName : predicate { ... }` +* `aliasName : varName as ...` +* `aliasName : count(predicate)` +* `aliasName : max(val(varName))` + +An alias provides an alternate name in results. Predicates, variables and aggregates can be aliased by prefixing with the alias name and `:`. Aliases do not have to be different to the original predicate name, but, within a block, an alias must be distinct from predicate names and other aliases returned in the same block. Aliases can be used to return the same predicate multiple times within a block. + +Query Example: Directors with `name` matching term `Steven`, their UID, English name, average number of actors per movie, total number of films, and the name of each film in English and French. +{{< runnable >}} +{ + ID as var(func: allofterms(name@en, "Steven")) @filter(has(director.film)) { + director.film { + num_actors as count(starring) + } + average as avg(val(num_actors)) + } + + films(func: uid(ID)) { + director_id : uid + english_name : name@en + average_actors : val(average) + num_films : count(director.film) + + films : director.film { + name : name@en + english_name : name@en + french_name : name@fr + } + } +} +{{< /runnable >}} diff --git a/wiki/content/query-language/cascade-directive.md b/wiki/content/query-language/cascade-directive.md new file mode 100644 index 00000000000..1d84ba6459f --- /dev/null +++ b/wiki/content/query-language/cascade-directive.md @@ -0,0 +1,47 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Cascade Directive" +[menu.main] + parent = "query-language" + weight = 15 ++++ + +With the `@cascade` directive, nodes that don't have all predicates specified in the query are removed. This can be useful in cases where some filter was applied or if nodes might not have all listed predicates. + + +Query Example: Harry Potter movies, with each actor and characters played. With `@cascade`, any character not played by an actor called Warwick is removed, as is any Harry Potter movie without any actors called Warwick. Without `@cascade`, every character is returned, but only those played by actors called Warwick also have the actor name. +{{< runnable >}} +{ + HP(func: allofterms(name@en, "Harry Potter")) @cascade { + name@en + starring{ + performance.character { + name@en + } + performance.actor @filter(allofterms(name@en, "Warwick")){ + name@en + } + } + } +} +{{< /runnable >}} + +You can apply `@cascade` on inner query blocks as well. +{{< runnable >}} +{ + HP(func: allofterms(name@en, "Harry Potter")) { + name@en + genre { + name@en + } + starring @cascade { + performance.character { + name@en + } + performance.actor @filter(allofterms(name@en, "Warwick")){ + name@en + } + } + } +} +{{< /runnable >}} \ No newline at end of file diff --git a/wiki/content/query-language/connecting-filters.md b/wiki/content/query-language/connecting-filters.md new file mode 100644 index 00000000000..880f33e06e6 --- /dev/null +++ b/wiki/content/query-language/connecting-filters.md @@ -0,0 +1,27 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Connecting Filters" +[menu.main] + parent = "query-language" + weight = 3 ++++ + +Within `@filter` multiple functions can be used with boolean connectives. + +## AND, OR and NOT + +Connectives `AND`, `OR` and `NOT` join filters and can be built into arbitrarily complex filters, such as `(NOT A OR B) AND (C AND NOT (D OR E))`. Note that, `NOT` binds more tightly than `AND` which binds more tightly than `OR`. + +Query Example : All Steven Spielberg movies that contain either both "indiana" and "jones" OR both "jurassic" and "park". + +{{< runnable >}} +{ + me(func: eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { + name@en + director.film @filter(allofterms(name@en, "jones indiana") OR allofterms(name@en, "jurassic park")) { + uid + name@en + } + } +} +{{< /runnable >}} \ No newline at end of file diff --git a/wiki/content/query-language/count.md b/wiki/content/query-language/count.md new file mode 100644 index 00000000000..e7e42dd8831 --- /dev/null +++ b/wiki/content/query-language/count.md @@ -0,0 +1,62 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Count" +[menu.main] + parent = "query-language" + weight = 6 ++++ + +Syntax Examples: + +* `count(predicate)` +* `count(uid)` + +The form `count(predicate)` counts how many `predicate` edges lead out of a node. + +The form `count(uid)` counts the number of UIDs matched in the enclosing block. + +Query Example: The number of films acted in by each actor with `Orlando` in their name. + +{{< runnable >}} +{ + me(func: allofterms(name@en, "Orlando")) @filter(has(actor.film)) { + name@en + count(actor.film) + } +} +{{< /runnable >}} + +Count can be used at root and [aliased]({{< relref "#alias">}}). + +Query Example: Count of directors who have directed more than five films. When used at the query root, the [count index]({{< relref "#count-index">}}) is required. + +{{< runnable >}} +{ + directors(func: gt(count(director.film), 5)) { + totalDirectors : count(uid) + } +} +{{< /runnable >}} + + +Count can be assigned to a [value variable]({{< relref "#value-variables">}}). + +Query Example: The actors of Ang Lee's "Eat Drink Man Woman" ordered by the number of movies acted in. + +{{< runnable >}} +{ + var(func: allofterms(name@en, "eat drink man woman")) { + starring { + actors as performance.actor { + totalRoles as count(actor.film) + } + } + } + + edmw(func: uid(actors), orderdesc: val(totalRoles)) { + name@en + name@zh + totalRoles : val(totalRoles) + } +} +{{< /runnable >}} diff --git a/wiki/content/query-language/debug.md b/wiki/content/query-language/debug.md new file mode 100644 index 00000000000..ccdc69fedcd --- /dev/null +++ b/wiki/content/query-language/debug.md @@ -0,0 +1,59 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Debug" +[menu.main] + parent = "query-language" + weight = 19 ++++ + +For the purposes of debugging, you can attach a query parameter `debug=true` to a query. Attaching this parameter lets you retrieve the `uid` attribute for all the entities along with the `server_latency` and `start_ts` information under the `extensions` key of the response. + +- `parsing_ns`: Latency in nanoseconds to parse the query. +- `processing_ns`: Latency in nanoseconds to process the query. +- `encoding_ns`: Latency in nanoseconds to encode the JSON response. +- `start_ts`: The logical start timestamp of the transaction. + +Query with debug as a query parameter +```sh +curl -H "Content-Type: application/graphql+-" http://localhost:8080/query?debug=true -XPOST -d $'{ + tbl(func: allofterms(name@en, "The Big Lebowski")) { + name@en + } +}' | python -m json.tool | less +``` + +Returns `uid` and `server_latency` +``` +{ + "data": { + "tbl": [ + { + "uid": "0x41434", + "name@en": "The Big Lebowski" + }, + { + "uid": "0x145834", + "name@en": "The Big Lebowski 2" + }, + { + "uid": "0x2c8a40", + "name@en": "Jeffrey \"The Big\" Lebowski" + }, + { + "uid": "0x3454c4", + "name@en": "The Big Lebowski" + } + ], + "extensions": { + "server_latency": { + "parsing_ns": 18559, + "processing_ns": 802990982, + "encoding_ns": 1177565 + }, + "txn": { + "start_ts": 40010 + } + } + } +} +``` \ No newline at end of file diff --git a/wiki/content/query-language/expand-predicates.md b/wiki/content/query-language/expand-predicates.md new file mode 100644 index 00000000000..bd5f94dd828 --- /dev/null +++ b/wiki/content/query-language/expand-predicates.md @@ -0,0 +1,84 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Expand Predicates" +[menu.main] + parent = "query-language" + weight = 14 ++++ + +The `expand()` function can be used to expand the predicates out of a node. To +use `expand()`, the [type system]({{< relref "#type-system" >}}) is required. +Refer to the section on the type system to check how to set the types +nodes. The rest of this section assumes familiarity with that section. + +There are two ways to use the `expand` function. + +* Types can be passed to `expand()` to expand all the predicates in the type. + +Query example: List the movies from the Harry Potter series: + +{{< runnable >}} +{ + all(func: eq(name@en, "Harry Potter")) @filter(type(Series)) { + name@en + expand(Series) { + name@en + expand(Film) + } + } +} +{{< /runnable >}} + +* If `_all_` is passed as an argument to `expand()`, the predicates to be +expanded will be the union of fields in the types assigned to a given node. + +The `_all_` keyword requires that the nodes have types. Dgraph will look for all +the types that have been assigned to a node, query the types to check which +attributes they have, and use those to compute the list of predicates to expand. + +For example, consider a node that has types `Animal` and `Pet`, which have +the following definitions: + +``` +type Animal { + name + species + dob +} + +type Pet { + owner + veterinarian +} +``` + +When `expand(_all_)` is called on this node, Dgraph will first check which types +the node has (`Animal` and `Pet`). Then it will get the definitions of `Animal` +and `Pet` and build a list of predicates from their type definitions. + +``` +name +species +dob +owner +veterinarian +``` + +{{% notice "note" %}} +For `string` predicates, `expand` only returns values not tagged with a language +(see [language preference]({{< relref "#language-support" >}})). So it's often +required to add `name@fr` or `name@.` as well to an expand query. +{{% /notice %}} + +## Filtering during expand + +Expand queries support filters on the type of the outgoing edge. For example, +`expand(_all_) @filter(type(Person))` will expand on all the predicates but will +only include edges whose destination node is of type Person. Since only nodes of +type `uid` can have a type, this query will filter out any scalar values. + +Please note that other type of filters and directives are not currently supported +with the expand function. The filter needs to use the `type` function for the +filter to be allowed. Logical `AND` and `OR` operations are allowed. For +example, `expand(_all_) @filter(type(Person) OR type(Animal))` will only expand +the edges that point to nodes of either type. \ No newline at end of file diff --git a/wiki/content/query-language/facets.md b/wiki/content/query-language/facets.md new file mode 100644 index 00000000000..4a8fce4626c --- /dev/null +++ b/wiki/content/query-language/facets.md @@ -0,0 +1,389 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Facets : Edge attributes" +[menu.main] + parent = "query-language" + weight = 22 ++++ + +Dgraph supports facets --- **key value pairs on edges** --- as an extension to RDF triples. That is, facets add properties to edges, rather than to nodes. +For example, a `friend` edge between two nodes may have a boolean property of `close` friendship. +Facets can also be used as `weights` for edges. + +Though you may find yourself leaning towards facets many times, they should not be misused. It wouldn't be correct modeling to give the `friend` edge a facet `date_of_birth`. That should be an edge for the friend. However, a facet like `start_of_friendship` might be appropriate. Facets are however not first class citizen in Dgraph like predicates. + +Facet keys are strings and values can be `string`, `bool`, `int`, `float` and `dateTime`. +For `int` and `float`, only 32-bit signed integers and 64-bit floats are accepted. + +The following mutation is used throughout this section on facets. The mutation adds data for some peoples and, for example, records a `since` facet in `mobile` and `car` to record when Alice bought the car and started using the mobile number. + +First we add some schema. +```sh +curl localhost:8080/alter -XPOST -d $' + name: string @index(exact, term) . + rated: [uid] @reverse @count . +' | python -m json.tool | less +``` + +```sh +curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -XPOST -d $' +{ + set { + + # -- Facets on scalar predicates + _:alice "Alice" . + _:alice "Person" . + _:alice "040123456" (since=2006-01-02T15:04:05) . + _:alice "MA0123" (since=2006-02-02T13:01:09, first=true) . + + _:bob "Bob" . + _:bob "Person" . + _:bob "MA0134" (since=2006-02-02T13:01:09) . + + _:charlie "Charlie" . + _:charlie "Person" . + _:dave "Dave" . + _:dave "Person" . + + + # -- Facets on UID predicates + _:alice _:bob (close=true, relative=false) . + _:alice _:charlie (close=false, relative=true) . + _:alice _:dave (close=true, relative=true) . + + + # -- Facets for variable propagation + _:movie1 "Movie 1" . + _:movie1 "Movie" . + _:movie2 "Movie 2" . + _:movie2 "Movie" . + _:movie3 "Movie 3" . + _:movie3 "Movie" . + + _:alice _:movie1 (rating=3) . + _:alice _:movie2 (rating=2) . + _:alice _:movie3 (rating=5) . + + _:bob _:movie1 (rating=5) . + _:bob _:movie2 (rating=5) . + _:bob _:movie3 (rating=5) . + + _:charlie _:movie1 (rating=2) . + _:charlie _:movie2 (rating=5) . + _:charlie _:movie3 (rating=1) . + } +}' | python -m json.tool | less +``` + +## Facets on scalar predicates + + +Querying `name`, `mobile` and `car` of Alice gives the same result as without facets. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + mobile + car + } +} +{{}} + + +The syntax `@facets(facet-name)` is used to query facet data. For Alice the `since` facet for `mobile` and `car` are queried as follows. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + mobile @facets(since) + car @facets(since) + } +} +{{}} + + +Facets are returned at the same level as the corresponding edge and have keys like edge|facet. + +All facets on an edge are queried with `@facets`. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + mobile @facets + car @facets + } +} +{{}} + +## Facets i18n + +Facets keys and values can use language-specific characters directly when mutating. But facet keys need to be enclosed in angle brackets `<>` when querying. This is similar to predicates. See [Predicates i18n](#predicates-i18n) for more info. + +{{% notice "note" %}}Dgraph supports [Internationalized Resource Identifiers](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier) (IRIs) for facet keys when querying.{{% /notice %}} + +Example: +``` +{ + set { + _:person1 "Daniel" (वंश="स्पेनी", ancestry="Español") . + _:person1 "Person" . + _:person2 "Raj" (वंश="हिंदी", ancestry="हिंदी") . + _:person2 "Person" . + _:person3 "Zhang Wei" (वंश="चीनी", ancestry="中文") . + _:person3 "Person" . + } +} +``` +Query, notice the `<>`'s: +``` +{ + q(func: has(name)) { + name @facets(<वंश>) + } +} +``` + +## Alias with facets + +Alias can be specified while requesting specific predicates. Syntax is similar to how would request +alias for other predicates. `orderasc` and `orderdesc` are not allowed as alias as they have special +meaning. Apart from that anything else can be set as alias. + +Here we set `car_since`, `close_friend` alias for `since`, `close` facets respectively. +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + mobile + car @facets(car_since: since) + friend @facets(close_friend: close) { + name + } + } +} +{{}} + + + +## Facets on UID predicates + +Facets on UID edges work similarly to facets on value edges. + +For example, `friend` is an edge with facet `close`. +It was set to true for friendship between Alice and Bob +and false for friendship between Alice and Charlie. + +A query for friends of Alice. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + friend { + name + } + } +} +{{}} + +A query for friends and the facet `close` with `@facets(close)`. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + friend @facets(close) { + name + } + } +} +{{}} + + +For uid edges like `friend`, facets go to the corresponding child under the key edge|facet. In the above +example you can see that the `close` facet on the edge between Alice and Bob appears with the key `friend|close` +along with Bob's results. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + friend @facets { + name + car @facets + } + } +} +{{}} + +Bob has a `car` and it has a facet `since`, which, in the results, is part of the same object as Bob +under the key car|since. +Also, the `close` relationship between Bob and Alice is part of Bob's output object. +Charlie does not have `car` edge and thus only UID facets. + +## Filtering on facets + +Dgraph supports filtering edges based on facets. +Filtering works similarly to how it works on edges without facets and has the same available functions. + + +Find Alice's close friends +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + friend @facets(eq(close, true)) { + name + } + } +} +{{}} + + +To return facets as well as filter, add another `@facets()` to the query. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + friend @facets(eq(close, true)) @facets(relative) { # filter close friends and give relative status + name + } + } +} +{{}} + + +Facet queries can be composed with `AND`, `OR` and `NOT`. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + friend @facets(eq(close, true) AND eq(relative, true)) @facets(relative) { # filter close friends in my relation + name + } + } +} +{{}} + + +## Sorting using facets + +Sorting is possible for a facet on a uid edge. Here we sort the movies rated by Alice, Bob and +Charlie by their `rating` which is a facet. + +{{< runnable >}} +{ + me(func: anyofterms(name, "Alice Bob Charlie")) { + name + rated @facets(orderdesc: rating) { + name + } + } +} +{{}} + + + +## Assigning Facet values to a variable + +Facets on UID edges can be stored in [value variables]({{< relref "#value-variables" >}}). The variable is a map from the edge target to the facet value. + +Alice's friends reported by variables for `close` and `relative`. +{{< runnable >}} +{ + var(func: eq(name, "Alice")) { + friend @facets(a as close, b as relative) + } + + friend(func: uid(a)) { + name + val(a) + } + + relative(func: uid(b)) { + name + val(b) + } +} +{{}} + + +## Facets and Variable Propagation + +Facet values of `int` and `float` can be assigned to variables and thus the [values propagate]({{< relref "#variable-propagation" >}}). + + +Alice, Bob and Charlie each rated every movie. A value variable on facet `rating` maps movies to ratings. A query that reaches a movie through multiple paths sums the ratings on each path. The following sums Alice, Bob and Charlie's ratings for the three movies. + +{{}} +{ + var(func: anyofterms(name, "Alice Bob Charlie")) { + num_raters as math(1) + rated @facets(r as rating) { + total_rating as math(r) # sum of the 3 ratings + average_rating as math(total_rating / num_raters) + } + } + data(func: uid(total_rating)) { + name + val(total_rating) + val(average_rating) + } + +} +{{}} + + + +## Facets and Aggregation + +Facet values assigned to value variables can be aggregated. + +{{< runnable >}} +{ + data(func: eq(name, "Alice")) { + name + rated @facets(r as rating) { + name + } + avg(val(r)) + } +} +{{}} + + +Note though that `r` is a map from movies to the sum of ratings on edges in the query reaching the movie. Hence, the following does not correctly calculate the average ratings for Alice and Bob individually --- it calculates 2 times the average of both Alice and Bob's ratings. + +{{< runnable >}} + +{ + data(func: anyofterms(name, "Alice Bob")) { + name + rated @facets(r as rating) { + name + } + avg(val(r)) + } +} +{{}} + +Calculating the average ratings of users requires a variable that maps users to the sum of their ratings. + +{{< runnable >}} + +{ + var(func: has(rated)) { + num_rated as math(1) + rated @facets(r as rating) { + avg_rating as math(r / num_rated) + } + } + + data(func: uid(avg_rating)) { + name + val(avg_rating) + } +} +{{}} \ No newline at end of file diff --git a/wiki/content/query-language/fragments.md b/wiki/content/query-language/fragments.md new file mode 100644 index 00000000000..278a912aa5c --- /dev/null +++ b/wiki/content/query-language/fragments.md @@ -0,0 +1,26 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Fragments" +[menu.main] + parent = "query-language" + weight = 25 ++++ + +`fragment` keyword allows you to define new fragments that can be referenced in a query, as per [GraphQL specification](https://facebook.github.io/graphql/#sec-Language.Fragments). The point is that if there are multiple parts which query the same set of fields, you can define a fragment and refer to it multiple times instead. Fragments can be nested inside fragments, but no cycles are allowed. Here is one contrived example. + +```sh +curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $' +query { + debug(func: uid(1)) { + name@en + ...TestFrag + } +} +fragment TestFrag { + initial_release_date + ...TestFragB +} +fragment TestFragB { + country +}' | python -m json.tool | less +``` \ No newline at end of file diff --git a/wiki/content/query-language/functions.md b/wiki/content/query-language/functions.md new file mode 100644 index 00000000000..d334ce4631c --- /dev/null +++ b/wiki/content/query-language/functions.md @@ -0,0 +1,642 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Functions" +[menu.main] + parent = "query-language" + weight = 2 ++++ + +Functions allow filtering based on properties of nodes or [variables]({{}}). Functions can be applied in the query root or in filters. + +{{% notice "note" %}}Support for filters on non-indexed predicates was added with Dgraph `v1.2.0`. +{{% /notice %}} + +Comparison functions (`eq`, `ge`, `gt`, `le`, `lt`) in the query root (aka `func:`) can only +be applied on [indexed predicates]({{< relref "#indexing">}}). Since v1.2, comparison functions +can now be used on [@filter]({{}}) directives even on predicates +that have not been indexed. +Filtering on non-indexed predicates can be slow for large datasets, as they require +iterating over all of the possible values at the level where the filter is being used. + +All other functions, in the query root or in the filter can only be applied to indexed predicates. + +For functions on string valued predicates, if no language preference is given, the function is applied to all languages and strings without a language tag; if a language preference is given, the function is applied only to strings of the given language. + +## Term matching + +### allofterms + +Syntax Example: `allofterms(predicate, "space-separated term list")` + +Schema Types: `string` + +Index Required: `term` + + +Matches strings that have all specified terms in any order; case insensitive. +#### Usage at root + +Query Example: All nodes that have `name` containing terms `indiana` and `jones`, returning the English name and genre in English. + +{{< runnable >}} +{ + me(func: allofterms(name@en, "jones indiana")) { + name@en + genre { + name@en + } + } +} +{{< /runnable >}} +#### Usage as Filter + +Query Example: All Steven Spielberg films that contain the words `indiana` and `jones`. The `@filter(has(director.film))` removes nodes with name Steven Spielberg that aren't the director --- the data also contains a character in a film called Steven Spielberg. + +{{< runnable >}} +{ + me(func: eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { + name@en + director.film @filter(allofterms(name@en, "jones indiana")) { + name@en + } + } +} +{{< /runnable >}} + +### anyofterms + + +Syntax Example: `anyofterms(predicate, "space-separated term list")` + +Schema Types: `string` + +Index Required: `term` + + +Matches strings that have any of the specified terms in any order; case insensitive. +#### Usage at root + +Query Example: All nodes that have a `name` containing either `poison` or `peacock`. Many of the returned nodes are movies, but people like Joan Peacock also meet the search terms because without a [cascade directive]({{< relref "#cascade-directive">}}) the query doesn't require a genre. + +{{< runnable >}} +{ + me(func:anyofterms(name@en, "poison peacock")) { + name@en + genre { + name@en + } + } +} +{{< /runnable >}} + +#### Usage as filter + +Query Example: All Steven Spielberg movies that contain `war` or `spies`. The `@filter(has(director.film))` removes nodes with name Steven Spielberg that aren't the director --- the data also contains a character in a film called Steven Spielberg. + +{{< runnable >}} +{ + me(func: eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { + name@en + director.film @filter(anyofterms(name@en, "war spies")) { + name@en + } + } +} +{{< /runnable >}} + +## Regular Expressions + + +Syntax Examples: `regexp(predicate, /regular-expression/)` or case insensitive `regexp(predicate, /regular-expression/i)` + +Schema Types: `string` + +Index Required: `trigram` + + +Matches strings by regular expression. The regular expression language is that of [go regular expressions](https://golang.org/pkg/regexp/syntax/). + +Query Example: At root, match nodes with `Steven Sp` at the start of `name`, followed by any characters. For each such matched uid, match the films containing `ryan`. Note the difference with `allofterms`, which would match only `ryan` but regular expression search will also match within terms, such as `bryan`. + +{{< runnable >}} +{ + directors(func: regexp(name@en, /^Steven Sp.*$/)) { + name@en + director.film @filter(regexp(name@en, /ryan/i)) { + name@en + } + } +} +{{< /runnable >}} + +### Technical details + +A Trigram is a substring of three continuous runes. For example, `Dgraph` has trigrams `Dgr`, `gra`, `rap`, `aph`. + +To ensure efficiency of regular expression matching, Dgraph uses [trigram indexing](https://swtch.com/~rsc/regexp/regexp4.html). That is, Dgraph converts the regular expression to a trigram query, uses the trigram index and trigram query to find possible matches and applies the full regular expression search only to the possibles. +### Writing Efficient Regular Expressions and Limitations + +Keep the following in mind when designing regular expression queries. + +- At least one trigram must be matched by the regular expression (patterns shorter than 3 runes are not supported). That is, Dgraph requires regular expressions that can be converted to a trigram query. +- The number of alternative trigrams matched by the regular expression should be as small as possible (`[a-zA-Z][a-zA-Z][0-9]` is not a good idea). Many possible matches means the full regular expression is checked against many strings; where as, if the expression enforces more trigrams to match, Dgraph can make better use of the index and check the full regular expression against a smaller set of possible matches. +- Thus, the regular expression should be as precise as possible. Matching longer strings means more required trigrams, which helps to effectively use the index. +- If repeat specifications (`*`, `+`, `?`, `{n,m}`) are used, the entire regular expression must not match the _empty_ string or _any_ string: for example, `*` may be used like `[Aa]bcd*` but not like `(abcd)*` or `(abcd)|((defg)*)` +- Repeat specifications after bracket expressions (e.g. `[fgh]{7}`, `[0-9]+` or `[a-z]{3,5}`) are often considered as matching any string because they match too many trigrams. +- If the partial result (for subset of trigrams) exceeds 1000000 uids during index scan, the query is stopped to prohibit expensive queries. + +## Fuzzy matching + + +Syntax: `match(predicate, string, distance)` + +Schema Types: `string` + +Index Required: `trigram` + +Matches predicate values by calculating the [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) to the string, +also known as _fuzzy matching_. The distance parameter must be greater than zero (0). Using a greater distance value can yield more but less accurate results. + +Query Example: At root, fuzzy match nodes similar to `Stephen`, with a distance value of less than or equal to 8. + +{{< runnable >}} +{ + directors(func: match(name@en, Stephen, 8)) { + name@en + } +} +{{< /runnable >}} + +Same query with a Levenshtein distance of 3. + +{{< runnable >}} +{ + directors(func: match(name@en, Stephen, 3)) { + name@en + } +} +{{< /runnable >}} + +## Full-Text Search + +Syntax Examples: `alloftext(predicate, "space-separated text")` and `anyoftext(predicate, "space-separated text")` + +Schema Types: `string` + +Index Required: `fulltext` + + +Apply full-text search with stemming and stop words to find strings matching all or any of the given text. + +The following steps are applied during index generation and to process full-text search arguments: + +1. Tokenization (according to Unicode word boundaries). +1. Conversion to lowercase. +1. Unicode-normalization (to [Normalization Form KC](http://unicode.org/reports/tr15/#Norm_Forms)). +1. Stemming using language-specific stemmer (if supported by language). +1. Stop words removal (if supported by language). + +Dgraph uses [bleve](https://github.com/blevesearch/bleve) for its full-text search indexing. See also the bleve language specific [stop word lists](https://github.com/blevesearch/bleve/tree/master/analysis/lang). + +Following table contains all supported languages, corresponding country-codes, stemming and stop words filtering support. + +| Language | Country Code | Stemming | Stop words | +| :--------: | :----------: | :------: | :--------: | +| Arabic | ar | ✓ | ✓ | +| Armenian | hy | | ✓ | +| Basque | eu | | ✓ | +| Bulgarian | bg | | ✓ | +| Catalan | ca | | ✓ | +| Chinese | zh | ✓ | ✓ | +| Czech | cs | | ✓ | +| Danish | da | ✓ | ✓ | +| Dutch | nl | ✓ | ✓ | +| English | en | ✓ | ✓ | +| Finnish | fi | ✓ | ✓ | +| French | fr | ✓ | ✓ | +| Gaelic | ga | | ✓ | +| Galician | gl | | ✓ | +| German | de | ✓ | ✓ | +| Greek | el | | ✓ | +| Hindi | hi | ✓ | ✓ | +| Hungarian | hu | ✓ | ✓ | +| Indonesian | id | | ✓ | +| Italian | it | ✓ | ✓ | +| Japanese | ja | ✓ | ✓ | +| Korean | ko | ✓ | ✓ | +| Norwegian | no | ✓ | ✓ | +| Persian | fa | | ✓ | +| Portuguese | pt | ✓ | ✓ | +| Romanian | ro | ✓ | ✓ | +| Russian | ru | ✓ | ✓ | +| Spanish | es | ✓ | ✓ | +| Swedish | sv | ✓ | ✓ | +| Turkish | tr | ✓ | ✓ | + + +Query Example: All names that have `dog`, `dogs`, `bark`, `barks`, `barking`, etc. Stop word removal eliminates `the` and `which`. + +{{< runnable >}} +{ + movie(func:alloftext(name@en, "the dog which barks")) { + name@en + } +} +{{< /runnable >}} + +## Inequality +### equal to + +Syntax Examples: + +* `eq(predicate, value)` +* `eq(val(varName), value)` +* `eq(predicate, val(varName))` +* `eq(count(predicate), value)` +* `eq(predicate, [val1, val2, ..., valN])` +* `eq(predicate, [$var1, "value", ..., $varN])` + +Schema Types: `int`, `float`, `bool`, `string`, `dateTime` + +Index Required: An index is required for the `eq(predicate, ...)` forms (see table below) when used at query root. For `count(predicate)` at the query root, the `@count` index is required. For variables the values have been calculated as part of the query, so no index is required. + +| Type | Index Options | +|:-----------|:--------------| +| `int` | `int` | +| `float` | `float` | +| `bool` | `bool` | +| `string` | `exact`, `hash` | +| `dateTime` | `dateTime` | + +Test for equality of a predicate or variable to a value or find in a list of values. + +The boolean constants are `true` and `false`, so with `eq` this becomes, for example, `eq(boolPred, true)`. + +Query Example: Movies with exactly thirteen genres. + +{{< runnable >}} +{ + me(func: eq(count(genre), 13)) { + name@en + genre { + name@en + } + } +} +{{< /runnable >}} + + +Query Example: Directors called Steven who have directed 1,2 or 3 movies. + +{{< runnable >}} +{ + steve as var(func: allofterms(name@en, "Steven")) { + films as count(director.film) + } + + stevens(func: uid(steve)) @filter(eq(val(films), [1,2,3])) { + name@en + numFilms : val(films) + } +} +{{< /runnable >}} + +### less than, less than or equal to, greater than and greater than or equal to + +Syntax Examples: for inequality `IE` + +* `IE(predicate, value)` +* `IE(val(varName), value)` +* `IE(predicate, val(varName))` +* `IE(count(predicate), value)` + +With `IE` replaced by + +* `le` less than or equal to +* `lt` less than +* `ge` greater than or equal to +* `gt` greather than + +Schema Types: `int`, `float`, `string`, `dateTime` + +Index required: An index is required for the `IE(predicate, ...)` forms (see table below) when used at query root. For `count(predicate)` at the query root, the `@count` index is required. For variables the values have been calculated as part of the query, so no index is required. + +| Type | Index Options | +|:-----------|:--------------| +| `int` | `int` | +| `float` | `float` | +| `string` | `exact` | +| `dateTime` | `dateTime` | + + +Query Example: Ridley Scott movies released before 1980. + +{{< runnable >}} +{ + me(func: eq(name@en, "Ridley Scott")) { + name@en + director.film @filter(lt(initial_release_date, "1980-01-01")) { + initial_release_date + name@en + } + } +} +{{< /runnable >}} + + +Query Example: Movies with directors with `Steven` in `name` and have directed more than `100` actors. + +{{< runnable >}} +{ + ID as var(func: allofterms(name@en, "Steven")) { + director.film { + num_actors as count(starring) + } + total as sum(val(num_actors)) + } + + dirs(func: uid(ID)) @filter(gt(val(total), 100)) { + name@en + total_actors : val(total) + } +} +{{< /runnable >}} + + + +Query Example: A movie in each genre that has over 30000 movies. Because there is no order specified on genres, the order will be by UID. The [count index]({{< relref "#count-index">}}) records the number of edges out of nodes and makes such queries more . + +{{< runnable >}} +{ + genre(func: gt(count(~genre), 30000)){ + name@en + ~genre (first:1) { + name@en + } + } +} +{{< /runnable >}} + +Query Example: Directors called Steven and their movies which have `initial_release_date` greater +than that of the movie Minority Report. + +{{< runnable >}} +{ + var(func: eq(name@en,"Minority Report")) { + d as initial_release_date + } + + me(func: eq(name@en, "Steven Spielberg")) { + name@en + director.film @filter(ge(initial_release_date, val(d))) { + initial_release_date + name@en + } + } +} +{{< /runnable >}} + +## uid + +Syntax Examples: + +* `q(func: uid()) ` +* `predicate @filter(uid(, ..., ))` +* `predicate @filter(uid(a))` for variable `a` +* `q(func: uid(a,b))` for variables `a` and `b` + + +Filters nodes at the current query level to only nodes in the given set of UIDs. + +For query variable `a`, `uid(a)` represents the set of UIDs stored in `a`. For value variable `b`, `uid(b)` represents the UIDs from the UID to value map. With two or more variables, `uid(a,b,...)` represents the union of all the variables. + +`uid()`, like an identity function, will return the requested UID even if the node does not have any edges. + +Query Example: If the UID of a node is known, values for the node can be read directly. The films of Priyanka Chopra by known UID + +{{< runnable >}} +{ + films(func: uid(0x2c964)) { + name@hi + actor.film { + performance.film { + name@hi + } + } + } +} +{{< /runnable >}} + + + +Query Example: The films of Taraji Henson by genre. +{{< runnable >}} +{ + var(func: allofterms(name@en, "Taraji Henson")) { + actor.film { + F as performance.film { + G as genre + } + } + } + + Taraji_films_by_genre(func: uid(G)) { + genre_name : name@en + films : ~genre @filter(uid(F)) { + film_name : name@en + } + } +} +{{< /runnable >}} + + + +Query Example: Taraji Henson films ordered by number of genres, with genres listed in order of how many films Taraji has made in each genre. +{{< runnable >}} +{ + var(func: allofterms(name@en, "Taraji Henson")) { + actor.film { + F as performance.film { + G as count(genre) + genre { + C as count(~genre @filter(uid(F))) + } + } + } + } + + Taraji_films_by_genre_count(func: uid(G), orderdesc: val(G)) { + film_name : name@en + genres : genre (orderdesc: val(C)) { + genre_name : name@en + } + } +} +{{< /runnable >}} + +## uid_in + + +Syntax Examples: + +* `q(func: ...) @filter(uid_in(predicate, ))` +* `predicate1 @filter(uid_in(predicate2, ))` + +Schema Types: UID + +Index Required: none + +While the `uid` function filters nodes at the current level based on UID, function `uid_in` allows looking ahead along an edge to check that it leads to a particular UID. This can often save an extra query block and avoids returning the edge. + +`uid_in` cannot be used at root, it accepts one UID constant as its argument (not a variable). + + +Query Example: The collaborations of Marc Caro and Jean-Pierre Jeunet (UID 0x99706). If the UID of Jean-Pierre Jeunet is known, querying this way removes the need to have a block extracting his UID into a variable and the extra edge traversal and filter for `~director.film`. +{{< runnable >}} +{ + caro(func: eq(name@en, "Marc Caro")) { + name@en + director.film @filter(uid_in(~director.film, 0x99706)) { + name@en + } + } +} +{{< /runnable >}} + +## has + +Syntax Examples: `has(predicate)` + +Schema Types: all + +Determines if a node has a particular predicate. + +Query Example: First five directors and all their movies that have a release date recorded. Directors have directed at least one film --- equivalent semantics to `gt(count(director.film), 0)`. +{{< runnable >}} +{ + me(func: has(director.film), first: 5) { + name@en + director.film @filter(has(initial_release_date)) { + initial_release_date + name@en + } + } +} +{{< /runnable >}} +## Geolocation + +{{% notice "note" %}} As of now we only support indexing Point, Polygon and MultiPolygon [geometry types](https://github.com/twpayne/go-geom#geometry-types). However, Dgraph can store other types of gelocation data. {{% /notice %}} + +Note that for geo queries, any polygon with holes is replace with the outer loop, ignoring holes. Also, as for version 0.7.7 polygon containment checks are approximate. +### Mutations + +To make use of the geo functions you would need an index on your predicate. +``` +loc: geo @index(geo) . +``` + +Here is how you would add a `Point`. + +``` +{ + set { + <_:0xeb1dde9c> "{'type':'Point','coordinates':[-122.4220186,37.772318]}"^^ . + <_:0xeb1dde9c> "Hamon Tower" . + <_:0xeb1dde9c> "Location" . + } +} +``` + +Here is how you would associate a `Polygon` with a node. Adding a `MultiPolygon` is also similar. + +``` +{ + set { + <_:0xf76c276b> "{'type':'Polygon','coordinates':[[[-122.409869,37.7785442],[-122.4097444,37.7786443],[-122.4097544,37.7786521],[-122.4096334,37.7787494],[-122.4096233,37.7787416],[-122.4094004,37.7789207],[-122.4095818,37.7790617],[-122.4097883,37.7792189],[-122.4102599,37.7788413],[-122.409869,37.7785442]],[[-122.4097357,37.7787848],[-122.4098499,37.778693],[-122.4099025,37.7787339],[-122.4097882,37.7788257],[-122.4097357,37.7787848]]]}"^^ . + <_:0xf76c276b> "Best Western Americana Hotel" . + <_:0xf76c276b> "Location" . + } +} +``` + +The above examples have been picked from our [SF Tourism](https://github.com/dgraph-io/benchmarks/blob/master/data/sf.tourism.gz?raw=true) dataset. +### Query +#### near + +Syntax Example: `near(predicate, [long, lat], distance)` + +Schema Types: `geo` + +Index Required: `geo` + +Matches all entities where the location given by `predicate` is within `distance` meters of geojson coordinate `[long, lat]`. + +Query Example: Tourist destinations within 1000 meters (1 kilometer) of a point in Golden Gate Park in San Francisco. + +{{< runnable >}} +{ + tourist(func: near(loc, [-122.469829, 37.771935], 1000) ) { + name + } +} +{{< /runnable >}} + +#### within + +Syntax Example: `within(predicate, [[[long1, lat1], ..., [longN, latN]]])` + +Schema Types: `geo` + +Index Required: `geo` + +Matches all entities where the location given by `predicate` lies within the polygon specified by the geojson coordinate array. + +Query Example: Tourist destinations within the specified area of Golden Gate Park, San Francisco. + +{{< runnable >}} +{ + tourist(func: within(loc, [[[-122.47266769409178, 37.769018558337926 ], [ -122.47266769409178, 37.773699921075135 ], [ -122.4651575088501, 37.773699921075135 ], [ -122.4651575088501, 37.769018558337926 ], [ -122.47266769409178, 37.769018558337926]]] )) { + name + } +} +{{< /runnable >}} + +#### contains + +Syntax Examples: `contains(predicate, [long, lat])` or `contains(predicate, [[long1, lat1], ..., [longN, latN]])` + +Schema Types: `geo` + +Index Required: `geo` + +Matches all entities where the polygon describing the location given by `predicate` contains geojson coordinate `[long, lat]` or given geojson polygon. + +Query Example : All entities that contain a point in the flamingo enclosure of San Francisco Zoo. +{{< runnable >}} +{ + tourist(func: contains(loc, [ -122.50326097011566, 37.73353615592843 ] )) { + name + } +} +{{< /runnable >}} + +#### intersects + +Syntax Example: `intersects(predicate, [[[long1, lat1], ..., [longN, latN]]])` + +Schema Types: `geo` + +Index Required: `geo` + +Matches all entities where the polygon describing the location given by `predicate` intersects the given geojson polygon. + + +{{< runnable >}} +{ + tourist(func: intersects(loc, [[[-122.503325343132, 37.73345766902749 ], [ -122.503325343132, 37.733903134117966 ], [ -122.50271648168564, 37.733903134117966 ], [ -122.50271648168564, 37.73345766902749 ], [ -122.503325343132, 37.73345766902749]]] )) { + name + } +} +{{< /runnable >}} + + diff --git a/wiki/content/query-language/graphql-fundamentals.md b/wiki/content/query-language/graphql-fundamentals.md new file mode 100644 index 00000000000..5dc75a86ec5 --- /dev/null +++ b/wiki/content/query-language/graphql-fundamentals.md @@ -0,0 +1,225 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "GraphQL+- Fundamentals" +[menu.main] + parent = "query-language" + weight = 1 ++++ + +Dgraph's GraphQL+- is based on Facebook's [GraphQL](https://facebook.github.io/graphql/). GraphQL wasn't developed for Graph databases, but its graph-like query syntax, schema validation and subgraph shaped response make it a great language choice. We've modified the language to better support graph operations, adding and removing features to get the best fit for graph databases. We're calling this simplified, feature rich language, ''GraphQL+-''. + +GraphQL+- is a work in progress. We're adding more features and we might further simplify existing ones. + +## Take a Tour - https://dgraph.io/tour/ + +This document is the Dgraph query reference material. It is not a tutorial. It's designed as a reference for users who already know how to write queries in GraphQL+- but need to check syntax, or indices, or functions, etc. + +{{% notice "note" %}}If you are new to Dgraph and want to learn how to use Dgraph and GraphQL+-, take the tour - https://dgraph.io/tour/{{% /notice %}} + + +### Running examples + +The examples in this reference use a database of 21 million triples about movies and actors. The example queries run and return results. The queries are executed by an instance of Dgraph running at https://play.dgraph.io/. To run the queries locally or experiment a bit more, see the [Getting Started]({{< relref "get-started/index.md" >}}) guide, which also shows how to load the datasets used in the examples here. + +## Queries + +A GraphQL+- query finds nodes based on search criteria, matches patterns in a graph and returns a graph as a result. + +A query is composed of nested blocks, starting with a query root. The root finds the initial set of nodes against which the following graph matching and filtering is applied. + +{{% notice "note" %}}See more about Queries in [Queries design concept]({{< relref "design-concepts/concepts.md#queries" >}}) {{% /notice %}} + +## Returning Values + +Each query has a name, specified at the query root, and the same name identifies the results. + +If an edge is of a value type, the value can be returned by giving the edge name. + +Query Example: In the example dataset, edges that link movies to directors and actors, movies have a name, release date and identifiers for a number of well known movie databases. This query, with name `bladerunner`, and root matching a movie name, returns those values for the early 80's sci-fi classic "Blade Runner". + +{{< runnable >}} +{ + bladerunner(func: eq(name@en, "Blade Runner")) { + uid + name@en + initial_release_date + netflix_id + } +} +{{< /runnable >}} + +The query first searches the graph, using indexes to make the search efficient, for all nodes with a `name` edge equaling "Blade Runner". For the found node the query then returns the listed outgoing edges. + +Every node had a unique 64-bit identifier. The `uid` edge in the query above returns that identifier. If the required node is already known, then the function `uid` finds the node. + +Query Example: "Blade Runner" movie data found by UID. + +{{< runnable >}} +{ + bladerunner(func: uid(0x394c)) { + uid + name@en + initial_release_date + netflix_id + } +} +{{< /runnable >}} + +A query can match many nodes and return the values for each. + +Query Example: All nodes that have either "Blade" or "Runner" in the name. + +{{< runnable >}} +{ + bladerunner(func: anyofterms(name@en, "Blade Runner")) { + uid + name@en + initial_release_date + netflix_id + } +} +{{< /runnable >}} + +Multiple IDs can be specified in a list to the `uid` function. + +Query Example: +{{< runnable >}} +{ + movies(func: uid(0xb5849, 0x394c)) { + uid + name@en + initial_release_date + netflix_id + } +} +{{< /runnable >}} + + +{{% notice "note" %}} If your predicate has special characters, then you should wrap it with angular +brackets while asking for it in the query. E.g. ``{{% /notice %}} + +## Expanding Graph Edges + +A query expands edges from node to node by nesting query blocks with `{ }`. + +Query Example: The actors and characters played in "Blade Runner". The query first finds the node with name "Blade Runner", then follows outgoing `starring` edges to nodes representing an actor's performance as a character. From there the `performance.actor` and `performance.character` edges are expanded to find the actor names and roles for every actor in the movie. +{{< runnable >}} +{ + brCharacters(func: eq(name@en, "Blade Runner")) { + name@en + initial_release_date + starring { + performance.actor { + name@en # actor name + } + performance.character { + name@en # character name + } + } + } +} +{{< /runnable >}} + + +## Comments + +Anything on a line following a `#` is a comment + +## Applying Filters + +The query root finds an initial set of nodes and the query proceeds by returning values and following edges to further nodes - any node reached in the query is found by traversal after the search at root. The nodes found can be filtered by applying `@filter`, either after the root or at any edge. + +Query Example: "Blade Runner" director Ridley Scott's movies released before the year 2000. +{{< runnable >}} +{ + scott(func: eq(name@en, "Ridley Scott")) { + name@en + initial_release_date + director.film @filter(le(initial_release_date, "2000")) { + name@en + initial_release_date + } + } +} +{{< /runnable >}} + +Query Example: Movies with either "Blade" or "Runner" in the title and released before the year 2000. + +{{< runnable >}} +{ + bladerunner(func: anyofterms(name@en, "Blade Runner")) @filter(le(initial_release_date, "2000")) { + uid + name@en + initial_release_date + netflix_id + } +} +{{< /runnable >}} + +## Language Support + +{{% notice "note" %}}A `@lang` directive must be specified in the schema to query or mutate +predicates with language tags.{{% /notice %}} + +Dgraph supports UTF-8 strings. + +In a query, for a string valued edge `edge`, the syntax +``` +edge@lang1:...:langN +``` +specifies the preference order for returned languages, with the following rules. + +* At most one result will be returned (except in the case where the language list is set to *). +* The preference list is considered left to right: if a value in given language is not found, the next language from the list is considered. +* If there are no values in any of the specified languages, no value is returned. +* A final `.` means that a value without a specified language is returned or if there is no value without language, a value in ''some'' language is returned. +* Setting the language list value to * will return all the values for that predicate along with their language. Values without a language tag are also returned. + +For example: + +- `name` => Look for an untagged string; return nothing if no untagged value exits. +- `name@.` => Look for an untagged string, then any language. +- `name@en` => Look for `en` tagged string; return nothing if no `en` tagged string exists. +- `name@en:.` => Look for `en`, then untagged, then any language. +- `name@en:pl` => Look for `en`, then `pl`, otherwise nothing. +- `name@en:pl:.` => Look for `en`, then `pl`, then untagged, then any language. +- `name@*` => Look for all the values of this predicate and return them along with their language. For example, if there are two values with languages en and hi, this query will return two keys named "name@en" and "name@hi". + + +{{% notice "note" %}} + +In functions, language lists (including the `@*` notation) are not allowed. +Untagged predicates, Single language tags, and `.` notation work as described +above. + +--- + +In [full-text search functions]({{< relref "#full-text-search" >}}) +(`alloftext`, `anyoftext`), when no language is specified (untagged or `@.`), +the default (English) full-text tokenizer is used. This does not mean that +the value with the `en` tag will be searched when querying the untagged value, +but that untagged values will be treated as English text. If you don't want that +to be the case, use the appropriate tag for the desired language, both for +mutating and querying the value. + +{{% /notice %}} + + +Query Example: Some of Bollywood director and actor Farhan Akhtar's movies have a name stored in Russian as well as Hindi and English, others do not. + +{{< runnable >}} +{ + q(func: allofterms(name@en, "Farhan Akhtar")) { + name@hi + name@en + + director.film { + name@ru:hi:en + name@en + name@hi + name@ru + } + } +} +{{< /runnable >}} + diff --git a/wiki/content/query-language/graphql-variables.md b/wiki/content/query-language/graphql-variables.md new file mode 100644 index 00000000000..3e3f43e39cd --- /dev/null +++ b/wiki/content/query-language/graphql-variables.md @@ -0,0 +1,79 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "GraphQL Variables" +[menu.main] + parent = "query-language" + weight = 26 ++++ + +`Variables` can be defined and used in queries which helps in query reuse and avoids costly string building in clients at runtime by passing a separate variable map. A variable starts with a `$` symbol. +For **HTTP requests** with GraphQL Variables, we must use `Content-Type: application/json` header and pass data with a JSON object containing `query` and `variables`. + +```sh +curl -H "Content-Type: application/json" localhost:8080/query -XPOST -d $'{ + "query": "query test($a: string) { test(func: eq(name, $a)) { \n uid \n name \n } }", + "variables": { "$a": "Alice" } +}' | python -m json.tool | less +``` + +{{< runnable vars="{\"$a\": \"5\", \"$b\": \"10\", \"$name\": \"Steven Spielberg\"}" >}} +query test($a: int, $b: int, $name: string) { + me(func: allofterms(name@en, $name)) { + name@en + director.film (first: $a, offset: $b) { + name @en + genre(first: $a) { + name@en + } + } + } +} +{{< /runnable >}} + +* Variables can have default values. In the example below, `$a` has a default value of `2`. Since the value for `$a` isn't provided in the variable map, `$a` takes on the default value. +* Variables whose type is suffixed with a `!` can't have a default value but must have a value as part of the variables map. +* The value of the variable must be parsable to the given type, if not, an error is thrown. +* The variable types that are supported as of now are: `int`, `float`, `bool` and `string`. +* Any variable that is being used must be declared in the named query clause in the beginning. + +{{< runnable vars="{\"$b\": \"10\", \"$name\": \"Steven Spielberg\"}" >}} +query test($a: int = 2, $b: int!, $name: string) { + me(func: allofterms(name@en, $name)) { + director.film (first: $a, offset: $b) { + genre(first: $a) { + name@en + } + } + } +} +{{< /runnable >}} + +You can also use array with GraphQL Variables. + +{{< runnable vars="{\"$b\": \"10\", \"$aName\": \"Steven Spielberg\", \"$bName\": \"Quentin Tarantino\"}" >}} +query test($a: int = 2, $b: int!, $aName: string, $bName: string) { + me(func: eq(name@en, [$aName, $bName])) { + director.film (first: $a, offset: $b) { + genre(first: $a) { + name@en + } + } + } +} +{{< /runnable >}} + +We also support variable substituion in facets now. +{{< runnable vars="{\"$name\": \"Alice\"}" >}} +query test($name: string = "Alice") { + data(func: eq(name, $name)) { + friend @facets(eq(close, true)) { + name + } + } +} +{{}} + +{{% notice "note" %}} +If you want to input a list of uids as a GraphQL variable value, you can have the variable as string type and +have the value surrounded by square brackets like `["13", "14"]`. +{{% /notice %}} \ No newline at end of file diff --git a/wiki/content/query-language/groupby.md b/wiki/content/query-language/groupby.md new file mode 100644 index 00000000000..e812f8a18c0 --- /dev/null +++ b/wiki/content/query-language/groupby.md @@ -0,0 +1,57 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "GroupBy" +[menu.main] + parent = "query-language" + weight = 13 ++++ + +Syntax Examples: + +* `q(func: ...) @groupby(predicate) { min(...) }` +* `predicate @groupby(pred) { count(uid) }`` + + +A `groupby` query aggregates query results given a set of properties on which to group elements. For example, a query containing the block `friend @groupby(age) { count(uid) }`, finds all nodes reachable along the friend edge, partitions these into groups based on age, then counts how many nodes are in each group. The returned result is the grouped edges and the aggregations. + +Inside a `groupby` block, only aggregations are allowed and `count` may only be applied to `uid`. + +If the `groupby` is applied to a `uid` predicate, the resulting aggregations can be saved in a variable (mapping the grouped UIDs to aggregate values) and used elsewhere in the query to extract information other than the grouped or aggregated edges. + +Query Example: For Steven Spielberg movies, count the number of movies in each genre and for each of those genres return the genre name and the count. The name can't be extracted in the `groupby` because it is not an aggregate, but `uid(a)` can be used to extract the UIDs from the UID to value map and thus organize the `byGenre` query by genre UID. + + +{{< runnable >}} +{ + var(func:allofterms(name@en, "steven spielberg")) { + director.film @groupby(genre) { + a as count(uid) + # a is a genre UID to count value variable + } + } + + byGenre(func: uid(a), orderdesc: val(a)) { + name@en + total_movies : val(a) + } +} +{{< /runnable >}} + +Query Example: Actors from Tim Burton movies and how many roles they have played in Tim Burton movies. +{{< runnable >}} +{ + var(func:allofterms(name@en, "Tim Burton")) { + director.film { + starring @groupby(performance.actor) { + a as count(uid) + # a is an actor UID to count value variable + } + } + } + + byActor(func: uid(a), orderdesc: val(a)) { + name@en + val(a) + } +} +{{< /runnable >}} diff --git a/wiki/content/query-language/ignorereflex-directive.md b/wiki/content/query-language/ignorereflex-directive.md new file mode 100644 index 00000000000..044d386a46b --- /dev/null +++ b/wiki/content/query-language/ignorereflex-directive.md @@ -0,0 +1,27 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "IgnoreReflex directive" +[menu.main] + parent = "query-language" + weight = 18 ++++ + +The `@ignorereflex` directive forces the removal of child nodes that are reachable from themselves as a parent, through any path in the query result + +Query Example: All the co-actors of Rutger Hauer. Without `@ignorereflex`, the result would also include Rutger Hauer for every movie. + +{{< runnable >}} +{ + coactors(func: eq(name@en, "Rutger Hauer")) @ignorereflex { + actor.film { + performance.film { + starring { + performance.actor { + name@en + } + } + } + } + } +} +{{< /runnable >}} \ No newline at end of file diff --git a/wiki/content/query-language/index.md b/wiki/content/query-language/index.md deleted file mode 100644 index 40503d9935b..00000000000 --- a/wiki/content/query-language/index.md +++ /dev/null @@ -1,3983 +0,0 @@ -+++ -title = "Query Language" -+++ - -Dgraph's GraphQL+- is based on Facebook's [GraphQL](https://facebook.github.io/graphql/). GraphQL wasn't developed for Graph databases, but its graph-like query syntax, schema validation and subgraph shaped response make it a great language choice. We've modified the language to better support graph operations, adding and removing features to get the best fit for graph databases. We're calling this simplified, feature rich language, ''GraphQL+-''. - -GraphQL+- is a work in progress. We're adding more features and we might further simplify existing ones. - -## Take a Tour - https://dgraph.io/tour/ - -This document is the Dgraph query reference material. It is not a tutorial. It's designed as a reference for users who already know how to write queries in GraphQL+- but need to check syntax, or indices, or functions, etc. - -{{% notice "note" %}}If you are new to Dgraph and want to learn how to use Dgraph and GraphQL+-, take the tour - https://dgraph.io/tour/{{% /notice %}} - - -### Running examples - -The examples in this reference use a database of 21 million triples about movies and actors. The example queries run and return results. The queries are executed by an instance of Dgraph running at https://play.dgraph.io/. To run the queries locally or experiment a bit more, see the [Getting Started]({{< relref "get-started/index.md" >}}) guide, which also shows how to load the datasets used in the examples here. - -## GraphQL+- Fundamentals - -A GraphQL+- query finds nodes based on search criteria, matches patterns in a graph and returns a graph as a result. - -A query is composed of nested blocks, starting with a query root. The root finds the initial set of nodes against which the following graph matching and filtering is applied. - -{{% notice "note" %}}See more about Queries in [Queries design concept]({{< relref "design-concepts/index.md#queries" >}}) {{% /notice %}} - -### Returning Values - -Each query has a name, specified at the query root, and the same name identifies the results. - -If an edge is of a value type, the value can be returned by giving the edge name. - -Query Example: In the example dataset, edges that link movies to directors and actors, movies have a name, release date and identifiers for a number of well known movie databases. This query, with name `bladerunner`, and root matching a movie name, returns those values for the early 80's sci-fi classic "Blade Runner". - -{{< runnable >}} -{ - bladerunner(func: eq(name@en, "Blade Runner")) { - uid - name@en - initial_release_date - netflix_id - } -} -{{< /runnable >}} - -The query first searches the graph, using indexes to make the search efficient, for all nodes with a `name` edge equaling "Blade Runner". For the found node the query then returns the listed outgoing edges. - -Every node had a unique 64-bit identifier. The `uid` edge in the query above returns that identifier. If the required node is already known, then the function `uid` finds the node. - -Query Example: "Blade Runner" movie data found by UID. - -{{< runnable >}} -{ - bladerunner(func: uid(0x394c)) { - uid - name@en - initial_release_date - netflix_id - } -} -{{< /runnable >}} - -A query can match many nodes and return the values for each. - -Query Example: All nodes that have either "Blade" or "Runner" in the name. - -{{< runnable >}} -{ - bladerunner(func: anyofterms(name@en, "Blade Runner")) { - uid - name@en - initial_release_date - netflix_id - } -} -{{< /runnable >}} - -Multiple IDs can be specified in a list to the `uid` function. - -Query Example: -{{< runnable >}} -{ - movies(func: uid(0xb5849, 0x394c)) { - uid - name@en - initial_release_date - netflix_id - } -} -{{< /runnable >}} - - -{{% notice "note" %}} If your predicate has special characters, then you should wrap it with angular -brackets while asking for it in the query. E.g. ``{{% /notice %}} - -### Expanding Graph Edges - -A query expands edges from node to node by nesting query blocks with `{ }`. - -Query Example: The actors and characters played in "Blade Runner". The query first finds the node with name "Blade Runner", then follows outgoing `starring` edges to nodes representing an actor's performance as a character. From there the `performance.actor` and `performance.character` edges are expanded to find the actor names and roles for every actor in the movie. -{{< runnable >}} -{ - brCharacters(func: eq(name@en, "Blade Runner")) { - name@en - initial_release_date - starring { - performance.actor { - name@en # actor name - } - performance.character { - name@en # character name - } - } - } -} -{{< /runnable >}} - - -### Comments - -Anything on a line following a `#` is a comment - -### Applying Filters - -The query root finds an initial set of nodes and the query proceeds by returning values and following edges to further nodes - any node reached in the query is found by traversal after the search at root. The nodes found can be filtered by applying `@filter`, either after the root or at any edge. - -Query Example: "Blade Runner" director Ridley Scott's movies released before the year 2000. -{{< runnable >}} -{ - scott(func: eq(name@en, "Ridley Scott")) { - name@en - initial_release_date - director.film @filter(le(initial_release_date, "2000")) { - name@en - initial_release_date - } - } -} -{{< /runnable >}} - -Query Example: Movies with either "Blade" or "Runner" in the title and released before the year 2000. - -{{< runnable >}} -{ - bladerunner(func: anyofterms(name@en, "Blade Runner")) @filter(le(initial_release_date, "2000")) { - uid - name@en - initial_release_date - netflix_id - } -} -{{< /runnable >}} - -### Language Support - -{{% notice "note" %}}A `@lang` directive must be specified in the schema to query or mutate -predicates with language tags.{{% /notice %}} - -Dgraph supports UTF-8 strings. - -In a query, for a string valued edge `edge`, the syntax -``` -edge@lang1:...:langN -``` -specifies the preference order for returned languages, with the following rules. - -* At most one result will be returned (except in the case where the language list is set to *). -* The preference list is considered left to right: if a value in given language is not found, the next language from the list is considered. -* If there are no values in any of the specified languages, no value is returned. -* A final `.` means that a value without a specified language is returned or if there is no value without language, a value in ''some'' language is returned. -* Setting the language list value to * will return all the values for that predicate along with their language. Values without a language tag are also returned. - -For example: - -- `name` => Look for an untagged string; return nothing if no untagged value exits. -- `name@.` => Look for an untagged string, then any language. -- `name@en` => Look for `en` tagged string; return nothing if no `en` tagged string exists. -- `name@en:.` => Look for `en`, then untagged, then any language. -- `name@en:pl` => Look for `en`, then `pl`, otherwise nothing. -- `name@en:pl:.` => Look for `en`, then `pl`, then untagged, then any language. -- `name@*` => Look for all the values of this predicate and return them along with their language. For example, if there are two values with languages en and hi, this query will return two keys named "name@en" and "name@hi". - - -{{% notice "note" %}} - -In functions, language lists (including the `@*` notation) are not allowed. -Untagged predicates, Single language tags, and `.` notation work as described -above. - ---- - -In [full-text search functions]({{< relref "#full-text-search" >}}) -(`alloftext`, `anyoftext`), when no language is specified (untagged or `@.`), -the default (English) full-text tokenizer is used. This does not mean that -the value with the `en` tag will be searched when querying the untagged value, -but that untagged values will be treated as English text. If you don't want that -to be the case, use the appropriate tag for the desired language, both for -mutating and querying the value. - -{{% /notice %}} - - -Query Example: Some of Bollywood director and actor Farhan Akhtar's movies have a name stored in Russian as well as Hindi and English, others do not. - -{{< runnable >}} -{ - q(func: allofterms(name@en, "Farhan Akhtar")) { - name@hi - name@en - - director.film { - name@ru:hi:en - name@en - name@hi - name@ru - } - } -} -{{< /runnable >}} - - - - -## Functions - -Functions allow filtering based on properties of nodes or [variables]({{}}). Functions can be applied in the query root or in filters. - -{{% notice "note" %}}Support for filters on non-indexed predicates was added with Dgraph `v1.2.0`. -{{% /notice %}} - -Comparison functions (`eq`, `ge`, `gt`, `le`, `lt`) in the query root (aka `func:`) can only -be applied on [indexed predicates]({{< relref "#indexing">}}). Since v1.2, comparison functions -can now be used on [@filter]({{}}) directives even on predicates -that have not been indexed. -Filtering on non-indexed predicates can be slow for large datasets, as they require -iterating over all of the possible values at the level where the filter is being used. - -All other functions, in the query root or in the filter can only be applied to indexed predicates. - -For functions on string valued predicates, if no language preference is given, the function is applied to all languages and strings without a language tag; if a language preference is given, the function is applied only to strings of the given language. - - -### Term matching - - -#### allofterms - -Syntax Example: `allofterms(predicate, "space-separated term list")` - -Schema Types: `string` - -Index Required: `term` - - -Matches strings that have all specified terms in any order; case insensitive. - -##### Usage at root - -Query Example: All nodes that have `name` containing terms `indiana` and `jones`, returning the English name and genre in English. - -{{< runnable >}} -{ - me(func: allofterms(name@en, "jones indiana")) { - name@en - genre { - name@en - } - } -} -{{< /runnable >}} - -##### Usage as Filter - -Query Example: All Steven Spielberg films that contain the words `indiana` and `jones`. The `@filter(has(director.film))` removes nodes with name Steven Spielberg that aren't the director --- the data also contains a character in a film called Steven Spielberg. - -{{< runnable >}} -{ - me(func: eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { - name@en - director.film @filter(allofterms(name@en, "jones indiana")) { - name@en - } - } -} -{{< /runnable >}} - - -#### anyofterms - - -Syntax Example: `anyofterms(predicate, "space-separated term list")` - -Schema Types: `string` - -Index Required: `term` - - -Matches strings that have any of the specified terms in any order; case insensitive. - -##### Usage at root - -Query Example: All nodes that have a `name` containing either `poison` or `peacock`. Many of the returned nodes are movies, but people like Joan Peacock also meet the search terms because without a [cascade directive]({{< relref "#cascade-directive">}}) the query doesn't require a genre. - -{{< runnable >}} -{ - me(func:anyofterms(name@en, "poison peacock")) { - name@en - genre { - name@en - } - } -} -{{< /runnable >}} - - -##### Usage as filter - -Query Example: All Steven Spielberg movies that contain `war` or `spies`. The `@filter(has(director.film))` removes nodes with name Steven Spielberg that aren't the director --- the data also contains a character in a film called Steven Spielberg. - -{{< runnable >}} -{ - me(func: eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { - name@en - director.film @filter(anyofterms(name@en, "war spies")) { - name@en - } - } -} -{{< /runnable >}} - - -### Regular Expressions - - -Syntax Examples: `regexp(predicate, /regular-expression/)` or case insensitive `regexp(predicate, /regular-expression/i)` - -Schema Types: `string` - -Index Required: `trigram` - - -Matches strings by regular expression. The regular expression language is that of [go regular expressions](https://golang.org/pkg/regexp/syntax/). - -Query Example: At root, match nodes with `Steven Sp` at the start of `name`, followed by any characters. For each such matched uid, match the films containing `ryan`. Note the difference with `allofterms`, which would match only `ryan` but regular expression search will also match within terms, such as `bryan`. - -{{< runnable >}} -{ - directors(func: regexp(name@en, /^Steven Sp.*$/)) { - name@en - director.film @filter(regexp(name@en, /ryan/i)) { - name@en - } - } -} -{{< /runnable >}} - - -#### Technical details - -A Trigram is a substring of three continuous runes. For example, `Dgraph` has trigrams `Dgr`, `gra`, `rap`, `aph`. - -To ensure efficiency of regular expression matching, Dgraph uses [trigram indexing](https://swtch.com/~rsc/regexp/regexp4.html). That is, Dgraph converts the regular expression to a trigram query, uses the trigram index and trigram query to find possible matches and applies the full regular expression search only to the possibles. - -#### Writing Efficient Regular Expressions and Limitations - -Keep the following in mind when designing regular expression queries. - -- At least one trigram must be matched by the regular expression (patterns shorter than 3 runes are not supported). That is, Dgraph requires regular expressions that can be converted to a trigram query. -- The number of alternative trigrams matched by the regular expression should be as small as possible (`[a-zA-Z][a-zA-Z][0-9]` is not a good idea). Many possible matches means the full regular expression is checked against many strings; where as, if the expression enforces more trigrams to match, Dgraph can make better use of the index and check the full regular expression against a smaller set of possible matches. -- Thus, the regular expression should be as precise as possible. Matching longer strings means more required trigrams, which helps to effectively use the index. -- If repeat specifications (`*`, `+`, `?`, `{n,m}`) are used, the entire regular expression must not match the _empty_ string or _any_ string: for example, `*` may be used like `[Aa]bcd*` but not like `(abcd)*` or `(abcd)|((defg)*)` -- Repeat specifications after bracket expressions (e.g. `[fgh]{7}`, `[0-9]+` or `[a-z]{3,5}`) are often considered as matching any string because they match too many trigrams. -- If the partial result (for subset of trigrams) exceeds 1000000 uids during index scan, the query is stopped to prohibit expensive queries. - - -### Fuzzy matching - - -Syntax: `match(predicate, string, distance)` - -Schema Types: `string` - -Index Required: `trigram` - -Matches predicate values by calculating the [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) to the string, -also known as _fuzzy matching_. The distance parameter must be greater than zero (0). Using a greater distance value can yield more but less accurate results. - -Query Example: At root, fuzzy match nodes similar to `Stephen`, with a distance value of less than or equal to 8. - -{{< runnable >}} -{ - directors(func: match(name@en, Stephen, 8)) { - name@en - } -} -{{< /runnable >}} - -Same query with a Levenshtein distance of 3. - -{{< runnable >}} -{ - directors(func: match(name@en, Stephen, 3)) { - name@en - } -} -{{< /runnable >}} - - -### Full-Text Search - -Syntax Examples: `alloftext(predicate, "space-separated text")` and `anyoftext(predicate, "space-separated text")` - -Schema Types: `string` - -Index Required: `fulltext` - - -Apply full-text search with stemming and stop words to find strings matching all or any of the given text. - -The following steps are applied during index generation and to process full-text search arguments: - -1. Tokenization (according to Unicode word boundaries). -1. Conversion to lowercase. -1. Unicode-normalization (to [Normalization Form KC](http://unicode.org/reports/tr15/#Norm_Forms)). -1. Stemming using language-specific stemmer (if supported by language). -1. Stop words removal (if supported by language). - -Dgraph uses [bleve](https://github.com/blevesearch/bleve) for its full-text search indexing. See also the bleve language specific [stop word lists](https://github.com/blevesearch/bleve/tree/master/analysis/lang). - -Following table contains all supported languages, corresponding country-codes, stemming and stop words filtering support. - -| Language | Country Code | Stemming | Stop words | -| :--------: | :----------: | :------: | :--------: | -| Arabic | ar | ✓ | ✓ | -| Armenian | hy | | ✓ | -| Basque | eu | | ✓ | -| Bulgarian | bg | | ✓ | -| Catalan | ca | | ✓ | -| Chinese | zh | ✓ | ✓ | -| Czech | cs | | ✓ | -| Danish | da | ✓ | ✓ | -| Dutch | nl | ✓ | ✓ | -| English | en | ✓ | ✓ | -| Finnish | fi | ✓ | ✓ | -| French | fr | ✓ | ✓ | -| Gaelic | ga | | ✓ | -| Galician | gl | | ✓ | -| German | de | ✓ | ✓ | -| Greek | el | | ✓ | -| Hindi | hi | ✓ | ✓ | -| Hungarian | hu | ✓ | ✓ | -| Indonesian | id | | ✓ | -| Italian | it | ✓ | ✓ | -| Japanese | ja | ✓ | ✓ | -| Korean | ko | ✓ | ✓ | -| Norwegian | no | ✓ | ✓ | -| Persian | fa | | ✓ | -| Portuguese | pt | ✓ | ✓ | -| Romanian | ro | ✓ | ✓ | -| Russian | ru | ✓ | ✓ | -| Spanish | es | ✓ | ✓ | -| Swedish | sv | ✓ | ✓ | -| Turkish | tr | ✓ | ✓ | - - -Query Example: All names that have `dog`, `dogs`, `bark`, `barks`, `barking`, etc. Stop word removal eliminates `the` and `which`. - -{{< runnable >}} -{ - movie(func:alloftext(name@en, "the dog which barks")) { - name@en - } -} -{{< /runnable >}} - - -### Inequality - -#### equal to - -Syntax Examples: - -* `eq(predicate, value)` -* `eq(val(varName), value)` -* `eq(predicate, val(varName))` -* `eq(count(predicate), value)` -* `eq(predicate, [val1, val2, ..., valN])` -* `eq(predicate, [$var1, "value", ..., $varN])` - -Schema Types: `int`, `float`, `bool`, `string`, `dateTime` - -Index Required: An index is required for the `eq(predicate, ...)` forms (see table below) when used at query root. For `count(predicate)` at the query root, the `@count` index is required. For variables the values have been calculated as part of the query, so no index is required. - -| Type | Index Options | -|:-----------|:--------------| -| `int` | `int` | -| `float` | `float` | -| `bool` | `bool` | -| `string` | `exact`, `hash` | -| `dateTime` | `dateTime` | - -Test for equality of a predicate or variable to a value or find in a list of values. - -The boolean constants are `true` and `false`, so with `eq` this becomes, for example, `eq(boolPred, true)`. - -Query Example: Movies with exactly thirteen genres. - -{{< runnable >}} -{ - me(func: eq(count(genre), 13)) { - name@en - genre { - name@en - } - } -} -{{< /runnable >}} - - -Query Example: Directors called Steven who have directed 1,2 or 3 movies. - -{{< runnable >}} -{ - steve as var(func: allofterms(name@en, "Steven")) { - films as count(director.film) - } - - stevens(func: uid(steve)) @filter(eq(val(films), [1,2,3])) { - name@en - numFilms : val(films) - } -} -{{< /runnable >}} - - -#### less than, less than or equal to, greater than and greater than or equal to - -Syntax Examples: for inequality `IE` - -* `IE(predicate, value)` -* `IE(val(varName), value)` -* `IE(predicate, val(varName))` -* `IE(count(predicate), value)` - -With `IE` replaced by - -* `le` less than or equal to -* `lt` less than -* `ge` greater than or equal to -* `gt` greather than - -Schema Types: `int`, `float`, `string`, `dateTime` - -Index required: An index is required for the `IE(predicate, ...)` forms (see table below) when used at query root. For `count(predicate)` at the query root, the `@count` index is required. For variables the values have been calculated as part of the query, so no index is required. - -| Type | Index Options | -|:-----------|:--------------| -| `int` | `int` | -| `float` | `float` | -| `string` | `exact` | -| `dateTime` | `dateTime` | - - -Query Example: Ridley Scott movies released before 1980. - -{{< runnable >}} -{ - me(func: eq(name@en, "Ridley Scott")) { - name@en - director.film @filter(lt(initial_release_date, "1980-01-01")) { - initial_release_date - name@en - } - } -} -{{< /runnable >}} - - -Query Example: Movies with directors with `Steven` in `name` and have directed more than `100` actors. - -{{< runnable >}} -{ - ID as var(func: allofterms(name@en, "Steven")) { - director.film { - num_actors as count(starring) - } - total as sum(val(num_actors)) - } - - dirs(func: uid(ID)) @filter(gt(val(total), 100)) { - name@en - total_actors : val(total) - } -} -{{< /runnable >}} - - - -Query Example: A movie in each genre that has over 30000 movies. Because there is no order specified on genres, the order will be by UID. The [count index]({{< relref "#count-index">}}) records the number of edges out of nodes and makes such queries more . - -{{< runnable >}} -{ - genre(func: gt(count(~genre), 30000)){ - name@en - ~genre (first:1) { - name@en - } - } -} -{{< /runnable >}} - -Query Example: Directors called Steven and their movies which have `initial_release_date` greater -than that of the movie Minority Report. - -{{< runnable >}} -{ - var(func: eq(name@en,"Minority Report")) { - d as initial_release_date - } - - me(func: eq(name@en, "Steven Spielberg")) { - name@en - director.film @filter(ge(initial_release_date, val(d))) { - initial_release_date - name@en - } - } -} -{{< /runnable >}} - - -### uid - -Syntax Examples: - -* `q(func: uid()) ` -* `predicate @filter(uid(, ..., ))` -* `predicate @filter(uid(a))` for variable `a` -* `q(func: uid(a,b))` for variables `a` and `b` - - -Filters nodes at the current query level to only nodes in the given set of UIDs. - -For query variable `a`, `uid(a)` represents the set of UIDs stored in `a`. For value variable `b`, `uid(b)` represents the UIDs from the UID to value map. With two or more variables, `uid(a,b,...)` represents the union of all the variables. - -`uid()`, like an identity function, will return the requested UID even if the node does not have any edges. - -Query Example: If the UID of a node is known, values for the node can be read directly. The films of Priyanka Chopra by known UID - -{{< runnable >}} -{ - films(func: uid(0x2c964)) { - name@hi - actor.film { - performance.film { - name@hi - } - } - } -} -{{< /runnable >}} - - - -Query Example: The films of Taraji Henson by genre. -{{< runnable >}} -{ - var(func: allofterms(name@en, "Taraji Henson")) { - actor.film { - F as performance.film { - G as genre - } - } - } - - Taraji_films_by_genre(func: uid(G)) { - genre_name : name@en - films : ~genre @filter(uid(F)) { - film_name : name@en - } - } -} -{{< /runnable >}} - - - -Query Example: Taraji Henson films ordered by number of genres, with genres listed in order of how many films Taraji has made in each genre. -{{< runnable >}} -{ - var(func: allofterms(name@en, "Taraji Henson")) { - actor.film { - F as performance.film { - G as count(genre) - genre { - C as count(~genre @filter(uid(F))) - } - } - } - } - - Taraji_films_by_genre_count(func: uid(G), orderdesc: val(G)) { - film_name : name@en - genres : genre (orderdesc: val(C)) { - genre_name : name@en - } - } -} -{{< /runnable >}} - - -### uid_in - - -Syntax Examples: - -* `q(func: ...) @filter(uid_in(predicate, ))` -* `predicate1 @filter(uid_in(predicate2, ))` - -Schema Types: UID - -Index Required: none - -While the `uid` function filters nodes at the current level based on UID, function `uid_in` allows looking ahead along an edge to check that it leads to a particular UID. This can often save an extra query block and avoids returning the edge. - -`uid_in` cannot be used at root, it accepts one UID constant as its argument (not a variable). - - -Query Example: The collaborations of Marc Caro and Jean-Pierre Jeunet (UID 0x99706). If the UID of Jean-Pierre Jeunet is known, querying this way removes the need to have a block extracting his UID into a variable and the extra edge traversal and filter for `~director.film`. -{{< runnable >}} -{ - caro(func: eq(name@en, "Marc Caro")) { - name@en - director.film @filter(uid_in(~director.film, 0x99706)) { - name@en - } - } -} -{{< /runnable >}} - - -### has - -Syntax Examples: `has(predicate)` - -Schema Types: all - -Determines if a node has a particular predicate. - -Query Example: First five directors and all their movies that have a release date recorded. Directors have directed at least one film --- equivalent semantics to `gt(count(director.film), 0)`. -{{< runnable >}} -{ - me(func: has(director.film), first: 5) { - name@en - director.film @filter(has(initial_release_date)) { - initial_release_date - name@en - } - } -} -{{< /runnable >}} - -### Geolocation - -{{% notice "note" %}} As of now we only support indexing Point, Polygon and MultiPolygon [geometry types](https://github.com/twpayne/go-geom#geometry-types). However, Dgraph can store other types of gelocation data. {{% /notice %}} - -Note that for geo queries, any polygon with holes is replace with the outer loop, ignoring holes. Also, as for version 0.7.7 polygon containment checks are approximate. - -#### Mutations - -To make use of the geo functions you would need an index on your predicate. -``` -loc: geo @index(geo) . -``` - -Here is how you would add a `Point`. - -``` -{ - set { - <_:0xeb1dde9c> "{'type':'Point','coordinates':[-122.4220186,37.772318]}"^^ . - <_:0xeb1dde9c> "Hamon Tower" . - <_:0xeb1dde9c> "Location" . - } -} -``` - -Here is how you would associate a `Polygon` with a node. Adding a `MultiPolygon` is also similar. - -``` -{ - set { - <_:0xf76c276b> "{'type':'Polygon','coordinates':[[[-122.409869,37.7785442],[-122.4097444,37.7786443],[-122.4097544,37.7786521],[-122.4096334,37.7787494],[-122.4096233,37.7787416],[-122.4094004,37.7789207],[-122.4095818,37.7790617],[-122.4097883,37.7792189],[-122.4102599,37.7788413],[-122.409869,37.7785442]],[[-122.4097357,37.7787848],[-122.4098499,37.778693],[-122.4099025,37.7787339],[-122.4097882,37.7788257],[-122.4097357,37.7787848]]]}"^^ . - <_:0xf76c276b> "Best Western Americana Hotel" . - <_:0xf76c276b> "Location" . - } -} -``` - -The above examples have been picked from our [SF Tourism](https://github.com/dgraph-io/benchmarks/blob/master/data/sf.tourism.gz?raw=true) dataset. - -#### Query - -##### near - -Syntax Example: `near(predicate, [long, lat], distance)` - -Schema Types: `geo` - -Index Required: `geo` - -Matches all entities where the location given by `predicate` is within `distance` meters of geojson coordinate `[long, lat]`. - -Query Example: Tourist destinations within 1000 meters (1 kilometer) of a point in Golden Gate Park in San Francisco. - -{{< runnable >}} -{ - tourist(func: near(loc, [-122.469829, 37.771935], 1000) ) { - name - } -} -{{< /runnable >}} - - -##### within - -Syntax Example: `within(predicate, [[[long1, lat1], ..., [longN, latN]]])` - -Schema Types: `geo` - -Index Required: `geo` - -Matches all entities where the location given by `predicate` lies within the polygon specified by the geojson coordinate array. - -Query Example: Tourist destinations within the specified area of Golden Gate Park, San Francisco. - -{{< runnable >}} -{ - tourist(func: within(loc, [[[-122.47266769409178, 37.769018558337926 ], [ -122.47266769409178, 37.773699921075135 ], [ -122.4651575088501, 37.773699921075135 ], [ -122.4651575088501, 37.769018558337926 ], [ -122.47266769409178, 37.769018558337926]]] )) { - name - } -} -{{< /runnable >}} - - -##### contains - -Syntax Examples: `contains(predicate, [long, lat])` or `contains(predicate, [[long1, lat1], ..., [longN, latN]])` - -Schema Types: `geo` - -Index Required: `geo` - -Matches all entities where the polygon describing the location given by `predicate` contains geojson coordinate `[long, lat]` or given geojson polygon. - -Query Example : All entities that contain a point in the flamingo enclosure of San Francisco Zoo. -{{< runnable >}} -{ - tourist(func: contains(loc, [ -122.50326097011566, 37.73353615592843 ] )) { - name - } -} -{{< /runnable >}} - - -##### intersects - -Syntax Example: `intersects(predicate, [[[long1, lat1], ..., [longN, latN]]])` - -Schema Types: `geo` - -Index Required: `geo` - -Matches all entities where the polygon describing the location given by `predicate` intersects the given geojson polygon. - - -{{< runnable >}} -{ - tourist(func: intersects(loc, [[[-122.503325343132, 37.73345766902749 ], [ -122.503325343132, 37.733903134117966 ], [ -122.50271648168564, 37.733903134117966 ], [ -122.50271648168564, 37.73345766902749 ], [ -122.503325343132, 37.73345766902749]]] )) { - name - } -} -{{< /runnable >}} - - - -## Connecting Filters - -Within `@filter` multiple functions can be used with boolean connectives. - -### AND, OR and NOT - -Connectives `AND`, `OR` and `NOT` join filters and can be built into arbitrarily complex filters, such as `(NOT A OR B) AND (C AND NOT (D OR E))`. Note that, `NOT` binds more tightly than `AND` which binds more tightly than `OR`. - -Query Example : All Steven Spielberg movies that contain either both "indiana" and "jones" OR both "jurassic" and "park". - -{{< runnable >}} -{ - me(func: eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { - name@en - director.film @filter(allofterms(name@en, "jones indiana") OR allofterms(name@en, "jurassic park")) { - uid - name@en - } - } -} -{{< /runnable >}} - - -## Alias - -Syntax Examples: - -* `aliasName : predicate` -* `aliasName : predicate { ... }` -* `aliasName : varName as ...` -* `aliasName : count(predicate)` -* `aliasName : max(val(varName))` - -An alias provides an alternate name in results. Predicates, variables and aggregates can be aliased by prefixing with the alias name and `:`. Aliases do not have to be different to the original predicate name, but, within a block, an alias must be distinct from predicate names and other aliases returned in the same block. Aliases can be used to return the same predicate multiple times within a block. - - - -Query Example: Directors with `name` matching term `Steven`, their UID, English name, average number of actors per movie, total number of films, and the name of each film in English and French. -{{< runnable >}} -{ - ID as var(func: allofterms(name@en, "Steven")) @filter(has(director.film)) { - director.film { - num_actors as count(starring) - } - average as avg(val(num_actors)) - } - - films(func: uid(ID)) { - director_id : uid - english_name : name@en - average_actors : val(average) - num_films : count(director.film) - - films : director.film { - name : name@en - english_name : name@en - french_name : name@fr - } - } -} -{{< /runnable >}} - - -## Pagination - -Pagination allows returning only a portion, rather than the whole, result set. This can be useful for top-k style queries as well as to reduce the size of the result set for client side processing or to allow paged access to results. - -Pagination is often used with [sorting]({{< relref "#sorting">}}). - -{{% notice "note" %}}Without a sort order specified, the results are sorted by `uid`, which is assigned randomly. So the ordering, while deterministic, might not be what you expected.{{% /notice %}} - -### First - -Syntax Examples: - -* `q(func: ..., first: N)` -* `predicate (first: N) { ... }` -* `predicate @filter(...) (first: N) { ... }` - -For positive `N`, `first: N` retrieves the first `N` results, by sorted or UID order. - -For negative `N`, `first: N` retrieves the last `N` results, by sorted or UID order. Currently, negative is only supported when no order is applied. To achieve the effect of a negative with a sort, reverse the order of the sort and use a positive `N`. - - -Query Example: Last two films, by UID order, directed by Steven Spielberg and the first three genres of those movies, sorted alphabetically by English name. - -{{< runnable >}} -{ - me(func: allofterms(name@en, "Steven Spielberg")) { - director.film (first: -2) { - name@en - initial_release_date - genre (orderasc: name@en) (first: 3) { - name@en - } - } - } -} -{{< /runnable >}} - - - -Query Example: The three directors named Steven who have directed the most actors of all directors named Steven. - -{{< runnable >}} -{ - ID as var(func: allofterms(name@en, "Steven")) @filter(has(director.film)) { - director.film { - stars as count(starring) - } - totalActors as sum(val(stars)) - } - - mostStars(func: uid(ID), orderdesc: val(totalActors), first: 3) { - name@en - stars : val(totalActors) - - director.film { - name@en - } - } -} -{{< /runnable >}} - -### Offset - -Syntax Examples: - -* `q(func: ..., offset: N)` -* `predicate (offset: N) { ... }` -* `predicate (first: M, offset: N) { ... }` -* `predicate @filter(...) (offset: N) { ... }` - -With `offset: N` the first `N` results are not returned. Used in combination with first, `first: M, offset: N` skips over `N` results and returns the following `M`. - -Query Example: Order Hark Tsui's films by English title, skip over the first 4 and return the following 6. - -{{< runnable >}} -{ - me(func: allofterms(name@en, "Hark Tsui")) { - name@zh - name@en - director.film (orderasc: name@en) (first:6, offset:4) { - genre { - name@en - } - name@zh - name@en - initial_release_date - } - } -} -{{< /runnable >}} - -### After - -Syntax Examples: - -* `q(func: ..., after: UID)` -* `predicate (first: N, after: UID) { ... }` -* `predicate @filter(...) (first: N, after: UID) { ... }` - -Another way to get results after skipping over some results is to use the default UID ordering and skip directly past a node specified by UID. For example, a first query could be of the form `predicate (after: 0x0, first: N)`, or just `predicate (first: N)`, with subsequent queries of the form `predicate(after: , first: N)`. - - -Query Example: The first five of Baz Luhrmann's films, sorted by UID order. - -{{< runnable >}} -{ - me(func: allofterms(name@en, "Baz Luhrmann")) { - name@en - director.film (first:5) { - uid - name@en - } - } -} -{{< /runnable >}} - -The fifth movie is the Australian movie classic Strictly Ballroom. It has UID `0x99e44`. The results after Strictly Ballroom can now be obtained with `after`. - -{{< runnable >}} -{ - me(func: allofterms(name@en, "Baz Luhrmann")) { - name@en - director.film (first:5, after: 0x99e44) { - uid - name@en - } - } -} -{{< /runnable >}} - - -## Count - -Syntax Examples: - -* `count(predicate)` -* `count(uid)` - -The form `count(predicate)` counts how many `predicate` edges lead out of a node. - -The form `count(uid)` counts the number of UIDs matched in the enclosing block. - -Query Example: The number of films acted in by each actor with `Orlando` in their name. - -{{< runnable >}} -{ - me(func: allofterms(name@en, "Orlando")) @filter(has(actor.film)) { - name@en - count(actor.film) - } -} -{{< /runnable >}} - -Count can be used at root and [aliased]({{< relref "#alias">}}). - -Query Example: Count of directors who have directed more than five films. When used at the query root, the [count index]({{< relref "#count-index">}}) is required. - -{{< runnable >}} -{ - directors(func: gt(count(director.film), 5)) { - totalDirectors : count(uid) - } -} -{{< /runnable >}} - - -Count can be assigned to a [value variable]({{< relref "#value-variables">}}). - -Query Example: The actors of Ang Lee's "Eat Drink Man Woman" ordered by the number of movies acted in. - -{{< runnable >}} -{ - var(func: allofterms(name@en, "eat drink man woman")) { - starring { - actors as performance.actor { - totalRoles as count(actor.film) - } - } - } - - edmw(func: uid(actors), orderdesc: val(totalRoles)) { - name@en - name@zh - totalRoles : val(totalRoles) - } -} -{{< /runnable >}} - - -## Sorting - -Syntax Examples: - -* `q(func: ..., orderasc: predicate)` -* `q(func: ..., orderdesc: val(varName))` -* `predicate (orderdesc: predicate) { ... }` -* `predicate @filter(...) (orderasc: N) { ... }` -* `q(func: ..., orderasc: predicate1, orderdesc: predicate2)` - -Sortable Types: `int`, `float`, `String`, `dateTime`, `default` - -Results can be sorted in ascending order (`orderasc`) or descending order (`orderdesc`) by a predicate or variable. - -For sorting on predicates with [sortable indices]({{< relref "#sortable-indices">}}), Dgraph sorts on the values and with the index in parallel and returns whichever result is computed first. - -Sorted queries retrieve up to 1000 results by default. This can be changed with [first]({{< relref "#first">}}). - - -Query Example: French director Jean-Pierre Jeunet's movies sorted by release date. - -{{< runnable >}} -{ - me(func: allofterms(name@en, "Jean-Pierre Jeunet")) { - name@fr - director.film(orderasc: initial_release_date) { - name@fr - name@en - initial_release_date - } - } -} -{{< /runnable >}} - -Sorting can be performed at root and on value variables. - -Query Example: All genres sorted alphabetically and the five movies in each genre with the most genres. - -{{< runnable >}} -{ - genres as var(func: has(~genre)) { - ~genre { - numGenres as count(genre) - } - } - - genres(func: uid(genres), orderasc: name@en) { - name@en - ~genre (orderdesc: val(numGenres), first: 5) { - name@en - genres : val(numGenres) - } - } -} -{{< /runnable >}} - -Sorting can also be performed by multiple predicates as shown below. If the values are equal for the -first predicate, then they are sorted by the second predicate and so on. - -Query Example: Find all nodes which have type Person, sort them by their first_name and among those -that have the same first_name sort them by last_name in descending order. - -``` -{ - me(func: type("Person"), orderasc: first_name, orderdesc: last_name) { - first_name - last_name - } -} -``` - -## Multiple Query Blocks - -Inside a single query, multiple query blocks are allowed. The result is all blocks with corresponding block names. - -Multiple query blocks are executed in parallel. - -The blocks need not be related in any way. - -Query Example: All of Angelina Jolie's films, with genres, and Peter Jackson's films since 2008. - -{{< runnable >}} -{ - AngelinaInfo(func:allofterms(name@en, "angelina jolie")) { - name@en - actor.film { - performance.film { - genre { - name@en - } - } - } - } - - DirectorInfo(func: eq(name@en, "Peter Jackson")) { - name@en - director.film @filter(ge(initial_release_date, "2008")) { - Release_date: initial_release_date - Name: name@en - } - } -} -{{< /runnable >}} - - -If queries contain some overlap in answers, the result sets are still independent. - -Query Example: The movies Mackenzie Crook has acted in and the movies Jack Davenport has acted in. The results sets overlap because both have acted in the Pirates of the Caribbean movies, but the results are independent and both contain the full answers sets. - -{{< runnable >}} -{ - Mackenzie(func:allofterms(name@en, "Mackenzie Crook")) { - name@en - actor.film { - performance.film { - uid - name@en - } - performance.character { - name@en - } - } - } - - Jack(func:allofterms(name@en, "Jack Davenport")) { - name@en - actor.film { - performance.film { - uid - name@en - } - performance.character { - name@en - } - } - } -} -{{< /runnable >}} - - -### Var Blocks - -Var blocks start with the keyword `var` and are not returned in the query results. - -Query Example: Angelina Jolie's movies ordered by genre. - -{{< runnable >}} -{ - var(func:allofterms(name@en, "angelina jolie")) { - name@en - actor.film { - A AS performance.film { - B AS genre - } - } - } - - films(func: uid(B), orderasc: name@en) { - name@en - ~genre @filter(uid(A)) { - name@en - } - } -} -{{< /runnable >}} - - -## Query Variables - -Syntax Examples: - -* `varName as q(func: ...) { ... }` -* `varName as var(func: ...) { ... }` -* `varName as predicate { ... }` -* `varName as predicate @filter(...) { ... }` - -Types : `uid` - -Nodes (UIDs) matched at one place in a query can be stored in a variable and used elsewhere. Query variables can be used in other query blocks or in a child node of the defining block. - -Query variables do not affect the semantics of the query at the point of definition. Query variables are evaluated to all nodes matched by the defining block. - -In general, query blocks are executed in parallel, but variables impose an evaluation order on some blocks. Cycles induced by variable dependence are not permitted. - -If a variable is defined, it must be used elsewhere in the query. - -A query variable is used by extracting the UIDs in it with `uid(var-name)`. - -The syntax `func: uid(A,B)` or `@filter(uid(A,B))` means the union of UIDs for variables `A` and `B`. - -Query Example: The movies of Angelia Jolie and Brad Pitt where both have acted on movies in the same genre. Note that `B` and `D` match all genres for all movies, not genres per movie. -{{< runnable >}} -{ - var(func:allofterms(name@en, "angelina jolie")) { - actor.film { - A AS performance.film { # All films acted in by Angelina Jolie - B As genre # Genres of all the films acted in by Angelina Jolie - } - } - } - - var(func:allofterms(name@en, "brad pitt")) { - actor.film { - C AS performance.film { # All films acted in by Brad Pitt - D as genre # Genres of all the films acted in by Brad Pitt - } - } - } - - films(func: uid(D)) @filter(uid(B)) { # Genres from both Angelina and Brad - name@en - ~genre @filter(uid(A, C)) { # Movies in either A or C. - name@en - } - } -} -{{< /runnable >}} - - -## Value Variables - -Syntax Examples: - -* `varName as scalarPredicate` -* `varName as count(predicate)` -* `varName as avg(...)` -* `varName as math(...)` - -Types : `int`, `float`, `String`, `dateTime`, `default`, `geo`, `bool` - -Value variables store scalar values. Value variables are a map from the UIDs of the enclosing block to the corresponding values. - -It therefore only makes sense to use the values from a value variable in a context that matches the same UIDs - if used in a block matching different UIDs the value variable is undefined. - -It is an error to define a value variable but not use it elsewhere in the query. - -Value variables are used by extracting the values with `val(var-name)`, or by extracting the UIDs with `uid(var-name)`. - -[Facet]({{< relref "#facets-edge-attributes">}}) values can be stored in value variables. - -Query Example: The number of movie roles played by the actors of the 80's classic "The Princess Bride". Query variable `pbActors` matches the UIDs of all actors from the movie. Value variable `roles` is thus a map from actor UID to number of roles. Value variable `roles` can be used in the `totalRoles` query block because that query block also matches the `pbActors` UIDs, so the actor to number of roles map is available. - -{{< runnable >}} -{ - var(func:allofterms(name@en, "The Princess Bride")) { - starring { - pbActors as performance.actor { - roles as count(actor.film) - } - } - } - totalRoles(func: uid(pbActors), orderasc: val(roles)) { - name@en - numRoles : val(roles) - } -} -{{< /runnable >}} - - -Value variables can be used in place of UID variables by extracting the UID list from the map. - -Query Example: The same query as the previous example, but using value variable `roles` for matching UIDs in the `totalRoles` query block. - -{{< runnable >}} -{ - var(func:allofterms(name@en, "The Princess Bride")) { - starring { - performance.actor { - roles as count(actor.film) - } - } - } - totalRoles(func: uid(roles), orderasc: val(roles)) { - name@en - numRoles : val(roles) - } -} -{{< /runnable >}} - - -### Variable Propagation - -Like query variables, value variables can be used in other query blocks and in blocks nested within the defining block. When used in a block nested within the block that defines the variable, the value is computed as a sum of the variable for parent nodes along all paths to the point of use. This is called variable propagation. - -For example: -``` -{ - q(func: uid(0x01)) { - myscore as math(1) # A - friends { # B - friends { # C - ...myscore... - } - } - } -} -``` -At line A, a value variable `myscore` is defined as mapping node with UID `0x01` to value 1. At B, the value for each friend is still 1: there is only one path to each friend. Traversing the friend edge twice reaches the friends of friends. The variable `myscore` gets propagated such that each friend of friend will receive the sum of its parents values: if a friend of a friend is reachable from only one friend, the value is still 1, if they are reachable from two friends, the value is two and so on. That is, the value of `myscore` for each friend of friends inside the block marked C will be the number of paths to them. - -**The value that a node receives for a propagated variable is the sum of the values of all its parent nodes.** - -This propagation is useful, for example, in normalizing a sum across users, finding the number of paths between nodes and accumulating a sum through a graph. - - - -Query Example: For each Harry Potter movie, the number of roles played by actor Warwick Davis. -{{< runnable >}} -{ - num_roles(func: eq(name@en, "Warwick Davis")) @cascade @normalize { - - paths as math(1) # records number of paths to each character - - actor : name@en - - actor.film { - performance.film @filter(allofterms(name@en, "Harry Potter")) { - film_name : name@en - characters : math(paths) # how many paths (i.e. characters) reach this film - } - } - } -} -{{< /runnable >}} - - -Query Example: Each actor who has been in a Peter Jackson movie and the fraction of Peter Jackson movies they have appeared in. -{{< runnable >}} -{ - movie_fraction(func:eq(name@en, "Peter Jackson")) @normalize { - - paths as math(1) - total_films : num_films as count(director.film) - director : name@en - - director.film { - starring { - performance.actor { - fraction : math(paths / (num_films/paths)) - actor : name@en - } - } - } - } -} -{{< /runnable >}} - -More examples can be found in two Dgraph blog posts about using variable propagation for recommendation engines ([post 1](https://open.dgraph.io/post/recommendation/), [post 2](https://open.dgraph.io/post/recommendation2/)). - -## Aggregation - -Syntax Example: `AG(val(varName))` - -For `AG` replaced with - -* `min` : select the minimum value in the value variable `varName` -* `max` : select the maximum value -* `sum` : sum all values in value variable `varName` -* `avg` : calculate the average of values in `varName` - -Schema Types: - -| Aggregation | Schema Types | -|:-----------|:--------------| -| `min` / `max` | `int`, `float`, `string`, `dateTime`, `default` | -| `sum` / `avg` | `int`, `float` | - -Aggregation can only be applied to [value variables]({{< relref "#value-variables">}}). An index is not required (the values have already been found and stored in the value variable mapping). - -An aggregation is applied at the query block enclosing the variable definition. As opposed to query variables and value variables, which are global, aggregation is computed locally. For example: -``` -A as predicateA { - ... - B as predicateB { - x as ...some value... - } - min(val(x)) -} -``` -Here, `A` and `B` are the lists of all UIDs that match these blocks. Value variable `x` is a mapping from UIDs in `B` to values. The aggregation `min(val(x))`, however, is computed for each UID in `A`. That is, it has a semantics of: for each UID in `A`, take the slice of `x` that corresponds to `A`'s outgoing `predicateB` edges and compute the aggregation for those values. - -Aggregations can themselves be assigned to value variables, making a UID to aggregation map. - - -### Min - -#### Usage at Root - -Query Example: Get the min initial release date for any Harry Potter movie. - -The release date is assigned to a variable, then it is aggregated and fetched in an empty block. -{{< runnable >}} -{ - var(func: allofterms(name@en, "Harry Potter")) { - d as initial_release_date - } - me() { - min(val(d)) - } -} -{{< /runnable >}} - -#### Usage at other levels - -Query Example: Directors called Steven and the date of release of their first movie, in ascending order of first movie. - -{{< runnable >}} -{ - stevens as var(func: allofterms(name@en, "steven")) { - director.film { - ird as initial_release_date - # ird is a value variable mapping a film UID to its release date - } - minIRD as min(val(ird)) - # minIRD is a value variable mapping a director UID to their first release date - } - - byIRD(func: uid(stevens), orderasc: val(minIRD)) { - name@en - firstRelease: val(minIRD) - } -} -{{< /runnable >}} - -### Max - -#### Usage at Root - -Query Example: Get the max initial release date for any Harry Potter movie. - -The release date is assigned to a variable, then it is aggregated and fetched in an empty block. -{{< runnable >}} -{ - var(func: allofterms(name@en, "Harry Potter")) { - d as initial_release_date - } - me() { - max(val(d)) - } -} -{{< /runnable >}} - -#### Usage at other levels - -Query Example: Quentin Tarantino's movies and date of release of the most recent movie. - -{{< runnable >}} -{ - director(func: allofterms(name@en, "Quentin Tarantino")) { - director.film { - name@en - x as initial_release_date - } - max(val(x)) - } -} -{{< /runnable >}} - -### Sum and Avg - -#### Usage at Root - -Query Example: Get the sum and average of number of count of movies directed by people who have -Steven or Tom in their name. - -{{< runnable >}} -{ - var(func: anyofterms(name@en, "Steven Tom")) { - a as count(director.film) - } - - me() { - avg(val(a)) - sum(val(a)) - } -} -{{< /runnable >}} - -#### Usage at other levels - -Query Example: Steven Spielberg's movies, with the number of recorded genres per movie, and the total number of genres and average genres per movie. - -{{< runnable >}} -{ - director(func: eq(name@en, "Steven Spielberg")) { - name@en - director.film { - name@en - numGenres : g as count(genre) - } - totalGenres : sum(val(g)) - genresPerMovie : avg(val(g)) - } -} -{{< /runnable >}} - - -### Aggregating Aggregates - -Aggregations can be assigned to value variables, and so these variables can in turn be aggregated. - -Query Example: For each actor in a Peter Jackson film, find the number of roles played in any movie. Sum these to find the total number of roles ever played by all actors in the movie. Then sum the lot to find the total number of roles ever played by actors who have appeared in Peter Jackson movies. Note that this demonstrates how to aggregate aggregates; the answer in this case isn't quite precise though, because actors that have appeared in multiple Peter Jackson movies are counted more than once. - -{{< runnable >}} -{ - PJ as var(func:allofterms(name@en, "Peter Jackson")) { - director.film { - starring { # starring an actor - performance.actor { - movies as count(actor.film) - # number of roles for this actor - } - perf_total as sum(val(movies)) - } - movie_total as sum(val(perf_total)) - # total roles for all actors in this movie - } - gt as sum(val(movie_total)) - } - - PJmovies(func: uid(PJ)) { - name@en - director.film (orderdesc: val(movie_total), first: 5) { - name@en - totalRoles : val(movie_total) - } - grandTotal : val(gt) - } -} -{{< /runnable >}} - - -## Math on value variables - -Value variables can be combined using mathematical functions. For example, this could be used to associate a score which is then used to order or perform other operations, such as might be used in building news feeds, simple recommendation systems, and so on. - -Math statements must be enclosed within `math( )` and must be stored to a value variable. - -The supported operators are as follows: - -| Operators | Types accepted | What it does | -| :------------: | :--------------: | :------------------------: | -| `+` `-` `*` `/` `%` | `int`, `float` | performs the corresponding operation | -| `min` `max` | All types except `geo`, `bool` (binary functions) | selects the min/max value among the two | -| `<` `>` `<=` `>=` `==` `!=` | All types except `geo`, `bool` | Returns true or false based on the values | -| `floor` `ceil` `ln` `exp` `sqrt` | `int`, `float` (unary function) | performs the corresponding operation | -| `since` | `dateTime` | Returns the number of seconds in float from the time specified | -| `pow(a, b)` | `int`, `float` | Returns `a to the power b` | -| `logbase(a,b)` | `int`, `float` | Returns `log(a)` to the base `b` | -| `cond(a, b, c)` | first operand must be a boolean | selects `b` if `a` is true else `c` | - - -Query Example: Form a score for each of Steven Spielberg's movies as the sum of number of actors, number of genres and number of countries. List the top five such movies in order of decreasing score. - -{{< runnable >}} -{ - var(func:allofterms(name@en, "steven spielberg")) { - films as director.film { - p as count(starring) - q as count(genre) - r as count(country) - score as math(p + q + r) - } - } - - TopMovies(func: uid(films), orderdesc: val(score), first: 5){ - name@en - val(score) - } -} -{{< /runnable >}} - -Value variables and aggregations of them can be used in filters. - -Query Example: Calculate a score for each Steven Spielberg movie with a condition on release date to penalize movies that are more than 10 years old, filtering on the resulting score. - -{{< runnable >}} -{ - var(func:allofterms(name@en, "steven spielberg")) { - films as director.film { - p as count(starring) - q as count(genre) - date as initial_release_date - years as math(since(date)/(365*24*60*60)) - score as math(cond(years > 10, 0, ln(p)+q-ln(years))) - } - } - - TopMovies(func: uid(films), orderdesc: val(score)) @filter(gt(val(score), 2)){ - name@en - val(score) - val(date) - } -} -{{< /runnable >}} - - -Values calculated with math operations are stored to value variables and so can be aggregated. - -Query Example: Compute a score for each Steven Spielberg movie and then aggregate the score. - -{{< runnable >}} -{ - steven as var(func:eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { - director.film { - p as count(starring) - q as count(genre) - r as count(country) - score as math(p + q + r) - } - directorScore as sum(val(score)) - } - - score(func: uid(steven)){ - name@en - val(directorScore) - } -} -{{< /runnable >}} - - -## GroupBy - -Syntax Examples: - -* `q(func: ...) @groupby(predicate) { min(...) }` -* `predicate @groupby(pred) { count(uid) }`` - - -A `groupby` query aggregates query results given a set of properties on which to group elements. For example, a query containing the block `friend @groupby(age) { count(uid) }`, finds all nodes reachable along the friend edge, partitions these into groups based on age, then counts how many nodes are in each group. The returned result is the grouped edges and the aggregations. - -Inside a `groupby` block, only aggregations are allowed and `count` may only be applied to `uid`. - -If the `groupby` is applied to a `uid` predicate, the resulting aggregations can be saved in a variable (mapping the grouped UIDs to aggregate values) and used elsewhere in the query to extract information other than the grouped or aggregated edges. - -Query Example: For Steven Spielberg movies, count the number of movies in each genre and for each of those genres return the genre name and the count. The name can't be extracted in the `groupby` because it is not an aggregate, but `uid(a)` can be used to extract the UIDs from the UID to value map and thus organize the `byGenre` query by genre UID. - - -{{< runnable >}} -{ - var(func:allofterms(name@en, "steven spielberg")) { - director.film @groupby(genre) { - a as count(uid) - # a is a genre UID to count value variable - } - } - - byGenre(func: uid(a), orderdesc: val(a)) { - name@en - total_movies : val(a) - } -} -{{< /runnable >}} - -Query Example: Actors from Tim Burton movies and how many roles they have played in Tim Burton movies. -{{< runnable >}} -{ - var(func:allofterms(name@en, "Tim Burton")) { - director.film { - starring @groupby(performance.actor) { - a as count(uid) - # a is an actor UID to count value variable - } - } - } - - byActor(func: uid(a), orderdesc: val(a)) { - name@en - val(a) - } -} -{{< /runnable >}} - -## Expand Predicates - -The `expand()` function can be used to expand the predicates out of a node. To -use `expand()`, the [type system]({{< relref "#type-system" >}}) is required. -Refer to the section on the type system to check how to set the types -nodes. The rest of this section assumes familiarity with that section. - -There are two ways to use the `expand` function. - -* Types can be passed to `expand()` to expand all the predicates in the type. - -Query example: List the movies from the Harry Potter series: - -{{< runnable >}} -{ - all(func: eq(name@en, "Harry Potter")) @filter(type(Series)) { - name@en - expand(Series) { - name@en - expand(Film) - } - } -} -{{< /runnable >}} - -* If `_all_` is passed as an argument to `expand()`, the predicates to be -expanded will be the union of fields in the types assigned to a given node. - -The `_all_` keyword requires that the nodes have types. Dgraph will look for all -the types that have been assigned to a node, query the types to check which -attributes they have, and use those to compute the list of predicates to expand. - -For example, consider a node that has types `Animal` and `Pet`, which have -the following definitions: - -``` -type Animal { - name - species - dob -} - -type Pet { - owner - veterinarian -} -``` - -When `expand(_all_)` is called on this node, Dgraph will first check which types -the node has (`Animal` and `Pet`). Then it will get the definitions of `Animal` -and `Pet` and build a list of predicates from their type definitions. - -``` -name -species -dob -owner -veterinarian -``` - -{{% notice "note" %}} -For `string` predicates, `expand` only returns values not tagged with a language -(see [language preference]({{< relref "#language-support" >}})). So it's often -required to add `name@fr` or `name@.` as well to an expand query. -{{% /notice %}} - -### Filtering during expand. - -Expand queries support filters on the type of the outgoing edge. For example, -`expand(_all_) @filter(type(Person))` will expand on all the predicates but will -only include edges whose destination node is of type Person. Since only nodes of -type `uid` can have a type, this query will filter out any scalar values. - -Please note that other type of filters and directives are not currently supported -with the expand function. The filter needs to use the `type` function for the -filter to be allowed. Logical `AND` and `OR` operations are allowed. For -example, `expand(_all_) @filter(type(Person) OR type(Animal))` will only expand -the edges that point to nodes of either type. - -## Cascade Directive - -With the `@cascade` directive, nodes that don't have all predicates specified in the query are removed. This can be useful in cases where some filter was applied or if nodes might not have all listed predicates. - - -Query Example: Harry Potter movies, with each actor and characters played. With `@cascade`, any character not played by an actor called Warwick is removed, as is any Harry Potter movie without any actors called Warwick. Without `@cascade`, every character is returned, but only those played by actors called Warwick also have the actor name. -{{< runnable >}} -{ - HP(func: allofterms(name@en, "Harry Potter")) @cascade { - name@en - starring{ - performance.character { - name@en - } - performance.actor @filter(allofterms(name@en, "Warwick")){ - name@en - } - } - } -} -{{< /runnable >}} - -You can apply `@cascade` on inner query blocks as well. -{{< runnable >}} -{ - HP(func: allofterms(name@en, "Harry Potter")) { - name@en - genre { - name@en - } - starring @cascade { - performance.character { - name@en - } - performance.actor @filter(allofterms(name@en, "Warwick")){ - name@en - } - } - } -} -{{< /runnable >}} - -## Normalize directive - -With the `@normalize` directive, only aliased predicates are returned and the result is flattened to remove nesting. - -Query Example: Film name, country and first two actors (by UID order) of every Steven Spielberg movie, without `initial_release_date` because no alias is given and flattened by `@normalize` -{{< runnable >}} -{ - director(func:allofterms(name@en, "steven spielberg")) @normalize { - director: name@en - director.film { - film: name@en - initial_release_date - starring(first: 2) { - performance.actor { - actor: name@en - } - performance.character { - character: name@en - } - } - country { - country: name@en - } - } - } -} -{{< /runnable >}} - -You can also apply `@normalize` on nested query blocks. It will work similarly but only flatten the result of the nested query block where `@normalize` has been applied. `@normalize` will return a list irrespective of the type of attribute on which it is applied. -{{< runnable >}} -{ - director(func:allofterms(name@en, "steven spielberg")) { - director: name@en - director.film { - film: name@en - initial_release_date - starring(first: 2) @normalize { - performance.actor { - actor: name@en - } - performance.character { - character: name@en - } - } - country { - country: name@en - } - } - } -} -{{< /runnable >}} - - -## IgnoreReflex directive - -The `@ignorereflex` directive forces the removal of child nodes that are reachable from themselves as a parent, through any path in the query result - -Query Example: All the co-actors of Rutger Hauer. Without `@ignorereflex`, the result would also include Rutger Hauer for every movie. - -{{< runnable >}} -{ - coactors(func: eq(name@en, "Rutger Hauer")) @ignorereflex { - actor.film { - performance.film { - starring { - performance.actor { - name@en - } - } - } - } - } -} -{{< /runnable >}} - -## Debug - -For the purposes of debugging, you can attach a query parameter `debug=true` to a query. Attaching this parameter lets you retrieve the `uid` attribute for all the entities along with the `server_latency` and `start_ts` information under the `extensions` key of the response. - -- `parsing_ns`: Latency in nanoseconds to parse the query. -- `processing_ns`: Latency in nanoseconds to process the query. -- `encoding_ns`: Latency in nanoseconds to encode the JSON response. -- `start_ts`: The logical start timestamp of the transaction. - -Query with debug as a query parameter -```sh -curl -H "Content-Type: application/graphql+-" http://localhost:8080/query?debug=true -XPOST -d $'{ - tbl(func: allofterms(name@en, "The Big Lebowski")) { - name@en - } -}' | python -m json.tool | less -``` - -Returns `uid` and `server_latency` -``` -{ - "data": { - "tbl": [ - { - "uid": "0x41434", - "name@en": "The Big Lebowski" - }, - { - "uid": "0x145834", - "name@en": "The Big Lebowski 2" - }, - { - "uid": "0x2c8a40", - "name@en": "Jeffrey \"The Big\" Lebowski" - }, - { - "uid": "0x3454c4", - "name@en": "The Big Lebowski" - } - ], - "extensions": { - "server_latency": { - "parsing_ns": 18559, - "processing_ns": 802990982, - "encoding_ns": 1177565 - }, - "txn": { - "start_ts": 40010 - } - } - } -} -``` - - -## Schema - -For each predicate, the schema specifies the target's type. If a predicate `p` has type `T`, then for all subject-predicate-object triples `s p o` the object `o` is of schema type `T`. - -* On mutations, scalar types are checked and an error thrown if the value cannot be converted to the schema type. - -* On query, value results are returned according to the schema type of the predicate. - -If a schema type isn't specified before a mutation adds triples for a predicate, then the type is inferred from the first mutation. This type is either: - -* type `uid`, if the first mutation for the predicate has nodes for the subject and object, or - -* derived from the [RDF type]({{< relref "#rdf-types" >}}), if the object is a literal and an RDF type is present in the first mutation, or - -* `default` type, otherwise. - - -### Schema Types - -Dgraph supports scalar types and the UID type. - -#### Scalar Types - -For all triples with a predicate of scalar types the object is a literal. - -| Dgraph Type | Go type | -| ------------|:--------| -| `default` | string | -| `int` | int64 | -| `float` | float | -| `string` | string | -| `bool` | bool | -| `dateTime` | time.Time (RFC3339 format [Optional timezone] eg: 2006-01-02T15:04:05.999999999+10:00 or 2006-01-02T15:04:05.999999999) | -| `geo` | [go-geom](https://github.com/twpayne/go-geom) | -| `password` | string (encrypted) | - - -{{% notice "note" %}}Dgraph supports date and time formats for `dateTime` scalar type only if they -are RFC 3339 compatible which is different from ISO 8601(as defined in the RDF spec). You should -convert your values to RFC 3339 format before sending them to Dgraph.{{% /notice %}} - -#### UID Type - -The `uid` type denotes a node-node edge; internally each node is represented as a `uint64` id. - -| Dgraph Type | Go type | -| ------------|:--------| -| `uid` | uint64 | - - -### Adding or Modifying Schema - -Schema mutations add or modify schema. - -Multiple scalar values can also be added for a `S P` by specifying the schema to be of -list type. Occupations in the example below can store a list of strings for each `S P`. - -An index is specified with `@index`, with arguments to specify the tokenizer. When specifying an -index for a predicate it is mandatory to specify the type of the index. For example: - -``` -name: string @index(exact, fulltext) @count . -multiname: string @lang . -age: int @index(int) . -friend: [uid] @count . -dob: dateTime . -location: geo @index(geo) . -occupations: [string] @index(term) . -``` - -If no data has been stored for the predicates, a schema mutation sets up an empty schema ready to receive triples. - -If data is already stored before the mutation, existing values are not checked to conform to the new schema. On query, Dgraph tries to convert existing values to the new schema types, ignoring any that fail conversion. - -If data exists and new indices are specified in a schema mutation, any index not in the updated list is dropped and a new index is created for every new tokenizer specified. - -Reverse edges are also computed if specified by a schema mutation. - - -### Indexes in Background - -Indexes may take long time to compute depending upon the size of the data. -Starting Dgraph version `20.03.0`, indexes can be computed in the background, -and thus indexing may still be running after an Alter operation returns. -This requires that you wait for indexing to complete before running queries -that require newly created indices. Such queries will fail with an error -notifying that a given predicate is not indexed or doesn't have reverse edges. - -An alter operation will also fail if one is already in progress with an error -`schema is already being modified. Please retry`. Though, mutations can -be successfully executed while indexing is going on. - -For example, let's say we execute an Alter operation with the following schema: - -``` -name: string @index(fulltext, term) . -age: int @index(int) @upsert . -friend: [uid] @count @reverse . -``` - -Once the Alter operation returns, Dgraph will report the following schema -and start background tasks to compute all the new indexes: - -``` -name: string . -age: int @upsert . -friend: [uid] . -``` - -When indexes are done computing, Dgraph will start reporting the indexes in the -schema. In a multi-node cluster, it is possible that the alphas will finish -computing indexes at different times. Alphas may return different schema in such -a case until all the indexes are done computing on all the Alphas. - -Background indexing task may fail if an unexpected error occurs while computing -the indexes. You should retry the Alter operation in order to update the schema, -or sync the schema across all the alphas. - -We also plan to add a simpler API soon to check the status of background indexing. -See this [PR](https://github.com/dgraph-io/dgraph/pull/4961) for more details. - -#### HTTP API - -You can specify the flag `runInBackground` to `true` to run -index computation in the background. - -```sh -curl localhost:8080/alter?runInBackground=true -XPOST -d $' - name: string @index(fulltext, term) . - age: int @index(int) @upsert . - friend: [uid] @count @reverse . -' | python -m json.tool | less -``` - -#### Grpc API - -You can set `RunInBackground` field to `true` of the `api.Operation` -struct before passing it to the `Alter` function. - -```go -op := &api.Operation{} -op.Schema = ` - name: string @index(fulltext, term) . - age: int @index(int) @upsert . - friend: [uid] @count @reverse . -` -op.RunInBackground = true -err = dg.Alter(context.Background(), op) -``` - - -### Predicate name rules - -Any alphanumeric combination of a predicate name is permitted. -Dgraph also supports [Internationalized Resource Identifiers](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier) (IRIs). -You can read more in [Predicates i18n](#predicates-i18n). - -#### Allowed special characters - -Single special characters are not accepted, which includes the special characters from IRIs. -They have to be prefixed/suffixed with alphanumeric characters. - -``` -][&*()_-+=!#$% -``` - -*Note: You are not restricted to use @ suffix, but the suffix character gets ignored.* - -#### Forbidden special characters - -The special characters below are not accepted. - -``` -^}|{`\~ -``` - - -### Predicates i18n - -If your predicate is a URI or has language-specific characters, then enclose -it with angle brackets `<>` when executing the schema mutation. - -{{% notice "note" %}}Dgraph supports [Internationalized Resource Identifiers](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier) (IRIs) for predicate names and values.{{% /notice %}} - -Schema syntax: -``` -<职业>: string @index(exact) . -<年龄>: int @index(int) . -<地点>: geo @index(geo) . -<公司>: string . -``` - -This syntax allows for internationalized predicate names, but full-text indexing still defaults to English. -To use the right tokenizer for your language, you need to use the `@lang` directive and enter values using your -language tag. - -Schema: -``` -<公司>: string @index(fulltext) @lang . -``` -Mutation: -``` -{ - set { - _:a <公司> "Dgraph Labs Inc"@en . - _:b <公司> "夏新科技有限责任公司"@zh . - _:a "Company" . - } -} -``` -Query: -``` -{ - q(func: alloftext(<公司>@zh, "夏新科技有限责任公司")) { - uid - <公司>@. - } -} -``` - - -### Upsert directive - -To use [upsert operations]({{< relref "howto/index.md#upserts">}}) on a -predicate, specify the `@upsert` directive in the schema. When committing -transactions involving predicates with the `@upsert` directive, Dgraph checks -index keys for conflicts, helping to enforce uniqueness constraints when running -concurrent upserts. - -This is how you specify the upsert directive for a predicate. -``` -email: string @index(exact) @upsert . -``` - -### Noconflict directive - -The NoConflict directive prevents conflict detection at the predicate level. This is an experimental feature and not a -recommended directive but exists to help avoid conflicts for predicates that don't have high -correctness requirements. This can cause data loss, especially when used for predicates with count -index. - -This is how you specify the `@noconflict` directive for a predicate. -``` -email: string @index(exact) @noconflict . -``` - -### RDF Types - -Dgraph supports a number of [RDF types in mutations]({{< relref "mutations/index.md#language-and-rdf-types" >}}). - -As well as implying a schema type for a [first mutation]({{< relref "#schema" >}}), an RDF type can override a schema type for storage. - -If a predicate has a schema type and a mutation has an RDF type with a different underlying Dgraph type, the convertibility to schema type is checked, and an error is thrown if they are incompatible, but the value is stored in the RDF type's corresponding Dgraph type. Query results are always returned in schema type. - -For example, if no schema is set for the `age` predicate. Given the mutation -``` -{ - set { - _:a "15"^^ . - _:b "13" . - _:c "14"^^ . - _:d "14.5"^^ . - _:e "14.5" . - } -} -``` -Dgraph: - -* sets the schema type to `int`, as implied by the first triple, -* converts `"13"` to `int` on storage, -* checks `"14"` can be converted to `int`, but stores as `string`, -* throws an error for the remaining two triples, because `"14.5"` can't be converted to `int`. - -### Extended Types - -The following types are also accepted. - -#### Password type - -A password for an entity is set with setting the schema for the attribute to be of type `password`. Passwords cannot be queried directly, only checked for a match using the `checkpwd` function. -The passwords are encrypted using [bcrypt](https://en.wikipedia.org/wiki/Bcrypt). - -For example: to set a password, first set schema, then the password: -``` -pass: password . -``` - -``` -{ - set { - <0x123> "Password Example" . - <0x123> "ThePassword" . - } -} -``` - -to check a password: -``` -{ - check(func: uid(0x123)) { - name - checkpwd(pass, "ThePassword") - } -} -``` - -output: -``` -{ - "data": { - "check": [ - { - "name": "Password Example", - "checkpwd(pass)": true - } - ] - } -} -``` - -You can also use alias with password type. - -``` -{ - check(func: uid(0x123)) { - name - secret: checkpwd(pass, "ThePassword") - } -} -``` - -output: -``` -{ - "data": { - "check": [ - { - "name": "Password Example", - "secret": true - } - ] - } -} -``` - -### Indexing - -{{% notice "note" %}}Filtering on a predicate by applying a [function]({{< relref "#functions" >}}) requires an index.{{% /notice %}} - -When filtering by applying a function, Dgraph uses the index to make the search through a potentially large dataset efficient. - -All scalar types can be indexed. - -Types `int`, `float`, `bool` and `geo` have only a default index each: with tokenizers named `int`, `float`, `bool` and `geo`. - -Types `string` and `dateTime` have a number of indices. - -#### String Indices -The indices available for strings are as follows. - -| Dgraph function | Required index / tokenizer | Notes | -| :----------------------- | :------------ | :--- | -| `eq` | `hash`, `exact`, `term`, or `fulltext` | The most performant index for `eq` is `hash`. Only use `term` or `fulltext` if you also require term or full-text search. If you're already using `term`, there is no need to use `hash` or `exact` as well. | -| `le`, `ge`, `lt`, `gt` | `exact` | Allows faster sorting. | -| `allofterms`, `anyofterms` | `term` | Allows searching by a term in a sentence. | -| `alloftext`, `anyoftext` | `fulltext` | Matching with language specific stemming and stopwords. | -| `regexp` | `trigram` | Regular expression matching. Can also be used for equality checking. | - -{{% notice "warning" %}} -Incorrect index choice can impose performance penalties and an increased -transaction conflict rate. Use only the minimum number of and simplest indexes -that your application needs. -{{% /notice %}} - - -#### DateTime Indices - -The indices available for `dateTime` are as follows. - -| Index name / Tokenizer | Part of date indexed | -| :----------- | :------------------------------------------------------------------ | -| `year` | index on year (default) | -| `month` | index on year and month | -| `day` | index on year, month and day | -| `hour` | index on year, month, day and hour | - -The choices of `dateTime` index allow selecting the precision of the index. Applications, such as the movies examples in these docs, that require searching over dates but have relatively few nodes per year may prefer the `year` tokenizer; applications that are dependent on fine grained date searches, such as real-time sensor readings, may prefer the `hour` index. - - -All the `dateTime` indices are sortable. - - -#### Sortable Indices - -Not all the indices establish a total order among the values that they index. Sortable indices allow inequality functions and sorting. - -* Indexes `int` and `float` are sortable. -* `string` index `exact` is sortable. -* All `dateTime` indices are sortable. - -For example, given an edge `name` of `string` type, to sort by `name` or perform inequality filtering on names, the `exact` index must have been specified. In which case a schema query would return at least the following tokenizers. - -``` -{ - "predicate": "name", - "type": "string", - "index": true, - "tokenizer": [ - "exact" - ] -} -``` - -#### Count index - -For predicates with the `@count` Dgraph indexes the number of edges out of each node. This enables fast queries of the form: -``` -{ - q(func: gt(count(pred), threshold)) { - ... - } -} -``` - -### List Type - -Predicate with scalar types can also store a list of values if specified in the schema. The scalar -type needs to be enclosed within `[]` to indicate that its a list type. These lists are like an -unordered set. - -``` -occupations: [string] . -score: [int] . -``` - -* A set operation adds to the list of values. The order of the stored values is non-deterministic. -* A delete operation deletes the value from the list. -* Querying for these predicates would return the list in an array. -* Indexes can be applied on predicates which have a list type and you can use [Functions]({{}}) on them. -* Sorting is not allowed using these predicates. - -### Filtering on list - -Dgraph supports filtering based on the list. -Filtering works similarly to how it works on edges and has the same available functions. - -For example, `@filter(eq(occupations, "Teacher"))` at the root of the query or the -parent edge will display all the occupations from a list of each node in an array but -will only include nodes which have `Teacher` as one of the occupations. However, filtering -on value edge is not supported. - -### Reverse Edges - -A graph edge is unidirectional. For node-node edges, sometimes modeling requires reverse edges. If only some subject-predicate-object triples have a reverse, these must be manually added. But if a predicate always has a reverse, Dgraph computes the reverse edges if `@reverse` is specified in the schema. - -The reverse edge of `anEdge` is `~anEdge`. - -For existing data, Dgraph computes all reverse edges. For data added after the schema mutation, Dgraph computes and stores the reverse edge for each added triple. - -### Querying Schema - -A schema query queries for the whole schema: - -``` -schema {} -``` - -{{% notice "note" %}} Unlike regular queries, the schema query is not surrounded -by curly braces. Also, schema queries and regular queries cannot be combined. -{{% /notice %}} - -{{% notice "note" %}} If ACL is enabled, then the schema query returns only the predicates for - which the logged-in ACL user has read access. -{{% /notice %}} - -You can query for particular schema fields in the query body. - -``` -schema { - type - index - reverse - tokenizer - list - count - upsert - lang -} -``` - -You can also query for particular predicates: - -``` -schema(pred: [name, friend]) { - type - index - reverse - tokenizer - list - count - upsert - lang -} -``` - -Types can also be queried. Below are some example queries. - -``` -schema(type: Movie) {} -schema(type: [Person, Animal]) {} -``` - -Note that type queries do not contain anything between the curly braces. The -output will be the entire definition of the requested types. - -## Type System - -Dgraph supports a type system that can be used to categorize nodes and query -them based on their type. The type system is also used during expand queries. - -### Type definition - -Types are defined using a GraphQL-like syntax. For example: - -``` -type Student { - name - dob - home_address - year - friends -} -``` - -Types are declared along with the schema using the Alter endpoint. In order to -properly support the above type, a predicate for each of the attributes -in the type is also needed, such as: - -``` -name: string @index(term) . -dob: datetime . -home_address: string . -year: int . -friends: [uid] . -``` - -Reverse predicates can also be included inside a type definition. For example, the type above -could be expanded to include the parent of the student if there's a predicate `children` with -a reverse edge (the brackets around the predicate name are needed to properly understand the -special character `~`). - -``` -children: [uid] @reverse . - -type Student { - name - dob - home_address - year - friends - <~children> -} -``` - -Edges can be used in multiple types: for example, `name` might be used for both -a person and a pet. Sometimes, however, it's required to use a different -predicate for each type to represent a similar concept. For example, if student -names and book names required different indexes, then the predicates must be -different. - -``` -type Student { - student_name -} - -type Textbook { - textbook_name -} - -student_name: string @index(exact) . -textbook_name: string @lang @index(fulltext) . -``` - -Altering the schema for a type that already exists, overwrites the existing -definition. - -### Setting the type of a node - -Scalar nodes cannot have types since they only have one attribute and its type -is the type of the node. UID nodes can have a type. The type is set by setting -the value of the `dgraph.type` predicate for that node. A node can have multiple -types. Here's an example of how to set the types of a node: - -``` -{ - set { - _:a "Garfield" . - _:a "Pet" . - _:a "Animal" . - } -} -``` - -`dgraph.type` is a reserved predicate and cannot be removed or modified. - -### Using types during queries - -Types can be used as a top level function in the query language. For example: - -``` -{ - q(func: type(Animal)) { - uid - name - } -} -``` - -This query will only return nodes whose type is set to `Animal`. - -Types can also be used to filter results inside a query. For example: - -``` -{ - q(func: has(parent)) { - uid - parent @filter(type(Person)) { - uid - name - } - } -} -``` - -This query will return the nodes that have a parent predicate and only the -`parent`'s of type `Person`. - -### Deleting a type - -Type definitions can be deleted using the Alter endpoint. All that is needed is -to send an operation object with the field `DropOp` (or `drop_op` depending on -the client) to the enum value `TYPE` and the field 'DropValue' (or `drop_value`) -to the type that is meant to be deleted. - -Below is an example deleting the type `Person` using the Go client: -```go -err := c.Alter(context.Background(), &api.Operation{ - DropOp: api.Operation_TYPE, - DropValue: "Person"}) -``` - -### Expand queries and types - -Queries using [expand]({{< relref "#expand-predicates" >}}) (i.e.: -`expand(_all_)`) require that the nodes to be expanded have types. - -## Facets : Edge attributes - -Dgraph supports facets --- **key value pairs on edges** --- as an extension to RDF triples. That is, facets add properties to edges, rather than to nodes. -For example, a `friend` edge between two nodes may have a boolean property of `close` friendship. -Facets can also be used as `weights` for edges. - -Though you may find yourself leaning towards facets many times, they should not be misused. It wouldn't be correct modeling to give the `friend` edge a facet `date_of_birth`. That should be an edge for the friend. However, a facet like `start_of_friendship` might be appropriate. Facets are however not first class citizen in Dgraph like predicates. - -Facet keys are strings and values can be `string`, `bool`, `int`, `float` and `dateTime`. -For `int` and `float`, only 32-bit signed integers and 64-bit floats are accepted. - -The following mutation is used throughout this section on facets. The mutation adds data for some peoples and, for example, records a `since` facet in `mobile` and `car` to record when Alice bought the car and started using the mobile number. - -First we add some schema. -```sh -curl localhost:8080/alter -XPOST -d $' - name: string @index(exact, term) . - rated: [uid] @reverse @count . -' | python -m json.tool | less -``` - -```sh -curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -XPOST -d $' -{ - set { - - # -- Facets on scalar predicates - _:alice "Alice" . - _:alice "Person" . - _:alice "040123456" (since=2006-01-02T15:04:05) . - _:alice "MA0123" (since=2006-02-02T13:01:09, first=true) . - - _:bob "Bob" . - _:bob "Person" . - _:bob "MA0134" (since=2006-02-02T13:01:09) . - - _:charlie "Charlie" . - _:charlie "Person" . - _:dave "Dave" . - _:dave "Person" . - - - # -- Facets on UID predicates - _:alice _:bob (close=true, relative=false) . - _:alice _:charlie (close=false, relative=true) . - _:alice _:dave (close=true, relative=true) . - - - # -- Facets for variable propagation - _:movie1 "Movie 1" . - _:movie1 "Movie" . - _:movie2 "Movie 2" . - _:movie2 "Movie" . - _:movie3 "Movie 3" . - _:movie3 "Movie" . - - _:alice _:movie1 (rating=3) . - _:alice _:movie2 (rating=2) . - _:alice _:movie3 (rating=5) . - - _:bob _:movie1 (rating=5) . - _:bob _:movie2 (rating=5) . - _:bob _:movie3 (rating=5) . - - _:charlie _:movie1 (rating=2) . - _:charlie _:movie2 (rating=5) . - _:charlie _:movie3 (rating=1) . - } -}' | python -m json.tool | less -``` - -### Facets on scalar predicates - - -Querying `name`, `mobile` and `car` of Alice gives the same result as without facets. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - mobile - car - } -} -{{}} - - -The syntax `@facets(facet-name)` is used to query facet data. For Alice the `since` facet for `mobile` and `car` are queried as follows. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - mobile @facets(since) - car @facets(since) - } -} -{{}} - - -Facets are returned at the same level as the corresponding edge and have keys like edge|facet. - -All facets on an edge are queried with `@facets`. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - mobile @facets - car @facets - } -} -{{}} - -### Facets i18n - -Facets keys and values can use language-specific characters directly when mutating. But facet keys need to be enclosed in angle brackets `<>` when querying. This is similar to predicates. See [Predicates i18n](#predicates-i18n) for more info. - -{{% notice "note" %}}Dgraph supports [Internationalized Resource Identifiers](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier) (IRIs) for facet keys when querying.{{% /notice %}} - -Example: -``` -{ - set { - _:person1 "Daniel" (वंश="स्पेनी", ancestry="Español") . - _:person1 "Person" . - _:person2 "Raj" (वंश="हिंदी", ancestry="हिंदी") . - _:person2 "Person" . - _:person3 "Zhang Wei" (वंश="चीनी", ancestry="中文") . - _:person3 "Person" . - } -} -``` -Query, notice the `<>`'s: -``` -{ - q(func: has(name)) { - name @facets(<वंश>) - } -} -``` - -### Alias with facets - -Alias can be specified while requesting specific predicates. Syntax is similar to how would request -alias for other predicates. `orderasc` and `orderdesc` are not allowed as alias as they have special -meaning. Apart from that anything else can be set as alias. - -Here we set `car_since`, `close_friend` alias for `since`, `close` facets respectively. -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - mobile - car @facets(car_since: since) - friend @facets(close_friend: close) { - name - } - } -} -{{}} - - - -### Facets on UID predicates - -Facets on UID edges work similarly to facets on value edges. - -For example, `friend` is an edge with facet `close`. -It was set to true for friendship between Alice and Bob -and false for friendship between Alice and Charlie. - -A query for friends of Alice. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - friend { - name - } - } -} -{{}} - -A query for friends and the facet `close` with `@facets(close)`. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - friend @facets(close) { - name - } - } -} -{{}} - - -For uid edges like `friend`, facets go to the corresponding child under the key edge|facet. In the above -example you can see that the `close` facet on the edge between Alice and Bob appears with the key `friend|close` -along with Bob's results. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - friend @facets { - name - car @facets - } - } -} -{{}} - -Bob has a `car` and it has a facet `since`, which, in the results, is part of the same object as Bob -under the key car|since. -Also, the `close` relationship between Bob and Alice is part of Bob's output object. -Charlie does not have `car` edge and thus only UID facets. - -### Filtering on facets - -Dgraph supports filtering edges based on facets. -Filtering works similarly to how it works on edges without facets and has the same available functions. - - -Find Alice's close friends -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - friend @facets(eq(close, true)) { - name - } - } -} -{{}} - - -To return facets as well as filter, add another `@facets()` to the query. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - friend @facets(eq(close, true)) @facets(relative) { # filter close friends and give relative status - name - } - } -} -{{}} - - -Facet queries can be composed with `AND`, `OR` and `NOT`. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - friend @facets(eq(close, true) AND eq(relative, true)) @facets(relative) { # filter close friends in my relation - name - } - } -} -{{}} - - -### Sorting using facets - -Sorting is possible for a facet on a uid edge. Here we sort the movies rated by Alice, Bob and -Charlie by their `rating` which is a facet. - -{{< runnable >}} -{ - me(func: anyofterms(name, "Alice Bob Charlie")) { - name - rated @facets(orderdesc: rating) { - name - } - } -} -{{}} - - - -### Assigning Facet values to a variable - -Facets on UID edges can be stored in [value variables]({{< relref "#value-variables" >}}). The variable is a map from the edge target to the facet value. - -Alice's friends reported by variables for `close` and `relative`. -{{< runnable >}} -{ - var(func: eq(name, "Alice")) { - friend @facets(a as close, b as relative) - } - - friend(func: uid(a)) { - name - val(a) - } - - relative(func: uid(b)) { - name - val(b) - } -} -{{}} - - -### Facets and Variable Propagation - -Facet values of `int` and `float` can be assigned to variables and thus the [values propagate]({{< relref "#variable-propagation" >}}). - - -Alice, Bob and Charlie each rated every movie. A value variable on facet `rating` maps movies to ratings. A query that reaches a movie through multiple paths sums the ratings on each path. The following sums Alice, Bob and Charlie's ratings for the three movies. - -{{}} -{ - var(func: anyofterms(name, "Alice Bob Charlie")) { - num_raters as math(1) - rated @facets(r as rating) { - total_rating as math(r) # sum of the 3 ratings - average_rating as math(total_rating / num_raters) - } - } - data(func: uid(total_rating)) { - name - val(total_rating) - val(average_rating) - } - -} -{{}} - - - -### Facets and Aggregation - -Facet values assigned to value variables can be aggregated. - -{{< runnable >}} -{ - data(func: eq(name, "Alice")) { - name - rated @facets(r as rating) { - name - } - avg(val(r)) - } -} -{{}} - - -Note though that `r` is a map from movies to the sum of ratings on edges in the query reaching the movie. Hence, the following does not correctly calculate the average ratings for Alice and Bob individually --- it calculates 2 times the average of both Alice and Bob's ratings. - -{{< runnable >}} - -{ - data(func: anyofterms(name, "Alice Bob")) { - name - rated @facets(r as rating) { - name - } - avg(val(r)) - } -} -{{}} - -Calculating the average ratings of users requires a variable that maps users to the sum of their ratings. - -{{< runnable >}} - -{ - var(func: has(rated)) { - num_rated as math(1) - rated @facets(r as rating) { - avg_rating as math(r / num_rated) - } - } - - data(func: uid(avg_rating)) { - name - val(avg_rating) - } -} -{{}} - -## Shortest Path Queries - -The shortest path between a source (`from`) node and destination (`to`) node can be found using the keyword `shortest` for the query block name. It requires the source node UID, destination node UID and the predicates (at least one) that have to be considered for traversal. A `shortest` query block returns the shortest path under `_path_` in the query response. The path can also be stored in a variable which is used in other query blocks. - -**K-Shortest Path queries:** By default the shortest path is returned. With `numpaths: k`, and `k > 1`, the k-shortest paths are returned. Cyclical paths are pruned out from the result of k-shortest path query. With `depth: n`, the paths up to `n` depth away are returned. - -{{% notice "note" %}} -- If no predicates are specified in the `shortest` block, no path can be fetched as no edge is traversed. -- If you're seeing queries take a long time, you can set a [gRPC deadline](https://grpc.io/blog/deadlines) to stop the query after a certain amount of time. -{{% /notice %}} - -For example: - -```sh -curl localhost:8080/alter -XPOST -d $' - name: string @index(exact) . -' | python -m json.tool | less -``` - -```sh -curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -XPOST -d $' -{ - set { - _:a _:b (weight=0.1) . - _:b _:c (weight=0.2) . - _:c _:d (weight=0.3) . - _:a _:d (weight=1) . - _:a "Alice" . - _:a "Person" . - _:b "Bob" . - _:b "Person" . - _:c "Tom" . - _:c "Person" . - _:d "Mallory" . - _:d "Person" . - } -}' | python -m json.tool | less -``` - -The shortest path between Alice and Mallory (assuming UIDs 0x2 and 0x5 respectively) can be found with query: - -```sh -curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ - path as shortest(from: 0x2, to: 0x5) { - friend - } - path(func: uid(path)) { - name - } -}' | python -m json.tool | less -``` - -Which returns the following results. (Note, without considering the `weight` facet, each edges' weight is considered as 1) - -``` -{ - "data": { - "path": [ - { - "name": "Alice" - }, - { - "name": "Mallory" - } - ], - "_path_": [ - { - "uid": "0x2", - "friend": [ - { - "uid": "0x5" - } - ] - } - ] - } -} -``` - -We can return more paths by specifying `numpaths`. Setting `numpaths: 2` returns the shortest two paths: - -```sh -curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ - - A as var(func: eq(name, "Alice")) - M as var(func: eq(name, "Mallory")) - - path as shortest(from: uid(A), to: uid(M), numpaths: 2) { - friend - } - path(func: uid(path)) { - name - } -}' | python -m json.tool | less -``` - -{{% notice "note" %}}In the query above, instead of using UID literals, we query both people using var blocks and the `uid()` function. You can also combine it with [GraphQL Variables]({{< relref "#graphql-variables" >}}).{{% /notice %}} - -Edges weights are included by using facets on the edges as follows. - -{{% notice "note" %}}Only one facet per predicate is allowed in the shortest query block.{{% /notice %}} - -```sh -curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ - path as shortest(from: 0x2, to: 0x5) { - friend @facets(weight) - } - - path(func: uid(path)) { - name - } -}' | python -m json.tool | less -``` - -``` -{ - "data": { - "path": [ - { - "name": "Alice" - }, - { - "name": "Bob" - }, - { - "name": "Tom" - }, - { - "name": "Mallory" - } - ], - "_path_": [ - { - "uid": "0x2", - "friend": [ - { - "uid": "0x3", - "friend|weight": 0.1, - "friend": [ - { - "uid": "0x4", - "friend|weight": 0.2, - "friend": [ - { - "uid": "0x5", - "friend|weight": 0.3 - } - ] - } - ] - } - ] - } - ] - } -} -``` - -Constraints can be applied to the intermediate nodes as follows. - -```sh -curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ - path as shortest(from: 0x2, to: 0x5) { - friend @filter(not eq(name, "Bob")) @facets(weight) - relative @facets(liking) - } - - relationship(func: uid(path)) { - name - } -}' | python -m json.tool | less -``` - -The k-shortest path algorithm (used when `numpaths` > 1) also accepts the arguments `minweight` and `maxweight`, which take a float as their value. When they are passed, only paths within the weight range `[minweight, maxweight]` will be considered as valid paths. This can be used, for example, to query the shortest paths that traverse between 2 and 4 nodes. - -```sh -curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ - path as shortest(from: 0x2, to: 0x5, numpaths: 2, minweight: 2, maxweight: 4) { - friend - } - path(func: uid(path)) { - name - } -}' | python -m json.tool | less -``` - -Some points to keep in mind for shortest path queries: - -- Weights must be non-negative. Dijkstra's algorithm is used to calculate the shortest paths. -- Only one facet per predicate in the shortest query block is allowed. -- Only one `shortest` path block is allowed per query. Only one `_path_` is returned in the result. For queries with `numpaths` > 1, `_path_` contains all the paths. -- Cyclical paths are not included in the result of k-shortest path query. -- For k-shortest paths (when `numpaths` > 1), the result of the shortest path query variable will only return a single path which will be the shortest path among the k paths. All k paths are returned in `_path_`. - -## Recurse Query - -`Recurse` queries let you traverse a set of predicates (with filter, facets, etc.) until we reach all leaf nodes or we reach the maximum depth which is specified by the `depth` parameter. - -To get 10 movies from a genre that has more than 30000 films and then get two actors for those movies we'd do something as follows: -{{< runnable >}} -{ - me(func: gt(count(~genre), 30000), first: 1) @recurse(depth: 5, loop: true) { - name@en - ~genre (first:10) @filter(gt(count(starring), 2)) - starring (first: 2) - performance.actor - } -} -{{< /runnable >}} -Some points to keep in mind while using recurse queries are: - -- You can specify only one level of predicates after root. These would be traversed recursively. Both scalar and entity-nodes are treated similarly. -- Only one recurse block is advised per query. -- Be careful as the result size could explode quickly and an error would be returned if the result set gets too large. In such cases use more filters, limit results using pagination, or provide a depth parameter at root as shown in the example above. -- The `loop` parameter can be set to false, in which case paths which lead to a loop would be ignored - while traversing. -- If not specified, the value of the `loop` parameter defaults to false. -- If the value of the `loop` parameter is false and depth is not specified, `depth` will default to `math.MaxUint64`, which means that the entire graph might be traversed until all the leaf nodes are reached. - - -## Fragments - -`fragment` keyword allows you to define new fragments that can be referenced in a query, as per [GraphQL specification](https://facebook.github.io/graphql/#sec-Language.Fragments). The point is that if there are multiple parts which query the same set of fields, you can define a fragment and refer to it multiple times instead. Fragments can be nested inside fragments, but no cycles are allowed. Here is one contrived example. - -```sh -curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $' -query { - debug(func: uid(1)) { - name@en - ...TestFrag - } -} -fragment TestFrag { - initial_release_date - ...TestFragB -} -fragment TestFragB { - country -}' | python -m json.tool | less -``` - -## GraphQL Variables - -`Variables` can be defined and used in queries which helps in query reuse and avoids costly string building in clients at runtime by passing a separate variable map. A variable starts with a `$` symbol. -For **HTTP requests** with GraphQL Variables, we must use `Content-Type: application/json` header and pass data with a JSON object containing `query` and `variables`. - -```sh -curl -H "Content-Type: application/json" localhost:8080/query -XPOST -d $'{ - "query": "query test($a: string) { test(func: eq(name, $a)) { \n uid \n name \n } }", - "variables": { "$a": "Alice" } -}' | python -m json.tool | less -``` - -{{< runnable vars="{\"$a\": \"5\", \"$b\": \"10\", \"$name\": \"Steven Spielberg\"}" >}} -query test($a: int, $b: int, $name: string) { - me(func: allofterms(name@en, $name)) { - name@en - director.film (first: $a, offset: $b) { - name @en - genre(first: $a) { - name@en - } - } - } -} -{{< /runnable >}} - -* Variables can have default values. In the example below, `$a` has a default value of `2`. Since the value for `$a` isn't provided in the variable map, `$a` takes on the default value. -* Variables whose type is suffixed with a `!` can't have a default value but must have a value as part of the variables map. -* The value of the variable must be parsable to the given type, if not, an error is thrown. -* The variable types that are supported as of now are: `int`, `float`, `bool` and `string`. -* Any variable that is being used must be declared in the named query clause in the beginning. - -{{< runnable vars="{\"$b\": \"10\", \"$name\": \"Steven Spielberg\"}" >}} -query test($a: int = 2, $b: int!, $name: string) { - me(func: allofterms(name@en, $name)) { - director.film (first: $a, offset: $b) { - genre(first: $a) { - name@en - } - } - } -} -{{< /runnable >}} - -You can also use array with GraphQL Variables. - -{{< runnable vars="{\"$b\": \"10\", \"$aName\": \"Steven Spielberg\", \"$bName\": \"Quentin Tarantino\"}" >}} -query test($a: int = 2, $b: int!, $aName: string, $bName: string) { - me(func: eq(name@en, [$aName, $bName])) { - director.film (first: $a, offset: $b) { - genre(first: $a) { - name@en - } - } - } -} -{{< /runnable >}} - -We also support variable substituion in facets now. -{{< runnable vars="{\"$name\": \"Alice\"}" >}} -query test($name: string = "Alice") { - data(func: eq(name, $name)) { - friend @facets(eq(close, true)) { - name - } - } -} -{{}} - -{{% notice "note" %}} -If you want to input a list of uids as a GraphQL variable value, you can have the variable as string type and -have the value surrounded by square brackets like `["13", "14"]`. -{{% /notice %}} - -## Indexing with Custom Tokenizers - -Dgraph comes with a large toolkit of builtin indexes, but sometimes for niche -use cases they're not always enough. - -Dgraph allows you to implement custom tokenizers via a plugin system in order -to fill the gaps. - -### Caveats - -The plugin system uses Go's [`pkg/plugin`](https://golang.org/pkg/plugin/). -This brings some restrictions to how plugins can be used. - -- Plugins must be written in Go. - -- As of Go 1.9, `pkg/plugin` only works on Linux. Therefore, plugins will only - work on Dgraph instances deployed in a Linux environment. - -- The version of Go used to compile the plugin should be the same as the version - of Go used to compile Dgraph itself. Dgraph always uses the latest version of -Go (and so should you!). - -### Implementing a plugin - -{{% notice "note" %}} -You should consider Go's [plugin](https://golang.org/pkg/plugin/) documentation -to be supplementary to the documentation provided here. -{{% /notice %}} - -Plugins are implemented as their own main package. They must export a -particular symbol that allows Dgraph to hook into the custom logic the plugin -provides. - -The plugin must export a symbol named `Tokenizer`. The type of the symbol must -be `func() interface{}`. When the function is called the result returned should -be a value that implements the following interface: - -``` -type PluginTokenizer interface { - // Name is the name of the tokenizer. It should be unique among all - // builtin tokenizers and other custom tokenizers. It identifies the - // tokenizer when an index is set in the schema and when search/filter - // is used in queries. - Name() string - - // Identifier is a byte that uniquely identifiers the tokenizer. - // Bytes in the range 0x80 to 0xff (inclusive) are reserved for - // custom tokenizers. - Identifier() byte - - // Type is a string representing the type of data that is to be - // tokenized. This must match the schema type of the predicate - // being indexed. Allowable values are shown in the table below. - Type() string - - // Tokens should implement the tokenization logic. The input is - // the value to be tokenized, and will always have a concrete type - // corresponding to Type(). The return value should be a list of - // the tokens generated. - Tokens(interface{}) ([]string, error) -} -``` - -The return value of `Type()` corresponds to the concrete input type of -`Tokens(interface{})` in the following way: - - `Type()` return value | `Tokens(interface{})` input type ------------------------|---------------------------------- - `"int"` | `int64` - `"float"` | `float64` - `"string"` | `string` - `"bool"` | `bool` - `"datetime"` | `time.Time` - -### Building the plugin - -The plugin has to be built using the `plugin` build mode so that an `.so` file -is produced instead of a regular executable. For example: - -```sh -go build -buildmode=plugin -o myplugin.so ~/go/src/myplugin/main.go -``` - -### Running Dgraph with plugins - -When starting Dgraph, use the `--custom_tokenizers` flag to tell Dgraph which -tokenizers to load. It accepts a comma separated list of plugins. E.g. - -```sh -dgraph ...other-args... --custom_tokenizers=plugin1.so,plugin2.so -``` - -{{% notice "note" %}} -Plugin validation is performed on startup. If a problem is detected, Dgraph -will refuse to initialise. -{{% /notice %}} - -### Adding the index to the schema - -To use a tokenization plugin, an index has to be created in the schema. - -The syntax is the same as adding any built-in index. To add an custom index -using a tokenizer plugin named `foo` to a `string` predicate named -`my_predicate`, use the following in the schema: - -```sh -my_predicate: string @index(foo) . -``` - -### Using the index in queries - -There are two functions that can use custom indexes: - - Mode | Behaviour ---------|------- - `anyof` | Returns nodes that match on *any* of the tokens generated - `allof` | Returns nodes that match on *all* of the tokens generated - -The functions can be used either at the query root or in filters. - -There behaviour here an analogous to `anyofterms`/`allofterms` and -`anyoftext`/`alloftext`. - -### Examples - -The following examples should make the process of writing a tokenization plugin -more concrete. - -#### Unicode Characters - -This example shows the type of tokenization that is similar to term -tokenization of full-text search. Instead of being broken down into terms or -stem words, the text is instead broken down into its constituent unicode -codepoints (in Go terminology these are called *runes*). - -{{% notice "note" %}} -This tokenizer would create a very large index that would be expensive to -manage and store. That's one of the reasons that text indexing usually occurs -at a higher level; stem words for full-text search or terms for term search. -{{% /notice %}} - -The implementation of the plugin looks like this: - -```go -package main - -import "encoding/binary" - -func Tokenizer() interface{} { return RuneTokenizer{} } - -type RuneTokenizer struct{} - -func (RuneTokenizer) Name() string { return "rune" } -func (RuneTokenizer) Type() string { return "string" } -func (RuneTokenizer) Identifier() byte { return 0xfd } - -func (t RuneTokenizer) Tokens(value interface{}) ([]string, error) { - var toks []string - for _, r := range value.(string) { - var buf [binary.MaxVarintLen32]byte - n := binary.PutVarint(buf[:], int64(r)) - tok := string(buf[:n]) - toks = append(toks, tok) - } - return toks, nil -} -``` - -**Hints and tips:** - -- Inside `Tokens`, you can assume that `value` will have concrete type - corresponding to that specified by `Type()`. It's safe to do a type -assertion. - -- Even though the return value is `[]string`, you can always store non-unicode - data inside the string. See [this blogpost](https://blog.golang.org/strings) -for some interesting background how string are implemented in Go and why they -can be used to store non-textual data. By storing arbitrary data in the string, -you can make the index more compact. In this case, varints are stored in the -return values. - -Setting up the indexing and adding data: -``` -name: string @index(rune) . -``` - - -``` -{ - set{ - _:ad "Adam" . - _:ad "Person" . - _:aa "Aaron" . - _:aa "Person" . - _:am "Amy" . - _:am "Person" . - _:ro "Ronald" . - _:ro "Person" . - } -} -``` -Now queries can be performed. - -The only person that has all of the runes `A` and `n` in their `name` is Aaron: -``` -{ - q(func: allof(name, rune, "An")) { - name - } -} -=> -{ - "data": { - "q": [ - { "name": "Aaron" } - ] - } -} -``` -But there are multiple people who have both of the runes `A` and `m`: -``` -{ - q(func: allof(name, rune, "Am")) { - name - } -} -=> -{ - "data": { - "q": [ - { "name": "Amy" }, - { "name": "Adam" } - ] - } -} -``` -Case is taken into account, so if you search for all names containing `"ron"`, -you would find `"Aaron"`, but not `"Ronald"`. But if you were to search for -`"no"`, you would match both `"Aaron"` and `"Ronald"`. The order of the runes in -the strings doesn't matter. - -It's possible to search for people that have *any* of the supplied runes in -their names (rather than *all* of the supplied runes). To do this, use `anyof` -instead of `allof`: -``` -{ - q(func: anyof(name, rune, "mr")) { - name - } -} -=> -{ - "data": { - "q": [ - { "name": "Adam" }, - { "name": "Aaron" }, - { "name": "Amy" } - ] - } -} -``` -`"Ronald"` doesn't contain `m` or `r`, so isn't found by the search. - -{{% notice "note" %}} -Understanding what's going on under the hood can help you intuitively -understand how `Tokens` method should be implemented. - -When Dgraph sees new edges that are to be indexed by your tokenizer, it -will tokenize the value. The resultant tokens are used as keys for posting -lists. The edge subject is then added to the posting list for each token. - -When a query root search occurs, the search value is tokenized. The result of -the search is all of the nodes in the union or intersection of the corresponding -posting lists (depending on whether `anyof` or `allof` was used). -{{% /notice %}} - -#### CIDR Range - -Tokenizers don't always have to be about splitting text up into its constituent -parts. This example indexes [IP addresses into their CIDR -ranges](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). This -allows you to search for all IP addresses that fall into a particular CIDR -range. - -The plugin code is more complicated than the rune example. The input is an IP -address stored as a string, e.g. `"100.55.22.11/32"`. The output are the CIDR -ranges that the IP address could possibly fall into. There could be up to 32 -different outputs (`"100.55.22.11/32"` does indeed have 32 possible ranges, one -for each mask size). - -```go -package main - -import "net" - -func Tokenizer() interface{} { return CIDRTokenizer{} } - -type CIDRTokenizer struct{} - -func (CIDRTokenizer) Name() string { return "cidr" } -func (CIDRTokenizer) Type() string { return "string" } -func (CIDRTokenizer) Identifier() byte { return 0xff } - -func (t CIDRTokenizer) Tokens(value interface{}) ([]string, error) { - _, ipnet, err := net.ParseCIDR(value.(string)) - if err != nil { - return nil, err - } - ones, bits := ipnet.Mask.Size() - var toks []string - for i := ones; i >= 1; i-- { - m := net.CIDRMask(i, bits) - tok := net.IPNet{ - IP: ipnet.IP.Mask(m), - Mask: m, - } - toks = append(toks, tok.String()) - } - return toks, nil -} -``` -An example of using the tokenizer: - -Setting up the indexing and adding data: -``` -ip: string @index(cidr) . - -``` - -``` -{ - set{ - _:a "100.55.22.11/32" . - _:b "100.33.81.19/32" . - _:c "100.49.21.25/32" . - _:d "101.0.0.5/32" . - _:e "100.176.2.1/32" . - } -} -``` -``` -{ - q(func: allof(ip, cidr, "100.48.0.0/12")) { - ip - } -} -=> -{ - "data": { - "q": [ - { "ip": "100.55.22.11/32" }, - { "ip": "100.49.21.25/32" } - ] - } -} -``` -The CIDR ranges of `100.55.22.11/32` and `100.49.21.25/32` are both -`100.48.0.0/12`. The other IP addresses in the database aren't included in the -search result, since they have different CIDR ranges for 12 bit masks -(`100.32.0.0/12`, `101.0.0.0/12`, `100.154.0.0/12` for `100.33.81.19/32`, -`101.0.0.5/32`, and `100.176.2.1/32` respectively). - -Note that we're using `allof` instead of `anyof`. Only `allof` will work -correctly with this index. Remember that the tokenizer generates all possible -CIDR ranges for an IP address. If we were to use `anyof` then the search result -would include all IP addresses under the 1 bit mask (in this case, `0.0.0.0/1`, -which would match all IPs in this dataset). - -#### Anagram - -Tokenizers don't always have to return multiple tokens. If you just want to -index data into groups, have the tokenizer just return an identifying member of -that group. - -In this example, we want to find groups of words that are -[anagrams](https://en.wikipedia.org/wiki/Anagram) of each -other. - -A token to correspond to a group of anagrams could just be the letters in the -anagram in sorted order, as implemented below: - -```go -package main - -import "sort" - -func Tokenizer() interface{} { return AnagramTokenizer{} } - -type AnagramTokenizer struct{} - -func (AnagramTokenizer) Name() string { return "anagram" } -func (AnagramTokenizer) Type() string { return "string" } -func (AnagramTokenizer) Identifier() byte { return 0xfc } - -func (t AnagramTokenizer) Tokens(value interface{}) ([]string, error) { - b := []byte(value.(string)) - sort.Slice(b, func(i, j int) bool { return b[i] < b[j] }) - return []string{string(b)}, nil -} -``` -In action: - -Setting up the indexing and adding data: -``` -word: string @index(anagram) . -``` - -``` -{ - set{ - _:1 "airmen" . - _:2 "marine" . - _:3 "beat" . - _:4 "beta" . - _:5 "race" . - _:6 "care" . - } -} -``` -``` -{ - q(func: allof(word, anagram, "remain")) { - word - } -} -=> -{ - "data": { - "q": [ - { "word": "airmen" }, - { "word": "marine" } - ] - } -} -``` - -Since a single token is only ever generated, it doesn't matter if `anyof` or -`allof` is used. The result will always be the same. - -#### Integer prime factors - -All of the custom tokenizers shown previously have worked with strings. -However, other data types can be used as well. This example is contrived, but -nonetheless shows some advanced usages of custom tokenizers. - -The tokenizer creates a token for each prime factor in the input. - -``` -package main - -import ( - "encoding/binary" - "fmt" -) - -func Tokenizer() interface{} { return FactorTokenizer{} } - -type FactorTokenizer struct{} - -func (FactorTokenizer) Name() string { return "factor" } -func (FactorTokenizer) Type() string { return "int" } -func (FactorTokenizer) Identifier() byte { return 0xfe } - -func (FactorTokenizer) Tokens(value interface{}) ([]string, error) { - x := value.(int64) - if x <= 1 { - return nil, fmt.Errorf("Cannot factor int <= 1: %d", x) - } - var toks []string - for p := int64(2); x > 1; p++ { - if x%p == 0 { - toks = append(toks, encodeInt(p)) - for x%p == 0 { - x /= p - } - } - } - return toks, nil - -} - -func encodeInt(x int64) string { - var buf [binary.MaxVarintLen64]byte - n := binary.PutVarint(buf[:], x) - return string(buf[:n]) -} -``` -{{% notice "note" %}} -Notice that the return of `Type()` is `"int"`, corresponding to the concrete -type of the input to `Tokens` (which is `int64`). -{{% /notice %}} - -This allows you do things like search for all numbers that share prime -factors with a particular number. - -In particular, we search for numbers that contain any of the prime factors of -15, i.e. any numbers that are divisible by either 3 or 5. - -Setting up the indexing and adding data: -``` -num: int @index(factor) . -``` - -``` -{ - set{ - _:2 "2"^^ . - _:3 "3"^^ . - _:4 "4"^^ . - _:5 "5"^^ . - _:6 "6"^^ . - _:7 "7"^^ . - _:8 "8"^^ . - _:9 "9"^^ . - _:10 "10"^^ . - _:11 "11"^^ . - _:12 "12"^^ . - _:13 "13"^^ . - _:14 "14"^^ . - _:15 "15"^^ . - _:16 "16"^^ . - _:17 "17"^^ . - _:18 "18"^^ . - _:19 "19"^^ . - _:20 "20"^^ . - _:21 "21"^^ . - _:22 "22"^^ . - _:23 "23"^^ . - _:24 "24"^^ . - _:25 "25"^^ . - _:26 "26"^^ . - _:27 "27"^^ . - _:28 "28"^^ . - _:29 "29"^^ . - _:30 "30"^^ . - } -} -``` -``` -{ - q(func: anyof(num, factor, 15)) { - num - } -} -=> -{ - "data": { - "q": [ - { "num": 3 }, - { "num": 5 }, - { "num": 6 }, - { "num": 9 }, - { "num": 10 }, - { "num": 12 }, - { "num": 15 }, - { "num": 18 } - { "num": 20 }, - { "num": 21 }, - { "num": 25 }, - { "num": 24 }, - { "num": 27 }, - { "num": 30 }, - ] - } -} -``` diff --git a/wiki/content/query-language/indexing-custom-tokenizers.md b/wiki/content/query-language/indexing-custom-tokenizers.md new file mode 100644 index 00000000000..0bef4a6badd --- /dev/null +++ b/wiki/content/query-language/indexing-custom-tokenizers.md @@ -0,0 +1,572 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Indexing with Custom Tokenizers" +[menu.main] + parent = "query-language" + weight = 27 ++++ + +Dgraph comes with a large toolkit of builtin indexes, but sometimes for niche +use cases they're not always enough. + +Dgraph allows you to implement custom tokenizers via a plugin system in order +to fill the gaps. + +## Caveats + +The plugin system uses Go's [`pkg/plugin`](https://golang.org/pkg/plugin/). +This brings some restrictions to how plugins can be used. + +- Plugins must be written in Go. + +- As of Go 1.9, `pkg/plugin` only works on Linux. Therefore, plugins will only + work on Dgraph instances deployed in a Linux environment. + +- The version of Go used to compile the plugin should be the same as the version + of Go used to compile Dgraph itself. Dgraph always uses the latest version of +Go (and so should you!). + +## Implementing a plugin + +{{% notice "note" %}} +You should consider Go's [plugin](https://golang.org/pkg/plugin/) documentation +to be supplementary to the documentation provided here. +{{% /notice %}} + +Plugins are implemented as their own main package. They must export a +particular symbol that allows Dgraph to hook into the custom logic the plugin +provides. + +The plugin must export a symbol named `Tokenizer`. The type of the symbol must +be `func() interface{}`. When the function is called the result returned should +be a value that implements the following interface: + +``` +type PluginTokenizer interface { + // Name is the name of the tokenizer. It should be unique among all + // builtin tokenizers and other custom tokenizers. It identifies the + // tokenizer when an index is set in the schema and when search/filter + // is used in queries. + Name() string + + // Identifier is a byte that uniquely identifiers the tokenizer. + // Bytes in the range 0x80 to 0xff (inclusive) are reserved for + // custom tokenizers. + Identifier() byte + + // Type is a string representing the type of data that is to be + // tokenized. This must match the schema type of the predicate + // being indexed. Allowable values are shown in the table below. + Type() string + + // Tokens should implement the tokenization logic. The input is + // the value to be tokenized, and will always have a concrete type + // corresponding to Type(). The return value should be a list of + // the tokens generated. + Tokens(interface{}) ([]string, error) +} +``` + +The return value of `Type()` corresponds to the concrete input type of +`Tokens(interface{})` in the following way: + + `Type()` return value | `Tokens(interface{})` input type +-----------------------|---------------------------------- + `"int"` | `int64` + `"float"` | `float64` + `"string"` | `string` + `"bool"` | `bool` + `"datetime"` | `time.Time` + +## Building the plugin + +The plugin has to be built using the `plugin` build mode so that an `.so` file +is produced instead of a regular executable. For example: + +```sh +go build -buildmode=plugin -o myplugin.so ~/go/src/myplugin/main.go +``` + +## Running Dgraph with plugins + +When starting Dgraph, use the `--custom_tokenizers` flag to tell Dgraph which +tokenizers to load. It accepts a comma separated list of plugins. E.g. + +```sh +dgraph ...other-args... --custom_tokenizers=plugin1.so,plugin2.so +``` + +{{% notice "note" %}} +Plugin validation is performed on startup. If a problem is detected, Dgraph +will refuse to initialise. +{{% /notice %}} + +## Adding the index to the schema + +To use a tokenization plugin, an index has to be created in the schema. + +The syntax is the same as adding any built-in index. To add an custom index +using a tokenizer plugin named `foo` to a `string` predicate named +`my_predicate`, use the following in the schema: + +```sh +my_predicate: string @index(foo) . +``` + +## Using the index in queries + +There are two functions that can use custom indexes: + + Mode | Behaviour +--------|------- + `anyof` | Returns nodes that match on *any* of the tokens generated + `allof` | Returns nodes that match on *all* of the tokens generated + +The functions can be used either at the query root or in filters. + +There behaviour here an analogous to `anyofterms`/`allofterms` and +`anyoftext`/`alloftext`. + +## Examples + +The following examples should make the process of writing a tokenization plugin +more concrete. + +### Unicode Characters + +This example shows the type of tokenization that is similar to term +tokenization of full-text search. Instead of being broken down into terms or +stem words, the text is instead broken down into its constituent unicode +codepoints (in Go terminology these are called *runes*). + +{{% notice "note" %}} +This tokenizer would create a very large index that would be expensive to +manage and store. That's one of the reasons that text indexing usually occurs +at a higher level; stem words for full-text search or terms for term search. +{{% /notice %}} + +The implementation of the plugin looks like this: + +```go +package main + +import "encoding/binary" + +func Tokenizer() interface{} { return RuneTokenizer{} } + +type RuneTokenizer struct{} + +func (RuneTokenizer) Name() string { return "rune" } +func (RuneTokenizer) Type() string { return "string" } +func (RuneTokenizer) Identifier() byte { return 0xfd } + +func (t RuneTokenizer) Tokens(value interface{}) ([]string, error) { + var toks []string + for _, r := range value.(string) { + var buf [binary.MaxVarintLen32]byte + n := binary.PutVarint(buf[:], int64(r)) + tok := string(buf[:n]) + toks = append(toks, tok) + } + return toks, nil +} +``` + +**Hints and tips:** + +- Inside `Tokens`, you can assume that `value` will have concrete type + corresponding to that specified by `Type()`. It's safe to do a type +assertion. + +- Even though the return value is `[]string`, you can always store non-unicode + data inside the string. See [this blogpost](https://blog.golang.org/strings) +for some interesting background how string are implemented in Go and why they +can be used to store non-textual data. By storing arbitrary data in the string, +you can make the index more compact. In this case, varints are stored in the +return values. + +Setting up the indexing and adding data: +``` +name: string @index(rune) . +``` + + +``` +{ + set{ + _:ad "Adam" . + _:ad "Person" . + _:aa "Aaron" . + _:aa "Person" . + _:am "Amy" . + _:am "Person" . + _:ro "Ronald" . + _:ro "Person" . + } +} +``` +Now queries can be performed. + +The only person that has all of the runes `A` and `n` in their `name` is Aaron: +``` +{ + q(func: allof(name, rune, "An")) { + name + } +} +=> +{ + "data": { + "q": [ + { "name": "Aaron" } + ] + } +} +``` +But there are multiple people who have both of the runes `A` and `m`: +``` +{ + q(func: allof(name, rune, "Am")) { + name + } +} +=> +{ + "data": { + "q": [ + { "name": "Amy" }, + { "name": "Adam" } + ] + } +} +``` +Case is taken into account, so if you search for all names containing `"ron"`, +you would find `"Aaron"`, but not `"Ronald"`. But if you were to search for +`"no"`, you would match both `"Aaron"` and `"Ronald"`. The order of the runes in +the strings doesn't matter. + +It's possible to search for people that have *any* of the supplied runes in +their names (rather than *all* of the supplied runes). To do this, use `anyof` +instead of `allof`: +``` +{ + q(func: anyof(name, rune, "mr")) { + name + } +} +=> +{ + "data": { + "q": [ + { "name": "Adam" }, + { "name": "Aaron" }, + { "name": "Amy" } + ] + } +} +``` +`"Ronald"` doesn't contain `m` or `r`, so isn't found by the search. + +{{% notice "note" %}} +Understanding what's going on under the hood can help you intuitively +understand how `Tokens` method should be implemented. + +When Dgraph sees new edges that are to be indexed by your tokenizer, it +will tokenize the value. The resultant tokens are used as keys for posting +lists. The edge subject is then added to the posting list for each token. + +When a query root search occurs, the search value is tokenized. The result of +the search is all of the nodes in the union or intersection of the corresponding +posting lists (depending on whether `anyof` or `allof` was used). +{{% /notice %}} + +### CIDR Range + +Tokenizers don't always have to be about splitting text up into its constituent +parts. This example indexes [IP addresses into their CIDR +ranges](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). This +allows you to search for all IP addresses that fall into a particular CIDR +range. + +The plugin code is more complicated than the rune example. The input is an IP +address stored as a string, e.g. `"100.55.22.11/32"`. The output are the CIDR +ranges that the IP address could possibly fall into. There could be up to 32 +different outputs (`"100.55.22.11/32"` does indeed have 32 possible ranges, one +for each mask size). + +```go +package main + +import "net" + +func Tokenizer() interface{} { return CIDRTokenizer{} } + +type CIDRTokenizer struct{} + +func (CIDRTokenizer) Name() string { return "cidr" } +func (CIDRTokenizer) Type() string { return "string" } +func (CIDRTokenizer) Identifier() byte { return 0xff } + +func (t CIDRTokenizer) Tokens(value interface{}) ([]string, error) { + _, ipnet, err := net.ParseCIDR(value.(string)) + if err != nil { + return nil, err + } + ones, bits := ipnet.Mask.Size() + var toks []string + for i := ones; i >= 1; i-- { + m := net.CIDRMask(i, bits) + tok := net.IPNet{ + IP: ipnet.IP.Mask(m), + Mask: m, + } + toks = append(toks, tok.String()) + } + return toks, nil +} +``` +An example of using the tokenizer: + +Setting up the indexing and adding data: +``` +ip: string @index(cidr) . + +``` + +``` +{ + set{ + _:a "100.55.22.11/32" . + _:b "100.33.81.19/32" . + _:c "100.49.21.25/32" . + _:d "101.0.0.5/32" . + _:e "100.176.2.1/32" . + } +} +``` +``` +{ + q(func: allof(ip, cidr, "100.48.0.0/12")) { + ip + } +} +=> +{ + "data": { + "q": [ + { "ip": "100.55.22.11/32" }, + { "ip": "100.49.21.25/32" } + ] + } +} +``` +The CIDR ranges of `100.55.22.11/32` and `100.49.21.25/32` are both +`100.48.0.0/12`. The other IP addresses in the database aren't included in the +search result, since they have different CIDR ranges for 12 bit masks +(`100.32.0.0/12`, `101.0.0.0/12`, `100.154.0.0/12` for `100.33.81.19/32`, +`101.0.0.5/32`, and `100.176.2.1/32` respectively). + +Note that we're using `allof` instead of `anyof`. Only `allof` will work +correctly with this index. Remember that the tokenizer generates all possible +CIDR ranges for an IP address. If we were to use `anyof` then the search result +would include all IP addresses under the 1 bit mask (in this case, `0.0.0.0/1`, +which would match all IPs in this dataset). + +### Anagram + +Tokenizers don't always have to return multiple tokens. If you just want to +index data into groups, have the tokenizer just return an identifying member of +that group. + +In this example, we want to find groups of words that are +[anagrams](https://en.wikipedia.org/wiki/Anagram) of each +other. + +A token to correspond to a group of anagrams could just be the letters in the +anagram in sorted order, as implemented below: + +```go +package main + +import "sort" + +func Tokenizer() interface{} { return AnagramTokenizer{} } + +type AnagramTokenizer struct{} + +func (AnagramTokenizer) Name() string { return "anagram" } +func (AnagramTokenizer) Type() string { return "string" } +func (AnagramTokenizer) Identifier() byte { return 0xfc } + +func (t AnagramTokenizer) Tokens(value interface{}) ([]string, error) { + b := []byte(value.(string)) + sort.Slice(b, func(i, j int) bool { return b[i] < b[j] }) + return []string{string(b)}, nil +} +``` +In action: + +Setting up the indexing and adding data: +``` +word: string @index(anagram) . +``` + +``` +{ + set{ + _:1 "airmen" . + _:2 "marine" . + _:3 "beat" . + _:4 "beta" . + _:5 "race" . + _:6 "care" . + } +} +``` +``` +{ + q(func: allof(word, anagram, "remain")) { + word + } +} +=> +{ + "data": { + "q": [ + { "word": "airmen" }, + { "word": "marine" } + ] + } +} +``` + +Since a single token is only ever generated, it doesn't matter if `anyof` or +`allof` is used. The result will always be the same. + +### Integer prime factors + +All of the custom tokenizers shown previously have worked with strings. +However, other data types can be used as well. This example is contrived, but +nonetheless shows some advanced usages of custom tokenizers. + +The tokenizer creates a token for each prime factor in the input. + +``` +package main + +import ( + "encoding/binary" + "fmt" +) + +func Tokenizer() interface{} { return FactorTokenizer{} } + +type FactorTokenizer struct{} + +func (FactorTokenizer) Name() string { return "factor" } +func (FactorTokenizer) Type() string { return "int" } +func (FactorTokenizer) Identifier() byte { return 0xfe } + +func (FactorTokenizer) Tokens(value interface{}) ([]string, error) { + x := value.(int64) + if x <= 1 { + return nil, fmt.Errorf("Cannot factor int <= 1: %d", x) + } + var toks []string + for p := int64(2); x > 1; p++ { + if x%p == 0 { + toks = append(toks, encodeInt(p)) + for x%p == 0 { + x /= p + } + } + } + return toks, nil + +} + +func encodeInt(x int64) string { + var buf [binary.MaxVarintLen64]byte + n := binary.PutVarint(buf[:], x) + return string(buf[:n]) +} +``` +{{% notice "note" %}} +Notice that the return of `Type()` is `"int"`, corresponding to the concrete +type of the input to `Tokens` (which is `int64`). +{{% /notice %}} + +This allows you do things like search for all numbers that share prime +factors with a particular number. + +In particular, we search for numbers that contain any of the prime factors of +15, i.e. any numbers that are divisible by either 3 or 5. + +Setting up the indexing and adding data: +``` +num: int @index(factor) . +``` + +``` +{ + set{ + _:2 "2"^^ . + _:3 "3"^^ . + _:4 "4"^^ . + _:5 "5"^^ . + _:6 "6"^^ . + _:7 "7"^^ . + _:8 "8"^^ . + _:9 "9"^^ . + _:10 "10"^^ . + _:11 "11"^^ . + _:12 "12"^^ . + _:13 "13"^^ . + _:14 "14"^^ . + _:15 "15"^^ . + _:16 "16"^^ . + _:17 "17"^^ . + _:18 "18"^^ . + _:19 "19"^^ . + _:20 "20"^^ . + _:21 "21"^^ . + _:22 "22"^^ . + _:23 "23"^^ . + _:24 "24"^^ . + _:25 "25"^^ . + _:26 "26"^^ . + _:27 "27"^^ . + _:28 "28"^^ . + _:29 "29"^^ . + _:30 "30"^^ . + } +} +``` +``` +{ + q(func: anyof(num, factor, 15)) { + num + } +} +=> +{ + "data": { + "q": [ + { "num": 3 }, + { "num": 5 }, + { "num": 6 }, + { "num": 9 }, + { "num": 10 }, + { "num": 12 }, + { "num": 15 }, + { "num": 18 } + { "num": 20 }, + { "num": 21 }, + { "num": 25 }, + { "num": 24 }, + { "num": 27 }, + { "num": 30 }, + ] + } +} +``` diff --git a/wiki/content/query-language/kshortest-path-quries.md b/wiki/content/query-language/kshortest-path-quries.md new file mode 100644 index 00000000000..b23603ad418 --- /dev/null +++ b/wiki/content/query-language/kshortest-path-quries.md @@ -0,0 +1,199 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Shortest Path Queries" +[menu.main] + parent = "query-language" + weight = 23 ++++ + +The shortest path between a source (`from`) node and destination (`to`) node can be found using the keyword `shortest` for the query block name. It requires the source node UID, destination node UID and the predicates (at least one) that have to be considered for traversal. A `shortest` query block returns the shortest path under `_path_` in the query response. The path can also be stored in a variable which is used in other query blocks. + +**K-Shortest Path queries:** By default the shortest path is returned. With `numpaths: k`, and `k > 1`, the k-shortest paths are returned. Cyclical paths are pruned out from the result of k-shortest path query. With `depth: n`, the paths up to `n` depth away are returned. + +{{% notice "note" %}} +- If no predicates are specified in the `shortest` block, no path can be fetched as no edge is traversed. +- If you're seeing queries take a long time, you can set a [gRPC deadline](https://grpc.io/blog/deadlines) to stop the query after a certain amount of time. +{{% /notice %}} + +For example: + +```sh +curl localhost:8080/alter -XPOST -d $' + name: string @index(exact) . +' | python -m json.tool | less +``` + +```sh +curl -H "Content-Type: application/rdf" localhost:8080/mutate?commitNow=true -XPOST -d $' +{ + set { + _:a _:b (weight=0.1) . + _:b _:c (weight=0.2) . + _:c _:d (weight=0.3) . + _:a _:d (weight=1) . + _:a "Alice" . + _:a "Person" . + _:b "Bob" . + _:b "Person" . + _:c "Tom" . + _:c "Person" . + _:d "Mallory" . + _:d "Person" . + } +}' | python -m json.tool | less +``` + +The shortest path between Alice and Mallory (assuming UIDs 0x2 and 0x5 respectively) can be found with query: + +```sh +curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ + path as shortest(from: 0x2, to: 0x5) { + friend + } + path(func: uid(path)) { + name + } +}' | python -m json.tool | less +``` + +Which returns the following results. (Note, without considering the `weight` facet, each edges' weight is considered as 1) + +``` +{ + "data": { + "path": [ + { + "name": "Alice" + }, + { + "name": "Mallory" + } + ], + "_path_": [ + { + "uid": "0x2", + "friend": [ + { + "uid": "0x5" + } + ] + } + ] + } +} +``` + +We can return more paths by specifying `numpaths`. Setting `numpaths: 2` returns the shortest two paths: + +```sh +curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ + + A as var(func: eq(name, "Alice")) + M as var(func: eq(name, "Mallory")) + + path as shortest(from: uid(A), to: uid(M), numpaths: 2) { + friend + } + path(func: uid(path)) { + name + } +}' | python -m json.tool | less +``` + +{{% notice "note" %}}In the query above, instead of using UID literals, we query both people using var blocks and the `uid()` function. You can also combine it with [GraphQL Variables]({{< relref "#graphql-variables" >}}).{{% /notice %}} + +Edges weights are included by using facets on the edges as follows. + +{{% notice "note" %}}Only one facet per predicate is allowed in the shortest query block.{{% /notice %}} + +```sh +curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ + path as shortest(from: 0x2, to: 0x5) { + friend @facets(weight) + } + + path(func: uid(path)) { + name + } +}' | python -m json.tool | less +``` + +``` +{ + "data": { + "path": [ + { + "name": "Alice" + }, + { + "name": "Bob" + }, + { + "name": "Tom" + }, + { + "name": "Mallory" + } + ], + "_path_": [ + { + "uid": "0x2", + "friend": [ + { + "uid": "0x3", + "friend|weight": 0.1, + "friend": [ + { + "uid": "0x4", + "friend|weight": 0.2, + "friend": [ + { + "uid": "0x5", + "friend|weight": 0.3 + } + ] + } + ] + } + ] + } + ] + } +} +``` + +Constraints can be applied to the intermediate nodes as follows. + +```sh +curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ + path as shortest(from: 0x2, to: 0x5) { + friend @filter(not eq(name, "Bob")) @facets(weight) + relative @facets(liking) + } + + relationship(func: uid(path)) { + name + } +}' | python -m json.tool | less +``` + +The k-shortest path algorithm (used when `numpaths` > 1) also accepts the arguments `minweight` and `maxweight`, which take a float as their value. When they are passed, only paths within the weight range `[minweight, maxweight]` will be considered as valid paths. This can be used, for example, to query the shortest paths that traverse between 2 and 4 nodes. + +```sh +curl -H "Content-Type: application/graphql+-" localhost:8080/query -XPOST -d $'{ + path as shortest(from: 0x2, to: 0x5, numpaths: 2, minweight: 2, maxweight: 4) { + friend + } + path(func: uid(path)) { + name + } +}' | python -m json.tool | less +``` + +Some points to keep in mind for shortest path queries: + +- Weights must be non-negative. Dijkstra's algorithm is used to calculate the shortest paths. +- Only one facet per predicate in the shortest query block is allowed. +- Only one `shortest` path block is allowed per query. Only one `_path_` is returned in the result. For queries with `numpaths` > 1, `_path_` contains all the paths. +- Cyclical paths are not included in the result of k-shortest path query. +- For k-shortest paths (when `numpaths` > 1), the result of the shortest path query variable will only return a single path which will be the shortest path among the k paths. All k paths are returned in `_path_`. \ No newline at end of file diff --git a/wiki/content/query-language/math-on-value-variables.md b/wiki/content/query-language/math-on-value-variables.md new file mode 100644 index 00000000000..d4cd3cd2a89 --- /dev/null +++ b/wiki/content/query-language/math-on-value-variables.md @@ -0,0 +1,93 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Math on value variables" +[menu.main] + parent = "query-language" + weight = 12 ++++ + +Value variables can be combined using mathematical functions. For example, this could be used to associate a score which is then used to order or perform other operations, such as might be used in building news feeds, simple recommendation systems, and so on. + +Math statements must be enclosed within `math( )` and must be stored to a value variable. + +The supported operators are as follows: + +| Operators | Types accepted | What it does | +| :------------: | :--------------: | :------------------------: | +| `+` `-` `*` `/` `%` | `int`, `float` | performs the corresponding operation | +| `min` `max` | All types except `geo`, `bool` (binary functions) | selects the min/max value among the two | +| `<` `>` `<=` `>=` `==` `!=` | All types except `geo`, `bool` | Returns true or false based on the values | +| `floor` `ceil` `ln` `exp` `sqrt` | `int`, `float` (unary function) | performs the corresponding operation | +| `since` | `dateTime` | Returns the number of seconds in float from the time specified | +| `pow(a, b)` | `int`, `float` | Returns `a to the power b` | +| `logbase(a,b)` | `int`, `float` | Returns `log(a)` to the base `b` | +| `cond(a, b, c)` | first operand must be a boolean | selects `b` if `a` is true else `c` | + + +Query Example: Form a score for each of Steven Spielberg's movies as the sum of number of actors, number of genres and number of countries. List the top five such movies in order of decreasing score. + +{{< runnable >}} +{ + var(func:allofterms(name@en, "steven spielberg")) { + films as director.film { + p as count(starring) + q as count(genre) + r as count(country) + score as math(p + q + r) + } + } + + TopMovies(func: uid(films), orderdesc: val(score), first: 5){ + name@en + val(score) + } +} +{{< /runnable >}} + +Value variables and aggregations of them can be used in filters. + +Query Example: Calculate a score for each Steven Spielberg movie with a condition on release date to penalize movies that are more than 10 years old, filtering on the resulting score. + +{{< runnable >}} +{ + var(func:allofterms(name@en, "steven spielberg")) { + films as director.film { + p as count(starring) + q as count(genre) + date as initial_release_date + years as math(since(date)/(365*24*60*60)) + score as math(cond(years > 10, 0, ln(p)+q-ln(years))) + } + } + + TopMovies(func: uid(films), orderdesc: val(score)) @filter(gt(val(score), 2)){ + name@en + val(score) + val(date) + } +} +{{< /runnable >}} + + +Values calculated with math operations are stored to value variables and so can be aggregated. + +Query Example: Compute a score for each Steven Spielberg movie and then aggregate the score. + +{{< runnable >}} +{ + steven as var(func:eq(name@en, "Steven Spielberg")) @filter(has(director.film)) { + director.film { + p as count(starring) + q as count(genre) + r as count(country) + score as math(p + q + r) + } + directorScore as sum(val(score)) + } + + score(func: uid(steven)){ + name@en + val(directorScore) + } +} +{{< /runnable >}} diff --git a/wiki/content/query-language/multiple-query-blocks.md b/wiki/content/query-language/multiple-query-blocks.md new file mode 100644 index 00000000000..fa358575393 --- /dev/null +++ b/wiki/content/query-language/multiple-query-blocks.md @@ -0,0 +1,101 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Multiple Query Blocks" +[menu.main] + parent = "query-language" + weight = 8 ++++ + +Inside a single query, multiple query blocks are allowed. The result is all blocks with corresponding block names. + +Multiple query blocks are executed in parallel. + +The blocks need not be related in any way. + +Query Example: All of Angelina Jolie's films, with genres, and Peter Jackson's films since 2008. + +{{< runnable >}} +{ + AngelinaInfo(func:allofterms(name@en, "angelina jolie")) { + name@en + actor.film { + performance.film { + genre { + name@en + } + } + } + } + + DirectorInfo(func: eq(name@en, "Peter Jackson")) { + name@en + director.film @filter(ge(initial_release_date, "2008")) { + Release_date: initial_release_date + Name: name@en + } + } +} +{{< /runnable >}} + + +If queries contain some overlap in answers, the result sets are still independent. + +Query Example: The movies Mackenzie Crook has acted in and the movies Jack Davenport has acted in. The results sets overlap because both have acted in the Pirates of the Caribbean movies, but the results are independent and both contain the full answers sets. + +{{< runnable >}} +{ + Mackenzie(func:allofterms(name@en, "Mackenzie Crook")) { + name@en + actor.film { + performance.film { + uid + name@en + } + performance.character { + name@en + } + } + } + + Jack(func:allofterms(name@en, "Jack Davenport")) { + name@en + actor.film { + performance.film { + uid + name@en + } + performance.character { + name@en + } + } + } +} +{{< /runnable >}} + + +## Var Blocks + +Var blocks start with the keyword `var` and are not returned in the query results. + +Query Example: Angelina Jolie's movies ordered by genre. + +{{< runnable >}} +{ + var(func:allofterms(name@en, "angelina jolie")) { + name@en + actor.film { + A AS performance.film { + B AS genre + } + } + } + + films(func: uid(B), orderasc: name@en) { + name@en + ~genre @filter(uid(A)) { + name@en + } + } +} +{{< /runnable >}} + diff --git a/wiki/content/query-language/normalize-directive.md b/wiki/content/query-language/normalize-directive.md new file mode 100644 index 00000000000..a11db8e5451 --- /dev/null +++ b/wiki/content/query-language/normalize-directive.md @@ -0,0 +1,57 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Normalize directive" +[menu.main] + parent = "query-language" + weight = 17 ++++ + +With the `@normalize` directive, only aliased predicates are returned and the result is flattened to remove nesting. + +Query Example: Film name, country and first two actors (by UID order) of every Steven Spielberg movie, without `initial_release_date` because no alias is given and flattened by `@normalize` +{{< runnable >}} +{ + director(func:allofterms(name@en, "steven spielberg")) @normalize { + director: name@en + director.film { + film: name@en + initial_release_date + starring(first: 2) { + performance.actor { + actor: name@en + } + performance.character { + character: name@en + } + } + country { + country: name@en + } + } + } +} +{{< /runnable >}} + +You can also apply `@normalize` on nested query blocks. It will work similarly but only flatten the result of the nested query block where `@normalize` has been applied. `@normalize` will return a list irrespective of the type of attribute on which it is applied. +{{< runnable >}} +{ + director(func:allofterms(name@en, "steven spielberg")) { + director: name@en + director.film { + film: name@en + initial_release_date + starring(first: 2) @normalize { + performance.actor { + actor: name@en + } + performance.character { + character: name@en + } + } + country { + country: name@en + } + } + } +} +{{< /runnable >}} \ No newline at end of file diff --git a/wiki/content/query-language/pagination.md b/wiki/content/query-language/pagination.md new file mode 100644 index 00000000000..2e54da702ee --- /dev/null +++ b/wiki/content/query-language/pagination.md @@ -0,0 +1,132 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Pagination" +[menu.main] + parent = "query-language" + weight = 5 ++++ + +Pagination allows returning only a portion, rather than the whole, result set. This can be useful for top-k style queries as well as to reduce the size of the result set for client side processing or to allow paged access to results. + +Pagination is often used with [sorting]({{< relref "#sorting">}}). + +{{% notice "note" %}}Without a sort order specified, the results are sorted by `uid`, which is assigned randomly. So the ordering, while deterministic, might not be what you expected.{{% /notice %}} +## First + +Syntax Examples: + +* `q(func: ..., first: N)` +* `predicate (first: N) { ... }` +* `predicate @filter(...) (first: N) { ... }` + +For positive `N`, `first: N` retrieves the first `N` results, by sorted or UID order. + +For negative `N`, `first: N` retrieves the last `N` results, by sorted or UID order. Currently, negative is only supported when no order is applied. To achieve the effect of a negative with a sort, reverse the order of the sort and use a positive `N`. + + +Query Example: Last two films, by UID order, directed by Steven Spielberg and the first three genres of those movies, sorted alphabetically by English name. + +{{< runnable >}} +{ + me(func: allofterms(name@en, "Steven Spielberg")) { + director.film (first: -2) { + name@en + initial_release_date + genre (orderasc: name@en) (first: 3) { + name@en + } + } + } +} +{{< /runnable >}} + + + +Query Example: The three directors named Steven who have directed the most actors of all directors named Steven. + +{{< runnable >}} +{ + ID as var(func: allofterms(name@en, "Steven")) @filter(has(director.film)) { + director.film { + stars as count(starring) + } + totalActors as sum(val(stars)) + } + + mostStars(func: uid(ID), orderdesc: val(totalActors), first: 3) { + name@en + stars : val(totalActors) + + director.film { + name@en + } + } +} +{{< /runnable >}} +## Offset + +Syntax Examples: + +* `q(func: ..., offset: N)` +* `predicate (offset: N) { ... }` +* `predicate (first: M, offset: N) { ... }` +* `predicate @filter(...) (offset: N) { ... }` + +With `offset: N` the first `N` results are not returned. Used in combination with first, `first: M, offset: N` skips over `N` results and returns the following `M`. + +Query Example: Order Hark Tsui's films by English title, skip over the first 4 and return the following 6. + +{{< runnable >}} +{ + me(func: allofterms(name@en, "Hark Tsui")) { + name@zh + name@en + director.film (orderasc: name@en) (first:6, offset:4) { + genre { + name@en + } + name@zh + name@en + initial_release_date + } + } +} +{{< /runnable >}} +## After + +Syntax Examples: + +* `q(func: ..., after: UID)` +* `predicate (first: N, after: UID) { ... }` +* `predicate @filter(...) (first: N, after: UID) { ... }` + +Another way to get results after skipping over some results is to use the default UID ordering and skip directly past a node specified by UID. For example, a first query could be of the form `predicate (after: 0x0, first: N)`, or just `predicate (first: N)`, with subsequent queries of the form `predicate(after: , first: N)`. + + +Query Example: The first five of Baz Luhrmann's films, sorted by UID order. + +{{< runnable >}} +{ + me(func: allofterms(name@en, "Baz Luhrmann")) { + name@en + director.film (first:5) { + uid + name@en + } + } +} +{{< /runnable >}} + +The fifth movie is the Australian movie classic Strictly Ballroom. It has UID `0x99e44`. The results after Strictly Ballroom can now be obtained with `after`. + +{{< runnable >}} +{ + me(func: allofterms(name@en, "Baz Luhrmann")) { + name@en + director.film (first:5, after: 0x99e44) { + uid + name@en + } + } +} +{{< /runnable >}} diff --git a/wiki/content/query-language/query-variables.md b/wiki/content/query-language/query-variables.md new file mode 100644 index 00000000000..d33a023c9b6 --- /dev/null +++ b/wiki/content/query-language/query-variables.md @@ -0,0 +1,56 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Query Variables" +[menu.main] + parent = "query-language" + weight = 9 ++++ + +Syntax Examples: + +* `varName as q(func: ...) { ... }` +* `varName as var(func: ...) { ... }` +* `varName as predicate { ... }` +* `varName as predicate @filter(...) { ... }` + +Types : `uid` + +Nodes (UIDs) matched at one place in a query can be stored in a variable and used elsewhere. Query variables can be used in other query blocks or in a child node of the defining block. + +Query variables do not affect the semantics of the query at the point of definition. Query variables are evaluated to all nodes matched by the defining block. + +In general, query blocks are executed in parallel, but variables impose an evaluation order on some blocks. Cycles induced by variable dependence are not permitted. + +If a variable is defined, it must be used elsewhere in the query. + +A query variable is used by extracting the UIDs in it with `uid(var-name)`. + +The syntax `func: uid(A,B)` or `@filter(uid(A,B))` means the union of UIDs for variables `A` and `B`. + +Query Example: The movies of Angelia Jolie and Brad Pitt where both have acted on movies in the same genre. Note that `B` and `D` match all genres for all movies, not genres per movie. +{{< runnable >}} +{ + var(func:allofterms(name@en, "angelina jolie")) { + actor.film { + A AS performance.film { # All films acted in by Angelina Jolie + B As genre # Genres of all the films acted in by Angelina Jolie + } + } + } + + var(func:allofterms(name@en, "brad pitt")) { + actor.film { + C AS performance.film { # All films acted in by Brad Pitt + D as genre # Genres of all the films acted in by Brad Pitt + } + } + } + + films(func: uid(D)) @filter(uid(B)) { # Genres from both Angelina and Brad + name@en + ~genre @filter(uid(A, C)) { # Movies in either A or C. + name@en + } + } +} +{{< /runnable >}} \ No newline at end of file diff --git a/wiki/content/query-language/recurse-query.md b/wiki/content/query-language/recurse-query.md new file mode 100644 index 00000000000..ea5b8f5d86d --- /dev/null +++ b/wiki/content/query-language/recurse-query.md @@ -0,0 +1,31 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Recurse Query" +[menu.main] + parent = "query-language" + weight = 24 ++++ + +`Recurse` queries let you traverse a set of predicates (with filter, facets, etc.) until we reach all leaf nodes or we reach the maximum depth which is specified by the `depth` parameter. + +To get 10 movies from a genre that has more than 30000 films and then get two actors for those movies we'd do something as follows: +{{< runnable >}} +{ + me(func: gt(count(~genre), 30000), first: 1) @recurse(depth: 5, loop: true) { + name@en + ~genre (first:10) @filter(gt(count(starring), 2)) + starring (first: 2) + performance.actor + } +} +{{< /runnable >}} +Some points to keep in mind while using recurse queries are: + +- You can specify only one level of predicates after root. These would be traversed recursively. Both scalar and entity-nodes are treated similarly. +- Only one recurse block is advised per query. +- Be careful as the result size could explode quickly and an error would be returned if the result set gets too large. In such cases use more filters, limit results using pagination, or provide a depth parameter at root as shown in the example above. +- The `loop` parameter can be set to false, in which case paths which lead to a loop would be ignored + while traversing. +- If not specified, the value of the `loop` parameter defaults to false. +- If the value of the `loop` parameter is false and depth is not specified, `depth` will default to `math.MaxUint64`, which means that the entire graph might be traversed until all the leaf nodes are reached. + diff --git a/wiki/content/query-language/schema.md b/wiki/content/query-language/schema.md new file mode 100644 index 00000000000..ee471480957 --- /dev/null +++ b/wiki/content/query-language/schema.md @@ -0,0 +1,517 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Schema" +[menu.main] + parent = "query-language" + weight = 20 ++++ + +For each predicate, the schema specifies the target's type. If a predicate `p` has type `T`, then for all subject-predicate-object triples `s p o` the object `o` is of schema type `T`. + +* On mutations, scalar types are checked and an error thrown if the value cannot be converted to the schema type. + +* On query, value results are returned according to the schema type of the predicate. + +If a schema type isn't specified before a mutation adds triples for a predicate, then the type is inferred from the first mutation. This type is either: + +* type `uid`, if the first mutation for the predicate has nodes for the subject and object, or + +* derived from the [RDF type]({{< relref "#rdf-types" >}}), if the object is a literal and an RDF type is present in the first mutation, or + +* `default` type, otherwise. + + +## Schema Types + +Dgraph supports scalar types and the UID type. + +### Scalar Types + +For all triples with a predicate of scalar types the object is a literal. + +| Dgraph Type | Go type | +| ------------|:--------| +| `default` | string | +| `int` | int64 | +| `float` | float | +| `string` | string | +| `bool` | bool | +| `dateTime` | time.Time (RFC3339 format [Optional timezone] eg: 2006-01-02T15:04:05.999999999+10:00 or 2006-01-02T15:04:05.999999999) | +| `geo` | [go-geom](https://github.com/twpayne/go-geom) | +| `password` | string (encrypted) | + + +{{% notice "note" %}}Dgraph supports date and time formats for `dateTime` scalar type only if they +are RFC 3339 compatible which is different from ISO 8601(as defined in the RDF spec). You should +convert your values to RFC 3339 format before sending them to Dgraph.{{% /notice %}} + +### UID Type + +The `uid` type denotes a node-node edge; internally each node is represented as a `uint64` id. + +| Dgraph Type | Go type | +| ------------|:--------| +| `uid` | uint64 | + + +## Adding or Modifying Schema + +Schema mutations add or modify schema. + +Multiple scalar values can also be added for a `S P` by specifying the schema to be of +list type. Occupations in the example below can store a list of strings for each `S P`. + +An index is specified with `@index`, with arguments to specify the tokenizer. When specifying an +index for a predicate it is mandatory to specify the type of the index. For example: + +``` +name: string @index(exact, fulltext) @count . +multiname: string @lang . +age: int @index(int) . +friend: [uid] @count . +dob: dateTime . +location: geo @index(geo) . +occupations: [string] @index(term) . +``` + +If no data has been stored for the predicates, a schema mutation sets up an empty schema ready to receive triples. + +If data is already stored before the mutation, existing values are not checked to conform to the new schema. On query, Dgraph tries to convert existing values to the new schema types, ignoring any that fail conversion. + +If data exists and new indices are specified in a schema mutation, any index not in the updated list is dropped and a new index is created for every new tokenizer specified. + +Reverse edges are also computed if specified by a schema mutation. + + +## Indexes in Background + +Indexes may take long time to compute depending upon the size of the data. +Starting Dgraph version `20.03.0`, indexes can be computed in the background, +and thus indexing may still be running after an Alter operation returns. +This requires that you wait for indexing to complete before running queries +that require newly created indices. Such queries will fail with an error +notifying that a given predicate is not indexed or doesn't have reverse edges. + +An alter operation will also fail if one is already in progress with an error +`schema is already being modified. Please retry`. Though, mutations can +be successfully executed while indexing is going on. + +For example, let's say we execute an Alter operation with the following schema: + +``` +name: string @index(fulltext, term) . +age: int @index(int) @upsert . +friend: [uid] @count @reverse . +``` + +Once the Alter operation returns, Dgraph will report the following schema +and start background tasks to compute all the new indexes: + +``` +name: string . +age: int @upsert . +friend: [uid] . +``` + +When indexes are done computing, Dgraph will start reporting the indexes in the +schema. In a multi-node cluster, it is possible that the alphas will finish +computing indexes at different times. Alphas may return different schema in such +a case until all the indexes are done computing on all the Alphas. + +Background indexing task may fail if an unexpected error occurs while computing +the indexes. You should retry the Alter operation in order to update the schema, +or sync the schema across all the alphas. + +We also plan to add a simpler API soon to check the status of background indexing. +See this [PR](https://github.com/dgraph-io/dgraph/pull/4961) for more details. + +### HTTP API + +You can specify the flag `runInBackground` to `true` to run +index computation in the background. + +```sh +curl localhost:8080/alter?runInBackground=true -XPOST -d $' + name: string @index(fulltext, term) . + age: int @index(int) @upsert . + friend: [uid] @count @reverse . +' | python -m json.tool | less +``` + +### Grpc API + +You can set `RunInBackground` field to `true` of the `api.Operation` +struct before passing it to the `Alter` function. + +```go +op := &api.Operation{} +op.Schema = ` + name: string @index(fulltext, term) . + age: int @index(int) @upsert . + friend: [uid] @count @reverse . +` +op.RunInBackground = true +err = dg.Alter(context.Background(), op) +``` + + +## Predicate name rules + +Any alphanumeric combination of a predicate name is permitted. +Dgraph also supports [Internationalized Resource Identifiers](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier) (IRIs). +You can read more in [Predicates i18n](#predicates-i18n). + +### Allowed special characters + +Single special characters are not accepted, which includes the special characters from IRIs. +They have to be prefixed/suffixed with alphanumeric characters. + +``` +][&*()_-+=!#$% +``` + +*Note: You are not restricted to use @ suffix, but the suffix character gets ignored.* + +### Forbidden special characters + +The special characters below are not accepted. + +``` +^}|{`\~ +``` + + +## Predicates i18n + +If your predicate is a URI or has language-specific characters, then enclose +it with angle brackets `<>` when executing the schema mutation. + +{{% notice "note" %}}Dgraph supports [Internationalized Resource Identifiers](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier) (IRIs) for predicate names and values.{{% /notice %}} + +Schema syntax: +``` +<职业>: string @index(exact) . +<年龄>: int @index(int) . +<地点>: geo @index(geo) . +<公司>: string . +``` + +This syntax allows for internationalized predicate names, but full-text indexing still defaults to English. +To use the right tokenizer for your language, you need to use the `@lang` directive and enter values using your +language tag. + +Schema: +``` +<公司>: string @index(fulltext) @lang . +``` +Mutation: +``` +{ + set { + _:a <公司> "Dgraph Labs Inc"@en . + _:b <公司> "夏新科技有限责任公司"@zh . + _:a "Company" . + } +} +``` +Query: +``` +{ + q(func: alloftext(<公司>@zh, "夏新科技有限责任公司")) { + uid + <公司>@. + } +} +``` + + +## Upsert directive + +To use [upsert operations]({{< relref "howto/upserts.md">}}) on a +predicate, specify the `@upsert` directive in the schema. When committing +transactions involving predicates with the `@upsert` directive, Dgraph checks +index keys for conflicts, helping to enforce uniqueness constraints when running +concurrent upserts. + +This is how you specify the upsert directive for a predicate. +``` +email: string @index(exact) @upsert . +``` + +## Noconflict directive + +The NoConflict directive prevents conflict detection at the predicate level. This is an experimental feature and not a +recommended directive but exists to help avoid conflicts for predicates that don't have high +correctness requirements. This can cause data loss, especially when used for predicates with count +index. + +This is how you specify the `@noconflict` directive for a predicate. +``` +email: string @index(exact) @noconflict . +``` + +## RDF Types + +Dgraph supports a number of [RDF types in mutations]({{< relref "mutations/language-rdf-types.md" >}}). + +As well as implying a schema type for a [first mutation]({{< relref "#schema" >}}), an RDF type can override a schema type for storage. + +If a predicate has a schema type and a mutation has an RDF type with a different underlying Dgraph type, the convertibility to schema type is checked, and an error is thrown if they are incompatible, but the value is stored in the RDF type's corresponding Dgraph type. Query results are always returned in schema type. + +For example, if no schema is set for the `age` predicate. Given the mutation +``` +{ + set { + _:a "15"^^ . + _:b "13" . + _:c "14"^^ . + _:d "14.5"^^ . + _:e "14.5" . + } +} +``` +Dgraph: + +* sets the schema type to `int`, as implied by the first triple, +* converts `"13"` to `int` on storage, +* checks `"14"` can be converted to `int`, but stores as `string`, +* throws an error for the remaining two triples, because `"14.5"` can't be converted to `int`. + +## Extended Types + +The following types are also accepted. + +### Password type + +A password for an entity is set with setting the schema for the attribute to be of type `password`. Passwords cannot be queried directly, only checked for a match using the `checkpwd` function. +The passwords are encrypted using [bcrypt](https://en.wikipedia.org/wiki/Bcrypt). + +For example: to set a password, first set schema, then the password: +``` +pass: password . +``` + +``` +{ + set { + <0x123> "Password Example" . + <0x123> "ThePassword" . + } +} +``` + +to check a password: +``` +{ + check(func: uid(0x123)) { + name + checkpwd(pass, "ThePassword") + } +} +``` + +output: +``` +{ + "data": { + "check": [ + { + "name": "Password Example", + "checkpwd(pass)": true + } + ] + } +} +``` + +You can also use alias with password type. + +``` +{ + check(func: uid(0x123)) { + name + secret: checkpwd(pass, "ThePassword") + } +} +``` + +output: +``` +{ + "data": { + "check": [ + { + "name": "Password Example", + "secret": true + } + ] + } +} +``` + +## Indexing + +{{% notice "note" %}}Filtering on a predicate by applying a [function]({{< relref "#functions" >}}) requires an index.{{% /notice %}} + +When filtering by applying a function, Dgraph uses the index to make the search through a potentially large dataset efficient. + +All scalar types can be indexed. + +Types `int`, `float`, `bool` and `geo` have only a default index each: with tokenizers named `int`, `float`, `bool` and `geo`. + +Types `string` and `dateTime` have a number of indices. + +### String Indices +The indices available for strings are as follows. + +| Dgraph function | Required index / tokenizer | Notes | +| :----------------------- | :------------ | :--- | +| `eq` | `hash`, `exact`, `term`, or `fulltext` | The most performant index for `eq` is `hash`. Only use `term` or `fulltext` if you also require term or full-text search. If you're already using `term`, there is no need to use `hash` or `exact` as well. | +| `le`, `ge`, `lt`, `gt` | `exact` | Allows faster sorting. | +| `allofterms`, `anyofterms` | `term` | Allows searching by a term in a sentence. | +| `alloftext`, `anyoftext` | `fulltext` | Matching with language specific stemming and stopwords. | +| `regexp` | `trigram` | Regular expression matching. Can also be used for equality checking. | + +{{% notice "warning" %}} +Incorrect index choice can impose performance penalties and an increased +transaction conflict rate. Use only the minimum number of and simplest indexes +that your application needs. +{{% /notice %}} + + +### DateTime Indices + +The indices available for `dateTime` are as follows. + +| Index name / Tokenizer | Part of date indexed | +| :----------- | :------------------------------------------------------------------ | +| `year` | index on year (default) | +| `month` | index on year and month | +| `day` | index on year, month and day | +| `hour` | index on year, month, day and hour | + +The choices of `dateTime` index allow selecting the precision of the index. Applications, such as the movies examples in these docs, that require searching over dates but have relatively few nodes per year may prefer the `year` tokenizer; applications that are dependent on fine grained date searches, such as real-time sensor readings, may prefer the `hour` index. + + +All the `dateTime` indices are sortable. + + +### Sortable Indices + +Not all the indices establish a total order among the values that they index. Sortable indices allow inequality functions and sorting. + +* Indexes `int` and `float` are sortable. +* `string` index `exact` is sortable. +* All `dateTime` indices are sortable. + +For example, given an edge `name` of `string` type, to sort by `name` or perform inequality filtering on names, the `exact` index must have been specified. In which case a schema query would return at least the following tokenizers. + +``` +{ + "predicate": "name", + "type": "string", + "index": true, + "tokenizer": [ + "exact" + ] +} +``` + +### Count index + +For predicates with the `@count` Dgraph indexes the number of edges out of each node. This enables fast queries of the form: +``` +{ + q(func: gt(count(pred), threshold)) { + ... + } +} +``` + +## List Type + +Predicate with scalar types can also store a list of values if specified in the schema. The scalar +type needs to be enclosed within `[]` to indicate that its a list type. These lists are like an +unordered set. + +``` +occupations: [string] . +score: [int] . +``` + +* A set operation adds to the list of values. The order of the stored values is non-deterministic. +* A delete operation deletes the value from the list. +* Querying for these predicates would return the list in an array. +* Indexes can be applied on predicates which have a list type and you can use [Functions]({{}}) on them. +* Sorting is not allowed using these predicates. + +## Filtering on list + +Dgraph supports filtering based on the list. +Filtering works similarly to how it works on edges and has the same available functions. + +For example, `@filter(eq(occupations, "Teacher"))` at the root of the query or the +parent edge will display all the occupations from a list of each node in an array but +will only include nodes which have `Teacher` as one of the occupations. However, filtering +on value edge is not supported. + +## Reverse Edges + +A graph edge is unidirectional. For node-node edges, sometimes modeling requires reverse edges. If only some subject-predicate-object triples have a reverse, these must be manually added. But if a predicate always has a reverse, Dgraph computes the reverse edges if `@reverse` is specified in the schema. + +The reverse edge of `anEdge` is `~anEdge`. + +For existing data, Dgraph computes all reverse edges. For data added after the schema mutation, Dgraph computes and stores the reverse edge for each added triple. + +## Querying Schema + +A schema query queries for the whole schema: + +``` +schema {} +``` + +{{% notice "note" %}} Unlike regular queries, the schema query is not surrounded +by curly braces. Also, schema queries and regular queries cannot be combined. +{{% /notice %}} + +You can query for particular schema fields in the query body. + +``` +schema { + type + index + reverse + tokenizer + list + count + upsert + lang +} +``` + +You can also query for particular predicates: + +``` +schema(pred: [name, friend]) { + type + index + reverse + tokenizer + list + count + upsert + lang +} +``` + +Types can also be queried. Below are some example queries. + +``` +schema(type: Movie) {} +schema(type: [Person, Animal]) {} +``` + +Note that type queries do not contain anything between the curly braces. The +output will be the entire definition of the requested types. diff --git a/wiki/content/query-language/sorting.md b/wiki/content/query-language/sorting.md new file mode 100644 index 00000000000..b73f9558e31 --- /dev/null +++ b/wiki/content/query-language/sorting.md @@ -0,0 +1,76 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Sorting" +[menu.main] + parent = "query-language" + weight = 7 ++++ + +Syntax Examples: + +* `q(func: ..., orderasc: predicate)` +* `q(func: ..., orderdesc: val(varName))` +* `predicate (orderdesc: predicate) { ... }` +* `predicate @filter(...) (orderasc: N) { ... }` +* `q(func: ..., orderasc: predicate1, orderdesc: predicate2)` + +Sortable Types: `int`, `float`, `String`, `dateTime`, `default` + +Results can be sorted in ascending order (`orderasc`) or descending order (`orderdesc`) by a predicate or variable. + +For sorting on predicates with [sortable indices]({{< relref "#sortable-indices">}}), Dgraph sorts on the values and with the index in parallel and returns whichever result is computed first. + +Sorted queries retrieve up to 1000 results by default. This can be changed with [first]({{< relref "#first">}}). + + +Query Example: French director Jean-Pierre Jeunet's movies sorted by release date. + +{{< runnable >}} +{ + me(func: allofterms(name@en, "Jean-Pierre Jeunet")) { + name@fr + director.film(orderasc: initial_release_date) { + name@fr + name@en + initial_release_date + } + } +} +{{< /runnable >}} + +Sorting can be performed at root and on value variables. + +Query Example: All genres sorted alphabetically and the five movies in each genre with the most genres. + +{{< runnable >}} +{ + genres as var(func: has(~genre)) { + ~genre { + numGenres as count(genre) + } + } + + genres(func: uid(genres), orderasc: name@en) { + name@en + ~genre (orderdesc: val(numGenres), first: 5) { + name@en + genres : val(numGenres) + } + } +} +{{< /runnable >}} + +Sorting can also be performed by multiple predicates as shown below. If the values are equal for the +first predicate, then they are sorted by the second predicate and so on. + +Query Example: Find all nodes which have type Person, sort them by their first_name and among those +that have the same first_name sort them by last_name in descending order. + +``` +{ + me(func: type("Person"), orderasc: first_name, orderdesc: last_name) { + first_name + last_name + } +} +``` \ No newline at end of file diff --git a/wiki/content/query-language/type-system.md b/wiki/content/query-language/type-system.md new file mode 100644 index 00000000000..c915fc2c957 --- /dev/null +++ b/wiki/content/query-language/type-system.md @@ -0,0 +1,146 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Type System" +[menu.main] + parent = "query-language" + weight = 21 ++++ + +Dgraph supports a type system that can be used to categorize nodes and query +them based on their type. The type system is also used during expand queries. + +## Type definition + +Types are defined using a GraphQL-like syntax. For example: + +``` +type Student { + name + dob + home_address + year + friends +} +``` + +Types are declared along with the schema using the Alter endpoint. In order to +properly support the above type, a predicate for each of the attributes +in the type is also needed, such as: + +``` +name: string @index(term) . +dob: datetime . +home_address: string . +year: int . +friends: [uid] . +``` + +Reverse predicates can also be included inside a type definition. For example, the type above +could be expanded to include the parent of the student if there's a predicate `children` with +a reverse edge (the brackets around the predicate name are needed to properly understand the +special character `~`). + +``` +children: [uid] @reverse . + +type Student { + name + dob + home_address + year + friends + <~children> +} +``` + +Edges can be used in multiple types: for example, `name` might be used for both +a person and a pet. Sometimes, however, it's required to use a different +predicate for each type to represent a similar concept. For example, if student +names and book names required different indexes, then the predicates must be +different. + +``` +type Student { + student_name +} + +type Textbook { + textbook_name +} + +student_name: string @index(exact) . +textbook_name: string @lang @index(fulltext) . +``` + +Altering the schema for a type that already exists, overwrites the existing +definition. + +## Setting the type of a node + +Scalar nodes cannot have types since they only have one attribute and its type +is the type of the node. UID nodes can have a type. The type is set by setting +the value of the `dgraph.type` predicate for that node. A node can have multiple +types. Here's an example of how to set the types of a node: + +``` +{ + set { + _:a "Garfield" . + _:a "Pet" . + _:a "Animal" . + } +} +``` + +`dgraph.type` is a reserved predicate and cannot be removed or modified. + +## Using types during queries + +Types can be used as a top level function in the query language. For example: + +``` +{ + q(func: type(Animal)) { + uid + name + } +} +``` + +This query will only return nodes whose type is set to `Animal`. + +Types can also be used to filter results inside a query. For example: + +``` +{ + q(func: has(parent)) { + uid + parent @filter(type(Person)) { + uid + name + } + } +} +``` + +This query will return the nodes that have a parent predicate and only the +`parent`'s of type `Person`. + +## Deleting a type + +Type definitions can be deleted using the Alter endpoint. All that is needed is +to send an operation object with the field `DropOp` (or `drop_op` depending on +the client) to the enum value `TYPE` and the field 'DropValue' (or `drop_value`) +to the type that is meant to be deleted. + +Below is an example deleting the type `Person` using the Go client: +```go +err := c.Alter(context.Background(), &api.Operation{ + DropOp: api.Operation_TYPE, + DropValue: "Person"}) +``` + +## Expand queries and types + +Queries using [expand]({{< relref "#expand-predicates" >}}) (i.e.: +`expand(_all_)`) require that the nodes to be expanded have types. \ No newline at end of file diff --git a/wiki/content/query-language/value-variables.md b/wiki/content/query-language/value-variables.md new file mode 100644 index 00000000000..37158511751 --- /dev/null +++ b/wiki/content/query-language/value-variables.md @@ -0,0 +1,135 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Value Variables" +[menu.main] + parent = "query-language" + weight = 10 ++++ + + +Syntax Examples: + +* `varName as scalarPredicate` +* `varName as count(predicate)` +* `varName as avg(...)` +* `varName as math(...)` + +Types : `int`, `float`, `String`, `dateTime`, `default`, `geo`, `bool` + +Value variables store scalar values. Value variables are a map from the UIDs of the enclosing block to the corresponding values. + +It therefore only makes sense to use the values from a value variable in a context that matches the same UIDs - if used in a block matching different UIDs the value variable is undefined. + +It is an error to define a value variable but not use it elsewhere in the query. + +Value variables are used by extracting the values with `val(var-name)`, or by extracting the UIDs with `uid(var-name)`. + +[Facet]({{< relref "#facets-edge-attributes">}}) values can be stored in value variables. + +Query Example: The number of movie roles played by the actors of the 80's classic "The Princess Bride". Query variable `pbActors` matches the UIDs of all actors from the movie. Value variable `roles` is thus a map from actor UID to number of roles. Value variable `roles` can be used in the `totalRoles` query block because that query block also matches the `pbActors` UIDs, so the actor to number of roles map is available. + +{{< runnable >}} +{ + var(func:allofterms(name@en, "The Princess Bride")) { + starring { + pbActors as performance.actor { + roles as count(actor.film) + } + } + } + totalRoles(func: uid(pbActors), orderasc: val(roles)) { + name@en + numRoles : val(roles) + } +} +{{< /runnable >}} + + +Value variables can be used in place of UID variables by extracting the UID list from the map. + +Query Example: The same query as the previous example, but using value variable `roles` for matching UIDs in the `totalRoles` query block. + +{{< runnable >}} +{ + var(func:allofterms(name@en, "The Princess Bride")) { + starring { + performance.actor { + roles as count(actor.film) + } + } + } + totalRoles(func: uid(roles), orderasc: val(roles)) { + name@en + numRoles : val(roles) + } +} +{{< /runnable >}} + + +## Variable Propagation + +Like query variables, value variables can be used in other query blocks and in blocks nested within the defining block. When used in a block nested within the block that defines the variable, the value is computed as a sum of the variable for parent nodes along all paths to the point of use. This is called variable propagation. + +For example: +``` +{ + q(func: uid(0x01)) { + myscore as math(1) # A + friends { # B + friends { # C + ...myscore... + } + } + } +} +``` +At line A, a value variable `myscore` is defined as mapping node with UID `0x01` to value 1. At B, the value for each friend is still 1: there is only one path to each friend. Traversing the friend edge twice reaches the friends of friends. The variable `myscore` gets propagated such that each friend of friend will receive the sum of its parents values: if a friend of a friend is reachable from only one friend, the value is still 1, if they are reachable from two friends, the value is two and so on. That is, the value of `myscore` for each friend of friends inside the block marked C will be the number of paths to them. + +**The value that a node receives for a propagated variable is the sum of the values of all its parent nodes.** + +This propagation is useful, for example, in normalizing a sum across users, finding the number of paths between nodes and accumulating a sum through a graph. + + + +Query Example: For each Harry Potter movie, the number of roles played by actor Warwick Davis. +{{< runnable >}} +{ + num_roles(func: eq(name@en, "Warwick Davis")) @cascade @normalize { + + paths as math(1) # records number of paths to each character + + actor : name@en + + actor.film { + performance.film @filter(allofterms(name@en, "Harry Potter")) { + film_name : name@en + characters : math(paths) # how many paths (i.e. characters) reach this film + } + } + } +} +{{< /runnable >}} + + +Query Example: Each actor who has been in a Peter Jackson movie and the fraction of Peter Jackson movies they have appeared in. +{{< runnable >}} +{ + movie_fraction(func:eq(name@en, "Peter Jackson")) @normalize { + + paths as math(1) + total_films : num_films as count(director.film) + director : name@en + + director.film { + starring { + performance.actor { + fraction : math(paths / (num_films/paths)) + actor : name@en + } + } + } + } +} +{{< /runnable >}} + +More examples can be found in two Dgraph blog posts about using variable propagation for recommendation engines ([post 1](https://open.dgraph.io/post/recommendation/), [post 2](https://open.dgraph.io/post/recommendation2/)). \ No newline at end of file diff --git a/wiki/content/releases/_index.md b/wiki/content/releases/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/releases/index.md b/wiki/content/releases/index.md index 8dc6124c7a6..4d2819c4c1f 100644 --- a/wiki/content/releases/index.md +++ b/wiki/content/releases/index.md @@ -1,5 +1,10 @@ +++ title = "Dgraph Releases" +[menu.main] + url = "/releases/" + name = "Releases" + identifier = "releases" + weight = 14 +++ Dgraph releases starting with v20.03 follow [calendar versioning](https://calver.org). diff --git a/wiki/content/tips/_index.md b/wiki/content/tips/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tips/index.md b/wiki/content/tips/index.md index 96320febc72..86792d64732 100644 --- a/wiki/content/tips/index.md +++ b/wiki/content/tips/index.md @@ -1,5 +1,9 @@ +++ title = "GraphQL+-: Tips and Tricks" +[menu.main] + url = "/tips/" + identifier = "tips" + weight = 5 +++ ## Get Sample Data @@ -58,9 +62,9 @@ Use the `has` function among the value variables to search on non-indexed predic ## Sort edge by nested node values -Dgraph [sorting]({{< relref "query-language/index.md#sorting" >}}) is based on a single +Dgraph [sorting]({{< relref "query-language/sorting.md" >}}) is based on a single level of the subgraph. To sort a level by the values of a deeper level, use -[query variables]({{< relref "query-language/index.md#query-variables" >}}) to bring +[query variables]({{< relref "query-language/query-variables.md" >}}) to bring nested values up to the level of the edge to be sorted. Example: Get all actors from a Steven Spielberg movie sorted alphabetically. diff --git a/wiki/content/tutorial-1/_index.md b/wiki/content/tutorial-1/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-2/_index.md b/wiki/content/tutorial-2/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-3/_index.md b/wiki/content/tutorial-3/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-4/_index.md b/wiki/content/tutorial-4/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-5/_index.md b/wiki/content/tutorial-5/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-6/_index.md b/wiki/content/tutorial-6/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-7/_index.md b/wiki/content/tutorial-7/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-8/_index.md b/wiki/content/tutorial-8/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorial-8/index.md b/wiki/content/tutorial-8/index.md index d252a8a8400..4e116eeaa13 100644 --- a/wiki/content/tutorial-8/index.md +++ b/wiki/content/tutorial-8/index.md @@ -1667,11 +1667,11 @@ our newsletter to get the latest tutorial right into your inbox. ## What's Next? -- Go to [Clients]({{< relref "clients/index.md" >}}) to see how to communicate +- Go to [Clients]({{< relref "clients/_index.md" >}}) to see how to communicate with Dgraph from your application. - Take the [Tour](https://dgraph.io/tour/) for a guided tour of how to write queries in Dgraph. -- A wider range of queries can also be found in the [Query Language]({{< relref "query-language/index.md" >}}) reference. -- See [Deploy]({{< relref "deploy/index.md" >}}) if you wish to run Dgraph +- A wider range of queries can also be found in the [Query Language]({{< relref "query-language/_index.md" >}}) reference. +- See [Deploy]({{< relref "deploy/_index.md" >}}) if you wish to run Dgraph in a cluster. ## Need Help diff --git a/wiki/content/tutorials/_index.md b/wiki/content/tutorials/_index.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/wiki/content/tutorials/index.md b/wiki/content/tutorials/index.md index 35a0e7aaa7e..c138ec3b1b8 100644 --- a/wiki/content/tutorials/index.md +++ b/wiki/content/tutorials/index.md @@ -1,5 +1,10 @@ +++ title = "Tutorials - Get Started with Dgraph series" +[menu.main] + url = "/tutorials" + name = "Tutorials" + identifier = "tutorials" + weight = 3 +++ {{% notice "note" %}} @@ -114,11 +119,11 @@ single page quickstart guide [here]({{< relref "get-started/index.md" >}}). ## Where to go from here -- Go to [Clients]({{< relref "clients/index.md" >}}) to see how to communicate +- Go to [Clients]({{< relref "clients/_index.md" >}}) to see how to communicate with Dgraph from your application. - Take the [Tour](https://dgraph.io/tour/) for a guided tour of how to write queries in Dgraph. -- A wider range of queries can also be found in the [Query Language]({{< relref "query-language/index.md" >}}) reference. -- See [Deploy]({{< relref "deploy/index.md" >}}) if you wish to run Dgraph +- A wider range of queries can also be found in the [Query Language]({{< relref "query-language/_index.md" >}}) reference. +- See [Deploy]({{< relref "deploy/_index.md" >}}) if you wish to run Dgraph in a cluster. ## Need Help diff --git a/wiki/docker-compose.yml b/wiki/docker-compose.yml new file mode 100644 index 00000000000..dedccee1977 --- /dev/null +++ b/wiki/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3.8" +services: + nginx: + image: nginx:1.19.0 + volumes: + - "./public:/home/ubuntu/dgraph/wiki/public:ro" + - "./nginx/docs.conf:/etc/nginx/conf.d/default.conf:ro" + ports: + - 80:80 diff --git a/wiki/nginx/docs.conf b/wiki/nginx/docs.conf index 875793edf7d..2f061683327 100644 --- a/wiki/nginx/docs.conf +++ b/wiki/nginx/docs.conf @@ -1,6 +1,5 @@ server { listen 80; - server_name docs.dgraph.io; # TODO: Need to check if we still need this - if so, need to change to dgraph.io/docs/ root /home/ubuntu/dgraph/wiki/public; add_header Cache-Control "no-cache"; rewrite ^/v0.7.4/deploy$ https://dgraph.io/docs/deploy permanent; @@ -12,6 +11,19 @@ server { rewrite ^/v0.7.6/query-language$ https://dgraph.io/docs/query-language permanent; rewrite ^/v0.7.7/query-language$ https://dgraph.io/docs/query-language permanent; rewrite ^/v0.8.3/query-language$ https://dgraph.io/docs/query-language permanent; + + rewrite ^(/v20.03.4/((query-language)|(mutations)|(clients)|(deploy)|(enterprise-features)|(howto)|(design-concepts)))/(.*)$ $1 redirect; + + rewrite ^(/v20.03.3/((query-language)|(mutations)|(clients)|(deploy)|(enterprise-features)|(howto)|(design-concepts)))/(.*)$ $1 redirect; + + rewrite ^(/v20.03.2/((query-language)|(mutations)|(clients)|(deploy)|(enterprise-features)|(howto)|(design-concepts)))/(.*)$ $1 redirect; + + rewrite ^(/v20.03.1/((query-language)|(mutations)|(clients)|(deploy)|(enterprise-features)|(howto)|(design-concepts)))/(.*)$ $1 redirect; + + rewrite ^(/v20.03.0/((query-language)|(mutations)|(clients)|(deploy)|(enterprise-features)|(howto)|(design-concepts)))/(.*)$ $1 redirect; + + rewrite ^(/v1.*/((query-language)|(mutations)|(clients)|(deploy)|(enterprise-features)|(howto)|(design-concepts)))/(.*)$ $1 redirect; + location / { try_files $uri $uri/index.html /404.html; } diff --git a/wiki/scripts/build.sh b/wiki/scripts/build.sh index 21b66e9fda9..f9b858e109f 100755 --- a/wiki/scripts/build.sh +++ b/wiki/scripts/build.sh @@ -18,6 +18,8 @@ PUBLIC="${PUBLIC:-public}" LOOP="${LOOP:-true}" # Binary of hugo command to run. HUGO="${HUGO:-hugo}" +OLD_THEME="old-theme" +NEW_THEME="master" # TODO - Maybe get list of released versions from Github API and filter # those which have docs. @@ -26,9 +28,16 @@ HUGO="${HUGO:-hugo}" # append '(latest)' to the version string, followed by the master version, # and then the older versions in descending order, such that the # build script can place the artifact in an appropriate location. -VERSIONS_ARRAY=( - 'v20.03.4' + + +# these versions use new theme +NEW_VERSIONS=( 'master' +) + +# these versions use old theme +OLD_VERSIONS=( + 'v20.03.4' 'v20.03.3' 'v20.03.1' 'v20.03.0' @@ -52,6 +61,8 @@ VERSIONS_ARRAY=( 'v1.0.6' ) +VERSIONS_ARRAY=("${NEW_VERSIONS[@]}" "${OLD_VERSIONS[@]}") + joinVersions() { versions=$(printf ",%s" "${VERSIONS_ARRAY[@]}") echo "${versions:1}" @@ -139,21 +150,42 @@ while true; do currentBranch=$(git rev-parse --abbrev-ref HEAD) - # Lets check if the theme was updated. + if [ "$firstRun" = 1 ]; + then + # clone the hugo-docs theme if not already there + [ ! -d 'themes/hugo-docs' ] && git clone https://github.com/dgraph-io/hugo-docs themes/hugo-docs + fi + + # Lets check if the new theme was updated. pushd themes/hugo-docs > /dev/null git remote update > /dev/null themeUpdated=1 - if branchUpdated "master" ; then + if branchUpdated "${NEW_THEME}" ; then echo -e "$(date) $GREEN Theme has been updated. Now will update the docs.$RESET" themeUpdated=0 fi popd > /dev/null - # Now lets check the theme. echo -e "$(date) Starting to check branches." git remote update > /dev/null - for version in "${VERSIONS_ARRAY[@]}" + for version in "${NEW_VERSIONS[@]}" + do + checkAndUpdate "$version" + done + + # Lets check if the old theme was updated. + pushd themes/hugo-docs > /dev/null + themeUpdated=1 + if branchUpdated "${OLD_THEME}" ; then + echo -e "$(date) $GREEN Theme has been updated. Now will update the docs.$RESET" + themeUpdated=0 + fi + popd > /dev/null + + git remote update > /dev/null + + for version in "${OLD_VERSIONS[@]}" do checkAndUpdate "$version" done diff --git a/wiki/scripts/docker.sh b/wiki/scripts/docker.sh new file mode 100755 index 00000000000..19cd4efaae4 --- /dev/null +++ b/wiki/scripts/docker.sh @@ -0,0 +1,11 @@ +#!/bin/bash +cd "$(dirname "$0")" || exit + +export HUGO_CANONIFYURLS=false +HOST="http://localhost/docs" \ + PUBLIC="./public/docs" \ + LOOP=false \ + ./build.sh + +cd .. +docker-compose up From 665a54507fccdeebc013c0e938bed2d0c53521d2 Mon Sep 17 00:00:00 2001 From: Daniel Mai Date: Tue, 4 Aug 2020 13:34:31 -0700 Subject: [PATCH 039/151] docs(build): Set v20.07 docs as latest. (#6132) --- wiki/scripts/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki/scripts/build.sh b/wiki/scripts/build.sh index f9b858e109f..b568d417b3b 100755 --- a/wiki/scripts/build.sh +++ b/wiki/scripts/build.sh @@ -29,9 +29,9 @@ NEW_THEME="master" # and then the older versions in descending order, such that the # build script can place the artifact in an appropriate location. - # these versions use new theme NEW_VERSIONS=( + 'v20.07' 'master' ) From 9d7fc94c4c1e712cf6090581e7d35290c77b6d18 Mon Sep 17 00:00:00 2001 From: Martin Martinez Rivera Date: Tue, 4 Aug 2020 14:51:36 -0700 Subject: [PATCH 040/151] fix(Dgraph): Don't store start_ts in postings. (#6127) Clear out the start_ts field in the postings of deltas before they are marshalled to avoid storing that field in disk. This field is only meant to be used during in-memory processing. Related to https://discuss.dgraph.io/t/start-ts-not-being-cleared-before-postings-are-written-to-disk/9146 --- posting/list.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/posting/list.go b/posting/list.go index 22599176133..f3eca17c2a2 100644 --- a/posting/list.go +++ b/posting/list.go @@ -521,6 +521,9 @@ func (l *List) getMutation(startTs uint64) []byte { l.RLock() defer l.RUnlock() if pl, ok := l.mutationMap[startTs]; ok { + for _, p := range pl.GetPostings() { + p.StartTs = 0 + } data, err := pl.Marshal() x.Check(err) return data @@ -588,6 +591,7 @@ func (l *List) pickPostings(readTs uint64) (uint64, []*pb.Posting) { deleteBelowTs = effectiveTs continue } + mpost.StartTs = startTs posts = append(posts, mpost) } } From aca09216f0cfa5a125a81235127285d45e2fe546 Mon Sep 17 00:00:00 2001 From: parasssh Date: Tue, 4 Aug 2020 15:28:17 -0700 Subject: [PATCH 041/151] fix(rollups): rollup a batch if more than 2 seconds elapsed since last batch (#6118) --- posting/mvcc.go | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/posting/mvcc.go b/posting/mvcc.go index c15b8744618..2f5b3d0a9d1 100644 --- a/posting/mvcc.go +++ b/posting/mvcc.go @@ -112,6 +112,28 @@ func (ir *incrRollupi) Process(closer *y.Closer) { defer limiter.Stop() cleanupTick := time.NewTicker(5 * time.Minute) defer cleanupTick.Stop() + forceRollupTick := time.NewTicker(2 * time.Second) + defer forceRollupTick.Stop() + + var batch *[][]byte + + doRollup := func() { + currTs := time.Now().Unix() + for _, key := range *batch { + hash := z.MemHash(key) + if elem := m[hash]; currTs-elem >= 10 { + // Key not present or Key present but last roll up was more than 10 sec ago. + // Add/Update map and rollup. + m[hash] = currTs + if err := ir.rollUpKey(writer, key); err != nil { + glog.Warningf("Error %v rolling up key %v\n", err, key) + } + } + } + // clear the batch and put it back in Sync keysPool + *batch = (*batch)[:0] + ir.keysPool.Put(batch) + } for { select { @@ -125,23 +147,15 @@ func (ir *incrRollupi) Process(closer *y.Closer) { delete(m, hash) } } - case batch := <-ir.keysCh: - currTs := time.Now().Unix() - for _, key := range *batch { - hash := z.MemHash(key) - if elem := m[hash]; currTs-elem >= 10 { - // Key not present or Key present but last roll up was more than 10 sec ago. - // Add/Update map and rollup. - m[hash] = currTs - if err := ir.rollUpKey(writer, key); err != nil { - glog.Warningf("Error %v rolling up key %v\n", err, key) - } - } + case <-forceRollupTick.C: + batch = ir.keysPool.Get().(*[][]byte) + if len(*batch) > 0 { + doRollup() + } else { + ir.keysPool.Put(batch) } - // clear the batch and put it back in Sync keysPool - *batch = (*batch)[:0] - ir.keysPool.Put(batch) - + case batch = <-ir.keysCh: + doRollup() // throttle to 1 batch = 64 rollups per 100 ms. <-limiter.C } From e199e55066802ecfb3b9adf9a9f3285e5d45defb Mon Sep 17 00:00:00 2001 From: ahsanbarkati Date: Thu, 6 Aug 2020 17:08:30 +0530 Subject: [PATCH 042/151] fix(dgraph): Fixes misleading error about invalid hostname (#6037) The issue was that when starting alpha with `--my` option and the port is not specified, or the port is invalid, or in general if there is any issue with the format of `hostname:port` then the same error was logged as "hostname is not valid" This change improves this error log by logging the exact reason about why the hostname:port is not accepted. --- go.sum | 1 + worker/groups.go | 3 +-- x/x.go | 15 +++++++++------ x/x_test.go | 40 ++++++++++++++++++++++++---------------- 4 files changed, 35 insertions(+), 24 deletions(-) diff --git a/go.sum b/go.sum index 59a58118f0d..41a2b47a67f 100644 --- a/go.sum +++ b/go.sum @@ -401,6 +401,7 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= diff --git a/worker/groups.go b/worker/groups.go index 690c702c6c2..ac4f4b0156c 100644 --- a/worker/groups.go +++ b/worker/groups.go @@ -79,8 +79,7 @@ func StartRaftNodes(walStore *badger.DB, bindall bool) { x.WorkerConfig.MyAddr = fmt.Sprintf("localhost:%d", workerPort()) } else { // check if address is valid or not - ok := x.ValidateAddress(x.WorkerConfig.MyAddr) - x.AssertTruef(ok, "%s is not valid address", x.WorkerConfig.MyAddr) + x.Check(x.ValidateAddress(x.WorkerConfig.MyAddr)) if !bindall { glog.Errorln("--my flag is provided without bindall, Did you forget to specify bindall?") } diff --git a/x/x.go b/x/x.go index 53db9638dee..affbc1167da 100644 --- a/x/x.go +++ b/x/x.go @@ -572,22 +572,25 @@ func PageRange(count, offset, n int) (int, int) { } // ValidateAddress checks whether given address can be used with grpc dial function -func ValidateAddress(addr string) bool { +func ValidateAddress(addr string) error { host, port, err := net.SplitHostPort(addr) if err != nil { - return false + return err } if p, err := strconv.Atoi(port); err != nil || p <= 0 || p >= 65536 { - return false + return errors.Errorf("Invalid port: %v", p) } if ip := net.ParseIP(host); ip != nil { - return true + return nil } // try to parse as hostname as per hostname RFC if len(strings.Replace(host, ".", "", -1)) > 255 { - return false + return errors.Errorf("Hostname should be less than or equal to 255 characters") + } + if !regExpHostName.MatchString(host) { + return errors.Errorf("Invalid hostname: %v", host) } - return regExpHostName.MatchString(host) + return nil } // RemoveDuplicates sorts the slice of strings and removes duplicates. changes the input slice. diff --git a/x/x_test.go b/x/x_test.go index b5d49a15084..90bf0e9052c 100644 --- a/x/x_test.go +++ b/x/x_test.go @@ -66,19 +66,23 @@ func TestValidateAddress(t *testing.T) { testData := []struct { name string address string - isValid bool + err string }{ - {"Valid without port", "190.0.0.1", false}, - {"Valid with port", "192.5.32.1:333", true}, - {"Invalid without port", "12.0.0", false}, + {"Valid without port", "190.0.0.1", "address 190.0.0.1: missing port in address"}, + {"Valid with port", "192.5.32.1:333", ""}, + {"Invalid without port", "12.0.0", "address 12.0.0: missing port in address"}, // the following test returns true because 12.0.0 is considered as valid // hostname - {"Invalid with port", "12.0.0:3333", true}, + {"Valid with port", "12.0.0:3333", ""}, + {"Invalid port", "190.0.0.1:222222", "Invalid port: 222222"}, } - for _, subtest := range testData { - st := subtest + for _, st := range testData { t.Run(st.name, func(t *testing.T) { - require.Equal(t, st.isValid, ValidateAddress(st.address)) + if len(st.err) != 0 { + require.EqualError(t, ValidateAddress(st.address), st.err) + } else { + require.NoError(t, ValidateAddress(st.address)) + } }) } @@ -87,17 +91,21 @@ func TestValidateAddress(t *testing.T) { testData := []struct { name string address string - isValid bool + err string }{ - {"Valid without port", "[2001:db8::1]", false}, - {"Valid with port", "[2001:db8::1]:8888", true}, - {"Invalid without port", "[2001:db8]", false}, - {"Invalid with port", "[2001:db8]:2222", false}, + {"Valid without port", "[2001:db8::1]", "address [2001:db8::1]: missing port in address"}, + {"Valid with port", "[2001:db8::1]:8888", ""}, + {"Invalid without port", "[2001:db8]", "address [2001:db8]: missing port in address"}, + {"Invalid with port", "[2001:db8]:2222", "Invalid hostname: 2001:db8"}, + {"Invalid port", "[2001:db8::1]:222222", "Invalid port: 222222"}, } - for _, subtest := range testData { - st := subtest + for _, st := range testData { t.Run(st.name, func(t *testing.T) { - require.Equal(t, st.isValid, ValidateAddress(st.address)) + if len(st.err) != 0 { + require.EqualError(t, ValidateAddress(st.address), st.err) + } else { + require.NoError(t, ValidateAddress(st.address)) + } }) } }) From bb8e4b9d5456cc05a1abd15933b95881ca8e156b Mon Sep 17 00:00:00 2001 From: Pawan Rawal Date: Thu, 6 Aug 2020 17:50:07 +0530 Subject: [PATCH 043/151] fix(GraphQL): Fix getType queries when id was used as a name for types other than ID (#6130) For the schema type Tweets { id: String! @id score: Int } getTweets query was not being properly re-written. This is because we were using the name id to signify that a field is of type ID instead of the type ID itself. That has been fixed now. So getTweets would work if the field was named anything. query MyQuery { getTweets(id: "1286891968727982081") { score id } } --- graphql/resolve/query_test.yaml | 20 ++++++++++++++++++-- graphql/resolve/schema.graphql | 5 +++++ graphql/schema/wrappers.go | 16 ++++++++++++---- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/graphql/resolve/query_test.yaml b/graphql/resolve/query_test.yaml index 001198bc580..1912632b74b 100644 --- a/graphql/resolve/query_test.yaml +++ b/graphql/resolve/query_test.yaml @@ -1326,7 +1326,7 @@ } } } - dgquery: | + dgquery: |- query { getPost(func: uid(0x1)) @filter(type(Post)) { postID : uid @@ -1338,4 +1338,20 @@ url : Comment.url } } - } \ No newline at end of file + } +- name: "getType by id should work" + gqlquery: |- + query { + getTweets(id: "1286891968727982081") { + score + id + } + } + dgquery: |- + query { + getTweets(func: eq(Tweets.id, "1286891968727982081")) @filter(type(Tweets)) { + score : Tweets.score + id : Tweets.id + dgraph.uid : uid + } + } diff --git a/graphql/resolve/schema.graphql b/graphql/resolve/schema.graphql index 806b2cf47bc..c3e0797565f 100644 --- a/graphql/resolve/schema.graphql +++ b/graphql/resolve/schema.graphql @@ -239,3 +239,8 @@ type Y implements X @auth( ){ userRole: String @search(by: [hash]) } + +type Tweets { + id: String! @id + score: Int +} \ No newline at end of file diff --git a/graphql/schema/wrappers.go b/graphql/schema/wrappers.go index 9cecae14236..fb5d402fdb2 100644 --- a/graphql/schema/wrappers.go +++ b/graphql/schema/wrappers.go @@ -88,7 +88,6 @@ const ( HTTPMutation MutationType = "http" NotSupportedMutation MutationType = "notsupported" IDType = "ID" - IDArgName = "id" InputArgName = "input" FilterArgName = "filter" ) @@ -742,8 +741,17 @@ func (f *field) HasCustomDirective() (bool, map[string]bool) { func (f *field) XIDArg() string { xidArgName := "" passwordField := f.Type().PasswordField() - for _, arg := range f.field.Arguments { - if arg.Name != IDArgName && (passwordField == nil || + + args := f.field.Definition.Arguments + if len(f.field.Definition.Arguments) == 0 { + // For acl endpoints like getCurrentUser which redirects to getUser resolver, the field + // definition doesn't change and hence we can't find the arguments for getUser. As a + // fallback, we get the args from the query field arguments in that case. + args = f.op.inSchema.schema.Query.Fields.ForName(f.Name()).Arguments + } + + for _, arg := range args { + if arg.Type.Name() != IDType && (passwordField == nil || arg.Name != passwordField.Name()) { xidArgName = arg.Name } @@ -1639,7 +1647,7 @@ func (t *astType) Interfaces() []string { // satisfy a valid post. func (t *astType) EnsureNonNulls(obj map[string]interface{}, exclusion string) error { for _, fld := range t.inSchema.schema.Types[t.Name()].Fields { - if fld.Type.NonNull && !isID(fld) && !(fld.Name == exclusion) { + if fld.Type.NonNull && !isID(fld) && fld.Name != exclusion { if val, ok := obj[fld.Name]; !ok || val == nil { return errors.Errorf( "type %s requires a value for field %s, but no value present", From 885ef676fb3b6ab3ab1005ff539a1002e638c802 Mon Sep 17 00:00:00 2001 From: Ibrahim Jarif Date: Thu, 6 Aug 2020 22:36:14 +0530 Subject: [PATCH 044/151] fix(bulk loader): Remove redundant option set (#6119) The compression level is set in the `setBadgerOptions` function and setting `compressionLevel` before calling that function is a no-op since we will overwrite the value in the `setBadgerOptions` function. This PR removes the redundant setting of the option. --- dgraph/cmd/bulk/reduce.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dgraph/cmd/bulk/reduce.go b/dgraph/cmd/bulk/reduce.go index 880f3242699..82cabbcdea0 100644 --- a/dgraph/cmd/bulk/reduce.go +++ b/dgraph/cmd/bulk/reduce.go @@ -131,7 +131,7 @@ func (r *reducer) createBadgerInternal(dir string, compression bool) *badger.DB opt := badger.DefaultOptions(dir).WithSyncWrites(false). WithTableLoadingMode(bo.MemoryMap).WithValueThreshold(1 << 10 /* 1 KB */). WithLogger(nil).WithMaxCacheSize(1 << 20). - WithEncryptionKey(r.opt.EncryptionKey).WithCompression(bo.None) + WithEncryptionKey(r.opt.EncryptionKey) // Overwrite badger options based on the options provided by the user. r.setBadgerOptions(&opt, compression) From fa013db935cdc64ca5eb31139057528d83751a3b Mon Sep 17 00:00:00 2001 From: Martin Martinez Rivera Date: Thu, 6 Aug 2020 16:05:28 -0700 Subject: [PATCH 045/151] fix(Dgraph): Perform rollups more aggresively. (#6143) - Reduce batch size to 16. - Force a rollup to happen every 500ms instead of 2s. Related to DGRAPH-2202 --- posting/mvcc.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/posting/mvcc.go b/posting/mvcc.go index 2f5b3d0a9d1..cc575e5d31c 100644 --- a/posting/mvcc.go +++ b/posting/mvcc.go @@ -86,7 +86,7 @@ func (ir *incrRollupi) rollUpKey(writer *TxnWriter, key []byte) error { func (ir *incrRollupi) addKeyToBatch(key []byte) { batch := ir.keysPool.Get().(*[][]byte) *batch = append(*batch, key) - if len(*batch) < 64 { + if len(*batch) < 16 { ir.keysPool.Put(batch) return } @@ -112,7 +112,7 @@ func (ir *incrRollupi) Process(closer *y.Closer) { defer limiter.Stop() cleanupTick := time.NewTicker(5 * time.Minute) defer cleanupTick.Stop() - forceRollupTick := time.NewTicker(2 * time.Second) + forceRollupTick := time.NewTicker(500 * time.Millisecond) defer forceRollupTick.Stop() var batch *[][]byte From 898a8f32527a8a2726ea9f9e803c519b153a052d Mon Sep 17 00:00:00 2001 From: Balaji Jinnah Date: Fri, 7 Aug 2020 12:44:15 +0530 Subject: [PATCH 046/151] feat(dgraph): Add suport for RDF query. (#6038) --- edgraph/server.go | 2 + go.mod | 2 +- go.sum | 4 +- query/common_test.go | 14 +++ query/outputrdf.go | 236 +++++++++++++++++++++++++++++++++++++++ query/rdf_result_test.go | 205 ++++++++++++++++++++++++++++++++++ 6 files changed, 460 insertions(+), 3 deletions(-) create mode 100644 query/outputrdf.go create mode 100644 query/rdf_result_test.go diff --git a/edgraph/server.go b/edgraph/server.go index b46494c89bc..f683cb861fb 100644 --- a/edgraph/server.go +++ b/edgraph/server.go @@ -1074,6 +1074,8 @@ func processQuery(ctx context.Context, qc *queryContext) (*api.Response, error) respMap["types"] = formatTypes(er.Types) } resp.Json, err = json.Marshal(respMap) + } else if qc.req.RespFormat == api.Request_RDF { + resp.Rdf, err = query.ToRDF(qc.latency, er.Subgraphs) } else { resp.Json, err = query.ToJson(qc.latency, er.Subgraphs) } diff --git a/go.mod b/go.mod index a3d0573f9f6..ea3143419af 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/blevesearch/snowballstem v0.0.0-20180110192139-26b06a2c243d // indirect github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd github.com/dgraph-io/badger/v2 v2.0.1-rc1.0.20200718033852-37ee16d8ad1c - github.com/dgraph-io/dgo/v200 v200.0.0-20200401175452-e463f9234453 + github.com/dgraph-io/dgo/v200 v200.0.0-20200805103119-a3544c464dd6 github.com/dgraph-io/graphql-transport-ws v0.0.0-20200715131837-c0460019ead2 github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de github.com/dgrijalva/jwt-go v3.2.0+incompatible diff --git a/go.sum b/go.sum index 41a2b47a67f..572c96d067d 100644 --- a/go.sum +++ b/go.sum @@ -80,8 +80,8 @@ github.com/dgraph-io/badger v1.6.0 h1:DshxFxZWXUcO0xX476VJC07Xsr6ZCBVRHKZ93Oh7Ev github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v2 v2.0.1-rc1.0.20200718033852-37ee16d8ad1c h1:LoEZfU53r3H1et4WY9M0h1c3fuCljBnn3pk/7TB5eWY= github.com/dgraph-io/badger/v2 v2.0.1-rc1.0.20200718033852-37ee16d8ad1c/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= -github.com/dgraph-io/dgo/v200 v200.0.0-20200401175452-e463f9234453 h1:DTgOrw91nMIukDm/WEvdobPLl0LgeDd/JE66+24jBks= -github.com/dgraph-io/dgo/v200 v200.0.0-20200401175452-e463f9234453/go.mod h1:Co+FwJrnndSrPORO8Gdn20dR7FPTfmXr0W/su0Ve/Ig= +github.com/dgraph-io/dgo/v200 v200.0.0-20200805103119-a3544c464dd6 h1:toHzMCdCUgYsjM0cW9+wafnKFXfp1HizIJUyzihN+vk= +github.com/dgraph-io/dgo/v200 v200.0.0-20200805103119-a3544c464dd6/go.mod h1:rHa+h3kI4M8ASOirxyIyNeXBfHFgeskVUum2OrDMN3U= github.com/dgraph-io/graphql-transport-ws v0.0.0-20200715131837-c0460019ead2 h1:NSl3XXyON9bgmBJSAvr5FPrgILAovtoTs7FwdtaZZq0= github.com/dgraph-io/graphql-transport-ws v0.0.0-20200715131837-c0460019ead2/go.mod h1:7z3c/5w0sMYYZF5bHsrh8IH4fKwG5O5Y70cPH1ZLLRQ= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de h1:t0UHb5vdojIDUqktM6+xJAfScFBsVpXZmqC9dsgJmeA= diff --git a/query/common_test.go b/query/common_test.go index dbcffd0eeae..65ab6b00081 100644 --- a/query/common_test.go +++ b/query/common_test.go @@ -69,6 +69,20 @@ func processQuery(ctx context.Context, t *testing.T, query string) (string, erro return string(jsonResponse), err } +func processQueryRDF(ctx context.Context, t *testing.T, query string) (string, error) { + txn := client.NewTxn() + defer txn.Discard(ctx) + + res, err := txn.Do(ctx, &api.Request{ + Query: query, + RespFormat: api.Request_RDF, + }) + if err != nil { + return "", err + } + return string(res.Rdf), err +} + func processQueryNoErr(t *testing.T, query string) string { res, err := processQuery(context.Background(), t, query) require.NoError(t, err) diff --git a/query/outputrdf.go b/query/outputrdf.go new file mode 100644 index 00000000000..6fc364aaeec --- /dev/null +++ b/query/outputrdf.go @@ -0,0 +1,236 @@ +/* + * Copyright 2017-2020 Dgraph Labs, Inc. and Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package query + +import ( + "bytes" + "fmt" + "strconv" + + "github.com/dgraph-io/dgraph/algo" + "github.com/dgraph-io/dgraph/protos/pb" + "github.com/dgraph-io/dgraph/types" + "github.com/dgraph-io/dgraph/x" + "github.com/pkg/errors" +) + +// rdfBuilder is used to generate RDF from subgraph. +type rdfBuilder struct { + buf *bytes.Buffer +} + +// ToRDF converts the given subgraph list into rdf format. +func ToRDF(l *Latency, sgl []*SubGraph) ([]byte, error) { + b := &rdfBuilder{ + buf: &bytes.Buffer{}, + } + for _, sg := range sgl { + if err := validateSubGraphForRDF(sg); err != nil { + return nil, err + } + // Skip parent graph. we don't want parent values. + for _, child := range sg.Children { + if err := b.castToRDF(child); err != nil { + return nil, err + } + } + } + return b.buf.Bytes(), nil +} + +// castToRDF converts the given subgraph to RDF and appends to the +// output string. +func (b *rdfBuilder) castToRDF(sg *SubGraph) error { + if err := validateSubGraphForRDF(sg); err != nil { + return err + } + if sg.SrcUIDs != nil { + // Get RDF for the given subgraph. + if err := b.rdfForSubgraph(sg); err != nil { + return err + } + } + // Recursively cnvert RDF for the children graph. + for _, child := range sg.Children { + if err := b.castToRDF(child); err != nil { + return err + } + } + return nil +} + +// rdfForSubgraph generates RDF and appends to the output parameter. +func (b *rdfBuilder) rdfForSubgraph(sg *SubGraph) error { + for i, uid := range sg.SrcUIDs.Uids { + if sg.Params.IgnoreResult { + // Skip ignored values. + continue + } + if sg.IsInternal() { + if sg.Params.Expand != "" { + continue + } + // Check if we have val for the given uid. If you got uid then populate + // the rdf. + val, ok := sg.Params.UidToVal[uid] + if !ok && val.Value == nil { + continue + } + outputval, err := getObjectVal(val) + if err != nil { + continue + } + b.writeRDF(uid, []byte(sg.aggWithVarFieldName()), outputval) + continue + } + switch { + case len(sg.counts) > 0: + // Add count rdf. + b.rdfForCount(uid, sg.counts[i], sg) + case i < len(sg.uidMatrix) && len(sg.uidMatrix[i].Uids) != 0: + // Add posting list relation. + b.rdfForUIDList(uid, sg.uidMatrix[i], sg) + case i < len(sg.valueMatrix): + b.rdfForValueList(uid, sg.valueMatrix[i], sg.fieldName()) + } + } + return nil +} + +func (b *rdfBuilder) writeRDF(subject uint64, predicate []byte, object []byte) { + // add subject + b.writeTriple([]byte(fmt.Sprintf("%#x", subject))) + x.Check(b.buf.WriteByte(' ')) + // add predicate + b.writeTriple(predicate) + x.Check(b.buf.WriteByte(' ')) + // add object + x.Check2(b.buf.Write(object)) + x.Check(b.buf.WriteByte(' ')) + x.Check(b.buf.WriteByte('.')) + x.Check(b.buf.WriteByte('\n')) +} + +func (b *rdfBuilder) writeTriple(val []byte) { + x.Check(b.buf.WriteByte('<')) + x.Check2(b.buf.Write(val)) + x.Check(b.buf.WriteByte('>')) +} + +// rdfForCount returns rdf for count fucntion. +func (b *rdfBuilder) rdfForCount(subject uint64, count uint32, sg *SubGraph) { + fieldName := sg.Params.Alias + if fieldName == "" { + fieldName = fmt.Sprintf("count(%s)", sg.Attr) + } + b.writeRDF(subject, []byte(fieldName), + quotedNumber([]byte(strconv.FormatUint(uint64(count), 10)))) +} + +// rdfForUIDList returns rdf for uid list. +func (b *rdfBuilder) rdfForUIDList(subject uint64, list *pb.List, sg *SubGraph) { + for _, destUID := range list.Uids { + if algo.IndexOf(sg.DestUIDs, destUID) < 0 { + // This uid is filtered. + continue + } + // Build object. + b.writeRDF( + subject, + []byte(sg.fieldName()), + buildTriple([]byte(fmt.Sprintf("%#x", destUID)))) + } +} + +// rdfForValueList returns rdf for the value list. +func (b *rdfBuilder) rdfForValueList(subject uint64, valueList *pb.ValueList, attr string) { + if attr == "uid" { + b.writeRDF(subject, + []byte(attr), + buildTriple([]byte(fmt.Sprintf("%#x", subject)))) + return + } + for _, destValue := range valueList.Values { + val, err := convertWithBestEffort(destValue, attr) + if err != nil { + continue + } + outputval, err := getObjectVal(val) + if err != nil { + continue + } + b.writeRDF(subject, []byte(attr), outputval) + } +} + +func getObjectVal(v types.Val) ([]byte, error) { + outputval, err := valToBytes(v) + if err != nil { + return nil, err + } + switch v.Tid { + case types.UidID: + return buildTriple(outputval), nil + case types.IntID: + return quotedNumber(outputval), nil + case types.FloatID: + return quotedNumber(outputval), nil + case types.GeoID: + return nil, errors.New("Geo id is not supported in rdf output") + default: + return outputval, nil + } +} + +func buildTriple(val []byte) []byte { + buf := make([]byte, 0, 2+len(val)) + buf = append(buf, '<') + buf = append(buf, val...) + buf = append(buf, '>') + return buf +} + +func validateSubGraphForRDF(sg *SubGraph) error { + if sg.IsGroupBy() { + return errors.New("groupby is not supported in rdf output format") + } + uidCount := sg.Attr == "uid" && sg.Params.DoCount && sg.IsInternal() + if uidCount { + return errors.New("uid count is not supported in the rdf output format") + } + if sg.Params.Normalize { + return errors.New("normalize directive is not supported in the rdf output format") + } + if sg.Params.IgnoreReflex { + return errors.New("ignorereflex directive is not supported in the rdf output format") + } + if sg.SrcFunc != nil && sg.SrcFunc.Name == "checkpwd" { + return errors.New("chkpwd function is not supported in the rdf output format") + } + if sg.Params.Facet != nil && !sg.Params.ExpandAll { + return errors.New("facets are not supported in the rdf output format") + } + return nil +} + +func quotedNumber(val []byte) []byte { + tmpVal := make([]byte, 0, len(val)+2) + tmpVal = append(tmpVal, '"') + tmpVal = append(tmpVal, val...) + tmpVal = append(tmpVal, '"') + return tmpVal +} diff --git a/query/rdf_result_test.go b/query/rdf_result_test.go new file mode 100644 index 00000000000..e91b5effff6 --- /dev/null +++ b/query/rdf_result_test.go @@ -0,0 +1,205 @@ +/* + * Copyright 2020 Dgraph Labs, Inc. and Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package query + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestRDFResult(t *testing.T) { + query := `{ + friends_15_and_19(func: uid(1)) { + name + friend @filter(ge(age, 15) AND lt(age, 19)) { + name + age + } + } + }` + + rdf, err := processQueryRDF(context.Background(), t, query) + require.NoError(t, err) + require.Equal(t, rdf, `<0x1> "Michonne" . +<0x1> <0x17> . +<0x1> <0x18> . +<0x1> <0x19> . +<0x17> "Rick Grimes" . +<0x18> "Glenn Rhee" . +<0x19> "Daryl Dixon" . +<0x17> "15" . +<0x18> "15" . +<0x19> "17" . +`) +} + +func TestRDFNormalize(t *testing.T) { + query := ` + { + me(func: uid(0x01)) @normalize { + mn: name + gender + friend { + n: name + d: dob + friend { + fn : name + } + } + son { + sn: name + } + } + }` + _, err := processQueryRDF(context.Background(), t, query) + require.Error(t, err, "normalize directive is not supported in the rdf output format") +} + +func TestRDFGroupBy(t *testing.T) { + query := ` + { + me(func: uid(1, 23, 24, 25, 31)) @groupby(age) { + count(uid) + } + }` + _, err := processQueryRDF(context.Background(), t, query) + require.Contains(t, err.Error(), "groupby is not supported in rdf output format") +} + +func TestRDFUidCount(t *testing.T) { + query := ` + { + me(func: gt(count(friend), 0)) { + count(uid) + } + }` + _, err := processQueryRDF(context.Background(), t, query) + require.Contains(t, err.Error(), "uid count is not supported in the rdf output format") +} + +func TestRDFIngoreReflex(t *testing.T) { + query := ` + { + me(func:anyofterms(name, "Michonne Rick Daryl")) @ignoreReflex { + name + friend { + name + friend { + name + } + } + } + }` + _, err := processQueryRDF(context.Background(), t, query) + require.Contains(t, err.Error(), + "ignorereflex directive is not supported in the rdf output format") +} + +func TestRDFCheckPwd(t *testing.T) { + query := ` + { + me(func: uid(0x01)) { + expand(_all_) + checkpwd(password, "12345") + } + } + ` + _, err := processQueryRDF(context.Background(), t, query) + require.Contains(t, err.Error(), + "chkpwd function is not supported in the rdf output format") +} + +func TestRDFPredicateCount(t *testing.T) { + query := ` + { + me(func:anyofterms(name, "Michonne Rick Daryl")) { + name + count(friend) + friend { + name + } + } + } + ` + + rdf, err := processQueryRDF(context.Background(), t, query) + require.NoError(t, err) + require.Equal(t, `<0x1> "Michonne" . +<0x17> "Rick Grimes" . +<0x19> "Daryl Dixon" . +<0x1> "5" . +<0x17> "1" . +<0x19> "0" . +<0x1> <0x17> . +<0x1> <0x18> . +<0x1> <0x19> . +<0x1> <0x1f> . +<0x1> <0x65> . +<0x17> <0x1> . +<0x1> "Michonne" . +<0x17> "Rick Grimes" . +<0x18> "Glenn Rhee" . +<0x19> "Daryl Dixon" . +<0x1f> "Andrea" . +`, rdf) +} + +func TestRDFFacets(t *testing.T) { + query := ` + { + shortest(from: 1, to:1001, numpaths: 4) { + path @facets(weight) + } + }` + _, err := processQueryRDF(context.Background(), t, query) + require.Contains(t, err.Error(), + "facets are not supported in the rdf output format") +} + +func TestDateRDF(t *testing.T) { + query := ` + { + me(func: uid(0x01)) { + name + gender + friend(orderdesc: film.film.initial_release_date) { + name + film.film.initial_release_date + } + } + } + ` + rdf, err := processQueryRDF(context.Background(), t, query) + require.NoError(t, err) + require.Equal(t, rdf, `<0x1> "Michonne" . +<0x1> "female" . +<0x1> <0x19> . +<0x1> <0x18> . +<0x1> <0x17> . +<0x1> <0x1f> . +<0x17> "Rick Grimes" . +<0x18> "Glenn Rhee" . +<0x19> "Daryl Dixon" . +<0x1f> "Andrea" . +<0x17> "1900-01-02T00:00:00Z" . +<0x18> "1909-05-05T00:00:00Z" . +<0x19> "1929-01-10T00:00:00Z" . +<0x1f> "1801-01-15T00:00:00Z" . +`) +} From 37823e9153506f244a89630071253a55b6d4305b Mon Sep 17 00:00:00 2001 From: Jatin Dev <64803093+JatinDevDG@users.noreply.github.com> Date: Fri, 7 Aug 2020 15:12:46 +0530 Subject: [PATCH 047/151] fix(GraphQl): Panic fix when subscription expiry is not present in jwt. (#6129) This PR fixes panic error when expiry is not given in jwt for subscriptions using authorization. --- graphql/e2e/subscription/subscription_test.go | 74 +++++++++++++++++++ graphql/web/http.go | 19 ++--- testutil/graphql.go | 6 +- 3 files changed, 88 insertions(+), 11 deletions(-) diff --git a/graphql/e2e/subscription/subscription_test.go b/graphql/e2e/subscription/subscription_test.go index 5da20a20f12..40ea867520f 100644 --- a/graphql/e2e/subscription/subscription_test.go +++ b/graphql/e2e/subscription/subscription_test.go @@ -427,6 +427,80 @@ func TestSubscriptionWithAuthShouldExpireWithJWT(t *testing.T) { require.Nil(t, res) } +func TestSubscriptionAuthWithoutExpiry(t *testing.T) { + dg, err := testutil.DgraphClient(groupOnegRPC) + require.NoError(t, err) + testutil.DropAll(t, dg) + + add := &common.GraphQLParams{ + Query: `mutation updateGQLSchema($sch: String!) { + updateGQLSchema(input: { set: { schema: $sch }}) { + gqlSchema { + schema + } + } + }`, + Variables: map[string]interface{}{"sch": schAuth}, + } + addResult := add.ExecuteAsPost(t, adminEndpoint) + require.Nil(t, addResult.Errors) + time.Sleep(time.Second * 2) + + metaInfo := &testutil.AuthMeta{ + PublicKey: "secret", + Namespace: "https://dgraph.io", + Algo: "HS256", + Header: "Authorization", + } + metaInfo.AuthVars = map[string]interface{}{ + "USER": "jatin", + "ROLE": "USER", + } + + add = &common.GraphQLParams{ + Query: `mutation{ + addTodo(input: [ + {text : "GraphQL is exciting!!", + owner : "jatin"} + ]) + { + todo{ + text + owner + } + } + }`, + } + + addResult = add.ExecuteAsPost(t, graphQLEndpoint) + require.Nil(t, addResult.Errors) + + jwtToken, err := metaInfo.GetSignedToken("secret", -1) + require.NoError(t, err) + + payload := fmt.Sprintf(`{"Authorization": "%s"}`, jwtToken) + subscriptionClient, err := common.NewGraphQLSubscription(subscriptionEndpoint, &schema.Request{ + Query: `subscription{ + queryTodo{ + owner + text + } + }`, + }, payload) + require.Nil(t, err) + + res, err := subscriptionClient.RecvMsg() + require.NoError(t, err) + + var resp common.GraphQLResponse + err = json.Unmarshal(res, &resp) + require.NoError(t, err) + + require.Nil(t, resp.Errors) + require.JSONEq(t, `{"queryTodo":[{"owner":"jatin","text":"GraphQL is exciting!!"}]}`, + string(resp.Data)) +} + func TestSubscriptionAuth_SameQueryAndClaimsButDifferentExpiry_ShouldExpireIndependently(t *testing.T) { t.Skip() dg, err := testutil.DgraphClient(groupOnegRPC) diff --git a/graphql/web/http.go b/graphql/web/http.go index b53f76b6d6c..7409d5080f5 100644 --- a/graphql/web/http.go +++ b/graphql/web/http.go @@ -20,11 +20,10 @@ import ( "compress/gzip" "context" "encoding/json" - "strconv" - "time" - "github.com/dgrijalva/jwt-go/v4" "google.golang.org/grpc/metadata" + "strconv" + "time" "io" "io/ioutil" @@ -127,13 +126,11 @@ func (gs *graphqlSubscription) Subscribe( // library (graphql-transport-ws) passes the headers which are part of the INIT payload to us in the context. // And we are extracting the Auth JWT from those and passing them along. - - header, _ := ctx.Value("Header").(json.RawMessage) customClaims := &authorization.CustomClaims{ - StandardClaims: jwt.StandardClaims{ - ExpiresAt: jwt.At(time.Time{}), - }, + StandardClaims: jwt.StandardClaims{}, } + header, _ := ctx.Value("Header").(json.RawMessage) + if len(header) > 0 { payload := make(map[string]interface{}) if err := json.Unmarshal(header, &payload); err != nil { @@ -155,7 +152,11 @@ func (gs *graphqlSubscription) Subscribe( } } } - + // for the cases when no expiry is given in jwt or subscription doesn't have any authorization, + // we set their expiry to zero time + if customClaims.StandardClaims.ExpiresAt == nil { + customClaims.StandardClaims.ExpiresAt = jwt.At(time.Time{}) + } req := &schema.Request{ OperationName: operationName, Query: document, diff --git a/testutil/graphql.go b/testutil/graphql.go index 1c17260046c..009f9c81b45 100644 --- a/testutil/graphql.go +++ b/testutil/graphql.go @@ -158,10 +158,12 @@ func (a *AuthMeta) GetSignedToken(privateKeyFile string, a.Namespace, a.AuthVars, jwt.StandardClaims{ - ExpiresAt: jwt.At(time.Now().Add(expireAfter)), - Issuer: "test", + Issuer: "test", }, } + if expireAfter != -1 { + claims.ExpiresAt = jwt.At(time.Now().Add(expireAfter)) + } var signedString string var err error From 3ea5efe5bd94936fcbcc402a330b49e4a6870a2a Mon Sep 17 00:00:00 2001 From: Martin Martinez Rivera Date: Fri, 7 Aug 2020 11:43:08 -0700 Subject: [PATCH 048/151] Queue keys for rollup during mutation. (#6145) Right now, keys are only added for rollups during queries. Keys that only receive queries will not be rolled up until they are queried, which can cause issues and slowness. Fixes DGRAPH-2202 --- posting/list.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/posting/list.go b/posting/list.go index f3eca17c2a2..6e0b19ebc39 100644 --- a/posting/list.go +++ b/posting/list.go @@ -326,6 +326,14 @@ func (l *List) updateMutationLayer(mpost *pb.Posting, singleUidUpdate bool) erro l.AssertLock() x.AssertTrue(mpost.Op == Set || mpost.Op == Del) + // Keys are added to the rollup batches here instead of at the point at which the + // transaction is committed because the transaction context does not keep track + // of the badger keys touched by mutations. It's useful to roll up lists even if + // the transaction is eventually aborted. + if len(l.mutationMap) > 0 { + IncrRollup.addKeyToBatch(l.key) + } + // If we have a delete all, then we replace the map entry with just one. if hasDeleteAll(mpost) { plist := &pb.PostingList{} From 223238a2bebaef547d432b72f2192297426ac059 Mon Sep 17 00:00:00 2001 From: Joaquin Menchaca Date: Fri, 7 Aug 2020 12:28:27 -0700 Subject: [PATCH 049/151] chore(compose): Set multiple Zero addresses in Alpha. (#6144) --- compose/compose.go | 39 +++++++++++++++++++++++++++++++++++++-- go.mod | 1 + go.sum | 3 +++ 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/compose/compose.go b/compose/compose.go index 7f518e8340a..a673b46a7a2 100644 --- a/compose/compose.go +++ b/compose/compose.go @@ -21,7 +21,9 @@ import ( "io/ioutil" "os" "os/user" + "strings" + sv "github.com/Masterminds/semver/v3" "github.com/pkg/errors" "github.com/spf13/cobra" "github.com/spf13/pflag" @@ -198,17 +200,36 @@ func getAlpha(idx int) service { basename := "alpha" internalPort := alphaBasePort + opts.PortOffset + getOffset(idx) grpcPort := internalPort + 1000 - svc := initService(basename, idx, grpcPort) if opts.TmpFS { svc.TmpFS = append(svc.TmpFS, fmt.Sprintf("/data/%s/w", svc.name)) } + isMultiZeros := true + var isInvalidVersion, err = semverCompare("< 1.2.3 || 20.03.0", opts.Tag) + if err != nil || isInvalidVersion { + isMultiZeros = false + } + + maxZeros := 1 + if isMultiZeros { + maxZeros = opts.NumZeros + } + + zeroHostAddr := fmt.Sprintf("zero%d:%d", 1, zeroBasePort+opts.PortOffset) + zeros := []string{zeroHostAddr} + for i := 2; i <= maxZeros; i++ { + zeroHostAddr = fmt.Sprintf("zero%d:%d", i, zeroBasePort+opts.PortOffset+i) + zeros = append(zeros, zeroHostAddr) + } + + zerosOpt := strings.Join(zeros, ",") + svc.Command += fmt.Sprintf(" -o %d", opts.PortOffset+getOffset(idx)) svc.Command += fmt.Sprintf(" --my=%s:%d", svc.name, internalPort) svc.Command += fmt.Sprintf(" --lru_mb=%d", opts.LruSizeMB) - svc.Command += fmt.Sprintf(" --zero=zero1:%d", zeroBasePort+opts.PortOffset) + svc.Command += fmt.Sprintf(" --zero=%s", zerosOpt) svc.Command += fmt.Sprintf(" --logtostderr -v=%d", opts.Verbosity) svc.Command += fmt.Sprintf(" --idx=%d", idx) if opts.WhiteList { @@ -321,6 +342,20 @@ func addMetrics(cfg *composeConfig) { } } +func semverCompare(constraint, version string) (bool, error) { + c, err := sv.NewConstraint(constraint) + if err != nil { + return false, err + } + + v, err := sv.NewVersion(version) + if err != nil { + return false, err + } + + return c.Check(v), nil +} + func fatal(err error) { fmt.Fprintf(os.Stderr, "compose: %v\n", err) os.Exit(1) diff --git a/go.mod b/go.mod index ea3143419af..f9c68deb013 100644 --- a/go.mod +++ b/go.mod @@ -9,6 +9,7 @@ require ( github.com/DataDog/datadog-go v0.0.0-20190425163447-40bafcb5f6c1 // indirect github.com/DataDog/opencensus-go-exporter-datadog v0.0.0-20190503082300-0f32ad59ab08 github.com/DataDog/zstd v1.4.5 // indirect + github.com/Masterminds/semver/v3 v3.1.0 github.com/OneOfOne/xxhash v1.2.5 // indirect github.com/beorn7/perks v1.0.0 // indirect github.com/blevesearch/bleve v0.0.0-20181114232033-e1f5e6cdcd76 diff --git a/go.sum b/go.sum index 572c96d067d..5c0326931ad 100644 --- a/go.sum +++ b/go.sum @@ -22,6 +22,9 @@ github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver/v3 v3.1.0 h1:Y2lUDsFKVRSYGojLJ1yLxSXdMmMYTYls0rCvoqmMUQk= +github.com/Masterminds/semver/v3 v3.1.0/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI= From d1c3cd751bdf0184dc98cabed1e99c73243e7799 Mon Sep 17 00:00:00 2001 From: Balaji Jinnah Date: Mon, 10 Aug 2020 10:01:19 +0530 Subject: [PATCH 050/151] feat: add metrics cost to grpc and http header (#6148) --- dgraph/cmd/alpha/http.go | 5 ++ dgraph/cmd/alpha/http_test.go | 119 ++++++++++++++++++++++++++++++++++ edgraph/server.go | 9 ++- x/x.go | 1 + 4 files changed, 133 insertions(+), 1 deletion(-) diff --git a/dgraph/cmd/alpha/http.go b/dgraph/cmd/alpha/http.go index 2e64e6f14de..263a4b8277e 100644 --- a/dgraph/cmd/alpha/http.go +++ b/dgraph/cmd/alpha/http.go @@ -21,6 +21,7 @@ import ( "compress/gzip" "context" "encoding/json" + "fmt" "io" "io/ioutil" "net/http" @@ -239,6 +240,8 @@ func queryHandler(w http.ResponseWriter, r *http.Request) { x.SetStatusWithData(w, x.ErrorInvalidRequest, err.Error()) return } + // Add cost to the header. + w.Header().Set(x.DgraphCostHeader, fmt.Sprint(resp.Metrics.NumUids["_total"])) e := query.Extensions{ Txn: resp.Txn, @@ -391,6 +394,8 @@ func mutationHandler(w http.ResponseWriter, r *http.Request) { x.SetStatusWithData(w, x.ErrorInvalidRequest, err.Error()) return } + // Add cost to the header. + w.Header().Set(x.DgraphCostHeader, fmt.Sprint(resp.Metrics.NumUids["_total"])) resp.Latency.ParsingNs = uint64(parseEnd.Sub(parseStart).Nanoseconds()) e := query.Extensions{ diff --git a/dgraph/cmd/alpha/http_test.go b/dgraph/cmd/alpha/http_test.go index b39446a05d3..8d5316fbd9e 100644 --- a/dgraph/cmd/alpha/http_test.go +++ b/dgraph/cmd/alpha/http_test.go @@ -196,6 +196,38 @@ func queryWithTs(queryText, contentType, debug string, ts uint64) (string, uint6 return string(output), startTs, err } +// queryWithTsForResp query the dgraph and returns it's http response and result. +func queryWithTsForResp(queryText, contentType, debug string, ts uint64) (string, + uint64, *http.Response, error) { + params := make([]string, 0, 2) + if debug != "" { + params = append(params, "debug="+debug) + } + if ts != 0 { + params = append(params, fmt.Sprintf("startTs=%v", strconv.FormatUint(ts, 10))) + } + url := addr + "/query?" + strings.Join(params, "&") + + _, body, resp, err := runWithRetriesForResp("POST", contentType, url, queryText) + if err != nil { + return "", 0, resp, err + } + + var r res + if err := json.Unmarshal(body, &r); err != nil { + return "", 0, resp, err + } + startTs := r.Extensions.Txn.StartTs + + // Remove the extensions. + r2 := res{ + Data: r.Data, + } + output, err := json.Marshal(r2) + + return string(output), startTs, resp, err +} + type mutationResponse struct { keys []string preds []string @@ -314,6 +346,61 @@ func runRequest(req *http.Request) (*x.QueryResWithData, []byte, error) { return qr, body, nil } +func runWithRetriesForResp(method, contentType, url string, body string) ( + *x.QueryResWithData, []byte, *http.Response, error) { + + req, err := createRequest(method, contentType, url, body) + if err != nil { + return nil, nil, nil, err + } + + qr, respBody, resp, err := runRequestForResp(req) + if err != nil && strings.Contains(err.Error(), "Token is expired") { + grootAccessJwt, grootRefreshJwt, err = testutil.HttpLogin(&testutil.LoginParams{ + Endpoint: addr + "/admin", + RefreshJwt: grootRefreshJwt, + }) + if err != nil { + return nil, nil, nil, err + } + + // create a new request since the previous request would have been closed upon the err + retryReq, err := createRequest(method, contentType, url, body) + if err != nil { + return nil, nil, resp, err + } + + return runRequestForResp(retryReq) + } + return qr, respBody, resp, err +} + +// attach the grootAccessJWT to the request and sends the http request +func runRequestForResp(req *http.Request) (*x.QueryResWithData, []byte, *http.Response, error) { + client := &http.Client{} + req.Header.Set("X-Dgraph-AccessToken", grootAccessJwt) + resp, err := client.Do(req) + if err != nil { + return nil, nil, resp, err + } + if status := resp.StatusCode; status != http.StatusOK { + return nil, nil, resp, errors.Errorf("Unexpected status code: %v", status) + } + + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, nil, resp, errors.Errorf("unable to read from body: %v", err) + } + + qr := new(x.QueryResWithData) + json.Unmarshal(body, qr) // Don't check error. + if len(qr.Errors) > 0 { + return nil, nil, resp, errors.New(qr.Errors[0].Message) + } + return qr, body, resp, nil +} + func commitWithTs(keys, preds []string, ts uint64) error { url := addr + "/commit" if ts != 0 { @@ -452,6 +539,38 @@ func TestTransactionBasicNoPreds(t *testing.T) { require.NoError(t, err) require.Equal(t, `{"data":{"balances":[{"name":"Bob","balance":"110"}]}}`, data) } +func TestTransactionForCost(t *testing.T) { + require.NoError(t, dropAll()) + require.NoError(t, alterSchema(`name: string @index(term) .`)) + + q1 := ` + { + balances(func: anyofterms(name, "Alice Bob")) { + name + balance + } + } + ` + _, _, err := queryWithTs(q1, "application/graphql+-", "", 0) + require.NoError(t, err) + + m1 := ` + { + set { + _:alice "Bob" . + _:alice "110" . + _:bob "60" . + } + } + ` + + _, err = mutationWithTs(m1, "application/rdf", false, true, 0) + require.NoError(t, err) + + _, _, resp, err := queryWithTsForResp(q1, "application/graphql+-", "", 0) + require.NoError(t, err) + require.Equal(t, "2", resp.Header.Get(x.DgraphCostHeader)) +} func TestTransactionBasicOldCommitFormat(t *testing.T) { require.NoError(t, dropAll()) diff --git a/edgraph/server.go b/edgraph/server.go index f683cb861fb..1130852ec53 100644 --- a/edgraph/server.go +++ b/edgraph/server.go @@ -20,6 +20,7 @@ import ( "bytes" "context" "encoding/json" + "fmt" "math" "net" "sort" @@ -36,6 +37,7 @@ import ( "go.opencensus.io/tag" "go.opencensus.io/trace" otrace "go.opencensus.io/trace" + "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" @@ -997,13 +999,18 @@ func (s *Server) doQuery(ctx context.Context, req *api.Request, doAuth AuthMode) EncodingNs: uint64(l.Json.Nanoseconds()), TotalNs: uint64((time.Since(l.Start)).Nanoseconds()), } - + md := metadata.Pairs(x.DgraphCostHeader, fmt.Sprint(resp.Metrics.NumUids["_total"])) + grpc.SendHeader(ctx, md) return resp, nil } func processQuery(ctx context.Context, qc *queryContext) (*api.Response, error) { resp := &api.Response{} if len(qc.req.Query) == 0 { + // No query, so make the query cost 0. + resp.Metrics = &api.Metrics{ + NumUids: map[string]uint64{"_total": 0}, + } return resp, nil } if ctx.Err() != nil { diff --git a/x/x.go b/x/x.go index affbc1167da..7174e7aa8b8 100644 --- a/x/x.go +++ b/x/x.go @@ -146,6 +146,7 @@ const ( AccessControlAllowedHeaders = "X-Dgraph-AccessToken, " + "Content-Type, Content-Length, Accept-Encoding, Cache-Control, " + "X-CSRF-Token, X-Auth-Token, X-Requested-With" + DgraphCostHeader = "Dgraph-TouchedUids" // GraphqlPredicates is the json representation of the predicate reserved for graphql system. GraphqlPredicates = ` From 0b4cd73c09c586fe643e4d54caa1424eb3178aaf Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Gaur <12651351+abhimanyusinghgaur@users.noreply.github.com> Date: Wed, 12 Aug 2020 10:42:38 +0530 Subject: [PATCH 051/151] docs: document upgrade and internal type/predicate namespace (#6149) Fixes DGRAPH-1714. This PR adds documentation for upgrading from `v20.03.x` to `v20.07.0`. It also adds documentation for the reserved `dgraph.` namespace for internal types and predicates. --- wiki/content/deploy/dgraph-administration.md | 24 ++++++++++++++++++++ wiki/content/query-language/schema.md | 4 ++++ wiki/content/query-language/type-system.md | 4 ++++ 3 files changed, 32 insertions(+) diff --git a/wiki/content/deploy/dgraph-administration.md b/wiki/content/deploy/dgraph-administration.md index 321e8636f6d..6fbae894f40 100644 --- a/wiki/content/deploy/dgraph-administration.md +++ b/wiki/content/deploy/dgraph-administration.md @@ -200,6 +200,30 @@ When the new cluster (that uses the upgraded version of Dgraph) is up and runnin dgraph upgrade --acl -a localhost:9080 -u groot -p password ``` +### Upgrading from v20.03.0 to v20.07.0 for Enterprise Customers +1. Use [binary]({{< relref "enterprise-features/binary-backups.md">}}) backup to export data from old cluster +2. Ensure it is successful +3. [Shutdown Dgraph]({{< relref "#shutting-down-database" >}}) and wait for all writes to complete +4. Upgrade `dgraph` binary to `v20.07.0` +5. [Restore]({{< relref "enterprise-features/binary-backups.md#restore-from-backup">}}) from the backups using upgraded `dgraph` binary +6. Start a new Dgraph cluster using the restored data directories +7. Upgrade ACL data using the following command: + ``` + dgraph upgrade --acl -a localhost:9080 -u groot -p password -f v20.03.0 -t v20.07.0 + ``` + This is required because previously the type-names `User`, `Group` and `Rule` were used by ACL. + They have now been renamed as `dgraph.type.User`, `dgraph.type.Group` and `dgraph.type.Rule`, to + keep them in dgraph's internal namespace. This upgrade just changes the type-names for the ACL + nodes to the new type-names. + + You can use `--dry-run` option in `dgraph upgrade` command to see a dry run of what the upgrade + command will do. +8. If you have types or predicates in your schema whose names start with `dgraph.`, then +you would need to manually alter schema to change their names to something else which isn't +prefixed with `dgraph.`, and also do mutations to change the value of `dgraph.type` edge to the +new type name and copy data from old predicate name to new predicate name for all the nodes which +are affected. Then, you can drop the old types and predicates from DB. + {{% notice "note" %}} If you are upgrading from v1.0, please make sure you follow the schema migration steps described in [this section](/howto/#schema-types-scalar-uid-and-list-uid). {{% /notice %}} diff --git a/wiki/content/query-language/schema.md b/wiki/content/query-language/schema.md index ee471480957..66cd59f7b68 100644 --- a/wiki/content/query-language/schema.md +++ b/wiki/content/query-language/schema.md @@ -82,6 +82,10 @@ If data exists and new indices are specified in a schema mutation, any index not Reverse edges are also computed if specified by a schema mutation. +{{% notice "note" %}}You can't define predicate names starting with `dgraph.`, it is reserved as the +namespace for Dgraph's internal types/predicates. For example, defining `dgraph.name` as a +predicate is invalid.{{% /notice %}} + ## Indexes in Background diff --git a/wiki/content/query-language/type-system.md b/wiki/content/query-language/type-system.md index c915fc2c957..5f26deb8210 100644 --- a/wiki/content/query-language/type-system.md +++ b/wiki/content/query-language/type-system.md @@ -23,6 +23,10 @@ type Student { } ``` +{{% notice "note" %}}You can't define type names starting with `dgraph.`, it is reserved as the +namespace for Dgraph's internal types/predicates. For example, defining `dgraph.Student` as a +type is invalid.{{% /notice %}} + Types are declared along with the schema using the Alter endpoint. In order to properly support the above type, a predicate for each of the attributes in the type is also needed, such as: From d807eb7d00f61b62c4cd67e8dbaa1f7d45512135 Mon Sep 17 00:00:00 2001 From: Jatin Dev <64803093+JatinDevDG@users.noreply.github.com> Date: Wed, 12 Aug 2020 12:45:16 +0530 Subject: [PATCH 052/151] fix(GraphQl): Allow case insensitive auth header for graphql subscriptions. (#6141) This PR allows case insensitive auth header for graphql subscriptions. --- graphql/e2e/subscription/subscription_test.go | 74 +++++++++++++++++++ graphql/web/http.go | 22 +++--- 2 files changed, 86 insertions(+), 10 deletions(-) diff --git a/graphql/e2e/subscription/subscription_test.go b/graphql/e2e/subscription/subscription_test.go index 40ea867520f..4a3742247cf 100644 --- a/graphql/e2e/subscription/subscription_test.go +++ b/graphql/e2e/subscription/subscription_test.go @@ -864,3 +864,77 @@ func TestSubscriptionAuth_SameQueryDifferentClaimsAndExpiry_ShouldExpireIndepend require.NoError(t, err) require.Nil(t, res) } + +func TestSubscriptionAuthHeaderCaseInsensitive(t *testing.T) { + dg, err := testutil.DgraphClient(groupOnegRPC) + require.NoError(t, err) + testutil.DropAll(t, dg) + + add := &common.GraphQLParams{ + Query: `mutation updateGQLSchema($sch: String!) { + updateGQLSchema(input: { set: { schema: $sch }}) { + gqlSchema { + schema + } + } + }`, + Variables: map[string]interface{}{"sch": schAuth}, + } + addResult := add.ExecuteAsPost(t, adminEndpoint) + require.Nil(t, addResult.Errors) + time.Sleep(time.Second * 2) + + metaInfo := &testutil.AuthMeta{ + PublicKey: "secret", + Namespace: "https://dgraph.io", + Algo: "HS256", + Header: "authorization", + } + metaInfo.AuthVars = map[string]interface{}{ + "USER": "jatin", + "ROLE": "USER", + } + + add = &common.GraphQLParams{ + Query: `mutation{ + addTodo(input: [ + {text : "GraphQL is exciting!!", + owner : "jatin"} + ]) + { + todo{ + text + owner + } + } + }`, + } + + addResult = add.ExecuteAsPost(t, graphQLEndpoint) + require.Nil(t, addResult.Errors) + + jwtToken, err := metaInfo.GetSignedToken("secret", 10*time.Second) + require.NoError(t, err) + + payload := fmt.Sprintf(`{"Authorization": "%s"}`, jwtToken) + subscriptionClient, err := common.NewGraphQLSubscription(subscriptionEndpoint, &schema.Request{ + Query: `subscription{ + queryTodo{ + owner + text + } + }`, + }, payload) + require.Nil(t, err) + + res, err := subscriptionClient.RecvMsg() + require.NoError(t, err) + + var resp common.GraphQLResponse + err = json.Unmarshal(res, &resp) + require.NoError(t, err) + + require.Nil(t, resp.Errors) + require.JSONEq(t, `{"queryTodo":[{"owner":"jatin","text":"GraphQL is exciting!!"}]}`, + string(resp.Data)) +} diff --git a/graphql/web/http.go b/graphql/web/http.go index 7409d5080f5..53c89a32811 100644 --- a/graphql/web/http.go +++ b/graphql/web/http.go @@ -20,16 +20,13 @@ import ( "compress/gzip" "context" "encoding/json" - "github.com/dgrijalva/jwt-go/v4" - "google.golang.org/grpc/metadata" - "strconv" - "time" - "io" "io/ioutil" "mime" "net/http" + "strconv" "strings" + "time" "github.com/dgraph-io/dgraph/graphql/api" "github.com/dgraph-io/dgraph/graphql/authorization" @@ -38,9 +35,11 @@ import ( "github.com/dgraph-io/dgraph/graphql/subscription" "github.com/dgraph-io/dgraph/x" "github.com/dgraph-io/graphql-transport-ws/graphqlws" + "github.com/dgrijalva/jwt-go/v4" "github.com/golang/glog" "github.com/pkg/errors" "go.opencensus.io/trace" + "google.golang.org/grpc/metadata" ) type Headerkey string @@ -119,7 +118,7 @@ type graphqlSubscription struct { func (gs *graphqlSubscription) Subscribe( ctx context.Context, - document string, + document, operationName string, variableValues map[string]interface{}) (payloads <-chan interface{}, err error) { @@ -138,19 +137,22 @@ func (gs *graphqlSubscription) Subscribe( } name := authorization.GetHeader() - val, ok := payload[name].(string) - if ok { + for key, val := range payload { + if !strings.EqualFold(key, name) { + continue + } md := metadata.New(map[string]string{ - "authorizationJwt": val, + "authorizationJwt": val.(string), }) ctx = metadata.NewIncomingContext(ctx, md) - customClaims, err = authorization.ExtractCustomClaims(ctx) if err != nil { return nil, err } + break } + } // for the cases when no expiry is given in jwt or subscription doesn't have any authorization, // we set their expiry to zero time From 0d49e10dc166d059c1e262b1e1d1e1c455273275 Mon Sep 17 00:00:00 2001 From: Abhimanyu Singh Gaur <12651351+abhimanyusinghgaur@users.noreply.github.com> Date: Wed, 12 Aug 2020 12:55:31 +0530 Subject: [PATCH 053/151] feat(GraphQL): @custom HTTP body now supports hardcoded scalars (#6157) Fixes #5641 Fixes GRAPHQL-508 Fixes [Discuss Issue](https://discuss.dgraph.io/t/custom-mutation-underscores-within-post-body/8622) This PR adds support for parsing hardcoded scalar values in `@custom` HTTP body. This also adds support for allowing `_` in key names in the body template. --- graphql/e2e/custom_logic/cmd/main.go | 2 +- graphql/e2e/custom_logic/custom_logic_test.go | 2 +- graphql/resolve/resolver.go | 8 +- graphql/schema/gqlschema_test.yml | 22 +- graphql/schema/rules.go | 8 +- graphql/schema/wrappers.go | 240 +++++++++--------- graphql/schema/wrappers_test.go | 136 +++++++--- 7 files changed, 242 insertions(+), 176 deletions(-) diff --git a/graphql/e2e/custom_logic/cmd/main.go b/graphql/e2e/custom_logic/cmd/main.go index 14d3819cbca..480ed15357d 100644 --- a/graphql/e2e/custom_logic/cmd/main.go +++ b/graphql/e2e/custom_logic/cmd/main.go @@ -281,7 +281,7 @@ func postFavMoviesWithBodyHandler(w http.ResponseWriter, r *http.Request) { err := verifyRequest(r, expectedRequest{ method: http.MethodPost, urlSuffix: "/0x123?name=Author", - body: `{"id":"0x123","name":"Author"}`, + body: `{"id":"0x123","movie_type":"space","name":"Author"}`, headers: nil, }) if err != nil { diff --git a/graphql/e2e/custom_logic/custom_logic_test.go b/graphql/e2e/custom_logic/custom_logic_test.go index b70c44f9a2d..89eb17cf347 100644 --- a/graphql/e2e/custom_logic/custom_logic_test.go +++ b/graphql/e2e/custom_logic/custom_logic_test.go @@ -165,7 +165,7 @@ func TestCustomPostQueryWithBody(t *testing.T) { type Query { myFavoriteMoviesPost(id: ID!, name: String!, num: Int): [Movie] @custom(http: { url: "http://mock:8888/favMoviesPostWithBody/$id?name=$name", - body:"{id:$id,name:$name,num:$num}" + body:"{id:$id,name:$name,num:$num,movie_type:\"space\"}" method: "POST" }) }` diff --git a/graphql/resolve/resolver.go b/graphql/resolve/resolver.go index e9cfb1d26e2..91773e87a37 100644 --- a/graphql/resolve/resolver.go +++ b/graphql/resolve/resolver.go @@ -852,13 +852,7 @@ func resolveCustomField(f schema.Field, vals []interface{}, mu *sync.RWMutex, er } mu.RLock() - if err := schema.SubstituteVarsInBody(&temp, vals[i].(map[string]interface{})); err != nil { - errCh <- x.GqlErrorf("Evaluation of custom field failed while substituting "+ - "variables into body for remote endpoint with an error: %s for field: %s "+ - "within type: %s.", err, f.Name(), f.GetObjectName()).WithLocations(f.Location()) - mu.RUnlock() - return - } + schema.SubstituteVarsInBody(&temp, vals[i].(map[string]interface{})) mu.RUnlock() inputs[i] = temp } diff --git a/graphql/schema/gqlschema_test.yml b/graphql/schema/gqlschema_test.yml index 300e9f4d529..4dd3cf74281 100644 --- a/graphql/schema/gqlschema_test.yml +++ b/graphql/schema/gqlschema_test.yml @@ -1175,11 +1175,11 @@ invalid_schemas: getAuthor1(id: ID): Author! @custom(http: { url: "http://google.com/", method: "POST", - body: "{id: $id, name: \"name\"}", + body: "{id: $id, name: name}", }) } errlist: [ - {"message": "Type Query; Field getAuthor1; body template inside @custom directive could not be parsed.", + {"message": "Type Query; Field getAuthor1; body template inside @custom directive could not be parsed: found unexpected value: name", "locations":[{"line":10, "column":12}]}, ] @@ -2636,7 +2636,7 @@ valid_schemas: } - - name: "Query, Mutation in initial schema with @custom directive" + name: "initial schema with @custom directive" input: | type Author { id: ID! @@ -2645,9 +2645,25 @@ valid_schemas: input AuthorUpdate { id: ID! } + type Country { + country_code: String! @id + authors: [Author] @custom(http: { + url: "http://blah.com", + method: "POST" + graphql: "query ($input: [AuthorInput]) { authors(input: $input) }" + body: "{country_code: $country_code, version: ONE}" + mode: BATCH + skipIntrospection: true + }) + } type Query { getMyAuthor(id: ID): Author! @custom(http: {url: "http://blah.com", method: "GET"}) + getAuthorsForCountry(country_code: String!): [Author] @custom(http: { + url: "http://blah.com" + method: "POST" + body: "{country_code: $country_code, version: 1, tag: \"temp\"}" + }) } type Mutation { updateMyAuthor(input: AuthorUpdate!): Author! @custom(http: {url: "http://blah.com", diff --git a/graphql/schema/rules.go b/graphql/schema/rules.go index 7ff9273bb85..d38a6fce691 100644 --- a/graphql/schema/rules.go +++ b/graphql/schema/rules.go @@ -1418,11 +1418,11 @@ func customDirectiveValidation(sch *ast.Schema, // 8. Validating body var requiredFields map[string]bool if body != nil { - _, requiredFields, err = parseBodyTemplate(body.Raw) + _, requiredFields, err = parseBodyTemplate(body.Raw, graphql == nil) if err != nil { errs = append(errs, gqlerror.ErrorPosf(body.Position, - "Type %s; Field %s; body template inside @custom directive could not be parsed.", - typ.Name, field.Name)) + "Type %s; Field %s; body template inside @custom directive could not be parsed: %s", + typ.Name, field.Name, err.Error())) } // Validating params to body template for Query/Mutation types. For other types the // validation is performed later along with graphql. @@ -1564,7 +1564,7 @@ func customDirectiveValidation(sch *ast.Schema, bodyBuilder.WriteString(comma) } bodyBuilder.WriteString("}") - _, requiredVars, err := parseBodyTemplate(bodyBuilder.String()) + _, requiredVars, err := parseBodyTemplate(bodyBuilder.String(), false) if err != nil { errs = append(errs, gqlerror.ErrorPosf(graphql.Position, "Type %s; Field %s: inside graphql in @custom directive, "+ diff --git a/graphql/schema/wrappers.go b/graphql/schema/wrappers.go index fb5d402fdb2..fffd01d06b3 100644 --- a/graphql/schema/wrappers.go +++ b/graphql/schema/wrappers.go @@ -18,7 +18,6 @@ package schema import ( "bytes" - "encoding/json" "fmt" "net/http" "net/url" @@ -26,7 +25,6 @@ import ( "sort" "strconv" "strings" - "text/scanner" "github.com/vektah/gqlparser/v2/parser" @@ -689,9 +687,10 @@ func (f *field) HasCustomDirective() (bool, map[string]bool) { httpArg := custom.Arguments.ForName("http") bodyArg := httpArg.Value.Children.ForName("body") + graphqlArg := httpArg.Value.Children.ForName("graphql") if bodyArg != nil { bodyTemplate := bodyArg.Raw - _, rf, _ = parseBodyTemplate(bodyTemplate) + _, rf, _ = parseBodyTemplate(bodyTemplate, graphqlArg == nil) } if rf == nil { @@ -715,7 +714,6 @@ func (f *field) HasCustomDirective() (bool, map[string]bool) { } } - graphqlArg := httpArg.Value.Children.ForName("graphql") if graphqlArg == nil { return true, rf } @@ -852,7 +850,7 @@ func getCustomHTTPConfig(f *field, isQueryOrMutation bool) (FieldHTTPConfig, err } // bodyTemplate will be empty if there was no body or graphql, like the case of a simple GET req if bodyTemplate != "" { - bt, rf, err := parseBodyTemplate(bodyTemplate) + bt, rf, err := parseBodyTemplate(bodyTemplate, true) if err != nil { return fconf, err } @@ -930,11 +928,7 @@ func getCustomHTTPConfig(f *field, isQueryOrMutation bool) (FieldHTTPConfig, err bodyVars["query"] = fconf.RemoteGqlQuery bodyVars["variables"] = argMap } - if fconf.Template != nil { - if err = SubstituteVarsInBody(fconf.Template, bodyVars); err != nil { - return fconf, errors.Wrapf(err, "while substituting vars in Body") - } - } + SubstituteVarsInBody(fconf.Template, bodyVars) } return fconf, nil } @@ -1802,170 +1796,166 @@ func SubstituteVarsInURL(rawURL string, vars map[string]interface{}) (string, return u.String(), nil } -func isName(s string) bool { - for _, r := range s { - switch { - case r >= 'a' && r <= 'z': - continue - case r >= 'A' && r <= 'Z': - continue - default: - return false +func parseAsGraphQLArg(bodyTemplate string) (*ast.Value, error) { + // bodyTemplate is always formed like { k1: 3.4, k2: $var, k3: "string", ...}, + // so the `input` arg here will have an object value after parsing + doc, err := parser.ParseQuery(&ast.Source{Input: `query { dummy(input:` + bodyTemplate + `) }`}) + if err != nil { + return nil, err + } + return doc.Operations[0].SelectionSet[0].(*ast.Field).Arguments[0].Value, nil +} + +func parseAsJSONTemplate(value *ast.Value, vars map[string]bool, strictJSON bool) (interface{}, error) { + switch value.Kind { + case ast.ObjectValue: + m := make(map[string]interface{}) + for _, elem := range value.Children { + elemVal, err := parseAsJSONTemplate(elem.Value, vars, strictJSON) + if err != nil { + return nil, err + } + m[elem.Name] = elemVal } + return m, nil + case ast.ListValue: + var l []interface{} + for _, elem := range value.Children { + elemVal, err := parseAsJSONTemplate(elem.Value, vars, strictJSON) + if err != nil { + return nil, err + } + l = append(l, elemVal) + } + return l, nil + case ast.Variable: + vars[value.Raw] = true + return value.String(), nil + case ast.IntValue: + return strconv.ParseInt(value.Raw, 10, 64) + case ast.FloatValue: + return strconv.ParseFloat(value.Raw, 64) + case ast.BooleanValue: + return strconv.ParseBool(value.Raw) + case ast.StringValue: + return value.Raw, nil + case ast.BlockValue, ast.EnumValue: + if strictJSON { + return nil, fmt.Errorf("found unexpected value: %s", value.String()) + } + return value.Raw, nil + case ast.NullValue: + return nil, nil + default: + return nil, fmt.Errorf("unknown value kind: %d, for value: %s", value.Kind, value.String()) } - return true } // Given a template for a body with variables defined, this function parses the body -// and converts it into a JSON representation and returns that. It also returns a list of the field -// names that are required by this template. +// and converts it into a JSON representation and returns that. It also returns a list of the +// variable names that are required by this template. // for e.g. // { author: $id, post: { id: $postID }} // would return // { "author" : "$id", "post": { "id": "$postID" }} and { "id": true, "postID": true} // If the final result is not a valid JSON, then an error is returned. -func parseBodyTemplate(body string) (*interface{}, map[string]bool, error) { - var s scanner.Scanner - s.Init(strings.NewReader(body)) - - result := new(bytes.Buffer) - parsingVariable := false - depth := 0 - requiredFields := make(map[string]bool) - for tok := s.Scan(); tok != scanner.EOF; tok = s.Scan() { - text := s.TokenText() - switch { - case text == "{": - result.WriteString(text) - depth++ - case text == "}": - depth-- - result.WriteString(text) - case text == ":" || text == "," || text == "[" || text == "]": - result.WriteString(text) - case text == "$": - parsingVariable = true - case isName(text): - // Name could either be a key or be part of a variable after dollar. - if !parsingVariable { - result.WriteString(fmt.Sprintf(`"%s"`, text)) - continue - } - requiredFields[text] = true - variable := "$" + text - fmt.Fprintf(result, `"%s"`, variable) - parsingVariable = false - - default: - return nil, nil, errors.Errorf("invalid character: %s while parsing body template", - text) - } - } - if depth != 0 { - return nil, nil, errors.New("found unmatched curly braces while parsing body template") - } - - if result.Len() == 0 { +// +// In strictJSON mode block strings and enums are invalid and throw an error. +// strictJSON should be false when the body template is being used for custom graphql arg parsing, +// otherwise it should be true. +func parseBodyTemplate(body string, strictJSON bool) (*interface{}, map[string]bool, error) { + if strings.TrimSpace(body) == "" { return nil, nil, nil } - var m interface{} - if err := json.Unmarshal(result.Bytes(), &m); err != nil { - return nil, nil, errors.Errorf("couldn't unmarshal HTTP body: %s as JSON", result.Bytes()) + parsedBodyTemplate, err := parseAsGraphQLArg(body) + if err != nil { + return nil, nil, err } - return &m, requiredFields, nil -} -func getVar(key string, variables map[string]interface{}) (interface{}, error, bool) { - if !strings.HasPrefix(key, "$") { - return nil, errors.Errorf("expected a variable to start with $. Found: %s", key), true + requiredVariables := make(map[string]bool) + jsonTemplate, err := parseAsJSONTemplate(parsedBodyTemplate, requiredVariables, strictJSON) + if err != nil { + return nil, nil, err } - val, ok := variables[key[1:]] - return val, nil, ok + + return &jsonTemplate, requiredVariables, nil } -func substituteSingleVarInBody(key string, valPtr *interface{}, - variables map[string]interface{}) error { - // Look it up in the map and replace. - val, err, _ := getVar(key, variables) - if err != nil { - return err - } - *valPtr = val - return nil +func isVar(key string) bool { + return strings.HasPrefix(key, "$") } -func substituteVarInMapInBody(object, variables map[string]interface{}) error { +func substituteVarInMapInBody(object, variables map[string]interface{}) { for k, v := range object { switch val := v.(type) { case string: - vval, err, ok := getVar(val, variables) - if err != nil { - return err - } - if ok { - object[k] = vval - } else { - delete(object, k) + if isVar(val) { + vval, ok := variables[val[1:]] + if ok { + object[k] = vval + } else { + delete(object, k) + } } case map[string]interface{}: - if err := substituteVarInMapInBody(val, variables); err != nil { - return err - } + substituteVarInMapInBody(val, variables) case []interface{}: - if err := substituteVarInSliceInBody(val, variables); err != nil { - return err - } - default: - return errors.Errorf("got unexpected type value in map: %+v", v) + substituteVarInSliceInBody(val, variables) } } - return nil } -func substituteVarInSliceInBody(slice []interface{}, variables map[string]interface{}) error { +func substituteVarInSliceInBody(slice []interface{}, variables map[string]interface{}) { for k, v := range slice { switch val := v.(type) { case string: - vval, err, _ := getVar(val, variables) - if err != nil { - return err + if isVar(val) { + slice[k] = variables[val[1:]] } - slice[k] = vval case map[string]interface{}: - if err := substituteVarInMapInBody(val, variables); err != nil { - return err - } + substituteVarInMapInBody(val, variables) case []interface{}: - if err := substituteVarInSliceInBody(val, variables); err != nil { - return err - } - default: - return errors.Errorf("got unexpected type value in array: %+v", v) + substituteVarInSliceInBody(val, variables) } } - return nil } // Given a JSON representation for a body with variables defined, this function substitutes // the variables and returns the final JSON. // for e.g. -// { "author" : "$id", "post": { "id": "$postID" }} with variables {"id": "0x3", postID: "0x9"} -// should return { "author" : "0x3", "post": { "id": "0x9" }} -func SubstituteVarsInBody(jsonTemplate *interface{}, variables map[string]interface{}) error { +// { +// "author" : "$id", +// "name" : "Jerry", +// "age" : 23, +// "post": { +// "id": "$postID" +// } +// } +// with variables {"id": "0x3", postID: "0x9"} +// should return +// { +// "author" : "0x3", +// "name" : "Jerry", +// "age" : 23, +// "post": { +// "id": "0x9" +// } +// } +func SubstituteVarsInBody(jsonTemplate *interface{}, variables map[string]interface{}) { if jsonTemplate == nil { - return nil + return } switch val := (*jsonTemplate).(type) { case string: - return substituteSingleVarInBody(val, jsonTemplate, variables) + if isVar(val) { + *jsonTemplate = variables[val[1:]] + } case map[string]interface{}: - return substituteVarInMapInBody(val, variables) + substituteVarInMapInBody(val, variables) case []interface{}: - return substituteVarInSliceInBody(val, variables) - default: - return errors.Errorf("got unexpected type value in jsonTemplate: %+v", val) + substituteVarInSliceInBody(val, variables) } } @@ -2046,6 +2036,6 @@ func parseRequiredArgsFromGQLRequest(req string) (map[string]bool, error) { bracket := strings.Index(req, "{") req = req[bracket:] args := req[strings.Index(req, "(")+1 : strings.LastIndex(req, ")")] - _, rf, err := parseBodyTemplate("{" + args + "}") + _, rf, err := parseBodyTemplate("{"+args+"}", false) return rf, err } diff --git a/graphql/schema/wrappers_test.go b/graphql/schema/wrappers_test.go index bffeb40b707..fb6250ecd3b 100644 --- a/graphql/schema/wrappers_test.go +++ b/graphql/schema/wrappers_test.go @@ -331,39 +331,34 @@ func TestCheckNonNulls(t *testing.T) { func TestSubstituteVarsInBody(t *testing.T) { tcases := []struct { - name string - variables map[string]interface{} - template interface{} - expected interface{} - expectedErr error + name string + variables map[string]interface{} + template interface{} + expected interface{} }{ { "handle nil template correctly", map[string]interface{}{"id": "0x3", "postID": "0x9"}, nil, nil, - nil, }, { "handle empty object template correctly", map[string]interface{}{"id": "0x3", "postID": "0x9"}, map[string]interface{}{}, map[string]interface{}{}, - nil, }, { "substitutes variables correctly", map[string]interface{}{"id": "0x3", "postID": "0x9"}, map[string]interface{}{"author": "$id", "post": map[string]interface{}{"id": "$postID"}}, map[string]interface{}{"author": "0x3", "post": map[string]interface{}{"id": "0x9"}}, - nil, }, { "substitutes nil variables correctly", map[string]interface{}{"id": nil}, map[string]interface{}{"author": "$id"}, map[string]interface{}{"author": nil}, - nil, }, { "substitutes variables with an array in template correctly", @@ -375,7 +370,6 @@ func TestSubstituteVarsInBody(t *testing.T) { map[string]interface{}{"author": "0x3", "admin": false, "post": map[string]interface{}{"id": "0x9", "comments": []interface{}{"Random comment", 28}}, "age": 28}, - nil, }, { "substitutes variables with an array of object in template correctly", @@ -387,7 +381,6 @@ func TestSubstituteVarsInBody(t *testing.T) { map[string]interface{}{"author": "0x3", "admin": false, "post": map[string]interface{}{"id": "0x9", "comments": []interface{}{map[string]interface{}{"text": "Random comment"}}}, "age": 28}, - nil, }, { "substitutes array variables correctly", @@ -396,14 +389,12 @@ func TestSubstituteVarsInBody(t *testing.T) { map[string]interface{}{"ids": "$ids", "names": "$names", "check": "$check"}, map[string]interface{}{"ids": []int{1, 2, 3}, "names": []string{"M1", "M2"}, "check": []interface{}{1, 3.14, "test"}}, - nil, }, { "substitutes object variables correctly", map[string]interface{}{"author": map[string]interface{}{"id": 1, "name": "George"}}, map[string]interface{}{"author": "$author"}, map[string]interface{}{"author": map[string]interface{}{"id": 1, "name": "George"}}, - nil, }, { "substitutes array of object variables correctly", @@ -412,7 +403,6 @@ func TestSubstituteVarsInBody(t *testing.T) { map[string]interface{}{"authors": "$authors"}, map[string]interface{}{"authors": []interface{}{map[string]interface{}{"id": 1, "name": "George"}, map[string]interface{}{"id": 2, "name": "Jerry"}}}, - nil, }, { "substitutes direct body variable correctly", @@ -421,21 +411,47 @@ func TestSubstituteVarsInBody(t *testing.T) { "$authors", []interface{}{map[string]interface{}{"id": 1, "name": "George"}, map[string]interface{}{"id": 2, "name": "Jerry"}}, - nil, + }, + { + "keep direct hardcoded string as is", + map[string]interface{}{"authors": []interface{}{map[string]interface{}{"id": 1, + "name": "George"}, map[string]interface{}{"id": 2, "name": "Jerry"}}}, + "authors", + "authors", + }, + { + "keep direct hardcoded int as is", + map[string]interface{}{"authors": []interface{}{map[string]interface{}{"id": 1, + "name": "George"}, map[string]interface{}{"id": 2, "name": "Jerry"}}}, + 3, + 3, + }, + { + "substitute only variables and keep deep hardcoded values as is", + map[string]interface{}{"id": "0x3", "admin": false, "postID": "0x9", + "text": "Random comment", "age": 28}, + map[string]interface{}{"author": "$id", "admin": true, + "post": map[string]interface{}{"id": "$postID", "rating": 4.5, + "comments": []interface{}{map[string]interface{}{"text": "$text", + "type": "hidden"}}}, + "age": int64(23), "meta": nil}, + map[string]interface{}{"author": "0x3", "admin": true, + "post": map[string]interface{}{"id": "0x9", "rating": 4.5, + "comments": []interface{}{map[string]interface{}{"text": "Random comment", + "type": "hidden"}}}, + "age": int64(23), "meta": nil}, }, { "Skip one missing variable in the HTTP body", map[string]interface{}{"postID": "0x9"}, map[string]interface{}{"author": "$id", "post": map[string]interface{}{"id": "$postID"}}, map[string]interface{}{"post": map[string]interface{}{"id": "0x9"}}, - nil, }, { "Skip all missing variables in the HTTP body", map[string]interface{}{}, map[string]interface{}{"author": "$id", "post": map[string]interface{}{"id": "$postID"}}, map[string]interface{}{"post": map[string]interface{}{}}, - nil, }, } @@ -447,13 +463,8 @@ func TestSubstituteVarsInBody(t *testing.T) { } else { templatePtr = &test.template } - err := SubstituteVarsInBody(templatePtr, test.variables) - if test.expectedErr == nil { - require.NoError(t, err) - require.Equal(t, test.expected, test.template) - } else { - require.EqualError(t, err, test.expectedErr.Error()) - } + SubstituteVarsInBody(templatePtr, test.variables) + require.Equal(t, test.expected, test.template) }) } } @@ -480,6 +491,48 @@ func TestParseBodyTemplate(t *testing.T) { nil, nil, }, + { + "parses body template with direct variable correctly", + `$authors`, + "$authors", + map[string]bool{"authors": true}, + nil, + }, + { + "parses body template with direct hardcoded int correctly", + `67`, + int64(67), + map[string]bool{}, + nil, + }, + { + "parses body template with direct hardcoded float correctly", + `67.23`, + 67.23, + map[string]bool{}, + nil, + }, + { + "parses body template with direct hardcoded boolean correctly", + `true`, + true, + map[string]bool{}, + nil, + }, + { + "parses body template with direct hardcoded string correctly", + `"alice"`, + "alice", + map[string]bool{}, + nil, + }, + { + "parses body template with direct hardcoded null correctly", + `null`, + nil, + map[string]bool{}, + nil, + }, { "parses empty object body template correctly", `{}`, @@ -490,10 +543,19 @@ func TestParseBodyTemplate(t *testing.T) { { "parses body template correctly", `{ author: $id, post: { id: $postID }}`, - map[string]interface{}{"author": "$id", "post": map[string]interface{}{"id": "$postID"}}, + map[string]interface{}{"author": "$id", + "post": map[string]interface{}{"id": "$postID"}}, map[string]bool{"id": true, "postID": true}, nil, }, + { + "parses body template with underscores correctly", + `{ author_name: $author_name, post: { id: $postID }}`, + map[string]interface{}{"author_name": "$author_name", + "post": map[string]interface{}{"id": "$postID"}}, + map[string]bool{"author_name": true, "postID": true}, + nil, + }, { "parses body template with an array correctly", `{ author: $id, admin: $admin, post: { id: $postID, comments: [$text] }, @@ -515,39 +577,43 @@ func TestParseBodyTemplate(t *testing.T) { nil, }, { - "parses body template with direct variable correctly", - `$authors`, - "$authors", - map[string]bool{"authors": true}, + "parses body template with an array of object and hardcoded scalars correctly", + `{ author: $id, admin: false, post: { id: $postID, rating: 4.5, + comments: [{ text: $text, type: "hidden" }] }, age: 23, meta: null}`, + map[string]interface{}{"author": "$id", "admin": false, + "post": map[string]interface{}{"id": "$postID", "rating": 4.5, + "comments": []interface{}{map[string]interface{}{"text": "$text", + "type": "hidden"}}}, + "age": int64(23), "meta": nil}, + map[string]bool{"id": true, "postID": true, "text": true}, nil, }, { - "json unmarshal error", + "bad template error", `{ author: $id, post: { id $postID }}`, nil, nil, - errors.New("couldn't unmarshal HTTP body: {\"author\":\"$id\",\"post\":{\"id\"\"$postID\"}}" + - " as JSON"), + errors.New("input:1: Expected :, found $"), }, { "unmatched brackets error", `{{ author: $id, post: { id: $postID }}`, nil, nil, - errors.New("found unmatched curly braces while parsing body template"), + errors.New("input:1: Expected Name, found {"), }, { "invalid character error", `(author: $id, post: { id: $postID }}`, nil, nil, - errors.New("invalid character: ( while parsing body template"), + errors.New("input:1: Unexpected ("), }, } for _, test := range tcases { t.Run(test.name, func(t *testing.T) { - b, requiredFields, err := parseBodyTemplate(test.template) + b, requiredFields, err := parseBodyTemplate(test.template, true) if test.expectedErr == nil { require.NoError(t, err) require.Equal(t, test.requiredFields, requiredFields) From ccbc89cd46c0787e2b3d19a610c4ca52f36248fa Mon Sep 17 00:00:00 2001 From: parasssh Date: Thu, 13 Aug 2020 09:45:44 -0700 Subject: [PATCH 054/151] docs(vault): Vault docs (#6163) --- wiki/content/deploy/fast-data-loading.md | 23 +++++++++++----- .../enterprise-features/binary-backups.md | 15 ++++++----- .../enterprise-features/encryption-at-rest.md | 27 ++++++++++++++++++- 3 files changed, 52 insertions(+), 13 deletions(-) diff --git a/wiki/content/deploy/fast-data-loading.md b/wiki/content/deploy/fast-data-loading.md index 0669bec72c2..bd4b269e887 100644 --- a/wiki/content/deploy/fast-data-loading.md +++ b/wiki/content/deploy/fast-data-loading.md @@ -43,16 +43,17 @@ $ dgraph live -C -f $ dgraph live -f -s -a -z ``` -### Encrypted imports via Live Loader +### Encrypted imports via Live Loader (Enterprise Feature) -A new flag keyfile is added to the Live Loader. This option is required to decrypt the encrypted export data and schema files. Once the export files are decrypted, the Live Loader streams the data to a live Alpha instance. +A new flag `--encryption_key_file` is added to the Live Loader. This option is required to decrypt the encrypted export data and schema files. Once the export files are decrypted, the Live Loader streams the data to a live Alpha instance. +Alternatively, starting with v20.07.0, the `vault_*` options can be used to decrypt the encrypted export and schema files. {{% notice "note" %}} If the live Alpha instance has encryption turned on, the `p` directory will be encrypted. Otherwise, the `p` directory is unencrypted. {{% /notice %}} -### Encrypted RDF/JSON file and schema via Live Loader -`dgraph live -f -s -keyfile ` +#### Encrypted RDF/JSON file and schema via Live Loader +`dgraph live -f -s --encryption_keyfile ` ### Other Live Loader options @@ -79,6 +80,9 @@ Alpha server. `-x, --xidmap` (default: disabled. Need a path): Store xid to uid mapping to a directory. Dgraph will save all identifiers used in the load for later use in other data ingest operations. The mapping will be saved in the path you provide and you must indicate that same path in the next load. It is recommended to use this flag if you have full control over your identifiers (Blank-nodes). Because the identifier will be mapped to a specific UID. +`--vault_*` flags specifies the Vault server address, role id, secret id and +field that contains the encryption key that can be used to decrypt the encrypted export. + ## Bulk Loader {{% notice "note" %}} @@ -215,7 +219,7 @@ $ dgraph bulk -f ... ``` -### Encryption at rest with Bulk Loader +### Encryption at rest with Bulk Loader (Enterprise Feature) Even before the Dgraph cluster starts, we can load data using Bulk Loader with the encryption feature turned on. Later we can point the generated `p` directory to a new Alpha server. @@ -224,8 +228,10 @@ Here's an example to run Bulk Loader with a key used to write encrypted data: ```bash dgraph bulk --encryption_key_file ./enc_key_file -f data.json.gz -s data.schema --map_shards=1 --reduce_shards=1 --http localhost:8000 --zero=localhost:5080 ``` +Alternatively, starting with v20.07.0, the `vault_*` options can be used to decrypt the encrypted export. + -### Encrypting imports via Bulk Loader +### Encrypting imports via Bulk Loader (Enterprise Feature) The Bulk Loader’s `encryption_key_file` option was previously used to encrypt the output `p ` directory. This same option will also be used to decrypt the encrypted export data and schema files. @@ -249,6 +255,8 @@ Input is not encrypted and the output `p` dir is also not encrypted. Input is not encrypted but the output is encrypted. (This is the migration use case mentioned above). +Alternatively, starting with v20.07.0, the `vault_*` options can be used instead of the `--encryption_key_file` option above to achieve the same effect except that the keys are sitting in a Vault server. + ### Other Bulk Loader options `--new_uids` (default: false): Assign new UIDs instead of using the existing @@ -266,6 +274,9 @@ filenames. This is useful if you need to define a strict format manually. `--xidmap` (default: disabled. Need a path): Store xid to uid mapping to a directory. Dgraph will save all identifiers used in the load for later use in other data ingest operations. The mapping will be saved in the path you provide and you must indicate that same path in the next load. It is recommended to use this flag if you have full control over your identifiers (Blank-nodes). Because the identifier will be mapped to a specific UID. +`--vault_*` flags specifies the Vault server address, role id, secret id and +field that contains the encryption key that can be used to decrypt the encrypted export. + ### Tuning & monitoring #### Performance Tuning diff --git a/wiki/content/enterprise-features/binary-backups.md b/wiki/content/enterprise-features/binary-backups.md index 68f86935146..9a3c2b9a572 100644 --- a/wiki/content/enterprise-features/binary-backups.md +++ b/wiki/content/enterprise-features/binary-backups.md @@ -213,7 +213,8 @@ mutation { ## Encrypted Backups -Encrypted backups are a Enterprise feature that are available from v20.03.1 and v1.2.3 and allow you to encrypt your backups and restore them. This documentation describes how to implement encryption into your binary backups +Encrypted backups are a Enterprise feature that are available from v20.03.1 and v1.2.3 and allow you to encrypt your backups and restore them. This documentation describes how to implement encryption into your binary backups. +Starting with v20.07.0, we also added support for Encrypted Backups using encryption keys sitting on Vault. ## New flag “Encrypted” in manifest.json @@ -232,16 +233,15 @@ During **backup**: the 16 bytes IV is prepended to the Cipher-text data after en ## Backup -Backup is an online tool, meaning it is available when alpha is running. For encrypted backups, the alpha must be configured with the “encryption_key_file”. +Backup is an online tool, meaning it is available when alpha is running. For encrypted backups, the alpha must be configured with the “encryption_key_file”. Starting with v20.07.0, the alpha can alternatively be configured to interface with Vault server to obtain keys. {{% notice "note" %}} -encryption_key_file was used for encryption-at-rest and will now also be used for encrypted backups. +`encryption_key_file` or `vault_*` options was used for encryption-at-rest and will now also be used for encrypted backups. {{% /notice %}} -The restore utility is a standalone tool today. Hence, a new flag “keyfile” is added to the restore utility so it can decrypt the backup. This keyfile must be the same key that was used for encryption during backup. - - ## Restore from Backup +The restore utility is a standalone tool today. A new flag `--encryption_key_file` is added to the restore utility so it can decrypt the backup. This file must contain the same key that was used for encryption during backup. +Alternatively, starting with v20.07.0, the `vault_*` options can be used to restore a backup. The `dgraph restore` command restores the postings directory from a previously created backup to a directory in the local filesystem. Restore is intended to @@ -272,6 +272,9 @@ The `--encryption_key_file` flag is required if you took the backup in an encrypted cluster and should point to the location of the same key used to run the cluster. +The `--vault_*` flags specifies the Vault server address, role id, secret id and +field that contains the encryption key that was used to encrypt the backup. + The restore feature will create a cluster with as many groups as the original cluster had at the time of the last backup. For each group, `dgraph restore` creates a posting directory `p` corresponding to the backup group ID. For diff --git a/wiki/content/enterprise-features/encryption-at-rest.md b/wiki/content/enterprise-features/encryption-at-rest.md index b0f5d744c8a..479849f0ac8 100644 --- a/wiki/content/enterprise-features/encryption-at-rest.md +++ b/wiki/content/enterprise-features/encryption-at-rest.md @@ -20,6 +20,11 @@ encryption at rest as an enterprise feature. If encryption is enabled, Dgraph us [Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) algorithm to encrypt the data and secure it. +Prior to v20.07.0, the encryption key file must be present on the local file system. +Starting with [v20.07.0] (https://github.com/dgraph-io/dgraph/releases/tag/v20.07.0), +we have added support for encryption keys sitting on Vault servers. This allows an alternate +way to configure the encryption keys needed for encrypting the data at rest. + ## Set up Encryption To enable encryption, we need to pass a file that stores the data encryption key with the option @@ -33,6 +38,8 @@ desired key size): dd if=/dev/random bs=1 count=32 of=enc_key_file ``` +Alternatively, you can use the `--vault_*` options to enable encrption as explained below. + ## Turn on Encryption Here is an example that starts one Zero server and one Alpha server with the encryption feature turned on: @@ -49,6 +56,24 @@ Once an Alpha has encryption enabled, the encryption key must be provided in ord If the Alpha server restarts, the `--encryption_key_file` option must be set along with the key in order to restart successfully. +Alternatively, for encryption keys sitting on Vault server, here is an example. To use Vault, there are some pre-requisites. +1. Vault Server URL of the form `http://fqdn[ip]:port`. This will be used for the options `--vault_addr`. +2. Vault Server must be configued with an approle auth. A `secret-id` and `role-id` must be generated and copied over to local files. This will be needed for the options `--vault_secretid_file` and `vault_roleid_file`. +3. Vault Server must instantiate a KV store containing a K/V for Dgraph. The `--vault_field` option must be the KV-v1 or KV-v2 format. The vaule of this key is the encryption key that Dgraph will use. This key must be 16,24 or 32 bytes as explained above. + +Next, here is an example of using Dgraph with a Vault server that holds the encryption key. +```bash +dgraph zero --my=localhost:5080 --replicas 1 --idx 1 +dgraph alpha --vault_addr https://localhost:8200 --vault_roleid_file ./roleid --vault_secretid_file ./secretid --vault_field enc_key_name --my=localhost:7080 --lru_mb=1024 --zero=localhost:5080 +``` + +If multiple Alpha nodes are part of the cluster, you will need to pass the `--encryption_key_file` option or the `--vault_*` options to +each of the Alphas. + +Once an Alpha has encryption enabled, the encryption key must be provided in order to start the Alpha server. +If the Alpha server restarts, the `--encryption_key_file` or the `--vault_*` option must be set along with the key in order to +restart successfully. + ## Turn off Encryption If you wish to turn off encryption from an existing Alpha, then you can export your data and import it @@ -56,7 +81,7 @@ into a new Dgraph instance without encryption enabled. ## Change Encryption Key -The master encryption key set by the `--encryption_key_file` option does not change automatically. The master +The master encryption key set by the `--encryption_key_file` option (or one used in Vault KV store) does not change automatically. The master encryption key encrypts underlying *data keys* which are changed on a regular basis automatically (more info about this is covered on the encryption-at-rest [blog][encblog] post). From 5ecef43c70e60435099c426ef1d7ff6b20ddbbd1 Mon Sep 17 00:00:00 2001 From: Rahul Gurnani Date: Thu, 13 Aug 2020 23:53:04 +0530 Subject: [PATCH 055/151] Revert "fix(Dgraph): Don't store start_ts in postings. (#6127)" (#6181) This reverts commit 9d7fc94c4c1e712cf6090581e7d35290c77b6d18. --- posting/list.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/posting/list.go b/posting/list.go index 6e0b19ebc39..5c841971afa 100644 --- a/posting/list.go +++ b/posting/list.go @@ -529,9 +529,6 @@ func (l *List) getMutation(startTs uint64) []byte { l.RLock() defer l.RUnlock() if pl, ok := l.mutationMap[startTs]; ok { - for _, p := range pl.GetPostings() { - p.StartTs = 0 - } data, err := pl.Marshal() x.Check(err) return data @@ -599,7 +596,6 @@ func (l *List) pickPostings(readTs uint64) (uint64, []*pb.Posting) { deleteBelowTs = effectiveTs continue } - mpost.StartTs = startTs posts = append(posts, mpost) } } From 54907b83bb3fbbbbe12d7d995b410693eac550f8 Mon Sep 17 00:00:00 2001 From: Rahul Gurnani Date: Fri, 14 Aug 2020 10:04:11 +0530 Subject: [PATCH 056/151] fix: Don't allow idx flag to be set to 0 on dgraph zero (#6156) * Fix DGRAPH-2185 * Update the help message for idx flag in dgraph zero --- dgraph/cmd/zero/run.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dgraph/cmd/zero/run.go b/dgraph/cmd/zero/run.go index c420f185c10..bda8a491692 100644 --- a/dgraph/cmd/zero/run.go +++ b/dgraph/cmd/zero/run.go @@ -83,7 +83,7 @@ instances to achieve high-availability. "addr:port of this server, so other Dgraph alphas can talk to this.") flag.IntP("port_offset", "o", 0, "Value added to all listening port numbers. [Grpc=5080, HTTP=6080]") - flag.Uint64("idx", 1, "Unique node index for this server.") + flag.Uint64("idx", 1, "Unique node index for this server. idx cannot be 0.") flag.Int("replicas", 1, "How many replicas to run per data shard."+ " The count includes the original shard.") flag.String("peer", "", "Address of another dgraphzero server.") @@ -186,6 +186,10 @@ func run() { } glog.Infof("Setting Config to: %+v", opts) + if opts.nodeId == 0 { + log.Fatalf("ERROR: Cannot idx flag cannot be 0. Please try again with idx as a positive integer") + } + x.WorkerConfig = x.WorkerOptions{ LudicrousMode: Zero.Conf.GetBool("ludicrous_mode"), } From d6975fd1060a3c372b3362ac064c55d8d95fcef4 Mon Sep 17 00:00:00 2001 From: Arijit Das Date: Fri, 14 Aug 2020 15:36:14 +0530 Subject: [PATCH 057/151] Prevent empty values in fields having `id` directive. (#6177) --- graphql/resolve/add_mutation_test.yaml | 46 +++++++++++++++++++++++ graphql/resolve/mutation_rewriter.go | 7 ++++ graphql/resolve/update_mutation_test.yaml | 24 ++++++++++++ graphql/schema/wrappers.go | 8 ++++ 4 files changed, 85 insertions(+) diff --git a/graphql/resolve/add_mutation_test.yaml b/graphql/resolve/add_mutation_test.yaml index cbd82479d0b..0904519dc7f 100644 --- a/graphql/resolve/add_mutation_test.yaml +++ b/graphql/resolve/add_mutation_test.yaml @@ -2213,3 +2213,49 @@ uid } } + +- + name: "Add mutation error on @id field for empty value" + gqlmutation: | + mutation addState($input: AddStateInput!) { + addState(input: [$input]) { + state { + name + } + } + } + gqlvariables: | + { "input": + { + "code": "", + "name": "NSW", + "country": { "id": "0x12" } + } + } + explanation: "The add mutation should not be allowed since value of @id field is empty." + error: + { "message": "failed to rewrite mutation payload because encountered an empty value for @id field `State.code`" } + +- + name: "Add mutation error on @id field for empty value (Nested)" + gqlmutation: | + mutation addCountry($input: AddCountryInput!) { + addCountry(input: [$input]) { + country { + name + } + } + } + gqlvariables: | + { "input": + { + "name": "Dgraph Land", + "states": [ { + "code": "", + "name": "Dgraph" + } ] + } + } + explanation: "The add mutation should not be allowed since value of @id field is empty." + error: + { "message": "failed to rewrite mutation payload because encountered an empty value for @id field `State.code`" } \ No newline at end of file diff --git a/graphql/resolve/mutation_rewriter.go b/graphql/resolve/mutation_rewriter.go index 275a0b4db73..fc521f31e4e 100644 --- a/graphql/resolve/mutation_rewriter.go +++ b/graphql/resolve/mutation_rewriter.go @@ -1154,6 +1154,13 @@ func rewriteObject( // e.g. to remove the text or // { "friends": null, ... } // to remove all friends + + // Fields with `id` directive cannot have empty values. + if fieldDef.HasIDDirective() && val == "" { + errFrag := newFragment(nil) + errFrag.err = fmt.Errorf("encountered an empty value for @id field `%s`", fieldName) + return &mutationRes{secondPass: []*mutationFragment{errFrag}} + } frags = &mutationRes{secondPass: []*mutationFragment{newFragment(val)}} } diff --git a/graphql/resolve/update_mutation_test.yaml b/graphql/resolve/update_mutation_test.yaml index e2d997a1a95..93b9fc276bb 100644 --- a/graphql/resolve/update_mutation_test.yaml +++ b/graphql/resolve/update_mutation_test.yaml @@ -1348,6 +1348,30 @@ } } +- name: "Update mutation error on @id field for empty value" + gqlmutation: | + mutation updateCountry($patch: UpdateCountryInput!) { + updateCountry(input: $patch) { + country { + id + } + } + } + gqlvariables: | + { + "patch": { + "filter": { + "id": ["0x123"] + }, + "set": { + "states": [ { "code": "", "name": "Alphabet" } ] + } + } + } + explanation: "The update mutation should not be allowed since value of @id field is empty." + error: + { "message": "failed to rewrite mutation payload because encountered an empty value for @id field `State.code`" } + - name: "Additional Deletes - Update references existing node by XID (updt single edge)" gqlmutation: | mutation updateComputerOwner($patch: UpdateComputerOwnerInput!) { diff --git a/graphql/schema/wrappers.go b/graphql/schema/wrappers.go index fffd01d06b3..41b722a8223 100644 --- a/graphql/schema/wrappers.go +++ b/graphql/schema/wrappers.go @@ -185,6 +185,7 @@ type FieldDefinition interface { Name() string Type() Type IsID() bool + HasIDDirective() bool Inverse() FieldDefinition // TODO - It might be possible to get rid of ForwardEdge and just use Inverse() always. ForwardEdge() FieldDefinition @@ -1358,6 +1359,13 @@ func (fd *fieldDefinition) IsID() bool { return isID(fd.fieldDef) } +func (fd *fieldDefinition) HasIDDirective() bool { + if fd.fieldDef == nil { + return false + } + return hasIDDirective(fd.fieldDef) +} + func hasIDDirective(fd *ast.FieldDefinition) bool { id := fd.Directives.ForName("id") return id != nil From fd0b4ad482c1446d4e15005b75dea06e4c44300a Mon Sep 17 00:00:00 2001 From: Apoorv Vardhan Date: Fri, 14 Aug 2020 16:42:19 +0530 Subject: [PATCH 058/151] feat(docs): Merge GraphQL docs (#6169) This PR adds GraphQL docs under Dgraph docs. --- wiki/config.toml | 20 +- wiki/content/_index.md | 24 ++ wiki/content/dql/_index.md | 7 + wiki/content/get-started/index.md | 1 + wiki/content/graphql/_index.md | 7 + wiki/content/graphql/admin/index.md | 140 +++++++ wiki/content/graphql/api/_index.md | 8 + wiki/content/graphql/api/api-overview.md | 23 ++ wiki/content/graphql/api/errors.md | 24 ++ wiki/content/graphql/api/fragments.md | 22 ++ wiki/content/graphql/api/multiples.md | 150 +++++++ wiki/content/graphql/api/requests.md | 205 ++++++++++ wiki/content/graphql/api/variables.md | 10 + wiki/content/graphql/authorization/_index.md | 8 + .../authorization/authorization-overview.md | 56 +++ .../graphql/authorization/directive.md | 204 ++++++++++ .../graphql/authorization/mutations.md | 112 ++++++ wiki/content/graphql/custom/_index.md | 8 + .../content/graphql/custom/custom-overview.md | 56 +++ wiki/content/graphql/custom/directive.md | 365 ++++++++++++++++++ wiki/content/graphql/custom/field.md | 82 ++++ wiki/content/graphql/custom/graphqlpm.md | 102 +++++ wiki/content/graphql/custom/mutation.md | 47 +++ wiki/content/graphql/custom/query.md | 69 ++++ wiki/content/graphql/dgraph/index.md | 111 ++++++ wiki/content/graphql/directives/index.md | 73 ++++ .../graphql/how-dgraph-graphql-works/index.md | 79 ++++ wiki/content/graphql/mutations/_index.md | 8 + wiki/content/graphql/mutations/add.md | 81 ++++ wiki/content/graphql/mutations/deep.md | 89 +++++ wiki/content/graphql/mutations/delete.md | 64 +++ .../graphql/mutations/mutations-overview.md | 147 +++++++ wiki/content/graphql/mutations/update.md | 98 +++++ wiki/content/graphql/overview/index.md | 74 ++++ wiki/content/graphql/queries/_index.md | 8 + wiki/content/graphql/queries/and-or-not.md | 53 +++ wiki/content/graphql/queries/cascade.md | 43 +++ wiki/content/graphql/queries/order-page.md | 30 ++ .../graphql/queries/queries-overview.md | 46 +++ .../graphql/queries/search-filtering.md | 173 +++++++++ wiki/content/graphql/queries/skip-include.md | 63 +++ wiki/content/graphql/quick-start/index.md | 259 +++++++++++++ wiki/content/graphql/schema/_index.md | 8 + wiki/content/graphql/schema/deprecated.md | 10 + wiki/content/graphql/schema/dgraph-schema.md | 76 ++++ wiki/content/graphql/schema/documentation.md | 14 + wiki/content/graphql/schema/graph-links.md | 126 ++++++ wiki/content/graphql/schema/ids.md | 52 +++ wiki/content/graphql/schema/reserved.md | 10 + .../content/graphql/schema/schema-overview.md | 15 + wiki/content/graphql/schema/search.md | 303 +++++++++++++++ wiki/content/graphql/schema/types.md | 131 +++++++ wiki/content/graphql/subscriptions/index.md | 38 ++ .../graphql/todo-app-tutorial/_index.md | 8 + .../graphql/todo-app-tutorial/deploy.md | 72 ++++ .../graphql/todo-app-tutorial/todo-UI.md | 330 ++++++++++++++++ .../todo-app-tutorial/todo-auth-rules.md | 57 +++ .../todo-app-tutorial/todo-auth0-jwt.md | 214 ++++++++++ .../todo-app-tutorial/todo-overview.md | 19 + .../todo-app-tutorial/todo-schema-design.md | 251 ++++++++++++ wiki/content/mutations/_index.md | 1 + wiki/content/query-language/_index.md | 2 +- wiki/content/slash-graphql/_index.md | 7 + wiki/content/slash-graphql/admin/_index.md | 8 + .../slash-graphql/admin/authentication.md | 17 + wiki/content/slash-graphql/admin/drop-data.md | 34 ++ .../slash-graphql/admin/import-export.md | 47 +++ wiki/content/slash-graphql/admin/overview.md | 22 ++ wiki/content/slash-graphql/admin/schema.md | 38 ++ .../content/slash-graphql/advanced-queries.md | 130 +++++++ wiki/content/slash-graphql/introduction.md | 22 ++ .../slash-graphql/slash-quick-start.md | 141 +++++++ wiki/content/tips/index.md | 1 + wiki/content/tutorials/index.md | 1 + .../images/graphql/subscription_example.gif | Bin 0 -> 4955576 bytes .../images/graphql/subscription_flow.png | Bin 0 -> 35787 bytes .../graphql/tutorial/todo/certificate.png | Bin 0 -> 133883 bytes .../graphql/tutorial/todo/dashboard.png | Bin 0 -> 103876 bytes .../images/graphql/tutorial/todo/jwt.png | Bin 0 -> 176110 bytes .../images/graphql/tutorial/todo/rule.png | Bin 0 -> 111884 bytes .../graphql/tutorial/todo/slash-graphql-1.png | Bin 0 -> 97094 bytes .../graphql/tutorial/todo/slash-graphql-2.png | Bin 0 -> 114358 bytes .../graphql/tutorial/todo/slash-graphql-3.png | Bin 0 -> 134480 bytes .../graphql/tutorial/todo/todo-graph-2.png | Bin 0 -> 20507 bytes .../graphql/tutorial/todo/todo-graph.png | Bin 0 -> 13789 bytes .../images/graphql/tutorial/todo/token.png | Bin 0 -> 63687 bytes 86 files changed, 5447 insertions(+), 7 deletions(-) create mode 100644 wiki/content/dql/_index.md create mode 100644 wiki/content/graphql/_index.md create mode 100644 wiki/content/graphql/admin/index.md create mode 100644 wiki/content/graphql/api/_index.md create mode 100644 wiki/content/graphql/api/api-overview.md create mode 100644 wiki/content/graphql/api/errors.md create mode 100644 wiki/content/graphql/api/fragments.md create mode 100644 wiki/content/graphql/api/multiples.md create mode 100644 wiki/content/graphql/api/requests.md create mode 100644 wiki/content/graphql/api/variables.md create mode 100644 wiki/content/graphql/authorization/_index.md create mode 100644 wiki/content/graphql/authorization/authorization-overview.md create mode 100644 wiki/content/graphql/authorization/directive.md create mode 100644 wiki/content/graphql/authorization/mutations.md create mode 100644 wiki/content/graphql/custom/_index.md create mode 100644 wiki/content/graphql/custom/custom-overview.md create mode 100644 wiki/content/graphql/custom/directive.md create mode 100644 wiki/content/graphql/custom/field.md create mode 100644 wiki/content/graphql/custom/graphqlpm.md create mode 100644 wiki/content/graphql/custom/mutation.md create mode 100644 wiki/content/graphql/custom/query.md create mode 100644 wiki/content/graphql/dgraph/index.md create mode 100644 wiki/content/graphql/directives/index.md create mode 100644 wiki/content/graphql/how-dgraph-graphql-works/index.md create mode 100644 wiki/content/graphql/mutations/_index.md create mode 100644 wiki/content/graphql/mutations/add.md create mode 100644 wiki/content/graphql/mutations/deep.md create mode 100644 wiki/content/graphql/mutations/delete.md create mode 100644 wiki/content/graphql/mutations/mutations-overview.md create mode 100644 wiki/content/graphql/mutations/update.md create mode 100644 wiki/content/graphql/overview/index.md create mode 100644 wiki/content/graphql/queries/_index.md create mode 100644 wiki/content/graphql/queries/and-or-not.md create mode 100644 wiki/content/graphql/queries/cascade.md create mode 100644 wiki/content/graphql/queries/order-page.md create mode 100644 wiki/content/graphql/queries/queries-overview.md create mode 100644 wiki/content/graphql/queries/search-filtering.md create mode 100644 wiki/content/graphql/queries/skip-include.md create mode 100644 wiki/content/graphql/quick-start/index.md create mode 100644 wiki/content/graphql/schema/_index.md create mode 100644 wiki/content/graphql/schema/deprecated.md create mode 100644 wiki/content/graphql/schema/dgraph-schema.md create mode 100644 wiki/content/graphql/schema/documentation.md create mode 100644 wiki/content/graphql/schema/graph-links.md create mode 100644 wiki/content/graphql/schema/ids.md create mode 100644 wiki/content/graphql/schema/reserved.md create mode 100644 wiki/content/graphql/schema/schema-overview.md create mode 100644 wiki/content/graphql/schema/search.md create mode 100644 wiki/content/graphql/schema/types.md create mode 100644 wiki/content/graphql/subscriptions/index.md create mode 100644 wiki/content/graphql/todo-app-tutorial/_index.md create mode 100644 wiki/content/graphql/todo-app-tutorial/deploy.md create mode 100644 wiki/content/graphql/todo-app-tutorial/todo-UI.md create mode 100644 wiki/content/graphql/todo-app-tutorial/todo-auth-rules.md create mode 100644 wiki/content/graphql/todo-app-tutorial/todo-auth0-jwt.md create mode 100644 wiki/content/graphql/todo-app-tutorial/todo-overview.md create mode 100644 wiki/content/graphql/todo-app-tutorial/todo-schema-design.md create mode 100644 wiki/content/slash-graphql/_index.md create mode 100644 wiki/content/slash-graphql/admin/_index.md create mode 100644 wiki/content/slash-graphql/admin/authentication.md create mode 100644 wiki/content/slash-graphql/admin/drop-data.md create mode 100644 wiki/content/slash-graphql/admin/import-export.md create mode 100644 wiki/content/slash-graphql/admin/overview.md create mode 100644 wiki/content/slash-graphql/admin/schema.md create mode 100644 wiki/content/slash-graphql/advanced-queries.md create mode 100644 wiki/content/slash-graphql/introduction.md create mode 100644 wiki/content/slash-graphql/slash-quick-start.md create mode 100644 wiki/static/images/graphql/subscription_example.gif create mode 100644 wiki/static/images/graphql/subscription_flow.png create mode 100644 wiki/static/images/graphql/tutorial/todo/certificate.png create mode 100644 wiki/static/images/graphql/tutorial/todo/dashboard.png create mode 100644 wiki/static/images/graphql/tutorial/todo/jwt.png create mode 100644 wiki/static/images/graphql/tutorial/todo/rule.png create mode 100644 wiki/static/images/graphql/tutorial/todo/slash-graphql-1.png create mode 100644 wiki/static/images/graphql/tutorial/todo/slash-graphql-2.png create mode 100644 wiki/static/images/graphql/tutorial/todo/slash-graphql-3.png create mode 100644 wiki/static/images/graphql/tutorial/todo/todo-graph-2.png create mode 100644 wiki/static/images/graphql/tutorial/todo/todo-graph.png create mode 100644 wiki/static/images/graphql/tutorial/todo/token.png diff --git a/wiki/config.toml b/wiki/config.toml index 275d2255766..bda030d40ad 100644 --- a/wiki/config.toml +++ b/wiki/config.toml @@ -1,17 +1,25 @@ +canonifyURLs = true languageCode = "en-us" theme = "hugo-docs" -canonifyURLs = true [markup.goldmark.renderer] unsafe = true [markup.highlight] -noClasses = false +codeFences = true +guessSyntax = false +hl_Lines = "" +lineNoStart = 1 +lineNos = false +lineNumbersInTable = true +noClasses = true +style = "vs" +tabWidth = 4 [markup.tableOfContents] - endLevel = 3 - ordered = false - startLevel = 2 +endLevel = 3 +ordered = false +startLevel = 2 # set by build script: title, baseurl -title = "Dgraph Documentation" \ No newline at end of file +title = "Dgraph Documentation" diff --git a/wiki/content/_index.md b/wiki/content/_index.md index edb33bd52ab..10bef7a2d57 100644 --- a/wiki/content/_index.md +++ b/wiki/content/_index.md @@ -17,6 +17,30 @@ Designed from the ground up to be run in production, Dgraph is the native GraphQ
+
+
+ +

+ Get Started with GraphQL +

+
+
+
+
+ +

+ Slash GraphQL Provides /graphql Backend for Your App +

+
+
diff --git a/wiki/content/dql/_index.md b/wiki/content/dql/_index.md new file mode 100644 index 00000000000..50d0160cc03 --- /dev/null +++ b/wiki/content/dql/_index.md @@ -0,0 +1,7 @@ ++++ +title = "DQL" +[menu.main] + url = "/dql/" + identifier = "dql" + weight = 4 ++++ \ No newline at end of file diff --git a/wiki/content/get-started/index.md b/wiki/content/get-started/index.md index a496d02629e..a7672c9e61b 100644 --- a/wiki/content/get-started/index.md +++ b/wiki/content/get-started/index.md @@ -5,6 +5,7 @@ aliases = ["/get-started-old"] url = "/get-started" name = "Get Started" identifier = "get-started" + parent = "dql" weight = 2 +++ diff --git a/wiki/content/graphql/_index.md b/wiki/content/graphql/_index.md new file mode 100644 index 00000000000..700780eaecb --- /dev/null +++ b/wiki/content/graphql/_index.md @@ -0,0 +1,7 @@ ++++ +title = "GraphQL" +[menu.main] + url = "/graphql/" + identifier = "graphql" + weight = 3 ++++ diff --git a/wiki/content/graphql/admin/index.md b/wiki/content/graphql/admin/index.md new file mode 100644 index 00000000000..6bdeb6ffa63 --- /dev/null +++ b/wiki/content/graphql/admin/index.md @@ -0,0 +1,140 @@ ++++ +title = "Admin" +[menu.main] + url = "/graphql/admin/" + name = "Admin" + identifier = "graphql-admin" + parent = "graphql" + weight = 12 ++++ + +The admin API and how to run Dgraph with GraphQL. + +## Running + +The simplest way to start with Dgraph GraphQL is to run the all-in-one Docker image. + +``` +docker run -it -p 8080:8080 dgraph/standalone:master +``` + +That brings up GraphQL at `localhost:8080/graphql` and `localhost:8080/admin`, but is intended for quickstart and doesn't persist data. + +## Advanced Options + +Once you've tried out Dgraph GraphQL, you'll need to move past the `dgraph/standalone` and run and deploy Dgraph instances. + +Dgraph is a distributed graph database. It can scale to huge data and shard that data across a cluster of Dgraph instances. GraphQL is built into Dgraph in its Alpha nodes. To learn how to manage and deploy a Dgraph cluster to build an App check Dgraph's [Dgraph docs](https://docs.dgraph.io/), and, in particular, the [deployment guide](https://docs.dgraph.io/deploy/). + +GraphQL schema introspection is enabled by default, but can be disabled with the `--graphql_introspection=false` when starting the Dgraph alpha nodes. + +## Dgraph's schema + +Dgraph's GraphQL runs in Dgraph and presents a GraphQL schema where the queries and mutations are executed in the Dgraph cluster. So the GraphQL schema is backed by Dgraph's schema. + +**Warning: this means if you have a Dgraph instance and change its GraphQL schema, the schema of the underlying Dgraph will also be changed!** + +## /admin + +When you start Dgraph with GraphQL, two GraphQL endpoints are served. + +At `/graphql` you'll find the GraphQL API for the types you've added. That's what your app would access and is the GraphQL entry point to Dgraph. If you need to know more about this, see the quick start, example and schema docs. + +At `/admin` you'll find an admin API for administering your GraphQL instance. The admin API is a GraphQL API that serves POST and GET as well as compressed data, much like the `/graphql` endpoint. + +Here are the important types, queries, and mutations from the admin schema. + +```graphql +type GQLSchema { + id: ID! + schema: String! + generatedSchema: String! +} + +type UpdateGQLSchemaPayload { + gqlSchema: GQLSchema +} + +input UpdateGQLSchemaInput { + set: GQLSchemaPatch! +} + +input GQLSchemaPatch { + schema: String! +} + +type Query { + getGQLSchema: GQLSchema + health: Health +} + +type Mutation { + updateGQLSchema(input: UpdateGQLSchemaInput!) : UpdateGQLSchemaPayload +} +``` + +You'll notice that the /admin schema is very much the same as the schemas generated by Dgraph GraphQL. + +* The `health` query lets you know if everything is connected and if there's a schema currently being served at `/graphql`. +* The `getGQLSchema` query gets the current GraphQL schema served at `/graphql`, or returns null if there's no such schema. +* The `updateGQLSchema` mutation allows you to change the schema currently served at `/graphql`. + +## First Start + +On first starting with a blank database: + +* There's no schema served at `/graphql`. +* Querying the `/admin` endpoint for `getGQLSchema` returns `"getGQLSchema": null`. +* Querying the `/admin` endpoint for `health` lets you know that no schema has been added. + +## Adding Schema + +Given a blank database, running the `/admin` mutation: + +```graphql +mutation { + updateGQLSchema( + input: { set: { schema: "type Person { name: String }"}}) + { + gqlSchema { + schema + generatedSchema + } + } +} +``` + +would cause the following. + +* The `/graphql` endpoint would refresh and now serves the GraphQL schema generated from type `type Person { name: String }`: that's Dgraph type `Person` and predicate `Person.name: string .`; see [here](/graphql/dgraph) for how to customize the generated schema. +* The schema of the underlying Dgraph instance would be altered to allow for the new `Person` type and `name` predicate. +* The `/admin` endpoint for `health` would return that a schema is being served. +* The mutation returns `"schema": "type Person { name: String }"` and the generated GraphQL schema for `generatedSchema` (this is the schema served at `/graphql`). +* Querying the `/admin` endpoint for `getGQLSchema` would return the new schema. + +## Migrating Schema + +Given an instance serving the schema from the previous section, running an `updateGQLSchema` mutation with the following input + +```graphql +type Person { + name: String @search(by: [regexp]) + dob: DateTime +} +``` + +changes the GraphQL definition of `Person` and results in the following. + +* The `/graphql` endpoint would refresh and now serves the GraphQL schema generated from the new type. +* The schema of the underlying Dgraph instance would be altered to allow for `dob` (predicate `Person.dob: datetime .` is added, and `Person.name` becomes `Person.name: string @index(regexp).`) and indexes are rebuilt to allow the regexp search. +* The `health` is unchanged. +* Querying the `/admin` endpoint for `getGQLSchema` now returns the updated schema. + +## Removing from Schema + +Adding a schema through GraphQL doesn't remove existing data (it would remove indexes). For example, starting from the schema in the previous section and running `updateGQLSchema` with the initial `type Person { name: String }` would have the following effects. + +* The `/graphql` endpoint would refresh to serve the schema built from this type. +* Thus field `dob` would no longer be accessible and there'd be no search available on `name`. +* The search index on `name` in Dgraph would be removed. +* The predicate `dob` in Dgraph is left untouched - the predicate remains and no data is deleted. diff --git a/wiki/content/graphql/api/_index.md b/wiki/content/graphql/api/_index.md new file mode 100644 index 00000000000..fbb4fc17d8c --- /dev/null +++ b/wiki/content/graphql/api/_index.md @@ -0,0 +1,8 @@ ++++ +title = "The API" +[menu.main] + url = "/graphql/api/" + identifier = "api" + parent = "graphql" + weight = 5 ++++ \ No newline at end of file diff --git a/wiki/content/graphql/api/api-overview.md b/wiki/content/graphql/api/api-overview.md new file mode 100644 index 00000000000..7b977b9911b --- /dev/null +++ b/wiki/content/graphql/api/api-overview.md @@ -0,0 +1,23 @@ ++++ +title = "Overview" +[menu.main] + parent = "api" + identifier = "api-overview" + weight = 1 ++++ + +How to use the GraphQL API. + +Dgraph serves [spec-compliant +GraphQL](https://graphql.github.io/graphql-spec/June2018/) over HTTP to two endpoints: `/graphql` and `/admin`. + + +In Slash GraphQL `/graphql` and `/admin` are served from the domain of your backend, which will be something like `https://YOUR-SUBDOMAIN.REGION.aws.cloud.dgraph.io`. If you are running a self-hosted Dgraph instance that will be at the alpha port and url (which defaults to `http://localhost:8080` if you aren't changing any settings). + +In each case, both GET and POST requests are served. + +- `/graphql` is where you'll find the GraphQL API for the types you've added. That is the single GraphQL entry point for your apps to Dgraph. + +- `/admin` is where you'll find an admin API for administering your GraphQL instance. That's where you can update your GraphQL schema, perform health checks of your backend, and more. + +This section covers the API served at `/graphql`. See [Admin](/graphql/admin) to learn more about the admin API. diff --git a/wiki/content/graphql/api/errors.md b/wiki/content/graphql/api/errors.md new file mode 100644 index 00000000000..074981811bf --- /dev/null +++ b/wiki/content/graphql/api/errors.md @@ -0,0 +1,24 @@ ++++ +title = "GraphQL Error Propagation" +[menu.main] + parent = "api" + name = "GraphQL Errors" + weight = 6 ++++ + + + +Before returning query and mutation results, Dgraph uses the types in the schema to apply GraphQL [value completion](https://graphql.github.io/graphql-spec/June2018/#sec-Value-Completion) and [error handling](https://graphql.github.io/graphql-spec/June2018/#sec-Errors-and-Non-Nullability). That is, `null` values for non-nullable fields, e.g. `String!`, cause error propagation to parent fields. + +In short, the GraphQL value completion and error propagation mean the following. + +* Fields marked as nullable (i.e. without `!`) can return `null` in the json response. +* For fields marked as non-nullable (i.e. with `!`) Dgraph never returns null for that field. +* If an instance of type has a non-nullable field that has evaluated to null, the whole instance results in null. +* Reducing an object to null might cause further error propagation. For example, querying for a post that has an author with a null name results in null: the null name (`name: String!`) causes the author to result in null, and a null author causes the post (`author: Author!`) to result in null. +* Error propagation for lists with nullable elements, e.g. `friends [Author]`, can result in nulls inside the result list. +* Error propagation for lists with non-nullable elements results in null for `friends [Author!]` and would cause further error propagation for `friends [Author!]!`. + +Note that, a query that results in no values for a list will always return the empty list `[]`, not `null`, regardless of the nullability. For example, given a schema for an author with `posts: [Post!]!`, if an author has not posted anything and we queried for that author, the result for the posts field would be `posts: []`. + +A list can, however, result in null due to GraphQL error propagation. For example, if the definition is `posts: [Post!]`, and we queried for an author who has a list of posts. If one of those posts happened to have a null title (title is non-nullable `title: String!`), then that post would evaluate to null, the `posts` list can't contain nulls and so the list reduces to null. diff --git a/wiki/content/graphql/api/fragments.md b/wiki/content/graphql/api/fragments.md new file mode 100644 index 00000000000..8e4d9f05253 --- /dev/null +++ b/wiki/content/graphql/api/fragments.md @@ -0,0 +1,22 @@ ++++ +title = "GraphQL Fragements" +[menu.main] + parent = "api" + name = "GraphQL Fragements" + weight = 4 ++++ + +Documentation on GraphQL fragments is coming soon. + + \ No newline at end of file diff --git a/wiki/content/graphql/api/multiples.md b/wiki/content/graphql/api/multiples.md new file mode 100644 index 00000000000..9a587f95d0f --- /dev/null +++ b/wiki/content/graphql/api/multiples.md @@ -0,0 +1,150 @@ ++++ +title = "Multiple GraphQL Operations in a Request" +[menu.main] + parent = "api" + name = "Multiple GraphQL Operations in a Request" + weight = 5 ++++ + +GraphQL requests can contain one or more operations. Operations are one of `query`, `mutation`, or `subscription`. If a request only has one operation, then it can be unnamed like the following: + +## Single Operation + +The most basic request contains a single anonymous (unnamed) operation. Each operation can have one or more queries within in. For example, the following query has `query` operation running the queries "getTask" and "getUser": + +```graphql +query { + getTask(id: "0x3") { + id + title + completed + } + getUser(username: "dgraphlabs") { + username + } +} +``` + +Response: + +```json +{ + "data": { + "getTask": { + "id": "0x3", + "title": "GraphQL docs example", + "completed": true + }, + "getUser": { + "username": "dgraphlabs" + } + } +} +``` + +You can optionally name the operation as well, though it's not required if the request only has one operation as it's clear what needs to be executed. + +### Query Shorthand + +If a request only has a single query operation, then you can use the short-hand form of omitting the "query" keyword: + +```graphql +{ + getTask(id: "0x3") { + id + title + completed + } + getUser(username: "dgraphlabs") { + username + } +} +``` + +This simplfies queries when a query doesn't require an operation name or [variables](../variables). + +## Multiple Operations + +If a request has two or more operations, then each operation must have a name. A request can only execute one operation, so you must also include the operation name to execute in the request (see the "operations" field for [requests](../requests)). Every operation name in a request must be unique. + +For example, in the following request has the operation names "getTaskAndUser" and "completedTasks". + +```graphql +query getTaskAndUser { + getTask(id: "0x3") { + id + title + completed + } + queryUser(filter: {username: {eq: "dgraphlabs"}}) { + username + name + } +} + +query completedTasks { + queryTask(filter: {completed: true}) { + title + completed + } +} +``` + +When executing the following request (as an HTTP POST request in JSON format), specifying the "getTaskAndUser" operation executes the first query: + +```json +{ + "query": "query getTaskAndUser { getTask(id: \"0x3\") { id title completed } queryUser(filter: {username: {eq: \"dgraphlabs\"}}) { username name }\n}\n\nquery completedTasks { queryTask(filter: {completed: true}) { title completed }}", + "operationName": "getTaskAndUser" +} +``` + +```json +{ + "data": { + "getTask": { + "id": "0x3", + "title": "GraphQL docs example", + "completed": true + }, + "queryUser": [ + { + "username": "dgraphlabs", + "name": "Dgraph Labs" + } + ] + } +} +``` + +And specifying the "completedTasks" operation executes the second query: + +```json +{ + "query": "query getTaskAndUser { getTask(id: \"0x3\") { id title completed } queryUser(filter: {username: {eq: \"dgraphlabs\"}}) { username name }\n}\n\nquery completedTasks { queryTask(filter: {completed: true}) { title completed }}", + "operationName": "completedTasks" +} +``` + +```json +{ + "data": { + "queryTask": [ + { + "title": "GraphQL docs example", + "completed": true + }, + { + "title": "Show second operation", + "completed": true + } + ] + } +} +``` + +## Additional Details + +When an operation contains multiple queries, they are run concurrently and independently in a Dgraph readonly transaction per query. + +When an operation contains multiple mutations, they are run serially, in the order listed in the request, and in a transaction per mutation. If a mutation fails, the following mutations are not executed, and previous mutations are not rolled back. diff --git a/wiki/content/graphql/api/requests.md b/wiki/content/graphql/api/requests.md new file mode 100644 index 00000000000..0e1e71c75e9 --- /dev/null +++ b/wiki/content/graphql/api/requests.md @@ -0,0 +1,205 @@ ++++ +title = "Requests and Responses" +[menu.main] + parent = "api" + name = "Requests and Responses" + weight = 2 ++++ + +In this section, we'll cover the structure for GraphQL requests and responses, how to enable compression for them, and configuration options for extensions. + +## Requests + +GraphQL requests can be sent via HTTP POST or HTTP GET requests. + +POST requests sent with the Content-Type header `application/graphql` must have a POST body content as a GraphQL query string. For example, the following is a valid POST body for a query: + +```graphql +query { + getTask(id: "0x3") { + id + title + completed + user { + username + name + } + } +} +``` + +POST requests sent with the Content-Type header `application/json` must have a POST body in the following JSON format: + +```json +{ + "query": "...", + "operationName": "...", + "variables": { "var": "val", ... } +} +``` + +GET requests must be sent in the following format. The query, variables, and operation are sent as URL-encoded query parameters in the URL. + +``` +http://localhost:8080/graphql?query={...}&variables={...}&operation=... +``` + +In either request method (POST or GET), only `query` is required. `variables` is only required if the query contains GraphQL variables: i.e. the query starts like `query myQuery($var: String)`. `operationName` is only required if there are multiple operations in the query; in which case, operations must also be named. + +## Responses + +GraphQL responses are in JSON. Every response is a JSON map, and will include JSON keys for `"data"`, `"errors"`, or `"extensions"` following the GraphQL specification. They follow the following formats. + +Successful queries are in the following format: + +```json +{ + "data": { ... }, + "extensions": { ... } +} +``` + +Queries that have errors are in the following format. + +```json +{ + "errors": [ ... ], +} +``` + +All responses, including errors, always return HTTP 200 OK status codes. An error response will contain an `"errors"` field. + +### "data" field + +The "data" field contains the result of your GraphQL request. The response has exactly the same shape as the result. For example, notice that for the following query, the response includes the data in the exact shape as the query. + +Query: + +```graphql +query { + getTask(id: "0x3") { + id + title + completed + user { + username + name + } + } +} +``` + +Response: + +```json +{ + "data": { + "getTask": { + "id": "0x3", + "title": "GraphQL docs example", + "completed": true, + "user": { + "username": "dgraphlabs", + "name": "Dgraph Labs" + } + } + } +} +``` + +### "errors" field + +The "errors" field is a JSON list where each entry has a `"message"` field that describes the error and optionally has a `"locations"` array to list the specific line and column number of the request that points to the error described. For example, here's a possible error for the following query, where `getTask` needs to have an `id` specified as input: + +Query: +```graphql +query { + getTask() { + id + } +} +``` + +Response: +```json +{ + "errors": [ + { + "message": "Field \"getTask\" argument \"id\" of type \"ID!\" is required but not provided.", + "locations": [ + { + "line": 2, + "column": 3 + } + ] + } + ] +} +``` + +### "extensions" field + +The "extensions" field contains extra metadata for the request with metrics and trace information for the request. + +- `"touched_uids"`: The number of nodes that were touched to satisfy the request. This is a good metric to gauge the complexity of the query. +- `"tracing"`: Displays performance tracing data in [Apollo Tracing][apollo-tracing] format. This includes the duration of the whole query and the duration of each operation. + +[apollo-tracing]: https://github.com/apollographql/apollo-tracing + +Here's an example of a query response with the extensions field: + +```json +{ + "data": { + "getTask": { + "id": "0x3", + "title": "GraphQL docs example", + "completed": true, + "user": { + "username": "dgraphlabs", + "name": "Dgraph Labs" + } + } + }, + "extensions": { + "touched_uids": 9, + "tracing": { + "version": 1, + "startTime": "2020-07-29T05:54:27.784837196Z", + "endTime": "2020-07-29T05:54:27.787239465Z", + "duration": 2402299, + "execution": { + "resolvers": [ + { + "path": [ + "getTask" + ], + "parentType": "Query", + "fieldName": "getTask", + "returnType": "Task", + "startOffset": 122073, + "duration": 2255955, + "dgraph": [ + { + "label": "query", + "startOffset": 171684, + "duration": 2154290 + } + ] + } + ] + } + } + } +} +``` + +### Turn off extensions + +Extensions are returned in every response. These are completely optional. If you'd like to turn off extensions, you can set the config option `--graphql_extensions=false` in Dgraph Alpha. + +## Compression + +By default, requests and responses are not compressed. Typically, enabling compression saves from sending additional data to and from the backend while using a bit of extra processing time to do the compression. + +You can turn on compression for requests and responses by setting the standard HTTP headers. To send compressed requests, set HTTP header `Content-Encoding` to `gzip` to POST gzip-compressed data. To receive compressed responses, set the HTTP header `Accept-Encoding` to `gzip` in your request. diff --git a/wiki/content/graphql/api/variables.md b/wiki/content/graphql/api/variables.md new file mode 100644 index 00000000000..79e9333a330 --- /dev/null +++ b/wiki/content/graphql/api/variables.md @@ -0,0 +1,10 @@ ++++ +title = "GraphQL Variables" +[menu.main] + parent = "api" + name = "GraphQL Variables" + identifier = "graphql-variables" + weight = 3 ++++ + +Docs on using GraphQL variables in queries and mutations is coming soon. \ No newline at end of file diff --git a/wiki/content/graphql/authorization/_index.md b/wiki/content/graphql/authorization/_index.md new file mode 100644 index 00000000000..452cb49a5bc --- /dev/null +++ b/wiki/content/graphql/authorization/_index.md @@ -0,0 +1,8 @@ ++++ +title = "Authorization" +[menu.main] + url = "/graphql/authorization/" + identifier = "authorization" + parent = "graphql" + weight = 10 ++++ \ No newline at end of file diff --git a/wiki/content/graphql/authorization/authorization-overview.md b/wiki/content/graphql/authorization/authorization-overview.md new file mode 100644 index 00000000000..1a0305a5205 --- /dev/null +++ b/wiki/content/graphql/authorization/authorization-overview.md @@ -0,0 +1,56 @@ ++++ +title = "Overview" +[menu.main] + parent = "authorization" + identifier = "authorization-overview" + weight = 1 ++++ + +Dgraph GraphQL comes with inbuilt authorization. It allows you to annotate your schema with rules that determine who can access or mutate what data. + +Firstly, let's get some concepts defined. There are two important concepts in what's often called 'auth'. + +* authentication : who are you; and +* authorization : what are you allowed to do. + +Dgraph GraphQL deals with authorization, but is completely flexible about how your app does authentication. You could authenticate your users with a cloud service like OneGraph or Auth0, use some social sign in options, or write bespoke code. The connection between Dgraph and your authentication mechanism is a signed JWT - you tell Dgraph, for example, the public key of the JWT signer and Dgraph trusts JWTs signed by the corresponding private key. + +With an authentication mechanism set up, you then annotate your schema with the `@auth` directive to define your authorization rules, attach details of your authentication provider to the last line of the schema, and pass the schema to Dgraph. So your schema will follow this pattern. + +```graphql +type A @auth(...) { + ... +} + +type B @auth(...) { + ... +} + +# Dgraph.Authorization {"VerificationKey":"","Header":"","Namespace":"","Algo":"","Audience":[]} +``` + +* `Header` is the header in which requests will send the signed JWT +* `Namespace` is the key inside the JWT that contains the claims relevant to Dgraph auth +* `Algo` is JWT verification algorithm which can be either `HS256` or `RS256`, and +* `VerificationKey` is the string value of the key (newlines replaced with `\n`) wrapped in `""` +* `Audience` is used to verify `aud` field of JWT which might be set by certain providers. It indicates the intended audience for the JWT. This is an optional field. + +Valid examples look like + +`# Dgraph.Authorization {"VerificationKey":"verificationkey","Header":"X-My-App-Auth","Namespace":"https://my.app.io/jwt/claims","Algo":"HS256","Audience":["aud1","aud5"]}` + +Without audience field + +`# Dgraph.Authorization {"VerificationKey":"secretkey","Header":"X-My-App-Auth","Namespace":"https://my.app.io/jwt/claims","Algo":"HS256"}` + +for HMAC-SHA256 JWT with symmetric cryptography (the signing key and verification key are the same), and like + +`# Dgraph.Authorization {"VerificationKey":"-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----","Header":"X-My-App-Auth","Namespace":"https://my.app.io/jwt/claims","Algo":"RS256"}` + +for RSA Signature with SHA-256 asymmetric cryptography (the JWT is signed with the private key and Dgraph checks with the public key). + +Both cases expect the JWT to be in a header `X-My-App-Auth` and expect the JWT to contain custom claims object `"https://my.app.io/jwt/claims": { ... }` with the claims used in authorization rules. + +Note: authorization is in beta and some aspects may change - for example, it's possible that the method to specify the header, key, etc. will move into the /admin `updateGQLSchema` mutation that sets the schema. Some features are also in active improvement and development - for example, auth is supported an on types, but interfaces (and the types that implement them) don't correctly support auth in the current beta. + +--- diff --git a/wiki/content/graphql/authorization/directive.md b/wiki/content/graphql/authorization/directive.md new file mode 100644 index 00000000000..0e84a8faca4 --- /dev/null +++ b/wiki/content/graphql/authorization/directive.md @@ -0,0 +1,204 @@ ++++ +title = "The `@auth` directive" +[menu.main] + parent = "authorization" + weight = 2 ++++ + +Given an authentication mechanism and signed JWT, it's the `@auth` directive that tells Dgraph how to apply authorization. The directive can be used on any type (that isn't a `@remote` type) and specifies the authorization for `query` as well as `add`, `update` and `delete` mutations. + +In each case, `@auth` specifies rules that Dgraph applies during queries and mutations. Those rules are expressed in exactly the same syntax as GraphQL queries. Why? Because the authorization you add to your app is about the graph of your application, so graph rules make sense. It's also the syntax you already know about, you get syntax help from GraphQL tools in writing such rules, and it turns out to be exactly the kinds of rules Dgraph already knows how to evaluate. + +Here's how the rules work. + +## Authorization rules + +A valid type and rule looks like the following. + +```graphql +type Todo @auth( + query: { rule: """ + query ($USER: String!) { + queryTodo(filter: { owner: { eq: $USER } } ) { + id + } + }""" + } +){ + id: ID! + text: String! @search(by: [term]) + owner: String! +} +``` + +Here we define a type `Todo`, that's got an `id`, the `text` of the todo and the username of the `owner` of the todo. What todos can a user query? Any `Todo` that the `query` rule would also return. + +The `query` rule in this case expects the JWT to contain a claim `"USER": "..."` giving the username of the logged in user, and says: you can query any todo that has your username as the owner. + +In this example we use the `queryTodo` query that will be auto generated after uploading this schema. When using a query in a rule, you can only use the `queryTypeName` query. Where `TypeName` matches the name of where the `@auth` directive is attached. In other words, we could not have used the `getTodo` query in our rule above to query by id only. + +This rule is applied automatically at query time. For example, the query + +```graphql +query { + queryTodo { + id + text + } +} +``` + +will return only the todo's where `owner` equals `amit`, when Amit is logged in and only the todos owned by `nancy` when she's logged into your app. + +Similarly, + +```graphql +query { + queryTodo(filter: { text: { anyofterms: "graphql"}}, first: 10, order: { asc: text }) { + id + text + } +} +``` + +will return the first ten todos, ordered ascending by title of the user that made the query. + +This means your frontend doesn't need to be sensitive to the auth rules. Your app can simply query for the todos and that query behaves properly depending on who's logged in. + +In general, an auth rule should select a field that's expected to exist at the inner most field, often that's the `ID` or `@id` field. Auth rules are run in a mode that requires all fields in the rule to find a value in order to succeed. + +## Graph traversal in auth rules + +Often authorization depends not on the object being queried, but on the connections in the graph that object has or doesn't have. Because the auth rules are graph queries, they can express very powerful graph search and traversal. + +For a simple todo app, it's more likely that you'll have types like this: + +```graphql +type User { + username: String! @id + todos: [Todo] +} + +type Todo { + id: ID! + text: String! + owner: User +} +``` + +This means your auth rule for todos will depend not on a value in the todo, but on checking which owner it's linked to. This means our auth rule must make a step further into the graph to check who the owner is. + +```graphql +query ($USER: String!) { + queryTodo { + owner(filter: { username: { eq: $USER } } ) { + username + } + } +} +``` + +You can express a lot with these kinds of graph traversals. For example, multitenancy rules can express that you can only see an object if it's linked (through what ever graph search you define) to the organization you were authenticated from. That means your app can split data per customer easily. + +You can also express rules that can be administered by the app itself. You might define type `Role` and enum `Privileges` that can have values like `VIEW`, `ADD`, etc. and state in your auth rules that a user needs to have a role with particular privileges to query/add/update/delete and those roles can then be allocated inside the app. For example, in an app about project management, when a project is created the admin can decide which users have view or edit permission, etc. + +## Role Based Access Control + +As well as rules that relate a user's claims to a graph traversal, role based access control rules are also possible. These rules relate a claim in the JWT to a known value. + +For example, perhaps only someone logged in with the `ADMIN` role is allowed to delete users. For that, we might expect the JWT to contain a claim `"ROLE": "ADMIN"`, and can thus express a rule that only allows users with the `ADMIN` claim to delete. + +```graphql +type User @auth( + delete: { rule: "{$ROLE: { eq: \"ADMIN\" } }"} +) { + username: String! @id + todos: [Todo] +} +``` + +Not all claims need to be present in all JWTs. For example, if the `ROLE` claim isn't present in a JWT, any rule that relies on `ROLE` simply evaluates to false. As well as simplifying your JWTs (e.g. not all users need a role if it doesn't make sense to do so), this means you can also simply disallow some queries and mutations. If you know that your JWTs never contain the claim `DENIED`, then a rule such as + +```graphql +type User @auth( + delete: { rule: "{$DENIED: { eq: \"DENIED\" } }"} +) { + ... +} +``` + +can never be true and this would prevent users ever being deleted. + +## and, or & not + +Rules can be combined with the logical connectives and, or and not, so a permission can be a mixture of graph traversals and role based rules. + +In the todo app, you can express, for example, that you can delete a `Todo` if you are the author, or are the site admin. + +```graphql +type Todo @auth( + delete: { or: [ + { rule: "query ($USER: String!) { ... }" }, # you are the author graph query + { rule: "{$ROLE: { eq: \"ADMIN\" } }" } + ]} +) +``` + +## Public Data + +Many apps have data that can be accessed by anyone, logged in or not. That also works nicely with Dgraph auth rules. + +For example, in Twitter, StackOverflow, etc. you can see authors and posts without being signed it - but you'd need to be signed in to add a post. With Dgraph auth rules, if a type doesn't have, for example, a `query` auth rule or the auth rule doesn't depend on a JWT value, then the data can be accessed without a signed JWT. + +For example, the todo app might allow anyone, logged in or not, to view any author, but not make any mutations unless logged in as the author or an admin. That would be achieved by rules like the following. + +```graphql +type User @auth( + # no query rule + add: { rule: "{$ROLE: { eq: \"ADMIN\" } }" }, + update: ... + delete: ... +) { + username: String! @id + todos: [Todo] +} +``` + +Maybe some todos can be marked as public and users you aren't logged in can see those. + +```graphql +type Todo @auth( + query: { or: [ + # you are the author + { rule: ... }, + # or, the todo is marked as public + { rule: """query { + queryTodo(filter: { isPublic: { eq: true } } ) { + id + } + }"""} + ]} +) { + ... + isPublic: Boolean +} + +``` + +Because the rule doesn't depend on a JWT value, it can be successfully evaluated for users who aren't logged in. + +Ensuring that requests are from an authenticated JWT, and no further restrictions, can be done by arranging the JWT to contain a value like `"isAuthenticated": "true"`. For example, + + +```graphql +type User @auth( + query: { rule: "{$isAuthenticated: { eq: \"true\" } }" }, +) { + username: String! @id + todos: [Todo] +} +``` + +specifies that only authenticated users can query other users. + +--- diff --git a/wiki/content/graphql/authorization/mutations.md b/wiki/content/graphql/authorization/mutations.md new file mode 100644 index 00000000000..9ad219712ab --- /dev/null +++ b/wiki/content/graphql/authorization/mutations.md @@ -0,0 +1,112 @@ ++++ +title = "Mutations" +[menu.main] + parent = "authorization" + weight = 3 ++++ + +Mutations with auth work similarly to query. However, mutations involve a state change in the database, so it's important to understand when the rules are applied and what they mean. + +## Add + +Rules for `add` authorization state that the rule must hold of nodes created by the mutation data once committed to the database. + +For example, a rule such as: + +```graphql +type Todo @auth( + add: { rule: """ + query ($USER: String!) { + queryTodo { + owner(filter: { username: { eq: $USER } } ) { + username + } + } + }""" + } +){{ + id: ID! + text: String! + owner: User +} + +type User { + username: String! @id + todos: [Todo] +} +``` + +states that if you add a new todo, then that new todo must be a todo that satisfies the `add` rule, in this case saying that you can only add todos with yourself as the author. + +## Delete + +Delete rules filter the nodes that can be deleted. A user can only ever delete a subset of the nodes that the `delete` rules allow. + +For example, this rule states that a user can delete a todo if they own it, or they have the `ADMIN` role. + +```graphql +type Todo @auth( + delete: { or: [ + { rule: """ + query ($USER: String!) { + queryTodo { + owner(filter: { username: { eq: $USER } } ) { + username + } + } + }""" + }, + { rule: "{$ROLE: { eq: \"ADMIN\" } }"} + ]} +){{ + id: ID! + text: String! @search(by: [term]) + owner: User +} + +type User { + username: String! @id + todos: [Todo] +} +``` + +So a mutation like: + +```graphql +mutation { + deleteTodo(filter: { text: { anyofterms: "graphql" } }) { + numUids + } +} +``` + +for most users would delete their own posts that contain the term "graphql", but wouldn't affect any other user's todos; for an admin, it would delete any users posts that contain "graphql" + +For add, what matters is the resulting state of the database, for delete it's the state before the delete occurs. + +## Update + +Updates have both a before and after state that can be important for auth. + +For example, consider a rule stating that you can only update your own todos. If evaluated in the database before the mutation, like the delete rules, it would prevent you updating anyone elses todos, but does it stop you updating your own todo to have a different `owner`. If evaluated in the database after the mutation occurs, like for add rules, it would stop setting the `owner` to another user, but would it prevent editing other's posts. + +Currently, Dgraph evaluates `update` rules _before_ the mutation. Our auth support is still in beta and we may extend this for example to make the `update` rule an invariant of the mutation, or enforce pre and post conditions, or even allow custom logic to validate the update data. + +## Update and Add + +Update mutations can also insert new data. For example, you might allow a mutation that runs an update mutation to add a new todo. + +```graphql +mutation { + updateUser(input: { + filter: { username: { eq: "aUser" }}, + set: { todos: [ { text: "do this new todo"} ] } + }) { + ... + } +} +``` + +Such a mutation updates a user's todo list by inserting a new todo. It would have to satisfy the rules to update the author _and_ the rules to add a todo. If either fail, the mutation has no effect. + +--- \ No newline at end of file diff --git a/wiki/content/graphql/custom/_index.md b/wiki/content/graphql/custom/_index.md new file mode 100644 index 00000000000..08c6e0a7c61 --- /dev/null +++ b/wiki/content/graphql/custom/_index.md @@ -0,0 +1,8 @@ ++++ +title = "Custom Resolvers" +[menu.main] + url = "/graphql/custom/" + identifier = "custom" + parent = "graphql" + weight = 9 ++++ \ No newline at end of file diff --git a/wiki/content/graphql/custom/custom-overview.md b/wiki/content/graphql/custom/custom-overview.md new file mode 100644 index 00000000000..ebc71b08c38 --- /dev/null +++ b/wiki/content/graphql/custom/custom-overview.md @@ -0,0 +1,56 @@ ++++ +title = "Overview" +[menu.main] + parent = "custom" + identifier = "custom-resolvers-overview" + weight = 1 ++++ + +Dgraph creates a GraphQL API from nothing more than GraphQL types. That's great, and gets you moving fast from an idea to a running app. However, at some point, as your app develops, you might want to customize the behaviour of your schema. + +In Dgraph, you do that with code (in any language you like) that implements custom resolvers. + +Dgraph doesn't execute your custom logic itself. It makes external HTTP requests. That means, you can deploy your custom logic into the same Kubernetes cluster as your Dgraph instance, deploy and call, for example, AWS Lambda functions, or even make calls to existing HTTP and GraphQL endpoints. + +## The `@custom` directive + +There are three places you can use the `@custom` directive and thus tell Dgraph where to apply custom logic. + +1) You can add custom queries to the Query type + +```graphql +type Query { + myCustomQuery(...): QueryResultType @custom(...) +} +``` + +2) You can add custom mutations to the Mutation type + +```graphql +type Mutation { + myCustomMutation(...): MutationResult @custom(...) +} +``` + +3) You can add custom fields to your types + +```graphql +type MyType { + ... + customField: FieldType @custom(...) + ... +} +``` + +## Learn more + +Find out more about the `@custom` directive [here](../directive), or check out: + +* [custom query examples](../query) +* [custom mutation examples](../mutation), or +* [custom field examples](../field) + + + + +--- diff --git a/wiki/content/graphql/custom/directive.md b/wiki/content/graphql/custom/directive.md new file mode 100644 index 00000000000..355063e927b --- /dev/null +++ b/wiki/content/graphql/custom/directive.md @@ -0,0 +1,365 @@ ++++ +title = "The `@custom` directive" +[menu.main] + parent = "custom" + weight = 2 ++++ + +The `@custom` directive is used to define custom queries, mutations and fields. + +In all cases, the result type (of the query, mutation or field) can be either: + +* a type that's stored in Dgraph (that's any type you've defined in your schema), or +* a type that's not stored in Dgraph and is marked with the `@remote` directive. + +Because the result types can be local or remote, you can call other HTTP endpoints, call remote GraphQL, or even call back to your Dgraph instance to add extra logic on top of Dgraph's graph search or mutations. + +Here's the GraphQL definition of the directives: + +```graphql +directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @remote on OBJECT | INTERFACE + +input CustomHTTP { + url: String! + method: HTTPMethod! + body: String + graphql: String + mode: Mode + forwardHeaders: [String!] + secretHeaders: [String!] + introspectionHeaders: [String!] + skipIntrospection: Boolean +} + +enum HTTPMethod { GET POST PUT PATCH DELETE } +enum Mode { SINGLE BATCH } +``` + +Each definition of custom logic must include: + +* the `url` where the custom logic is called. This can include a path and parameters that depend on query/mutation arguments or other fields. +* the HTTP `method` to use in the call. For example, when calling a REST endpoint with `GET`, `POST`, etc. + +Optionally, the custom logic definition can also include: + +* a `body` definition that can be used to construct a HTTP body from from arguments or fields. +* a list of `forwardHeaders` to take from the incoming request and add to the outgoing HTTP call. +Used, for example, if the incoming request contains an auth token that must be passed to the custom logic. +* a list of `secretHeaders` to take from the `Dgraph.Secret` defined in the schema file and add to the outgoing HTTP call. +Used, for example, for a server side API key and other static value that must be passed to the custom logic. +* the `graphql` query/mutation to call if the custom logic is a GraphQL server and whether to introspect or not (`skipIntrospection`) the remote GraphQL endpoint. +* `mode` which is used for resolving fields by calling an external GraphQL query/mutation. It can either be `BATCH` or `SINGLE`. +* a list of `introspectionHeaders` to take from the `Dgraph.Secret` defined in the schema file and added to the +introspection requests sent to the `graphql` query/mutation. + + +The result type of custom queries and mutations can be any object type in your schema, including `@remote` types. For custom fields the type can be object types or scalar types. + +The `method` can be any of the HTTP methods: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`, and `forwardHeaders` is a list of headers that should be passed from the incoming request to the outgoing HTTP custom request. Let's look at each of the other `http` arguments in detail. + +## Dgraph.Secret + +Sometimes you might want to forward some static headers to your custom API which can't be exposed +to the client. This could be an API key from a payment processor or an auth token for your organization +on GitHub. These secrets can be specified as comments in the schema file and then can be used in +`secretHeaders` and `introspectionHeaders` while defining the custom directive for a field/query. + + +```graphql + type Query { + getTopUsers(id: ID!): [User] @custom(http: { + url: "http://api.github.com/topUsers", + method: "POST", + introspectionHeaders: ["Github-Api-Token"], + secretHeaders: ["Authorization:Github-Api-Token"], + graphql: "..." + }) +} + +# Dgraph.Secret Github-Api-Token "long-token" +``` + +In the above request, `Github-Api-Token` would be sent as a header with value `long-token` for +the introspection request. For the actual request, the value `Authorization` would be sent along with +the value `long-token`. Note `Authorization:Github-Api-Token` syntax tells us to use the value for the +`Github-Api-Token` dgraph secret but to forward it to the custom API with the header key as `Authorization`. + + +## The URL and method + +The URL can be as simple as a fixed URL string, or include details drawn from the arguments or fields. + +A simple string might look like: + +```graphql +type Query { + myCustomQuery: MyResult @custom(http: { + url: "https://my.api.com/theQuery", + method: GET + }) +} +``` + +While, in more complex cases, the arguments of the query/mutation can be used as a pattern for the URL: + +```graphql +type Query { + myGetPerson(id: ID!): Person @custom(http: { + url: "https://my.api.com/person/$id", + method: GET + }) + + getPosts(authorID: ID!, numToFetch: Int!): [Post] @custom(http: { + url: "https://my.api.com/person/$authorID/posts?limit=$numToFetch", + method: GET + }) +} +``` + +In this case, a query like + +```graphql +query { + getPosts(authorID: "auth123", numToFetch: 10) { + title + } +} +``` + +gets transformed to an outgoing HTTP GET request to the URL `https://my.api.com/person/auth123/posts?limit=10`. + +When using custom logic on fields, the URL can draw from other fields in the type. For example: + +```graphql +type User { + username: String! @id + ... + posts: [Post] @custom(http: { + url: "https://my.api.com/person/$username/posts", + method: GET + }) +} +``` + +Note that: + +* Fields or arguments used in the path of a URL, such as `username` or `authorID` in the exapmles above, must be marked as non-nullable (have `!` in their type); whereas, those used in parameters, such as `numToFetch`, can be nullable. +* Currently, only scalar fields or arguments are allowed to be used in URLs or bodies; though, see body below, this doesn't restrict the objects you can construct and pass to custom logic functions. +* Currently, the body can only contain alphanumeric characters in the key and other characters like `_` are not yet supported. +* Currently, constant values are not also not allowed in the body template. This would soon be supported. + +## The body + +Many HTTP requests, such as add and update operations on REST APIs, require a JSON formatted body to supply the data. In a similar way to how `url` allows specifying a url pattern to use in resolving the custom request, Dgraph allows a `body` pattern that is used to build HTTP request bodies. + +For example, this body can be structured JSON that relates a mutation's arguments to the JSON structure required by the remote endpoint. + +```graphql +type Mutation { + newMovie(title: String!, desc: String, dir: ID, imdb: ID): Movie @custom(http: { + url: "http://myapi.com/movies", + method: "POST", + body: "{ title: $title, imdbID: $imdb, storyLine: $desc, director: { id: $dir }}", + }) +``` + +A request with `newMovie(title: "...", desc: "...", dir: "dir123", imdb: "tt0120316")` is transformed into a `POST` request to `http://myapi.com/movies` with a JSON body of: + +```json +{ + "title": "...", + "imdbID": "tt0120316", + "storyLine": "...", + "director": { + "id": "dir123" + } +} +``` + +`url` and `body` templates can be used together in a single custom definition. + +For both `url` and `body` templates, any non-null arguments or fields must be present to evaluate the custom logic. And the following rules are applied when building the request from the template for nullable arguments or fields. + +* If the value of a nullable argument is present, it's used in the template. +* If a nullable argument is present, but null, then in a body `null` is inserted, while in a url nothing is added. For example, if the `desc` argument above is null then `{ ..., storyLine: null, ...}` is constructed for the body. Whereas, in a URL pattern like `https://a.b.c/endpoint?arg=$gqlArg`, if `gqlArg` is present, but null, the generated URL is `https://a.b.c/endpoint?arg=`. +* If a nullable argument is not present, nothing is added to the URL/body. That would mean the constructed body would not contain `storyLine` if the `desc` argument is missing, and in `https://a.b.c/endpoint?arg=$gqlArg` the result would be `https://a.b.c/endpoint` if `gqlArg` were not present in the request arguments. + +## Calling GraphQL custom resolvers + +Custom queries, mutations and fields can be implemented by custom GraphQL resolvers. In this case, use the `graphql` argument to specify which query/mutation on the remote server to call. The syntax includes if the call is a query or mutation, the arguments, and what query/mutation to use on the remote endpoint. + +For example, you can pass arguments to queries onward as arguments to remote GraphQL endpoints: + +```graphql +type Query { + getPosts(authorID: ID!, numToFetch: Int!): [Post] @custom(http: { + url: "https://my.api.com/graphql", + method: POST, + graphql: "query($authorID: ID!, $numToFetch: Int!) { posts(auth: $authorID, first: $numToFetch) }" + }) +} +``` + +You can also define your own inputs and pass those to the remote GraphQL endpoint. + +```graphql +input NewMovieInput { ... } + +type Mutation { + newMovie(input: NewMovieInput!): Movie @custom(http: { + url: "http://movies.com/graphql", + method: "POST", + graphql: "mutation($input: NewMovieInput!) { addMovie(data: $input) }", + }) +``` + +When a schema is uploaded, Dgraph will try to introspect the remote GraphQL endpoints on any custom logic that uses the `graphql` argument. From the results of introspection, it tries to match up arguments, input and object types to ensure that the calls to and expected responses from the remote GraphQL make sense. + +If that introspection isn't possible, set `skipIntrospection: true` in the custom definition and Dgraph won't perform GraphQL schema introspection for this custom definition. + +## Remote types + +Any type annotated with the `@remote` directive is not stored in Dgraph. This allows your Dgraph GraphQL instance to serve an API that includes both data stored locally and data stored or generated elsewhere. You can also use custom fields, for example, to join data from disparate datasets. + +Remote types can only be returned by custom resolvers and Dgraph won't generate any search or CRUD operations for remote types. + +The schema definition used to define your Dgraph GraphQL API must include definitions of all the types used. If a custom logic call returns a type not stored in Dgraph, then that type must be added to the Dgraph schema with the `@remote` directive. + +For example, you api might use custom logic to integrate with GitHub, using either `https://api.github.com` or the GitHub GraphQL api `https://api.github.com/graphql` and calling the `user` query. Either way, your GraphQL schema will need to include the type you expect back from that remote call. That could be linking a `User` as stored in your Dgraph instance with the `Repository` data from GitHub. With `@remote` types, that's as simple as adding the type and custom call to your schema. + +```graphql +# GitHub's repository type +type Respository @remote { ... } + +# Dgraph user type +type User { + # local user name = GitHub id + username: String! @id + + # ... + # other data stored in Dgraph + # ... + + # join local data with remote + repositories: [Repository] @custom(http: { + url: "https://api.github.com/users/$username/repos", + method: GET + }) +} +``` + +Just defining the connection is all it takes and then you can ask a single GraphQL query that performs a local query and joins with (potentialy many) remote data sources. + +## How Dgraph processes custom results + +Given types like + +```graphql +type Post @remote { + id: ID! + title: String! + datePublished: DateTime + author: Author +} + +type Author { ... } +``` + +and a custom query + +```graphql +type Query { + getCustomPost(id: ID!): Post @custom(http: { + url: "https://my.api.com/post/$id", + method: GET + }) + + getPosts(authorID: ID!, numToFetch: Int!): [Post] @custom(http: { + url: "https://my.api.com/person/$authorID/posts?limit=$numToFetch", + method: GET + }) +} +``` + +Dgraph turns the `getCustomPost` query into a HTTP request to `https://my.api.com/post/$id` and expects a single JSON object with fields `id`, `title`, `datePublished` and `author` as result. Any additional fields are ignored, while if non-nullable fields (like `id` and `title`) are missing, GraphQL error propagation will be triggered. + +For `getPosts`, Dgraph expects the HTTP call to `https://my.api.com/person/$authorID/posts?limit=$numToFetch` to return a JSON array of JSON objects, with each object matching the `Post` type as described above. + +If the custom resolvers are GraphQL calls, like: + +```graphql +type Query { + getCustomPost(id: ID!): Post @custom(http: { + url: "https://my.api.com/graphql", + method: POST, + graphql: "query(id: ID) { post(postID: $id) }" + }) + + getPosts(authorID: ID!, numToFetch: Int!): [Post] @custom(http: { + url: "https://my.api.com/graphql", + method: POST, + graphql: "query(id: ID) { postByAuthor(authorID: $id, first: $numToFetch) }" + }) +} +``` + +then Dgraph expects a GraphQL call to `post` to return a valid GraphQL result like `{ "data": { "post": {...} } }` and will use the JSON object that is the value of `post` as the data resolved by the request. + +Similarly, Dgraph expects `postByAuthor` to return data like `{ "data": { "postByAuthor": [ {...}, ... ] } }` and will use the array value of `postByAuthor` to build its array of posts result. + + +## How custom fields are resolved + +When evaluating a request that includes custom fields, Dgraph might run multiple resolution stages to resolve all the fields. Dgraph must also ensure it requests enough data to forfull the custom fields. For example, given the `User` type defined as: + +```graphql +type User { + username: String! @id + ... + posts: [Post] @custom(http: { + url: "https://my.api.com/person/$username/posts", + method: GET + }) +} +``` + +a query such as: + +```graphql +query { + queryUser { + username + posts + } +} +``` + +is executed by first querying in Dgraph for `username` and then using the result to resolve the custom field `posts` (which relies on `username`). For a request like: + +```graphql +query { + queryUser { + posts + } +} +``` + +Dgraph works out that it must first get `username` so it can run the custom field `posts`, even though `username` isn't part of the original query. So Dgraph retrieves enough data to satisfy the custom request, even if that involves data that isn't asked for in the query. + +There are currently a few limitations on custom fields: + +* each custom call must include either an `ID` or `@id` field +* arguments are not allowed (soon custom field arguments will be allowed and will be used in the `@custom` directive in the same manner as for custom queries and mutations), and +* a custom field can't depend on another custom field (longer term, we intend to lift this restriction). + +## Restrictions / Roadmap + +Our custom logic is still in beta and we are improving it quickly. Here's a few points that we plan to work on soon: + +* adding arguments to custom fields +* relaxing the restrictions on custom fields using id values +* iterative evaluation of `@custom` and `@remote` - in the current version you can't have `@custom` inside an `@remote` type once we add this, you'll be able to extend remote types with custom fields, and +* allowing fine tuning of the generated API, for example removing of customizing the generated CRUD mutations. + +--- diff --git a/wiki/content/graphql/custom/field.md b/wiki/content/graphql/custom/field.md new file mode 100644 index 00000000000..3c77d1109fc --- /dev/null +++ b/wiki/content/graphql/custom/field.md @@ -0,0 +1,82 @@ ++++ +title = "Custom Fields" +[menu.main] + parent = "custom" + weight = 5 ++++ + +Custom fields allow you to extend your types with custom logic as well as make joins between your local data and remote data. + +Let's say we are building an app for managing projects. Users will login with their GitHub id and we want to connect some data about their work stored in Dgraph with say their GitHub profile, issues, etc. + +Our first version of our users might start out with just their GitHub username and some data about what projects they are working on. + +```graphql +type User { + username: String! @id + projects: [Project] + tickets: [Ticket] +} +``` + +We can then add their GitHub repositories by just extending the definitions with the types and custom field needed to make the remote call. + +```graphql +# GitHub's repository type +type Repository @remote { ... } + +# Dgraph user type +type User { + # local user name = GitHub id + username: String! @id + + # join local data with remote + repositories: [Repository] @custom(http: { + url: "https://api.github.com/users/$username/repos", + method: GET + }) +} +``` + +We could similarly join with say the GitHub user details, or open pull requests, to further fill out the join between GitHub and our local data. Instead of the REST API, let's use the GitHub GraphQL endpoint + + +```graphql +# GitHub's User type +type GitHubUser @remote { ... } + +# Dgraph user type +type User { + # local user name = GitHub id + username: String! @id + + # join local data with remote + gitDetails: GitHubUser @custom(http: { + url: "https://api.github.com/graphql", + method: POST, + graphql: "query(username: String!) { user(login: $username) }", + skipIntrospection: true + }) +} +``` + +Perhaps our app has some measure of their volocity that's calculated by a custom function that looks at both their GitHub commits and some other places where work is added. Soon we'll have a schema where we can render a user's home page, the projects they work on, their open tickets, their GitHub details, etc. in a single request that queries across multiple sources and can mix Dgraph filtering with external calls. + +```graphql +query { + getUser(id: "aUser") { + username + projects(order: { asc: lastUpdate }, first: 10) { + projectName + } + tickets { + connectedGitIssue { ... } + } + velocityMeasure + gitDetails { ... } + repositories { ... } + } +} +``` + +--- diff --git a/wiki/content/graphql/custom/graphqlpm.md b/wiki/content/graphql/custom/graphqlpm.md new file mode 100644 index 00000000000..8a5fbf0a67b --- /dev/null +++ b/wiki/content/graphql/custom/graphqlpm.md @@ -0,0 +1,102 @@ ++++ +title = "Custom DQL" +[menu.main] + parent = "custom" + weight = 6 ++++ + +At present, it is an experimental feature in master. You can specify the DQL (aka GraphQL+-) query you want to execute +while running a custom GraphQL query, and Dgraph's GraphQL API will execute that for you. + +It helps to build logic that you can't do with the current GraphQL CRUD API. + +For example, lets say you had following schema: +```graphql +type Tweets { + id: ID! + text: String! @search(by: [fulltext]) + author: User + timestamp: DateTime! @search +} +type User { + screen_name: String! @id + followers: Int @search + tweets: [Tweets] @hasInverse(field: author) +} +``` + +and you wanted to query tweets containing some particular text sorted by the number of followers their author has. Then, +this is not possible with the automatically generated CRUD API. Similarly, let's say you have a table sort of UI +component in your application which displays only a user's name and the number of tweets done by that user. Doing this +with the auto-generated CRUD API would require you to fetch unnecessary data at client side, and then employ client side +logic to find the count. Instead, all this could simply be achieved by specifying a DQL query for such custom use-cases. + +So, you would need to modify your schema like this: +```graphql +type Tweets { + id: ID! + text: String! @search(by: [fulltext]) + author: User + timestamp: DateTime! @search +} +type User { + screen_name: String! @id + followers: Int @search + tweets: [Tweets] @hasInverse(field: author) +} +type UserTweetCount @remote { + screen_name: String + tweetCount: Int +} + +type Query { + queryTweetsSortedByAuthorFollowers(search: String!): [Tweets] @custom(dql: """ + query q($search: string) { + var(func: type(Tweets)) @filter(anyoftext(Tweets.text, $search)) { + Tweets.author { + followers as User.followers + } + authorFollowerCount as sum(val(followers)) + } + queryTweetsSortedByAuthorFollowers(func: uid(authorFollowerCount), orderdesc: val(authorFollowerCount)) { + id: uid + text: Tweets.text + author: Tweets.author { + screen_name: User.screen_name + followers: User.followers + } + timestamp: Tweets.timestamp + } + } + """) + + queryUserTweetCounts: [UserTweetCount] @custom(dql: """ + query { + queryUserTweetCounts(func: type(User)) { + screen_name: User.screen_name + tweetCount: count(User.tweets) + } + } + """) +} + +``` + +Now, if you run following query, it would fetch you the tweets containing "GraphQL" in their text, sorted by the number +of followers their author has: +```graphql +query { + queryTweetsSortedByAuthorFollowers(search: "GraphQL") { + text + } +} +``` + +There are following points to note while specifying the DQL query for such custom resolvers: +* The name of the DQL query that you want to map to the GraphQL response, should be same as the name of the GraphQL query. +* You must use proper aliases inside DQL queries to map them to the GraphQL response. +* If you are using variables in DQL queries, their names should be same as the name of the arguments for the GrapqhQL query. +* For variables, only scalar GraphQL arguments like Boolean, Int, Float etc are allowed. Lists and Object types are not allowed to be used as variables with DQL queries. +* You would be able to query only those many levels with GraphQL which you have mapped with the DQL query. For instance, in the first custom query above, we haven't mapped an author's tweets to GraphQL alias, so, we won't be able to fetch author's tweets using that query. + +--- \ No newline at end of file diff --git a/wiki/content/graphql/custom/mutation.md b/wiki/content/graphql/custom/mutation.md new file mode 100644 index 00000000000..413fcf7d755 --- /dev/null +++ b/wiki/content/graphql/custom/mutation.md @@ -0,0 +1,47 @@ ++++ +title = "Custom Mutations" +[menu.main] + parent = "custom" + weight = 4 ++++ + +Let's say we have an application about authors and posts. Logged in authors can add posts, but we want to do some input validation and add extra value when a post is added. The key types might be as follows. + +```graphql +type Author { ... } + +type Post { + id: ID: + title: String + text: String + datePublished: DateTime + author: Author + ... +} +``` + +Dgraph generates an `addPost` mutation from those types, but we want to do something extra. We don't want the `author` to come in with the mutation, that should get filled in from the JWT of the logged in user. Also, the `datePublished` shouldn't be in the input; it should be set as the current time at point of mutation. Maybe we also have some community guidelines about what might constitute an offensive `title` or `text` in a post. Maybe users can only post if they have enough community credit. + +We'll need custom code to do all that, so we can write a custom function that takes in only the title and text of the new post. Internally, it can check that the title and text satisfy the guidelines and that this user has enough credit to make a post. If those checks pass, it then builds a full post object by adding the current time as the `datePublished` and adding the `author` from the JWT information it gets from the forward header. It can then call the `addPost` mutation constructed by Dgraph to add the post into Dgraph and returns the resulting post as its GraphQL output. + +So as well as the types above, we need a custom mutation: + +```graphql +type Mutation { + newPost(title: String!, text: String): Post @custom(http:{ + url: "https://my.api.com/addPost" + method: "POST", + body: "{ postText: $text, postTitle: $title }" + forwardHeaders: ["AuthHdr"] + }) +} +``` + +## Learn more + +Find out more about how to turn off generated mutations and protecting mutations with authorization rules at: + +* [Remote Types - Turning off Generated Mutations with `@remote` Directive](../directive) +* [Securing Mutations with the `@auth` Directive](/graphql/authorization/mutations) + +--- diff --git a/wiki/content/graphql/custom/query.md b/wiki/content/graphql/custom/query.md new file mode 100644 index 00000000000..8cb012bbbe0 --- /dev/null +++ b/wiki/content/graphql/custom/query.md @@ -0,0 +1,69 @@ ++++ +title = "Custom Queries" +[menu.main] + parent = "custom" + weight = 3 ++++ + +Let's say we want to integrate our app with an existing external REST API. There's a few things we need to know: + +* the URL of the API, the path and any parameters required +* the shape of the resulting JSON data +* the method (GET, POST, etc.), and +* what authorization we need to pass to the external endpoint + +The custom query can take any number of scalar arguments and use those to construct the path, parameters and body (we'll see an example of that in the custom mutation section) of the request that gets sent to the remote endpoint. + +In an app, you'd deploy an endpoint that does some custom work and returns data that's used in your UI, or you'd wrap some logic or call around an existing endpoint. So that we can walk through a whole example, let's use the Twitter API. + +To integrate a call that returns the data of Twitter user with our app, all we need to do is add the expected result type `TwitterUser` and set up a custom query: + +```graphql +type TwitterUser @remote { + id: ID! + name: String + screen_name: String + location: String + description: String + followers_count: Int + ... +} + +type Query{ + getCustomTwitterUser(name: String!): TwitterUser @custom(http:{ + url: "https://api.twitter.com/1.1/users/show.json?screen_name=$name" + method: "GET", + forwardHeaders: ["Authorization"] + }) +} +``` + +Dgraph will then be able to accept a GraphQL query like + +```graphql +query { + getCustomTwitterUser(name: "dgraphlabs") { + location + description + followers_count + } +} +``` + +construct a HTTP GET request to `https://api.twitter.com/1.1/users/show.json?screen_name=dgraphlabs`, attach header `Authorization` from the incoming GraphQL request to the outgoing HTTP, and make the call and return a GraphQL result. + +The result JSON of the actual HTTP call will contain the whole object from the REST endpoint (you can see how much is in the Twitter user object [here](https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/user-object)). But, the GraphQL query only asked for some of that, so Dgraph filters out any returned values that weren't asked for in the GraphQL query and builds a valid GraphQL response to the query and returns GraphQL. + +```json +{ + "data": { + "getCustomTwitterUser": { "location": ..., "description": ..., "followers_count": ... } + } +} +``` + +Your version of the remote type doesn't have to be equal to the remote type. For example, if you don't want to allow users to query the full Twitter user, you include in the type definition only the fields that can be queried. + +All the usual options for custom queries are allowed; for example, you can have multiple queries in a single GraphQL request and a mix of custom and Dgraph generated queries, you can get the result compressed by setting `Accept-Encoding` to `gzip`, etc. + +--- diff --git a/wiki/content/graphql/dgraph/index.md b/wiki/content/graphql/dgraph/index.md new file mode 100644 index 00000000000..69c373b8883 --- /dev/null +++ b/wiki/content/graphql/dgraph/index.md @@ -0,0 +1,111 @@ ++++ +title = "GraphQL on Existing Dgraph" +[menu.main] + url = "/graphql/dgraph/" + identifier = "dgraph" + parent = "graphql" + weight = 13 ++++ + + + +How to use GraphQL on an existing Dgraph instance. + +If you have an existing Dgraph instance and want to also expose GraphQL, you need to add a GraphQL schema that maps to your Dgraph schema. You don't need to expose your entire Dgraph schema as GraphQL, but do note that adding a GraphQL schema can alter the Dgraph schema. + +Dgraph also allows type and edge names that aren't valid in GraphQL, so, often, you'll need to expose valid GraphQL names. Dgraph admits special characters and even different languages (see [here](https://docs.dgraph.io/query-language/#predicate-name-rules)), while the GraphQL Spec requires that type and field (predicate) names are generated from `/[_A-Za-z][_0-9A-Za-z]*/`. + +# Mapping GraphQL to a Dgraph schema + +By default, Dgraph generates a new predicate for each field in a GraphQL type. The name of the generated predicate is composed of the type name followed by a dot `.` and ending with the field name. Therefore, two different types with fields of the same name will turn out to be different Dgraph predicates and can have different indexes. For example, the types: + +```graphql +type Person { + name: String @search(by: [hash]) + age: Int +} + +type Movie { + name: String @search(by: [term]) +} +``` + +generate a Dgraph schema like: + +```graphql +type Person { + Person.name + Person.age +} + +type Movie { + Movie.name +} + +Person.name: string @index(hash) . +Person.age: int . +Movie.name: string @index(term) . +``` + +This behavior can be customized with the `@dgraph` directive. + +* `type T @dgraph(type: "DgraphType")` controls what Dgraph type is used for a GraphQL type. +* `field: SomeType @dgraph(pred: "DgraphPredicate")` controls what Dgraph predicate is mapped to a GraphQL field. + +For example, if you have existing types that don't match GraphQL requirements, you can create a schema like the following. + +```graphql +type Person @dgraph(type: "Human-Person") { + name: String @search(by: [hash]) @dgraph(pred: "name") + age: Int +} + +type Movie @dgraph(type: "film") { + name: String @search(by: [term]) @dgraph(pred: "film.name") +} +``` + +Which maps to the Dgraph schema: + +```graphql +type Human-Person { + name + Person.age +} + +type film { + film.name +} + +name string @index(hash) . +Person.age: int . +film.name string @index(term) . +``` + +You might also have the situation where you have used `name` for both movie names and people's names. In this case you can map fields in two different GraphQL types to the one Dgraph predicate. + +```graphql +type Person { + name: String @dgraph(pred: "name") + ... +} + +type Movie { + name: String @dgraph(pred: "name") + ... +} +``` + +*Note: the current behavior requires that when two fields are mapped to the same Dgraph predicate both should have the same `@search` directive. This is likely to change in a future release where the underlying Dgraph indexes will be the union of the `@search` directives, while the generated GraphQL API will expose only the search given for the particular field. Allowing, for example, dgraph predicate name to have `term` and `hash` indexes, but exposing only term search for GraphQL movies and hash search for GraphQL people.* + +# Roadmap + +Be careful with mapping to an existing Dgraph instance. Updating the GraphQL schema updates the underlying Dgraph schema. We understand that exposing a GraphQL API on an existing Dgraph instance is a delicate process and we plan on adding multiple checks to ensure the validity of schema changes to avoid issues caused by detectable mistakes. + +Future features are likely to include: + +* Generating a first pass GraphQL schema from an existing dgraph schema. +* A way to show what schema diff will happen when you apply a new GraphQL schema. +* Better handling of `@dgraph` with `@search` + +We look forward to you letting us know what features you'd like, so please join us on [discuss](https://discuss.dgraph.io/) or [GitHub](https://github.com/dgraph-io/dgraph). diff --git a/wiki/content/graphql/directives/index.md b/wiki/content/graphql/directives/index.md new file mode 100644 index 00000000000..618f18d9d72 --- /dev/null +++ b/wiki/content/graphql/directives/index.md @@ -0,0 +1,73 @@ ++++ +title = "Index of Directives" +[menu.main] + url = "/graphql/directives/" + name = "Directives" + identifier = "directives" + parent = "graphql" + weight = 11 ++++ + +The list of all directives supported by Dgraph. + +### @hasInverse + +`@hasInverse` is used to setup up two way edges such that adding a edge in +one direction automically adds the one in the inverse direction. + +Reference: [Linking nodes in the graph](/graphql/schema/graph-links) + +### @search + +`@search` allows you to perform filtering on a field while querying for nodes. + +Reference: [Search](/graphql/schema/search) + +### @dgraph + +`@dgraph` directive tells us how to map fields within a type to existing predicates inside Dgraph. + +Reference: [GraphQL on Existing Dgraph](/graphql/dgraph/) + + +### @id + +`@id` directive is used to annotate a field which represents a unique identifier coming from outside + of Dgraph. + +Reference: [Identity](/graphql/schema/ids) + +### @withSubscription + +`@withSubscription` directive when applied on a type, generates subsciption queries for it. + +Reference: [Subscriptions](/graphql/subscriptions) + +### @secret + +TODO - After adding docs for password type. + +### @auth + +`@auth` allows you to define how to apply authorization rules on the queries/mutation for a type. + +Reference: [Auth directive](/graphql/authorization/directive) + +### @custom + +`@custom` directive is used to define custom queries, mutations and fields. + +Reference: [Custom directive](/graphql/custom/directive) + +### @remote + +`@remote` directive is used to annotate types for which data is not stored in Dgraph. These types +are typically used with custom queries and mutations. + +Reference: [Remote directive](/graphql/custom/directive) + +### @cascade + +`@cascade` allows you to filter out certain nodes within a query. + +Reference: [Cascade](/graphql/queries/cascade) \ No newline at end of file diff --git a/wiki/content/graphql/how-dgraph-graphql-works/index.md b/wiki/content/graphql/how-dgraph-graphql-works/index.md new file mode 100644 index 00000000000..9987587e18a --- /dev/null +++ b/wiki/content/graphql/how-dgraph-graphql-works/index.md @@ -0,0 +1,79 @@ ++++ +title = "How GraphQL works within Dgraph" +[menu.main] + url = "/graphql/how-dgraph-graphql-works/" + name = "How GraphQL works within Dgraph" + identifier = "how-dgraph-graphql-works" + parent = "graphql" + weight = 2 ++++ + +Dgraph is a GraphQL database. That means, with Dgraph, you design your application in GraphQL, you iterate on your app in GraphQL and, when you need it, you scale with GraphQL. + +You design a set of GraphQL types that describes your requirements. Dgraph takes those types, prepares graph storage for them and generates a GraphQL API with queries and mutations. + +You design a graph, store a graph and query a graph. You think and design in terms of the graph that your app is based around. + +Let's look at how that might work a simple Twitter clone. + +## The app building process + +You'll have an idea for your app, maybe you've sketched out the basic UI, or maybe you've worked out the basic things in your app and their relationships. From that, you can derive a first version of your schema. + +```graphql +type User { + username: String! @id + tweets: [Tweet] +} + +type Tweet { + text: String! +} +``` + +Load that into Dgraph, and you'll have a working GraphQL API. You can start doing example queries and mutations with a tool like GraphQL Playground or Insomnia, you can even jump straight in and start building a UI with, say, Apollo Client. That's how quickly you can get started. + +Soon, you'll need to iterate while you are developing, or need to produce the next version of your idea. Either way, Dgraph makes it easy to iterate on your app. Add extra fields, add search, and Dgraph adjusts. + +```graphql +type User { + username: String! @id + tweets: [Tweet] +} + +type Tweet { + text: String! @search(by: [fulltext]) + datePosted: DateTime +} +``` + +You can even do data migrations in GraphQL, so you never have to think about anything other than GraphQL. + +Eventually, you'll need custom business logic and bespoke code to enhance your GraphQL server. You can write that code however works best for your app and then integrate it directly into your GraphQL schema. + +```graphql +type User { + ... +} + +type Tweet { + ... + myCustomField @custom(...) +} + +type Query { + MyCustomQuery @custom(...) +} +``` + +Again, Dgraph adjusts, and you keep working on your app, not on translating another data format into a graph. + +## GraphQL, Dgraph and Graphs + +You might be familiar with GraphQL types, fields and resolvers. Perhaps you've written an app that adds GraphQL over a REST endpoint or maybe over a relational database. If so, you know how GraphQL sits over those sources and issues many queries to translate the REST/relational data into something that looks like a graph. + +There's a cognitive jump in that process because your app is about a graph, but you've got to design a relational schema and work out how that translates as a graph. You'll be thinking about the app in terms of the graph, but have to mentally translate back and forth between the relational and graph models. There are engineering challenges around the translation as well as the efficiency of the queries. + +There's none of that with Dgraph. + +Dgraph GraphQL is part of Dgraph, which stores a graph - it's a database of nodes and edges. So it's efficient to store, query and traverse as a graph. Your data will get stored just like you design it in the schema, and the queries are a single graph query that does just what the GraphQL query says. diff --git a/wiki/content/graphql/mutations/_index.md b/wiki/content/graphql/mutations/_index.md new file mode 100644 index 00000000000..64326a2e864 --- /dev/null +++ b/wiki/content/graphql/mutations/_index.md @@ -0,0 +1,8 @@ ++++ +title = "Mutations" +[menu.main] + url = "/graphql/mutations/" + identifier = "graphql-mutations" + parent = "graphql" + weight = 7 ++++ diff --git a/wiki/content/graphql/mutations/add.md b/wiki/content/graphql/mutations/add.md new file mode 100644 index 00000000000..c743bd6b432 --- /dev/null +++ b/wiki/content/graphql/mutations/add.md @@ -0,0 +1,81 @@ ++++ +title = "Add Mutations" +[menu.main] + parent = "graphql-mutations" + name = "Add" + weight = 2 ++++ + +Add Mutations allows you to add new objects of a particular type. + +We use the following schema to demonstrate some examples. + +**Schema**: +```graphql +type Author { + id: ID! + name: String! @search(by: [hash]) + dob: DateTime + posts: [Post] +} + +type Post { + postID: ID! + title: String! @search(by: [term, fulltext]) + text: String @search(by: [fulltext, term]) + datePublished: DateTime +} +``` + +Dgraph automatically generates input and return type in the schema for the add mutation. +```graphql +addPost(input: [AddPostInput!]!): AddPostPayload + +input AddPostInput { + title: String! + text: String + datePublished: DateTime +} + +type AddPostPayload { + post(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] + numUids: Int +} +``` + +**Example**: Add mutation on single type with embedded value +```graphql +mutation { + addAuthor(input: [{ name: "A.N. Author", posts: []}]) { + author { + id + name + } + } +} +``` + +**Example**: Add mutation on single type using variables +```graphql +mutation addAuthor($author: [AddAuthorInput!]!) { + addAuthor(input: $author) { + author { + id + name + } + } +} +``` +Variables: +```json +{ "auth": + { "name": "A.N. Author", + "dob": "2000-01-01", + "posts": [] + } +} +``` + +## Examples + +You can refer to the following [link](https://github.com/dgraph-io/dgraph/blob/master/graphql/resolve/add_mutation_test.yaml) for more examples. diff --git a/wiki/content/graphql/mutations/deep.md b/wiki/content/graphql/mutations/deep.md new file mode 100644 index 00000000000..b9414782e6d --- /dev/null +++ b/wiki/content/graphql/mutations/deep.md @@ -0,0 +1,89 @@ ++++ +title = "Deep Mutations" +[menu.main] + parent = "graphql-mutations" + name = "Deep" + weight = 5 ++++ + +Mutations also allows to perform deep mutation at multiple levels. + +We use the following schema to demonstrate some examples. + +## **Schema**: +```graphql +type Author { + id: ID! + name: String! @search(by: [hash]) + dob: DateTime + posts: [Post] +} + +type Post { + postID: ID! + title: String! @search(by: [term, fulltext]) + text: String @search(by: [fulltext, term]) + datePublished: DateTime +} +``` + +### **Example**: Deep Deep mutation using variables +```graphql +mutation DeepAuthor($author: DeepAuthorInput!) { + DeepAuthor(input: [$author]) { + author { + id + name + post { + title + text + } + } + } +} +``` +Variables: +```json +{ "author": + { "name": "A.N. Author", + "dob": "2000-01-01", + "posts": [ + { + "title": "New post", + "text": "A really new post" + } + ] + } +} +``` + +### **Example**: Deep update mutation using variables +```graphql +mutation updateAuthor($patch: UpdateAuthorInput!) { + updateAuthor(input: $patch) { + author { + id + post { + title + text + } + } + } +} +``` +Variables: +```json +{ "patch": + { "filter": { + "id": ["0x123"] + }, + "set": { + "posts": [ { + "postID": "0x456", + "title": "A new title", + "text": "Some edited text" + } ] + } + } +} +``` diff --git a/wiki/content/graphql/mutations/delete.md b/wiki/content/graphql/mutations/delete.md new file mode 100644 index 00000000000..3894215038a --- /dev/null +++ b/wiki/content/graphql/mutations/delete.md @@ -0,0 +1,64 @@ ++++ +title = "Delete Mutations" +[menu.main] + parent = "graphql-mutations" + name = "Delete" + identifier = "graphql-delete" + weight = 4 ++++ + +Delete Mutations allows you to delete objects of a particular type. + +We use the following schema to demonstrate some examples. + +**Schema**: +```graphql +type Author { + id: ID! + name: String! @search(by: [hash]) + dob: DateTime + posts: [Post] +} + +type Post { + postID: ID! + title: String! @search(by: [term, fulltext]) + text: String @search(by: [fulltext, term]) + datePublished: DateTime +} +``` + +Dgraph automatically generates input and return type in the schema for the delete mutation. +Delete Mutations takes filter as an input to select specific objects and returns the state of the objects before deletion. +```graphql +deleteAuthor(filter: AuthorFilter!): DeleteAuthorPayload + +type DeleteAuthorPayload { + author(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] + msg: String + numUids: Int +} +``` + +**Example**: Delete mutation using variables +```graphql +mutation deleteAuthor($filter: AuthorFilter!) { + deleteAuthor(filter: $filter) { + msg + author { + name + dob + } + } +} +``` +Variables: +```json +{ "filter": + { "name": { "eq": "A.N. Author" } } +} +``` + +## Examples + +You can refer to the following [link](https://github.com/dgraph-io/dgraph/blob/master/graphql/resolve/delete_mutation_test.yaml) for more examples. diff --git a/wiki/content/graphql/mutations/mutations-overview.md b/wiki/content/graphql/mutations/mutations-overview.md new file mode 100644 index 00000000000..29c0fdde114 --- /dev/null +++ b/wiki/content/graphql/mutations/mutations-overview.md @@ -0,0 +1,147 @@ ++++ +title = "Overview" +[menu.main] + parent = "graphql-mutations" + identifier = "mutations-overview" + weight = 1 ++++ + +Mutation allows us to modify server-side data, and it also returns an object based on the operation performed. It can be used to insert, update, or delete data. Dgraph automatically generates GraphQL mutation for each type that you define in your schema. The mutation field returns an object type that allows you to query for nested fields. This can be useful for fetching an object's new state after an add/update or get the old state of an object before a delete. + +**Example** + +```graphql +type Author { + id: ID! + name: String! @search(by: [hash]) + dob: DateTime + posts: [Post] +} + +type Post { + postID: ID! + title: String! @search(by: [term, fulltext]) + text: String @search(by: [fulltext, term]) + datePublished: DateTime +} +``` + +The following mutations would be generated from the above schema. + +```graphql +type Mutation { + addAuthor(input: [AddAuthorInput!]!): AddAuthorPayload + updateAuthor(input: UpdateAuthorInput!): UpdateAuthorPayload + deleteAuthor(filter: AuthorFilter!): DeleteAuthorPayload + addPost(input: [AddPostInput!]!): AddPostPayload + updatePost(input: UpdatePostInput!): UpdatePostPayload + deletePost(filter: PostFilter!): DeletePostPayload +} + +type AddAuthorPayload { + author(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] + numUids: Int +} + +type AddPostPayload { + post(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] + numUids: Int +} + +type DeleteAuthorPayload { + author(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] + msg: String + numUids: Int +} + +type DeletePostPayload { + post(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] + msg: String + numUids: Int +} + +type UpdateAuthorPayload { + author(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] + numUids: Int +} + +type UpdatePostPayload { + post(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] + numUids: Int +} +``` + +## Input objects +Mutations require input data, such as the data, to create a new object or an object's ID to delete. Dgraph auto-generates the input object type for every type in the schema. + +```graphql +input AddAuthorInput { + name: String! + dob: DateTime + posts: [PostRef] +} + +mutation { + addAuthor( + input: { + name: "A.N. Author", + lastName: "2000-01-01", + } + ) + { + ... + } +} +``` + +## Return fields +Each mutation provides a set of fields that can be returned in the response. Dgraph auto-generates the return payload object type for every type in the schema. + +```graphql +type AddAuthorPayload { + author(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] + numUids: Int +} +``` + +## Multiple fields in mutations +A mutation can contain multiple fields, just like a query. While query fields are executed in parallel, mutation fields run in series, one after the other. This means that if we send two `updateAuthor` mutations in one request, the first is guaranteed to finish before the second begins. This ensures that we don't end up with a race condition with ourselves. If one of the mutations is aborted due error like transaction conflict, we continue performing the next mutations. + +**Example**: Mutation on multiple types +```graphql +mutation ($post: AddPostInput!, $author: AddAuthorInput!) { + addAuthor(input: [$author]) { + author { + name + } + } + addPost(input: [$post]) { + post { + postID + title + text + } + } +} +``` +Variables: +```json +{ + "author": { + "name": "A.N. Author", + "dob": "2000-01-01", + "posts": [] + }, + "post": { + "title": "Exciting post", + "text": "A really good post", + "author": { + "name": "A.N. Author" + } + } +} +``` + +## Examples + +You can refer to the following [link](https://github.com/dgraph-io/dgraph/tree/master/graphql/schema/testdata/schemagen) for more examples. diff --git a/wiki/content/graphql/mutations/update.md b/wiki/content/graphql/mutations/update.md new file mode 100644 index 00000000000..bae512f5048 --- /dev/null +++ b/wiki/content/graphql/mutations/update.md @@ -0,0 +1,98 @@ ++++ +title = "Update Mutations" +[menu.main] + parent = "graphql-mutations" + name = "Update" + weight = 3 ++++ + +Update Mutations allows you to update existing objects of a particular type. It allows to filter nodes and, set and remove any field belonging to a type. + +We use the following schema to demonstrate some examples. + +**Schema**: +```graphql +type Author { + id: ID! + name: String! @search(by: [hash]) + dob: DateTime + posts: [Post] +} + +type Post { + postID: ID! + title: String! @search(by: [term, fulltext]) + text: String @search(by: [fulltext, term]) + datePublished: DateTime +} +``` + +Dgraph automatically generates input and return type in the schema for the update mutation. Update mutation takes filter as an input to select specific objects. You can specify set and remove operation on fields belonging to the filtered objects. It returns the state of the objects after updation. +```graphql +updatePost(input: UpdatePostInput!): UpdatePostPayload + +input UpdatePostInput { + filter: PostFilter! + set: PostPatch + remove: PostPatch +} + +type UpdatePostPayload { + post(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] + numUids: Int +} +``` + +**Example**: Update set mutation using variables +```graphql +mutation updatePost($patch: UpdatePostInput!) { + updatePost(input: $patch) { + post { + postID + title + text + } + } +} +``` +Variables: +```json +{ "patch": + { "filter": { + "postID": ["0x123", "0x124"] + }, + "set": { + "text": "updated text" + } + } +} +``` + +**Example**: Update remove mutation using variables +```graphql +mutation updatePost($patch: UpdatePostInput!) { + updatePost(input: $patch) { + post { + postID + title + text + } + } +} +``` +Variables: +```json +{ "patch": + { "filter": { + "postID": ["0x123", "0x124"] + }, + "remove": { + "text": "delete this text" + } + } +} +``` + +## Examples + +You can refer to the following [link](https://github.com/dgraph-io/dgraph/blob/master/graphql/resolve/update_mutation_test.yaml) for more examples. diff --git a/wiki/content/graphql/overview/index.md b/wiki/content/graphql/overview/index.md new file mode 100644 index 00000000000..403a176136d --- /dev/null +++ b/wiki/content/graphql/overview/index.md @@ -0,0 +1,74 @@ ++++ +title = "Overview" +[menu.main] + url = "/graphql/overview/" + name = "Overview" + identifier = "graphql-overview" + parent = "graphql" + weight = 1 ++++ + +**Welcome to the official GraphQL documentation for Dgraph.** + +Designed from the ground up to be run in production, Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast. + +* These docs tell you all the details. If you are looking for a walk through tutorial, then head over to our [tutorials section](/graphql/todo-app-tutorial/todo-overview). + +Dgraph gives you GraphQL. You're always working with GraphQL, not a translation layer. When you build an app with Dgraph, Dgraph is your GraphQL database. + +## Exploring the docs + +* How it Works - Once you've got yourself started with [tutorials](/graphql/todo-app-tutorial/todo-overview), you might need to review [how it works](/graphql/how-dgraph-graphql-works). +* [Schema](/graphql/schema/schema-overview) - You'll need the schema reference to find out about all the options of what can be in your schema. +* [The API](/graphql/api/api-overview) - The API section tells you about how the GraphQL API is served and how you can access it. +* [Queries](/graphql/queries/queries-overview) - Everything you need to know about writing GraphQL queries. +* [Mutations](/graphql/mutations/mutations-overview) - Everything you need to know about writing GraphQL mutations with Dgraph. +* [Subscriptions](/graphql/subscriptions) - GraphQL subscriptions help you make your APP more responsive or, for example, add live feeds. Dgraph can generate subscriptions for you. +* [Custom Logic](/graphql/custom/custom-overview) - Dgraph's auto generated GraphQL API is fantastic, but as your app gets more complicated, you'll need to add custom business logic to your API. +* [Authorization](/graphql/authorization/authorization-overview) - Find out how Dgraph can add automated authorization to your GraphQL API. +* [Local Administration](/graphql/admin) - Once you're up and running you might also need to know a few details about administering your Dgraph instance if you are running locally. +* [Slash GraphQL](/slash-graphql/admin/overview) - If you are using hosted Dgraph on Slash GraphQL, then head over here to learn about administering your backend. + +## Contribute + +
+
+
+
+
+ +

+ Get started with contributing fixes and enhancements to Dgraph and related software. +

+
+
+
+
+
+ +## Our Community + +**Dgraph is made better every day by the growing community and the contributors all over the world.** + +
+
+
+
+
+ +

+ Discuss Dgraph on the official community. +

+
+
+
+
+
\ No newline at end of file diff --git a/wiki/content/graphql/queries/_index.md b/wiki/content/graphql/queries/_index.md new file mode 100644 index 00000000000..c19923f4019 --- /dev/null +++ b/wiki/content/graphql/queries/_index.md @@ -0,0 +1,8 @@ ++++ +title = "Queries" +[menu.main] + url = "/graphql/queries/" + identifier = "graphql-queries" + parent = "graphql" + weight = 6 ++++ \ No newline at end of file diff --git a/wiki/content/graphql/queries/and-or-not.md b/wiki/content/graphql/queries/and-or-not.md new file mode 100644 index 00000000000..83abe4f7a13 --- /dev/null +++ b/wiki/content/graphql/queries/and-or-not.md @@ -0,0 +1,53 @@ ++++ +title = "And, Or and Not" +[menu.main] + parent = "graphql-queries" + name = "And, Or and Not" + weight = 3 ++++ + +Every search filter contains `and`, `or` and `not`. + +GraphQL's syntax is used to write these infix style, so "a and b" is written `a, and: { b }`, and "a or b or c" is written `a, or: { b, or: c }`. Not is written prefix. + +The posts that do not have "GraphQL" in the title. + +```graphql +queryPost(filter: { not: { title: { allofterms: "GraphQL"} } } ) { ... } +``` + +The posts that have "GraphQL" or "Dgraph" in the title. + +```graphql +queryPost(filter: { + title: { allofterms: "GraphQL"}, + or: { title: { allofterms: "Dgraph" } } + } ) { ... } +``` + +The posts that have "GraphQL" and "Dgraph" in the title. + +```graphql +queryPost(filter: { + title: { allofterms: "GraphQL"}, + and: { title: { allofterms: "Dgraph" } } + } ) { ... } +``` + +The and is implicit for a single filter object, if the fields don't overlap. For example, above the `and` is required because `title` is in both filters, where as below, `and` is not required. + +```graphql +queryPost(filter: { + title: { allofterms: "GraphQL" }, + datePublished: { ge: "2020-06-15" } + } ) { ... } +``` + +The posts that have "GraphQL" in the title, or have the tag "GraphQL" and mention "Dgraph" in the title + +```graphql +queryPost(filter: { + title: { allofterms: "GraphQL"}, + or: { title: { allofterms: "Dgraph" }, tags: { eg: "GraphQL" } } + } ) { ... } +``` \ No newline at end of file diff --git a/wiki/content/graphql/queries/cascade.md b/wiki/content/graphql/queries/cascade.md new file mode 100644 index 00000000000..49b2c0e0990 --- /dev/null +++ b/wiki/content/graphql/queries/cascade.md @@ -0,0 +1,43 @@ ++++ +title = "Cascade" +[menu.main] + parent = "graphql-queries" + name = "Cascade" + weight = 5 ++++ + +`@cascade` is available as a directive which can be applied on fields. With the @cascade +directive, nodes that don’t have all fields specified in the query are removed. +This can be useful in cases where some filter was applied and some nodes might not +have all listed fields. + +For example, the query below would only return the authors which have both reputation +and posts and where posts have text. Note that `@cascade` trickles down so it would +automatically be applied at the `posts` level as well if its applied at the `queryAuthor` +level. + +```graphql +{ + queryAuthor @cascade { + reputation + posts { + text + } + } +} +``` + +`@cascade` can also be used at nested levels, so the query below would return all authors +but only those posts which have both `text` and `id`. + +```graphql +{ + queryAuthor { + reputation + posts @cascade { + id + text + } + } +} +``` \ No newline at end of file diff --git a/wiki/content/graphql/queries/order-page.md b/wiki/content/graphql/queries/order-page.md new file mode 100644 index 00000000000..075cdf4d1c8 --- /dev/null +++ b/wiki/content/graphql/queries/order-page.md @@ -0,0 +1,30 @@ ++++ +title = "Order and Pagination" +[menu.main] + parent = "graphql-queries" + name = "Order and Pagination" + weight = 4 ++++ + +Every type with fields whose types can be ordered (`Int`, `Float`, `String`, `DateTime`) gets +ordering built into the query and any list fields of that type. Every query and list field +gets pagination with `first` and `offset` and ordering with `order` parameter. + +For example, find the most recent 5 posts. + +```graphql +queryPost(order: { desc: datePublished }, first: 5) { ... } +``` + +Skip the first five recent posts and then get the next 10. + +```graphql +queryPost(order: { desc: datePublished }, offset: 5, first: 10) { ... } +``` + +It's also possible to give multiple orders. For example, sort by date and within each +date order the posts by number of likes. + +```graphql +queryPost(order: { desc: datePublished, then: { desc: numLikes } }, first: 5) { ... } +``` \ No newline at end of file diff --git a/wiki/content/graphql/queries/queries-overview.md b/wiki/content/graphql/queries/queries-overview.md new file mode 100644 index 00000000000..9efc382c1e3 --- /dev/null +++ b/wiki/content/graphql/queries/queries-overview.md @@ -0,0 +1,46 @@ ++++ +title = "Overview" +[menu.main] + parent = "graphql-queries" + identifier = "queries-overview" + weight = 1 ++++ + +How to use queries to fetch data from Dgraph. + +Dgraph automatically generates GraphQL queries for each type that you define in +your schema. There are two types of of queries generated for each type. + +Example + +```graphql +type Post { + id: ID! + title: String! @search + text: String + score: Float @search + completed: Boolean @search + datePublished: DateTime @search(by: [year]) + author: Author! +} + +type Author { + id: ID! + name: String! @search + posts: [Post!] + friends: [Author] +} +``` + +With the above schema, there would be two queries generated for Post and two +for Author. Here are the queries that are generated for the Post type: + +```graphql +getPost(postID: ID!): Post +queryPost(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] +``` + +The first query allows you to fetch a post and its related fields given an ID. +The second query allows you to fetch a list of posts based on some filters, sorting and +pagination parameters. You can look at all the queries that are generated by using any +GraphQL client such as Insomnia or GraphQL playground. \ No newline at end of file diff --git a/wiki/content/graphql/queries/search-filtering.md b/wiki/content/graphql/queries/search-filtering.md new file mode 100644 index 00000000000..5b6b8e8f517 --- /dev/null +++ b/wiki/content/graphql/queries/search-filtering.md @@ -0,0 +1,173 @@ ++++ +title = "Search and Filtering" +[menu.main] + parent = "graphql-queries" + name = "Search and Filtering" + weight = 2 ++++ + +Queries generated for a GraphQL type allow you to generate a single of list of +objects for a type. + +### Get a single object + +Fetch the title, text and datePublished for a post with id `0x1`. + +```graphql +query { + getPost(id: "0x1") { + title + text + datePublished + } +} +``` + +Fetching nested linked objects, while using get queries is also easy. This is how +you would fetch the authors for a post and their friends. + +```graphql +query { + getPost(id: "0x1") { + id + title + text + datePublished + author { + name + friends { + name + } + } + } +} +``` + +While fetching nested linked objects, you can also apply a filter on them. + +Example - Fetching author with id 0x1 and their posts about GraphQL. + +```graphql +query { + getAuthor(id: "0x1") { + name + posts(filter: { + title: { + allofterms: "GraphQL" + } + }) { + title + text + datePublished + } + } +} +``` + +If your type has a field with `@id` directive on it, you can also fetch objects using that. + +Example: To fetch a user's name and age by userID which has @id directive. + +Schema + +```graphql +type User { + userID: String! @id + name: String! + age: String +} +``` + +Query + +```graphql +query { + getUser(userID: "0x2") { + name + age + } +} +``` + +### Query list of objects + +Fetch the title, text and and datePublished for all the posts. + +```graphql +query { + queryPost { + id + title + text + datePublished + } +} +``` + +Fetching a list of posts by their ids. + +```graphql +query { + queryPost(filter: { + id: ["0x1", "0x2", "0x3", "0x4"], + }) { + id + title + text + datePublished + } +} +``` + +You also filter the posts by different fields in the Post type which have a +`@search` directive on them. To only fetch posts which `GraphQL` in their title +and have a `score > 100`, you can run the following query. + +```graphql +query { + queryPost(filter: { + title: { + anyofterms: "GraphQL" + }, + and: { + score: { + gt: 100 + } + } + }) { + id + title + text + datePublished + } +} +``` + +You can also filter nested objects while querying for a list of objects. + +Example - To fetch all the authors whose name have `Lee` in them and their`completed` posts +with score greater than 10. + +```graphql +query { + queryAuthor(filter: { + name: { + anyofterms: "Lee" + } + }) { + name + posts(filter: { + score: { + gt: 10 + }, + and: { + completed: true + } + }) { + title + text + datePublished + } + } +} +``` \ No newline at end of file diff --git a/wiki/content/graphql/queries/skip-include.md b/wiki/content/graphql/queries/skip-include.md new file mode 100644 index 00000000000..3d1609a075f --- /dev/null +++ b/wiki/content/graphql/queries/skip-include.md @@ -0,0 +1,63 @@ ++++ +title = "Skip and Include" +[menu.main] + parent = "graphql-queries" + name = "Skip and Include" + weight = 6 ++++ + +`@skip` and `@include` are directives which can be applied on a field while querying. +They allow you to skip or include a field based on the value of the `if` argument +that is passed to the directive. + +## @skip + +In the query below, we fetch posts and decide whether to fetch the title for them or not +based on the `skipTitle` GraphQL variable. + +GraphQL query + +```graphql +query ($skipTitle: Boolean!) { + queryPost { + id + title @skip(if: $skipTitle) + text + } +} +``` + +GraphQL variables +```json +{ + "skipTitle": true +} +``` + +## @include + +Similarly, the `@include` directive can be used to include a field based on the value of +the `if` argument. The query below would only include the authors for a post if `includeAuthor` +GraphQL variable has value true. + +GraphQL Query +```graphql +query ($includeAuthor: Boolean!) { + queryPost { + id + title + text + author @include(if: $includeAuthor) { + id + name + } + } +} +``` + +GraphQL variables +```json +{ + "includeAuthor": false +} +``` \ No newline at end of file diff --git a/wiki/content/graphql/quick-start/index.md b/wiki/content/graphql/quick-start/index.md new file mode 100644 index 00000000000..f473b98278b --- /dev/null +++ b/wiki/content/graphql/quick-start/index.md @@ -0,0 +1,259 @@ ++++ +title = "Quick Start" +[menu.main] + url = "/graphql/quick-start/" + name = "Quick Start" + identifier = "graphql-quick-start" + parent = "graphql" + weight = 1 ++++ + +Let's go from nothing to a running GraphQL API in just two steps. + +For GraphQL in Dgraph, you just concentrate on defining the schema of your graph and how you'd like to search that graph; Dgraph does the rest. You work only with GraphQL and, think in terms of the graph that matters for your app. + +This example is for an app about customers, products and reviews. That's a pretty simple graph, with just three types of objects, but it has some interesting connections for us to explore. + +Here's a schema of GraphQL types for that: + +```graphql +type Product { + productID: ID! + name: String @search(by: [term]) + reviews: [Review] @hasInverse(field: about) +} + +type Customer { + username: String! @id @search(by: [hash, regexp]) + reviews: [Review] @hasInverse(field: by) +} + +type Review { + id: ID! + about: Product! + by: Customer! + comment: String @search(by: [fulltext]) + rating: Int @search +} +``` + +With Dgraph you can turn that schema into a running GraphQL API in just two steps. + +## Step 1 - Start Dgraph GraphQL + +It's a one-liner to bring up Dgraph with GraphQL. *Note: The Dgraph standalone image is great for quick start and exploring, but it's not meant for production use. Once you want to build an App or persist your data for restarts, you'll need to review the [admin docs](../admin).* + +``` +docker run -it -p 8080:8080 dgraph/standalone:master +``` + +With that, GraphQL has started at localhost:8080/graphql, but it doesn't have a schema to serve yet. + +## Step 2 - Add a GraphQL Schema + +Dgraph will run your GraphQL API at `/graphql` and an admin interface at `/admin`. The `/admin` interface lets you add and update the GraphQL schema served at `/graphql`. The quickest way to reset the schema is just to post it to `/admin` with curl. + +Take the schema above, cut-and-paste it into a file called `schema.graphql` and run the following curl command. + +``` +curl -X POST localhost:8080/admin/schema --data-binary '@schema.graphql' +``` + +It'll post back the types it's currently serving a schema for, which should be the same as the input schema. + +That's it, now you've got a GraphQL API up and running. + +No, really, that's all; nothing else to do; it's there, serving GraphQL --- let's go use it. + +## GraphQL Mutations + +If you've followed the steps above, there's a GraphQL server up and running. You can access that GraphQL endpoint with any of the great GraphQL developer tools. Good choices include [GraphQL Playground](https://github.com/prisma-labs/graphql-playground), [Insomnia](https://insomnia.rest/), [GraphiQL](https://github.com/graphql/graphiql) and [Altair](https://github.com/imolorhe/altair). + +Fire one of those up and point it at `http://localhost:8080/graphql`. If you know lots about GraphQL, you might want to explore the schema, queries and mutations that were generated from the input. + +We'll begin by adding some products and an author. GraphQL can accept multiple mutations at a time, so it's one request. Neither the products nor the author will have any reviews yet, so all we need is the names. + +```graphql +mutation { + addProduct(input: [ + { name: "GraphQL on Dgraph"}, + { name: "Dgraph: The GraphQL Database"} + ]) { + product { + productID + name + } + } + addCustomer(input: [{ username: "Michael"}]) { + customer { + username + } + } +} +``` + +The GraphQL server will return a json response like: + +```json +{ + "data": { + "addProduct": { + "product": [ + { + "productID": "0x2", + "name": "GraphQL on Dgraph" + }, + { + "productID": "0x3", + "name": "Dgraph: The GraphQL Database" + } + ] + }, + "addCustomer": { + "customer": [ + { + "username": "Michael" + } + ] + } + }, + "extensions": { + "requestID": "b155867e-4241-4cfb-a564-802f2d3808a6" + } +} +``` + +And, of course, our author bought "GraphQL on Dgraph", loved it, and added a glowing review with the following mutation. + +Because the schema defined Customer with the field `username: String! @id`, the `username` field acts like an ID, so we can identify customers just with their names. Products, on the other hand, had `productID: ID!`, so they'll get an auto-generated ID. Your ID for the product might be different. Make sure you check the result of adding the products and use the right ID - it's no different to linking primary/foreign keys correctly in a relational DB. + +```graphql +mutation { + addReview(input: [{ + by: {username: "Michael"}, + about: { productID: "0x2"}, + comment: "Fantastic, easy to install, worked great. Best GraphQL server available", + rating: 10}]) + { + review { + comment + rating + by { username } + about { name } + } + } +} +``` + +This time, the mutation result queries for the author making the review and the product being reviewed, so it's gone deeper into the graph to get the result than just the mutation data. + +```json +{ + "data": { + "addReview": { + "review": [ + { + "comment": "Fantastic, easy to install, worked great. Best GraphQL server available", + "rating": 10, + "by": { + "username": "Michael" + }, + "about": { + "name": "GraphQL on Dgraph" + } + } + ] + } + }, + "extensions": { + "requestID": "11bc2841-8c19-45a6-bb31-7c37c9b027c9" + } +} +``` + +Already we have a running GraphQL API and can add data using any GraphQL tool. You could write a GraphQL/React app with a nice UI. It's GraphQL, so you can do anything GraphQL with your new server. + +Go ahead, add some more customers, products and reviews and then move on to querying data back out. + +## GraphQL Queries + +Mutations are one thing, but query is where GraphQL really shines. With GraphQL, you get just the data you want, in a format that's suitable for your app. + +With Dgraph, you get powerful graph search built into your GraphQL API. The schema for search is generated from the schema document that we started with and automatically added to the GraphQL API for you. + +Remember the definition of a review. + +```graphql +type Review { + ... + comment: String @search(by: [fulltext]) + ... +} +``` + +The directive `@search(by: [fulltext])` tells Dgraph we want to be able to search for comments with full-text search. That's Google-style search like 'best buy' and 'loved the color'. Dgraph took that, and the other information in the schema, and built queries and search into the API. + +Let's find all the products that were easy to install. + +```graphql +query { + queryReview(filter: { comment: {alloftext: "easy to install"}}) { + comment + by { + username + } + about { + name + } + } +} +``` + +What reviews did you get back? It'll depend on the data you added, but you'll at least get the initial review we added. + +Maybe you want to find reviews that describe best GraphQL products and give a high rating. + +```graphql +query { + queryReview(filter: { comment: {alloftext: "best GraphQL"}, rating: { ge: 10 }}) { + comment + by { + username + } + about { + name + } + } +} +``` + +How about we find the customers with names starting with "Mich" and the five products that each of those liked the most. + +```graphql +query { + queryCustomer(filter: { username: { regexp: "/Mich.*/" } }) { + username + reviews(order: { asc: rating }, first: 5) { + comment + rating + about { + name + } + } + } +} +``` + +We started with nothing more than the definition of three GraphQL types, yet already we have a running GraphQL API that keeps usernames unique, can run queries and mutations, and we are on our way for an e-commerce app. + +There's much more that could be done: we can build in more types, more powerful search, build in queries that work through the graph like a recommendation system, and more. Keep learning about GraphQL with Dgraph to find out about great things you can do. + +## Where Next + +Depending on if you need a bit more of a walkthrough or if you're off and running, you should checkout the worked example or the sample React app. + +The worked example builds through similar material to this quick start, but also works through what's allowed in your input schema and what happens to what you put in there. + +The React app is a UI for a simple social media example that's built on top of a Dgraph GraphQL instance. + +Later, as you're building your app, you'll need the reference materials on schema and server administration. \ No newline at end of file diff --git a/wiki/content/graphql/schema/_index.md b/wiki/content/graphql/schema/_index.md new file mode 100644 index 00000000000..bd8d1e29ca7 --- /dev/null +++ b/wiki/content/graphql/schema/_index.md @@ -0,0 +1,8 @@ ++++ +title = "Schema" +[menu.main] + url = "/graphql/schema/" + identifier = "schema" + parent = "graphql" + weight = 4 ++++ \ No newline at end of file diff --git a/wiki/content/graphql/schema/deprecated.md b/wiki/content/graphql/schema/deprecated.md new file mode 100644 index 00000000000..677f089e1e8 --- /dev/null +++ b/wiki/content/graphql/schema/deprecated.md @@ -0,0 +1,10 @@ ++++ +title = "Deprecation" +[menu.main] + parent = "schema" + weight = 7 ++++ + +Documentation about `@deprecated` directive coming soon. + + \ No newline at end of file diff --git a/wiki/content/graphql/schema/dgraph-schema.md b/wiki/content/graphql/schema/dgraph-schema.md new file mode 100644 index 00000000000..a20e5847ad0 --- /dev/null +++ b/wiki/content/graphql/schema/dgraph-schema.md @@ -0,0 +1,76 @@ ++++ +title = "Dgraph Schema Fragment" +[menu.main] + parent = "schema" + weight = 8 ++++ + +While editing your schema, you might find it useful to include this GraphQL schema fragment. It sets up the definitions of the directives, etc. (like `@search`) that you'll use in your schema. If your editor is GraphQL aware, it may give you errors if you don't have this available and context sensitive help if you do. + +Don't include it in your input schema to Dgraph - use your editing environment to set it up as an import. The details will depend on your setup. + +```graphql +scalar DateTime + +enum DgraphIndex { + int + float + bool + hash + exact + term + fulltext + trigram + regexp + year + month + day + hour +} + +input AuthRule { + and: [AuthRule] + or: [AuthRule] + not: AuthRule + rule: String +} + +enum HTTPMethod { + GET + POST + PUT + PATCH + DELETE +} + +enum Mode { + BATCH + SINGLE +} + +input CustomHTTP { + url: String! + method: HTTPMethod! + body: String + graphql: String + mode: Mode + forwardHeaders: [String!] + secretHeaders: [String!] + introspectionHeaders: [String!] + skipIntrospection: Boolean +} + +directive @hasInverse(field: String!) on FIELD_DEFINITION +directive @search(by: [DgraphIndex!]) on FIELD_DEFINITION +directive @dgraph(type: String, pred: String) on OBJECT | INTERFACE | FIELD_DEFINITION +directive @id on FIELD_DEFINITION +directive @withSubscription on OBJECT | INTERFACE +directive @secret(field: String!, pred: String) on OBJECT | INTERFACE +directive @auth( + query: AuthRule, + add: AuthRule, + update: AuthRule, + delete: AuthRule) on OBJECT +directive @custom(http: CustomHTTP) on FIELD_DEFINITION +directive @remote on OBJECT | INTERFACE +``` diff --git a/wiki/content/graphql/schema/documentation.md b/wiki/content/graphql/schema/documentation.md new file mode 100644 index 00000000000..837a47cbbde --- /dev/null +++ b/wiki/content/graphql/schema/documentation.md @@ -0,0 +1,14 @@ ++++ +title = "Documentation and Comments" +[menu.main] + parent = "schema" + weight = 6 ++++ + +More documentation about documentation comments coming soon :-) + +Dgraph accepts GraphQL documentation comments `"""..."""` that gets passed through to the generated API and thus shown as documentation in GraphQL tools like GraphiQL, GraphQL Playground, Insomnia etc. + +You can also add `# ...` comments where ever you like. Those are just like code comments in the input schema and get dropped. + +Any comment starting with `# Dgraph.` is reserved and shouldn't be used to document your input schema. diff --git a/wiki/content/graphql/schema/graph-links.md b/wiki/content/graphql/schema/graph-links.md new file mode 100644 index 00000000000..54cf5e96d0f --- /dev/null +++ b/wiki/content/graphql/schema/graph-links.md @@ -0,0 +1,126 @@ ++++ +title = "Links in the Graph" +[menu.main] + parent = "schema" + weight = 4 ++++ + +All the data in your app forms a GraphQL data graph. That graph has nodes of particular types (the types you define in your schema) and links between the nodes to form the data graph. + +Dgraph uses the types and fields in the schema to work out how to link that graph, what to accept for mutations and what shape responses should take. + +Edges in that graph are directed: either pointing in one direction or two. You use the `@hasInverse` directive to tell Dgraph how to handle two-way edges. + +### One-way Edges + +If you only ever need to traverse the graph between nodes in a particular direction, then your schema can simply contain the types and the link. + +In this schema, posts have an author - each post in the graph is linked to its author - but that edge is one-way. + +```graphql +type Author { + ... +} + +type Post { + ... + author: Author +} +``` + +You'll be able to traverse the graph from a Post to its author, but not able to traverse from an author to all their posts. Sometimes that's the right choice, but mostly, you'll want two way edges. + +Note: Dgraph won't store the reverse direction, so if you change your schema to include a `@hasInverse`, you'll need to migrate the data to add the reverse edges. + +### Two-way edges - edges with an inverse + +GraphQL schemas are always under-specified in that if we extended our schema to: + +```graphql +type Author { + ... + posts: [Post] +} + +type Post { + ... + author: Author +} +``` + +Then, the schema says that an author has a list of posts and a post has an author. But, that GraphQL schema doesn't doesn't say that every post in the list of posts for an author has the same author as their `author`. For example, it's perfectly valid for author `a1` to have a `posts` edge to post `p1`, that has an `author` edge to author `a2`. Here, we'd expect an author to be the author of all their posts, but that's not what GraphQL enforces. In GraphQL, it's left up to the implementation to make two-way connections in cases that make sense. That's just part of how GraphQL works. + +In Dgraph, the directive `@hasInverse` is used to create a two-way edge. + +```graphql +type Author { + ... + posts: [Post] @hasInverse(field: author) +} + +type Post { + ... + author: Author +} +``` + +With that, `posts` and `author` are just two directions of the same link in the graph. For example, adding a new post with + +```graphql +mutation { + addPost(input: [ + { ..., author: { username: "diggy" }} + ]) { + ... + } +} +``` + +will automatically add it to Diggy's list of `posts`. Deleting the post will remove it from Diggy's `posts`. Similarly, using an update mutation on an author to insert a new post will automatically add Diggy as the author the author + +```graphql +mutation { + updateAuthor(input: { + filter: { username: { eq: "diggy "}}, + set: { posts: [ {... new post ...}]} + }) { + ... + } +} +``` + +### Many edges + +It's not really possible to auto-detect what a schema designer meant for two-way edges. There's not even only one possible relationship between two types. Consider, for example, if an app recorded the posts an `Author` had recently liked (so it can suggest interesting material) and just a tally of all likes on a post. + +```graphql +type Author { + ... + posts: [Post] + recentlyLiked: [Post] +} + +type Post { + ... + author: Author + numLikes: Int +} +``` + +It's not possible to detect what is meant here as a one-way edge, or which edges are linked as a two-way connection. That's why `@hasInverse` is needed - so you can enforce the semantics your app needs. + +```graphql +type Author { + ... + posts: [Post] @hasInverse(field: author) + recentlyLiked: [Post] +} + +type Post { + ... + author: Author + numLikes: Int +} +``` + +Now, Dgraph will manage the connection between posts and authors and you can get on with concentrating on what your app needs to to - suggesting them interesting content. \ No newline at end of file diff --git a/wiki/content/graphql/schema/ids.md b/wiki/content/graphql/schema/ids.md new file mode 100644 index 00000000000..1f07c65b210 --- /dev/null +++ b/wiki/content/graphql/schema/ids.md @@ -0,0 +1,52 @@ ++++ +title = "IDs" +[menu.main] + parent = "schema" + weight = 3 ++++ + +There's two types of identity built into Dgraph. Those are accessed via the `ID` scalar type and the `@id` directive. + +### The ID type + +In Dgraph, every node has a unique 64 bit identifier. You can, but don't have to, expose that in GraphQL via the `ID` type. `ID`s are auto-generated, immutable and never reused. Each type can have at most one `ID` field. + +The `ID` type works great for things that you'll want to refer to via an id, but don't need to set the identifier externally. Examples are things like posts, comments, tweets, etc. + +For example, you might set the following type in a schema. + +```graphql +type Post { + id: ID! + ... +} +``` + +In a single page app, you'll want to render the page for `http://.../posts/0x123` when a user clicks to view the post with id `0x123`. You app can then use a `getPost(id: "0x123") { ... }` GraphQL query to fetch the data to generate the page. + +You'll also be able to update and delete posts by id. + +### The @id directive + +For some types, you'll need a unique identifier set from outside Dgraph. A common example is a username. + +The `@id` directive tells Dgraph to keep values of that field unique and to use them as identifiers. + +For example, you might set the following type in a schema. + +```graphql +type User { + username: String! @id + ... +} +``` + +Dgraph will then require a unique username when creating a new user --- it'll generate the input type for `addUser` with `username: String!` so you can't make an add mutation without setting a username, and when processing the mutation, Dgraph will ensure that the username isn't already set for another node of the `User` type. + +Identities created with `@id` are reusable - if you delete an existing user, you can reuse the username. + +As with `ID` types, Dgraph will generate queries and mutations so you'll also be able to query, update and delete by id. + +### More to come + +We are currently considering expanding uniqueness to include composite ids and multiple unique fields (e.g. [this](https://discuss.dgraph.io/t/support-multiple-unique-fields-in-dgraph-graphql/8512) issue). diff --git a/wiki/content/graphql/schema/reserved.md b/wiki/content/graphql/schema/reserved.md new file mode 100644 index 00000000000..84228f5819f --- /dev/null +++ b/wiki/content/graphql/schema/reserved.md @@ -0,0 +1,10 @@ ++++ +title = "Reserved Names" +[menu.main] + parent = "schema" + weight = 1 ++++ + +Names `Int`, `Float`, `Boolean`, `String`, `DateTime` and `ID` are reserved and cannot be used to define any other identifiers. + +For each type, Dgraph generates a number of GraphQL types needed to operate the GraphQL API, these generated type names also can't be present in the input schema. For example, for a type `Author`, Dgraph generates `AuthorFilter`, `AuthorOrderable`, `AuthorOrder`, `AuthorRef`, `AddAuthorInput`, `UpdateAuthorInput`, `AuthorPatch`, `AddAuthorPayload`, `DeleteAuthorPayload` and `UpdateAuthorPayload`. Thus if `Author` is present in the input schema, all of those become reserved type names. \ No newline at end of file diff --git a/wiki/content/graphql/schema/schema-overview.md b/wiki/content/graphql/schema/schema-overview.md new file mode 100644 index 00000000000..84d9ef406f5 --- /dev/null +++ b/wiki/content/graphql/schema/schema-overview.md @@ -0,0 +1,15 @@ ++++ +title = "Overview" +[menu.main] + parent = "schema" + identifier = "schema-overview" + weight = 1 ++++ + +This section describes all the things you can put in your input GraphQL schema, and what gets generated from that. + +The process for serving GraphQL with Dgraph is to add a set of GraphQL type definitions using the `/admin` endpoint. Dgraph takes those definitions, generates queries and mutations, and serves the generated GraphQL schema. + +The input schema may contain interfaces, types and enums that follow the usual GraphQL syntax and validation rules. + +If you want to make your schema editing experience nicer, you should use an editor that does syntax highlighting for GraphQL. With that, you may also want to include the definitions [here](../dgraph-schema) as an import. diff --git a/wiki/content/graphql/schema/search.md b/wiki/content/graphql/schema/search.md new file mode 100644 index 00000000000..c4a668f4bf3 --- /dev/null +++ b/wiki/content/graphql/schema/search.md @@ -0,0 +1,303 @@ ++++ +title = "Search and Filtering" +[menu.main] + parent = "schema" + identifier = "schema-search" + weight = 5 ++++ + +The `@search` directive tells Dgraph what search to build into your GraphQL API. + +When a type contains an `@search` directive, Dgraph constructs a search input type and a query in the GraphQL `Query` type. For example, if the schema contains + +```graphql +type Post { + ... +} +``` + +then Dgraph constructs a `queryPost` GraphQL query for querying posts. The `@search` directives in the `Post` type control how Dgraph builds indexes and what kinds of search it builds into `queryPost`. If the type contains + +```graphql +type Post { + ... + datePublished: DateTime @search +} +``` + +then it's possible to filter posts with a date-time search like: + +```graphql +query { + queryPost(filter: { datePublished: { ge: "2020-06-15" }}) { + ... + } +} +``` + +If the type tells Dgraph to build search capability based on a term (word) index for the `title` field + +```graphql +type Post { + ... + title: String @search(by: [term]) +} +``` + +then, the generated GraphQL API will allow search by terms in the title. + +```graphql +query { + queryPost(filter: { title: { anyofterms: "GraphQL" }}) { + ... + } +} +``` + +Dgraph also builds search into the fields of each type, so searching is available at deep levels in a query. For example, if the schema contained these types + +```graphql +type Post { + ... + title: String @search(by: [term]) +} + +type Author { + name: String @search(by: [hash]) + posts: [Post] +} +``` + +then Dgraph builds GraphQL search such that a query can, for example, find an author by name (from the hash search on `name`) and return only their posts that contain the term "GraphQL". + +```graphql +queryAuthor(filter: { name: { eq: "Diggy" } } ) { + posts(filter: { title: { anyofterms: "GraphQL" }}) { + title + } +} +``` + +There's different search possible for each type as explained below. + +### Int, Float and DateTime + +| argument | constructed filter | +|----------|----------------------| +| none | `lt`, `le`, `eq`, `ge` and `gt` | + +Search for fields of types `Int`, `Float` and `DateTime` is enabled by adding `@search` to the field with no arguments. For example, if a schema contains: + +```graphql +type Post { + ... + numLikes: Int @search +} +``` + +Dgraph generates search into the API for `numLikes` in two ways: a query for posts and field search on any post list. + +A field `queryPost` is added to the `Query` type of the schema. + +```graphql +type Query { + ... + queryPost(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] +} +``` + +`PostFilter` will contain less than `lt`, less than or equal to `le`, equal `eq`, greater than or equal to `ge` and greater than `gt` search on `numLikes`. Allowing for example: + +```graphql +query { + queryPost(filter: { numLikes: { gt: 50 }}) { + ... + } +} +``` + +Also, any field with a type of list of posts has search options added to it. For example, if the input schema also contained: + +```graphql +type Author { + ... + posts: [Post] +} +``` + +Dgraph would insert search into `posts`, with + +```graphql +type Author { + ... + posts(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] +} +``` + +That allows search within the GraphQL query. For example, to find Diggy's posts with more than 50 likes. + +```graphql +queryAuthor(filter: { name: { eq: "Diggy" } } ) { + ... + posts(filter: { numLikes: { gt: 50 }}) { + title + text + } +} +``` + +### DateTime + +| argument | constructed filters | +|----------|----------------------| +| `year`, `month`, `day`, or `hour` | `lt`, `le`, `eq`, `ge` and `gt` | + +As well as `@search` with no arguments, `DateTime` also allows specifying how the search index should be built: by year, month, day or hour. `@search` defaults to year, but once you understand your data and query patterns, you might want to changes that like `@search(by: [day])`. + +### Boolean + +| argument | constructed filter | +|----------|----------------------| +| none | `true` and `false` | + +Booleans can only be tested for true or false. If `isPublished: Boolean @search` is in the schema, then the search allows + +```graphql +filter: { isPublished: true } +``` + +and + +```graphql +filter: { isPublished: false } +``` + +### String + +Strings allow a wider variety of search options than other types. For strings, you have the following options as arguments to `@search`. + +| argument | constructed searches | +|----------|----------------------| +| `hash` | `eq` | +| `exact` | `lt`, `le`, `eq`, `ge` and `gt` (lexicographically) | +| `regexp` | `regexp` (regular expressions) | +| `term` | `allofterms` and `anyofterms` | +| `fulltext` | `alloftext` and `anyoftext` | + +* *Schema rule*: `hash` and `exact` can't be used together. + +#### String exact and hash search + +Exact and hash search has the standard lexicographic meaning. + +```graphql +query { + queryAuthor(filter: { name: { eq: "Diggy" } }) { ... } +} +``` + +And for exact search + +```graphql +query { + queryAuthor(filter: { name: { gt: "Diggy" } }) { ... } +} +``` + +to find users with names lexicographically after "Diggy". + +#### String regular expression search + +Search by regular expression requires bracketing the expression with `/` and `/`. For example, query for "Diggy" and anyone else with "iggy" in their name: + +```graphql +query { + queryAuthor(filter: { name: { regexp: "/.*iggy.*/" } }) { ... } +} +``` + +#### String term and fulltext search + +If the schema has + +```graphql +type Post { + title: String @search(by: [term]) + text: String @search(by: [fulltext]) + ... +} +``` + +then + +```graphql +query { + queryPost(filter: { title: { `allofterms: "GraphQL tutorial"` } } ) { ... } +} +``` + +will match all posts with both "GraphQL and "tutorial" in the title, while `anyofterms: "GraphQL tutorial"` would match posts with either "GraphQL" or "tutorial". + +`fulltext` search is Google-stye text search with stop words, stemming. etc. So `alloftext: "run woman"` would match "run" as well as "running", etc. For example, to find posts that talk about fantastic GraphQL tutorials: + +```graphql +query { + queryPost(filter: { title: { `alloftext: "fantastic GraphQL tutorials"` } } ) { ... } +} +``` + +#### Strings with multiple searches + +It's possible to add multiple string indexes to a field. For example to search for authors by `eq` and regular expressions, add both options to the type definition, as follows. + +```graphql +type Author { + ... + name: String! @search(by: [hash, regexp]) +} +``` + +### Enums + +| argument | constructed searches | +|----------|----------------------| +| none | `eq` | +| `hash` | `eq` | +| `exact` | `lt`, `le`, `eq`, `ge` and `gt` (lexicographically) | +| `regexp` | `regexp` (regular expressions) | + +Enums are serialized in Dgraph as strings. `@search` with no arguments is the same as `@search(by: [hash])` and provides only `eq` search. Also available for enums are `exact` and `regexp`. For hash and exact search on enums, the literal enum value, without quotes `"..."`, is used, for regexp, strings are required. For example: + +```graphql +enum Tag { + GraphQL + Database + Question + ... +} + +type Post { + ... + tags: [Tag!]! @search +} +``` + +would allow + +```graphql +query { + queryPost(filter: { tags: { eq: GraphQL } } ) { ... } +} +``` + +Which would find any post with the `GraphQL` tag. + +While `@search(by: [exact, regexp]` would also admit `lt` etc. and + +```graphql +query { + queryPost(filter: { tags: { regexp: "/.*aph.*/" } } ) { ... } +} +``` + +which is helpful for example if the enums are something like product codes where regular expressions can match a number of values. diff --git a/wiki/content/graphql/schema/types.md b/wiki/content/graphql/schema/types.md new file mode 100644 index 00000000000..6374eaa77e4 --- /dev/null +++ b/wiki/content/graphql/schema/types.md @@ -0,0 +1,131 @@ ++++ +title = "Types" +[menu.main] + parent = "schema" + weight = 2 ++++ + +This page describes how you use GraphQL types to set the Dgraph GraphQL schema. + +### Scalars + +Dgraph GraphQL comes with the standard GraphQL scalars: `Int`, `Float`, `String`, `Boolean` and `ID`. There's also a `DateTime` scalar - represented as a string in RFC3339 format. + +Scalars `Int`, `Float`, `String` and `DateTime` can be used in lists. All scalars may be nullable or non-nullable. + +The `ID` type is special. IDs are auto-generated, immutable, and can be treated as strings. Fields of type `ID` can be listed as nullable in a schema, but Dgraph will never return null. + +* *Schema rule*: `ID` lists aren't allowed - e.g. `tags: [String]` is valid, but `ids: [ID]` is not. +* *Schema rule*: Each type you define can have at most one field with type `ID`. That includes IDs implemented through interfaces. + +It's not possible to define further scalars - you'll receive an error if the input schema contains the definition of a new scalar. + +For example, the following GraphQL type uses all of the available scalars. + +```graphql +type User { + userID: ID! + name: String! + lastSignIn: DateTime + recentScores: [Float] + reputation: Int + active: Boolean +} +``` + +Scalar lists in Dgraph act more like sets, so `tags: [String]` would always contain unique tags. Similarly, `recentScores: [Float]` could never contain duplicate scores. + +### Enums + +You can define enums in your input schema. For example: + +```graphql +enum Tag { + GraphQL + Database + Question + ... +} + +type Post { + ... + tags: [Tag!]! +} +``` + +### Types + +From the built-in scalars and the enums you add, you can generate types in the usual way for GraphQL. For example: + +```graphql +enum Tag { + GraphQL + Database + Dgraph +} + +type Post { + id: ID! + title: String! + text: String + datePublished: DateTime + tags: [Tag!]! + author: Author! +} + +type Author { + id: ID! + name: String! + posts: [Post!] + friends: [Author] +} +``` + +* *Schema rule*: Lists of lists aren't accepted. For example: `multiTags: [[Tag!]]` isn't valid. +* *Schema rule*: Fields with arguments are not accepted in the input schema unless the field is implemented using the `@custom` directive. + +### Interfaces + +GraphQL interfaces allow you to define a generic pattern that multiple types follow. When a type implements an interface, that means it has all fields of the interface and some extras. + +When a type implements an interface, GraphQL requires that the type repeats all the fields from the interface, but that's just boilerplate and a maintenance problem, so Dgraph doesn't need that repetition in the input schema and will generate the correct GraphQL for you. + +For example, the following defines the schema for posts with comment threads; Dgraph will fill in the `Question` and `Comment` types to make the full GraphQL types. + +```graphql +interface Post { + id: ID! + text: String + datePublished: DateTime +} + +type Question implements Post { + title: String! +} + +type Comment implements Post { + commentsOn: Post! +} +``` + +The generated GraphQL will contain the full types, for example, `Question` gets expanded as: + +```graphql +type Question implements Post { + id: ID! + text: String + datePublished: DateTime + title: String! +} +``` + +while `Comment` gets expanded as: + +```graphql +type Comment implements Post { + id: ID! + text: String + datePublished: DateTime + commentsOn: Post! +} +``` diff --git a/wiki/content/graphql/subscriptions/index.md b/wiki/content/graphql/subscriptions/index.md new file mode 100644 index 00000000000..9553de76c24 --- /dev/null +++ b/wiki/content/graphql/subscriptions/index.md @@ -0,0 +1,38 @@ ++++ +title = "GraphQL Subscriptions" +[menu.main] + url = "/graphql/subscriptions/" + name = "Subscriptions" + identifier = "subscriptions" + parent = "graphql" + weight = 8 ++++ + +Subscriptions allow clients to listen to real-time messages from the server. The client connects to the server via a bi-directional communication channel using WebSocket and sends a subscription query that specifies which event it is interested in. When an event is triggered, the server executes the stored GraphQL query, and the result is sent through the same communication channel back to the client. + +The client can unsubscribe by sending a message to the server. The server can also unsubscribe at any time due to errors or timeout. Another significant difference between queries/mutations and a subscription is that subscriptions are stateful and require maintaining the GraphQL document, variables, and context over the lifetime of the subscription. + +![Subscription](/images/graphql/subscription_flow.png "Subscription in GraphQL") + +## Enable Subscriptions + +In GraphQL, it's straightforward to enable subscriptions on any type. We add the directive `@withSubscription` in the schema along with the type definition. + +```graphql +type Todo @withSubscription { + id: ID! + title: String! + description: String! + completed: Boolean! +} +``` + +## Example + +Once the schema is added, you can fire a subscription query, and we receive updates when the subscription query result is updated. + +![Subscription](/images/graphql/subscription_example.gif "Subscription Example") + +## Apollo Client Setup + +Here is an excellent blog explaining in detail on [how to set up GraphQL Subscriptions using Apollo client](https://dgraph.io/blog/post/how-does-graphql-subscription/). diff --git a/wiki/content/graphql/todo-app-tutorial/_index.md b/wiki/content/graphql/todo-app-tutorial/_index.md new file mode 100644 index 00000000000..8de6f4ae05f --- /dev/null +++ b/wiki/content/graphql/todo-app-tutorial/_index.md @@ -0,0 +1,8 @@ ++++ +title = "Todo Tutorial" +[menu.main] + url = "/graphql/todo-app-tutorial/" + identifier = "todo-app-tutorial" + parent = "graphql" + weight = 10 ++++ \ No newline at end of file diff --git a/wiki/content/graphql/todo-app-tutorial/deploy.md b/wiki/content/graphql/todo-app-tutorial/deploy.md new file mode 100644 index 00000000000..d60fc41d5d3 --- /dev/null +++ b/wiki/content/graphql/todo-app-tutorial/deploy.md @@ -0,0 +1,72 @@ ++++ +title = "Deploying on Slash GraphQL" +[menu.main] + parent = "todo-app-tutorial" + weight = 6 ++++ + +*You can join the waitlist for Slash GraphQL [here](https://dgraph.io/slash-graphql).* + +Let's now deploy our fully functional app on Slash GraphQL [slash.dgraph.io](https://slash.dgraph.io). + +### Create a deployment + +After successfully logging into the site for the first time, your dashboard should look something like this. + +![Slash-GraphQL: Get Started](/images/graphql/tutorial/todo/slash-graphql-1.png) + +Let's go ahead and create a new deployment. + +![Slash-GraphQL: Create deployment](/images/graphql/tutorial/todo/slash-graphql-2.png) + +We named our deployment `todo-app-deployment` and set the optional subdomain as +`todo-app`, using which the deployment will be accessible. We can choose any +subdomain here as long as it is available. + +Let's set it up in AWS, in the US region, and click on the *Create Deployment* button. + +![Slash-GraphQL: Deployment created ](/images/graphql/tutorial/todo/slash-graphql-3.png) + +While the deployment is spinning up, remember to copy the API key, as the same API key +won't be visible again. Though, you don't need to worry too much about it since you can +create and revoke API keys from the setting page. + +Let's also copy the endpoint, which is our GraphQL API endpoint. + +Once the deployment is ready, let's add our schema there (insert your public key) by going to the schema tab. + +```graphql +type Task @auth( + query: { rule: """ + query($USER: String!) { + queryTask { + user(filter: { username: { eq: $USER } }) { + __typename + } + } + }"""}), { + id: ID! + title: String! @search(by: [fulltext]) + completed: Boolean! @search + user: User! +} +type User { + username: String! @id @search(by: [hash]) + name: String + tasks: [Task] @hasInverse(field: user) +} +# Dgraph.Authorization X-Auth0-Token https://dgraph.io/jwt/claims RS256 "" +``` + +Once the schema is submitted successfully, we can use the GraphQL API endpoint. + +Let's update our frontend to use this URL instead of localhost. Open `src/config.json` and update the `graphqlUrl` field with your GraphQL API endpoint. + +```json +{ + ... + "graphqlUrl": "" +} +``` + +That's it! Just in two steps on Slash GraphQL (deployment & schema), we got a GraphQL API that we can now easily use in any application! diff --git a/wiki/content/graphql/todo-app-tutorial/todo-UI.md b/wiki/content/graphql/todo-app-tutorial/todo-UI.md new file mode 100644 index 00000000000..ba6583ffb9d --- /dev/null +++ b/wiki/content/graphql/todo-app-tutorial/todo-UI.md @@ -0,0 +1,330 @@ ++++ +title = "Creating basic UI" +[menu.main] + parent = "todo-app-tutorial" + weight = 3 ++++ + +In this step, we will create a simple todo app (React) and integrate it with Auth0. + +## Create React app + +Let's start by creating a React app using the `create-react-app` command. + +``` +npx create-react-app todo-react-app +``` + +To verify navigate to the folder, start the dev server, and visit [http://localhost:3000](http://localhost:3000). + +``` +cd todo-react-app +npm start +``` + +Refer this step in [GitHub](https://github.com/dgraph-io/graphql-sample-apps/commit/bc235fda6e7557fc9204dd886c67f7eec7bdcadb). + +## Install dependencies + +Now, let's install the various dependencies that we will need in the app. + +``` +npm install todomvc-app-css classnames graphql-tag history react-router-dom +``` + +Refer this step in [GitHub](https://github.com/dgraph-io/graphql-sample-apps/commit/fc7ed70fdde368179e9d7310202b1a0952d2c5c1). + +## Setup Apollo Client + +Let's start with installing the Apollo dependencies and then create a setup. + +``` +npm install @apollo/react-hooks apollo-cache-inmemory apollo-client apollo-link-http graphql apollo-link-context +``` + +Now, let's update our `src/App.js` with the below content to include the Apollo client setup. + +```javascript +import React from "react" + +import ApolloClient from "apollo-client" +import { InMemoryCache } from "apollo-cache-inmemory" +import { ApolloProvider } from "@apollo/react-hooks" +import { createHttpLink } from "apollo-link-http" + +import "./App.css" + +const createApolloClient = () => { + const httpLink = createHttpLink({ + uri: "http://localhost:8080/graphql", + options: { + reconnect: true, + }, + }) + + return new ApolloClient({ + link: httpLink, + cache: new InMemoryCache(), + }) +} + +const App = () => { + const client = createApolloClient() + return ( + +
+

todos

+ +
+
+ ) +} + +export default App +``` + +Here we have created a simple instance of the Apollo client and passed the URL of our GraphQL API. Then we have passed the client to `ApolloProvider` and wrapped our `App` so that its accessible throughout the app. + +Refer this step in [GitHub](https://github.com/dgraph-io/graphql-sample-apps/commit/f3fedc663e75d2f8ce933432b15db5d5d080ccc2). + +## Queries and Mutations + +Now, let's add some queries and mutations. + +First, let's see how we can add a todo and get todos. Create a file `src/GraphQLData.js` and add the following. + +```javascript +import gql from "graphql-tag"; + +export const ADD_TODO = gql` + mutation addTask($task: [AddTaskInput!]!) { + addTask(input: $task) { + task { + id + title + } + } + } +` +export const GET_TODOS = gql` + query { + queryTask { + id + title + completed + } + } +` +``` + +Refer to the complete set of queries and mutations [here](https://github.com/dgraph-io/graphql-sample-apps/blob/948e9a8626b1f0c1e40de02485a1110b45f53b89/todo-app-react/src/GraphQLData.js). + +Now, let's see how to use that to add a todo. +Let's import the dependencies first in `src/TodoApp.js` + +```javascript +import { useQuery, useMutation } from "@apollo/react-hooks" +import { GET_TODOS, ADD_TODO } from "./GraphQLData" +``` + +Let's now create the functions to add a todo and get todos. + +```javascript +const TodoApp = () => { + +... +const [addTodo] = useMutation(ADD_TODO); + +const { loading, error, data } = useQuery(GET_TODOS); + const getData = () => { + if (loading) { + return null; + } + if (error) { + console.error(`GET_TODOS error: ${error}`); + return `Error: ${error.message}`; + } + if (data.queryTask) { + setShownTodos(data.queryTask) + } + } + + ... + +const add = (title) => + addTodo({ + variables: { task: [ + { title: title, completed: false, user: { username: "email@example.com" } } + ]}, + refetchQueries: [{ + query: GET_TODOS + }] + }); + ... + +``` + +Refer the complete set of functions [here](https://github.com/dgraph-io/graphql-sample-apps/blob/948e9a8626b1f0c1e40de02485a1110b45f53b89/todo-app-react/src/TodoApp.js). + +Also, check the other files updated in this step and make those changes as well. + +Refer this step in [GitHub](https://github.com/dgraph-io/graphql-sample-apps/commit/948e9a8626b1f0c1e40de02485a1110b45f53b89). + +## Auth0 Integration + +Now, let's integrate Auth0 in our application and use that to add the logged-in user. Let's first create an app in Auth0. + +- Head over to Auth0 and create an account. Click 'sign up' [here](https://auth0.com/) +- Once the signup is done, click "Create Application" in "Integrate Auth0 into your application". +- Give your app a name and select "Single Page Web App" application type +- Select React as the technology +- No need to do the sample app, scroll down to "Configure Auth0" and select "Application Settings". +- Select your app and add the values of `domain` and `clientid` in the file `src/auth_template.json`. Check this [link](https://auth0.com/docs/quickstart/spa/react/01-login#configure-auth0) for more information. +- Add `http://localhost:3000` to "Allowed Callback URLs", "Allowed Web Origins" and "Allowed Logout URLs". + +Check the commit [here](https://github.com/dgraph-io/graphql-sample-apps/commit/4c9c42e1ae64545cb10a24922623a196288d061c) for verifying the Auth0 setup you did after following the above steps. + +Let's also add definitions for getting a user and adding it to `src/GraphQLData.js`. + +```javascript +import gql from "graphql-tag"; + +export const GET_USER = gql` + query getUser($username: String!) { + getUser(username: $username) { + username + name + tasks { + id + title + completed + } + } + } +` + +export const ADD_USER = gql` + mutation addUser($user: AddUserInput!) { + addUser(input: [$user]) { + user { + username + } + } + } +` +``` + +Check the updated file [here](https://github.com/dgraph-io/graphql-sample-apps/blob/4c9c42e1ae64545cb10a24922623a196288d061c/todo-app-react/src/GraphQLData.js) + +Now, let's also add functions for these in `src/TodoApp.js`. + +```javascript +... +import { GET_USER, GET_TODOS, ADD_USER, ADD_TODO, DELETE_TODO, TOGGLE_TODO, UPDATE_TODO, CLEAR_COMPLETED_TODO, TOGGLE_ALL_TODO } from "./GraphQLData"; +import { useAuth0 } from "./react-auth0-spa"; + +... + +const useImperativeQuery = (query) => { + const { refetch } = useQuery(query, { skip: true }); + const imperativelyCallQuery = (variables) => { + return refetch(variables); + }; + return imperativelyCallQuery; +}; + +const TodoApp = () => { + + ... + const [newTodo, setNewTodo] = useState(""); + const [shownTodos, setShownTodos] = useState([]); + + const [addUser] = useMutation(ADD_USER); + + ... + + const [updateTodo] = useMutation(UPDATE_TODO); + const [clearCompletedTodo] = useMutation(CLEAR_COMPLETED_TODO); + const getUsers = useImperativeQuery(GET_USER) + + const { user } = useAuth0(); + + const createUser = () => { + if (user === undefined) { + return null; + } + const { data: getUser } = getUsers({ + username: user.email + }); + if (getUser && getUser.getUser === null) { + const newUser = { + username: user.email, + name: user.nickname, + }; + addUser({ + variables: { + user: newUser + } + }) + } + } +} + +... + +``` + +Check all the changes for the file [here](https://github.com/dgraph-io/graphql-sample-apps/blob/4c9c42e1ae64545cb10a24922623a196288d061c/todo-app-react/src/TodoApp.js) + +Let's create a short profile page to display user details. Add files `src/Profile.js` and `src/Profile.css`. + +```javascript +import React from "react"; +import { useAuth0 } from "./react-auth0-spa"; +import './Profile.css'; + +const Profile = () => { + const { loading, user } = useAuth0(); + + if (loading || !user) { + return
Loading...
; + } + + return ( +
+ Profile +

Name: {user.nickname}

+

Email: {user.email}

+
+ ); +}; + +export default Profile; +``` + +```css +.profile { + padding: 15px; +} +.profile-img { + display: block; + margin: 0 auto; + border-radius: 50%; +} +``` + +Also, check the other files updated in this step and make those changes as well. + +Refer this step in [GitHub](https://github.com/dgraph-io/graphql-sample-apps/commit/4c9c42e1ae64545cb10a24922623a196288d061c). + +Let's now start the app. + +``` +npm start +``` + +Now you should have an app running! diff --git a/wiki/content/graphql/todo-app-tutorial/todo-auth-rules.md b/wiki/content/graphql/todo-app-tutorial/todo-auth-rules.md new file mode 100644 index 00000000000..03cecd024e1 --- /dev/null +++ b/wiki/content/graphql/todo-app-tutorial/todo-auth-rules.md @@ -0,0 +1,57 @@ ++++ +title = "Auth Rules" +[menu.main] + parent = "todo-app-tutorial" + weight = 4 ++++ + +In the current state of the app, we can view anyone's todos, but we want our todos to be private to us. Let's do that using the `auth` directive to limit that to the user's todos. + +We want to limit the user to its own todos, so we will define the query in `auth` to filter depending on the user's username. + +Let's update the schema to include that, and then let's understand what is happening there - + +```graphql +type Task @auth( + query: { rule: """ + query($USER: String!) { + queryTask { + user(filter: { username: { eq: $USER } }) { + __typename + } + } + }"""}){ + id: ID! + title: String! @search(by: [fulltext]) + completed: Boolean! @search + user: User! +} +type User { + username: String! @id @search(by: [hash]) + name: String + tasks: [Task] @hasInverse(field: user) +} +``` + +Resubmit the updated schema - +``` +curl -X POST localhost:8080/admin/schema --data-binary '@schema.graphql' +``` + +Now let's see what does the definition inside the `auth` directive means. Firstly, we can see that this rule applies to `query` (similarly we can define rules on `add`, `update` etc.). + +```graphql + query ($USER: String!) { + queryTask { + user(filter: {username: {eq: $USER}}) { + __typename + } + } +} +``` + +The rule contains a parameter `USER` which we will use to filter the todos by a user. As we know `queryTask` returns an array of `task` that contains the `user` also and we want to filter it by `user`, so we compare the `username` of the user with the `USER` passed to the auth rule (logged in user). + +Now the next thing you would be wondering is that how do we pass a value for the `USER` parameter in the auth rule since its not something that you can call, the answer is pretty simple actually that value will be extracted from the JWT token which we pass to our GraphQL API as a header and then it will execute the rule. + +Let's see how we can do that in the next step using Auth0 as an example. diff --git a/wiki/content/graphql/todo-app-tutorial/todo-auth0-jwt.md b/wiki/content/graphql/todo-app-tutorial/todo-auth0-jwt.md new file mode 100644 index 00000000000..2ed2f11e5a6 --- /dev/null +++ b/wiki/content/graphql/todo-app-tutorial/todo-auth0-jwt.md @@ -0,0 +1,214 @@ ++++ +title = "Using Auth0" +[menu.main] + parent = "todo-app-tutorial" + weight = 5 ++++ + +Let's start by going to our Auth0 dashboard where we can see the application which we have already created and used in our frontend-application. + +![Dashboard](/images/graphql/tutorial/todo/dashboard.png) + +Now we want to use the JWT that Auth0 generates, but we also need to add custom claims to that token which will be used by our auth rules. +So we can use something known as "Rules" (left sidebar on dashboard page) to add custom claims to a token. Let's create a new empty rule. + +![Rule](/images/graphql/tutorial/todo/rule.png) + +Replace the content with the the following - +```javascript +function (user, context, callback) { + const namespace = "https://dgraph.io/jwt/claims"; + context.idToken[namespace] = + { + 'USER': user.email, + }; + + return callback(null, user, context); +} +``` + +In the above function, we are only just adding the custom claim to the token with a field as `USER` which if you recall from the last step is used in our auth rules, so it needs to match exactly with that name. + +Now let's go to `Settings` of our Auth0 application and then go down to view the `Advanced Settings` to check the JWT signature algorithm (OAuth tab) and then get the certificate (Certificates tab). We will be using `RS256` in this example so let's make sure it's set to that and then copy the certificate which we will use to get the public key. Use the download certificate button there to get the certificate in `PEM`. + +![Certificate](/images/graphql/tutorial/todo/certificate.png) + +Now let's run a command to get the public key from it, which we will add to our schema. Just change the `file_name` and run the command. + +``` +openssl x509 -pubkey -noout -in file_name.pem +``` + +Copy the public key and now let's add it to our schema. For doing that we will add something like this, to the bottom of our schema file - + +``` +# Dgraph.Authorization X-Auth0-Token https://dgraph.io/jwt/claims RS256 "" +``` + +Let me just quickly explain what each thing means in that, so firstly we start the line with a `# Dgraph.Authorization`, next is the name of the header `X-Auth0-Token` (can be anything) which will be used to send the value of the JWT. Next is the custom-claim name `https://dgraph.io/jwt/claims` (again can be anything, just needs to match with the name specified in Auth0). Then next is the `RS256` the JWT signature algorithm (another option is `HS256` but remember to use the same algorithm in Auth0) and lastly, update `` with your public key within the quotes and make sure to have it in a single line and add `\n` where ever needed. The updated schema will look something like this (update the public key with your key) - + +```graphql +type Task @auth( + query: { rule: """ + query($USER: String!) { + queryTask { + user(filter: { username: { eq: $USER } }) { + __typename + } + } + }"""}), { + id: ID! + title: String! @search(by: [fulltext]) + completed: Boolean! @search + user: User! +} +type User { + username: String! @id @search(by: [hash]) + name: String + tasks: [Task] @hasInverse(field: user) +} +# Dgraph.Authorization X-Auth0-Token https://dgraph.io/jwt/claims RS256 "" +``` + +Resubmit the updated schema - +``` +curl -X POST localhost:8080/admin/schema --data-binary '@schema.graphql' +``` + +Let's get that token and see what all it contains, then update the frontend accordingly. For doing this, let's start our app again. + +``` +npm start +``` + +Now open a browser window, navigate to [http://localhost:3000](http://localhost:3000) and open the developer tools, go to the `network` tab and find a call called `token` to get your JWT from its response JSON (field `id_token`). + +![Token](/images/graphql/tutorial/todo/token.png) + +Now go to [jwt.io](https://jwt.io) and paste your token there. + +![jwt](/images/graphql/tutorial/todo/jwt.png) + +The token also includes our custom claim like below. + +```json +{ +"https://dgraph.io/jwt/claims": { + "USER": "vardhanapoorv" + }, + ... +} + ``` + +Now, you can check if the auth rule that we added is working as expected or not. Open the GraphQL tool (Insomnia, GraphQL Playground) add the URL along with the header `X-Auth0-Token` and its value as the JWT. Let's try the query to see the todos and only the todos the logged-in user created should be visible. +```graphql +query { + queryTask { + title + completed + user { + username + } + } +} +``` + +The above should give you only your todos and verifies that our auth rule worked! + +Now let's update our frontend application to include the `X-Auth0-Token` header with value as JWT from Auth0 when sending a request. + +To do this, we need to update the Apollo client setup to include the header while sending the request, and we need to get the JWT from Auth0. + +The value we want is in the field `idToken` from Auth0. We get that by quickly updating `react-auth0-spa.js` to get `idToken` and pass it as a prop to our `App`. + +```javascript +... + +const [popupOpen, setPopupOpen] = useState(false); +const [idToken, setIdToken] = useState(""); + +... + +if (isAuthenticated) { + const user = await auth0FromHook.getUser(); + setUser(user); + const idTokenClaims = await auth0FromHook.getIdTokenClaims(); + setIdToken(idTokenClaims.__raw); +} + +... + +const user = await auth0Client.getUser(); +const idTokenClaims = await auth0Client.getIdTokenClaims(); + +setIdToken(idTokenClaims.__raw); + +... + +{children} + + + +... + +``` + +Check the updated file [here](https://github.com/dgraph-io/graphql-sample-apps/blob/c94b6eb1cec051238b81482a049100b1cd15bbf7/todo-app-react/src/react-auth0-spa.js) + + Now let's use that token while creating an Apollo client instance and give it to a header `X-Auth0-Token` in our case. Let's update our `src/App.js` file. + +```javascript +... + +import { useAuth0 } from "./react-auth0-spa"; +import { setContext } from "apollo-link-context"; + +// Updated to take token +const createApolloClient = token => { + const httpLink = createHttpLink({ + uri: config.graphqlUrl, + options: { + reconnect: true, + }, +}); + +// Add header +const authLink = setContext((_, { headers }) => { + // return the headers to the context so httpLink can read them + return { + headers: { + ...headers, + "X-Auth-Token": token, + }, + }; +}); + +// Include header +return new ApolloClient({ + link: httpLink, + link: authLink.concat(httpLink), + cache: new InMemoryCache() +}); + +// Get token from props and pass to function +const App = ({idToken}) => { + const { loading } = useAuth0(); + if (loading) { + return
Loading...
; + } +const client = createApolloClient(idToken); + +... +``` + +Check the updated file [here](https://github.com/dgraph-io/graphql-sample-apps/blob/c94b6eb1cec051238b81482a049100b1cd15bbf7/todo-app-react/src/App.js). + +Refer this step in [GitHub](https://github.com/dgraph-io/graphql-sample-apps/commit/c94b6eb1cec051238b81482a049100b1cd15bbf7). + +Let's now start the app. + +``` +npm start +``` + +Now you should have an app running with Auth0! diff --git a/wiki/content/graphql/todo-app-tutorial/todo-overview.md b/wiki/content/graphql/todo-app-tutorial/todo-overview.md new file mode 100644 index 00000000000..bc425599238 --- /dev/null +++ b/wiki/content/graphql/todo-app-tutorial/todo-overview.md @@ -0,0 +1,19 @@ ++++ +title = "Overview" +[menu.main] + parent = "todo-app-tutorial" + identifier = "todo-overview" + weight = 1 ++++ + +This is a simple tutorial which will take you through making a basic todo app using Dgraph's GraphQL API and integrating it with Auth0. + +### Steps + +- [Schema Design](../todo-schema-design) +- [Basic UI](../todo-ui) +- [Add Auth Rules](../todo-auth-rules) +- [Use Auth0's JWT](../todo-auth0-jwt) +- [Deploy on Slash GraphQL](../deploy) + +--- diff --git a/wiki/content/graphql/todo-app-tutorial/todo-schema-design.md b/wiki/content/graphql/todo-app-tutorial/todo-schema-design.md new file mode 100644 index 00000000000..14e042d3c89 --- /dev/null +++ b/wiki/content/graphql/todo-app-tutorial/todo-schema-design.md @@ -0,0 +1,251 @@ ++++ +title = "Schema Design" +[menu.main] + parent = "todo-app-tutorial" + weight = 2 ++++ + +Let's start with listing down the entities that are involved in a basic todo app. +- Task +- User + +![Todo Graph](/images/graphql/tutorial/todo/todo-graph.png) + +Equivalent GraphQL schema for the graph above would be as follow: + +```graphql +type Task { + ... +} + +type User { + ... +} +``` + +What are the fields that these two simple entities contain? + +We have a title and a status to check if it was completed or not in the `Task` type. +Then the `User` type has a username (unique identifier), name and the tasks. + +So each user can have many tasks. + +![Todo Graph complete](/images/graphql/tutorial/todo/todo-graph-2.png) +*Note - ' \* ' signifies one-to-many relationship + +Now let's add `@id` directive to `username ` which makes it the unique key & also add `@hasInverse` directive to enable the above relationship between tasks and user. +We represent that in the GraphQL schema shown below: + +```graphql +type Task { + id: ID! + title: String! + completed: Boolean! + user: User! +} + +type User { + username: String! @id + name: String + tasks: [Task] @hasInverse(field: user) +} +``` + +Save the content in a file `schema.graphql`. + +## Running + +Before we begin, make sure that you have [Docker](https://docs.docker.com/install/) +installed on your machine. + +Let's begin by starting Dgraph standalone by running the command below: + +``` +docker run -it -p 8080:8080 dgraph/standalone:master +``` + +Let's load up the GraphQL schema file to Dgraph: + +``` +curl -X POST localhost:8080/admin/schema --data-binary '@schema.graphql' +``` + +You can access that GraphQL endpoint with any of the great GraphQL developer tools. +Good choices include GraphQL Playground, Insomnia, GraphiQL and Altair. + +Set up any of them and point it at `http://localhost:8080/graphql`. If you know lots about GraphQL, you might want to explore the schema, queries and mutations that were generated from the schema. + +## Mutating Data + +Let's add a user and some todos in our Todo App. + +```graphql +mutation { + addUser(input: [ + { + username: "alice@dgraph.io", + name: "Alice", + tasks: [ + { + title: "Avoid touching your face", + completed: false, + }, + { + title: "Stay safe", + completed: false + }, + { + title: "Avoid crowd", + completed: true, + }, + { + title: "Wash your hands often", + completed: true + } + ] + } + ]) { + user { + username + name + tasks { + id + title + } + } + } +} +``` + +## Querying Data + +Let's fetch the todos to list in our Todo App: + +```graphql +query { + queryTask { + id + title + completed + user { + username + } + } +} +``` + +Running the query above should return JSON response as shown below: + +```json +{ + "data": { + "queryTask": [ + { + "id": "0x3", + "title": "Avoid touching your face", + "completed": false, + "user": { + "username": "alice@dgraph.io" + } + }, + { + "id": "0x4", + "title": "Stay safe", + "completed": false, + "user": { + "username": "alice@dgraph.io" + } + }, + { + "id": "0x5", + "title": "Avoid crowd", + "completed": true, + "user": { + "username": "alice@dgraph.io" + } + }, + { + "id": "0x6", + "title": "Wash your hands often", + "completed": true, + "user": { + "username": "alice@dgraph.io" + } + } + ] + } +} +``` + +## Querying Data with Filters + +Before we get into querying data with filters, we will be required +to define search indexes to the specific fields. + +Let's say we have to run a query on the _completed_ field, for which +we add `@search` directive to the field, as shown in the schema below: + +```graphql +type Task { + id: ID! + title: String! + completed: Boolean! @search + user: User! +} +``` + +The `@search` directive is added to support the native search indexes of **Dgraph**. + +Resubmit the updated schema - +``` +curl -X POST localhost:8080/admin/schema --data-binary '@schema.graphql' +``` + +Now, let's fetch all todos which are completed : + +```graphql +query { + queryTask(filter: { + completed: true + }) { + title + completed + } +} +``` + +Next, let's say we have to run a query on the _title_ field, for which +we add another `@search` directive to the field, as shown in the schema below: + +```graphql +type Task { + id: ID! + title: String! @search(by: [fulltext]) + completed: Boolean! @search + user: User! +} +``` + +The `fulltext` search index provides the advanced search capability to perform equality +comparison as well as matching with language-specific stemming and stopwords. + +Resubmit the updated schema - +``` +curl -X POST localhost:8080/admin/schema --data-binary '@schema.graphql' +``` + +Now, let's try to fetch todos whose title has the word _"avoid"_ : + +```graphql +query { + queryTask(filter: { + title: { + alloftext: "avoid" + } + }) { + id + title + completed + } +} +``` diff --git a/wiki/content/mutations/_index.md b/wiki/content/mutations/_index.md index 23c79d346b7..6c111fb5b4e 100644 --- a/wiki/content/mutations/_index.md +++ b/wiki/content/mutations/_index.md @@ -4,6 +4,7 @@ title = "Mutations" [menu.main] url = "/mutations/" identifier = "mutations" + parent = "dql" weight = 6 +++ diff --git a/wiki/content/query-language/_index.md b/wiki/content/query-language/_index.md index f9ad229f3f1..65464bcca4f 100644 --- a/wiki/content/query-language/_index.md +++ b/wiki/content/query-language/_index.md @@ -4,6 +4,6 @@ title = "Query Language" [menu.main] url = "/query-language/" identifier = "query-language" + parent = "dql" weight = 4 +++ - diff --git a/wiki/content/slash-graphql/_index.md b/wiki/content/slash-graphql/_index.md new file mode 100644 index 00000000000..800347f47f7 --- /dev/null +++ b/wiki/content/slash-graphql/_index.md @@ -0,0 +1,7 @@ ++++ +title = "Slash GraphQL" +[menu.main] + url = "/slash-graphql/" + identifier = "slash-graphql" + weight = 4 ++++ \ No newline at end of file diff --git a/wiki/content/slash-graphql/admin/_index.md b/wiki/content/slash-graphql/admin/_index.md new file mode 100644 index 00000000000..b9553a765d8 --- /dev/null +++ b/wiki/content/slash-graphql/admin/_index.md @@ -0,0 +1,8 @@ ++++ +title = "Administering Your Slash GraphQL Backend" +[menu.main] + url = "/slash-graphql/admin/" + identifier = "slash-graphql-admin" + parent = "slash-graphql" + weight = 15 ++++ \ No newline at end of file diff --git a/wiki/content/slash-graphql/admin/authentication.md b/wiki/content/slash-graphql/admin/authentication.md new file mode 100644 index 00000000000..24c54b4f687 --- /dev/null +++ b/wiki/content/slash-graphql/admin/authentication.md @@ -0,0 +1,17 @@ ++++ +title = "Authentication" +[menu.main] + parent = "slash-graphql-admin" + weight = 2 ++++ + +All the APIs documented here require an API token for access. A new API token can be generated from Slash GraphQL by selecting the ["Settings" button](https://slash.dgraph.io/_/settings) from the sidebar, then clicking the Add API Key button. Keep your API key safe, it will not be accessible once you leave the page. + +All admin API requests must be authenticated by passing the API token as the 'X-Auth-Token' header to every HTTP request. You can verify that your API token works by using the following HTTP example. + +``` +curl 'https:///admin' \ + -H 'X-Auth-Token: ' \ + -H 'Content-Type: application/json' \ + --data-binary '{"query":"{ getGQLSchema { schema } }"}' +``` diff --git a/wiki/content/slash-graphql/admin/drop-data.md b/wiki/content/slash-graphql/admin/drop-data.md new file mode 100644 index 00000000000..9a4b952ea5b --- /dev/null +++ b/wiki/content/slash-graphql/admin/drop-data.md @@ -0,0 +1,34 @@ ++++ +title = "Dropping Data from your Backend" +[menu.main] + parent = "slash-graphql-admin" + weight = 5 ++++ + +It is possible to drop all data from your Slash GraphQL backend, and start afresh while retaining the same endpoint. Be careful, as this operation is not reversible, and all data will be lost. It is highly recommended that you [export](../import-export) your data before you drop your data. + +In order to drop all data while retaining the schema, please click the `Drop Data` button under the [Settings](https://slash.dgraph.io/_/settings) tab in the sidebar. + +### Dropping Data Programatically + +In order to do this, call the `dropData` mutation on `/admin/slash`. As an example, if your graphql endpoint is `https://frozen-mango-42.us-west-2.aws.cloud.dgraph.io/graphql`, then the admin endpoint for schema will be at `https://frozen-mango.us-west-2.aws.cloud.dgraph.io/admin/slash`. + +Please note that this endpoint requires [Authentication](../authentication). + +Please see the following curl as an example. + +``` +curl 'https:///admin/slash' \ + -H 'X-Auth-Token: ' \ + -H 'Content-Type: application/graphql' \ + --data-binary 'mutation { dropData(allData: true) { response { code message } } }' +``` + +If you would like to drop the schema along with the data, then you can set the `allDataAndSchema` flag. + +``` +curl 'https:///admin/slash' \ + -H 'X-Auth-Token: ' \ + -H 'Content-Type: application/graphql' \ + --data-binary 'mutation { dropData(allDataAndSchema: true) { response { code message } } }' +``` diff --git a/wiki/content/slash-graphql/admin/import-export.md b/wiki/content/slash-graphql/admin/import-export.md new file mode 100644 index 00000000000..e112a601761 --- /dev/null +++ b/wiki/content/slash-graphql/admin/import-export.md @@ -0,0 +1,47 @@ ++++ +title = "Importing and Exporting data from Slash GraphQL" +[menu.main] + parent = "slash-graphql-admin" + weight = 4 ++++ + +It is possible to export your data from one slash backend, and then import this data back into another Dgraph instance or Slash Backend. + +## Exporting Data + +It is possible to export your data via a JSON format. In order to do this, call the `export` mutation on `/admin/slash`. As an example, if your graphql endpoint is `https://frozen-mango-42.us-west-2.aws.cloud.dgraph.io/graphql`, then the admin endpoint for schema will be at `https://frozen-mango.us-west-2.aws.cloud.dgraph.io/admin/slash`. + +Please note that this endpoint requires [Authentication](../authentication). + +Below is a sample GraphQL body to export data to JSON. + +```graphql +{ + mutation { + export { + response { code message } + signedUrls + } + } +} +``` + +The `signedUrls` output field contains a list of URLs which can be downloaded. The URLs will expire after 48 hours. + +Export will usually return 3 files: +* g01.gql_schema.gz - The GraphQL schema file. This file can be reimported via the [Schema APIs](../schema) +* g01.json.gz - the data from your instance, which can be imported via live loader +* g01.schema.gz - This file is the internal Dgraph schema. If you have set up your backend with a GraphQL schema, then you should be able to ignore this file. + +## Importing data with Live Loader + +It is possible to import data into a Slash GraphQL backend using [live loader](https://dgraph.io/docs/deploy/#live-loader). In order to import data, do the following steps + +1. First import your schema into your Slash GraphQL backend, using either the [Schema API](../schema) or via [the Schema Page](https://slash.dgraph.io/_/schema). +2. Find the gRPC endpoint for your cluster, as described in the [advanced queries](/slash-graphql/advanced-queries) section. This will look like frozen-mango-42.grpc.us-west-1.aws.cloud.dgraph.io:443 +3. Run the live loader as follows. Do note that running this via docker requires you to use an unreleased tag (either master or v20.07-slash) + +``` +docker run -it --rm -v /path/to/g01.json.gz:/tmp/g01.json.gz dgraph/dgraph:v20.07-slash \ + dgraph live --slash_grpc_endpoint=:443 -f /tmp/g01.json.gz -t +``` diff --git a/wiki/content/slash-graphql/admin/overview.md b/wiki/content/slash-graphql/admin/overview.md new file mode 100644 index 00000000000..18fa060f956 --- /dev/null +++ b/wiki/content/slash-graphql/admin/overview.md @@ -0,0 +1,22 @@ ++++ +date = "2017-03-20T22:25:17+11:00" +title = "Overview" +[menu.main] + parent = "slash-graphql-admin" + name = "Overview" + identifier = "slash-overview" + weight = 1 ++++ + +*These are draft docs for Slash GraphQL, which is currently in beta* + +Here is a guide to programatically administering your Slash GraphQL backend. + +Wherever possible, we have maintained compatibility with the corresponding Dgraph API, with the additional step of requiring authentication via the 'X-Auth-Token' header. + +Please see the following topics: + +* [Authentication](../authentication) will guide you in creating a API token. Since all admin APIs require an auth token, this is a good place to start. +* [Schema](../schema) describes how to programatically query and update your GraphQL schema. +* [Import and Exporting Data](../import-export) is a guide for exporting your data from a Slash GraphQL backend, and how to import it into another cluster +* [Dropping Data](../drop-data) will guide you through dropping all data from your Slash GraphQL backend. diff --git a/wiki/content/slash-graphql/admin/schema.md b/wiki/content/slash-graphql/admin/schema.md new file mode 100644 index 00000000000..88da412a231 --- /dev/null +++ b/wiki/content/slash-graphql/admin/schema.md @@ -0,0 +1,38 @@ ++++ +title = "Fetching and Updating Your Schema" +[menu.main] + parent = "slash-graphql-admin" + weight = 3 ++++ + +Your GraphQL schema can be fetched and updated using the `/admin` endpoint of your cluster. As an example, if your graphql endpoint is `https://frozen-mango-42.us-west-2.aws.cloud.dgraph.io/graphql`, then the admin endpoint for schema will be at `https://frozen-mango.us-west-2.aws.cloud.dgraph.io/admin`. + +This endpoint works in a similar way to the [/admin](/graphql/admin) endpoint of Dgraph, with the additional constraint of [requiring authentication](../authentication). + +### Fetching the Current Schema + +It is possible to fetch your current schema using the `getGQLSchema` query on `/admin`. Below is a sample GraphQL query which will fetch this schema. + +```graphql +{ + getGQLSchema { + schema + } +} +``` + +### Setting a New Schema + +You can save a new schema using the `updateGQLSchema` mutation on `/admin`. Below is an example GraphQL body, with a variable called sch which must be passed in as a [variable](https://graphql.org/graphql-js/passing-arguments/) + +```graphql +mutation($sch: String!) { + updateGQLSchema(input: { set: { schema: $sch}}) + { + gqlSchema { + schema + generatedSchema + } + } +} +``` diff --git a/wiki/content/slash-graphql/advanced-queries.md b/wiki/content/slash-graphql/advanced-queries.md new file mode 100644 index 00000000000..fc73cd58c68 --- /dev/null +++ b/wiki/content/slash-graphql/advanced-queries.md @@ -0,0 +1,130 @@ ++++ +title = "Advanced Queries with GraphQL+-" +[menu.main] + parent = "slash-graphql" + weight = 2 ++++ + +*It is now possible to [embed GraphQL+- queries inside your GraphQL schema](/graphql/custom/graphqlpm), which is recommended for most use cases. The rest of this document covers how to connect to connect to your Slash GraphQL backend with existing Dgraph clients.* + +Slash GraphQL also supports running advanced queries with `GraphQL+-`, a query language that is unique to Dgraph. GraphQL+- should be used by advanced users who wish to make queries and mutations using existing Dgraph client libraries, either via the HTTP or gRPC endpoints. You can learn more about existing client libraries by following this [documentation](https://dgraph.io/docs/clients/). + +If you are getting started with Slash GraphQL, you might want to consider using our [GraphQL APIs](/graphql/overview) instead. It will get you quickly started on the basics of using Slash GraphQL before you go into advanced topics. + +Please note that Slash GraphQL does not allow you to alter the schema or create new predicates via GraphQL+-. You will also not be able ta access the /alter endpoint or it's gRPC equivalent. Please add your schema through the GraphQL endpoint (either via the UI or via the Admin API), before accessing the data with GraphQL+-. + +## Authentication + +All the APIs documented here require an API token for access. Please see [Authentication](/slash-graphql/admin/authentication) if you would like to create a new API token. + +### HTTP + +You can query your backend with GraphQL+- using the `/query` endpoint of your cluster. As an example, if your graphql endpoint is `https://frozen-mango-42.us-west-2.aws.cloud.dgraph.io/graphql`, then the admin endpoint for schema will be at `https://frozen-mango.us-west-2.aws.cloud.dgraph.io/query`. + +This endpoint works identically to to the [/query](https://dgraph.io/docs/query-language/) endpoint of Dgraph, with the additional constraint of requiring authentication, as described in the Authentication section above. + +You may also access the [`/mutate`](https://dgraph.io/docs/mutations/) and `/commit` endpoints. + +For the given GraphQL Schema: +```graphql +type Person { + name: String! @search(by: [fulltext]) + age: Int + country: String +} +``` + +Here is an example of a cURL for `/mutate` endpoint: +``` +curl -H "Content-Type: application/rdf" -H "x-auth-token: " -X POST "/mutate?commitNow=true" -d $' +{ + set { + _:x "John" . + _:x "30" . + _:x "US" . + } +}' +``` +Here is an example of a cURL for `/query` endpoint: +``` +curl -H "Content-Type: application/graphql+-" -H "x-auth-token: " -XPOST "/query" -d '{ + queryPerson(func: type(Person)) { + Person.name + Person.age + Person.country + } +}' +``` + +### gRPC + +The gRPC endpoint works identically to Dgraph's gRPC endpoint, with the additional constraint of requiring authentication on every gRPC call. The Slash API token must be passed in the "Authorization" metadata to every gRPC call. This may be achieved by using [Metadata Call Credentials](https://godoc.org/google.golang.org/grpc/credentials#PerRPCCredentials) or the equivalent in your language. + +For example, if your GraphQL Endpoint is `https://frozen-mango-42.eu-central-1.aws.cloud.dgraph.io/graphql`, your gRPC endpoint will be `frozen-mango-42.grpc.eu-central-1.aws.cloud.dgraph.io:443`. + +Here is an example which uses the [pydgraph client](https://github.com/dgraph-io/pydgraph) to make gRPC requests. + +For initial setup, make sure you import the right packages and setup your `HOST` and `PORT` correctly. + +```python +import grpc +import sys +import json +from operator import itemgetter + +import pydgraph + + +GRPC_HOST = "frozen-mango-42.grpc.eu-central-1.aws.cloud.dgraph.io" +GRPC_PORT = "443" +``` + +You will then need to pass your API key as follows: +```python +creds = grpc.ssl_channel_credentials() +call_credentials = grpc.metadata_call_credentials(lambda context, callback: callback((("Authorization", ""),), None)) +composite_credentials = grpc.composite_channel_credentials(creds, call_credentials) +client_stub = pydgraph.DgraphClientStub('{host}:{port}'.format(host=GRPC_HOST, port=GRPC_PORT), composite_credentials) +client = pydgraph.DgraphClient(client_stub) +``` + +For mutations, you can use the following example: +```python +mut = { + "Person.name": "John Doe", + "Person.age": "32", + "Person.country": "US" +} + +txn = client.txn() +try: + res = txn.mutate(set_obj=mut) + print(ppl) +finally: + txn.discard() +``` + +And for a query you can use the following example: +```python +query = """ +{ + queryPerson(func: type(Person)) { + Person.name + Person.age + Person.country + } +}""" +txn = client.txn() +try: + res = txn.query(query) + ppl = json.loads(res.json) + print(ppl) +finally: + txn.discard() +``` + +## Limitations + +It should be possible to use most GRPC based libraries to access your Slash GraphQL backend. + +We will be adding support to ratel and dgraph-js-http soon. Please join our [community](https://discuss.dgraph.io) for [release announcements](https://discuss.dgraph.io/tags/c/user/slash/33/release). diff --git a/wiki/content/slash-graphql/introduction.md b/wiki/content/slash-graphql/introduction.md new file mode 100644 index 00000000000..85fbf8c0fe4 --- /dev/null +++ b/wiki/content/slash-graphql/introduction.md @@ -0,0 +1,22 @@ ++++ +title = "Introduction" +[menu.main] + parent = "slash-graphql" + weight = 1 ++++ + +

Slash GraphQL Provides /graphql Backend for Your App

+ +Please see the following topics: + +* The [QuickStart](../slash-quick-start) will help you get started with a Slash GraphQL Schema, starting with a multi tenant todo app +* [Administering your Backend](/slash-graphql/admin/overview) covers topics such as how to programatically set your schema, and import or export your data + * [Authentication](/slash-graphql/admin/authentication) will guide you in creating a API token. Since all admin APIs require an auth token, this is a good place to start. + * [Schema](/slash-graphql/admin/schema) describes how to programatically query and update your GraphQL schema. + * [Import and Exporting Data](/slash-graphql/admin/import-export) is a guide for exporting your data from a Slash GraphQL backend, and how to import it into another cluster + * [Dropping Data](/slash-graphql/admin/drop-data) will guide you through dropping all data from your Slash GraphQL backend. +* [Advanced Queries With GraphQL+-](../advanced-queries) speaks about how to interact with your database via the gRPC endpoint. + +You might also be interested in: +* [Dgraph GraphQL Schema Reference](/graphql/schema/schema-overview), which lists all the types and directives supported by Dgraph +* [Dgraph GraphQL API Reference](/graphql/api/api-overview), which serves as a guide to using your new `/graphql` endpoint diff --git a/wiki/content/slash-graphql/slash-quick-start.md b/wiki/content/slash-graphql/slash-quick-start.md new file mode 100644 index 00000000000..c671bad6049 --- /dev/null +++ b/wiki/content/slash-graphql/slash-quick-start.md @@ -0,0 +1,141 @@ ++++ +title = "Slash Quick Start" +[menu.main] + parent = "slash-graphql" + weight = 1 ++++ + +*These are draft docs for Slash GraphQL, which is currently in beta* + +Welcome to Slash GraphQL. By now, you should have created your first deployment, and are looking for a schema to test out. Don't worry, we've got you covered. + +This example is for todo app that can support multiple users. We just have two types: Tasks and Users. + +Here's a schema that works with Slash GraphQL: + +```graphql +type Task { + id: ID! + title: String! @search(by: [fulltext]) + completed: Boolean! @search + user: User! +} + +type User { + username: String! @id @search(by: [hash]) + name: String @search(by: [exact]) + tasks: [Task] @hasInverse(field: user) +} +``` + +Let's paste that into the schema tab of Slash GraphQL and hit submit. You now have a fully functional GraphQL API that allows you to create, query and modify records of these two types. + +No, really, that's all; nothing else to do; it's there, serving GraphQL --- let's go use it. + +## The Schema + +The schema itself was pretty simple. It was just a standard GraphQL schema, with a few directives (like `@search`), which are specific to Slash GraphQL. + +The task type has four fields: id, title, completed and the user. The title has the `@search` directive on it, which tells Slash Graphql that this field can be used in full text search queries. + +The User type uses the username field as an ID, and we will put the email address into that field. + +Let's go ahead and populate some data into this fresh database. + +## GraphQL Mutations + +If you head over to the API explorer tab, you should see the docs tab, which tells you the queries and mutations that your new database supports. Lets create a bunch of tasks, for a few of our users + +```graphql +mutation AddTasks { + addTask(input: [ + {title: "Create a database", completed: false, user: {username: "your-email@example.com"}}, + {title: "Write A Schema", completed: false, user: {username: "your-email@example.com"}}, + {title: "Put Data In", completed: false, user: {username: "your-email@example.com"}}, + {title: "Complete Tasks with UI", completed: false, user: {username: "your-email@example.com"}}, + {title: "Profit!", completed: false, user: {username: "your-email@example.com"}}, + + {title: "Walking", completed: false, user: {username: "frodo@dgraph.io"}}, + {title: "More Walking", completed: false, user: {username: "frodo@dgraph.io"}}, + {title: "Discard Jewelery", completed: false, user: {username: "frodo@dgraph.io"}}, + + {title: "Meet Dad", completed: false, user: {username: "skywalker@dgraph.io"}}, + {title: "Dismantle Empire", completed: false, user: {username: "skywalker@dgraph.io"}} + ]) { + numUids + task { + title + user { + username + } + } + } +} +``` + +Let's also query back the users and their tasks +```graphql +{ + queryUser { + username, + tasks { + title + } + } +} +``` + +You'll see that Slash figured out that users are unique by their username, and so you only see a single record for each user. + +## Auth + +Now that we have a schema working, let's update that schema to add some authorization. We'll update the schema so that users can only read their own tasks back. + +```graphql +type Task @auth( + query: { rule: """ + query($USER: String!) { + queryTask { + user(filter: { username: { eq: $USER } }) { + __typename + } + } + }"""}), { + id: ID! + title: String! @search(by: [fulltext]) + completed: Boolean! @search + user: User! +} + +type User { + username: String! @id @search(by: [hash]) + name: String @search(by: [exact]) + tasks: [Task] @hasInverse(field: user) +} + +# Dgraph.Authorization {"Header":"X-Auth-Token","Namespace":"https://dgraph.io/jwt/claims","Algo":"RS256","Audience":["Q1nC2kLsN6KQTX1UPdiBS6AhXRx9KwKl"],"VerificationKey":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp/qw/KXH23bpOuhXzsDp\ndo9bGNqjd/OkH2LkCT0PKFx5i/lmvFXdd04fhJD0Z0K3pUe7xHcRn1pIbZWlhwOR\n7siaCh9L729OQjnrxU/aPOKwsD19YmLWwTeVpE7vhDejhnRaJ7Pz8GImX/z/Xo50\nPFSYdX28Fb3kssfo+cMBz2+7h1prKeLZyDk30ItK9MMj9S5y+UKHDwfLV/ZHSd8m\nVVEYRXUNNzLsxD2XaEC5ym2gCjEP1QTgago0iw3Bm2rNAMBePgo4OMgYjH9wOOuS\nVnyvHhZdwiZAd1XtJSehORzpErgDuV2ym3mw1G9mrDXDzX9vr5l5CuBc3BjnvcFC\nFwIDAQAB\n-----END PUBLIC KEY-----"} +``` + +Slash GraphQL allows you to pass JWT with custom claims as a header, and will apply rules to control who can query or modify the data in your database. The `@auth` directive controls how these rules are applied, as filters that are generated from the JWT token. + +In our schema, we specify that one can only query tasks if the tasks's user has a username that matches `$USER`, a field in the JWT token. + +The Authorization magic comment specifies the header the JWT comes from, the domain, and the key that's signed it. In this example, the key is tied to our dev Auth0 account. + +More information on how this works in [the documentation](/graphql/authorization/authorization-overview). + +Let's try querying back the tasks. We should be getting empty results here, since you no longer have access. + +```graphql +{ + queryTask { + title + } +} +``` + +## Testing it out with a Simple UI + +We've built a todo app with react that you can use to close these todos off. Let's head over to our sample react app, deployed at [https://relaxed-brahmagupta-f8020f.netlify.app/](https://relaxed-brahmagupta-f8020f.netlify.app/). + +You can try creating an account with your email, or logging in with frodo / skywalker. Like the first death star, Luke wasn't big on security, his password is `password`. Frodo has the same password. diff --git a/wiki/content/tips/index.md b/wiki/content/tips/index.md index 86792d64732..798945d3269 100644 --- a/wiki/content/tips/index.md +++ b/wiki/content/tips/index.md @@ -3,6 +3,7 @@ title = "GraphQL+-: Tips and Tricks" [menu.main] url = "/tips/" identifier = "tips" + parent = "dql" weight = 5 +++ diff --git a/wiki/content/tutorials/index.md b/wiki/content/tutorials/index.md index c138ec3b1b8..7b2e8fc5e6f 100644 --- a/wiki/content/tutorials/index.md +++ b/wiki/content/tutorials/index.md @@ -4,6 +4,7 @@ title = "Tutorials - Get Started with Dgraph series" url = "/tutorials" name = "Tutorials" identifier = "tutorials" + parent = "dql" weight = 3 +++ diff --git a/wiki/static/images/graphql/subscription_example.gif b/wiki/static/images/graphql/subscription_example.gif new file mode 100644 index 0000000000000000000000000000000000000000..2152a9d3a306257f69f9d85deb591829630d818c GIT binary patch literal 4955576 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�cT+ptE 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�&9WPu1wQaEcxj)IG;$*09$baIOz~Y z5;kR;)1QZ-NE1c`Tsjw`f@fN>gX}rmDhQIQ@l8IzObWRfzW1ge`!yY0m`q9MvVCu= zpc^L`z*X;klH8`%62T%;3g(`|qL^KSh#JL`CYau4kgV|A`Fjan90=Lw=iEh*dGjYC z)&E4`tXbCbYxM)qYMk!h{rs*Yad~R!{(qlIYJRpn9$j=#+>fslU9{&EZI{U2F`SGK_zqdA)KfHMS_|)cf zkxe&7+mFEmpm!LS5+Nnif{bA98a$Ka87`mcDP51IRyQj=5f45gU!Uvc7eAdxs$a7r zxiF@C#aY*o^^!q_Ae#)I;JVCh(SVY=z5;j0Gg-MV)zeG~j}yZvt%hOqXQ~|}g>Ese zP#tT@gVEF0VlLkCjuiVg9cz+*N?o5sNOhfZRYdsNfs@jY$Ba3VoeM+T!a;9*Q|9*Kbhq8>LmT)T4&g+2F&G!tFGml#8cOL zZ{>PMeQuu!z54m?WZ=PUNsmc_4AD(c0!C4*;gh%`a=KZxDwj5>_rkV&NE3t00wYbC zU70v(%Q-$wCIB$sw%8Nn&fxuXWrGlvEQ*e-DVqTZm6nib2;1s07a8H7E&$Rgm*pbE zP}(f9O(k&vAw%+=oBdX{gV27+AbrH%Xx7C`M5Dpo#$5If$^8M$u`LIL38(dgVI+ze zOpQeAr?~7N;p_~l&Bk9`v(4tUifWq`2v6ZX0UZ*m2i=RDEob9A0^-fV0Y0mIxST5O zoS*0Fx1Lc9{vtq zb!9tS;*|YaQYQoD1XUnZGtx!qIyoAD*diq*9MOLa9s|qAv1njbHX+v~ybF~CWQmLc z2r>FFXb*$m!sy7-C(Dae4fn_}SF?3Y14J%RJSc_iPa;tC(h9$WM zTo}TN?pO#flM--u99$0jwe{L=0wSPvBy`7V0(Ej^8>=j`G3XLk3JCzecjQ2@2zG4! zE>yU%C4x-{#WiucdTbu5?K|iN8xJ;OvA01O3gBc~2av+~-deYfZ~8GIc9k6X9w4Jd zlPZ_f8+VCI4WNz=S`fKlxGtc@u3bCKDSj3v=HA*v_$!2^_9R zdOdqP-ub<~ZAj=_0wGhpQs`vF#9Su2J=-{wgL7by5vPE>8Oa~Q(UqRHjNKql!3;jb z7_MPX%Zwle!bHe0O=$q?H^&m`Na+?=W@4Rk6-3He=Hid$U`AMuSjhw+)!Npg{y-k* z0eqF&T)iaTKTW>S(XHIHZ3gX>Z6GQc>|kfTv+Y~*%%Ympjr{AbDMyZ!k)O9^8x2nH zz4!G%SW36V7(L58sSAB5JTtyXDo4BdjB|``mmZtF1E1leL&?3WUl@5oSaVdIakiUH zKq1O+TId2dOICLTsdfz@z8vnB39rj1*ve!3$Xx_$K0L?(BRkc>mpniUaJC0o${e^| z^?ESWLTB;d^sQ)(kxN?dMn)@|?b2yW23TpT<>5IJNJ%W4y^|ZyRHIi~uX4}EhPu_G z4|*FN9bG(H&x9|`(LpSlNJZd7gWz{42G>$|sRe$b`rS!`CCOV9de3>D?=;+gaG|~4j;5Oy(^Tg9`KF^3e+~}}o z@C`_U6&-*y97-2z60fOx_h-TQ#l7c8pKsLs{_~M8)H$4UV6$H8@1m`9=jgfTn@uKv zKkdD|3yXCJHg%fKy{X+ZudI4w&)lOwucNx-~pJHG$EUCvIiNN;_-r=Pu>_IJ2EHXZ-%JL{&LXyV&w}XF>3@>+ z8qW}9%?!#a^hgx&5sEIQl5p;>NG=Va2sjqAx)g#AOn^vbM&a1R+;|8{lw>^YEW!e- zT>`{*%nx3G90N!%iPmgK`PF&I3`>Z!K_YZ$nj11)5&0JGEX#C3a#50P5iOqJ`DBm^ zb2pwLc7g&f`v@HN1`ZzqOY+2=DS#|5s;CY)nd?v#v=4g@&}@(Pp+WrhcI;7NqHSP1 zh$o%}X%~jp4nwc=_wet;w{+xRo5(K+0rl{al*`huL8dQ8z{+6>r?@6hr%j%@;O}=M z3B#twl*BpEk^aiUfsVq#iNfbwg~Q~cQR5^U{owXpQ3FpKI2S7K6Q)`?qnboN7EJfk z=z}v$l8=KC{&e-kHW;3VzQ*-@LQxv>I65L~QANjGWgl8y1b*L!a}%&R0-%F{^x(k* zcq!%V{Tc-1C37YGZcvR8$cX|wynecYX^XxGj%rhmc7+wQ@vi}RME#K)|D94jU#hNV zf4B|qlcX{q21@|YIqc+M9=y0MFrImq4TdYvC`J-?4mTM34&bUy-JS(II-F8Z!#S_Q zJXnY)0;ns)F5C!NWP`az1AVAJ;`M_Pz=e9Sj{E+A#g$;c&`|cn${KGfVt-b29fik> z$=H>6eNvF30w^|ON zSVUpx5mX(BPzK7B4NOrJl|$Olm-FX5FCbRMk0$$$b&JVNCJbvMWoX} z$w!S1=OLjyK;4LqWUifMT~8Hf)gf2IzaXp)m~-7z7=odJZdd zZD@^bVsyLgRVdvny#ijdw9>hP5k68=C1H>w zT|q0{)-g())hW{YRZo*_(B0FZ@7v(~5weGI(8cY@E;b~hZJ$%{@r(p`C<~Sapij|{ zMH1jl7P9XMa_OT=kvnW996BUgT<411&jU9wj+U?bA(9XYEZDcj;&LcLo`)`{X*Pio zuH2FxS{)uhJ)wc31+ZhZw3?5Ad+M3Li%|3xsLVZO1y`8#F|N_y}lRr+F43#DY?8DS*4=VR{h=77cWD)z4z} zl1LluK(M?CxRJCo?4Q^#!$=Q;LLvG}-?3}aP0EROfDwUx9OhuQ(`n!G+@_X*$vk8s z!+}?){os?ZQHJh(nT`xd7%_TYR$lM)xUeHFJ&odWK9%s{ts9{mgcOLRBs-KzM8T$o zVbhV7p#(>QFlri1W@YHHAh>t}TsRX(yV0Z!PNnGHwYVM$rEKI@_zV9{ov z{m#>_4TLlTlX4+~%Lwv2kn=ZCPxeg&BYVUU>HOP0HcK)eCf&k^>r6`?EB6jQcsKO; z-S7){Gs^440MH8spVxf6oUe?0Re@~@rn*=9QHt~z26}ta1*Fb^>V-9A9_+|I-jREu zBmaJ)aSH@y&OyyIy!DpPcfFRH0C!*^FYcIi%vBE4PxO_ivFqVq42lclu}3~yXR*N| zEG$<5;D3V2B@WSTu#f?G#4Wfk16j{ST@?VA&Xw3cg=^9@o!L;^HdF&}|Hu-MO=nK$ zU_|KP&{d`MV{ps4t7W79Uzliz;8M%XYcnQ~SU&euyHt~gQSohx9wk?zd4XQcd(n+> z4Laf_099qd5evZi)l?h}^^ykN=@W9;7}pZ058>()9ttM_`r01sOOQWI!_+ci!FkH! zbnJJVN79pgY2|aOOdq4R>q7SNO~O*!$G&;0t+I);!e%L;4K8&3IA-HI3MO z>tx7AD$Yij#cMtEG!Ci*`32NC?^G8Qz=9!qU=?c37i-jmAlZFKyR+1|U}|}v2$z85 zf}9wD)mg&3V;~D!s?Idn82~~ypgYo8qaD#K1qcbs&EtTr+JVAqLboS5dK#cGw2<6v z6&lF7?e^I#pdcNn7(+^&0y_H>Wi<@^P0GKXSodJ^*&|JogrvLlfY1G)g7InGktm-_ zJZaW(Q?*DC`#yBr0FW&>I5d7@Xrg-P?O`9>wye| z!(Ca(&>v?{b@@FPMP|@3@2vbgxQLPRPRDwL-FJjX$)O`Z;0}`Ta0aZ3hVy1>hLn^{ ziGuHizy!T7o~-WZeGzxsP#hW)_8rl|q}P|6f&U$@Fjr#{U{f@V9W7M$6Q3sYGTQpN z_$ZS*j9U7GEaFxH((4b`bD1l~eW~lC=@z9660@|)Ap15)QOn#Hg^`PVD=Ej^lPJr|#oKp63 z8ac1GVeDsm6SXU2fS#@X-^|yjfN(uFxZW;|F3+JD>&o(-f~s|!lqcRpMJe$RGLwBP zICACA>p#>3P1$em_DmF=-0AE%BYt;_v!Qz|+V&gJpvQMMh%hNy7H-(B9SW9e1E~$0 zHZ6p;$3*7ioOL*oawTBBa0l9oGg%N;+ZS;z#%1YEEn_-N2b4ak4_Ta5Y<=aPKVFn3a+EFpnz-AQz(6W zS-J~3G_1Jy-J}5jPe72Jel{@#PuM3cXfXRs(H}Yz%|I5dBC}SJIRrQb+_@dcJDa8( z=*5GV^G51uhYrvXyV4LxhmrdzumdHi3jo@J1v^NAlyEOatqune#=X@bhuF#iEEtD@ zG#*#pPeWZ`ppqz%{jNcEtI)G-*nTjS+lD&NgXbUJ*%;rkx{fVujfOp3h~8%<6)PXd zLKe|JQuc)g@L*r15KPMBXYI*c9-2d+-6es%R)P{?A?hd#_utK&WkUC_!pjM0&Z;?w z0iRhp=EX&eR!<9c*@aq<$H*?#KUYaeg_O6CHw{Tq9j~tuqxN=09{s#@OExM4C;EG4 ziM|$A@O~n7eo0%P-Eyzz_USi$L(8qF-`_r?HhN_FYh%r^Z>&>&?F+KnJo%~2W9ek z0EsX(BR@?&ysms|UHL<< zj;x1|(C{o4zDEF})Gsv1{z%xb8h84LejLn!zOhXp!V^mlj+ZLO5?~NNSdb6=zBz2a zE(~7}_hiMmFyQ;%DEODa{b}&EFnPPxhl4YkUsmA`yibX8zv}##Y$>MAX;WmCs=m+Z zSHDNx+Bc!&5?gzBTtw>2=L6UMj`#dtk7#`XGX0;UbAM#={r~vA6Wa_k8*|>6^J&gP z+U6|eY?U;pQmH12&O1s%b8LzlsgSf(l2qG_5G6WDs*$9#N~PY_zWaRtfqTE)yRPeg zUC-y^5&A4z=a20EDoe@l#>0m`9eAJcC+dF6wyV^Qqep)~Y)?u%pY-@t@jegye8+^7 zjnS8T@825mFM}>@cT8fMIG-Jy=nVLLf3sob>L;3`Pp)VhX|7lPIBK-?5ll1#Z9`uJ z$~8@Vx6dQ@q;C|%K;Y=Y2BV_rMk*Jf-IxoJ(qOoin?E$`#LlW1`jICCYhz!B*Ep`b z#WRRg&P5#e*!n_V8}}yaq}@&jb_~S^gbW+2B38P;HBi;*1*xs^@8VnI?u!tWxX6cR zR$oqpY5dSI_ST|b+QA4eHE>HE6@?l0M;z-6zf_o7e759ddV^I}3?%rifo$W$I$Q49 z3kFVW@3*m6&fU#$-D2wN6hSXNo;5L7wc}XnM9pw=@5$i$HQzTszOe3gp~>1G*^^hd zzO1=9*YdV?<1Nopq*_VRRP5cV>yw`E^#WGu`Rez zUOmt^aw_Ch%HKUdK8~Mi;Xn`=HMiI%0<}?o;NRcBO7+nd+LTZ!7yH9)l!8S@fS~F* zT^FTTB_U#34eRvbCx4_7A0JZ@AgvZ->*l=G&AMej$Z3;H_*M9Ho5CvQ?GpuJk9XX z)B(eDfo_o=Pckk?dcEZ7QtV?ESRAB{kZM>AZ*6YmbPz?bILu5X;Rq5}WWsK$C327s z(QGx7y!n>cmCk+cagkoHuf(ldQ6Cm-XozoZKHdC#rsUkz-S*B`2Si*gi>NILt<5Ok zCbU5l#p98z>_mx%Q>?{@u3^t-C^dYWAgz2Af!a>~dG<`_nk^UmJfA(TYyEibo3hN; z!Re!D&B(K7_qx(b!~B0)By4@j_e$CQW~cToBLVtVp^~nQrmnoFcC|`rvXz(^bBG~aTU2pfOxWufo3>u=89_!Mrb+4|776P?}a+;t}3!*+IN z2Kgan{8Ot-|B}(ASJ^xNm88j6hG`-GIzB4Zs<%O>>o>f@8cS)jEmZib4*W1reni!bs`^b0m$=eSOsNJhM=YP1=1Rh8N;cUw}q5wmcOc>_0zzKUg zQgKY4VdZf>Eb44ip^ptsYX==@B&8mX4O^$5P+33RJXU>?m+25=(Put1R&!0B>9p!w zAK8?Mbm{`}>pUaUkRP({yREq^;+;D8bXeF+GIcp>>%J**{P+|32G6V4BP&0?@pnSc zq6my4*siUt*M~phY>msrUmu4`0_34PKhUcN1ZL#ePzFl;1$8EkjLk5T0 z0F?#nci6=>$eV=hENbv`i`Yuvb?*|NbpM1Hsx|3Ra(8HEEBWD~CqEvBt{}5i-+>Yh z4jOY^_UPtk{`P&-;Yl~N2+`i5+>B=0%1MVG$ee=SO!XV4s*tK%FuC6(gH2_cCsoR15)RD_d`9|8tOnNDn`UHYz2hQCDY{f`24tACVXe1^m0ueP6}PA733-5cPphKv7vpp6>Ck~b@UN_t<+ zvk(Oeh%fikF{jaT^I@Aes}AjXs66%#^f6p9+R7@TNPetqYy1{H-yEcI?-@%2OC-4z zv0>I%cXeKS{&D-Ey;HCK^Shrs|CE1c?~CuZ@^Afo{`sK#J_T$=flUA8r=270=nqDq zKVNs=hL>ulHH{)d#A=6E?Z#?R zAl^$CLkb||fyUAk(0qmxVi{fR9L=$09$FO*zLRzn>3-C03y36Q)xWdFWN}n*yp_#8 z!Y@|5oYtm*vj<$x;{KSbGuTi%0N^=L08C)A-hB~x{AQ`TepFQyhfsNps*CITA73w6 z0MRaBdsK8=<;kr5PA+``G(<8rAv>kZ4kl~;jDcVHeVj2$QHD7mZ3bQ0;=C%L*FC=1 zqY3eQjLkw~EhoTtP9UG;mO9UK0?2LJEMAxZ$4=vs;#W?{p%E#RaVadAv;kTE}4&Zpub_VnP$ z31|$S|N90veIRJfAC8S+h57(bxfbFrVXvA$6x<9(lDO{C;85nF6%(9+iDJhhiY1*J zJ{vMMU%$8E=ya+TD9rzao9u)=`t4JpSHNkl7!X_vGF~#pE#V>8L9VuD=%N9~FIL5M zX!z~{*QWwZQK&kBqeEutL=UQ*bLvX~oXRdrt|*eTHB`5tP#NOE;H!7#DgvlgQSAz@ ztbsJth$`1WkQR#p>R|V$A-i^0(Zv?nWgU_V(0Ri52AhoeM+>3#|)+wsEV|Rbzb#ESd?Z4M1(zasn3m zz33d*E^un@Fai&Y7P7n+IGM9oy^1*D5}0!+$6Bc7Ll_CCuw} zJBw%DC9urm{GGi|P*@Rp81p~W*z%KR5g7e0CCle@Ie3Yx9vW>~OT$Q5W)Y)4d)bHT zPLiIoz^bv;1k1-Bt%i?QZx$FWur$0!pm-40anQ_x#VD>gU@Nd%;#n@4ZuouQ_|XHC z*AGm;KggyDny@4|gBSe!xXLXZsB>bpz%d-2MceP3+n*K_79P)7-1 z=Y7|Q=l67=*h>LTVDWILI~M_nM94}P@(=*Td4d-i&6zOnG_&bkoE`VSp!u)0?L31U z2JpkkoN4lf%~Y+twOr@sYY6Wnhy{?3s4uC?RZsMgSTG(gxgGAU=0Il$%tu&CG(1Hk z2~6O5707#F#4nO-gXf1wD>+UDiAh_w`u7e~iojx{e%gA{ z7F5C22?fmYBj8a8(2Q0eg;=Prd%8dX9$F>mAeR7rA+RetjYP@z><>>lftl zEnt^5MM8PZF9)_z&TaIHycTKfMqIKRPlNM4_Z!8 zXi^4$CJg3%f1(Sp7Pk(Pgy79S6=(kAS%sc7gH5CLrgf~Qw<2RdcChOBz>2KGOYEWx zd#1CQg)3OB-`*ELtmB-?oNRtQZTchiTEj&r91>2rI`Ut`G+F>oxLiYK za$TD5hA~;pwsBH3cv{X`5fAafz982m%G=tU8QhTO6_!Fs0)s0r)(cvGVH$AoAZsMj z+0pfd4|shDCX0q1@!ASiXM$|V*P?MFd!KQxcY%`yw|(j0UU9!4F6in`wq5fhgosax z=8zU54VavC0>^>Hp@{fS^H;xBm3Yy4;Ngyf+2?!Hm0Dl&60z_Umv+j`O|~8r1ZT1v zV_tw;IAN408c(SK1!|kTHv|ZqOf18UnSeh5tk%qe1M78OLjVcec62?WU@og2P-}jv z2Cx?&LDYpHmu?Vz6tW!sz#0!__kqx2pxBaOECKQ}LF!__qHBX1ffGr7qc<(phX#ggL91AiD#=Dj(5I2(f_vY@!R^jw@vc zLZTEr@Ckhn3KzlR-Gg$Xg@w?Gh&9IG#DR2mIxHE_A;MvF2K$3=Mzetx)O&GQ7#DusF|koYO$@!qw_LBf3! z{oUo1>+x?bNlXy?gDq}>r7|VtMPdqxAblY$<0PNN2>ts&+gJ$tyLEK4=S!$W_Zy6Z z1Xz)ju&Sn)8p4-|W|k%^RDEI_(9EJL-WOGE-1Fke;R|&23D!odmpj{8XoXaV$wG#P zm05Q4w)t$dJ7u1whT{QE|%wQ?G zx5t9Zz>vU!5nfwuk~ z(dnx`Y69lIJCz2_fU>p~gZ^^WB1aJVh2yov{n=zp>1p)eTxv8vVZ$9P;1)tkwp^-X zT;RAcxr5%0`_s8Eiff+rFP1AEt@V#wZCkN`HL=$C=CqVSR&p%i;q41J zrLB7rCxoKz#AHu?DI zbCQE(&24YrmVGBbf8-P7F$CTW#O46HF1yr=!cHHtJ9uHen&h&umcDBjiwpuH0gn77 z6kq}7U2}#}Vc19O_l5i|tLMB=m0=3lt0utc!>bFP{C%F(ssXar7Z|oIJE1hNhp#Zg z0_#qxW8=%B4fL7CO*ubUpA{>#@e2gBWC+e4o!X>+LKZW(&6+4BoT zc@f4swk_+6d4Gwa*NzYKUn~X$<{=eRMROz4;*Ixsn+(p92FaUmiA8Q74_Bzhivpdl z$~VWHWAE+T6m~WX@19YY;Zw6I=s3@QZF^mDe+kZmIVR3)3689F4eQN*E30gj9nPwX z==d34-Qb+~uZN!$emGXR=jYdt?|(Wg+!87Z*t#3Ti{+MjZi$!pk#$}bM+D9L0%VOr z_-OK{55L^zM^A=TNy=qXw7**7x3K7G4(QSO5LAnTAuG}eM4`as%ps_Mu(3!oJ>9Em ztd$0#xWb@C+L)*kh5|UGryiK`&0t1xgRP_1d{n$3Wh+g;Tw=#BEu`hVez4Nt2f2_Q8rLjl%W3DpVIqRx{W zwU*6N%!_SXyUdR`b}yNixD0t)lzL1SSd=Y$*JW{Z`R^qQ0rg#1pbj}XngaU&*s9vH z#lEmT7qEH^lbefu)P#iVmdDoZ`DH0gEe?yVN|(hKMn$o}JX~fIG-eHY#68faG9tP# zJ}3AJzjAG344*jY_btLA0q~i3D^6}WS6k}y+olOy-4Kk^+*4kccKVD$3ajI&wzQ^d z0Uc?RVYr^t$X0;P0d*88un%C-Fj^!fB@o=qSFqG=A_OcD0+^<7wfw$3Z*Ke759n~? z1#;}^n$5g?Q(iF#(k>gazo6^Kw%`2nx`NXQ&=nMA`92hrdo_LkkmWin{apHRYxlYI8*J%uxnr{TkIMk@ zh@b1A#E86Z^_BIuM>wZW!iaAKg_y=Cuv-0m;;a=&~Z&nN2R&25PggAKe? zw|klUbYKtH6BhZH7#rfw(bZdSdaS8>ftI4YrvzZF)>{A#`ITe!?p6skiGy^C9%Vr- zNQ@Vndhv{BTiW(ez-s!*s`C$GbT@;o{IofyfLIlqU<-U3ulN&xcEQ{e3?!Ce{eG%-Wk52511M`c8o;^gZ+~!`Bui`@< zp-+bdO(f%NqO)s&a`3lj>`nfa`;lS$%(18OeV=yUw{!*_#c~&=~zaheSss`)j}vIs&L|mjqhGf~j|jj@E}6!5_Z9 z6I=U^YkI{ZZ`(2O_}|j4jnnbx#+nBscXU*CaHCK(+o71>;;OTLmUeM1LkZg=b_a<- zcL@Nm4^tlFU`-&wbH=Kt{9;ykGFC^Z98&H@MS+r zKsChVas&6ox>tjQimsN>r70a)bL()oPkOf+p}nG}jldb*6gD~)vh{h7wg0!4`=jzh zP>bSenGzTpVq>m|)Rx=OR?LOd&0AoOqBD*LU`tXBbbs0AFefA0RcBVFW!4gsKI)FQ zjF$?>{cOYI!gV%8$@h@Lz{nkqW3^*f&Stb#LF)kcim~md7I~{$7ha7wV6HX?mp(7T zv_3rJdbK6$`LtGndSGE^8!WKICV)O!?naj)%Y1rqf(~?J^IPpBu@J*{adTJ>PUHN5 z+@xayeN1It-?i>kq8T{x;@3>Q5e0PJXS)gMo{PsPj`tE%qU%nVZ8%x7-yy@o{^`D7 zZmBUh9X7a~e>$?G^YY2R4p{;AlMgC7ubf@(xH<0pn($zVeCq(`b7-*RY*Y6g40^ohS;hWD=38rKv4& z89WhT|KiKL52Tfs2eunsQgbLLIbJR(^xe?F^AKFS_2c_$kL_Y;04eck#m)~I5C;WF zm+o%0W+Gd+O#yT3l4>0w^DG>u5xt$A*2uJkhBtj~(O43_LuO2QaQJ&6B63AhuS+45 z@6ly@BvnDv&*&(`WytVa^D^2n0j80WhFvK@oKcO^JmaaF8{wb#SGLXGZUb4$H0Si| zMh_=>gSJ@Oaxr)cYP%wHFy-IZV*>>(&Z^Am*|)YCtCAERm#>eMm)db`9o{Tcj$gmG z>z3QeZ+@v7&i7Sn1WAA<=JKUm?3)Ca4y@G|cofPpB6&a9DT|1V$xgEl#`iU86S-a` zRP8&0D>mR%J~@x7R*mOlx&d`B6llB==!1$*#E{3k9~;-s2XR~xp?Tmtdv^z5Hb^rq zCc7v4)etnh@B9_Q+U!c0_{3?)kDIQMTRd3b;x1qKxHb32Go9Yft;&+MMG8Yw>a-n6 zi+U)^_>4Sr2}H`GLVX5OtuvQ;b<1Lk%zCJr!4ps?mP%gW(4-OWy|eY=0wg(J2B&)m z6KW_Q(&Kt&GO}Fv923JskQyme`B1S8w3!)@e`5i}%TI;zL%$d`3D#MnV1u^Gz5Bm~ z7m`^*T@~`dw)Ia&rOKiBNf?0B(_R{U=H*~^vkEguIOKLH7zWG0U5TL^B)V)U*N=C* zA9wNhBX#(*7YCMqNO%5^(~VIJ9b#^~X|q)9J%Tz_#KoNTt#sUlSmodySbP^aM8-Oz zD5G8)iiJW1&)h(F0!**i#f(3Z3j1>MiVd>?!C9*RI;Xt&UY{IQPHvmlJxHe&sqP?d zwKX6I#dk5-vpEE|K~H0=$s1<;zq1=XzSRFDgHnuAxhbEEy?}X3YXy3qb=ph~vg)PAK+6 z27>Olo+zrHWXo*40VD4RYev_>r=%`^pbQ~@+jlc;f9F;5<%Yvj;~pw8Pi7o?G9_Y28&4~a zWE(B=j54TCaWeHT_9UNEx?lQr9UIprX`xE-13>Xx5GF%PnquRYjvHvDyW8><`#~9U zsxh8pHwyauT;d>tAmc$*@oc+-UNgG%pN@r>UEF^n5N?X4;Q+!jO|#tD##pHaAR}Sf zCXJ(pkrKo#(rg>j%oS~hx|`<6ApSVLLJQYgB%)}MsCrG*a60+}1vP>W7!m}G0h$il z3CoX;Q+de5!070ayd01|%RB-NGb{o-W^rtWr5F@viM_^B%<6BMMUJve1-^e>;gOFcT;@I{p$_VGhHl< zgY-{wg`!7l-6QcGi^{~`K~=p*kz)5Hv-BdUu-SB2Hs$HUs}=Vw*S#1gx|*lVok^K{ zP5UG{^v9C%@61rdY`__*$fPf*5%!xB93LK5H9|BQC757o#3`u>7HpEt{*x*txr6lx z7MX<`h+-;UvYtSZ8HG;8w_9OBXVOxVjgw>c?kv}U8{v%Q`onDB2-&_%XSZ9G3lE>h zkfeX;jCbxJBecw{IT|$GuxqxkAQZSXCCM$m1D{V%etc%vHf#TKKyzM_Qh2VQY~wX4 z%UFp96VNnbv-O^ijeEc}B0xiXYj0aVeVXC+jB+p6G} zs;EuzBcppT;F=AaYF@BwFfxqyeUuF~=#$=o*!!mm@?VsBItdyeYKaxST{$&Ow+uRb zvbnza@bApP`p)=hKW?0%EcT=nGn|SQzpXdje8295VRJL)O7je>Uqji0@$J5M`d*n| zwFD*tAS4OFTe91mvL#xAk|X!-11g+sThF$BaJSvv*?Rt#o&84%>deMtJ2oA|&@9m4 z1kiDzze(diJ8^q_Z4KS{4;44OKH8!AAI$!;f4FXo4K_a9s7!5s9YrUCgP2bKI2(g> zR~7778U>QA1I2i8Womyg z3<(B>p7zq;r2db#5p-#zKvi=~llnUdo3b!n6b$;D$^L#lR0LuGw4ayxQBZvCtMqz_ zJuoc6%7>UFYIleI-A)I#_+3wb+weVy!C6-I3%eRM@GWK9rgkSP$i_tE$bPBmAlGxm zVz#aaDjzs)6<(+-Hkay?K!(q!h!n7eJGiqDnOj_pq)V=)9r;J1tgf&l64~C@9VX9i zJt%P)>Adjl)>hJs?0cWuYG~k^ukT?tCPBy#mW4X96kgb`$1hzkZ10{+TK1t<>(fs{ zJ7%lJ^jJL8m8B8r=(jUiNA$|bUHWupp5y^+r=ZoaZ#VM}0s*9cQ4;ir;+Cd%(5Y=JOeU^MogiLf$clwcgHEWa_ZKEF zT$tOeGrP6IVQ^IIJO&n&Wa8Wu$~G2K_2HFY5A^A7d$6i&B7ny>7^PO1Q}y_K9Gi-- zqLx3c_|qpf4yDp(W6|$xkk>vRHf#?ZO@nW-`u4iw(+=Kv9>^q*ja>-};XjYsw|(UV zQ%jeR!v;F-haJx@#~-79d(HgMPd?oz)pn3au~zABjnS3nR1J!CN7*`rCr%APbOV_= z_PEaZc;-;W?AS%WhRWB*9p=ui7G50|O0SOYVL(kBZk|&NO9r%tDW>(~7Wp042VHFr zb=VwrwLR8hd&<@BT!-C7SNm%n_GTU3`!@Dc$c|4s9KFO)Gg-}?9dTmoF;DOdV(YE$x@E?2-POR7K9K9U)NHmMXV7;NW2%?c zt2-riXHd&EO>yV?41|3~H-tLI97O&x{CVlJgSq%n_OBjjXbXFFG|VspP`SyfyIP`_ za${{qXbLjUUh|9}+YnMmQYpO1QuV*E~8>IK)64#m3)uSbAGW4E+@Ijtn4w-+{*(Q%gTXHX+t{il-Orn9 zQ1W(5NF1{p(Er262ufkDSCgYWc&F`J#ak1Ty7;$SM`SFgmyZ9VPqxeKvRn4NXh(yx z3%+~{K_^+`Wk@C)$DBQeUwpikX6XlV^y8qCrN$_k6<$B&FNK&bvx0JT_Q84(znjdT>LY35_tt7K}@^L#f0f($UW+P{uMV6qvLCrSGE>vS~ISX7vZ8 zBtNQUw#?)Mlbvf(yi!hK(ujc|{fO|DVvtDP$4EF8G%Ww733`&swvVD%DdE?N$)@_y2lx8#wk}BVzJBb#ly{Pm_Kid#M>U7HABOlzWQFPCv4n(AXLp7+7i2_v z#$dOv$NM;;R6h|w6!p8HuG^H*e$SmSg@St>*%*|}Wu7fh;$YfXrbVZ$+Q3!ksDyZ# z3rdFVp~5LL_iPzLOq1A3&3UIx<7q^jDdN1;#<;g$*<&sb`(uH>>rz5HZU!+y@eTbh zT|Kq_BrVWs&`iYkg2_sb`cU}9@q)WIY*TtNypFeIS{5H z8oG~A0(J_e%FTLuLvCTFKu+^)Q+$9WYF8cvWKu#ijVmTD1i0m`4qUosC+dBamG$6A z484G@5icQCflVhL*uS~;>9hampSM0M{TI}4FK8`|JIb!tGsqx;dU` zuwS0cF$;2`Y-uZw>Zp@@>mXIXNVrzHilgULi78m4I@O{hdQIA%+YnUqBi5~D6e|S> zLkA2TWZK?Rj1?7|XHMDIvSZ^KEA_A*0W}T=Yp0|uBH-?tMe6oe1&?g(L)2@jid zUICbP#I`Bavcv&4H=*CyuXfjfl$T!lzf@>p#Hv#(*lIYRs;rpPA>~#H-Bp|7&aG+) zuJ)<6JMI-EWg&FWR@z3@diVYM+Be!1CLly^&a*_t+vaxvDH`X)>eDG3hT$G|hpVmc zoK(!r611vruQV=TzhdF+)iK@1y)%reboJVjNG2n@8lrJ<{ttT4yNc@-qc&aKD4!## zbIW#KS~yn54et^}hvq7aKCX4!Fc)f@+dp(-wV+jGu%~bsk~SY-_ls7&XXpDTmo`4R zWwNPudUNYA^U{1A*4Q?@De3mf{d<3Yp1yNz#i;}P|NHsn&6C@w4jxo0L8xd62;o5X z$7Btp9x}vdk4n{vCDAg3ZQH0!!(}+SS995i(OzvTDn_mo=I}tSyKGoh_C*rqK{P^+ zx@jKZ5^O|)Uq7uwE0%~rP6mK^QWJ)eQGAGP7$5cRkP91ahTY1BCJ ziAkwU|1rtaj|)68cU@ zL*ipR-|jk2v4LcA5LPam4%4!9&R`s>$lMaL730j6@nD2yv6ofzPuJwCC90)QqGSf2 z?76IIoohROm%}Mx9C+w;d(o@wVeN$KM@L-l(O;F`{B}=6pTMMQTHag9hC*UI1-#0* zZBJhxOD$VHSG%cw*-fay6!lI0?oUtOoMLOOnQu7kG&z5|JZjC`Gqu|$-=1qITl21^ zrTur7S^{rciPryI@BpWua6MxS4QWd{q=B>nz{JC-cN$6OeuIlu3K|(YuF1PME$-%t z+)9UWU`80yV{9p)EOxy*N^YAsN4t3CuttcIf>%hJ^QDo+Eljc5phNB4ly>nxrNz;;D9_TGLH$yY*^4I;HUBV zp)|}V0O=a9p}$=~6H9bq`gjX;C^G;~pz2_gNfsAwP_eB7N9Rz<5v?MQetc|^wl@Jw ze*64$$peJ?z{OA}_c@pH+KAUT*|`C1oRR65LQ9)zbUkBM|AqMcGVvLuPpUvloOFk{ z$fq^8Ey&hm$jE4(LNgu?b)pFQec2owh9bl2wcN(-lN@}R$Hg16YAXw*ATbb>CK4Q9 zISIvR!J9BO3m0+598EzF#1a3to>9KJtThX|Si@D*_v8D#C6CpFTG zab3jgP;9-mk<8z{-`h~gwUr?a^0fm`KAZqsmW11E>?)2g9B+y;p3xD}p;dudcIC|(y7?1w_wK+Xa~@bf zCz@tuj46U0PeoLF7n&|IOQ`Xwh_g51LJu&D!sm(WYL##v3YzdFQUQji7Rdq^$?&KF z38HqCYn9~!k7f{4x(MKGqz<^YV92Ug2&_&zzV`X2#|3va!V^1Whp*~^vHT^OK~tRG zt2K9g*LBG@=p53qoPZ_odeDoH-BA)b55h(Xn|B>1Bh&Gz;JOD9)@nHC-kaYg&vhsq2x1F!l?mH67q3I2;*kz|&}pgp0n(R89H- z&w91sFs+S%%BfzskW>Hutnin$ct_1~>s0sy)EkX#mfWn3W%3y>9T!CFl6)?4+}(F! z7)#$sRn-ViN0xt-Lz@&l>W9_Z+m>Xyi8{sMZARE&0m!5qha`}H zXw}nYI2M4sq~dQpAL8lcDKSZJLs84LJu5I9*jmQIRG;q7rM{K000X;JtztTDa2E2a zp;fWmtB<{EC1uC=CIIG^^=oiTNm`9T^_<7GUn4p9OzXmG-z@+6>pt6bQ7dNmmJJR( zPeqRA)?seRIu9c{Hy%p%?y__VGmIO0?F~n+lj0`3S&Wo&vXB2nSH=ujHA1K3?3pNiZTD#I_) zVV3iQnlVc>{G|Vg9jVSHNkYYKP*!@V3`(CE&*^qid;Wf2Z)|{ zZVh92W@xb+q1lGk6xgRXi8Szos~4NB1zYU!d=OW+{jF4>0MOHi*sADR(hQEkagMH1$$39g?$(0F`7_Q^h`Wk`#Fk zgXoN7DIXyBAb|Tc)Q*DK#xPpVfEX+MoFwYO3h0sqFl0c+EMOD{WSPU8#T>I=m(12# z4f31_upI{JDeKN){`y10k`>bx9 z;|k1`X|83w3d^+>;n^2#+bCKQRGhrgI`^yH_6uj6!gNqXWOgfbeH;8C%II(r)Q^E= zDm+*sFq47w1E4BsoE1g8P-LlsppET7mqPlx6APCMg9&2-#caJeqi z7K6e80@2OYGS}61oZ4J+B)JJ)l4?2$GF9cFdrGoz*=>b0)cW6*wwEo|e6{w+kOEvu z{~i5xvSWAlm`zrt=OtIKot3_>6?|5Qb>g^fn5$h@oYE$>(&7Zhx9qNpT!^U1^=fdt zRvcSsCt`=HsY^PbP9ikG)){auI#2`wv9tjZc#RC?C$cn@fQEHp6pHU1T>vk#RB;WR zB;Y8Dsh8v|6M#O>1tTReaqb-cGDUNdQi>#OjfNXsp_(jGiS9JZJX$_^V+q;Kx4|SL zb<34$!>-mK$J2~$TfW4|`Jk?!%a@<2s$aE@g zzcXTkPPuwF%vka}LUS&8T(kI=5g$_fkY97jS)h7HY!1QQUprB>45wkTc{1CkZ!A_j zm=F=d(k@bfjRDhMceI@XGK-1mt5QZd15kfpg(d~;2{^xg2&fSw>Vf6U9DH@$qhULv z6ACkTwY%zg#Nc+u94l#U8^&FsYQfoB1YF229@+{6E)&6r7#ciqP)=lMZO2UV74Me| z>o(^G$33!SpSNY5PdMS8nEA-MEiEBw-s`{5w#Urv56D9IgO!3EiF^+ok9LD;$=~oo z$}%yW(136vlsGZY?y~6%mw-wbe!2>XM=!)m0r`H#I8L%gmjUhAnfxv{N|R-5!a!aT zfuk5`Kmsaa`E6AA!M~?`@mP-_9mZc>|M&ZP(2qc;Z$X~`%%l`YnAV*F;pZiHPdaTS z*dm5RLh@Ig!{fnQams|UIGZ(><4=T~RuDAriT1>Q_bTo1jnAVe?8?0R!LAKs!%T=j zC&zua`nFKU6~78T3a0C>A~nn)*Vkn7e~d^1(q0lY7k2deWJ6*kzDF1+St!C2t+pb& zUj^OkABW==YTH;)iHwCw=))I?6Jdp;A}WXAKcXs&0V)6ztg2@7 z_g&k6b#DLrWBbotYFh*}#5JboPo|Dn4(>^octcQYFypRW?&pZn0rq!h9K~n@6F)^Clw!%r67pE?LQ(}_nifzDV&@ceje$-{qNwh1n^@W z2!^FCe+VoQKrb-MfrRx$Zw_(kP!{vB-cJ=+lj~8yT_()gLfAqc59*xLb!b48ZbKmz zA?`T!DTT(`nxkja?As)$2?g>>TDt41?PLu4ypuN0eAgISvsZX;eOv_m(L-{(N?Fc7SZI$Fei(#z0M*8^{UexXPp3$ZEc4d5U8>f#!0 zI>RJK0h_(DRTF@uuxeiE0{wl--*P~fOTzMH9D8p@?e*IFU$sWO`7$w@FwMKt@OBp| zcl<1D0|R;B{#HtYt>-x%Z?>)#NK=kacXj^QL(z1Pu^+hioxTIrCaT|hEvAhX+bq)g zuBP#c!LB0g>Rk1q3gTD7!o85BE|tX&ud*2#R3UzZ6XFWnH9EW9m09;CQ$EwWHcpw} zCgLAc5R7!NC($kYjVQq9RA01DGe8o&*Lbn*H@)NWn%^62EulUjjM)2q$+fdL-e@p3 zz3d&BOr*UN?1@J_yRZL*Q06y5l!@*J*u zJK=yX09Ijp{aMhIT6nOEGx2acwg00*3;cmPzclohYtSs&R2X(^+T@{gh;G_CN zbV9byeK2*R&1|qgA59e@$y=5R{}_5*VG$4*vRrFpZd!{14|D z@kZ+tON;(dV-|&BiRuSM$azV(J+XA0KpGOZ_N~1p@F87)yZ4y6o4SR* zld^CU|CsS>JAPW3U5B`DppkZ1QKrl<|u`XQZzHa(ziU#`9 z^`5&1xwU4#!+raPPY=gjpVOTLX^2@$^)hLI^Y_$88{+PWJX-|TA)UJO1n9qynuRJC zxdyfZrteM+p9#XcgY@lEVJPZoPAWQ(t%m~Tc~W%)L1e;AZt)HFumle{h+1R2 zedlJ2KJEp#E6_~hy5Rk=7ZXI&{n$bVY|Y=%AgV(R>uHdQK9a4HA7M>zVkR~rUu+t? z-}Hbb!K3OgqEZprGibl5{Aw0nCqi1Kkk@Xi*izq@3a>oja(-ja^5F_-=t5Drs5(Xh z23V>zuPVqroge`nkSO69PhszLRaYMXN`U|ru!SFeYyt?w5chh3iU^=YLe!C`ch~)U zy{U|&evP~7*4);Ab2%^69j^?z>fUvdVy&hPI~wj9HlPcDw#RDfCtd4~(tPR|0o%{$ zG!gXU`g|1#164cI)1L`S(7|{g;nE zQ~p(txoShEzXaw0KsHFuQW(H?35+Iz^_#)6cB?rt)DHXtOeCr^EEpRN0)b(LY}3#x z8>)GOjE^$%*#~!Nlpn_0ujwgrIo)4s?7Qa=+?6Efs^`v5TsmDiRPC^~dmqB>>~O97 zmdT#OZs+dR`|bVx2jSj4+7Ni;Mc{R=T1f!!IOh1nC{w@u1(u8D!=h*%lqQ-&*>M^r zbj}#6`OBFreR?(fS?BU^mRikWdGoBzq|+tOZtnZZn^c;gIf6+%(J09Q-c3}7){i=2ep=WFTQZ7xx&RVwN7 z9o-}qUDda~e)~Nh{_vm2V`t7epZDeYD)icTIw|!op1No<(SPpm=Y!_)Z%?c}k4HOL z2HZ0EHG4!kO&Atn5Fx9tSTo3+19Wf7Bw)j>L;Wy=j1ciH8?~WXf80Q}2~XqZ^TcQ? zTgLJT$F4h(r@b|5hkx|Xz2sL3|FkY|aJv^yHj7^Vi%bzv)B;oLA0A|N7$iIgBrrjB zJy;FDF);ODWI{!1Q_SWHFv_@8KtaJz2`Q-6Z4I(cgq1cFj702~lbi7^(P_}XR7_1(`*!JS-f^J+QGYMHz(47Rw(CyBx!SnpE*%*cI>ZG4(wF6N*g(sux;(CuDbMFAS$!$Zk zxW_t9Gb^Kp^W$b4s$F%f3m?bi88P(J!&zWZaOq}V3*5SL*G!Z}$F66&H&lzB=il2{ z^a9@>4{ksF=}yr<`&Lzpzpm zW-4`YwSzH9NYv;{*%v34pWERbPu8>})QpRNaI_=wUlX}+a3ax8PFLudwYS zjPXSO$62@a{#z<{B-Gf``NOV#tx#e?9?vej^|9c!tH_D2RAU8Jlcrq4E-=cy7hBc$ zBS&zNN_kfLEgE(F5xmWgijb*5wF6+}Ci~nSWmzbd$OxuB)+B$=ua~_|Ktb$MDn}<8(RB@u@&|7`MOu54J_@xURF;4wm@yMPx=o3@ zzF^*kVptCWlP4(Yb7W_FwDp~QxVg~GFeqwx8;zh;B$8}6-E-3C^F)g?`W{TPc-SyO zQLaPo5JK&{$?BCdt|=<7no{X&jJnScDrnR0?e=%9ykD(I7s7t*-mo6^Ku}rGfww;u zxM?Bmpm+V2@VJ&awG9wuZLw|N4EyyY#r9*5N%dRFQ}Hb{TsMTG-A0Pmk&D?OXdS(x z6{bl*B9|m?W4DZ}4EinKL~FCV<8*jfPmc0Nev;05+HekqtlR@8pE!s-V`Z@nS=Gma z_1b_Z;ZJ1b(uKmarFRlS4}CorP|&8;B7dVNUE-}JnR2OLIt})TD+g-9NQWeUT$9Mz zImDv3WQm4j5D@)ku4=e;+pQ;y%EPABk%I)Na)XWIUwUg#hTnFbp&hE&!Shu?D_rmU zz@h7?qCs1~29@=6mQ~>UY*bF)&J)Tn=7Wk_w?B+krB%LI%q+V4{9|9y4ds_hm0LS( ztXs5|mLFK}s)V1W03fTS(>wb*y{45o5C80r`l)KC()@SWpg6qMW@uJDwVQ&uODl8i zo>l&R0L%o3!Th6G8@78?uYUp{ocVWA`->rUV){dK#V9n&jiU|ygK)N6m3VE9;+Ra+ zd9@lvW5m84rSrbcxcY~}Ni}Yom751HLmY@?vq?ET}HnCb}7aIGubkB!cbA0O|x4!eo%Avl*>REU; z!Cy|^;UGOoiwt9s46pKZzg>fC{L*QAlOkBTLL>~#Zp89cjs_)0K9gBxt20WjpD7G6@uqk*6Y;x6S!7Vx)rl)c7_qrc@ z4f_63{rnfSUF-K#zkho;a9a#z&4`?9g312KRQC2v_2B3>&?~dYL9)$9`i70wmifWh z*2j+qMjdOHtFy3MY-{FD9@RvCuPo^j9Q_gffO2mEM(3ut7eg6?SGQK zNDx)OIFtKBKT^%Ez%zE<)_CxK-M)J_z>lAbzqmD@(EW7mYKeWw_ULF&_~)KiF^+bM z@ng4oCCd@y^9O5(b=K{W284s&XXjllk_mZMLu`yAjx4mS{Ws{q z{O$Yqtvyq8^~1Ik7w$aczyD{)l}lS32$&-+3)%PoKKg#OrRdpKrC=JH{fKEK*8ay! zl(+BL*F~6Kcap9(kUre&*R^OC4%_wWdh5_XKbNZZ|A}(0n7dc^-?uaS|1RdO->`Mz zeNVB0Eq8D(q?Pf@$?B;6cIx*JiStHR-<3kBOzCLQG zjd~-Qdepc`I;c#hoK5%jAo?-pKzeczh3lTk2F2$?ird|kSYSPwc|?+>wanZpie2Oj z2E)=3_bm_-_G<)}yuu(dG(T=?q1?;*D%3~y!UVOlFK9@F=1`EPv1qrd6 z-s^5UmE&}(G5$SvF2LJrN$Dk1EtYN>F$dZRC~c%c{g=RX)4ute!8kccO$M0Z>eyu! zjLnuFcsAITV;TjI4JRNz+?03n03U8(-msUwx9^=~>W&ng}5w?2CQ7cHp2-cbO_dD?VYACeOY@kc|} zRQL)P;u<(Dc7|+Ws?&vp~<;}7k&7t zP5~sn^+L+^x9hfc9lyQ-9?!>5j>BG*;X}nrI~XuzyVIw&+qRJqjWVi0G2PFl%UkIT zp&lV=%S7uj)!zpLrQWAWP00cdV>jA{0m}RZ)?m{JdzyL#d>f=zoIMSbXV4CKLTAd4|UQXebS=U zrso0JgLyDb(kNSorOA+WODAjS$j#z|OdZz=dCdtSl(!(PS?GScgUKvJGG~xA4CL(l z>e%)y)6Gg+1l49%VrPdFw*(&fb0?+9Sd)|eVprl`?LQ4p$ zT4+?meV(>QN-`SJ!BqSSm|f$^x`pluiF3FBs#&6X>~igi-JpEBQn?seK!bko_RYu# z!3kh9pihYa@y8vWtvpmPulTC=%?3f$6vjIZ014M;2>_uu$eJaPqWZ6CD+;yg=ir9?#AjXP zaDWc{F#vB~sx`(z00L;)1G0q<(#!(R-$uY?00tPkW!ul9fmlB{R#i7FgTZfqp8NaZ z#;UUTnYk9@2qbC>ynzPw&T82fWpwep-8mv+t9bCqGCXKW*S-=h28Hivp{3tD)Bi!T+pjc?<0W{Ki2~tN2cMdUo zf_Ln{<-8t1`K{`pNOEE;8hMnd+{l9)&3PTBW3x%#HB2?t;XxuBd4Z&QL8jWj1o^CV z%&4Vt@-+O&2h~q<_=ZYz;~8k93~D8~vW5UVa~rWq41DGvQaFVU1h@(Ve0b^Rv@#Gx z2dR+2%xnNntH2|{i$?(mdPf5v;vxo0a3V#oPcsXuLIaryu5DplEdf9#49EwYPF0|; z#rkZC5TPP~YUBDZDi7(%0ko(CAVAzldVd8^p1yoTOTQS@GkJS*^3EcyFEH%#VVg5w z61=kV9Wsm%0dR#{>IBE93!r*`2HXm_WM(d0HAD{iPs*fXSz#Fzrpv(5ijUUVYr-k&xM2o@E8W<1XFDuFi(~CmY!;F z#3A&6eY=v;9yC!Y;hdTrv^)-I(awHC0pFkX!NphEDnJ+*+;kYM13>>=sbb7sg}nzj zOA{`%>wgykUBdX65^xCs#J;|Y6Dsb1*8u`-3*qr+6wCwHZ&oF8SgH+<0V(gkF`7M% z4&=%fC#&vE*Bq#uS?NI)ClbQ#$a3Ji2X9v4k7sK;hE{n zuv8H&Lj-jvz%L0@$;|R_3V5TS%^yHEih55~9p0b{9a;p6pH3AAUVnWCx`qMK76U8Y zNyo*IMlBRUfA{`vOwR-9^vQCKvil%`EhHjnHI-Z)OKvftuDa zqccivvqbQxa=|v5_J5SX#pC1q!pTg!#K;=sYD82I;9l6)r}Lw z_5sLLZ_uan2e;QYe(i-?(Unfn0Jju=cv5q|Ft`a&%A;3!g-^NDKpY|B;%(eot&CuoE-72NFvmn%d!HL|2T@fPWJV`~h5w2OcV0Plzo?E(GWw7RU`pN+* zONa}`!K^n277!4jOK=mJ(jWoEe3rV60STockCK%8ufS88#0y%8+5}jH92Z4+Z`}@c zZimJLuHNVLs8U$G;H5)6G(mUW#=tLQ9{&X6nx4uL8$5fxG0+Sd)KOfUtz}VQ)CVW@ z9rSoShw3}Jva$G|YvSrBCAhxXN|+|;$#iHfvk3~ndN_&ks=&Chy-WcYi)*ystP}6a4x2S@nPW?`c|TK#sZX4>jR6 z-LXNcz_o^E?)C>9g8&muK960ulmL|##S6cD1TA%XpBQZwF?mm3`6B4 zknz$L zU{?drLvLCZoOO_k!=&#vov`*+`3_9Yhjj!VbTGd^#ewJnn%kh6Qk6Qlz|- zs;hvviSvjA)*5ruV&(LAo)*HI)Pas+bE{ARl<+|(2w;3F+_4l>si?S}OEY3x&C)sb zqXl7vW)hwSLzsJu7+^8Slkm9feQOIN=p^39rx zlPYaPY0`b0uFR>fy&{@6cfGYTEAUMj%&)N($x}4#dgODJYl9+RsT}F0n+ZZKoTMm% z3hQ;Pmw{4>iTNBdMRV;wYJ0Ws+=>+CIX}o&;bYnJRckGF#NeGC(YV?ojee+x{k4p@ zaQ6DhJvkSRIsz;3;S*i;$G|U|Vsti7hr668mL^UI=aEce9#ApZ2%Z1BY@ZIjX}f*0 zi?%`EyZ^Zf@3eVtK*N zCwq%t?)mw*NPhE<$<^Ykw(GoK?IxTB_EcH52MOG`XGxsftJJGvm$~BMqp3pL1|wUQ zU4uDaZo99RezSd9L^+_CA^!c%_ehwkV-I6c#o!EITIHg0ky7DY%F0}^_0?{p@l@** zm4cQikajxEnLCS8!Ev9q8-KThk|_=w~eKDyfaSeoh0 zQ}=~pP{0Zh^V<2)lfi!m7G|)65ufwR=cw!+2~{O2Jg3Fb$edF zT9en#k;66%IQSG3)!o!LJs*nYPRENY8OOl`@`Tl7Dre91A>$+WRmgw$47BPJ*BCx*3oHlS*pCLWJ^nz zAM;r_&&jTyWAr1eo03}TX|iFYquPNV_-56_`)KCfVuRG~EuEPWy(JMnX%S~Af0RA~ z8CRe2B6^a|v!d^mL=JRC^k$`I#lH9*IXD*4x3e=V{$t73p|=rd_vD<()xJy%s645` zYu*Z4cm&2CFxiHi-TM199k%g!>yfpJ0b=_-x5g5hlIVo-6`JOjw8(EwjgPW3`Y*Q{ z#7HrtOi<*HUoq2Tkr&T*=Hw`w+Z#Y7XG`DY$q!?nsV6Cc_(zEY>Iss2*aE$)Yk?kMOem3;WTmTQiEBDv*00V(vdq!H(R$OwI~L*mL%07A_?qke^LqM(USwc z@!UJ5X~dJ!cdi{4Edv_Jtpmdtru;5ldC&AnEq=stSzg`!=hn&S#EA%tf>zZ#4L&!% zsO-zF`_*S5HmrJm&nlx?dj_ImP&C^akW1{$h`YAX>DTz_nN+7weBAns$;3v1R97lW zC%$gx?z8Cn{($j8&1PptI+b&J=kry9Yfr1m2cLq_VKmQ_$kv(xwAC*D&Q9MDJM*w> z*M;7_IoW4iE@i#lb?MsQkK|B~1mQT``?o}eiaCoWr&|?z`JhpIpNzVc#OOGeHT*X! zLGKh5_5b~wxBqtR{cR*+?LBvdB~_x7Cy?sDeBr3sl&C^D?9BUph-@2`s4}}{m^6(> z*t|H0-ZzPIK8RVQysjK z?;|EElv8qg)ZQuq#Au$bM69L`HR##5dy=D z{s>6*)w8{rNqQNp`6W7j{(|=064#f`Qrk4>i`^&V*@h=+Zxz?2+!x(;4Zo3iL!I+J zl~73w5o3f%@>$7JNdu9knnNA+GS#Rlijt_g7IN)%?<3s&22kB1p2>{3%z~jGE8?w1 zbN*4Yp-)e_theAtCTd?|P}H_6j$fQSQXB@1!169s~xy zo?BDWa)K^d?cyKQ7lXo_Y<8k5^9_u2y;aTUw70jDFa1l#sYu&}tg}~+UGbveLn!9i zE}s~%97g#*2JG{=h!O=ZF##058t~wd%OHMT72kJUU%{oh4?6rEWN%_EkR5 zKDRImkukutpB^h(IbKA9>C5|BfSV(~EWHPjI1h2M;^l^y7YY%vG;p1hB7D8oMF<|h z4KKhz(14LuW)o4saR)%g)xB6EO7{45g4iK>mWnWFfF0Tm^(j_ljIqPIp$IWAuo+0a z!VV~4ZrXCVt%q3+ zix>})4)6HocoK2KG04KtiLSSegQ3g)Z#ruagk< z=`i{TuR+OwY!VtHhnf@Ep-4?yH+TIY*i3QCQTXo5gyr@Sov>S$QIljOkL2Npp5cbk zz;1%eUH~ji%rhr&l#o1W~{AWJbXO!hD|1!9hb(TQbVQLN}7a2~UKDf%)Yo#PK6 zUO*9eIe0@9l>C8HBg-th&7dBd8G4Wj#c-9QRCwQj zJ*wIjek}YTNb3y*j${?*gf;p+oneQGJRO>Hq7UtjZmx+weC+8z4{DB1PN4pU7LgFg za}-6tXsN+1Qw&G<_N^wypzQ^aI&;0%Va4qx4hh8z!G~SIp$rHLS-(2eGNsTl z4TWrHCIrER#xVdz0oX;re&iQky134r#3qShwgPsb5$u8r7kwD;A;1v=z}NDSNxQ@$=MDfuu~KwI~}rA4NZ{q zW(%NR>1@4ermCFve4y-~zwiy>vOFd@VhcD8`|@Nb2=)RvB8yq91e+6JOsoW3ja3nF z6uF#fWb$4E9T5P;SOe_uOyy<(umY3;kj@Ho;xM4VL6xkSX(pgap-%NNFjnC}cFQOs zy4ykW3M18CDpNy->Rn>$dFcMVHoZ{-z?v#o$pG+OZg^mCBIdfKx|NGTZ=&J#*%$p` zDo44ynh|+8ctkVzQ#zDV%z9(OL^gweK5!iNim{D?hFWpYRzv;`t8k@(lSt)(nBZ?8 zlN`H_Tii82`;mKM7V4Qk)NXc7W?^0*(G6-)Y z*a!?l$lsM-uLgHVm5#mJ2r%^(+=q;_@9n%bUGZp0hbY+DZopi050jg5DA(vFW45_@+?~efSRq*(*=M2T0VTT8V4lSdgn^;26?UjFj$)mWCWFR|bCpscapPQ_c`#ALwnV0y zDne&hUagYGUb`}pu2G;-SFjtCLu~HcWW=+If=rY^Y{#LK2d8Mr^>Kroq2u9k3ePCbU zz#e>V$qL7f56!|L3aPO9Z@j{J$oy#84gtu8zW!$;_Bi$Nx9?XfdAx_0%hfR;h-gU*2~u8BHU*fgb#Ecc$JlYF zJ|Eh*15>2>JcfYn+hKTPc|lxjSg1!5ayH4z_5rt+2hYF1<+4{P`Jf2xsQ@=rS^o1- z7TT4$qkIz;OqAVRx|?r*$hxs|#)Ag46tQih@?FpmzRdc1cE=%_p_um5P+*%os*&3hb7XA{#yx7ss7R$J3rqLSBrDkSjCsE?~(#ly?Wik5OL$62O)7H<4b z$|46%W0x@DnDIM#ved;-U>77?Asp07zu1=x@*~*b4Ztd3M!iM`1<;|2@-mimsji@Wa(E$jCixL6cZL@n0y~F%dT>Gx+taOJ!eRsWk?a>^3 z@^mzvdP%4hmku#JtfTa2K5#b(Z`oaA`zk^wtp?N7e+%Em)VJRW!jxUyHYd30^{8U!1Lt(MIjt;%3r}E{ z`SaP-Vnj9#o<~e5Tq(R+UbdFTel?Ij7*^i~Hf;Cu`708uY1>OevS5>A7Xe*tSp@E-@Mj{}C0@FWH z@zg zQ#T9kDRz1_R%`5AYq#6^&8;TK%BcGRHVfT5 zgAC(4mPhqsvrSf`FmZlKHJ;NRre#{O-xBYb=6FcPbhk4kJcIX#AGcLGN-_Ed3HbXY zP`+4!YN|Pn&`^3EPJvjD5vM?{H61if>Y8GvuZE6F8v+uZ?gT-qg@_S=g85^vQ8cOm zV;z2=g|QZaKmogign^9x!qKDJz&vQX<`yczZ88Z#vmyID>1423lp;aWoj@9CF7=dk z!{9A+1#98$WI-|iHZEv5nm=>uf%`@_jG)z9*u^zmd8Uzn02gD}O z>iu<#4=3_8(*+u1dRs{3W$i74i9Ee5+A`0;=mhJmVRTe090NaJSf&|BEDO+b6pN&A zL%Zb}9m2?Sr~!RQ1X4k+Wc%yI+p*58q@mLSw2a3^EN#UeHc#6Tc?^ClcJSZ6$Fb#S zoYjJ;OKeS#4nc>X-gu%CzDbtoc1p*U3sFppA=TONj49UIz2&xwQR##pi>r{Rw=M#mtPkb z&p%AK`tj1UTpLyL)Xde-Hz3ACOT$|0KlEO4a1FF#rht)WLp1Ua*2ES@1UzQvr0Gv- z*p>z8obcw{b#2)ZfBo0H_7m5Ce<(lblQg;G-hYYPnOHU%k))cG%cB2PJHP&B3t3fp5*GtcE_3N1+hx*x;jYvp-;^1F@C&xPzsg!vU`aG~B+iHmkQ4u2`7$=Y(^#$(tt`StY zFjox_TXZS-F?~8TG=$Xt`YnJu=-%*A(bhZTs^5hmLx%nxS11egR9{In;TAUi4vY=Hy$CNguCkRZs9dBBWV39CUJ zgA70wXNuN*cMM;-Vd<_(wl$1**Lpep4|^&yu62NFv;PM`>_(1Iyv zP+e^^?^h*Fwc!b`&Ab-w*RhEmrY|bg(gDcpRgE^SPsK3rg!-Cnx=GYl2{UrgnP)%L z;FH2QF-ZAw;XBr)n_^@Wmdw{ZuIqa0WrJYz(bH2YZ66Ib3S#}k=@A)`J56ks#IQ6u zOI090ffEC8-369<+|KINZ{n9zDJ*^BLXYY%Kq;31Q4#{slE30Q2PQjX^TVB(rA&In z5=d`S4sQMeD23CXoKF(h=^wL8watp&l=DsCHEp-u>%-G~Y`1|nBm0ctteJ;xZWm6+ z+h@gon0X>~yLj%HeNI+Z>{M3@!s1{@pT&K(-Q&YXON0Q+_Md^sf;YD9eoqE}D0E_q z`;`aB`jQ1fFFqu>Uwydot>zIzl{-;sb<5#}u&1}&UVd$JzqSyc*M*m&hn>0oRst*a zS6+8Un?B~2QkhT^$?w}fV2js~W3s;CwpH+B@%B_rjy^UrW1+Bo@fd+;n?0+X>@jTc zl2GooIIGU_7%?sz56s{5Osm~v)F#2HDt2*BZ`fl@bf-74u=4-~04p=cokVR#2Ya-E z%WWaI!|pT$e>7b?5tQJZBFlG(b6$IE^YL@P8lE!YMCoB!%Xmb;4RzuZSSd3nh)Q ze$I=pKOPM!-AYS5r4{wXergjX(Q5aqmR!$C%i4$grB!fuBZI#CVR-j>Fvs zNA11typIv1;f=Pjl-rS>2eho3&JqxxIzxT~_s~46m1`-+_de-&3!tek%$c|TpD!%; zChn};y(}L)`;<8Jsi6G(7qwmIUwM80b&s>|TicCGzCm_N58Ky$KfP^lu;OBOE@F&| zWjpG&$2{!orrF;?|LR(Msggw;qc%Fvg2+;)p*cneXy+XH zWR=MA>qb3vM5os(N;_zH2s>M5?;J`S*`FxK1Z^-QzQYsi{|g zv|Cx4v=cfciNe`47zy}KNS-*g%KBMotk)vZWw0~}Cp5da8F+-iawXGb*3SxwP8_w8 z0lLmms9(76soN@t;{R5#&Ru??S0JpE!|twqrfUcK?jKy4u7ZjILC^hztl6d&Mb;#2 z)9gMm;>Y?MO~!PSwU@xmC|{dzWIZBzOlRBX%P^hiB%NyV+#4D({^0R9`pp%I`bTE< z!S#x%vJd@q>=1&l|tMT@f{K!2+?D71I#`8hiR%Bun z=VpgQb6RmqTlMwsU>garm~e@%N`OHeh}hlcS&ft>4tw?td&pQu406=BB-J3HPASCA zPh!yAX3@v79|y1k!GHK|2Fx~#eZI!yWUUmwMT{?=v<=VXSS^%m5n1*s?WXf{dLjwN zPwF{ej_Htkc5`e{zJ?5mVKv10Gz1$Z(H$Zg(mAf)R9=cqTNY=q)Na9s*sPGef4^Fv zG^{CTnINBV>~FXDO)*vwR31|I^duWT2y4Y!e^KHIAa!)-@V7SWz62C;ThIe{ngaa} zwI1ow}>S;EN8+UIuaW1G`NP8}mU#8OPoO%o${wEwSy>+wAA1#vT-6 zsjtrn$B2HyOa>u(fa7c+s(!|XGP7^i)Py#v`;aewfaN*_u@Oo=nZw#{61_hX<7tVG zfR*|MoMa=>6jI^>zzMtfTBW>_MRgr{XF?yuZBp5JU78P_gXxxdmipqCC<$vMro^yneTD+(q*CK8Q_=)Y^`%^9|%tYGE_Q@%3aocKiDDKr((e7)3#_rT^%Tbj3aB zG~knoDapG$*{B8yc2c6}hr~_|yL+c4U*G2Z+uTP8zFrDp_N+o22UriHW@8pKOVUl+ zNKDEBRZPsmu*~_g{Pgm)@I41fCtTm~8`3L|bO(*Mw%NlhzXhEQp?uu?p#K2*Qw^`n zsVsg3WQFTc8Rw~tz`5WILFl2H$T7Pau%k8^{f(8cP}z&cntouP1E$K^Vxk+MjANOU za_o`q28GfJxmR|QydQof<-f!X6dE0L$sOp*mdVhih{mo^{W*E@$2N{ow{UTZ~%F^hq_k0$xm&nv?ED z=#rFiWE2fs@AM>jdKAl)8kVv&?I@PSS650FZ=xb%FY;CY4;f0%HYGKBGPV8Q^RZ_< zOF6J+3G#s$R$#41_@~T+?NDl=Sh+Q9kzTUs(Dts<8j$n_ur>aO)iGp4hOPGxR>(T4 zR>41>9&7@IrD(BgdXSOgRr9ZbWWDa2Qx%}(Hnyo1<$w*v@DB;&!8Rkl*Z7u<_huU* zlMVfRkIzUDJrH6P>&fwVo(ED4r{_FMeTgDVy&gc%gR;)q3Oy}8dfZY+D#3E!K9edw zkyA!3lqu(QauVmv49lQ{Wnd+7Dg#{hku$y1+=6nAr+NvMWTdy$^c&g6gObU%vp*)$ z#ItOO5{$Nlmmhs-cXW43`gNPnUz{C}o4l!@7nl+QLinu+htutLT%So+IW@#UTa+5ZaU=nI zuK?H%@)2hXVviX9Y6`p=pBzB(p7O;{4fDG}*aPp1U<%_ zhMiTnhjS{sCV4)~8h9b{Faitoa( zd0#i@o5$uG^v!{5oY}-|P1t6u!QomE$c6EsLqi!n0DQWW-nG$gG+$y|u*znT zz?LN86;!^%hx|(iKBrK}6&DKaH7+YSX+iN-bMMy7=4*tGgDeSp1E8I46vIjKKYhUM z-dyNT@&v1m^&d&^*?V_jxqv#U%Rg}rcK%VqM^EtytswyJV)d<;<;ape4g2R(+R2%V zES(-n@;;6y)*k(p^5H+GCU&QHhwpQXbYpZD5#OsZ&r}&;JuMS!c1uhT^lKa1JGNMQ zYj$~G?=>4FHP&v&mqIu;IS&W2jSs}>SCgOr?bY{?T7P?cKld%^-SV0}A%CZz>vX?$ zI8hh7@(D&HY2nYkuGcdhCu0ePT5+t4lB0+?7Pf=6zvg8`a$#iF_sE^Ag@^qj2E>cVpc<|Uer(MLa#oVhbpK&bF{<>H;RxBF0QB`(X8VZ6*I#U-aR51z zhG#6mJed0h0ObhFh%5G*W?n{=<*XQxqoR+51*v*T?tRKM6tHejkk;+u z>-&-C-EK7`Tr!y^PY1j&v^BzJGqj3Xrb}$29wtQmrYm=~OF0hcrm*OO+%Ji$288d4 zhw5(GfpFRqORTFumTgX?C|GqxNfE!l5#y=vgxMgh&XKxW1J(BjW zEjwgQhmkgZ&vDR&F^*af3o~F%B%HA7%5D6?BCe7Qh{qmvkaaL@?@6|1b>4v@)x|ib zISq6;jJw}ef`_vF_TIt-p0jx^KGI)&?b*NAlKs-|tX%)P=Z3m}%`*)CH3km_TWy*7 zh6N>*Up-gQnKC%4hoM*~3|(SdW7WT-$wPFRV_FLcTTJ%ErS1A~lR7rM!{!+@3F2l2 zGGr9(+FoS6=Bxdh?OJ~pkF`rt$lr-+MT!S||CLg2KZ?q9M)5`R#9mec=}9rX|=RlJ@!=RzRhW0l|t#)Y{qd<=Z+(_H9GTf&u&X zdNw9y?=Hv=A9oN&d+DiB?_)#Iqdk8MgUDLlAniZNkCS?wx!&j-M#Y(?)5B(>Q`I(c zRXU1>M{L07yNxD8;HN9E{fYrIEam9lO5!Q8C06Nr`@V(t>(~F?^Wo}$A8z}74>hn1 zftU{ zQHK>230aR|vj6-^GwKiUU$G%`6&1&FD*|DM@&*Xo{=EmfA9~5i13U@ahoO=y1ZA<% z6IyY6eP9I3s+CXn55rbXTHLo!F@7nkrDnciJ*Drz3|E_O2l68G!e8)ZF9Ws{7= z;jTda4K}?Vs%D)^M+qs{xncQfXAasTw{lyO-`siVoOoBb);DcqL)N_m9VTD(7<36o zNzbhmvmTZ)E#q=qPIO#UqRqTZ^2TjL1E^j4dl9ObRUWb*F%WbVThteqF-+;++lp01;cyISx$`ZYN{zdz?P3)a z;VqEBjY`o{q&B_8y9pdz*&r5awHn`&R1g$H&=~1_jyCY&&`oe)}MFt)_D{j=Hpv&>&OmEq_*3Z zI}nn=ZV6=dRj3&Vs>mV&pz%DTrs<>_AKj-Z2jhRZzs{cq&7^l8YnsXIy{7vt`@)N+ zXSvt@>ONXp)6~&_KH*Xtc0E@t6D1E+9J)qnlB=`KMg~o4 zV6b2_HG=7LQx#(PUd$Zd{CM+RrTz6mk?Y(FdZd3rv%2*p3A?-M2FY)@Iurp--lP}& zpREeIUz-r_obbG@x?#tfDf-dB&MG6&iSFB{h)pr*DVLPHYyZd5y~i{4_1*Q&gpe$fcyW#)2 zS_e~@dOu5SYq5GoRJONfeWCiadK&7?Jsi3`qDFb~?)jCQ)b4BWs&^k!3RGfipsE*4 zueR(^PpegSdfjJID%tky*N06#D5Y&9Ftve%zz?7 z9UkQ*KH5c>3B&P}CnYeOX}avGLi=|dF=e&C=KBk`unt3KN)CW(f?kQ^*}PKv7~rJx z3YTd!SsP(rTDv?Ohc+IqDk1PLl22WwzS)r5^cYm{tSjDWy1hi>cg^CRL0XaHrsuPY zCPS@S&3#h$fYat%ST#ih;glGhc6R}2*D4?oU;0M%U7(wtV?6ghM-j0;?dI?gU&xW4 zCtD(JohrjQWIIP5&xz;!v+l!~1I~R;8y+OZV6w|6=XGpaYTxZ?PBSG z@?bI5ljrxHwgz)>XB{-DTJqgwrL5$oq4Fxa4^0C++;f|T91gCJ#t9@@c12~1nVT+*rpTc~rG2n1NkXh2BN@53^QGfENxVvCfw zj3HeP_R=Tn$BD5yY@SNuDAAA@k6$bKRDSb?z>;iY%AzGGT%pd1(xvrj0S`}-M%Z7M zZwP#*+x8z<7dpAj#z&@Os?doTD_TKLhQcw~($FxcP_T^7<4xEn+?WdUX>3qQ zxN5R_`h{Qmho(y|>M*6_pJX{Hmpg4}iqx!}N8S^FW%7o64PWl7!JfOU-e}74R*e8@ zhwI+~gB9(jIqF?mkgYq$VY;g##i^`}&BiL%2Hg7bdwjXd0uCn3y07O@mebo~bF>G-}xZ&5Sth9Rs^ z+vRr28r03kfQq2pm%TzeZRig4KtJ!3?JmsFDC{E$M5r)yN3w?N5DgPED_cr~&A08W zYGioz>BRN*FhPTHAa}mjbuS%Eg9LucV>XF~dLhBM7hvoer~w+@eg}R>Eh$V$(%GC< zPD7oLj1U)4CqxJWYr$R&JG%NW8gWOf9+f4QHx_6_?nIU`I$=%^9+~{5v9O_S#~@nh za)8pEk3R-r@NQJ5b--YZhQ zKd$;8UhT1u+S4MnCwNQe#q~KK^~ECf_eH^6+SZlP=il2?#*n~XN&kXl#>D26IvhDH zQ2v#`wFe-tC`=&JVXw$oonnnQqApyYtUE_OhOQY4#J>;`aE~wmF+p1Q*~TF?*DA({ zWozbSW9Zs=v6RT0m6iv7!|+zVz|I1hKWzMlU$Hz6sO8SVGtKm7=j*SCWq)Jy=0sVN+!3$WkUjhttyYjA7vnSn@SYd8=8kJb=8lx!frM z4m?X#CCj<8K&5pkl2`>@ivqoOkp^VF;t+?J-8A$Rg=8dx3h4G91XBef>=cD?XuBrH~g%TL9 z0g11t1v)BBpOLnsF=LWZTRQ3$lRyT#QCI{L2NR=(N$!(P<7l?j&bo_bV`{ZdPH4_Z zWSc2^3KUFQqV|yv;va#`oJ2QbR`#C&88$CH)uexbxi+Sza_wvk>smMgpT?1&8aT-` zoM@#hbrjFPpluG=q4Yp3m-FCFNAnz z((I>aBBiNX43{f&ifnhV)~=lnn-gHBYUSjhy%RLTJD>tUL177KTP;BTVyc~}#W)`J z>6+igJ7mU?c3NtcnE>b^<_uXrD#AaCH3e?KoIj+v|A_zol=A%>w|THC(GMXF%U6^E zaIk>d=(nQiw`AD&Wds27viH;PwWz;$m}o|)j1-+)5XqmH$jDRN5-j}tX|%kCSscsT ze8RnGQY+V2QqI;qEOEm%q8gaqcyaS9k>=Ni-d2fw{sYVlw&pdqPW7y&%>-tMsrhj1 zb`5)0rtl~Q5gVs~F2MR6gE<$EOKRc=E=8fX#O6fBlXz4!tk zB3VIRRRpBb@t-8b1{#uJE~hHN^pZaa+0YFlcQ>1@h?T1FWr{jXTp$Mn=0MXF$R~H9 z{JdD~*yuJUb{m}nzJz`Sp-f81E0U2OHss&8wYXWeFg!`MTeh2QFhEnA6r*~~NoH1r zNjedIRXV=}ixwdVMEE5NK`3^3FUFxw5UM{vg*70<$S|e^H87uYbA^~7QRtwkl(s1E z_s`0#%#uZ)OH<4)3Cymj%wCU%TQR{ja!ze3SUOc!O9Tq0H$fL*fLvOG)ycI+zaNBH z*GB0E1WrQK;XtE~$`5xQ?-#tkgT+;pK`VctG9*MS9Tq9T;o1rFN=jrF zA{waF93&qvw)~I(X_$Kx9pTnG=QS)qRtYdWYSl|QNuR&UAEa~h1rc|}4sM1D2Z5@# zKY36q^|@IU4e{ysl=RE2Rl!$G9aBvRL_QE8%K-{gl=_2oba+OkkBnzC8JQ?ndBH*( zle0E*E1Ql#YxYgdl^(ZaG^8tNR6w1~6aHeqVo3i2=*L z5yV`jVQDN(8#CC3j+zpn(X*};F^;Gc^~)K>O)A*xt9hnW{>$`1^AgQnE%DN0gS&zb zBjBf*lDblvskPZku4W1dKVNyJB3AQ~WdEZ~qku6vk1IPiZ^1hoAK7nwO<#p!nNoI6 zfQWn~yFxo7cU0-lMEOyA(hRLkuGaH)V)Pw}Y!-(&N2`nozL65W^Z*@I&ct?o&s$tr zpz8Q3F3a$D%L+x0<^?i+$DmQW@h3~rHFh$C6(`P!Pi*9)$JTLI*ibC+Q{-ddMjiz> zW`nCdhn-_%U;~R$A;`q%7n+9R;sK=PS@~Z8L>Srr>@{1Yzriw)cNu^!7OXi+EvPQJ zn@qfhwL+!bDuV)XBu8Kz(F>yR-3>D3BD}9yF_ncKVAm%fuajgn9s#P2vCsrv=(F*` zy{bbIp+o!655>M1I;?u{h&`#g2$lqBIjuU(3ms1JZ^=Eu&t=2Dd!$acjDj>TA)PSp zmt{Q4P=V@6ZdI6oUxrYsnj@Fd&3nB~b z5N#fNtgoaGgS`S+yu6jwtxe66^)L#y;t5Q-m_ixY3$O7 zTm$|e09q=LBh{jQeK=KI_dco?Xe^N>&%%?B5>Bz9wAynwQ?SMWsgg_3VU7;pJa(Im z%A?>g8 z&T$eM0K+i_pC6+`$q{O`7%7XKLw?fbiS!`B{m7&_pjhS?M+|an5S+{<@0hoHdh$Ty z-KEAOX-%iA-iEw-yX9U~X6VBHnuXX`XUf^IjW9qeP5=e)r{O$uZZo=p=B7)LM;Bwu zMK~IeP`-|V5oO1p;ZD(N>IM$U+9;+`G-K&9rxLZBO5H_C+RAhpoLJeP;Kd_2`~9!; zqPfdgTUm^GB(LLA>}_IG@;7|kje&na-?7!^%)^N{5{c{|b>&vhylU`~#ZtJ=b5;8p zS&gGg^VdlafWsXfB+x{fKx;}NbvB^XOCdiFi&2eJ_;;}5_Nk*zH`iq3R75aojoyEma$uJ_pY z$6MEs5tzx&O*$0R1F|V0Qm_FxQJkMCScEdw(Y6n&lc-Etg?)mJYnP1Sby&f*(pbLdq=}a ziQcZ((2>J#D>Y8?5Fz|r<-F{tftk$)}V9)6Fmd8zudXH+4 z&ekWF0_PlZB<*n4O%P;TWxcd4o z8~llAmyFC;QbLh&nmXIPilSegU?~rcQJj*nYH3aj_b)hRPM^?sf_YbN$$!8{f{Qf- z)`tN%*T3$6Ky+@v{q>o5^VlFc)tZDB>cI{T3hvgRP_fLGDb1%|$NS42u@c5tKaqIY@>jCpiXU~q2|FPQ@qmNjXZxCX-}4^o=Ha5tn{ZW>$A3@%|BiwJw2G>@v~08 zMWN}{)^O$hdD4N{;L3oZd;10BCM|oN@q4czrOFP(+W3BhNO zc5C5X6kRC zR}QuQ43)t?7c14nZzwang?rlmem2j@E zF3R48f4T27@b{OD004Ivfk>-tgqHxMG%SMIu5xgB0*JI9jtXAo%DmVeIHXaDO2#9Xfc&OAp zU1Y+1n4z{k0==gc-*9%|NN%dDx!T4) zgOitmvp)|ophf)53EK?B<^Ob+vma|a zl(zBpoCMuueQ*1YOGeiqDsdIIPe&dl_k68h&1-2UIuD?&te!YpP&c)##^^zJhG z?X)-121bpw1@4zvB!@56HVF;Kv}eN`GzMLdd;2l#Z#KJ{jJiwwDg&)L0ypaT$r3M|Arky$T+FJ^MA)wm8V~YQ~ip(O)Ij zj~i_*wfemrji(d5q-$A$TYbdP`BkL!$%ibNj=Gv?iKHzxoR9Xt6#R5_s;lGM`LQ`N zYSH6q&$Dk=QXgIl+o^XsQ|6M#FTbBxT34>wbR zO&J!c^wyyVBfHPO0}3ZRu!TP__}Md&PN4w(L-|*dnmk`F2mjE$uLZ;;k)Pg9`*BNx zxte;<^Hp!23*7L*B0kJI@U(|cr#9(bwql5rXWvupN+}WW!*2Y{_2f>n@{-5$rRN}( zX%RnZoU<#uHQ(Oq&=1S;m@kHmCrC@JwXOa8+PnN3jeqthzqw4x+WzGHN`sz0O}vRD z&T?(woV#DmSG8XS5%>NWvVPQFkn%@?1gWi|VLJ*lz2-Gk)`wlf9McpuVOm3N)evl)pX!XbafBDt1o*I%;Twp^8_BG~lZ=D)9@X#UG-RI>(hPPB` z>Ezu~Ik%TEgZxpURg<)mPOo!v{)ld%Y+fs0j9YZg94>8eax~q4QLYA;4$%)x&@^g? zsyGdTFBCd~yWbs9Klf|0d52}ejof+vTfd$N3p(5OUpCf$Q!=vhZPp>+3lUo3d`HJ1 zurGWj_V_U^bdmS=3S{n5ewcs#h~io$u$pSTakk=--AL@_kvO?Q=l!>OmE9E26`!lt z+Pl^B$7JZl&LdZ&pKIyQ@n)+vsxO`!>uA^_xaMtn^zqD71G5{M4mX{Cefi?DB_gtF z19-1{#IYwXByB9mJh{-! zO`A#Goq<((@W1%~Yb!r-J zdHOpYGIJNBPiXL38VYM4<;}`SBdzXE3O#!-ArCCiIL>}(?lBYsF_eA0V@V@E*(vig z^lFmJ<*9qAcV{sP)@6&s@xS);m_|Ep4R;~BcAnpCggG1yYW`z)5VlF)A%@L!?GkSA zb^K;g0fCMxx*nf7ElBL$BVmHnELiq-I;uf@Mol76Z!LS?iF|)D>gm>B56egG_vB5k z+_p~h^oUt^_X4{-EcvL?dH2LJep{Vn>{{*mN)uzB?}C#7lXjX8h9@(jeNC{fiv-_B z4VFaZ01iSILcOVnVnks3LYViM`Jfv|VVHVb!JyR-wnq?YE8Mk~a(Mq3gkA{t7O1;l zgGwRCgeLW(FLoy*oENO{^4*YvL^JZNK_m{cEndAy!_)@HjVp!)h`@9PzQ_@5CWI&u zd3(no-ZZec5Fb~UP8X!#Nq{c7aQ5P018$rE1}~tG?LteHx1^G;Z6t1S;w<7*f}=UC zEMCuAoT?Q2T;hk0K_jOjkG?_?-6u(SJBO!PI+XC;8zv;?c39_L56nF=9^lzU++pSB6BTG6)(If* zib#SsaXgJWU>#4kzWxfX1|SV_u!shjD*%+NiM;(feS5NFatapu+LWEy?dZf^gkne#O4c?9M6eq)Lo=LbS%E zqAR?w5OtD?X#zkIONeA9-0A?lunzXvEkUgo<{^@45?X4>oirvCAW~1FqA>*$#FPLL zF45C(Cvheq6=Mi{z*hHp^YjJxh)9q1IS=Qjf+Z z`R)$4t#yzpxoiM3f(`ci5iSFXsr#P945+tCtGBMIx9zF7U#5jCZH`fDaI|f34sN&{ z6}vtexl<>lrX?&pnmpYt?zcJ-Vp~=-+ z7xEi3M!ewn7gMsF0oe)GebaIz1({d~3F#+Q{xE^GKuT88O;2~JbhsT-HnWLGCas#u zytDBDAQBns3^1aU34LPjW5q;PGP7DsVg3?p*BRv+ZNffL@j)i0cMSHLDT5UvUb8W; zsh3|iY<#GHreBHPX`Ma(8c50Wo;(ZC1dOC(I0N@Q78MWVJCY6pT^ z6&3|XLmA{s`5#aQt|jgm!=DV(G$)b!r60{ZJmBie2Dq|A+ir+pr>)NpM}_O5`Do0g!R}(VHO%s?xc%g zKAtzmae5_Xd^!&KUWom?iY=0Gp|v-HVj*;<%o^>61cwX>kuAD~U87zxW6FG@-MBLb zKPW`k<=!k3wq3o2y~BnStYS~Rzj<&B)<^F2`wd#lWSdf;-lC0;S|VkOF<>W2jOlk{@qgsRS<}D}PqpfR>Ok-S5)%zM}KTZ1##^`@E2;B7~Iy zzhmWIywEj~hP=#%pN}cFCs$bE%&LKiawaly)pq|H?93{>!j`W%4ZFjXxu13}D!ybK zhxv?$hmv6#Y~9mj*v$alCLD5#DMJ_5=13A9V)YzLh3F4sWrcOTQ8xxLc$Ksa} zCk5DLc8PThwpc}WpC&8^cjw6JtvL3L797%E1Uv5~+kRih^(9QQdh;Y3^Jxq|5TaW% zAtiVq+0Rw=PEKgQgsWAV91uXT?YE`{SZIjs^cXCh`PfZ@@VkHel?o``2L5yVP5kn0 z1tH=+PMRJKZ=acz2yaP5UCB6j_VlJ?9P*n;?|iI`8&l?+0HOK}QUJi(9)Nk^Fz-bZ zSRdizw303Q+F8+?)LI{}3DDNtJKcl`WbKn8p~-uujPkO+T5HAI_gNaQ;m#GHbxnCa zsfxgWS_|Y1;x~49&Tf0SHXxYPQ3WU&3q$vrQp@{^%?05>*-YH?UL zixAC3B#c3QJq!-VBg)2+(_3K8PN8)2 z4Qa@PTw)-BcaYI$;ejI51lT4JAd`ke0PdK`t4nGNktRoG(*QC~3@iUt^ab|4y+T;2 zG=PT<4->%r4-9357O&?Zbzh^}7^_28mWCatcmL&y&5liui-GIG0yISM> z@GfiUGYn{K;k}GJ>0K6i7-vwAJnpBCldtrywwW=Z>4#*d$>=RN5mdGN zRB~IgM8@g>=7^|v;CzrO3tTaVx|8!JF&=4lXlMe6Fx!FLuMF{L!*5XElro^ZY0DWW zhP-(2PIYLgaQHI$O=Y}{6;5UEskt@xhox-fAQK$&7;-#rI1vX4t6BcK)b0U5E(sC4 zaf|nKpr?+#t9e-JAOxMRVRx;zjWaQ2zoEJ6m;z&1;lGhRHX2CyrF%s^EITZ ztal5!NciME4x_^8)qV+c6+m87vDh()G`RO90P~(lS1tC`=2FaaE>x)kEq0s+jCenA(5;iqoMra zE!%0A-Ep8d0xUxK`O{dNl@M4U#5&MG(A>{hHb6OM;x!KQ;=YOe3@mOd))U7NE?Q3h4w^;uDMmjE|cef0-xs(hr}{$--Uqsj~>uZ21>R4Z|CG2uD-ayL|A+W zm4AP6W#gCd@SgF9d!Fw3-F5nRx5Lh@p5SaBK=^91;DfaOn@MPhfF52IY43xY#UqyU zdAU?%A?|NUJYwr0!CeztNQD!rKp_J`p+aJR0b^{DSX_Sq4HQU4Wk^kACKU51UlEKt z8xQuu^-uJpQY0Y%!rA!E{Q$hSN28Z#_n(_l&8V{`nA>?b)9=Yt=u{k<5s8=T@Eg^GfsAX?kF|`--J+@j|Xb zL1Jm(x}(lRg7#&tAwTY-VwT3j&nC!J>%9-@>Cmr{s^% zW(iUEL#NCxOAeI5;N+mZ@W7a(5imEJy)nyUPMkfmxzboc%vqeM)K0Ao>X_BZ@sln} z`{WSHeLPi-K6h{DW)>@%1pF#*0ZG@uOcH|?M-txo%Bc(*-HuMYPdIZnBkW~fcIW0U zVK~+FAz z3Y$NWza^5}?y7RsLo**Z?hZP4bOjfo7Kciu5YqI_osdU`L38<*cZPwG=&5zkfO(w{ zyei>N_I!ht;w&NGa&pxXrTgsX2JF21sp!5u!(Yw!Dz;5W*U84F9;naN8Hk^+c5jsL z#~QW;_CuqW@uj&IB0VR!ZSUxB<-;^u_7_>5V)mCuPto^*%>AkLrtX*BoiL`2D|7i) zZ9eaiysyKG!hu!t8;nZFj`3NMlvgz5*A9=VfE1!}B-x zp5B03GdXab?$>62ei(98_9=KQ$CCzQR zkYO9s($v@!bLr}kZS3V63q7${?`}&&lES*B+srGgplsKmuQ9G{*>VjmV@}k9wuq!Q zlo<0tPFVMU|91`+0M-I}GwZGrPu4sFcl+Rar$l)>wTSWuz=A4wKYB`0MN zrV?y3ueH7-QMS-@ijj}D7z4|=TC}p~mACX2zLRl^qAcWh$D4%}=+sQMWLpGN26D~& znn7JU)5CaObwtp{8MQn&>~#Bg%L|;>-CR z9lR)l<%ZwPN_(*%?6I=nc`w89N7y7zKZ)fWh48!DAWWBa9aikMhFS@wFaFMNb`%ih zF+Sj`%_lh2WNN=s7g_%7ur~8xy^okViL>nls;p%>E5$Hn(rEpP%htX%j;olXscg)C zTEEIh4pp0;PKTW%W!l~u&(yJ|WT5?=l<%y>n#NHoWbc6wBDrmP=jh&{pc2 zb1XJU6;q#+GBK!&MyQ!tlDE~;Z1Vfwvvg&pzxLr=vcZtL&T&8!@FjWxCA zXg@~OHV>%P2(w*J2$By|!7?;F0v=gM*gdRjxJ2ez2F@NyCuRdfh%9A?hFbxZyKU;Ita?X($wfY)U8-+c z@RzH0M%K%F(0B?DL0R74o!$JE`~Rk9WtUk{?nE=*xV&Jd1E-1zd8-PmTxLi!-x=QRy8Hlk2H*gS#gE%?I5vXMCt48JEyLg;Q@b z{$7UV<%#&16&&>Pu!+cO)yeS1BHW9{g~#BO{Fo3J_0QU=D603>2ROd$vvBjw21V8K zv5ctvex*Gz+ym-7&t{8(oKgE}CFZ&QQ*S4FJ&!i2^im5_A5iLBZCxzOd}N)jb1>Tj ziwQrQV0#XEVB*OZ2GZae3Y{Yp&%`RbCKbD%h)^pkRt}vdlg)gr5o{k}b(mlY+2c9WHi!TKRI`T3A8_oRha|*g+Sdn(eq<5eS}E% zd`4WmY%-2e_2O+-q>B^!BOk0JF}jjLqd)RYKlWhXwyzBuZ76AkNWUt~w5CV`a`-_* z+EdpAx1KDyxus2%-AQWPax%(6#&Pe(ZAV)JUM>gROPjj-?`a2xDclmM5^MC=%22OX zMnH9vFU@wdjjz+Qx#_41*aFvQ^z8LH0Wuto=OK-ZAr~V034wsz?bc*mZ8Mj!BPC0r zVD`uk_lF9O_$;kd7D8|Yv|K0PdqnmDlQsZ{6zbwr4MSNsZ>fw42%GR)fk5r&FSAai zjtznvm2n}Lp`TwwfGc8)DGAX7Du=SBFF^L`{oOvSpmETC54IH@pm*FkG%S4Di-lxR zyzrC#ye9jdSoLn8yj8EBmBpNnNgY#pvQTqJ%+e_8T3WupRML_lJOLa}0YobvsLj5zIewEC4fOYz z`e$E|jgXHuFyF{QQT6OV9$YQU3p($v zv-KBBQm?`WUaXWutshg0kLF3`K41dGjm8Gi(o?7yb9e4xVy0{=&n24!6Q&Y(5L5f{G?}>Slt#7*Nrl^5gES?azoy!DYlN`W%xwsuVKY2hV10l> ziGP#skj2%shB}yXHH1)SJZ~le;xf&~EP>N#E>Z{4;X25U%?stj;H&JDW|%OE6K=XG zYr`CDX$^Jzsb-oA30&iVrsb2k&PQ%3YNzt>BSjXtoPEC_PQ-0h*M@Tk-1FjEKPiK0 zLVg^PM-TxCau4I@?8N6rn5oSz)2o*$`M8@T`( z708d)%6nu3tJH9$%ezJ|MvgWnjW+Q;+UOovWQ-8j+&n+%(9!ktG$Lp#5$Yt^ z{5(9}<|pS_4|q}xVhr;)2|-eP(Ym6qvL*rBvuv)X>Hns#P?sx(wd>G=TI zr4THu1(~*{(%gAZ^kc*QEpfL_KPpV8bwHzL$l6ps=x;`}-n~f2`s$xG+gD*uh=)^I zraz=0o`C;MBG%{wzsTZI>>X)8F`?$_qzt| z~A#@tY@)%+Bz))e5WR?K;rq zU(E64fLI<}BA2%-^Gz3uVp9t~qNY`-Eb6Q}g z6`)=xRT{L$)=yyL7_hBxp)q*g7754xC_kqd=)Uh_G#g}>m6@7aev|?C*`B%o*luDW zcUx+vp?q~pXl4Qp8n-H^E8(1!2j})F05NVUrXcNAJZ6T=s?Ut3L7Dk^I)xxRatkh% zr_Iz3AP`I?+*Hw28WFC%#6742-@S3XG$FOzzppP17qB-Mq91K$*rD;`H~(ZMUysVm zOPbD15A=EFt}O!U4nqp%w>LeW&VM^y@NN1GG^i`*QnS`fvE@vO%S`EClA0b!=1zUr-Q1iA-dL;ch2&+6ml~Zh~FYOc1!lQsUU`kt03S> z*MzP@i9gm}w}}n8f(cFmfu5rHc5J>j0<0_HdlC7rKY^jX zpgHJ`Y)3XT|g#3J` z6r|u#qwi9eat+8CLCxGM7o!_RH+|0*Gg}*X;doZ7&^=-~t0iuSwW*a5%)O+eR>Q-s znjhWB%Jg%0ar|v*^$xtZxiRKfXY$Q()`ZY@J>v|hKH!|%@8dc8GvTAcW)};L`8#k} z{M@NDJ^yTYauA2{JUrUn)vh-0RVi0tsWZlmrHkN(nd8>mdDdgBXd33%04}u*<#;4K zuDLm5E01vB*W7@jTae**y<|%PKRxZ^)*#W!KNou_JWB!iZT+lL!Yq}YgH)wjlfgeDWlazd4FkEGC$29p zci$Y)p%UvmQn!sabDPpoO2%OMBfR2rvY|C(p%wJAjVt~F(o0444R>5zx|1d0=#uam zt6aTcl+q3`j0B!0X{o)-X|un&X4e06BHPe9M`f%5IKzGZ4OIUfWI7%51*g=fXQ$oF zH5GvLsIjI$#ai!g>j`6Coy^HuQ|kK(Ea=zfRq9(*-q(5$Qbusel1)p}H!F`TN&=v| zbUG9P$`HuZGQeh8;EC#4QV{AVbcxO-pH`QD!q!I_$gWdxr`7WnHu6@0;yOLD?DY(; z`4L_RgGY@9J<+o>Bo>-VmM>3fjc0+pgR?dV`cQ}Q%{1^$cl-5HU$t6+4g#dS${|a* z=EQya0uKGaPPK7qycSo>u3nqX`Ct{N&S;FBKq`eb^0QV>uY;6pZ{k}xnCXv7(*W)V zF7?mi76#QS@ToSU$fA(j-w0HmJ``I5QmaJm{%WNBll@hTr_&4~Ntc3XY#jBetbikn z0Kx-->vXVwDyM2IyfeMl< z0xDa(5d-z8-CS8I1#Km(UkKC;49PCz!iLMfk6(YL5I%)F)RCS`V>^UdaJ#qUa*wrNMrxMi-nSFCMsTI;L>su4-Yrq;X{*LM6^+X?^1 zQ2OSh`z@t$v0Yz9OyH>$2DM*folek=w3}W{p51s@OOfvra~covKG)n` z1hKfPl146ll>Hl@6lXh4UDD*G#|)MWv}v1O6$vuEz~kMZoboc0X4=2zW!>0PoyV5O zM4ZyX2k-E^)_-f%d z%b_|Ns&+2>ZYT4l5b4)k-OuQzU>+X%o!2sdBc&dO3bum;~z+|HTU)B6XsOi9tLkFD)gI^O2>Yf(S~&6wfFb_ zaoRQZ`a=&h*D|vgR+TnB>u!A6vhmgJ^x75=uYj5FDH}gBH-7FN)sCLIV#nPrYxl*L z7x3S|e{h5u2u{#CvT*<0&ck=k>o3JK&+6pO#~oM_dMR^5ChS+-S0xvG&wCBB+!tg> z?v3Pp`ZewPdzBE=(Y6D-B=-wKy6laPETA8pgUs}r>iOw-a~#gtMpn9F>vdp{nds5A z<%j3JPRG0r>RhfcfxhnDXb&&auc`}tIyb+L^K!e8z!@6oF4-K$2_NAHrCGgGHV;kd zIr+}NWiT&OrlxErmHdK}GBRcahUNVyRy%E6yzVe`RX7R!^Zm>T*n?QDa? zOGBw5pE;|KFM3kGe*Exz%c`U=Q_kejAL}pkqZQ_dKmM^xzOOvHapcp- zzji-Y=kAr59R6qjYi;@IwZotOZT<7}%i`ltclblOGEf{Df21Gd2Cem*jJTwnN)CYs ziRE1b_~{bb-oRQ&dfslIbOnEUHziZIXo})b@CW)tk*DORA}_KgXLz`iJ{cs+6}lkX z@|oV_u=6jw-^9RA4r^`{(oySjBp=a2zTNd%8mPqEc3rE~$HPXuY9sE$c6yT>qd8BWwo@6O|7j zkLkr!t9AO2f+>26q$0D7jJm8~(k@QLwx5r~_6FsIE9bVqZOJqjH`g-E!+MruYBz5VN#p>#sh&ZvEmq|yerfwb#hduaRH==!*a-NEZ8mowSK ze`R_Ad-$Db zY0ruSRQeMh_2!hHU_*TDqTbo&Z*%fj2OuFQ5;AY7+dPMMsr@z`rsUe2jcA`c@#WlP zYp>b;&A0xTJ@_1SYm@3f%yMBZvHqJ}i)rVQxf5!O!qlzC&hIhYqF{&tJv1Hsu=8iryAIF1dCsK*hd; zf4znlls~u-XD{D6RXTL@QHCQ*|NIHNk2l}nvHNs;mm3c|{ef!#c~IrF{g)BLyY^on z+HKgcje9z5{q`i}^wy2T{D;nn$E zwmM-@!L9nx8s8(7a@`H=xPS4d16k~f5bR*XJl_7t8eb@pBWw_MSY4vM$5MWTR zB!4WV8s@53F|8hy^+bz$ESIV$*0p(pE0;0}{?i z4Oh7ZlA%;kK+SCrnbVw1%0f;EPNnrj zFzZ(xrzPDvHWDD=x`3xVu1op-A?h474y5vjjgii`Rj;wcngUT_>Y#g%`H`Qg4 zW&}B#7QWEDn5SfmKhr8i6`P*Ekm{~KAWaat*oCd0A?_Q&Um)tI}k8Mr%(RSnDt^&(JjteXJhVzn4Kz-_fKpO&-GEl*l-< znpAI-hX{Y^1&OIm3VF0Fpo|yBab1YaTgtiPHZOBA>Gw7Dn4Qa|J%+v~`xbS#*^Tb# z{Cc`=-P*2qJUPPTTh*h!w@dGLfRQYKOD_W-*Wf;o)3R87)CD+jQ0j$C{Np*^CH9pGI4EtS~4(wO?z-$*o*0xIH{Db z^XzIg?{2*|q`F-C(9X7Tf%a9bLM~p^u~e5W$a5fI8c+%C0}AF#e6?jZ#>G*rTrinT z2=6^5cnRSeZZkwQYnzb!e?Tqni#kXc^I@iF+z1B0Y{vzkTKT7FMAt$++12W%Yq z8-!+_T*x_TrMPMfgV-lUDtY9qBF)ruQtZ;|yGThWTFcjPabw*5UDPTMQKK{U#>Ag; zc*Ne*s*^yfs`$;SQ%A^XM-I>=k`GoLP!j;|wDTwex?XwEZYk%{UH(yL}apoyJ)4tG?tAJ8rWs&GXr zY`#$s-zb=m5dsw_Bb;W~$~2J2rYOG_prRDdu9;Qj@TPY~L99g%e??Xvpv;hL&!0Tg z8s>`Co&XBaa)rsPEz}AGTNX)iQ@-ajkTpAN!#E?$WKAe74BHd#U@*(u_E+cRZMtG0 z5dZm&?9_IvvS}&CT4@E;wvBZ9Q;G=|+rI><3t0d8XzSKI!3Tymg5~9RFOhqBM0=o#phcxqL_`BkV);~Qy_XSCtw>Cc z1sNBCur&;wM3AnuU3Ks@zJ+h!yCZ__7)WLsPxDQ8gJc6m;@`Z=pG;$PuyHz0la@7H z2GaKvk%SA?C&e;-TvL#EI0V@L_xagsO>{k=zf6I&SZX0_P|9&G(+28%8nretXtHi? z+S;1ji!k8Ho%e4&A8K$Ry7fY$!Ns)Ji64f$evjn_=kd#xm}DMlB@p$SY3Wy0ti#ikYOuW*)1HZrG=f5RG2mETOh%QO zJ-^XPchh4>MWB(K1ZaU}qO}dXJ45$|i%Hz`$94jB=ENj<#$%Xt*>-V8|71w^N4!9r zA`ezCVzljE#8016=>xv1Da6pk`DTm8tmVP4TnsIXel0%0f8Gimr6>zgBfsrd}*($_%Ko!7 zgtrA!;jyZ$An8G%TBZ0>(tLaKq_(^mk}B446+wzXW*$O_sza{q7wr-0c$aTxEBx#= zKvv}w#u!8iRn3;JBjKwEc+$3b6M#rV$Y@y$BTw>GVKdYsK6+h96)+3bvvk+F1l25c zDuXBw(zd04zCcv=(6?U~ZP3RrXYw=ve0?uEJh*0Hh;KmyX_jOE{npfKnIQ@o#OzBN z>q6;69WQzA+zZtI&NQMq7_HG2Sy=!ji|?EV89=7~U>J(hh( ztFH82DQ%M5pkZZ_>L$4Ihx*BOX3m_Tsjyf^+Sk`(p1Gk0q zH__5QT%rkc4@1NsNED3&nynAL8~2!i{wXMH($#E?$l} zuF_?Ym;`Wr7Q)baN8dO)j>n#o+5)Z57D>|)xaJPA0-ogf;MOy4cKYJ0uCJZf_^R>@ z0t+;BIBIXv{lKr?0bUk(r0?rZVw#~?HC-=iw}a&vkEqR<(h0@Yi)|vSlu|{6qe_a+ zq>wNt!nUq;Tb==Vfj9!Bl7Q3<@yC81zTjayJNx=k9El_{tA7l`o?TG~7nmH#-9#sQ z41gRN1zSqx<(ZV=FYfn++7dBDNd1t_!_NUt09WNFMP~LQe4t28HH&~2nX!Q?#Y`P4 zgAJXN>q7+#L=y+HH^`V^8!~9Rm#0|{4&MPTvgRrE@>I*gRta=u5>JIJHa=PVXpN_X zjgZ658KyZ{b_vBgKcOkS^If!fFyi_y9!e-cf21Ycy_PUxz3)ky?hRD~L|5V$>;1pd z4pnNU*77ykT$RdJV<^Jeqa9OPN=!{66p1#y=Jjr}l%u99?q^`pgx#5p%A^pbK*rW^ zkgh983j%b@|EOH5L$*JkUTC8RW@5QOGaT#e8{@oY z#=LCcHH-(}L02LVKGaJe(34{2tb$~No_E+>Pk(K~z#efOZ%-5OM(%k`uXkIC&6dQ- z?ee}GAuOjIME7P#Anh`bL=vMw>gLaR#zqbrvkW{tEBFH6!scbkP9;@G-ihlzlpot$ zIQRc$WD{3j;1d{vetP=Hh$mM3{nvI7`WQ|ic)D*`*R#kLBfH1G;)GSe+%tL;o3GR7 zEe?Myi%D)fTtckx_AE&MPie;sbqL8eF9ITX=5t|8Ed5DyMXnWW=?J!53N-sBwk>jq zNGp-k{S4s%mDd^q4!^^3uA-hC5oJ=;Q~ctUxFB*~j?_%Tsya}lE1r?e zE(&)C%5=wm(?C@2@!u^}KhVicEXsq~HFTORVh|zXUE6tR5}%wq6tr2?7Qx$4e0mih zh?)BI>)>y@|H>I`3#LsV9}kb{z0-&wTtsU(X&5n(Jblw}BjQgLtu=;HpXg4Mj@j_u zfqeb`d4T36PP|OUiJoECcc9IFQ#wztiB0VXZ2AUX3G_vCD{Iz60ewRof))k3K2?mi z^k{&*DDHE0*u#`f5E11=na)tkolp5mt20NFJYgd3nm~+hGJ&?MclaYII8WIqnNSbx z?zrOnp$*exzz7l8`rw<8dqkU40wfNeI*u7IB7tJt zd3R=`k&a-fms+h#R&1!b})lp#ZqJu}&rbnRRSlPqqwX zyvC%M9UEx=#lyLN9^)sfq%z=^&&rP~O$_fWsJ-vSDcmE&BF6ruUjtFt`;04pJ?@-Q zNIj}L5|Mi)<(-k5{VRUuaVTNOr=w2Ud5`Lj5=C=9Ab&H6gYxa-Yw?~Zu7=SnWQ*4}47svW^sGoT_M(yzBWwyNpNc&n`v-`7pj=ch42Iaf2)*4V zRuz;{QpHNmf7&J9fkoph3LumRfXcO^d(f=iaW!?A56(!%qAi#3Z^q5EQcA*p`$qZc=xA&t>Klg3(%Y)-u!8&S4S8y0M#Fjr}puqIyZwQ|!v{D^zaO*fvKsxL#qb>Fb)+-tu@~ zQMGye%XZw&GyC`4IR=zbu&feX^S z=_%cc#4g~8f7GtQ+;!Q$?BlwLUCjtviC|uVSsgflvfucymszs?BpLPJ`^ z;I{3`aSO%%D^#ZJE^5AJkpcR~FxK$dYr|qqqqy@3>)91niN7t!0b|%3+j!df^Ij*$ zIsg$qu&o;IQ@mF}#4|HoNFSEhnOwV%G^~qjE-;ph9E4ekC7Nh!(jXXZJq2%cv3*5$ zFa8bkh(M`Oe@BX(RXqj@w$=S^E>ML!Xcb#EN_3PBr)dMogmfOiFg87IplpAF8xzNp z`#X#?dkeUlXCsk_t9SHrn~K)@0TG49Q?5+~&Ivu5W4FiGK%=U($ZQ$(8#t(R`+`KO zMpm?dN`uy$Ag2sFr4a(NmHKP>>^rti&G?PGTmp92N?^Dvy}G5*Wnd0bt< zSkF2-6muqG_hWR_-&@@lXM~@)Z92kkLg~?~q-bm>H&V(MN*2our_(25#e%;JD61)K z9#KY06gOasb`9|;C2rAtqIG=UdxJnFr+hodhA51_KX;KtzL^(s+hz{FNYbNqgU+xb zd&A3pRJm?C)d@&&(TOntQgg?g*&@4P)HSQn4R0F>w+5jZ7*FN z3N(!F)?h5gTN*2p|E*}1SZ&Obeq$W5Wpi?NH5tM^P_t$%yyz31w-dh3!iv6 zJ0Bk+Mny_zP~EF}R9d`g005#JJF9_ta~Bm{Kb;Zmnh#p#$`o-Luzy*UBw{-<%r*;8 zE-T)ajiT+LKC0^75L{FUUr_k78jg%hAJ}$Pvp~5q+h`>ZK`#n(WwuW!jBr{KJi>jl z=Hcq1x7y6Ee!mC0zh& zUhaiG_=DF_3Fh+&gIS;7&LX#yKIF?smhD)iG1UJ|B42zx(N|sXK=cC58VVnOjm|v z^`yeN4fBzDY!5a^*IHD77y;l-US#V=-UN9`=UgFluyXrKc0}K_W;;zx9C_>O>DnMA z@SL8G`sZQM^OqV)L)dlz!KmnxuFbvt`SO*5L(~#ee@BSbY$&NA2bLo!Do=k|UPhLN9p5}G z9mtHFxKjILIfkLK`(a5%&v~nTv2N1pKt$=)jsu_ehN%QS9ap#pX%+!dETku&UWZy^ySHYNv^&FPHrezwI0Rvp$S=7A!#g)9 zm}F^eltaumTc4MU=w&L2C$ptQDdrd7RA~l#eE4e=ip|PWZ7ggH=23!+pYv6V+8TA6 z!w_-oFQimZu0e*#xsX3%lncBd?Crw2Q3Xc0by!OD8L!NG!eJpsGG9CP( zpJpx;Fzy_4b5J#Za?{pQbc@4+Xtr{4F7|wu%L_C+`)cLMott5|kjETUrvbU<9ALma zW}xW}AaC2E0mgkTd-EoF@30d!i#h@7QKwe&C01du>CK<+hpDGjP1L-#x_;xq`!iXe zmuuc_`Sp8(r=Hp%SG(k7^XFk%UFvz$+V`FZ|2%3?KXA#r_QOuOjXwv)S#+n~`s-*& z=e?&{xh|WvD>9YAByCxZ-Sh5oGE?481JkiVLjttUXquR~JtQn`t}<11tr=>F-Xjnz797iXyGw+9K+R|8 z{udLRi$H^1B9C-(2lo8^z05Pc%^J>Z8=1IBv>st*M4DbPs6VRr^v+}Ag>8n_=VSbH zZ2CUS?f8qZc(``=%jHj($&%1qVaa}vzRPBrqez8$C3nzW*oId0+Ls@xm$$6QEx&wi zQgkAkqaUc7;21r;5^n?$0WjtQVLMy=>4Z{R*+pZnzBPcB70Xb z?@jRMw}Tw?JpuZGl;Xx_CYM~B6<}VhVCHGEZ?K#DUqc6*02N`lXralp7HS79(6Iy^ z`2{^Klr!PEuL*{Iqj6>*OR%~W zm1-e4k&H3^s%d7fWtFV8#qeEvge=2c+eunl+O6Fd@$SQl>`?~qXWN$k5(==%%%r5^ zgPiW^7*4b%HJSQ*6SweGHuGT|yXWOn`D#POgHefrw%kL3!AHgbkYu+ zqu*=}Ju<*Fsq(Ja7JsuXdqh)dLM963Lq)`ldLy5dO_#20>PRvE_)aS-< z&pH8YV^7}Pk?6Fm$0_8yQ<$Z5RH}1akMk}|ox2XW_3qCn%WMy%c$CZ0ke0MSjxFIm zUQHR`X_YhdS=SEz8)Wu99RAxE1zoW zHMzx`WjN6@+?=XLLb#n`kNdLRu0?wOj2w`$ap$sBu11CYj0&@kj!KI@FZ=N`R(9;l$852S zXNlU=q>5ZxRQcPBQ{1>o@NY4DY+Cs9AGlx^`fHpVFk2Qai^j&fVUJ!OF_8_(Y(`M$ z@gp0C%ZqORswMc~mJ*``I@ASQcxhX|&~t9FEm;$zu#DWwBlQgiRE}YprYh*+qE-o^ zE(|l%aEWpl{7tgnMZUDiFB`NvU(LG_7bwB3v5*z@cup9iS%Q}ArK64?s6uKz z1MlN7E|dV}nf0+QoTP&a-{&YQ(G=v?j-(rkD4R3{2Y?TysEl-b`~1v!XmfOXMO56i zqc46Powvz+bLIm_9{9)CSMj>9OCo{S^K*)Ouf`Gy>DnloKyfbvjxG7OZ{#tkk?3A} z1$u3*my52DV7CHcH9cm3X|@;j<}$d!TY{sn)K?3!QvwmJX1fA)Jk z%ZAnZA#`oa66>Sl&D~E+im4sQlMG@xSEcHr^aZ0lOGgOlDYvfYpTT<^l%AZiWo^S0 zOysuSCOi^|LNDhUdE0JQl&{-e%CNgri3*ABv79PmY`vqwdqHfZW zUc;z9G7@k?*edjFlxN!46Y6x4b6jlGcjUNnK}=)u4ryUPp!;oM>S?w-Qv~ER5S*Ww zQ~*3qrbf>S)pQ#`z1;j-+taTcgsDSN5=Eua<;wKIinxs%6`mGX{XcF#aOljT8)tsW z=twIY6-Bb~kFKi+%ofRE+o1##Q;!vT-k&BUT!dc(%TXy#i$Z+65OZZV>^%G;8$HRcTCI=G zY)jaaj#?1zrt)yGpU6c(HIRbzdYY#s;2c>{+UgTGo)<6+Xwq1vD3!YGywR-k?Rv7Y z;ypHgYXfc*<#GI5!qx^XeZFbcP?odl;+s#%2t;TSLrxV?9Ka3z!QTI!J6Xdfj$7@c z&&$aFx!^pHsCcU_J!b3tAib1WbISf)vi!>pI_$fI6w8xqte*eOmbYZctuID$*~CyJ zKC_;0F)wS$kVo>Mn@WfVlom=DsHhnk$|JSdK;8+})Oo(lr_IFY>DDu-ll3@huVgxX z)4m(s#{YFcz}na+XWHGmvgN-kjOS4w6=NpAG#};V=%|98sx!+?E~JJad58mTaqs;v z^usNI>42?M*)k*OZAOf$Ad!E$5@CfKaK9d@3&+wRyQ{e+fCd*Tudj%tmYtNOau=)X zdRB>-XxdP6cros=Fz2jfpVA_}?rc>XT{cnFcQxl#Y83FC_b1B<4+%K94v6pL9_AtY zcO2;Y`=5dLt(8&9DCcd#1X;FQ+MWrwLBFiW=>qW?F!5y%|E$84(`+J01Pq+VR*)g) z^Q1hsHk}6zWD`jscnKpFs@Xd52kQ^m%bZ6r=SfRKAomHfg5I(ukrA->gXRf~lE@_h z-g2Iltr+?XhT6I=t16Mb5JrexC*{(m-io|AV*tf~eK0}vG1U8qOvT!=a}Bt9AsYYR zorg85DN#DgVHt637zY5M9T|V$Hy-BYoM;FEbb0xM~j`Bd`h>Jb4l6hNju(pofF|7_01`o3qO59%>v|2PNc`NWa$ms{2Wzom@j#B;=Y7~yR$%P^rqZ$!}wF^4A5^yu1IEsytMlG6!(eP{2s=?s@ z!ZE=@?BYC@GdTI+_L7@zK%WGr+@RFWlleJ4-mvw<`TnDpK~6`1f9Tr!@#;TY?#3Zg z933~d!~e&xuE_oVYf+vfW2m|DZ8K5yzH3uXEySs~srUCD9-`l{bj^#L=i_guMoBaF zE$cUW1sAhad2#pwOTy)EA!c@>_>5k!W!-RGm;Y(yDD=-Fs(xQ&Ur$e z<@0T3v)b_rirp_$1`x31{BdR$^; zYwSSdYq7EilS?QG15FB1>iwDvdv0b|zkvBKnzbSUOhlDMBvRQZ{lci>#=(K|8oO_A z>Id`X4R`nDnKca;t8PBL4mWQeDT7^awsXrtl9>xB%>3u9H5d!O~?TU;EkwLkJ_ z9bwrr+2B~HyhYk;HFe(O?39s@rmml|UHtSc&#G;vBly&di&wBSR(03(o!n7ynIV($d3~$G!UHvog`alAm`*OolAMCT!+%*E8 zY4>f}hnN*pfj)8`qD){6=IT$-eWA(|O2h0d*{$%fY`oVRISiaRpKXxjn&hl>{~>Tx zCCok*s&16NDWnV5{mHkE8eHn{2TINu~#Ie8GqErIqv!j3!);BW`A_-7wI)| z*1-!(36IUh1N+X*l57|aUr^8@y**!f> z1Ti|;?6^U$HavuwKBwtIIJ)5Dp=^?uYpNJN$iAoJWSh_>T;2@=t9NMg9I)KxhuO;h zq-0N3AGqtVG-`Xi6hGL4Cp*dMnBB98FQ-)Yh91MD&4wSB|IFB#PJvPrsJMrC_rb6N z`JHpWa+HeeNq321Ma2(i2$GX-VA5biBRW}i<6CxBJau)@?3g`QteKi!f7dKjTO_6y z+p;gXYtI?ysULKRnTw6Hdo%#Fiaqlcy|M$Yo z|32T5JGTCH!u#0YpRZ0F`}gO|#IcQk8*)MblEZ}<)dS`7gg@tVU{603YW|~vC2EVP zDDYYF%SogM3q+__%8I4>$b4L(hhCrbGF+4#NBi>eO$ZRhnu>B`H{v|kiePrJRmQ4J z1;fDs<#x#x;%+^eIGUU~RpemMz7Myt6zfR*8GY3tZ+Ocd0rP-mFJqP?!M~kv&{P2K>sk5qXUhYLJjOO0-TtbyK*?Q}13|px6{U3aUj_lTyH!5;e zPHJ?oah3Ju4r=S-3J62fzhnas}CS)t|X zO2eDndd0Yr0Wf{N0a29hZ~(wN{&5V0)wnw7qVy0#YZhIoh~>Mf6CQnZ<;7awhLF=s zbB))+EV?NX%0ldMw{;ORbN!LxNR#tWGeg$;M^^Nr@NwmEIX1Eg><#S7HqRCztgbkk z++e|Uj24uV$N`Lz(;CL|5X{c>L8}?gIgwujZuc$2&2ojagYGT-7>x!w2yUIgqo1fW`UcwtGqk4=PWNUJD`>~v1Pv(Z5|CbvpoZ?JNeEmK%iW?s^RlIw zZ=((-Z14d2Zmm2F4-TawyRvPUD1^g-o$43jv)#thWDThgwW~Q$3y*NP|18rPmz?94 z5x$oXs@kl8tN&t6AB*osoY@I;SeXX7Rvp29;-Gaer9@Hqa#&)Ch!j=K~ zr6SF#3+``zA`ee~>R>b4>EVtO9cZ0v{8FumQoCT=T7=RS#p!yOjnU<<&0b?lzT(&X zu~_7;JW#rr3o}S(jQDV5OPgpp+J0e}s1bh0b~Px{{MiHj#1ux_dJZjvG6e2kZT|fY zYTcVP;i=Vg<=iLDgPjdXS89&U+g;v(y+@wUeZF@6jv5=E;4b_SA-FM7{5iGl$cyC) zg=?DjVcL1`@4gtLy%Lw^(rQR%dN?x@`pAMs@Vo^VE-tzTfW6^7aPZumL{jhnV&`>v zZxG!|8Sbsdo`CXk9~EV7CcsX8mg6NmY@4y`H!bD5Y1z;*_tg_TwdQiwvYx< zk&nu|seXhXMH|#y0OYSngxTq2C%mTafIK;ISlE}?ei`oA% zha}WXR(p6P-TDBZ0dS?1!s_Bi_lJim;Z|MoS|j+MCKpO;_Nl7Dt2f8?a%k%x-7 zbnr@&4@(bkotL#dog>3IaOZWwf+Mz#WZj*fcQv+9V>MMPIj{Jt&E1)to>^Q#OxngZ z+~$!mwxmGmV8Z^9+?@2niC7ZBC3}hH?c#dqR9^AZmg48>2EIO^_gTbRYRPNYk~itx z-3^MJGEf#56mNCJtP=N5@5Hy*tPkI@ouoqZg}4}j)tw0J<)sso)KW0QH7y-GACtAO zmkdYj3xAS}=bcb%OeH`Dy8<)wGE!JB1aVSYE2QTGwJAjvRqpd@IB9tA zr1ATcrifE!`ll@1P8r(~rER8mmriZIcM5$K;shwzfMR)Wf?elhi{yEw1G*>V1`hnF z^yu0r>dy_aYxZHpSj?&Equ@1odZD?|g%pn>4tK#XrtjBnV{VAyuILG43> z2C|W2(5Q9u@U2EgC#(;Y1HsQ~e$T~zeqTjOf{q@7x2|M>Y-DQK$l4Xeejz1nhf_Qq zx)Y#*Wkk}QBgf`r;|1~CXfka8$WA|a0~h8?(@quW9KNBa9t~~h$lM=j_9<;fx?hO; zkdtWJlv9tq0l_6rBKD6WX6??g7K_ei!yegT=veq&a&TZ;RJeg|qy)Ny4sE<)wTlLo z0x%FWtvqEV9a{g+@yT<9Y% z)Vm%NC;%-EMYvzg_*{=nUXf{!yCAYl3gv=-AKzE9R5{?@KJ?)j*uUytYy16Yr(~VM zB&<&w8P)`kdJQ^3!oiA#h*JRMft@g4HnNl>{U#A71d!OtGx)F2B)W_j3tlRLcn)+% zOV_kH@DL#^l?%<83_4!l+D_Kq$&qO%L$}doTo)kG?9%~kh|2<`jUyAf(s3LMmvX@Y z-EB&nYkCg4)(Si7qM*+=oq2v3I&YTXzbQfFe5SPpW?p~pasKvzL+}(fM2Zro3eFrX zMI01@%95ZPgXd*(grK9^;1u?iR5Exz3FcNWGh7deUICx^0k&9x6boSiE8tSWm2Hxc zkV&}j|0A7rVSs}WahMD3f8RW13ArnQ>#SVi?TgEagx{axOR7UE;c} zv=e7eJt#nq5s{~bFmsMf1DQh?B2&1~v-I7k>tz5RA%OeMmr+-xC2`jb!L$HG?^(pz z6-Xin)~pj$#fGHby8aM#QWceUoGueG*`c2X8`q1g^bSsTM!UK<5r zf?)vU-J#PIA+lQH(I^E-OYJ(#>$cOinrKLlFJf#J(o4S6i-ljwh53{sdh1&VEW|Jk z7)RGm{R*y@xHk%s1Wq_t3)x6R2G&DzOY6o55r$-_7aQFXkM<%%W7*JSG`WdVNaG>O zeu?b4$(X6Ojn(fE3Nd5Zn9z$UVVG}R9@6BsYgVdh3G26{Arqb_!hP> z;!!}GHM%mUct%?ZDk}g63V=4`c8z^=cZ=t``0ZX}a}Pevp>m8#r8$pAt14BR6z3_v zSed8K1Mee{#k8yOlXa!xmfiy7Ml>0klmSo1BP~D>X&>5`eUQs4piFxR03{Pj8~MHO zaRT>oy%6+!=5b=ZlqW}Ajzl_h<6b{_j#1A}gXbwd8B+Pmxp(!ELcsas-1|9#=f@xC z?mZqSTPh^flVSxBfnVQQ7D6EinnZ&)VxKu}ABWWGqzXa%>CkIEkPrdPPjHcdMc$(U z4F$*^nzVy&;b49A-!@2!5{$C~^~NH5>8M%(D7GG!{v=Rlo~Bm!+-6yFJEYQ<1wRge zE8Tur(Druk_}hJ--|p``S#+zx!1LXK#CHcv-W}?nItUzcrFBHnV`4twe7^RyN+3Qf z9VwHDRAI!$-&R@SFE^H6=;R1MEg!9!TOcVMk>}s(gMwQQSg6~|O$*Id>-#x|0IB8y z+VknWcek|8g8t zUVQcm#*zSPxhNmy7D5-Sm<`VZsin0&zxuBzdlz&E4UsJY(^l~JKCQ^ftu`(c7yma$ z+`p>0VRY)b;$LQmNp(!zZCn`ld@cZa=1o&Q4Ux=-=dQ@8etkry3K}F$Nvae3GT>pG zkq(?!8&(W@2Ke2js|9{uN7=D>iG~86+Rdqvw0zD-} zJb#9$q08*2ub&b;O8jKSs6{O8gH*BM?=jMPQg}`&B1t%NdkAsN^F1AaGVK!HL=v+liGCQ^$BL9V=?mk`JyuSYUi!e3@4oGQ_WQRz3TFaTBiBN z^*2K%fNU5$8F+}lV_I7)tUVi~?2J)0Pq8kZj&yYvACKuAymz4$S)CWt-5p&GZpSl#v^k2OOyJIroQn}`u%wzp+P_WHQFjI+aVu& zXJui;=p@?g4%K7#656!Y_41&_V6qn4TnryTYt7r1-ZG5L9@%OrkNk+To{N+2T?eIp z^R#`PfpxX)b7c}EI#+=?^1jr0Z#tNm%3`9dzOx(&J5zn6Z0dI(SFO{j8@}#_SHJsu zSUgUBHWV3?lgB#@RxQ4`8DI5ddF2X% zT?5TwH$mH#?qjcv=v+lPc!XbxlruEG7wCImgZDTsDDl>hpFuYhG1s01ANyhTB=;-$ zx`-z1_IEyI&&--VbQzUa9P>2LfolEd)03iv1D*#9Bf8qB&=$Fmr;2FTX2tgD4n04f zSiCBISG{YjF+HSY^G{NT`BKlL@`S!!AgHSC&O=cZL219EDkCZmMOW{VUG`Q^W*vyB zJM!~)OnsJua;#e3k)3Gmlh}!wcUyB;0#3~q29D|Jw2~_ zF3(rrY$B>m9TtbSJx~a}F`KSa6|=P~{8RV0na$$T$1N6!lMnUz-rM$CuX6?o0U1fd zDlzsw&atBRmLB`9<&7=x2#AUaY6sOuy=PKL)PxVqo9L-56nKgIqB5( zRCDvs{Bi3Y&#w{NzlOBFz`G-KPTHalE}lBm^5u@_4Op$2{n8_g4{g`~9bUfjB=gAU zTfhDto=l#!OZj@=W+UVKBbk!NipsW~ITMf4s0nXAUf;-E|K?qo`S;ci*22G92DSa; z9$@WoU)iAnwTHKWvHid3aAy{u(9DJ!yD}yh6J$2C_Q-5mV_^VL=|Ei0bJ?=Vt4ZZetjm@^KBbAs^Jv7qVZ<_j9LzN!iPa{SawzUkclIflHY&W)`QChn z9|7|hWa%V?>78QeHv0V^MfV=h)c?l;d^cm8%{If#rOn;k<~~&4Z6rx@H$ro%keIG2 zX*bv0Z%NXKk`SemRGV9hL`g{6=%SLOo22&J?~na){ydMz=bXpR=kt0$Uu~y$CD>k0 z(KZYEMyk6*3ca_K$zVsx)V-C?;HaZ8XB-HZX=0YWF(5>-Z8Q7;s}F5ypl@o(4PS>9byD5cxo243_`S57Tv zs}DT;=Cl9o04N>LhFyd+$7im6{^6Zc8sYKkPsB=p@V#$u#~v#=RrbFNzW+xpax`aT zVADh-G;Si?^(k6$Z>=FRz8-AC*_vTV;~|4q00tXLd`G-|LH*;CW(pMZC8uBWL!FzW|AO2~ZezTMfpGe3!@b*H&Z^BwBvwMUc~wfEet9d@Yz_FVFs0Yv;>&$E1zymDtaOY` z8q_cb^kPQ^zziH^{ z1~lvJJ16K(`saJ;P3P9znMgG!eL(QDX+QJR?_3=<`_=jC-{Fo2C+>YVdffdv?MT=A z@Gr;TAAkM#-w}~nm7QH|Su&apcbw*kyn4!Tv#s;x2_?vroMlo6vDQ7e3lp@m$_wz$ z^Z@{AkxYgmr#J&9h{D?6?@3#1#hAA;zVA!{nO9MUK^mv=U z2)|{K3!Mx-!0OC&7bdsr3dl-wdtD)T@@#=In>>A7Ne=S`d$fGsLD#4?zkw-=zFYhOw=VG+GOYptV$T394=fqdXVyp>9Ld?gbbFi`GOG?g(I<|t@5@v->WzN7@Br%3LEM(sk=kS`fumj zCYG{$q_%sML5Em>eUE>-6Ps(-degc}$+SY?H7{^qfLs}9dGb;4p9k8$735k0ac*!` zhk-TrT1!^BUK5ZFtQ<0tPhzEej_|!21dgpBb51%vwoO+RpV`2R(9#c49(eJ)5zQ5N z3;VqXAkIu4bWZT(nwh0fxl;wiwU9??UuW;b^P^>2P8e|4WF8&DO+VvZ!p*motbgb{ z*JmEKr95HFt5~)B)O3uSl0S&%q4~%?Gd5tkeA6Ol9-VX{%5R z!Oj%$CzE1Itl;mnx?9+*z&69{3xf$*p~Lli>$`zy+LoU6UcJhuWe2zPCwM);p<>pf zHnoCBtnZ8-?VpCJepXVo;A&hdtSk)SuZkWjJ}jV&qSI4U5*L*0=ZoeLn!j4}@ipXQ zolrj2we;K8S51W{x@-06ZZ*yVhc8b7udfWUET(ovi{Gp_` z%X?vHxaZ;Z2MgX`4sNMPEqmw&0)el03Og*wm!!+*rmOl=oZADJwW!Ci6yBBXu^BP3 z0&?t=`GqG6*6o?Z(|KP9Mx{^gIu%4NL6b(d%NDlhgz`>-{_7s|hBx~lp5u0r-I1?+ zP@m=VOd~v7r0iIkTLsUQ&95Kqg;|e4rM0bq3wMr!LHm3NyD&qkqx+*q@3yJf7LF3q zhZXy{E(}Er4{oWoxxqF+!*IVyM$?y6KaRB&>Vly<}qrZk;~(NZM!aFEI7cdGOY>T$OnJhDYRR- z&Zce89dG--WtiOJ7)OZ?V3zc0Qg2SMbW?pYw)==EE#l_&X~-D{y` zSHrK<);YJn{Alxp0$raI&&;?1Lc7T7ErnoXHqVvqpc zQ&tqn)*XWU8_Y|Sfv5B!(E}MsbkN8|aE;E?*E^aj1Hd&9vpzg@2*X_Q1*KEAAAMSz zKq#=KKn8Kc)D`~q1y?3Zu5e_fhwuaeJb^f*{RASRlV`I6b`aJn+m@Vf44S@NKpM$# z5%JguZ!CMIEIYtmFoHH+ z>h)%VlRj4r2Y^oX$cmRMR9s*XA0~Gg96oROe5Y?AC5ykMLP6r!XC{FJ&hr9id5_Kg zZ5maG)C?CqFIvQVcLilN09x$;nKpn7eXzu@AazOxl?|}s@L>axFgC|zfR|eWGN$bO z-Urf*g;9vrL%Wm=X^Md&&b8W?^XEz^qEiMdkm%S9B*o9@FAI%|#H0xg8(mO2;W%%p zA7+(~fr@nX_Q1m}w`rH$c46@?e87$rp8U+rrEv50W|mQT z*40PFn(7vk`0Q^3rrsuG>c|!g-5a+o^b07w=oH?v4iEiM;DQ(U0uIwZIoOK%R&Bo9(PK7*6c59Y)j%&&_ zZ%Rc0*O+Gl*)Sn6y~*=RvG(Y=VVD*Z9g&4_YDZ%{jR6YR;n+ z`+EcZ^c7&V2xRO5C1zQK3Df0_LUe;btq>H3PdAQ;YgC%L8;UCEWl}p}TSSZ8Y4D2{L5L09r}{VBy#{ zR9w+vs|%ll)i%bJ{>zin-l}^LUT%2eeF|mkRcKbh_bvpPL|3#NE#DH6?wHc(qhGBv zXn)FKci_`}Dw`spsd~?E@nM16R@_@$1P!JaEDCv!E74OQL7JlUZN#fIQTjSIXpcW= z-~`BViDyjBupCEdvH4nP^SB@U z%z=pR-BH$$v9glRH4emeg+ryJg9Q}151Vd(A^u94l_WlFM8>zC?}^UhqhlM-PV8`G z^KVpx^*z8HKVQSL-cf#nwDTv7vxA?m@$Q$$uB7f;+^a#(;%#LqY=utsCno)J*Cr@| zj+7*Hb!U6s>D2z-ztv0--Nx35QkfkV7}65;M|Nxw@ouE?YzLa7*&u!P zh2HS6bxW{&7W`!sl^fYFayYTs>I;Y$4X0L zkp&Ch799PFFAau)H&=L@R@lX7!RXs!FUfkxJ%tC{=V&8fXD0Vx7oRrL7IO7R``h!K zYi#2Zu;y1#r48*9;C0e^L6q3AMOPtogzx!+uVMlT#S2pF(zmsmez$K6Wb-y>9<`2cPD!al^>#>Emm_ilOpgpgz*_8inW3m3jPBQV^ z--g4t@An!XF8C z5OqOt7bSOKVAmQP=6L7DO82Df_^j1GWy4)>wx_+_nfC61qyI&}H&mVmv6W$)YCLWr ztbKAVP9t}?{O0lrBgrOp_M-!$iJO1`mskw%2-H z-fuWqZn?8N*YtqV<4T95*`dn^jGt6*JlSGE*Wa91>t3L@t?{7gvy0y68F}PGl_OTK@1@B=H&(=7yV(JARqDcM_~(nM(aSdu8)QOHygW#Jl11t_7ASoPT^Azv^)S<8NZZfiT?((bSSj0kZSvyTr0(0h_YWX%kPaW2J#(r0`10hX^T$38gcne0 z?}F&F+%pZer);K7BKP*boj(@n8G5-MgspHheUSow%1h=E8XGPYhc;gR4;hHdzjAG= z@ygY1!j-1$PeVWDZ7SO23XXlu7GNcJ)jrfC)00P{71VZ&L_a{iY`XqrD&3^Lk_*hh zJtVYm+Tl-t`<{eE{vMGhs}&P(#l#}q8B_ZalkH!Y54qzB$#0Nxx^?Wvdw-T+UcD~^ zm64FnYay*-Mg6MQZp2A7lTeS9frXmx9K_^_#p2|Q-id#|Hfic6nQw~Le646h_giD9 z;~8eGB-UG~?yESwC z+XgbsiSnRT!dH#xkY@7BKD8*&s@!T6PS6jy?rFe4PY_)D4GH1wne?LA*01fyBbgWv zqhQ>Q4BYN64D|V)Fw6kCW`ujJEIuo(xlH^1t2Zit^(E0SMUF=#Do@UyP6+Kcdh7#Z7%^CIE%Bj2)rYo=sj>{akk3$%=n!?ARRc} z!A3xWl$Z#xUBpf&772HR$AKsT&%@{Y9EAhu2Luo3c*CP%6q#N_?zY!z6fT!mRJMUPHhgE%Y+&ExQ{ zs;kd77*V9_Woo;8SFt#XJTU+jT+Z zSO8!4K(gYpU#_+t_~YT>5IYpDXM5(@j$x&hUwK0p2>tv^Ip>rb(J)i_4}o6Q-T-&@l?rAuHlzz^IQ zf{)kc`tR!MK?R|E)+LBfIc14q?L&rE<274>$G-0qDL&I&hxFg-d$Z#rUL?Sx{P6SC5f{wUWH4ov(VUjMMW`_voDi?0oE;rLZ zI*#iTTajTDzVobgezLjR?GzkeZ=MVP*zcGl1c};nIwfc{lx4*juYhQaHP?QD0a3DqsQ&O1Y`9|M3*mxeKheZzaQ? zNaF-_>0^DEZX3p=N`_1e?3coLd8t&M1GNVB_mDuRY6;{VS_4|z(1*EKgHr6E>3nLH zgQr}iHb>MI50L238b7ye-xS5tRew7ok*~BR{S`)Da?ZYmXnmK-M-dL!&wgImv+lUT zAsg!(SN470yIrAg{c=7WhV9C(qQjGY(v_dIPHY~MiP6H?Ubt>kwV|v+!PkuM4g$i- zeuC&o)PMo&ydA2&T|J8eBV@1!e5dh3%go|qAKu+Mj z@2&ITBK~7D)-_q*U9nIDb%`$MXk+F#j)1jBB%ACKOrfsw7BrNEr|OaT!9f&^*_Y*t zcCg5BG@%7O28`ufS_t@{G-{BLy=WU6Ib)5672_9gLVV|zL>{qW^w~v8cZDDZ- zAGIEx0AN|b!%W3VPY_uGvSERpC13^-9KR#9Y11u?F2Y)n>QSZ2cQ>U{pmZ-aXtdRdngOtJZ|r?}P~YJ$Nk)Ru-H6*5VY# z(o?49VH)FlsZ_K>Q(_nuWn`%e%XLFR=n!6%NzSZEag=FgR9@_Zd>jq2;;A|BQ<3~k znl9EJ0)FW$(Ud!Ic0ARk2>k)kGm+xmW`IF!H#(+jVN|S*3+q2a*OXh9F(5RaLG1(T zu;|^7x!PVL`x&mPb~hQoeMX(7e$1_axj8IXlLok&(|Ch}TpRE1?xI&Cb=+eXfd(uv zeq;BBQ2rs=4f$8-=@TKY>)NXhJ>+Og@>Q1rX3ee!VRVgFF*af9*NUVQhdq~ULsMC&3n|v)oS4W`kr|tU;Lnu9(oOk z@}$Eay-T&pdE;h$GF5!65v8^TNV@&@6LK4VfVpOH9$}E7SpghqUee4$10g>7e5HTRqlpAURV(l*aqwf#Y47fTKKm=O_^VIl4 z({uNOf~~9X@|R-^7Txxz0Fcva+p%#)gt+dy*%oDveB{;)735a9wM@oxD+@byd|=S5 zHgnPE!{7qSJqCK)&A2}0!)M9xr&L7Vcxl(4Gy@-I8jeWuQ_a zmoUM_3B`X!bm8!n=@y{-*y|IlJpCm`S|s*m>E-#XErdevC5#Ut)KRUop@Ia9?8)g(!zuAsk8P1Y zSAHNNpZHm>v%=FcH(F&uo+iNF7Rn1COx;uIRg=Nw37{sk;4}}~9-5tQY4%TTOS@(5 z+aL8;$y+YIF;Vzn)Oc<0oyvH{+wonGK6NFg_YeVQvmyxw5+)OVc$0GZHYh>#Q2|O0 z$XhJHmB!#Z25;r75G1JUApgI1V)^vwnd01=Q3?I==KZtYx8dd&A^r{CJ_@(@KCCoP zidVYZxbWzjxqoRPIR}WF<|v>9&AK!9(-MY1Ho3LN-N2cjh~L`Z%3VPt?^<6;cQ)_! zG~4Zi(rV)NtiJ3|G(YWOahg_`x@evnlS9s3h#PwKg12uX=krAIzDaE6er2!0#?MoY zO?RR7B{wVF)@QU>j&&&SWemlQe{6P5ex`nuJlvr&Y@SdT1zB{9?{$yEx2N}jO2(WQ z`wuV7=sp}j{P|VY!rQ18;6;m<`xD<2E^k){fVAmw9Z0Lp+im$^Y0;3yyOGafEH}*t z`d3PC2V^fk0D;dvb<=ZkalG*qM)2ftysN^x`J)N0sfaI&l>*-iatzqkL>$*}ZqoD1 zcfX_`p&x~RA?tN3}UZ#qqk z9oei2u%fSbf3T6M8Nj7U7d!0qmX{Ns7~vk^EGg<=UQRziPK(kytbkYEg!)bxhq*d* z0pQaBrIyhyWIjw)eu~k2cw&gI zUq~GHhAf(kwP`$zsAZl+Sr8VKt%o9?qi)7DL1bTA-WcFewfTb*A^Y;y`<5yTYe4Ii zWGxE{PK%^4$1&AbQZ8Ijyz-TxRr0fXNvkJWd+;ke$Le>6CAOXYR2#0T1S@L#qHZn+ zo4ZFCpVZdG23|ap!Pxr-x*9P|Ev}%`B%lga-Kng5nz{UAfI|}SFoMZaQC!8Q5Rx|N zV~4`?R#E3eS`oYYw>BcB_cH!u!a7&j>8v8+ec&ifs!d$h^Pqbk#^4THTZ?+kOvHqN z{drGcoq-6G^aZV%2QSH z!`-movFv3uLMJ9Ltb@es4jN+a01+_^VtbHbmso9$W*o~1b_PCTcL!ZFT<4P;0RQXtE|I(Ym$G#op&1{M#L2LgfZ! zFf`U^hA})0m2Tq2Q%>c&X^FK5zQcQgX471ZcDG6Uj7Iw*BNmq=7}lcFNv$As#e0aL zo6O>3Xmjv`bnP%hD?M9$FAyyN8LZ9XmBshA0J|TH;gD{V)?MOlhR+8M>>D(CJo56# zwy}YOJd$>|KAwks_j$RAiygX&jdjfK(KRpvk`j1k%A&+ShYJzED*@igTEC0*Z!4`k z@>`d#E6dFMk~4U;GDLfQf5$e4z8%N}&)9MA0TvvVMw}kl7xHt!`(&|Wv|LkFo+En! za-P=W0_c0UaF2b7(;VPv3wWF!v8{JEyh%h7@i2w?sGr4z4l#rSGH9jUO=sXz#gL}| zv&F_79zGIi?&hFBOAVV^C_SEgCd8f8ah=-zGxtTxX~EZv&&rn5 zkF2AM&2!E(Cv1=8w#?-ocwBy+QB}}u-LK(MMH=8J*ZKZlVed(CGF#8pVAAD}mE60H zKC;WOm8+&q-?I;7AoxG5Y%=hY(BP#JKsSovVGXvH;c(`H3j}nEeyb?vjni|P$7nlT zKv+0h7d(S+_(Q%5FgeHr&x`Md1J#>AoBBE$HEP~WD@IxO-xz4euGckb-`4oRYiYED zJkddGZ|V6$h+Uh~VezcjQhcASKDwT|ed1V4PwG$s6UIHz>%8Ra|)8GEq zz#XnDi6yZ*ajA4#eF<*Kh5MST%!>Hv>q}PbuH*BRnd16A&ZDQ+S3J~p^hF-D&4_O5 zP^%JaS1>I9__>>K9f!Ifyv|fx+c3Gyjo<@BL3n0(e&UtXL4Ml2>^_7IrL&EHf4Gn) zAF&M?>uTCK+&j=LOC%l(A2To)V~P9U+*SNg_)C$=b#V;J+T%+b5acmi=@^P%qx2swsdw_5q=pj?i>CxPp#y%T_fFY9Cn2C78_z zn9}(dAL$>=YYekHirwW|W)^bu;BV~ip^81-oT}wV6<3IkiKR=wRbzc>T(i~fkKy9{ z>bIV8IJAn354h}qIq1eQwY@>jo8#Uz_(pGLwnaZIw?8gZ-xqpg@8r!xf7BDhZXftC ze&e`CQpDZkzkeEDx!{p6uU(?Wa`m^J$&8&Tbc$~CI%8Sld;_mpuYR{TZrqhO4bdyWqqj^}pv3~<8{t+b9US30`?^ho4)YZ@{M*R#q@F}FL zkndCWeO_~yhbO^|>kvp7i|y0-a=`)lF(&4>(MxVO?#cHa`zwxq!&ycr)}2iI`{(zs zUsns;C<`tq|Vl7zLn7?GbsIlurHMi=-ZX1xa&IHY)$G$Z_+O6#s2!E zlxN8HG1N*rNCRdz$5a*d6ZUms9%vt$E_$G~Wj;Rhsz9b)JfN4i9{bRsEUfsU(YaLY zBa`~7;z#7>F6^NBjp^b+%e*>LtGtBCtIdL<$G0x+u5itFdbcuH(Eo_lgLWl=N8Pf! zSEL2*^X#a6%kEZQo-68TbT;K)DgQ5FLdx>(x&eIDe^*v!bEvb0vj|&InO^t$ybbD;F=dBL9%sy~ z%}qMq?9fwoj;K$XOwicYeKw?+HkV5t2~o&D7gb?|xkt=d&uH%TLD#1teCzY>A3 zQ-8cV{W|UMUkwRILAOG}LvF-N1!@r$(hMD08h$p*u(~4Zp$dFMBkh}wfbnFJ(n^OKA&q=E<6)zinEwU1oq&^;FV82 z8glEd(D=CnHs_rEFCiMc;p#!R^##`QJnuXuY8bc8rZ@ukzM!S0Ah$woR!y05xccm3 z=X-Bew==uE=dIhtH;?z)E1v=DB)w>uMIW5)0BslPoYY=EJ>ATJ`M;^31sy*=UG;5v zgG~GT$fk8V9{0We)A=zLxbxhP@$i#6Kc4|zZ?~51NL2b#^6};0w%jov{^!m(_}P_8 zk)iGa@X1QnuhoWs47km~{LWl8k22uL)f}0|NZY$I#o!uAc0twJ^5aa?Bh`0>jO}lgEDjczu5DVR%Ka*31Y49%bhY)HJc<0P+R%`OQ53D4zK74?3sb}iN`lb53Cq<-+3R-MeInK(Mr5{{cT&JA@$8` z)KTU=`>v);L%*K0Gc4$63_PA5FpDj*zpeF#K`8fN-1QrwnMGhug^bOr-&m$$-w+ie zf9F6SGTm*fF?n$TbK&yEq|&nB`X0Wn(qkSwWBpa{$+J0)y2CARrIZ{XU6Rn<+Ud^Mbup|Gkc+CpPrC8#Umgb#EhFYPx++-7!;g@Cf{Jw&oDK-N4)6 z3jR#vq+1H6Ej%(b*oV9{oP$B{vuE5o=yCC;k3vWP!nrMPpD>I=1Qs;A+Lr+fQJOC& zybm9!FDhGzG2Ia|c=$tE6dD|*3(Bw)%41MfL0(Dkg3ZE6&4Zn9)uWEt9dXaN5o%A` z8*<#PdKidEp6^!gBr9}0Lei`eJ?bMOt%^jFvR_v7_c~%awUx`{sx2HW`W+%69|~n< zU7nHT1lW1J+aA7BayU}!8L#vD<$ep-0|h}Z=do9nU!Ry#*Yj7fN{LkdRiBqoV)k-* z%7M|8UYRl}fjFbLA_vQ4N_%y_D!NehP=`%id1XEV!@5XBn1m6d_t1ZQw`b48@O`#_ z@LOEgfGCv=*T)T4Mm#K~(0C7!0@}>?!3_R^(|B@0n%kqnfA|5q`f}mc%E`wq&vucs zLxg(QGyXf+=wA`_0(LrhI%>48qvwD{Wu5c-Yo0gu-HudHCzqPm=vesY)ei$S~J@cz|Q0GwbsrwNZ+29qHF;r6A4S8k@o?Jx5Lk zmslQ@THkk>**u1JoZ~j%-edIX%vFk_YgkQFu&7&y`6^yNbsy<~!>1|*wfMQRK>fUX zJ!tKH3ZtnIy`~!@j8Ar9$_8IY)PKh)1^BejgiQwE$ID+pbJ(k zs{j4tJ=b1i@-~k2sA~jK&TqaxLhcYDJmf#@o#^AQwO;=|oa2!_ope&BB>@)rZKY?$ zgsa&153#B6%b=1V9pkwz2QalgX&$aW?G>nIJ4)c#xjCrHJ1Bk=Mn?Q zGfH2Fj~puE&1lr3_g^z4p-bc&cq0L-f2y_Pb2_h%!@2LhuWNnCH4nA8@eArP6tyw` z47G3DDC~og>L`uc-%{{ZKo&#>M^rFy<38)`-GFf87u4~fYJru(>39AEyzfIn>0|>E zyvDZ&X#u)2hbbpyTfoac3ySgP)}xej++am7@Lz*#}QucaEYl|u`gC~)n+AA)78 zR$JNHxw^D>&M<-r80JHb?9S@q;hdA>IgLU3{{W7Q5=Em0ML5tAl^a;i!XCCz%~@3O z?4$mZD1LN>PY~a|>9=<#sV>r5(g4^;`e++5Y-$0qNL00nR3g^}yR(%THFCsDmfBbV z{Th4u*dDBx_@DZFYlCJ)9Schk!{(EQFD(}nr10Sw60HtLe6ts$Wp}+7B-fSBS)&Xvyrm^B{rQZN2+YNLt_#} zWs)jWPJT*Z4s^$R091?wEhn6exC#wEpISNJf?A(Vu+)vjh=1Ej9RPTfR4bpQlUjpZ z8I=9YE)9hn5P_MFAEdV z_B%m}|Br|qxCq_Z{i+xM0m!LQfcxUx3oRI}>%LmIiey@MMzwB_8V?uz?Jv?E9M#?o zrQ`_t`2bk4NK%?}kzA|%Px6!o^iP@l)&#&Bk$fjMA-(u&1h#Xr5t=DQ!Ix3mEG)Bz zn5>UmW#gP%Rhd8~@*7aJH!?7N~9{QB)Em&qSlrIF5yE zxy6Vq1(=s{YGgf(OV@G2KMImOYK;o_RbzlB`gpf;q4t}`npv_@j4B;U0?apD@} z6h|vT>Yzh%i6R>Z&#qR%6bS%Cdkt(iK#?ZVx~l4O-QVR_iOZb>QJx}j?^o>yCF=*D ztv_dQeOj_(H%$7bD3}_JBFA()%>B!Shl@mTawN8t27AZCRu-#Ov*7GRHJlAjo3%IM zDXf)+!)}K$Na*T!dh50!jQ}{R80f=7nPA`0Na#Y*w=sYcGZN)PBhkgcMIvsT2y<^Y z!o`2uxk%I0wcohpPKk}ND z;IlaJCYEZf6sAptPqRSeNSwI{*uwe*QPt345tb64!&iImvCRv`Zp+SAPy8md(Ue7R79K<`3a=aQU%ESH4^)uBl ztfd(1z?l&htmQms7CbL;GmRcD2|4>bbM0>wsO#rJG9Wylg{CI8a)beFTR zL@_)O8(uj`Y?hmiB6u1HWpYiqUjm!GHd}WAEjJN!h2eQb^}HU$2#Y}yC|m?Pekam? z54c|CAV);-t`TZQw3-nS%@D&oS)iLn5bOn|BZ1M+(<^Xs-t6ypnO~ER|F%F^^ zx|&;puu&tpUH6ZC7WjahG#9DkQKa$jC+K~XOl9L&C1IqF-!oVpt>+%i>4|W`;iuj- zQgNeHvz@D$2vBSqb#Zxd;6IInuE7UQp}f?EknI|W{ErOS45Av<^roIw*GZ5I*0KQ+ z%vtUl=Z9BrHN3(?&e-oZ#UlHKXl5kHs0Ld%hpOVJEtTo@n5$O&+&L(WvX#P^pV5!V z{~1daCnW5y*5`{HR5=k%mLfVOhEIOZ8=O9I_TMkFpE?OccoQg;ud1wa@b=tYNI2b3P#M zV*sv`1CQ^A&jWA)3jfM?`IvjdYFQ|%H0OaioV`dhCaKQ^X53$OCsbu;q4}o>u3j~;+IMo04|}SVrZKzdN<|ehdpPWDd>BG1#$BLIEma@ zWTW2vy3?>#h7`S3?xexkBwR5729n~nX)67bAXFqFg9dG+Vd}36jEOiURoF$L@#KEB zAeMqIDczA7w}%B^pLFzlvDFLF+ZnV*E&$a$G1XAL z?+vhuFB4M|C2uM2gg<^tezYjnnF0imSfEy-U-jX|W+5TR-l3>A)KD-9On1;0sul+uZazrY$09=_(=@~x_H>o*Dd3d74BhLh zmMcn7`bkugBA6W2fc?#+NQH_Q$C|9ir5Z*?jwJ!Ydf6L#o&4_5%qYYwWiNY6?lZ zGbHSkNPc-&UICn;TK|WGOesfn7CW@nAnSy%a_DKhH>xX<*jfqS+U1J=heaMS69TD zh1f>6{#S_dTS6~N#yZc62UFdg%Smu<-}5!p{$GfHEX?7(PukC%{Y-&}06IsmVKXGC zSv16$4i_2SP6HrtZCJUU8bb^_$qA=R`v(C^61FNFXf+6^RFNt^Wg*8n-UVC~lZYyn zSpP{K;=Ki^VQ?Iw!F2YXluGYeemG%z-d&NmYlmCE_d)rGWRnvp7rZ3HM zJptF&SG{`q>eZ%;d1wHvS9EBz$qr)>_hkQW?yk6}%>L(wVT*%^nWnh3-Iez_`v*j2 z$tsw2dRvvhbN4O1|i1#|%GREYe>dNS-9d4c|d708VIzLsMA_hquBb zXwZ+<$W%WlgLd)s15_A5Ym6j=NJJlAUru^w40Bj`^XfB{C|0xNLhVj7pM)9d~g}peZ?m6Yity<-ATCuMR>Dk*W;#^e&HH^CnLN)OSInNu7&#y4A z$G>`X21v&~lUyTpU!}d|5lhI(m9nrG2M@i7;W{GPmEm#9;0b zlztgK&PThONCmi{SZO+bH&sT0*}d_Z$RuW%%w`#s$IfP(T*T`k&B+e5Xlg0xwa3nB z2T5M%iO6(M>d*PP0vgoxO`*l4$D5+okUDof%RIU7_;*s~w8z7^o6}pJ$-Z;@cU67e zq$Wu=eySn;Vf<3#NjNEDcO;wC2M-ovN=| zYHX<0KGraMq0pWDp{_J2{zIMlQ%MxU!=P=G=KB1jJIaofd-m^Vb?y1s*mU#b$1A5# zv}Nq7>t1av?YiuXkrQDbKb1Cy|92V+SCZP*K z`+huU?rHup9(LsOj~A>=i=PuQr}zDwjJ?$Sb1LE1=btaxJMz@;DRj-_pKJ;ppX#G~ zPJVmMQM9Bcx(^#HNUm>4bw4y<@xFDFiq)PB&B5RM4x}h#7&o<5Sp2f_LYLJ*Qyls< z+*OBezqq;;^rH9GpuqvLY?FuGNw|B1-sh%26&;RWi;mmsEk+)j%Y;ZW>qu#>jU_PsU1u@x9;D4XZpOo1-5}L$OdZ zr9Ch|;yI}^Q^6*n2L7=o4;QpzkZUJCa&O0(t%rA~o3KeIqTn#lK4y>BauUtu*%s{0 zL&zlV-eVqKwb;`Gy;s=t=F_KYahE*$$oB@1Q)Yu_DBoJmvQ&^eJG!;1S|OO(dF4Q+ zn{Dx^lG(zSOm^-CZCQE%^+}Z!{_)$8T8jwkAi*3tP$l1S66G+I#dxM%L~TK5`QoEh z53KMso6vBd0a|kYar~BHG(0*tN+~w9MjoW%GekUvxQ+|Bv61>=^j3p`nlOAP<$Un9 zr%Fvq0@d8F5UU2U?fzphLa7L`w_Qx=j&;?z$V&EFh`}n-GaKTfgVvz;6b=AC|uncU{F>DT27uA6i)-sZ6bKv%NM7p^=)i0mufL z;zv8|8gqmc~f?=|SW1~+5)t=l&m5?6DI)*otcJUg8X%aHVHjs22OozB)3 z#(F~!9FV0`wWD^NWY4YN zb`!&ePv~@z}3B62sDvCXbnAS>>;; z`NxP;Sbs;*^kc(Abr1E3Vwg`a7t#BnS6@D${GsB$cJm)!-&6&{1sZ!>YV;ZTX(@th2ha3|%$B;B7sZ=w^q#8+-%Bj+MN~J!P z-@d;;VUO)`@BMz=*Y$k$=N8W_s9X>Xs87yAy-0efB2up2N5P6}L-NE)I>ZjfD)5@2 zpdtX>`h((JTOM#j{+FVq$~+*KR4Y>3#dF6F|0;4IH`a+OK6Cd@8crP6MYd$aoQLO` z`rMySh4MXuMx|>?S-cdLz@95r4?ga3`EOPn)Z=BJJMlAp^_1Ojcl{l*D2Mq76n~wq zMA!c9&N_*M;aim^dvd`supi1v`-LBG1qE$apA5I!98Fr{+1%ulLqisj~zg zts)&erpykWyUN)WkrK=rwIeMSnp_=kNUulk2xURhzkphUDbSF~{)Mw*&JHHAAUI6~ zJVb<{;{m80#G}gpQhyDYQDmqbKve_vhW4<4tBTP_djq;u#Wa{+T-J}2qu zQuXl09|~qlQQ<)0l2#9iRr6fT^^(rz22(xv-nhft+}*Ff#PHtqUh$N4;t#94;;xy! z5M_20ue3(@)I3UKOM7#)-(|z?;swyqseunshuErVUGkm#IWiqDkGM3WcO8CZuodpl zGCkJ`{Vf0ATI<$Lf{Rrzr*HlHE_kYal160=(M^$`V*HN2ZPM51(|zUGC(<{v&MWz? zdED{0$X>P{g3I~$ORT>8sM7~X*x-U+Gy!6~A{7HMi++!)KnAs9sBbk;KAlcB^0o## z_SVZNud$5WfzMUv7BFN1py)gmN)pgEoZkQ%g(!IzKc$w7E{B>?)Ks_;BiL5$|U=ga%kp!w6VA_+pmIXdxHsjmy>QYy1G(e6%5&e55? z^rwAwfLelLSRO@`L**9l=8l4mQNV*Kq?V2wH?0(;;^ zhKwf>`7;8UKLpy358w4Yp$rW&D+x!eLn^4qt@!;?r%vif<A4 zS9%;@P+M;nMhBlS$ukt>otP=x{HyG(5|2wN_uO9Yy%Qwo&=ZWUKZWSG`BCy9gM z1EAvjJQ-!Y$2nV6Jq?;h1lH5`*YJ^N(TFes%zU1CdpRNZ8t8FrcnlZXD@7w|5c514 zHW4vTDB^sN)96L2MO2@qB6jW36oe{WM<|;rQWC|G9QBf8f>N1exzuS`F^vt)&rasa zu@0d&B|%sFp+~OE|6Z5Vr9lG$V1{va3Jw09CbMN8qBjcz1C5Q}AvR%j#)O=VGyW3| zJ{f+M4r~iYByyJTI<8M3&z}4I>m2s0r;pS5we9CU^1bR#A2DMVu$uIflVQ>G&@3_X zN+X0TM(Q?IbTM(^WZA150QmPxk7cKNl>+@gZTh=P_Qlx2gSW%N@Nn!ioTkCPn@XTt zBw&^*thxu%kASA5L3IYe@Dk`2T98#iT>f%GHxa2rYsfj1l{*ipA)?-3!gtYt9Mz^q zT4XP^NNTG!&Vz!5VWtz#yIF~cmz8dp!JK^$W>L=$53)_^-10;j0^Qk}nj0&D`OlZi3m^|>;S<}T{s6h*wz^gcNR!+ei+72dH#bZ`0Mw50 z50#aboQs>^Dml|ubF*!yqJ2l=c|Nwi!QbnpJ}efkA1?@&Ub7}h>&(e;zLZF#!FKUc zxp=7e1|w!;XftH`=$G(%A-1ENvd?s(J&TXBn1*URLzI1^nd&yw_R>;HVDbP|&JCLc z39NA;Gl&e=`x)v+MGO-m6(mS5HB#!%$_r6BhkbK?C6vqqwi4xX4#TB%Dw&FWj7F$b zBcow8%EZfuXb@{-_?xvY|DAzsjqr}NQ3_{GUW%sJIiEj3!9nr|Wii`U1S{)4$hK3vG#srl#>tpw!t$}4y=2L=h=Ex`*qa5Bs z+|USVDN+RuVkSUIY114$_=JRBLqteTO=X&_lvIU{9`E(+ot|mRyBAKT!#|FI$|Up( zKid(#GJmo0Qd_gmHtZE!`C`Z9QVDp!@W6XXN~sW(QIfkWF*#vGaf_G|C2?m|q4v@s zHj5WN&=BggkYhBtYuDskX^=oPvitk3RWZbE{`R#5xl%zTy0ke8snCM%UiRw_V}Oc< z7EX+|z$16p?{_<)A)(Lj{`>E)35(|>z#O!N#sS=DC9n+qX1fihQ=+$0_8Lq-mj+_N zXmoeTuwd`4e%w(Fq;w-`$^5LL_dbSC{PwLbakk2(8TVD3wg99NCU0gL5=5lf?T5xm z;QNH=WQJnAL@{nY@VqK~pLqK|d?Xy`YIZdxO#;`>v9XO8RrN#7$nfsjk~-3F?bzfk#(Aj>*3}Zo7Qe~^7`yXi*;$&WDNzlwOAI?EM%0N>x5ctA z#PWZ|XsrpQO%p1+Ce)5iVCp8YwS!$)9=ia>tEHl_P0E=K5P!gliLsi)TFPNU;d1gh zDKtBa7XLUoeeUnG`*Aa(f0j zmEY4x=Z1a{0mYD#I9 zlA=jz8Qxff1qwJb47p-P(lkSE0xdT~lbiH&q7nUH=;}{zQF!3E?7An%29Xp8DcF9bKq;uC zgKwgL?Ol!O)jft3{hhzE-aok%J#uc>e+NImxP1bybH`*aD^aw(dCH`y+$@zm5xmg= znKUqq8GJRewPm~tIf4Q@!DQ_FdiBe7J)QO_8;%KCs==NM%Xx;fin*0=kL@u~U-vWf z1*FJ+J&s4DhP(2PNb6Wu7-)8x;$#pS3yQ*L2!Un}$UzyBU3>z|C49m|B?`3NT~5vB zaEU5@mf2nr&9N{flf8bhJaD2cbsCic1NXvDh}bg1`11kNgz$)u3iy} zG@Ng&oiv&4QMhd}IPq+DNb*2|&wA8IrQsy6O|I_QN<)4{S{M7AZ;h|V-9MH?DlYBq z?Vwya#651FO5gj7q1(24*@uNiBwP!Nhz_ja;1IT#!guZ)vX9tx==HUTjp!3lhsc;b z!=A{vVlRj72~`O_+Y`?}so+k9YXVqmr+q)ST8(ZilGB(03?WV50TSda%OjhVP0U|^ zmNl$pTW&l2w)y(*BVUFbqd)Z=TOv4g04$5lIGHC!y|4kQ791!LY25dw>E8$i7^6T@`L-kJl z39zoEc?73o_KM_FRo=yE_;mU%o#g6xZ|bw)`Y*ME1f-Vy;Jd7A2cPd7*>vc|p|^EE z`{m6F?H2Nk?_@6(`)oe^x+?Lw-Bf7YDMqTkcfroKI|zMwD&${-3{|#kG0)F=VX-jn zx8 zYWasD6Ga?Q9bZORSNF>%OJfg#HOXX!mRaO0O+Z$q0a2V*IGXJlGSPAXUym@;*tTFd z;`EpqEce<44^n+s{v<2`Ng$IAyLC-NzCS!&H5hMXf5R{6Yc9;05l--O@(-z;EWhBH zU>bH~EO>MAj%j~)tdM&9xXD}D|G-{*#S*p$L(j2xo})7Uw$7@FiFrgC>`}WBu*c!? znMcd={~$_SGl+D!!QiQt6VNMZ%&cG{n62tMq zdJ3BL)U~JQ$)$a{sZp<;Bi=k2tLR7uDhUqUVMaRpQgji1{ctK2!jU4`LH{C z@&sHd929FCHWog8rK;i;HpQ=mIG?#GMjD#U(0S5gcI60x!k)XzT_vX}a$)NW3h0|G zG9*b})mD_cX$7J$q?|LT6>cbeeg~p9~neF%{tLQ+~ zh{8v4Ue3pf)?kK*4t6rn`+H2Vzx@mK*7%!$Wqq#wxcFX)j%SbojYxtdWxJPatWwp? zVD%pZv#`Ecwd*rOR@{uj=%Y`8Jc=xd|1!-%v%<<8D92xMSG|LW`i|=&cl}R_piX|| zQ;?VOTp4~&jA_K|SVU)0^r_5T(=3YWzDTMDb~SGuKu5L>Wgg7LJ=C$3CS|P}_svTn zzAB3{pInD=n>QHZHZ3+(zIxD(D`7hd0$@^PQcSL&3li^_O(nE~XZSFiw32fgjaV&9 zK(h;prrgK?DG7*3 z8ij>VZl@o-{`|!k?jdO}heb;N!tlLS9ZF~K(uF9XQf;*-f#C2F7*>u2AqRNCXsQ=~}5|<(4y9 z^>XdeX|**NE$`|4bHedUJt21_a1U|+4{r6E`ZAs8MvsxX`thM^8NVQ=$^1vL&+)Gn zTdii4J>|K?L7f#E@7c#MXfEGKQst(#uHE3EW5LFDmYgGJr^@ZD9WVe*AWX_PfIaUW zMY=O+n1hOYloyh%lA_S_VguhELV`H;g1&9XDxma9d=~E})|YhFUchpcI-Mkr>N;y! zk7t(z@#t-6O=1~h^lkjWq7aT38hp|hY(|Id_J#T&fcgv&srsxForC_Rx6>C&wg&Am zV^j3ldt5H>&B%-JWqo4z5y@aHUzQ&xmwHC)(SDIJM?}b~xT++(!|Ar!pvZhmWD$CO zs!{D}uM`Ruw!E)evPDf}!Ddts`>gZ++XgJiR}Ut4##65y*Aux64!9P!*ck9g+da&B z^-O~YOdb!k((jtxG-767TAv}e-UNLFc_P2D2t1aHhXoPfxsiDC)Q?h7#ZD`+I|g|Y zV^YlyZiN^U!R6vk!*zgRuU?5M+nmQT<=fe+;B8$8Y?D~{Y<(B0M;6MqUIwIXEpBg!)qGlB@H!U+@ZJ_W!I<-J=?YEH~&*KyMT8u9& zcAdS1_swh?E$ACyE}OIe5N3rv`Q5&)A-*;M_V%02$4v_!Q`qI*#WUGDAFW4MM!Q135 zBI}-*fO9{Zf6SM+iv*Jp;0>hP@RfY_I`_tYp7-H)CSB-5%rzw4E&eFKzXPN`&q<`g zG?GMzm+#+MyPw_db6jP--(Xy1unBwB5$91*;DINWfSr16nG)X{P2*!7HvNl^r4X>m zm4J^_qvk)X(&h1?tg|b`k%nGFV?J18zE!dxY&(BWa#6_3C!$W?`^eLCDWUjev&&Cj zp!JPef4tZx$hQ-)-K6dngKg#RZx#t+()%8EH>WkS7NkMXx`6)Q{ZGpeKbv=%Mw#7I zdbDcr=&RkMZ=R3F1s9WJ&UcL!w4;5d*Av>`Cv>3FspUys!%02+N&Sim zA>j5}{G`!=N#oo}!uP@*t0O=O$XcjIq`M|x(ShW)Bef=os*jH@Y;BS}vQ8+tceChu zJpQ^9b*pI@nu+ z`n2}Yw_?iA%bIF4zOiL!D&R?ISbK=3jPK?9;}lOZV2j8IRq|wO#k02NXYJRXT^xGW@#NVh zuaGO%6@k#_0@deTs+EVg-L4e@9b3yC|2}m*u=Be8C^O?8;R^NC(Vf>Xop$4~4X-}B z_5Jx>=$ue>uHSG@WIs3HH8&VGHT8d@{=@cW!d zYluVy8CQc#91Sxo8c;i|YwFy-hQE(yP1>GK8<} z;U<8DNWhkhATu%~L;&#=unst}t+S=41GqH=AA*OHd*ih1w7ev2E2W3%%EuDhryJWL z*Z+Kf6)?RV7%tN<2t5jYO;vjxY?N@1KdDCmrTB475Wa)#pu(dCmp^c}N{0c z-Vqf3zWMX3obD+Q_kC;SdkfD~p?l;ENGubHPJ|lb8EM9D6Wg$wvsEBKQ`c|!9acA}ucSMB}Hp44W>>+XAUZ(UPUOyz%%pEA4h*d@N>Up6akTJdTphmr(Q z1AraG?6&(5{TY@i21G?bH}OxK5y3%pmN6oi3IJ&kIPeL!e{X`uJ4JrIt~mhu*t=J? zm+jAo29iE`(3pl&^|h7Ll$Hg2(8N^Vd9P+%LV>N(FsOOoC2U(y8-sT%w1 z-^va#tD-NJMZ5Gg6NtnEoqFT{CcKA4(ETroLJmsc(x|E`B)ML?<-_cF$pRdhrzR9w zRf8Q6sUCn_sTdp84$6AR(P0#HTSIOXJ>1}~Vn%eHSF@WhvR(izq&BBZBX}DP>~1*H z5f6-;udzJ{HsiHYFpxL|#Ed5Wc%S?Mxf4Aa&xdovR?sFGjo=whm^6;b<`~O=_J{-_ z8^CJS3=f`?c_j4AMNVKfM2%2FP{{RIXLim)Hc7CYRlciFgEfN9Q_7_PN^Q`_agjj7 zT1FX_<+B3cCIs4&P#dqlfxUQa8wr@a0`n&9^Ld!{`8b%2j&>8Ke|@vIg8*}zX*hca zWJuWOO+DbqhlTLDJE}q33o=fglxs+5D3Blra;Ko`KVph~ws(ozynn<;96Z=)?I^y; zTX=t>0tNr1y)B8OIwR-6fIR;Ii7k9>!(*r7uSOaFjLJ(`X;QKW;0+0@mITP;SabO` zU)*svQOYlbvZOpQsv78w-~W%q^`JA%8EmPi?xj zQnwmrP78Fd<{Aq?GBX@19caqW4^KR!Ngpb7<2up+hDjXD(VzbFhi3BGI&?sINli{= z)`kNgOvEgkjnd6{sS;h6Mq07XI&ke=@>&nan!c3IgQ_8zn_6Hg_+_0)V8|D!Cl9pg z&bx~jU>^*>|Lpv($9vRx`vbr+7}U$~&SuUoJiBq>znjMR;-2^&-l%HshSh)Y$NE{R*)@Ghm%1# zn!`4osW$q}B+)efY8*B$zVOvqLqiI#5?R4iUEfHinbeI|$PMJ@rk)3c&!aaq3mX2? zI;?x2Y#&RC-4pk%^m{r6-1_s~j^5-p1J7U@@krL2#s!;lZyT-+eO{ z^WF25EK=48lTH3rHhbT%nM}2YTnM?8@;!z6zp|#*t|hY>LF~wBi_{-(q*BWL)p_J3CH!^iWX*YeX zr~FX&M^AOOJ^R{g_7W1Tf3wwk(ptKjC~l3*X>GO6{3w6Yk#0nGc38GM5>F|40?E4Gyb_nkoJvzSBTSMAjh_tblxFNR1l14XW`8=lG0?hVx)f{dsvlGV}!h$u6;Nbx;u<+O>HN5((3coG^T zX}Ri)+K=S|i0*cZk)Aa?Dev;wL_7$x9pRA-GEkcHb!a!mwuOOLV*HaUzHdC6&0#>G4R)dFneNC*|~XIrH8Y*Lq`eW#n#% zuh?G0&7$pJmk%J^(^{_}x*qM2ORXlL$pFn@{+X7#n2nR09A*>F9&>mWzvSmG@3j8i zVJ_qTCdU^Co*#33dHBO^$5+Sx`|CK*l-W#L$kjYfTFiec7b(w{;7h!OBFwVdl~aFA)~r^c1Ag0 z+Qq>s-Q6yldof$mY{s+>6)O3wrUfwW6FeF2d0;-ygQGnQ)yq}t?Moc)PVy{$$t^o- zO)+}YTy+n!FVuR>=!Y(0$Xb@m^j6)vd}0Jo4{mWudW&qt45^NxL7(av%7-F@Fl4Zj zv~5N4FELkX8gSaCsUH;*Ia+R@Waw7Xph-EhLm9m>A!que0jEImG}*D@9#UA(xyJL7 zQMKlxNdV+F#%cH%pR-l6q%5)4R@x3$R!EZrk;vPE8VExsAzcOGeR^tFTZb$%yH4)@ zqlXzF3|pV>D%|6$kA2)aY=1@Zq@jfT{AOmW(_~lC!9IQMZ>>Jg2fcz%=@)8A>+@{v z%nW+A+}koP;RT;cQQAcqz@k?3{lvQNt?yMe{z(emdI|aG{umHEOvbhczn4bJp8C2m zTnpa?bQ!-%CBSiPdt1L8xs_vN2Sn+YGvzK#L2d|WPzUqNN@R?*UWd>5-;}1JD^;Tq zZ50@>2v1&j|LI+yXPDJ58?oYvuRRRgVEO@7wn{)){5=*jnWefFBWRbanX{C(oO0%n`L`c@J!;} z9+lHKHpAq1BdVeUySevsHeyiG>!Saq-WG&y;>))AHi(nZBzVc})vw9xcYfTqI{rZhqeXfszr7@?J?N&{ z)W^$lIx-&WL7cEMe!sL~Ysi+H0VUF}i`4EAxfyZcr79RNZ6KHxRvt4aEn7z(f0HjA zYP6NExTFvVYy;y>Pch-M{D zw(xr>giW#HGY4PY0)ZMU4KXUhj~+J^nuX7y{6U4!za6))SH6Pztm4KO;yz#vBEg3U6c zKb{u)>#<5nq{r1a0dIrLZcbrd(*1>i*p?b+2Q6tbo%c~uQQgWwud?{k06!(HF@Chl z0a+%8gPC4mzH0Pehp$j}PxK>=*?8)YHgmZ>M9);2&5Iw@kH1Js>|cI(Qo@osH?x~k zc5CjjEf(`Vmze8V!=Bjkfz%30a#=~})?yH=;uqe3DO7K8T~tJ9dBB=Cuzs(ZxM(nzeq zq$RuAX{9vHvG%!j23rqb3L%_!e6e}MNzC5;^4d`8OK&&l$+FHYPw<;oPKL)a&9cp7 z^1bY;?!gCFJHKCg^+pD{6*+L@AvW49V_7BoS1RNV?dsFv*=zkbXX@e-&HDP$TS(h9 zzjgk+{q6Rb;~OsXV5{~1pMOt%+U>lke0hDy_RhW^2Wv46cQP&v-~L*8w~t^FeLD9l z_M7EHQX;0OO6UTps?LQm)F&SRq^Uk)5?jaGVm z#8ZEA)*aK}^5Jj&zou7KCwxGCXFoXV+86ydfe+h#u2X{gYQM!N{?+?kOh#Y0`LV$*k^M^5 zV`KUJv9Kr&5*JJK>Gox!D&=LoXOlVo0)t}PQpm6EwJa~VjQ7*7O`7BNuf{LEQmy6J z9OzfAE`(-MR5F=Y_5y46&R@+|e_=23Z)O0v^_ZfCPnRAnd{V@=)MGn!HGAqcU*Hu;We#BbF6pp0S#6ppKJJ4bCTxgIYc+ZJ5slTB66Ml0W}cw46-1)H>78;EDd zG&(4%0U&}w`3P?&Kj5S}RMzO2dN*D z8^=(eUuAArCVOJn`-M%fFdxqfS1WOa{pRhnm_DY?AYOyIfEi`#6f)_AYSnV4CIYS- zzDpJN0Grl-W*(qXr0-Ozf8&~Z{q1_^PJNf2MwdJK(L_Et7WsO<-v205h3syeB{En) zon+B(a%Rp!-hfiH1Ae@4$ll$UE;7hg)re#&;Y7xx=U>;&q5-_)2;~FilwDygLMVlO zY=g;if^i0Es^-9&HXtoHZ`6yq((Nlmhal|S2?D?Y1_l}4FU##8spt<49)U>z<48j5 zJ|Fe$LDk59A4q+hX9Xn^*wiFz-$Av;v!uK9n02PD7_Big?{!IBVHfJrQKCe9?Gb2b zZ%`7hbpi(Aq7oHI`5+7V3#exYF+r?&06-?Bz|-{poqLSZXEY#W0K&DD^wp5N zrzEyqm7sVp#AhxtlnGQ{}Hj|J-!rNfJg@?N{lq(d?pm@ zP3Rt*KIyKi)yh)I>Nmi+@9ASgw(lOw_R$3}Q{^8h&$9^Tj|d!q77nb|H%*9V$wu`{ z?Ls55$l6s3;xUb=CKh%qSpnHd46@*{2xOM*=muGT^c^7pfEzS2i02WKM4IOPTJxZT zVwO=kQzI(CkTh=4A^b<^x9uI!WKh~kXHWG?l|T-~ZtBR_aoKr*Je{c%33@=yS6{hs z;x|w}6gbq1o{|9cB|M#KcdQD9LINXSpeq3S>bQGg|fr8G#%r6r$9sW_50W~9=rIM}b*LDt0# zKC?)JHvmf_@m|J-5^1dC#Y?wA^dMm*yT?EdEkl_6i!y9i#-& zzVaSwhK^&`w;5MooKfps$hk-HKAA;@lhyKkcf*o8A0FI(F36pS{UgMcn|My<^>1dP zj5@x~i{L!7uJKrXh&#bI4eJR!W@`yEwsS;m2q}2cE3SgiE&}zZd z=up*di}EmmJ>0QTMd<~Onu^K?-5=vs)cYu2Q=k!*RwU)i2^-G`0fz2>0c%0|YQ6oW z!xp8al`V507BV9PhyVnsU*>-j3gh|o<-ad42dm&;e74&7Vbw6Z7lFOZwk`eW_9 zw-84ZR+e6+L$KzQ8^g4jPAg~xaZ6~>t%AzU!<2V@gQ}yto?vcf(9bSs%BryHU@$rBW(VPr|^F{lX6pl-o%O zpbZ&yasN2sfda3cg6FVzb3=AWW)3dFNK9o088t^f=Xz1k%0}PuioTnT!P$wRYTcv1 zE*nPM7{OJ0U_=}b2y}Z6JTkxOcz)!dmCTF5G-lhuczReC^EN=k(B)Vz1Ett zdp*)96kAYi6v7g_+|B$qkkCp#1&dB_b@hH&GQU_Pa+z5SVl*E#r&pAAhWrC=M zBQh#ss8Hd9!)->gDTZ^Se)Fg@vZH({W!#TO>%*)#{YEJblP@{?Xc;L64-+%wG-R3>Se#38^v&B^dc)Y ztGjfFaklbt*upP54D0c*e$1c#!~08;n)`J+axhj)$18I@44I~UHZ~x=`u^*ZtCX&u zgQs;|u2e0Ae{{I&ctR2i2Onh{qtq#Ae%u+GNd*k=0+A8&z`)|8*OyvGFI1G z19I5qUEr&>^|fPe2&}=Vj{0dj??d8~Nsr8R&g$|=8zRY2e7iAPqmU`KZAZ@wmv8cYw{~nqN%0j-D9OnlxX+$hlRvHg5sP6=*^h%% zIw-w6i5tDb5=UmP(X9usT*Y01^%R#!Kl>hSxYnoHfM%GIX62LNYrV$Dl5K|tZJwg1 z=T~;&%XfvWzIiqhHJ{v9aCyg=%l@biq(+lL{bgMRi-!4|5oc@a->AE~;|eLU++Wpg z1}SG(Wq9fjUu}9>w$mB3>DABMuQrbDL>x1Y*x$_PfAYI!()iBeiNS>>J3r5-kFEZt z@{e9>o%LH^zE^Qj8jS>GGX}0W{C#tKrFe7Tft9lJo8R01GExUj==X0Sv@DO@>5abS zM?d%R5!XT#^k49yTL+J$N13|Ogm(&Vt9Lg-p9403HNN}x+ikIjP%(7>(8L{B`fXq8 z#_PL(K3)FuwBB<$?wrhyjo5>@cT6`yLe3AjlZ#`w!PyLXl_M+aZhuBj%$Og3|Mc$P z`+FNmyMW!o3)8yf5=9d6!C4EiqEV=COTd}j_#WI*QfY&`WehgFDf`Wq5i2a^^e@rs z7EC^3pedltJJvIoCXA1op&GeY;a#|%ygi24IyWXv)ww(=xY4K7D9kw{5J$x8xAfg8 zPYG+-IoY~)PcVMQHc33?>2LcWoVRmKVxVjk=yBQkaOd_Viu|ivxwf%+nJg56+c79x(`$n7svAKzQwg&vTfpBZZPW* zd@wF5r^XuG!530RNRtlqEk_k>ao<`msCWQHF@G-u_nG^A%d}mR-uAgq;4a4*Th}YF z?V#$(c4lF%^9?!>1C5{DWu?K|_l9?crcrnyOM&dW07D0z3>hzEvqJ{*MHx47|f z^1fBS?6z_1d*+YFZ6^Y@J+Pl0+&Im_Wm1D4I=$<7{Lp1}eA}Z_Mb4K4X!>?BqA1&2BP6312D+oFX$~$_m^GZ_O%lnJIC1Jym;ZNjWUkdJt7Qb2WUP zS=Q`#N?L*m0Kurf{R{jC#@ewF7XsyPI2+!GTWC+{VZpf%YuWpzpmJx zKKr^VrfB<{Gs&H^Z_Z{s+}QrM?y$p+8*fo$a-sg|q*Psxlb1$kov?>FMHgb5z)HSv zgvGL#1;;;x366q3q;Mv`g_XL^We4NWeKlL+_h44Ru9dy(pwiuch`f`3dcF121d}$Y z^_m`+yw%Y?gfByDFI&Acw$>yq7Iq5MS_`fHwFW+3)cJ{)+l8BeYV67i9z0d*`bQ#b zKLzd!UPo zTOo&WjsB2Pc^`QyxMqm>M!(!ndMGopg4?(~M)B#4yV9K@^7e*f!*C+6#|3A7Qf{bx!7O053Psjj3G_>7zl^VBx6(O#u3DFj+(f%by`9Xp zc)=HJh?C z)ZB-VOkWlNg1}Qy2TK}MudR4l*94!s@-DFb-K-A<8&XqIRde96cfsnNHfkX7vwydi-*bdR8p3m_&bF zTjw7Q=|-x+PPKYj{1I^N2J6+P@LuMHG^poPgXV6-A+?%$cu00dTFg94X9Kek?m5R( zDI}Pgp!;)onoOY1QE{g283lTOgvvLmINV1uhd9%($exQU#O;)e$52rDq+BPJ2s!^} zx*4o*97+csHuy|eamNfxQzgT1*!qV`4YW>eZa)8+k%MAj^%(iz6<(r1*Fwhra|XNz zrt#)0sw~NqEnkYXi&{|Tjwb6m$3Shzb>;UDag_l3tpBGrQirvWv;`< z`mtKf#Kr3>IE|hFVL>~{b#{a#PFNMmcv;MsoU*w*5iuTw^=2#2Hf z7Jt5ZST*>cikxGqWEu{I{VhN^{8_ljqYh$w1>wTei)zPx2Xy{mWysP8a8ECYJzxQD z5(#YQMW$N36hkgM-&AjEb-y-kvz>%^sBp~-rv8ui>{*To9>TEDJ|%`cS`1daMdcXx z%;yc|r%O}MTuZFk4wtNcc+U?o&N)BQ2NSM-+;^8fZUHfLcwy!o^@mBfAU*(|g%lkF zV*mxQd-vUvq8P8UJPLQMcQ9pBsUm%nF4%Shp)kH}zs+^CMYNi55$#QbqKmqbQR64o zYStObMP2#2@hr89^=5{TBF}GBI(yE4iKYW(-~kNP$KnCBcT6FYB*cs$29@bu1*)U- zXeEU~Q(@v~zqL3ef1wuL>!?uavC2z(W2GDbxF421Kcqag`iQBWRj=^3p>4Yys`Ok| zvsK-@z(YB7&*@q{PdLz`@XH5=*-JjBAGIH|s9GJ7D;)-xj}|OUl{g}u%MIM3N?1BV z9&fW-SZ5`^Ia+#IW8-O$f{M1{((D~Q)5a98lLt{9VzvJ|!W8$mxrZ*4J-y_8K(?@R z2s0@z<@(0R93&0l!G}|=YZo_Ej#snP(*Lp^Moj-7M|a}Sgya7KeD`IW&E}>y=bVk? zu4b;eM~;P1BQwV$ggukaEiAlt-}c_U-J0gjjCL zjt(G}ExQ($wp_H++3=<9um66T^|ZXUzz{!v9aFF2^g1w#u`#fXcumlMMZ$X8C;eV! zz<)whgW0>-j$SJ+3E3pqfC0m8d1^y!XeS$eTZUA8Wm_wRIxdtIL)4Lj6{v(%2BePw zbw~u8HuN<2@VP})+k(;@Tje44BfAYht-v&wJm03nO#0ZFZ9q!^B&TdKTM9q84Cje` zOUedCQbegDR7FKrQ+GCD9bpovf}p%1Kin5!ye8`{aOBn2D!xRLuq`s<8SX3bee_ft zx|XqoBagHomaaX-%$aYcC_i3$c)6=s>pz+D2>?#UkbZSV9Rgq;Q!vflDh;%>oS5Z? zWMmuQA~oRKA_c8dKcPY{hI!qj`(%iDmDAiGDUwOcjEo@~2C@?s)PQLEM`dp}W`Kr5 ze^jQ=D=kx=qzn^q^;&M{Q69V0PRS6s-P=YbI~2TB;;dH6`G1p^HSPx7>PjSKA&H`0 zbp{EaR_8OGVLp?1m^PBR_zPL~2EHgcE_;w`AU|C~D^-YzH8hwlPjw3yGcMacBfo3o zLbNHH3ylGFwjbAF6BS~j3kS4j4$u52O7V^H+TrYl8y|JHwM7yg{$8k^GGI?-p{6hV{nXZK%l})Ib?_@GLo= zRyfB-4#~_~B!Ab=71aLm+UU@veeVlWCP8)H2cm#yI^OBDN>B=zR_2NMP^hZ-z#Gw& zKa?vbzQ7V0?)#ThEH+ec6ez6t7xoq6)mIa1xtSQW@z&K1w;NH;GEfBMhAvtGfl-&WT1=HP4TEpc zIBO^x>;w&-@)=V_QX=vyZcCJ$T~?S0=qzPeV&Jo^Sy(YG;}h+fMxpPvazhlHHcmpW zo7IZ#)3~!IAfaeuZ$I(c_!ia`!Z?7|DkEF!iLUkcbrANh+<%isLUCLO3YGSp0!o$P z&c)zrBq(~fohu$Y11D<94{~DWShGDkay)>u-X#VaDk0dEk#D@QDC@(u0bx5SeUZ$t zon-;MAI2%mFe(jMA@AqVHdpW6e*F6O`|*f(8^h1;4ZmcaVsHo?Q1~rv*Q`RM3_e338ZaSO7tNly&i|PuRB@-vVC2Ks zcait&`NOG^5`{3Q=cB)8)BZgUH}`D*wa3LS%YA>A(_~zhd~vO1)83H%d$-@*o38(% zm=*z-Bcf0i#5sD6l|c^|t5AIMCUMdsT+ZbF_gvB&+RzQaQ*S*?Q&3igx2iD_{~ryH z2BBAJ_&*OH*QiKu6yuq@>Hj8Y63LjSqbj)B>va!RmPV_Vq)IY&j#WTNtRKF3SoM_z zc_{ei007N?^gQcQ<{-@?=bu`+BQ?1Qpw$ur3^|M(53|K?y-T+BtlcGcePU+j7P>R6YYDt1*Ui4l-{mUy>OlWsuUtS6^dQ}N7hJO zt|Tcje-6Or2#^0Y6eS%OeoCe1V}a74J2UUkq6 ze&_(Y2T)N=g7Ha)Zm~)OG^Ju0`NRQa!*&#jPiDRi>hMR_$PC9xm;pITrDz9HGgGy6A^=V&Rv$B#A2Xm@4k8WNEf1B(5I!g?&! zjwzvS&kcUuZ7t2^k{nD*nsiV*e8F~h={a5z6 zUANC27DFV};=MWN58OWg5wdR=0HX37+ehk(vNYUdXJBM+$a$Y!d;3DSN9G=rlJ(hn z+)L)qxUOFX7eY)VH#}XR#vKR(nU5D55B2N@eQ1Wqw!FNb(giBH+v7UOe&DRuYFL;a znSZdZP&1H!FeSUO_2_Qj`xi}mjH6~XMcw+jSAHI!C*84W?B zDQEAj2i5&2!?pR{9DYf!$|!v7MDBVcmI4qLxhKu&s5A(=iG)S@p7=5shUMY4T%5d9 z?(Todi#6=>%c zbY`EQ&W4^JeYyGi)9g9}Ps#DIPva*kqZeF~g3gBIk&S=BB1u>*5Uw@wPA6}$sB>`4 z;Fgv1gX+8o$5-{Yo0hK?dLV!5XZCn>o_P1L-TBe=yhpb>ADuKl*6BRdpEvZNb7**V zC{=ZMB5(M4=kTl5;aTUA`MTk9tvw5?BVU{!-*P_oJ$L9r_~Xk3yW4v8Yds%h{*K}| zk6})cu|`NHR|)NMt~Bq7$=xT{A?IDrJ=k>csl(l;fu<3sIORtY$+WzhE2S3-<6o#j zqD5|fm*&jm!xQIo3=>{;`fR?RKbLoUr&Go$SSl5{pwS_ieo}OI%1rmX;q=q$gU^rO zeZCzwUazzDeKm=b(&z}@Z6uD!cl=mGi>6TK%V2ncgd-8oJky;JYzvAJobv#gY3 zrYz6^PtTZg_H=*-FW9+%EkSqMuTKBauF2$VCNx(m>cfygWRrd{4StD z3NU^vJN87V@w=yB8cCb%77a#uXOMRuTCt>1Uvo?Sb2_q*TP_v*h7R5ej)fP&_~7|HFI!~WPsHbz$V@wTj)s+Tjx zdgU^AVFG};)S{E~5D%31Q1#t@ZlQZh4~7?(&B%}o0K^>a-@jMP z26I|9ZLpz0#KVEhJD_h9;3}Q8^oKO8WxZO zE&pcZcRW77)w5{Dm~%w@8)5x+U_(mc=G{Nv755y`u(EY~TCQ}g zSk1zAm)FLj;~UZ~uP3XX_tGqiU|mU3@$^?z9o$H%-*s;8ezBdERX9H}PH{SVs;hh( zF)q+L;EwS4^YQm<{pTIb!UKQ!zGyJr{+M;#EoE5!Xyn$M&VN5WKTk>gqqU{PzJ0F0 zMB8ag=R&E!*y+JgJz=3(Ym>_SsKcK5p;1xvx|3T<9j_ zCB|js4``Qd%5v8^mDS^Alogo))jh|#GOHb3;t}rFJpVRd9UEWq0JU3Y<)IoiLH<@>N4=_zNDZaB^d+%R(ye_r1Xu62lS5mWqw zARbT;@C6}p(UNXWrAx#s{3PqF3{O)2s#H@=BCNQjvpYP7LE`{k;sR4K^-( zE+VF@ZMo2E5z4_ixFRF)JwF`gm7iX9gP&Z6(Zm;#g@aMMAoh3H&XQ53Vh;@)dcms2 zoR)$$3H|AQd-ou3oAF1zZme3x9S%P-;}P0;UAxfi+AwMYg!Jn~+#i?BDjnwBCs%Rx zwFWYd=6z~hzo*igcnyF=)A%Tbr{HFqSzeOTq`w~dfZ?54QRe%2(z57*?^<$ZW!wFVbUZ2#p%H$X_uoIZSd@4VBp|rjGcdNp2f*Z#{e}WviS- z2-nfaid3bgs=PtBnnQp>YsFNkP+YE6!YuNJ=n;>z_^PLI#eR$R1eWxXZteRatOfX&D97RWdq+LDwHhD)3mzyjCje?O*pV>*#np zzWzBXIa=xEl;aJu>;gaq!4bS^R_qKvx27LfnwF#Xcl24bWgI@KqqQin97=85b4Kaa zqW4W2s-YW-qXOKgVqnT%h8nt+$JhQ!2&Lj~t%XF9hi^l1m_6hT2^f7RzuU$QM5kcO zArBIIfGoDV4pk0dW`Q!2SAd(s#4y8@jY!M2S|i;i9N&xE1CHVdh__|M#zQhF4*vH4cqJ{e9^+w47dJniVoCgN%Ju@Q>m=De->i zoqHK#kdkBj>pieom2c?&qY8Tle7+ksLX0A@fJjB#C_%#R)eXEG&g@^9w|)Q$E&Uga15M(>MOcQ^`(7!)mmdB8% z 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 z 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%0AMY&+ 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
m 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≀9( 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 z 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�Q8)erC;2?mRV!p-BK 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�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%0A8PEXC|r$>P{9o*KC=VhY&s#%r1Um<7}iq{K*Te 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�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�)r$=_%D{i!T;R(ejhLdvxMBesMfF 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⪕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%0Ap|&=Z#;w?)u#%97M#Bv=x{+Z9;+t6 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 KY~$5E3!=B{idl9M}SBq3p{M%6g~ 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%0Dm?TgtQB%2JhBgB^~<=9jSvMV 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

eDE%mH>8SntBfr& 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

6M8o;yy=QTu4jUoNSkLsQgyi+uyyk=g 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 z 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 )iXgwu(hg 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

-I)$RRa|tYin01MD#NvY2&=Q#O0ex|%S3 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⁡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≫TB#q4$tQAJzLCww%qyb{qnQ2zJyiY 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�D>AuIA8f2=2=qJw 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

K5Bjt_HVWDa2E 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

lBhG74LZE6d#`Sm9(7mw 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

q}90et_z_wjTQZSv@QN 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

){jrXkKI|1ywjOo+e2sy_z}E_Z`i|K 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�}DzKOEcOn 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