JanusGraph / JanusGraph/janusgraph
Cosmos Azure and JanusGraph (cosmosdb_cell_level)
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
Hello all,
**Describe the feature:**
I am testing janusgraph with Azure cosmos DB version [cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4] and I debugged some bugs to the point where I can't move forward anymore .
I am not really sure if this is a bug issue or a feature request. Please, feel free to change it.
Its possible to use Cosmos Azure and JanusGraph ?
**Describe a specific use case for the feature:**
The error is:
`Caused by: java.util.concurrent.ExecutionException: com.datastax.driver.core.exceptions.InvalidQueryException: Use
r specified timestamp not supported for this table. Please re-create the table with cosmosdb_cell_level_timestamp=
true AND cosmosdb_cell_level_timestamp_tombstones=true AND cosmosdb_cell_level_timetolive=true.
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:553)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:514)
at io.vavr.control.Try.of(Try.java:62)
at io.vavr.concurrent.FutureImpl.lambda$run$2(FutureImpl.java:199)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: User specified timestamp not supported for t
his table. Please re-create the table with cosmosdb_cell_level_timestamp=true AND cosmosdb_cell_level_timestamp_to
mbstones=true AND cosmosdb_cell_level_timetolive=true.
at com.datastax.driver.core.Responses$Error.asException(Responses.java:181)
at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:215)
at com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:235)
at com.datastax.driver.core.RequestHandler.access$2600(RequestHandler.java:61)
at com.datastax.driver.core.RequestHandler$SpeculativeExecution.setFinalResult(RequestHandler.java:1011)
at com.datastax.driver.core.RequestHandler$SpeculativeExecution.onSet(RequestHandler.java:814)
at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1262)
at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1180)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356
)`
In which i can read `Please re-create the table with cosmosdb_cell_level_timestamp=true AND cosmosdb_cell_level_timestamp_to mbstones=true AND cosmosdb_cell_level_timetolive=true.` but i didnt find how to force janusgraph to add this AND clauses.
i arrived to this class https://github.com/JanusGraph/janusgraph/blob/master/janusgraph-cql/src/main/java/org/janusgraph/diskstorage/cql/CQLKeyColumnValueStore.java#L187
and i think when create tables It is mandatory to include these clauses how i see on https://github.com/Azure-Samples/cosmosdb-cassandra-kafka/blob/2cfba78e3c70dea5dd1fd771636d8db1978b7e1d/README.md#create-keyspace-tables-and-start-the-integration-pipeline
I could provide more logs if necessary
Thanks,
Contributor guide
Research direction
Start at janusgraph-cql/src/main/java/org/janusgraph/diskstorage/cql/CQLKeyColumnValueStore.java around line 187 and compare its table creation behavior with the Azure Cosmos Cassandra README. Determine whether JanusGraph can create tables with the required cosmosdb_cell_level_timestamp, tombstones, and timetolive clauses, and define support as resolving the reported InvalidQueryException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, cassandra, java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100