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

Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 2.0.10, 2.1.1
    • Packaging
    • None

    Description

      The new flags in question are as follows:

      -XX:+CMSParallelInitialMarkEnabled
      -XX:+CMSEdenChunksRecordAlways
      

      Given we already have

      JVM_OPTS="$JVM_OPTS -XX:+UseParNewGC" 
      JVM_OPTS="$JVM_OPTS -XX:+UseConcMarkSweepGC" 
      JVM_OPTS="$JVM_OPTS -XX:+CMSParallelRemarkEnabled" 
      JVM_OPTS="$JVM_OPTS -XX:+UseTLAB"
      if [ "$JVM_ARCH" = "64-Bit" ] ; then
          JVM_OPTS="$JVM_OPTS -XX:+UseCondCardMark"
      fi
      

      The assumption would be that people are at least running on large number CPU cores/threads

      I would therefore recommend defaulting these flags if available - the only two possible downsides for +CMSEdenChunksRecordAlways:

      1) There is a new very short (probably un-contended) lock in the "slow" (non TLAB) eden allocation path with +CMSEdenChunksRecordAlways. I haven't detected this timing wise - this is the "slow" path after all
      2) If you are running with -XX:-UseCMSCompactAtFullCollection (not the default) and you call System.gc() then +CMSEdenChunksRecordAlways will expose you to a possible seg fault: (see
      http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809)

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            brandon.williams Brandon Williams Assign to me
            graham sanderson graham sanderson
            Brandon Williams
            Jonathan Ellis
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment