Skip to content

Commit dd3cf44

Browse files
author
Alexander Patrikalakis
committed
Implement support for JanusGraph 0.2.1
Fixes amazon-archives#275, amazon-archives#277
1 parent 77e2a51 commit dd3cf44

14 files changed

+258
-137
lines changed

.travis.yml

+18-22
Original file line numberDiff line numberDiff line change
@@ -2,54 +2,50 @@ language: java
22
sudo: required
33
dist: trusty
44
jdk:
5-
- oraclejdk8
5+
- openjdk8
66
cache:
77
directories:
88
- "${HOME}/.m2"
99
env:
1010
matrix:
11-
#32 minutes
11+
#32 minutes
1212
- MODULE="MultiStoreTest" CATEGORY="MultiDynamoDBStoreTestCategory"
13-
#22 minutes
13+
#22 minutes
1414
- MODULE="MultiVertexCentricQuery" CATEGORY="IsolateMultiVertexCentricQuery"
1515
#17.5 minutes
1616
- MODULE="SingleGraphTest" CATEGORY="SingleDynamoDBGraphTestCategory"
1717
#17.3 minutes
1818
- MODULE="SingleStoreTest" CATEGORY="SingleDynamoDBStoreTestCategory"
1919
#16.5 minutes
2020
- MODULE="MultiLargeJointIndexRetrieval" CATEGORY="IsolateMultiLargeJointIndexRetrieval"
21-
#15.7 minutes
22-
- MODULE="MultiOLAPTest" CATEGORY="MultiDynamoDBOLAPTestCategory"
21+
#15.7 minutes - currently MultiOLAPTest is flaky
22+
# - MODULE="MultiOLAPTest" CATEGORY="MultiDynamoDBOLAPTestCategory"
2323
#13.5 minutes
2424
- MODULE="MultiGraphTest" CATEGORY="MultiDynamoDBGraphTestCategory"
2525
#11.8 minutes
2626
- MODULE="MultiEdgesExceedCacheSize" CATEGORY="IsolateMultiEdgesExceedCacheSize"
27-
#12 minutes
27+
#12 minutes
2828
- MODULE="SingleIdAuthorityLogStore" CATEGORY="SingleIdAuthorityLogStoreCategory"
29-
#11 minutes
29+
#11 minutes
3030
- MODULE="MultiIdAuthorityLogStore" CATEGORY="MultiIdAuthorityLogStoreCategory"
31-
#9 minutes
31+
#9 minutes
3232
- MODULE="SingleOLAPTest" CATEGORY="SingleDynamoDBOLAPTestCategory"
33-
#8.7 minutes
33+
#8.7 minutes
3434
- MODULE="MultiConcurrentGetSliceAndMutate" CATEGORY="IsolateMultiConcurrentGetSliceAndMutate"
35-
#8.5 minutes
35+
#8.5 minutes
3636
- MODULE="RemainingTestsCategory" CATEGORY="IsolateRemainingTestsCategory"
37-
#6.5 minutes
37+
#6.5 minutes
3838
- MODULE="MultiConcurrentGetSlice" CATEGORY="IsolateMultiConcurrentGetSlice"
39-
#6.4 minutes
39+
#6.4 minutes
4040
- MODULE="SingleConcurrentGetSliceAndMutate" CATEGORY="IsolateSingleConcurrentGetSliceAndMutate"
41-
#4.8 minutes
41+
#6 minutes
42+
- MODULE="GraphSimpleLogTest" CATEGORY="GraphSimpleLogTestCategory"
43+
#4.8 minutes
4244
- MODULE="SingleConcurrentGetSlice" CATEGORY="IsolateSingleConcurrentGetSlice"
43-
#3.2
45+
#3.2 minutes
4446
- MODULE="SingleMultiWriteStoreTestCategory" CATEGORY="SingleDynamoDBMultiWriteStoreTestCategory"
45-
#2.8 minutes
47+
#2.8 minutes
4648
- MODULE="MultiMultiWriteStoreTestCategory" CATEGORY="MultiDynamoDBMultiWriteStoreTestCategory"
47-
#To be added
48-
- MODULE="GraphSimpleLogTest" CATEGORY="GraphSimpleLogTestCategory"
49-
addons:
50-
apt:
51-
packages:
52-
- oracle-java8-installer
5349
branches:
5450
only:
5551
- 1.0.0
@@ -64,5 +60,5 @@ script:
6460
#- 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/'`
6561
notifications:
6662
email:
67-
63+
6864

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ account in the same region.
2828
multiple-item model based on graph size and utilization.
2929
* Test graph locally with DynamoDB Local.
3030
* Integrated with JanusGraph metrics.
31-
* JanusGraph 0.2.0 and TinkerPop 3.2.6 compatibility.
31+
* JanusGraph 0.2.1 and TinkerPop 3.2.9 compatibility.
3232
* Upgrade compatibility from Titan 1.0.0.
3333

