Releases: typedb/typedb-common
Grakn Common 2.0.0-alpha-7
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
Fixgrakn
binary script to be operational again -
Resolve data directory in GraknRunnerBase after distribution has been unpacked
Fix tests that depend onGraknCoreRunner
. -
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 ofGraknRunner
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
New Features
Bugs Fixed
Code Refactors
Other Improvements
- Fix Grakn binary script for Windows
Makegrakn.bat
operational with Grakn 2.0 Server and Console
Grakn Common 2.0.0-alpha-5
New Features
Bugs Fixed
Code Refactors
Other Improvements
Grakn Common 2.0.0-alpha-4
New Features
Bugs Fixed
Code Refactors
Other Improvements
Grakn Common 2.0.0-alpha-3
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
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
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 aCancellable
which may not yet have been created.
The solution is to redesignCancellable
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 integratedependency-analysis
job intoquality
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 forgrakn-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 anEventLoop
- An
EventLoopGroup
is a collection of multipleEventLoop
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
- An
-
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 inScheduledJob
. 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'sartifacts.bzl
, which wasgrakn-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 thatconsole
(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 methodActor::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 removingPromise
. 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 wantevent-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 theActor
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 backbinary
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
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.
Migrategrakn-bin
fromdependencies
repository and prepare for 0.2.4 release, which is a branch off of 0.2.3, NOT master.
Grakn Common 0.2.3
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 presentWORKSPACE
-
Fix CI issues related to Python upgrade.
Recent upgrade to Python 3 broke our CI.
Grakn Common 0.2.2
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