amazon-archives / dynamodb-janusgraph-storage-backend

The Amazon DynamoDB Storage Backend for JanusGraph
Apache License 2.0
447 stars 99 forks source link

gremlin shell freeze after trying to open dynamodb.properties #250

Closed dspasic closed 7 years ago

dspasic commented 7 years ago

Hi,

here the headline: after trying to execute graph = JanusGraphFactory.open('path/to/configuration.properties') the shell freezes, means there is no response from the method and I need to quit the session with CTRL-C.

I'm using the recent version of the storage backend and for JanusGraph the version 0.2.0. The gremlin server is running on an ec2 instance and I'm using the single table strategy.

One more note maybe: I adopted the cf template instead of applying it 1:1.

My question is how can I troubleshoot the issue? Do somebody have a hint for me?

The properties looks as follow:

gremlin.graph=org.janusgraph.core.JanusGraphFactory
metrics.enabled=true
metrics.prefix=januspgraph
metrics.csv.interval=1000
metrics.csv.directory=metrics

# Turn off JanusGraph retries as we batch and have our own exponential backoff strategy.
storage.write-time=1 ms
storage.read-time=1 ms

storage.backend=com.amazon.janusgraph.diskstorage.dynamodb.DynamoDBStoreManager

storage.dynamodb.prefix=identity--graphdb-destination--stage--
storage.dynamodb.max-self-throttled-retries=120
storage.dynamodb.initial-retry-millis=35

storage.dynamodb.client.credentials.class-name=com.amazonaws.auth.DefaultAWSCredentialsProviderChain
storage.dynamodb.client.credentials.constructor-args=
storage.dynamodb.client.signing-region=eu-west-1

storage.dynamodb.stores.edgestore.initial-capacity-read=12
storage.dynamodb.stores.edgestore.initial-capacity-write=12
storage.dynamodb.stores.edgestore.read-rate=12
storage.dynamodb.stores.edgestore.write-rate=12

storage.dynamodb.stores.graphindex.initial-capacity-read=9
storage.dynamodb.stores.graphindex.initial-capacity-write=9
storage.dynamodb.stores.graphindex.read-rate=9
storage.dynamodb.stores.graphindex.write-rate=9

storage.dynamodb.stores.systemlog.initial-capacity-read=1
storage.dynamodb.stores.systemlog.initial-capacity-write=1
storage.dynamodb.stores.systemlog.read-rate=1
storage.dynamodb.stores.systemlog.write-rate=1

storage.dynamodb.stores.janusgraph_ids.initial-capacity-read=1
storage.dynamodb.stores.janusgraph_ids.initial-capacity-write=1
storage.dynamodb.stores.janusgraph_ids.read-rate=1
storage.dynamodb.stores.janusgraph_ids.write-rate=1

storage.dynamodb.stores.system_properties.initial-capacity-read=1
storage.dynamodb.stores.system_properties.initial-capacity-write=1
storage.dynamodb.stores.system_properties.read-rate=1
storage.dynamodb.stores.system_properties.write-rate=1

storage.dynamodb.stores.txlog.initial-capacity-read=1
storage.dynamodb.stores.txlog.initial-capacity-write=1
storage.dynamodb.stores.txlog.read-rate=1
storage.dynamodb.stores.txlog.write-rate=1

Let me know you if you need more information.

Shubhakeerthi commented 7 years ago

Thank You @dspasic . Your explanation of the issue solved https://github.com/awslabs/dynamodb-janusgraph-storage-backend/issues/249

I used to execute graph = TinkerGraph.open() Output: No such property: TinkerGraph for class: Script2

After reading your issue, I executed graph = JanusGraphFactory.open('/usr/local/packages/dynamodb-janusgraph-storage-backend-1.1.1/conf/gremlin-server/dynamodb.properties') Output : ==>standardjanusgraph[com.amazon.janusgraph.diskstorage.dynamodb.DynamoDBStoreManager:[127.0.0.1]]

dspasic commented 7 years ago

Thank you for the reply @Shubhakeerthi. I found out, that I need to define the s.d.s.*.data-model from MULTI, which is the default value, to SINGLE. So it was my mistake. Sorry for that. However, it confused me a little bit to don't get any response.

storage.dynamodb.stores.edgestore.data-model=SINGLE
storage.dynamodb.stores.graphindex.data-model=SINGLE
storage.dynamodb.stores.janusgraph_ids.data-model=SINGLE
storage.dynamodb.stores.system_properties.data-model=SINGLE
storage.dynamodb.stores.systemlog.data-model=SINGLE
storage.dynamodb.stores.txlog.data-model=SINGLE
amcp commented 7 years ago

Yes, if you use the single item data model, you need to specify that in properties, as the default is MULTI.