3434
## Getting Started
@@ -73,7 +73,7 @@ Storage Backend for JanusGraph installed.
7373
:remote connect tinkerpop.server conf/remote.yaml session
7474
:remote console
7575
```
76-
5. Load the first 100 lines of the Marvel graph using the Gremlin shell.
76+
5. Load the first 10 lines of the Marvel graph using the Gremlin shell.
7777

7878
```groovy
7979
com.amazon.janusgraph.example.MarvelGraphFactory.load(graph, 100, false)

dynamodb-janusgraph-storage-backend-cfn.yaml

+105-62
Original file line numberDiff line numberDiff line change
@@ -2,61 +2,64 @@
22
Description: This stack creates a VPC, an EC2 Amazon Linux host in the VPC with a
33
Public IP, and deploys Gremlin Server on it. **WARNING** This template creates
44
an Amazon EC2 instance. You will be billed for the AWS resources used if you
5-
create a stack from this template.
5+
create a stack from this template. AL 2018 AMI current as of 2018-06-22.
66
AWSTemplateFormatVersion: '2010-09-09'
77
Mappings:
88
AWSRegionArch2AMI:
99
ap-south-1:
10-
HVMG2: ami-52c7b43d
11-
HVM64: ami-f5c6b59a
10+
HVMG2: ami-5a8da735
11+
HVM64: ami-bc83a9d3
12+
eu-west-3:
13+
HVM64: ami-78f24205
14+
HVMG2: ami-d50bbaa8
1215
eu-west-2:
13-
HVMG2: ami-b6daced2
14-
HVM64: ami-b7daced3
16+
HVMG2: ami-b2b55cd5
17+
HVM64: ami-e2b35a85
1518
eu-west-1:
16-
HVMG2: ami-01ccc867
17-
PV64: ami-d1c0c4b7
18-
HVM64: ami-d3c0c4b5
19+
PV64: ami-3c5758d6
20+
HVM64: ami-41505fab
21+
HVMG2: ami-e4515e0e
1922
ap-northeast-2:
20-
HVM64: ami-9a15c7f4
21-
HVMG2: ami-9d15c7f3
23+
HVM64: ami-5bd46135
24+
HVMG2: ami-ebc47185
2225
ap-northeast-1:
23-
PV64: ami-30391657
24-
HVM64: ami-6a3b140d
25-
HVMG2: ami-923d12f5
26+
HVM64: ami-449f483b
27+
PV64: ami-6593441a
28+
HVMG2: ami-9c9443e3
2629
sa-east-1:
27-
HVM64: ami-2bccae47
28-
PV64: ami-36cfad5a
29-
HVMG2: ami-37cfad5b
30+
HVM64: ami-09d58f65
31+
PV64: ami-6dd58f01
32+
HVMG2: ami-83d58fef
3033
ca-central-1:
31-
HVMG2: ami-0bd66a6f
32-
HVM64: ami-73d06c17
34+
HVMG2: ami-03e86a67
35+
HVM64: ami-49e86a2d
3336
ap-southeast-1:
34-
PV64: ami-ab5ce5c8
35-
HVM64: ami-b65de4d5
36-
HVMG2: ami-fc5ae39f
37+
PV64: ami-c8fcffb4
38+
HVM64: ami-d6fdfeaa
39+
HVMG2: ami-ed838091
3740
ap-southeast-2:
38-
HVMG2: ami-162c2575
39-
HVM64: ami-762a2315
40-
PV64: ami-af2128cc
41+
HVMG2: ami-33f92051
42+
HVM64: ami-4ff8212d
43+
PV64: ami-c4c71ea6
4144
eu-central-1:
42-
HVM64: ami-506fbd3f
43-
HVMG2: ami-b968bad6
44-
PV64: ami-ba68bad5
45+
PV64: ami-1a744bf1
46+
HVMG2: ami-a058674b
47+
HVM64: ami-e056690b
4548
us-east-1:
46-
PV64: ami-668f1e70
47-
HVMG2: ami-c58c1dd3
48-
HVM64: ami-fd8617eb
49+
PV64: ami-b41445cb
50+
HVMG2: ami-cfe4b2b0
51+
HVM64: ami-f316478c
4952
us-east-2:
50-
HVMG2: ami-4191b524
51-
HVM64: ami-6693b703
53+
HVMG2: ami-40142d25
54+
HVM64: ami-ae0f36cb
5255
us-west-1:
53-
PV64: ami-0f85a06f
54-
HVMG2: ami-7a85a01a
55-
HVM64: ami-f887a298
56+
HVMG2: ami-0e86606d
57+
PV64: ami-1a876179
58+
HVM64: ami-25bf5946
5659
us-west-2:
57-
HVM64: ami-3234a652
58-
HVMG2: ami-4836a428
59-
PV64: ami-c737a5a7
60+
HVMG2: ami-0ad99772
61+
PV64: ami-21d09e59
62+
HVM64: ami-39d39d41
6063
AWSInstanceType2Arch:
6164
t2.nano:
6265
Arch: HVM64
@@ -84,13 +87,29 @@ Mappings:
8487
Arch: HVM64
8588
m4.16xlarge:
8689
Arch: HVM64
87-
m3.medium:
90+
m5.large:
8891
Arch: HVM64
89-
m3.large:
92+
m5.xlarge:
9093
Arch: HVM64
91-
m3.xlarge:
94+
m5.2xlarge:
9295
Arch: HVM64
93-
m3.2xlarge:
96+
m5.4xlarge:
97+
Arch: HVM64
98+
m5.12xlarge:
99+
Arch: HVM64
100+
m5.24xlarge:
101+
Arch: HVM64
102+
m5d.large:
103+
Arch: HVM64
104+
m5d.xlarge:
105+
Arch: HVM64
106+
m5d.2xlarge:
107+
Arch: HVM64
108+
m5d.4xlarge:
109+
Arch: HVM64
110+
m5d.12xlarge:
111+
Arch: HVM64
112+
m5d.24xlarge:
94113
Arch: HVM64
95114
c4.large:
96115
Arch: HVM64
@@ -102,25 +121,27 @@ Mappings:
102121
Arch: HVM64
103122
c4.8xlarge:
104123
Arch: HVM64
105-
c3.large:
124+
c5.large:
125+
Arch: HVM64
126+
c5.xlarge:
106127
Arch: HVM64
107-
c3.xlarge:
128+
c5.2xlarge:
108129
Arch: HVM64
109-
c3.2xlarge:
130+
c5.4xlarge:
110131
Arch: HVM64
111-
c3.4xlarge:
132+
c5.9xlarge:
112133
Arch: HVM64
113-
c3.8xlarge:
134+
c5.18xlarge:
114135
Arch: HVM64
115-
r3.large:
136+
c5d.xlarge:
116137
Arch: HVM64
117-
r3.xlarge:
138+
c5d.2xlarge:
118139
Arch: HVM64
119-
r3.2xlarge:
140+
c5d.4xlarge:
120141
Arch: HVM64
121-
r3.4xlarge:
142+
c5d.9xlarge:
122143
Arch: HVM64
123-
r3.8xlarge:
144+
c5d.18xlarge:
124145
Arch: HVM64
125146
r4.large:
126147
Arch: HVM64
@@ -138,6 +159,18 @@ Mappings:
138159
Arch: HVM64
139160
x1.32xlarge:
140161
Arch: HVM64
162+
x1e.xlarge:
163+
Arch: HVM64
164+
x1e.2xlarge:
165+
Arch: HVM64
166+
x1e.4xlarge:
167+
Arch: HVM64
168+
x1e.8xlarge:
169+
Arch: HVM64
170+
x1e.16xlarge:
171+
Arch: HVM64
172+
x1e.32xlarge:
173+
Arch: HVM64
141174
d2.xlarge:
142175
Arch: HVM64
143176
d2.2xlarge:
@@ -146,13 +179,13 @@ Mappings:
146179
Arch: HVM64
147180
d2.8xlarge:
148181
Arch: HVM64
149-
i2.xlarge:
182+
h1.2xlarge:
150183
Arch: HVM64
151-
i2.2xlarge:
184+
h1.4xlarge:
152185
Arch: HVM64
153-
i2.4xlarge:
186+
h1.8xlarge:
154187
Arch: HVM64
155-
i2.8xlarge:
188+
h1.16xlarge:
156189
Arch: HVM64
157190
i3.large:
158191
Arch: HVM64
@@ -166,20 +199,30 @@ Mappings:
166199
Arch: HVM64
167200
i3.16xlarge:
168201
Arch: HVM64
202+
i3.metal:
203+
Arch: HVM64
169204
f1.2xlarge:
170205
Arch: HVM64
171206
f1.16xlarge:
172207
Arch: HVM64
208+
g3.4xlarge:
209+
Arch: HVM64
210+
g3.8xlarge:
211+
Arch: HVM64
212+
g3.16xlarge:
213+
Arch: HVM64
173214
p2.xlarge:
174215
Arch: HVM64
175216
p2.8xlarge:
176217
Arch: HVM64
177218
p2.16xlarge:
178219
Arch: HVM64
179-
g2.2xlarge:
180-
Arch: HVMG2
181-
g2.8xlarge:
182-
Arch: HVMG2
220+
p3.2xlarge:
221+
Arch: HVM64
222+
p3.8xlarge:
223+
Arch: HVM64
224+
p3.16xlarge:
225+
Arch: HVM64
183226
Parameters:
184227
InstanceType:
185228
Description: EC2 instance type
@@ -511,7 +554,7 @@ Resources:
511554
- "mvn -version > /home/ec2-user/maven-installation-settings.log\n"
512555
- "export GREMLIN_SERVER_USERNAME='ec2-user'\n"
513556
- "export LOG_DIR=/var/log/gremlin-server\n"
514-
- "export SERVER_DIRNAME=dynamodb-janusgraph-storage-backend-1.2.0\n"
557+
- "export SERVER_DIRNAME=dynamodb-janusgraph-storage-backend-1.3.0\n"
515558
- "export SERVER_ZIP=${SERVER_DIRNAME}.zip\n"
516559
- "export PACKAGES_DIR=/usr/local/packages\n"
517560
- "export INSTALL_DIR=${PACKAGES_DIR}/${SERVER_DIRNAME}\n"
@@ -558,7 +601,7 @@ Outputs:
558601
- Fn::GetAtt:
559602
- WebServerInstance
560603
- PublicDnsName
561-
- " /usr/local/packages/dynamodb-janusgraph-storage-backend-1.2.0/bin/gremlin.sh"
604+
- " /usr/local/packages/dynamodb-janusgraph-storage-backend-1.3.0/bin/gremlin.sh"
562605
Description: Use this remote shell to interact with the graph.
563606
GremlinServerEndpoint:
564607
Value:

