You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Manu Chadha <ma...@hotmail.com> on 2020/06/13 16:24:34 UTC
ServerError: java.lang.AssertionError on running Docker container
with mounted data directory
I am running Cassandra Docker image on my Windows 10 following the steps here -https://hub.docker.com/_/cassandra
Specifically about the section - Where to store data - I have started the Images as follows
container 1
docker run -v C:\Users\manuc\Documents\manu\dockertest\dockerdata:/var/lib/cassandra --network cassandra-net -p 9042:9042 --name cassandra1 cassandra_image_id
container 2
docker run -v C:\Users\manuc\Documents\manu\dockertest\dockerdata:/var/lib/cassandra --network cassandra-net --name cassandra2 -e CASSANDRA_SEEDS=cassandra1 cassandra_image_id
Then I start Bash and cqlsh to container 1 to create keyspace and tables -
docker exec -it container-id bash
CREATE KEYSPACE myKS WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'} ;
cqlsh> CREATE TABLE myKS.users (
... bucket int,
... email text,
... authprovider text,
... firstname text,
... lastname text,
... confirmed boolean,
... hasher text,
... id uuid,
... password text,
... salt text,
... PRIMARY KEY ((bucket, email), authprovider, firstname, lastname)
... );
cqlsh>
cqlsh> use myKS;
cqlsh:codingjedi> insert into users (bucket, email,authprovider, firstname, lastname, confirmed, hasher,id,password, salt) values (1,'m@m.com','ap','fn','ln',false,'h',uuid(),'p','s');
When I run the Insert query, I get error `java.lang.AssertionError`
The error on `Cassandra` console is
ERROR [Native-Transport-Requests-2] 2020-06-13 16:06:46,704 Message.java:693 - Unexpected exception during request; channel = [id: 0x60052791, L:/127.0.0.1:9042 - R:/127.0.0.1:34818]
java.lang.AssertionError: null
at org.apache.cassandra.locator.TokenMetadata.firstTokenIndex(TokenMetadata.java:1065) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.locator.TokenMetadata.firstToken(TokenMetadata.java:1079) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.locator.AbstractReplicationStrategy.getNaturalEndpoints(AbstractReplicationStrategy.java:107) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:3825) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:1074) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:621) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:851) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:439) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:425) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:225) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:256) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:241) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:116) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:566) [apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:410) [apache-cassandra-3.11.4.jar:3.11.4]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.44.Final.jar:4.0.44.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.0.44.Final.jar:4.0.44.Final]
at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:35) [netty-all-4.0.44.Final.jar:4.0.44.Final]
at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:348) [netty-all-4.0.44.Final.jar:4.0.44.Final]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_222]
at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162) [apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:114) [apache-cassandra-3.11.4.jar:3.11.4]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_222]
What is causing this error and how can I solve this error?
Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
Re: ServerError: java.lang.AssertionError on running Docker container
with mounted data directory
Posted by Erick Ramirez <er...@datastax.com>.
I haven't validated the rest of your docker config but what stood out to me
is that you are using the same directory for both containers. You can't
share the same location -- they have to be unique.
Try using something like C:\Users\manuc\Documents\manu\container1\dockerdata
and C:\Users\manuc\Documents\manu\container2\dockerdata instead. Cheers!
>