diff --git a/.travis.yml b/.travis.yml index b800960..6aa2c00 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,15 +2,15 @@ language: java sudo: required dist: trusty jdk: - - oraclejdk8 + - openjdk8 cache: directories: - "${HOME}/.m2" env: matrix: - #32 minutes + #32 minutes - MODULE="MultiStoreTest" CATEGORY="MultiDynamoDBStoreTestCategory" - #22 minutes + #22 minutes - MODULE="MultiVertexCentricQuery" CATEGORY="IsolateMultiVertexCentricQuery" #17.5 minutes - MODULE="SingleGraphTest" CATEGORY="SingleDynamoDBGraphTestCategory" @@ -18,38 +18,34 @@ env: - MODULE="SingleStoreTest" CATEGORY="SingleDynamoDBStoreTestCategory" #16.5 minutes - MODULE="MultiLargeJointIndexRetrieval" CATEGORY="IsolateMultiLargeJointIndexRetrieval" - #15.7 minutes - - MODULE="MultiOLAPTest" CATEGORY="MultiDynamoDBOLAPTestCategory" + #15.7 minutes - currently MultiOLAPTest is flaky + # - MODULE="MultiOLAPTest" CATEGORY="MultiDynamoDBOLAPTestCategory" #13.5 minutes - MODULE="MultiGraphTest" CATEGORY="MultiDynamoDBGraphTestCategory" #11.8 minutes - MODULE="MultiEdgesExceedCacheSize" CATEGORY="IsolateMultiEdgesExceedCacheSize" - #12 minutes + #12 minutes - MODULE="SingleIdAuthorityLogStore" CATEGORY="SingleIdAuthorityLogStoreCategory" - #11 minutes + #11 minutes - MODULE="MultiIdAuthorityLogStore" CATEGORY="MultiIdAuthorityLogStoreCategory" - #9 minutes + #9 minutes - MODULE="SingleOLAPTest" CATEGORY="SingleDynamoDBOLAPTestCategory" - #8.7 minutes + #8.7 minutes - MODULE="MultiConcurrentGetSliceAndMutate" CATEGORY="IsolateMultiConcurrentGetSliceAndMutate" - #8.5 minutes + #8.5 minutes - MODULE="RemainingTestsCategory" CATEGORY="IsolateRemainingTestsCategory" - #6.5 minutes + #6.5 minutes - MODULE="MultiConcurrentGetSlice" CATEGORY="IsolateMultiConcurrentGetSlice" - #6.4 minutes + #6.4 minutes - MODULE="SingleConcurrentGetSliceAndMutate" CATEGORY="IsolateSingleConcurrentGetSliceAndMutate" - #4.8 minutes + #6 minutes + - MODULE="GraphSimpleLogTest" CATEGORY="GraphSimpleLogTestCategory" + #4.8 minutes - MODULE="SingleConcurrentGetSlice" CATEGORY="IsolateSingleConcurrentGetSlice" - #3.2 + #3.2 minutes - MODULE="SingleMultiWriteStoreTestCategory" CATEGORY="SingleDynamoDBMultiWriteStoreTestCategory" - #2.8 minutes + #2.8 minutes - MODULE="MultiMultiWriteStoreTestCategory" CATEGORY="MultiDynamoDBMultiWriteStoreTestCategory" - #To be added - - MODULE="GraphSimpleLogTest" CATEGORY="GraphSimpleLogTestCategory" -addons: - apt: - packages: - - oracle-java8-installer branches: only: - 1.0.0 @@ -64,5 +60,5 @@ script: #- aws cloudformation validate-template --region us-west-2 --template-body `pwd | sed -e 's/\//\/\//g' -e 's/^/file:\//' -e 's/$/\/\/dynamodb-janusgraph-tables-multiple\.yaml/'` notifications: email: - - amcp@amazon.co.jp + - amcpatrikalakis@gmail.com - johanjcbs@gmail.com diff --git a/README.md b/README.md index a961fb8..8238618 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ account in the same region. multiple-item model based on graph size and utilization. * Test graph locally with DynamoDB Local. * Integrated with JanusGraph metrics. -* JanusGraph 0.2.0 and TinkerPop 3.2.6 compatibility. +* JanusGraph 0.2.1 and TinkerPop 3.2.9 compatibility. * Upgrade compatibility from Titan 1.0.0. ## Getting Started diff --git a/dynamodb-janusgraph-storage-backend-cfn.yaml b/dynamodb-janusgraph-storage-backend-cfn.yaml index 52c891e..c5e32d4 100644 --- a/dynamodb-janusgraph-storage-backend-cfn.yaml +++ b/dynamodb-janusgraph-storage-backend-cfn.yaml @@ -565,16 +565,14 @@ Resources: - - "#!/bin/bash\n" - "export SDKMAN_DIR=/usr/local/sdkman && curl -s https://get.sdkman.io | bash && source /usr/local/sdkman/bin/sdkman-init.sh\n" - "echo 'export SDKMAN_DIR=/usr/local/sdkman; source /usr/local/sdkman/bin/sdkman-init.sh' > /etc/profile.d/sdkman.sh\n" - - "yum update -y -q -e 0 && yum upgrade -y -q -e 0 && yum install -y java-1.8.0-openjdk > /home/ec2-user/yumupdates.log\n" + - "yum update -y -q -e 0 && yum upgrade -y -q -e 0 && yum install -y -q java-1.8.0-openjdk-devel > /home/ec2-user/yumupdates.log\n" - "yum remove -y java-1.7.0-openjdk > /home/ec2-user/yumremovejava7.log\n" - "java -version > /home/ec2-user/java-version-before-sdkmvn.log\n" - - "sdk install java < /dev/null\n" - - "sdk current java > /home/ec2-user/java-version-from-sdkman.log\n" - "sdk install maven < /dev/null && set -x\n" - "mvn -version > /home/ec2-user/maven-installation-settings.log\n" - "export GREMLIN_SERVER_USERNAME='ec2-user'\n" - "export LOG_DIR=/var/log/gremlin-server\n" - - "export SERVER_DIRNAME=dynamodb-janusgraph-storage-backend-1.2.0\n" + - "export SERVER_DIRNAME=dynamodb-janusgraph-storage-backend-1.3.0\n" - "export SERVER_ZIP=${SERVER_DIRNAME}.zip\n" - "export PACKAGES_DIR=/usr/local/packages\n" - "export INSTALL_DIR=${PACKAGES_DIR}/${SERVER_DIRNAME}\n" @@ -621,7 +619,7 @@ Outputs: - Fn::GetAtt: - WebServerInstance - PublicDnsName - - " /usr/local/packages/dynamodb-janusgraph-storage-backend-1.2.0/bin/gremlin.sh" + - " /usr/local/packages/dynamodb-janusgraph-storage-backend-1.3.0/bin/gremlin.sh" Description: Use this remote shell to interact with the graph. GremlinServerEndpoint: Value: diff --git a/pom.xml b/pom.xml index e2ab1e4..377b79d 100644 --- a/pom.xml +++ b/pom.xml @@ -2,14 +2,14 @@ 4.0.0 com.amazonaws dynamodb-janusgraph-storage-backend - 1.2.0 + 1.3.0 jar Amazon DynamoDB Storage Backend for JanusGraph https://github.com/awslabs/dynamodb-janusgraph-storage-backend The Amazon DynamoDB Storage Backend for JanusGraph: Distributed Graph Database allows JanusGraph graphs to use DynamoDB as a storage backend. git@github.com:awslabs/dynamodb-janusgraph-storage-backend.git - jg0.2.0-1.2.0 + jg0.2.1-1.3.0 -Xms256m -Xmx1280m -XX:+HeapDumpOnOutOfMemoryError @@ -18,18 +18,19 @@ 4567 http://localhost:${dynamodb-local.port} 1.8 - 1.11.336 + 1.11.369 2.6.6 - 0.2.0 - 3.2.6 + 0.2.1 + 3.2.9 3.0.2 3.1.0 3.6.2 2.20 2.20 - 3.0.2 + 3.1.0 1.6.0 - 1.2.1 + 1.4.1 + 1.2.17 1.7.12 3.8 3.0.1 @@ -52,7 +53,7 @@ Alexander Patrikalakis - amcp@mit.edu + amcpatrikalakis@gmail.com https://www.linkedin.com/in/amcpatrix/en @@ -171,7 +172,7 @@ log4j log4j - 1.2.17 + ${log4j.version} test diff --git a/src/main/java/com/amazon/janusgraph/example/MarvelGraphFactory.java b/src/main/java/com/amazon/janusgraph/example/MarvelGraphFactory.java index 72057d0..8a9f1fe 100644 --- a/src/main/java/com/amazon/janusgraph/example/MarvelGraphFactory.java +++ b/src/main/java/com/amazon/janusgraph/example/MarvelGraphFactory.java @@ -203,7 +203,7 @@ public void run() { command.run(); } catch (Throwable e) { final Throwable rootCause = ExceptionUtils.getRootCause(e); - final String rootCauseMessage = Optional.ofNullable(rootCause.getMessage()).orElse(""); + final String rootCauseMessage = Optional.ofNullable(rootCause).map(Throwable::getMessage).orElse(""); log.error("Error processing comic book {} {}", e.getMessage(), rootCauseMessage, e); } if (i++ % BATCH_SIZE == 0) { diff --git a/src/test/resources/get-recent-al-amis.sh b/src/test/resources/get-recent-al-amis.sh index bf5aa18..be1ddec 100755 --- a/src/test/resources/get-recent-al-amis.sh +++ b/src/test/resources/get-recent-al-amis.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). # You may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ aws ec2 describe-regions --query 'Regions[*].[RegionName]' | sed -e '/\[/d' -e ' --region ${region} \ --owners amazon \ --filters "Name=root-device-type,Values=ebs" "Name=name,Values=amzn-ami-*" \ - --query 'Images[? CreationDate > `'${LATER_THAN_DATE}'` && !contains(Name, `minimal`) && !contains(Name, `nat`)].[ImageId, ImageLocation]' |\ + --query 'Images[? CreationDate>`'${LATER_THAN_DATE}'` && !contains(Name, `minimal`) && !contains(Name, `nat`) && !contains(Name, `ecs-optimized`) && !contains(Name, `beta`)].[ImageId, ImageLocation]' |\ grep "\"" |\ sed -e 's/^[ ]*\(.*\)[ ]*$/\1/' -e '/\"$/s/$/%/' |\ tr "\n" "@" |\ diff --git a/src/test/resources/gremlin-server-service.sh b/src/test/resources/gremlin-server-service.sh index 1aaa0fe..7a87ba4 100644 --- a/src/test/resources/gremlin-server-service.sh +++ b/src/test/resources/gremlin-server-service.sh @@ -68,7 +68,7 @@ # 2b) If you're running Ubuntu: update-rc.d gremlin-server defaults # # You have to SET the Gremlin Server installation directory here: -SVR="/usr/local/packages/dynamodb-janusgraph-storage-backend-1.2.0" +SVR="/usr/local/packages/dynamodb-janusgraph-storage-backend-1.3.0" SVR_LOG="/var/log/gremlin-server" # Specify the user to run Gremlin Server as: SVR_USER="ec2-user" diff --git a/src/test/resources/install-gremlin-server.sh b/src/test/resources/install-gremlin-server.sh index fff0afa..bfb21f8 100755 --- a/src/test/resources/install-gremlin-server.sh +++ b/src/test/resources/install-gremlin-server.sh @@ -55,7 +55,7 @@ mvn -q -T 1C install -Dmaven.test.skip=true -DskipTests=true $MVN_OPT_PARAMS # | # -pom.xml # -server - WORKDIR -# |-janusgraph-0.2.0-hadoop2 - JANUSGRAPH_VANILLA_SERVER_DIRNAME +# |-janusgraph-0.2.1-hadoop2 - JANUSGRAPH_VANILLA_SERVER_DIRNAME # |-dynamodb-janusgraph-storage-backend-X.Y.Z - JANUSGRAPH_DYNAMODB_SERVER_DIRNAME # |-dynamodb-janusgraph-storage-backend-X.Y.Z.zip - JANUSGRAPH_DYNAMODB_SERVER_ZIP # | @@ -68,7 +68,7 @@ export ARTIFACT_NAME=`mvn -q -Dexec.executable="echo" -Dexec.args='${project.art export JANUSGRAPH_DYNAMODB_HOME=${PWD} export JANUSGRAPH_DYNAMODB_TARGET=${JANUSGRAPH_DYNAMODB_HOME}/target export JANUSGRAPH_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${janusgraph.version}' $MVN_OPT_PARAMS --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` -#Extract the DYNAMODB version from the pom. +#Extract the DynamoDB version from the pom. export DYNAMODB_PLUGIN_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' $MVN_OPT_PARAMS --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` export JANUSGRAPH_VANILLA_SERVER_DIRNAME=janusgraph-${JANUSGRAPH_VERSION}-hadoop2 export JANUSGRAPH_VANILLA_SERVER_ZIP=${JANUSGRAPH_VANILLA_SERVER_DIRNAME}.zip @@ -98,7 +98,7 @@ mvn test -q -Pdownload-janusgraph-server-zip $MVN_OPT_PARAMS > /dev/null 2>&1 #verify pushd target -wget https://github.com/JanusGraph/janusgraph/releases/download/v0.2.0/KEYS +wget https://github.com/JanusGraph/janusgraph/releases/download/v0.2.1/KEYS popd gpg --import target/KEYS gpg --verify src/test/resources/${JANUSGRAPH_VANILLA_SERVER_ZIP}.asc server/${JANUSGRAPH_VANILLA_SERVER_ZIP} diff --git a/src/test/resources/janusgraph-0.2.0-hadoop2.zip.asc b/src/test/resources/janusgraph-0.2.0-hadoop2.zip.asc deleted file mode 100644 index 76abe6f..0000000 --- a/src/test/resources/janusgraph-0.2.0-hadoop2.zip.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCgAGBQJZ3oovAAoJEGa4X/FBgCuoZrEP/15iXGPfGB8N26aTnaTEcOUR -7Qksk6FnnGy/gRUu0BrAaTcoHGYZJ7kTGlBIas3HAWt7kOfdTtgoJxaGyjNir/oo -zoqhwC369XysXem3UGiJh4sbOpmqh6TQTsg6hgPTIsF/FJCgtZntV5ozVr+lxPtV -pFobG1bVKdeiC89Y0nqQ+6NcdkwEMqHyWUKh2AfNrIG82omp/yWVJJe+Hl5VA7nZ -WUdz0A87f07+VFbBkHBx0z5iCymd7Tps59ohWsf6RrVxZtNaXApvqz5MN3WhvukP -S3rJgfWpI7KgDceg96SGcs4Ep/gCx9PiK0EUbQt4kj0vpKS28YzCyJ+xG8/vSy4V -0x+GWWXXWDxkaxdnWCg86Uq5tPZKTWFD9x53W0LfHZhKXuaF+VAm8czLRPXvwI1z -KKJdIQFZ8iQWk6e2s+OangM0m4HlADS8W669NRO582oimG3fIdtUxlKm9l4dM6/p -GGGggFALaeT3tcduFsS5/9BDIamEFdAVUR/J5oRdTKyX9qQUp/sY6PFUSg1Qw7Sc -Bcr1Qs8F/GNpGxKRa+DVU3WluFUqiqt3Kv8A/aBtIjqKKBIo6FpHMe3zrtn99qvz -fLYKlmgDgoeHgHYW87ua0vRq9YTqvIMsKuFQIWs1lScupUaO4Qifq9ohMffaVA21 -jUB5sikK//jKosQ39fG7 -=4zSE ------END PGP SIGNATURE----- diff --git a/src/test/resources/janusgraph-0.2.1-hadoop2.zip.asc b/src/test/resources/janusgraph-0.2.1-hadoop2.zip.asc new file mode 100644 index 0000000..0f41b1d --- /dev/null +++ b/src/test/resources/janusgraph-0.2.1-hadoop2.zip.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCgAGBQJbRBwgAAoJEGa4X/FBgCuo2g0P/22eRdKbB7WmcaobiS5YGeSp +RMlvJoOpflJvJ5elpm/MjJfDj0Il1wDCmmE24BuPQX1kzk/crjIb+XC4RB8P3K6I +j0xOrO+eztQ4/W+wOlqzV1bAED6JqY5hZWgkMRyQumB9155p3UCwO126JV3UpJDz +Vtbn1R8mjIxVZxpP75EBfDiqQG4Xjc+y/1tsBaJaHdAwkNLXxcb4qWji4pYUF3mb +AvfEB9xZlJ8T/e9u6PY4NhlsGE54YuPFDIx2t3b6DUW7dcg3V1411aA13NaYrH6N +Yn3QatjwQ/Rzb4n/asojuzmfjMm2BLnWHgX9IP+Mjhcbce4+5IbRJhoe446VPFiI +YLDpxWDlY3aYopTk0fTDaGClcDlUZtXeCSNN8OnGz0x97af8jragxyNG9N6jxNYt +H8bHNM6kQrJvTj6YD4WXfyHlXLokb+BlVvMAYBMdzQ3JIp7eX4WXFdueEcoo1zWS +7nD5lN5cDSxW/M9QAmRtmQy8AzDFEHPJQM4K3XY4/B18FyyehuMU9sklMHmGOmRm +hgx99KjU5ApMZxUBlDqat56eYBanLScUen4agHV17PHwJ73Xb765uvLFWqi0BUe2 +5K9F+xI6n9UEAx7/sNTQJgJQJ73WguK9+4zf0pcXeU4oACLUyOmIB7AuW5EuXf5e +02U5gcOFHUlxruqyTLUF +=VvSg +-----END PGP SIGNATURE-----