pom.xml

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
<modelVersion>4.0.0</modelVersion>
33
<groupId>com.amazonaws</groupId>
44
<artifactId>dynamodb-janusgraph-storage-backend</artifactId>
5-
<version>1.2.0</version>
5+
<version>1.3.0</version>
66
<packaging>jar</packaging>
77
<name>Amazon DynamoDB Storage Backend for JanusGraph</name>
88
<url>https://github.com/awslabs/dynamodb-janusgraph-storage-backend</url>
99
<description>The Amazon DynamoDB Storage Backend for JanusGraph: Distributed Graph Database allows JanusGraph graphs to use DynamoDB as a storage backend.</description>
1010
<scm>
1111
<url>[email protected]:awslabs/dynamodb-janusgraph-storage-backend.git</url>
12-
<tag>jg0.2.0-1.2.0</tag>
12+
<tag>jg0.2.1-1.3.0</tag>
1313
</scm>
1414
<properties>
1515
<default.test.jvm.opts>-Xms256m -Xmx1280m -XX:+HeapDumpOnOutOfMemoryError</default.test.jvm.opts>
@@ -18,10 +18,10 @@
1818
<dynamodb-local.port>4567</dynamodb-local.port>
1919
<dynamodb-local.endpoint>http://localhost:${dynamodb-local.port}</dynamodb-local.endpoint>
2020
<jdk.version>1.8</jdk.version>
21-
<aws.java.sdk.version>1.11.336</aws.java.sdk.version>
21+
<aws.java.sdk.version>1.11.369</aws.java.sdk.version>
2222
<jackson.version>2.6.6</jackson.version>
23-
<janusgraph.version>0.2.0</janusgraph.version>
24-
<tinkerpop.version>3.2.6</tinkerpop.version>
23+
<janusgraph.version>0.2.1</janusgraph.version>
24+
<tinkerpop.version>3.2.9</tinkerpop.version>
2525
<dependency.plugin.version>3.0.2</dependency.plugin.version>
2626
<maven.assembly.plugin.version>3.1.0</maven.assembly.plugin.version>
2727
<maven.compiler.plugin.version>3.6.2</maven.compiler.plugin.version>

0 commit comments

Comments
 (0)