Skip to content

Commit

Permalink
Implement support for JanusGraph 0.2.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Patrikalakis committed Jul 18, 2018
1 parent 77e2a51 commit 029fd09
Show file tree
Hide file tree
Showing 16 changed files with 273 additions and 152 deletions.
40 changes: 18 additions & 22 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,50 @@ 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"
#17.3 minutes
- 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
Expand All @@ -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:
- [email protected]
- [email protected]
- [email protected]
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -73,7 +73,7 @@ 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)
Expand Down
171 changes: 106 additions & 65 deletions dynamodb-janusgraph-storage-backend-cfn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -84,13 +87,29 @@ Mappings:
Arch: HVM64
m4.16xlarge:
Arch: HVM64
m3.medium:
m5.large:
Arch: HVM64
m3.large:
m5.xlarge:
Arch: HVM64
m3.xlarge:
m5.2xlarge:
Arch: HVM64
m3.2xlarge:
m5.4xlarge:
Arch: HVM64
m5.12xlarge:
Arch: HVM64
m5.24xlarge:
Arch: HVM64
m5d.large:
Arch: HVM64
m5d.xlarge:
Arch: HVM64
m5d.2xlarge:
Arch: HVM64
m5d.4xlarge:
Arch: HVM64
m5d.12xlarge:
Arch: HVM64
m5d.24xlarge:
Arch: HVM64
c4.large:
Arch: HVM64
Expand All @@ -102,25 +121,27 @@ Mappings:
Arch: HVM64
c4.8xlarge:
Arch: HVM64
c3.large:
c5.large:
Arch: HVM64
c5.xlarge:
Arch: HVM64
c3.xlarge:
c5.2xlarge:
Arch: HVM64
c3.2xlarge:
c5.4xlarge:
Arch: HVM64
c3.4xlarge:
c5.9xlarge:
Arch: HVM64
c3.8xlarge:
c5.18xlarge:
Arch: HVM64
r3.large:
c5d.xlarge:
Arch: HVM64
r3.xlarge:
c5d.2xlarge:
Arch: HVM64
r3.2xlarge:
c5d.4xlarge:
Arch: HVM64
r3.4xlarge:
c5d.9xlarge:
Arch: HVM64
r3.8xlarge:
c5d.18xlarge:
Arch: HVM64
r4.large:
Arch: HVM64
Expand All @@ -138,6 +159,18 @@ Mappings:
Arch: HVM64
x1.32xlarge:
Arch: HVM64
x1e.xlarge:
Arch: HVM64
x1e.2xlarge:
Arch: HVM64
x1e.4xlarge:
Arch: HVM64
x1e.8xlarge:
Arch: HVM64
x1e.16xlarge:
Arch: HVM64
x1e.32xlarge:
Arch: HVM64
d2.xlarge:
Arch: HVM64
d2.2xlarge:
Expand All @@ -146,13 +179,13 @@ Mappings:
Arch: HVM64
d2.8xlarge:
Arch: HVM64
i2.xlarge:
h1.2xlarge:
Arch: HVM64
i2.2xlarge:
h1.4xlarge:
Arch: HVM64
i2.4xlarge:
h1.8xlarge:
Arch: HVM64
i2.8xlarge:
h1.16xlarge:
Arch: HVM64
i3.large:
Arch: HVM64
Expand All @@ -166,20 +199,30 @@ Mappings:
Arch: HVM64
i3.16xlarge:
Arch: HVM64
i3.metal:
Arch: HVM64
f1.2xlarge:
Arch: HVM64
f1.16xlarge:
Arch: HVM64
g3.4xlarge:
Arch: HVM64
g3.8xlarge:
Arch: HVM64
g3.16xlarge:
Arch: HVM64
p2.xlarge:
Arch: HVM64
p2.8xlarge:
Arch: HVM64
p2.16xlarge:
Arch: HVM64
g2.2xlarge:
Arch: HVMG2
g2.8xlarge:
Arch: HVMG2
p3.2xlarge:
Arch: HVM64
p3.8xlarge:
Arch: HVM64
p3.16xlarge:
Arch: HVM64
Parameters:
InstanceType:
Description: EC2 instance type
Expand Down Expand Up @@ -502,16 +545,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"
Expand Down Expand Up @@ -558,7 +599,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:
Expand Down
Loading

0 comments on commit 029fd09

Please sign in to comment.