Skip to content
This repository has been archived by the owner on Apr 5, 2024. It is now read-only.

Releases: typedb/typedb-common

Grakn Common 2.0.0-alpha-7

04 Feb 12:37
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Fix grakn debug mode in linux
    Fix Grakn startup script so that it can run with debug flag on Linux, which will fallback to using 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.

  • Fix binary script
    Fix grakn binary script to be operational again

  • Resolve data directory in GraknRunnerBase after distribution has been unpacked
    Fix tests that depend on GraknCoreRunner.

  • Fix testing rules and runner to work under Windows
    Fix the testing infrastructure to allow testing Grakn Core distribution under Windows.

  • Add a new GraknRunner implementation for Grakn Cluster
    We have added a Grakn Cluster implementation of GraknRunner which will allow running a single node Grakn Cluster.

  • Reenable remote build caching
    Speed up builds by utilizing remote caching provided by BuildBuddy.

Grakn Common 2.0.0-alpha-6

24 Jan 17:10
307cef4
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Fix Grakn binary script for Windows
    Make grakn.bat operational with Grakn 2.0 Server and Console

Grakn Common 2.0.0-alpha-5

08 Jan 18:56
c6a4c8b
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

Grakn Common 2.0.0-alpha-4

06 Jan 19:33
c6cb8a2
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

Grakn Common 2.0.0-alpha-3

03 Jan 15:46
56bd4a6
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Update @graknlabs_dependencies

We've updated @graknlabs_dependencies which relaxes the allowed version number formatting for Maven artifacts

Grakn Common 2.0.0-alpha-2

03 Jan 15:24
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Add debug option

    In order to allow us running grakn server (through runner) in debug mode, we add constructors to allow grakn runner to run with --debug flag.

Grakn Common 2.0.0-alpha

