Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-15680

Transient Replication: java.lang.AssertionError null error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Triage Needed
    • Normal
    • Resolution: Unresolved
    • None
    • None
    • All
    • None

    Description

      This bug happens randomly. It seems that for some reason, Replicas.ReplicaCount.allReplicas() or Replicas.ReplicaCount.fullReplicas() can be null instead of 0 ?

      stacktrace:

      ERROR [Native-Transport-Requests-1] 2020-04-01 12:00:20,024 Message.java:874 - Unexpected exception during request; channel = [id: 0x9891b4c8, L:/127.0.0.1:9042 - R:/127.0.0.1:48542]
      java.lang.AssertionError: null
      	at org.apache.cassandra.exceptions.UnavailableException.create(UnavailableException.java:38)
      	at org.apache.cassandra.locator.ReplicaPlans.assureSufficientLiveReplicas(ReplicaPlans.java:126)
      	at org.apache.cassandra.locator.ReplicaPlans.assureSufficientLiveReplicasForRead(ReplicaPlans.java:109)
      	at org.apache.cassandra.locator.ReplicaPlans.forRead(ReplicaPlans.java:593)
      	at org.apache.cassandra.service.reads.AbstractReadExecutor.getReadExecutor(AbstractReadExecutor.java:191)
      	at org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1798)
      	at org.apache.cassandra.service.StorageProxy.readRegular(StorageProxy.java:1709)
      	at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1626)
      	at org.apache.cassandra.db.SinglePartitionReadCommand.execute(SinglePartitionReadCommand.java:382)
      	at org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:69)
      	at org.apache.cassandra.service.pager.SinglePartitionPager.fetchPage(SinglePartitionPager.java:32)
      	at org.apache.cassandra.cql3.statements.SelectStatement$Pager$NormalPager.fetchPage(SelectStatement.java:352)
      	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:400)
      	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:250)
      	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:88)
      	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:216)
      	at org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:489)
      	at org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:467)
      	at org.apache.cassandra.cql3.CustomPayloadMirroringQueryHandler.processPrepared(CustomPayloadMirroringQueryHandler.java:67)
      	at org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:140)
      	at org.apache.cassandra.transport.Message$Request.execute(Message.java:253)
      	at org.apache.cassandra.transport.Message$Dispatcher.processRequest(Message.java:725)
      	at org.apache.cassandra.transport.Message$Dispatcher.lambda$channelRead0$0(Message.java:630)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:165)
      	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:119)
      	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      	at java.lang.Thread.run(Thread.java:748)
      

      I can reproduce relativity easily with this python driver test (1 out of 5 runs): https://github.com/datastax/python-driver/blob/master/tests/integration/long/test_loadbalancingpolicies.py#L622

      This was tested with 4.0-alpha3 and trunk. I can help to debug if needed.

      Attachments

        1. debug.log
          232 kB
          Alan Boudreault

        Activity

          People

            Unassigned Unassigned
            aboudreault Alan Boudreault
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: