JanusGraph / JanusGraph/janusgraph

Cosmos Azure and JanusGraph (cosmosdb_cell_level)

Open
#2,499 5 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.