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

Reduce memory allocations of calls to ByteBufer.duplicate() made in org.apache.cassandra.transport.CBUtil#writeValue

    XMLWordPrintableJSON

Details

    Description

      Currently, org.apache.cassandra.transport.CBUtil#writeValue(java.nio.ByteBuffer, io.netty.buffer.ByteBuf) calls ByteBufer.duplicate() and is found to be 20% of memory allocations in production. No changes have been made to reduce this but there is discussion related to the issue in CASSANDRA-13741. Attached below are the performance result for disk based queries and mostly memory based queries. 

      Attachments

        1. allocations-after.html
          197 kB
          Natnael Adere
        2. allocations-before.html
          216 kB
          Natnael Adere
        3. DiskBased.png
          487 kB
          Natnael Adere

        Issue Links

          Activity

            People

              NateAdere Natnael Adere
              NateAdere Natnael Adere
              Natnael Adere
              Benedict Elliott Smith, David Capwell
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 50m
                  2h 50m