diff --git a/.travis.yml b/.travis.yml index b800960..2589bf0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: java sudo: required dist: trusty jdk: - - oraclejdk8 + - openjdk8 cache: directories: - "${HOME}/.m2" @@ -46,10 +46,6 @@ env: - 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..12ea79d 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 @@ -73,10 +73,10 @@ Storage Backend for JanusGraph installed. :remote connect tinkerpop.server conf/remote.yaml session :remote console ``` -5. Load the first 100 lines of the Marvel graph using the Gremlin shell. +5. Load the first 10 lines of the Marvel graph using the Gremlin shell. ```groovy - com.amazon.janusgraph.example.MarvelGraphFactory.load(graph, 100, false) + com.amazon.janusgraph.example.MarvelGraphFactory.load(graph, 10, false) ``` 6. Print the characters and the comic-books they appeared in where the characters had a weapon that was a shield or claws. diff --git a/dynamodb-janusgraph-storage-backend-cfn.yaml b/dynamodb-janusgraph-storage-backend-cfn.yaml index 8778797..ff965b8 100644 --- a/dynamodb-janusgraph-storage-backend-cfn.yaml +++ b/dynamodb-janusgraph-storage-backend-cfn.yaml @@ -2,61 +2,64 @@ Description: This stack creates a VPC, an EC2 Amazon Linux host in the VPC with a Public IP, and deploys Gremlin Server on it. **WARNING** This template creates an Amazon EC2 instance. You will be billed for the AWS resources used if you - create a stack from this template. + create a stack from this template. AL 2018 AMI current as of 2018-06-22. AWSTemplateFormatVersion: '2010-09-09' Mappings: AWSRegionArch2AMI: ap-south-1: - HVMG2: ami-52c7b43d - HVM64: ami-f5c6b59a + HVMG2: ami-5a8da735 + HVM64: ami-bc83a9d3 + eu-west-3: + HVM64: ami-78f24205 + HVMG2: ami-d50bbaa8 eu-west-2: - HVMG2: ami-b6daced2 - HVM64: ami-b7daced3 + HVMG2: ami-b2b55cd5 + HVM64: ami-e2b35a85 eu-west-1: - HVMG2: ami-01ccc867 - PV64: ami-d1c0c4b7 - HVM64: ami-d3c0c4b5 + PV64: ami-3c5758d6 + HVM64: ami-41505fab + HVMG2: ami-e4515e0e ap-northeast-2: - HVM64: ami-9a15c7f4 - HVMG2: ami-9d15c7f3 + HVM64: ami-5bd46135 + HVMG2: ami-ebc47185 ap-northeast-1: - PV64: ami-30391657 - HVM64: ami-6a3b140d - HVMG2: ami-923d12f5 + HVM64: ami-449f483b + PV64: ami-6593441a + HVMG2: ami-9c9443e3 sa-east-1: - HVM64: ami-2bccae47 - PV64: ami-36cfad5a - HVMG2: ami-37cfad5b + HVM64: ami-09d58f65 + PV64: ami-6dd58f01 + HVMG2: ami-83d58fef ca-central-1: - HVMG2: ami-0bd66a6f - HVM64: ami-73d06c17 + HVMG2: ami-03e86a67 + HVM64: ami-49e86a2d ap-southeast-1: - PV64: ami-ab5ce5c8 - HVM64: ami-b65de4d5 - HVMG2: ami-fc5ae39f + PV64: ami-c8fcffb4 + HVM64: ami-d6fdfeaa + HVMG2: ami-ed838091 ap-southeast-2: - HVMG2: ami-162c2575 - HVM64: ami-762a2315 - PV64: ami-af2128cc + HVMG2: ami-33f92051 + HVM64: ami-4ff8212d + PV64: ami-c4c71ea6 eu-central-1: - HVM64: ami-506fbd3f - HVMG2: ami-b968bad6 - PV64: ami-ba68bad5 + PV64: ami-1a744bf1 + HVMG2: ami-a058674b + HVM64: ami-e056690b us-east-1: - PV64: ami-668f1e70 - HVMG2: ami-c58c1dd3 - HVM64: ami-fd8617eb + PV64: ami-b41445cb + HVMG2: ami-cfe4b2b0 + HVM64: ami-f316478c us-east-2: - HVMG2: ami-4191b524 - HVM64: ami-6693b703 + HVMG2: ami-40142d25 + HVM64: ami-ae0f36cb us-west-1: - PV64: ami-0f85a06f - HVMG2: ami-7a85a01a - HVM64: ami-f887a298 + HVMG2: ami-0e86606d + PV64: ami-1a876179 + HVM64: ami-25bf5946 us-west-2: - HVM64: ami-3234a652 - HVMG2: ami-4836a428 - PV64: ami-c737a5a7 + HVMG2: ami-0ad99772 + PV64: ami-21d09e59 + HVM64: ami-39d39d41 AWSInstanceType2Arch: t2.nano: Arch: HVM64 @@ -511,7 +514,7 @@ Resources: - "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" @@ -558,7 +561,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..c943970 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 @@ -20,8 +20,8 @@ 1.8 1.11.336 2.6.6 - 0.2.0 - 3.2.6 + 0.2.1 + 3.2.9 3.0.2 3.1.0 3.6.2 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 fab2889..7bafb03 100755 --- a/src/test/resources/get-recent-al-amis.sh +++ b/src/test/resources/get-recent-al-amis.sh @@ -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..ad365cb 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 # | @@ -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-----