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

compaction-stress: assertion error on accessing Schema.instance from client-mode tool

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Not A Problem
    • None
    • Legacy/Tools
    • None
    • Normal

    Description

      When I was trying the new compaction-stress tool from 3.10, I ran into the following error:

      automaton@0ce59d338-1:~/cassandra-trunk$ ./tools/bin/compaction-stress write -d /tmp/compaction -g 5 -p https://gist.githubusercontent.com/tjake/8995058fed11d9921e31/raw/a9334d1090017bf546d003e271747351a40692ea/blogpost.yaml -t 4
      java.lang.AssertionError: This assertion failure is probably due to accessing Schema.instance from client-mode tools - See CASSANDRA-8143.
      	at org.apache.cassandra.config.CFMetaData.<init>(CFMetaData.java:288)
      	at org.apache.cassandra.config.CFMetaData.<init>(CFMetaData.java:66)
      	at org.apache.cassandra.config.CFMetaData$Builder.build(CFMetaData.java:1332)
      	at org.apache.cassandra.config.CFMetaData.compile(CFMetaData.java:433)
      	at org.apache.cassandra.stress.StressProfile.init(StressProfile.java:174)
      	at org.apache.cassandra.stress.StressProfile.load(StressProfile.java:801)
      	at org.apache.cassandra.stress.CompactionStress.getStressProfile(CompactionStress.java:162)
      	at org.apache.cassandra.stress.CompactionStress$DataWriter.run(CompactionStress.java:289)
      	at org.apache.cassandra.stress.CompactionStress.main(CompactionStress.java:353)
      

      [UPDATE] It appears that compaction-stress compact fails on the same assert but via a totally different code path. The stack trace is like the following:

      automaton@0ce59d338-1:~/cassandra-trunk$ ./tools/bin/compaction-stress compact -d /tmp/compaction -p https://gist.githubusercontent.com/tjake/8995058fed11d9921e31/raw/a9334d1090017bf546d003e271747351a40692ea/blogpost.yaml -t 4
      java.lang.AssertionError: This assertion failure is probably due to accessing Schema.instance from client-mode tools - See CASSANDRA-8143.
      	at org.apache.cassandra.config.CFMetaData.<init>(CFMetaData.java:288)
      	at org.apache.cassandra.config.CFMetaData.<init>(CFMetaData.java:66)
      	at org.apache.cassandra.config.CFMetaData$Builder.build(CFMetaData.java:1332)
      	at org.apache.cassandra.config.CFMetaData.compile(CFMetaData.java:433)
      	at org.apache.cassandra.db.SystemKeyspace.compile(SystemKeyspace.java:434)
      	at org.apache.cassandra.db.SystemKeyspace.<clinit>(SystemKeyspace.java:115)
      	at org.apache.cassandra.stress.CompactionStress$Compaction.run(CompactionStress.java:213)
      	at org.apache.cassandra.stress.CompactionStress.main(CompactionStress.java:353)
      

      (the last revision of the description had the wrong stack trace pasted and I've corrected that.)

      As you can see this 2nd assert on compaction-stress compact is triggered by SystemKeyspace class, so fix in StressProfile class is only able to solve the assert problem for compaction-stress write, but not compaction-stress compact.

      Attachments

        Issue Links

          Activity

            People

              yukim Yuki Morishita
              weideng Wei Deng
              Yuki Morishita
              Paulo Motta
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: