-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cosmos Azure and JanusGraph (cosmosdb_cell_level) #2499
Comments
I am trying to do a similar thing: using JanusGraph on Amazon keyspace. My progress is at #2370 (comment) I also saw a similar issue because Amazon keyspace does not support user-defined timestamps. As a POC I commented out "usingTimestamp(bindMarker(TIMESTAMP_BINDING))" and ".setLong(TIMESTAMP_BINDING, timestamp)" which seems to work so far. |
Hi @li-boxuan, i see your issues your problem is similar. Does this mean that cloud providers do not use standard format? I continued debugging the error and i create the table that was giving me the error as shown below:
Now i can continue creating some columns mores: but i am getting new errors:
Additionaly, I tried to change timestamp on janus config "graph.timestamps: "MILLI" but its fixed.
|
@torsolaso In your error log, I see
This suggests that Azure cosmos does support TTLs, timestamps, etc., but requires that you explicitly enable them when creating tables. Can you delete all tables and manually create them all? See if that works.
Not sure if it's a coincidence. Regarding Amazon Keyspace, apparently, it's because their solution is based on on-demand capacity, and for some reason, their implementation differs from the standard Cassandra. |
Could be possible to implement a flag --cosmosDB to concat "AND cosmosdb_cell_level_timestamp=true AND cosmosdb_cell_level_timestamp_tombstones=true AND cosmosdb_cell_level_timetolive=true" janusgraph/janusgraph-cql/src/main/java/org/janusgraph/diskstorage/cql/CQLKeyColumnValueStore.java Line 222 in 00cc997
|
Seems worth a try. |
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,
The text was updated successfully, but these errors were encountered: