github vaticle/typedb 2.0.0-alpha-5
Grakn Core 2.0.0-alpha-5

latest releases: 2.28.0, 2.28.0-rc0, 2.27.0...
3 years ago

Install & Run: http://dev.docs.grakn.ai/docs/running-grakn/install-and-run

New Features

  • Added tests for statistics counter
    Adding statistics test so that we don't regress on statistics counting.

  • Test steps for update queries
    We added behavioural tests for updater in the behaviour repository, necessitating a number of new steps for handling them in each repository. We added the requisite steps in the core server.

Bugs Fixed

  • Fix traversal error that lead to a role being scoped twice in the same relation
    In the traversal engine, when scoping a role instance to a relation, we previously set the scope based on both the start and end of an edge. However, this can lead to scoping the same role twice (once from the previous edge's end, and once from the next edge's start), which throws an assertion error. We now only scope based on the end of an edge.

  • Fix bugs that cause statistics counts to be inaccurate
    Fix bugs that cause statistics counts to be inaccurate.

  • Fix concurrency bug causing null pointer exception while iterating edges
    Fix concurrency bug causing null pointer exception while iterating edges.

  • Fix grakn debug mode startup script on Linux
    Fix Grakn startup script so that it can run with debug flag on Linux, which will fall back to using the production version and gives you a warning.

  • Fix debug mode in grakn start up script
    Fix an issue causing grakn startup script to disregard the debug mode parameter.

  • Verified transaction is open before accessing RocksDB
    Protect access to RocksDB operations when the transaction is closed, which causes the server to crash.

  • Simplify and correct traversal scoping and unscoping
    Diamond-shaped relation queries led to incorrectly scoped role players, which in turn led to missing answers. To correct this, we implement a new stack-like data structure to handle role player scoping within the graph traversal, replacing a more complicated map-based structure.

  • Fix //test/assembly for Windows
    Improve testing infrastructure by fixing distribution assembly test on Windows and actually running it.

  • Prevent losing disjunctions' conjunctions
    We currently do an unintuitive equality check for Conjunctions, depending only on the identifier of the variables - regardless of constraints, which can lead to losing "equal" conjunctions. To prevent deduplicating conjunctions we create in a disjunction, we store them in a list rather than a set. This can be correctly implemented after is #6115 is complete.

  • Throw exception correctly on transaction lock timeout
    When a transaction fails to acquire a write lock, presently, it throws ERROR: Error: 13 INTERNAL: null Please check server logs for the stack trace. when a commit is attempted, which is incorrect. We made it instead throw ERROR: Error: 13 INTERNAL: [TXN13] Invalid Transaction Operation: Could not acquire lock for data transaction. A schema session may have been left open. Please check server logs for the stack trace. immediately, which is much more informative.

  • Correct traversal backtracking through relation scopes
    We encountered a query plans where answers go missing, when doing optimised backtracking from a scoped role back to the relation that scopes the role instance or role player edge. This PR corrects backtracking optimisations to avoid missing anwers that are valid.

Code Refactors

  • Introduce 'Grakn server already running' error and refactor exception handling
    We improved the way we handle errors and introduced an error message for the case when the user tries to start Grakn Core server while another instance is already running on the same port.

  • Remove redundant integration docs test
    We updated integration tests according to the latest Grakn changes.

Other Improvements


Please refer to full release notes of 2.0.0-alpha to see the changes in 2.0.0.

Don't miss a new typedb release

NewReleases is sending notifications on new releases.