17 Dec 21:05
60c0fa5
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Fix a the issue where you may get back a null Cancellable from an EventLoop.
    We have fixed the issue where a race condition may occur when submitting a scheduled job onto the EventLoop.
    The race condition is caused by the fact we are returning a reference to a Cancellable which may not yet have been created.
    The solution is to redesign Cancellable such that it can be immediately constructed.
    Closes #66

  • Disable RBE.
    Currently remote builds are returning 503 error, so we have to disable them for now.

  • Upgrade @graknlabs_dependencies to fix dependency-analysis.
    Currently, dependency-analysis job fails to run @graknlabs_dependencies//grabl/analysis:dependency-analysis which happened because of a missing dependency. This is fixed in this PR and typedb/typedb-dependencies#233

  • Integrate dependency-analysis job.
    In order for us to know whether our dependencies are up-to-date, we integrate dependency-analysis job into quality workflow

  • Support native_grakn_artifact for Windows.
    As we need to test Grakn on Windows, native_grakn_artifact needs to support it.

  • Fix Grakn artifact getting fetched many times when building client.
    To fix client-java being unable to build in Grabl (failing >70% of the time) due to excess network usage.

  • //binary:assemble-linux-apt: adjust path to log dir for Grakn 2.0.
    Grakn 2.0 uses a different directory for logs, therefore path for grakn-bin APT package needs to be adjusted, relevant config entry is here.

  • Map Actor library's package structure to the conceptual model.
    We have restructured the structure of the Actor package such that it maps to the following conceptual model:

    • An Actor executes on an EventLoop
    • An EventLoopGroup is a collection of multiple EventLoop
      Said conceptual model is now reflected in the restructured Actor package, where it contains three classes and no more:
    concurrent/actor
      Actor.java
      EventLoop.java
      EventLoopGroup.java
    
  • Update collections utils to avoid clashing parameters.
    Clarify unmodifiable collections helpers to avoid clashing types. We rename them to both avoid clashing types and make their intention clearer.

  • Add config:version-candidate to automation.yml.
    To fix the build in graknlabs:master

  • Implement error handling for EventLoop's ScheduledJob.
    We have implemented error handling in ScheduledJob. It now takes an exception handler during construction which will be invoked in case of failure.
    This PR is a follow up on #48

  • Wait a bit longer for Grakn to start when testing.
    To stabilise the flaky client-java tests.
    One of the issues is that Grakn can take up to 9 seconds to start. This causes entire test suites to fail with errors.

  • Allow grakn_java_test to choose a platform-native Grakn artifact.
    To allow client-java tests to automatically extract a Grakn Core archive native to the host platform when run.
    Previously, they would not - you were stuck with whichever artifact was configured in client-java's artifacts.bzl, which was grakn-core-server-linux. This would fail to run on a Mac machine.

  • Fix console argument off by one bug.
    Currently there's an off by one bug which causes that console (when you run ./grakn console ...) be thought as the first argument to grakn console.

  • Remove Actor's parent/child hierarchy.
    Remove actor's parent/child hierarchy which isn't fully implemented anyway. We can remove it since it's not currently needed anywhere.
    Actors are now created using the static method Actor::create() from every parts of the codebase:

    import grakn.common.concurrent.actor.Actor;
    class Producer extends <Actor<Receiver>> {
      private Actor<Consumer> consumers;
      public Receiver(int consumers) {
        for (int i = 0; i < consumers; ++i) {
          this.consumers.append(Actor.create(this.eventLoopGroup, () -> new Consumer()))
        }
      }
    }
    
  • Adds the functionality to notify Actors of unhandled exceptions.
    Currently, there is a major limitation in the Actor library such that an unhandled exception in an actor instance would be swallowed by the event loop.
    This PR adds the functionality allowing actors to be notified of the exception that it failed to handle. This would allow actors to decide on whether to recover (if said actor considers the exception non-fatal) or shut down (if it considers the exception fatal).

    class MyActor extends Actor<MyActor> {
      @Override
      public void exception(Exception e) {
        // handle the uncaught exception
      }
    }
    

    This PR depends on: #47.

  • Remove Promise from //concurrent/actor.
    We've simplified the actor concurrency library by completely removing Promise. According to the measurement that we've done, the speed gain was small that it doesn't justify the cost of maintenance.

  • Remove actor periodic task from common.
    Common includes actor execution logic to be shared between cluster and reasoner. However, ActorPeriodicTask is only used in cluster and contains more cluster specific functionality. To keep common only share generic logic across repos, we remove this class from common.

  • Add event loop group to support multithreading event loops.
    In order to take advantage of multiple threads running separate event loops, we introduce the concept of event loop group, which is an abstraction to support easily assigning multiple event loops to multiple threads in a round-robin fashion.
    This newly introduced event loop group concept is going to be used both in cluster, for multiple raft instances; and in reasoner to break down work into different fragments. Therefore we bring it into common.

  • Extend NamedThreadFactory with arbitrary prefix.
    In cluster, we need to create thread factory with prefix based on functionality instead of class name and function. E.g. we want event-loop::0, client-rpc::1 and so on.

  • Simplify actor and promise API.
    In cluster, we have did a simplification that removes most of the usage of actors, therefore many actor and promise APIs are not being used anymore. This PR brings actor up to date with the latest version of actor in cluster.

  • Remove eager thread-local execution.
    In order to make the event loop more flexible, we remove the event loop recursing into jobs immediately if they are thread-local. This allows actors to send themselves arbitrarily deep events without encountering a stack overflow.

  • Add Actor model.
    We've introduced the Actor concurrency model library. The library will be located under //concurrent/actor.

  • Make Grakn use debug logback config in debug mode.
    To allow Grakn to be more talkative in debug mode

  • Fix Grakn ignoring all command line arguments.
    To allow Grakn to look at command line arguments such as --port

  • Fix Grakn failing to start in Linux.
    To fix Grakn failing to start in Linux.

  • Add debug mode to Grakn executable (shell only).
    To give users (and ourselves!) a convenient way of running Grakn in debug mode, where Grakn and RocksDB assertions are enabled.

  • Use grabl status badge.
    Use grabl status badge instead of circle CI since circle CI project is already removed.

  • Delete license from README.
    To delete our license from README

  • Better license checking.
    To enforce very strict license checks on the 'common' repo

  • Fix license headers v3.
    To really fix the license headers, everywhere, once and for all.

  • Fix license headers and ensure they remain fixed.
    To enforce that our BUILD files have license types

  • Fix Grakn execution script.
    Fix #29
    Currently, starting Grakn Server (or Grakn Console) starts two processes (zsh is the shell from where you've unpacked Grakn and starting it):

        PID TTY          TIME CMD
     114591 pts/0    00:00:02 zsh
     164980 pts/0    00:00:00  \_ bash
     164996 pts/0    00:00:02  |   \_ java
    

    This PR makes Grakn the real foreground process:

        PID TTY          TIME CMD
     114591 pts/0    00:00:02 zsh
     165363 pts/0    00:00:02  \_ java
    

    This prevents the situation where you do ./grakn server &, kill the process but Grakn continues running.

  • Add Objects.className.
    To give us a convenient, minimal expressive string representation of any class that can be used in both client-java and Grakn Core

  • Refactor WORKSPACE and add filegroup declaring CI targets.
    We have refactor the WORKSPACE file to make it clearer. The key change was to properly enclose declarations into appropriate sections. We also add a new toplevel BUILD file declaration for all targets used in CI and elsewhere to ensure these targets are correct at build time.

  • Add back the binary package and update @graknlabs_bazel_distribution.
    We have brought back binary which was moved to @graknlabs_dependencies. Additionally, we have updated the version @graknlabs_bazel_distribution that it depends on and made the necessary changes for doing so.

Grakn Common 0.2.4

19 Aug 15:57
Compare
Choose a tag to compare

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Add grakn-bin and prepare for 0.2.4 release branching off from 0.2.3 tag.
    Migrate grakn-bin from dependencies repository and prepare for 0.2.4 release, which is a branch off of 0.2.3, NOT master.

Grakn Common 0.2.3

10 Aug 11:18
Compare
Choose a tag to compare

New Features

  • Add grakn test server setup.
    We are migrating the Grakn test bootup code from client-java to common so that it can be re-used by other repos (such as console).

  • Integrate building with BuildBuddy.
    Migrate from RBE to BuildBuddy

Bugs Fixed

Code Refactors

  • Use Ubuntu 16 image and update build tools.

Other Improvements

  • Cleanup WORKSPACE file from extraneous load statements.
    In order for keeping codebase clean and maintainable, extraneous dependencies should not be present WORKSPACE

  • Fix CI issues related to Python upgrade.
    Recent upgrade to Python 3 broke our CI.

Grakn Common 0.2.2

04 Dec 20:58
36613c2
Compare
Choose a tag to compare

New Features

Bugs Fixed

  • Add Github code owner and PR template files, and fix release pipeline issue.
    • We have fixed a release pipeline issue causing the maven artifact to not be released
    • We have added Github code owner and PR template files

Code Refactors

Other Improvements