Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
b751aa3
feat(mutations): add per-predicate mutation pipeline
darkcoderrises May 5, 2026
0a7c1f2
chore(posting): strip debug fmt.Println from hot paths
matthewmcneely May 1, 2026
db61e4b
chore(posting): remove dead commented-out code
matthewmcneely May 1, 2026
c23489e
feat(mutations): gate per-predicate pipeline behind a feature flag
matthewmcneely May 1, 2026
30adee4
test(worker): document why TestCount is skipped
matthewmcneely May 1, 2026
365140f
fix(pipeline): scalar Del-of-old-value must not wipe new Set in Proce…
matthewmcneely May 1, 2026
c9349c7
fix(pipeline): InsertTokenizerIndexes deadlocks on uids >= 2^63
matthewmcneely May 1, 2026
732512e
feat(mutations): replace pipeline on/off flag with edge-count threshold
matthewmcneely May 1, 2026
8b32677
feat(mutations): flip default mutations-pipeline-threshold from 0 to 1
matthewmcneely May 1, 2026
eb83b8c
fix(posting): re-enable IsEmpty check in IterateDisk
matthewmcneely May 1, 2026
ef3eb6a
fix(pipeline): nil-deref in ProcessSingle on multi-Del-per-uid + stri…
matthewmcneely May 2, 2026
6ec42f7
fix(posting): defensive-copy reused key buffers in ReadPostingList + …
matthewmcneely May 2, 2026
bed2ea5
test(worker): four [uid] @reverse @count regression harnesses
matthewmcneely May 2, 2026
6ce7bed
test(systest): add query-073 covering reverse counts for all 592 non-…
matthewmcneely May 2, 2026
9916d7b
fix(pipeline): bg-indexed star-delete + scalar Set data-list corruption
matthewmcneely May 4, 2026
f999230
fix(pipeline): serialize ProcessVectorIndex to prevent HNSW corruption
matthewmcneely May 4, 2026
97609b3
chore: add description of pipeline feature flag
matthewmcneely May 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ programmatic control over local Dgraph clusters. Most newer integration2 and upg

## Module Structure

The main module is `github.com/hypermodeinc/dgraph`
The main module is `github.com/dgraph-io/dgraph`

The codebase is organized into several key packages:

Expand Down
11 changes: 11 additions & 0 deletions dgraph/cmd/alpha/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,16 @@ they form a Raft group and provide synchronous replication.
"with structured fields including trace ID for correlation with distributed traces. "+
"Disabled by default (0). Note: enabling this logs query text which may contain "+
"sensitive data; do not enable in deployments with strict data privacy requirements.").
Flag("mutations-pipeline-threshold",
"Per-mutation edge-count threshold for routing through the per-predicate "+
"mutation pipeline, which parallelizes work across distinct predicates "+
"in a single mutation. 0 disables the pipeline entirely (all mutations "+
"take the legacy path). 1 always uses the pipeline. A value N>1 uses "+
"the pipeline only when len(edges) >= N, leaving small interactive "+
"mutations on the legacy path — the pipeline pays per-predicate "+
"goroutine spin-up cost, so tiny mutations are slightly slower on it; "+
"bulk multi-predicate mutations are faster (crossover ~100 edges in "+
"benchmarks here).").
String())
}

Expand Down Expand Up @@ -796,6 +806,7 @@ func run() {
x.Config.NormalizeCompatibilityMode = featureFlagsConf.GetString("normalize-compatibility-mode")
enableDetailedMetrics := featureFlagsConf.GetBool("enable-detailed-metrics")
x.WorkerConfig.SlowQueryLogThreshold = featureFlagsConf.GetDuration("log-slow-query-threshold")
x.WorkerConfig.MutationsPipelineThreshold = int(featureFlagsConf.GetInt64("mutations-pipeline-threshold"))

x.PrintVersion()
glog.Infof("x.Config: %+v", x.Config)
Expand Down
4 changes: 4 additions & 0 deletions graphql/admin/admin.go
Original file line number Diff line number Diff line change
Expand Up @@ -655,6 +655,10 @@ func newAdminResolver(
return
}

if len(pl.Postings) == 2 && string(pl.Postings[0].Value) == "_STAR_ALL" {
pl.Postings = pl.Postings[1:]
}

// There should be only one posting.
if len(pl.Postings) != 1 {
glog.Errorf("Only one posting is expected in the graphql schema posting list but got %d",
Expand Down
Loading
Loading