commit | 9ccd1e201671d88d8b4984322058f2362e611e63 | [log] [tgz] |
---|---|---|
author | Alex Fandrianto <alexfandrianto@google.com> | Mon Feb 22 11:26:51 2016 -0800 |
committer | Alex Fandrianto <alexfandrianto@google.com> | Mon Feb 22 11:28:24 2016 -0800 |
tree | 87959039a60a42c87a36cd1dc120ce27305f1320 | |
parent | 2ac22c81ec827969de2c46df5ce1d57bfcf2a9c6 [diff] |
mojo/syncbase: Retry Syncgroup Join This bug appeared soon after submitting my benchmark. When running on Android, it looks like the syncgroup join occasionally fails. It is not clear to me why this is the case, but in order to avoid random crashes, I have switched to using a while loop + try catch block. This seems to stabilize the benchmark, but... it is still a bug. https://github.com/vanadium/issues/issues/1162 Croupier does not run into this, so it may be a recent change that is causing this. Or it may be related to the syncgroup create bug. Change-Id: I66e454c9164c50a90d11c848e226277b7c015813
This project exposes Syncbase as a Mojo service.
Read the architecture proposal.
You must have the Mojo repo in $MOJO_DIR
.
This section only needs to be run once.
See the Mojo readme for more comprehensive instructions.
Install depot tools.
Install Goma.
Put the following in your .bashrc
:
# NOTE: Actual locations depend on where you installed depot_tools and # goma. export PATH=${PATH}:${HOME}/dev/depot_tools export GOMA_DIR=${HOME}/goma export MOJO_DIR=${HOME}/mojo
$ mkdir $MOJO_DIR && cd $MOJO_DIR # NOTE: This step takes about 10 min. $ fetch mojo --target_os=android,linux # NOTE: This step also takes about 10 min. Furthermore, the script uses # 'sudo', so you will need to enter your password. $ cd src && ./build/install-build-deps.sh # Or, to include Android deps as well: $ cd src && ./build/install-build-deps-android.sh
This updates the Mojo repo to HEAD, and builds the Mojo resources needed to compile Syncbase.
Run this while you grab your morning coffee.
Start by updating the repo.
$ cd $MOJO_DIR/src $ git checkout master $ git pull $ gclient sync
Compile for Linux. Built resources will be in $MOJO_DIR/src/out/Debug
$ ./mojo/tools/mojob.py gn $ ./mojo/tools/mojob.py build # NOTE: This can take up to 10 minutes.
Compile for Android. Built resources will be in $MOJO_DIR/src/out/android_Debug
$ ./mojo/tools/mojob.py gn --android $ ./mojo/tools/mojob.py build --android # NOTE: This can take up to 10 minutes.
To run Dart apps, you must install the Dart SDK.
Googlers: http://go/install-dart External: https://www.dartlang.org/downloads/
Run the tests:
make test
This will run all tests listed in the tests
file in the root directory of this repo.
The following command will run a single test file. This is useful when the full test suite hangs with no output.
$(MOJO_DIR)/src/mojo/devtools/common/mojo_run -v --enable-multiprocess --shell-path $(MOJO_DIR)/src/out/Debug/mojo_shell test/integration/<filename>