Skip to content

@ahsanbarkati ahsanbarkati released this Jun 18, 2021

Fixed

  • GraphQL

    • fix(GraphQL): fix @cascade with Pagination for @auth queries (#7695)
    • Fix(GraphQL): Fix GraphQL encoding in case of empty list (#7726) (#7730)
    • Fix(GraphQL): Add filter in DQL query in case of reverse predicate (#7728) (#7733)
    • Fix(graphql): Fix error message of lambdaOnMutate directive (#7751) (#7754)
  • Core Dgraph

    • fix(vault): Hide ACL flags when not required (#7701)
    • fix(Chunker): don't delete node with empty facet in mutation (#7737) (#7745)
    • fix(bulk): throw the error instead of crashing (#7722) (#7749)
    • fix(raftwal): take snapshot after restore (#7719) (#7750)
    • fix(bulk): upsert guardian/groot for all existing namespaces (#7759) (#7769)
    • fix(txn): ensure that txn hash is set (#7782) (#7784)
    • bug fix to permit audit streaming to stdout writer(#7803) (#7804)
    • fix(drop): attach galaxy namespace to drop attr done on 20.11 backup (#7827)
    • fix: Prevent proposal from being dropped accidentally (#7741) (#7811)
    • fix(schema-update): Start opIndexing only when index creation is required. (#7845) (#7847)
    • fix(export): Fix facet export of reference type postings to JSON format (#7744) (#7756)
    • fix(lease): don't do rate limiting when not limit is not specified (#7787)
    • fix(lease): prevent ID lease overflow (#7802)
    • fix(auth): preserve the status code while returning error (#7832) (#7834)
    • fix(ee): GetKeys should return an error (#7713) (#7797)
    • fix(admin): remove exportedFiles field (#7835) (#7836)
    • fix(restore): append galaxy namespace to type name (#7881)
    • fix(DQL): revert changes related to cascade pagination with sort (#7885) (#7888)
    • fix(metrics): Expose dgraph_num_backups_failed_total metric view. (#7900) (#7904)

Changed

  • opt(GraphQL): filter existence queries on GraphQL side instead of using @filter(type) (#7757) (#7760)

Added

  • feat(cdc): Add support for SCRAM SASL mechanism (#7765) (#7767)
  • Add asynchronous task API (#7781)
  • make exports synchronous again (#7877)
  • feat(schema): do schema versioning and make backup non-blocking for i… (#7856) (#7873)
15 people reacted
Assets 4

@aman-bansal aman-bansal released this Apr 7, 2021

Changed

  • [BREAKING] Feat(flags): expand badger to accept all valid options (#7677)
  • [BREAKING] Feat(Dgraph): Read-Only replicas (#7272)
  • [BREAKING] Consolidate multiple flags into Superflags (#7436) (#7337) (#7560) (#7652) (#7675)
  • [BREAKING] Feat(zero): Make zero lease out namespace IDs (#7341)
  • [BREAKING] Fix(commit): make txn context more robust (#7659)
  • [BREAKING] Fix(Query): Return error for illegal math operations. (#7631)
  • [BREAKING] Rename Badger metrics. (#7507)
  • [BREAKING] Fix(Backups): new badger Superflag, NumGoroutines option solves OOM crashes (#7387)
  • [BREAKING] Remove restore tracker as its not necessary (#7148)
  • [BREAKING] Chore(GraphQL): Remove dgraph.graphql.p_sha256hash predicate and merge it into dgraph.graphql.p_query (#7451)
  • [BREAKING] Introducing Multi-Tenancy in dgraph (#7293) (#7400) (#7397) (#7399) (#7377) (#7414) (#7418)

Added

  • GraphQL

    • Feat(GraphQL): Zero HTTP endpoints are now available at GraphQL admin (GraphQL-1118) (#6649) (#7670)
    • Feat(GraphQL): Webhooks on add/update/delete mutations (GraphQL-1045) (#7494) (#7616)
    • Feat(GraphQL): Allow Multiple JWKUrls for auth. (#7528) (#7581)
    • Feat(GraphQL): allow string --> Int64 hardcoded coercing (#7584)
    • Feat(Apollo): Add support for @provides and @requires directive. (#7503)
    • Feat(GraphQL): Handle upsert with multiple XIDs in case one of the XIDs does not exist (#7472)
    • Feat(GraphQL): Delete redundant reference to inverse object (#7469)
    • Feat(GraphQL): upgarde GraphQL-transport-ws module (#7441)
    • Feat(GraphQL): This PR allow multiple @id fields in a type. (#7235)
    • Feat(GraphQL): Add support for GraphQL Upsert Mutations (#7433)
    • Feat(GraphQL): This PR adds subscriptions to custom DQL. (#7385)
    • Feat(GraphQL): Make XID node referencing invariant of order in which XIDs are referenced in Mutation Rewriting (#7448)
    • Feat(GraphQL): Dgraph.Authorization should with irrespective of number of spaces after # (#7410)
    • Feat(GraphQL): adding auth token support for regexp, in and arrays (#7039)
    • Feat(GraphQL): Extend Support of IN filter to all the scalar data types (#7340)
    • Feat(GraphQL): Add @include and @skip to the Directives (#7314)
    • Feat(GraphQL): add support for has filter with list of arguments. (#7406)
    • Feat(GraphQL): Add support for has filter on list of fields. (#7363)
    • Feat(GraphQL): Allow standard claims into auth variables (#7381)
    • Perf(GraphQL): Generate GraphQL query response by optimized JSON encoding (GraphQL-730) (#7371)
    • Feat(GraphQL): Extend Support For Apollo Federation (#7275)
    • Feat(GraphQL): Support using custom DQL with @groupby (#7476)
    • Feat(GraphQL): Add support for passing OAuth Bearer token as authorization JWT (#7490)
  • Core Dgraph

    • Feat(query): Add mechanism to have a limit on number of pending queries (#7603)
    • Perf(bulk): Reuse allocator (#7360)
    • Perf(compression): Use gzip with BestSpeed in export and backup (#7643) (#7683)
    • Feat(flags): Add query timeout as a limit config (#7599)
    • Opt(reindex): do not try building indices when inserting a new predicate (#7109)
    • Perf(txn): de-duplicate the context keys and predicates (#7478)
    • Feat(flags): use Vault for ACL secrets (#7492)
    • Feat(bulk): Add /jemalloc HTTP endpoint. (#7165)
    • Feat(metrics): Add Dgraph txn metrics (commits and discards). (#7339)
    • Feat(Bulk Loader + Live Loader): Supporting Loading files via s3/minio (#7359)
    • Feat(metrics): Add Raft leadership metrics. (#7338)
    • Use Badger's value log threshold of 1MB (#7415)
    • Feat(Monitoring): Adding Monitoring for Disk Space and Number of Backups (#7404)
    • Perf: simple simdjson solution with 30% speed increase (#7316)
  • Enterprise Features

    • Perf(Backup): Improve backup Performance (#7601)
    • Make backup API asynchronous
    • Perf(backups): Reduce latency of list backups (#7435)
    • Feat(acl): allow setting a password at the time of creation of namespace (#7446)
    • Feat(enterprise): audit logs for alpha and zero (#7295)
    • Feat(enterpise): Change data capture (CDC) integration with kafka (#7395)
    • Perf(dgraph) - Use badger sinceTs in backups (#7392)
    • Perf(backup): Reorganize the output of lsbackup command (#7354)

Fixed

  • GraphQL

    • Fix(GraphQL): Fix Execution Trace for Add and Update Mutations (#7656)
    • Fix(GraphQL): Add error handling for unrecognized args to generate directive. (#7612)
    • Fix(GraphQL): Fix panic when no schema exists for a new namespace (#7630)
    • Fix(GraphQL): Fixed output coercing for admin fields. (#7617)
    • Fix(GraphQL): Fix lambda querying a lambda field in case of no data. (#7610)
    • Fix(GraphQL): Undo the breaking change and tag it as deprecated. (#7602)
    • Fix(GraphQL): Add extra checks for deleting UpdateTypeInput (#7595)
    • Fix(persistent): make persistent query namespace aware (#7570)
    • Fix(GraphQL): remove support of @id directive on Float (#7583)
    • Fix(GraphQL): Fix mutation with Int Xid variables. (#7565) (#7588)
    • Fix(GraphQL): Fix error message when dgraph and GraphQL schema differ.
    • Fix(GraphQL): Fix custom(dql: ...) with __typename (GraphQL-1098) (#7569)
    • Fix(GraphQL): Change variable name generation for interface auth rules (#7559)
    • Fix(GraphQL): Apollo federation now works with lambda (GraphQL-1084) (#7558)
    • Fix(GraphQL): Fix empty remove in update mutation patch, that remove all the data for nodes in filter. (#7563)
    • Fix(GraphQL): Fix order of entities query result (#7542)
    • Fix(GraphQL): Change variable name generation from Type<Num> to Type_<Num> (#7556)
    • Fix(GraphQL): Fix duplicate xid error for multiple xid fields. (#7546)
    • Fix(GraphQL): Fix query rewriting for multiple order on nested field. (#7523)
    • Fix(GraphQL) Fix empty type Query with single extended type definition in the schema. (#7517)
    • Fix(GraphQL): Added support for parameterized cascade with variables. (#7477)
    • Fix(GraphQL): Fix fragment expansion in auth queries (GraphQL-1030) (#7467)
    • Fix(GraphQL): Refactor Mutation Rewriter for Add and Update Mutations (#7409)
    • Fix(GraphQL): Fix @auth rules evaluation in case of null variables in custom claims. (#7380)
    • Fix(GraphQL): Fix interface query with auth rules. (#7401)
    • Fix(GraphQL): Added error for case when multiple filter functions are used in filter. (#7368)
    • Fix(subscriptions): Fix subscription to use the kv with the max version (#7349)
    • Fix(GraphQL):This PR Fix a panic when we pass a single ID as a integer and expected type is [ID].We now coerce that to type array of string. (#7325)
    • Fix(GraphQL): This PR Fix multi cors and multi schema nodes issue by selecting one of the latest added nodes, and add dgraph type to cors. (#7270)
    • Fix(GraphQL): This PR allow to use __typename in mutation. (#7285)
    • Fix(GraphQL): Fix auth-token propagation for HTTP endpoints resolved through GraphQL (GraphQL-946) (#7245)
    • Fix(GraphQL): This PR addd input coercion from single object to list and Fix panic when we pass single ID in filter as a string. (#7133)
    • Fix(GraphQL): adding support for @id with type other than strings (#7019)
    • Fix(GraphQL): Fix panic caused by incorrect input coercion of scalar to list (#7405)
  • Core Dgraph

    • Fix(flag): Fix bulk loader flag and remove flag parsing from critical path (#7679)
    • Fix(query): Fix pagination with match functions (#7668)
    • Fix(postingList): Acquire lock before reading the cached posting list (#7632)
    • Fix(zero): add a ratelimiter to limit the uid lease per namespace (#7568)
    • Fixing type inversion in ludicrous mode (#7614)
    • Fix(/commit): protect the commit endpoint via acl (#7608)
    • Fix(login): Fix login based on refresh token logic (#7637)
    • Fix(Query): Fix cascade pagination with 0 offset. (#7636)
    • Fix(telemetry): Track enterprise Feature usage (#7495)
    • Fix(dql): Fix error message in case of wrong argument to val() (#7543)
    • Fix(export): Fix namespace parameter in export (#7524)
    • Fix(live): Fix usage of force-namespace parameter in export (#7526)
    • Fix(Configs): Allow hierarchical notation in JSON/YAML configs (#7498)
    • Fix upsert mutations (#7515)
    • Fix(admin-endpoints): Error out if the request is rejected by the server (#7511)
    • Fix(Dgraph): Throttle number of files to open while schema update (#7480)
    • Fix(metrics): Expose Badger LSM and vlog size bytes. (#7488)
    • Fix(schema): log error instead of panic if schema not found for predicate (#7502)
    • Fix(moveTablet): make move tablet namespace aware (#7468)
    • Fix(dgraph): Do not return reverse edges from expandEdges (#7461)
    • Fix(Query): Fix cascade with pagination (#7440)
    • Fix(Mutation): Deeply-nested uid facets (#7455)
    • Fix(live): Fix live loader to load with force namespace (#7445)
    • Fix(sort): Fix multi-sort with nils (#7432)
    • Fix(GC): Reduce DiscardRatio from 0.9 to 0.7 (#7412)
    • Fix(jsonpb): use gogo/jsonpb for unmarshalling string (#7382)
    • Fix: Calling Discard only adds to txn_discards metric, not txn_aborts. (#7365)
    • Fix(Dgraph): check for deleteBelowTs in pIterator.valid (#7288)
    • Fix(dgraph): Add X-Dgraph-AuthToken to list of access control allowed headers
    • Fix(sort): Make sort consistent for indexed and without indexed predicates (#7241)
    • Fix(ludicrous): Fix logical race in concurrent execution of mutations (#7269)
    • Fix(restore): Handle MaxUid=0 appropriately (#7258)
    • Fix(indexing): use encrypted tmpDBs for index building if encryption is enabled (#6828)
    • Fix(bulk): save schemaMap after map phase (#7188)
    • Fix(DQL): Fix Aggregate Functions on empty data (#7176)
    • Fixing unique proposal key error (#7218)
    • Fix(Chunker): JSON parsing Performance (#7171)
    • Fix(bulk): Fix memory held by b+ tree in reduce phase (#7161)
    • Fix(bulk): Fixing bulk loader when encryption + mtls is enabled (#7154)
  • Enterprise Features

    • Fix(restore): append the object path preFix while reading backup (#7686)
    • Fix restoring from old version for type (#7456)
    • Fix(backup): Fix Perf issues with full backups (#7434)
    • Fix(export-backup): Fix memory leak in backup export (#7452)
    • Fix(ACL): use acl for export, add GoG admin resolvers (#7420)
    • Fix(restore): reset acl accounts once restore is done if necessary (#7202)
    • Fix(restore): multiple restore requests should be rejected and proposals should not be submitted (#7118)
Assets 4

@ahsanbarkati ahsanbarkati released this Mar 31, 2021

Fixed

  • GraphQL

    • Fix(GRAPHQL): fix query rewriting for multiple order on nested field (#7523) (#7536)
    • Fix(GRAPHQL): Added support for exact index on field having @id directive (#7534) (#7550)
    • Fix(GraphQL): Add extra checks for deleting UpdateTypeInput (#7595) (#7600)
    • Fix(GRAPHQL): Undo the breaking change and tag it as deprecated. (#7607)
    • Fix(GraphQL): Log query along with the panic (#7638) (#7645)
    • Fix(GraphQL): Fix Execution Trace for Add and Update Mutations (#7656) (#7658)
  • Core Dgraph

    • Fix(schema): log error instead of panic if schema not found for predicate (#7502) (#7509)
    • Chore(cmd/debuginfo) add new metrics to be collected (#7439) (#7562)
    • Fix(vlog): Use Badger's value log threshold of 1MB (#7415) (#7474)
    • Chore(bulk): Improve perf of bulk loader with Reuse allocator and assinging tags to allocator (#7360) (#7547)
    • Fix(query): Fix pagination with match functions (#7668) (#7672)
Assets 8
Mar 23, 2021
chore(perf): Improve perf of bulk loader with Reuse allocator and ass…
…inging tags to allocator (#7360) (#7547)

* Reuse allocator (#7360)

Instead of creating a new z.Allocator for every encoder, this PR reuses the allocator. On a 21M dataset, bulk loader takes 2m22s on master, and only 1m35s on this PR. That's a major 35% performance improvement.

* use allocator tags

Co-authored-by: Manish R Jain <manish@dgraph.io>

@aman-bansal aman-bansal released this Feb 23, 2021

Fixed

  • GraphQL

    • Fix(Mutation): Deeply-nested uid facets (#7457)
    • Fix(GraphQL): Fix panic caused by incorrect input coercion of scalar to list (#7405) (#7428)
    • Fix(GraphQL): Refactor Mutation Rewriter for Add and Update Mutations (#7409) (#7413)
    • Fix(GraphQL): fix @auth rules evaluation in case of null values. (#7411)
    • Fix(GraphQL): fix interface query with auth rules (#7408)
    • Fix(GraphQL): Added error for case when multiple filter functions are used in filter. (#7368) (#7384)
  • Core Dgraph

    • Fix(sort): Fix multi-sort with nils (#7432) (#7444)
    • Fix(GC): Reduce DiscardRatio from 0.9 to 0.7 (#7412) (#7421)
  • Enterprise Features

    • Fix(export_backup): fix memory leak in backup export (#7452) (#7453)
Assets 8
Feb 17, 2021
fix(sort): Fix multi-sort with nils (#7432) (#7444)
Fix the behavior of multi-sort. All the nil values are appended at the end of
the result irrespective of ascending or descending sort. This change also
fixes a bug due to not appending the nil values in the values list,
corresponding to the UIDs appended in the UID list with nil predicates.

(cherry picked from commit 2c7de57)

@aman-bansal aman-bansal released this Jan 28, 2021

Fixed

  • GraphQL

    • [BREAKING] Fix(GRAPHQL): Don't generate get query on interface if it doesn't have field of type ID and
      also disallow get query on field of type @id in inerface. The getInterface query can be replaced by queryInterface type queries. (#7158) (#7305)
    • Fix(subscriptions): fix subscription to use the kv with the max version (#7349) (#7355)
    • Fix(GraphQl): fix a panic when we pass a single ID as a integer and expected type is [ID].We
      now coerce that to type array of string. (#7325) (#7353)
    • Fix(GRAPHQL): update gqlparser release to v2.1.4 (#7347) (#7352)
    • Fix(GraphQL): Fix graphql flaky tests which were caused by receiving extra schema updates
      (#7329) (#7348)
    • Fix(GraphQL): This PR addd input coercion from single object to list and fix panic when we
      pass single ID in filter as a string. (#7133) (#7306)
    • Fix(GraphQL): This PR fix multi cors and multi schema nodes issue by selecting one of the
      latest added nodes, and add dgraph type to cors. (#7270) (#7302)
    • Fix(GraphQL): This PR allow to use __typename in mutation. (#7285) (#7303)
    • Fix(GraphQL): Fix auth-token propagation for HTTP endpoints resolved through GraphQL (GRAPHQL
      -946) (#7245) (#7251)
  • Core Dgraph

    • Fix(bulk): save schemaMap after map phase (#7188) (#7351)
    • Fix(Dgraph): check for deleteBelowTs in pIterator.valid (#7288) (#7350)
    • Fix(indexing): use encrypted tmpDBs for index building if encryption is enabled (#6828) (#7343)
    • Fix(bulk): Fix memory held by b+ tree in reduce phase (#7161) (#7333)
    • Feat(bulk): Add /jemalloc HTTP endpoint. (#7165) (#7331)
    • Fix(sort): Make sort consistent for indexed and without indexed predicates (#7241) (#7323)
    • Fix(dgraph): Add X-Dgraph-AuthToken to list of access control allowed headers (#7311)
    • Fix(ludicrous): Fix logical race in concurrent execution of mutations (#7269) (#7309)
    • Fix(ludicrous): Fix data race in executor (#7203) (#7307)
    • Opt(rollup): change the way rollups are done (#7253) (#7277)
    • Fix(indexing): use --tmp directory for building indexes (#7289) (#7300)
    • Fix(dgraph): Fix dgraph crash on windows (#7261) (#7299)
    • Fix(dgraph): making jemalloc to work with dgraph on macos (#7247) (#7282)
    • Fix(dgraph): Fixing multiple race conditions (#7278)
    • Fixing unique proposal key error (#7218) (#7281)
    • Fix(raft): Unmarshal zero snapshot into pb.ZeroSnaphot (#7244)
    • Fix(bulk): fixing bulk loader when encryption + mtls is enabled (#7154) (#7155)
  • Enterprise Features

    • Fix(restore): reset acl accounts once restore is done if necessary (#7202) (#7280)
    • Fix(restore): multiple restore requests should be rejected and proposals should not be submitted (#7118) (#7276)
    • Fix(restore): Handle MaxUid=0 appropriately (#7258) (#7265)
Assets 8
Jan 22, 2021
updating badger (#7357)
Jan 16, 2021
fix(sort): Make sort consistent for indexed and without indexed predi…
…cates (#7241) (#7323)

Make the result of sort consistent for predicate with and without index.
After this change, the predicates with null values will appear at the
last of the sort result for both ascending and descending sort, for both
index/no-index case. Before this change the result for predicate with index
didn't contain the null predicates and the one without index treated nulls as
infinite value - they appeared at the beginning for descending while at the
end for the ascending sort case.

NOTE: This is a breaking change for the response of sort.

Co-authored-by: Rajas Vanjape <rajas@dgraph.io>
(cherry picked from commit 85278f8)

@aman-bansal aman-bansal released this Dec 29, 2020

Changed

  • Chore(bulk): Change default compression to zstd:3. (#6995)
  • Build(dockerfile): Set GODEBUG=madvdontneed=1. (#6955)
  • Updating badger version 3f846b3. (#7212)

Added:

  • Update kubernetes links to match 20.07 config files (#7049)
  • Fix(dgraph): giving users the option to control tls versions (#6820)
  • Feat(dgraph): making all internal communications with tls configured (#6876)
  • Feat(dgraph): enabling TLS config in http zero ([#6691) (#6867)

Fixed:

  • GraphQL
    • Fix(GraphQL): don't update cacheMb if not specified by user (#7103)
    • Fix: added comment docstring for ExportInput format (#6991)
    • Fix(GraphQL): fixes issue of multiple responses in a subscription for an update. (#6868)
    • Fix ErrIndexingInProgress if schema update fails (#6583)
    • Fix(GraphQL): fix panic error when we give null value in filter connectives. (#6707)
    • Fix(GraphQL): reduces polling duration of subscriptions. (#6661)
    • Fix(GraphQL): add enable schema cleaning in GraphQL and reduce schema update time. (#6725)
    • Fix(GraphQL): fixes flaky test for subscriptions. (#6065)
  • Fix(DQL): ignore ordering of indexes in schema with eq function (DGRAPH-2601) (#6996)
  • Fix(worker): fix eq filter for non-index predicates. (#6986)
  • Fix(Alpha): Immediately take a snapshot if we don't have one (#6458)
  • Fix(Dgraph): Type names in exported schema are surrounded by brackets. (#6679)
  • Fix(ludicrous mode): Handle deletes correctly (#6773)
  • Fix(worker): Avoid panic in handleUidPostings (#6607)
  • Fix(gqlParser): Handle strings with only whitespace in parseID (#6615)
  • Fix(Ludicrous): Upserts on list type in Dgraph (#6796)
  • Enterprise features
    • Fix(backup/restore): fixes backup and restore with DROP operations (#6922)
    • Generic alpha log error message for failed ACL login (#6848)
Assets 8