Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-14432

RocksDBStore relies on finalizers to not leak memory

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • 3.4.0
    • streams
    • None

    Description

      Relying on finalizers in RocksDB has been deprecated for a long time, and starting with rocksdb 7, finalizers are removed completely (see https://github.com/facebook/rocksdb/pull/9523). 

      Kafka Streams currently relies on finalizers in parts to not leak memory. This needs to be resolved before we can upgrade to RocksDB 7.

      See  https://github.com/apache/kafka/pull/12809 .

      This is a native heap profile after running Kafka Streams without finalizers for a few hours:

      Total: 13547.5 MB
      12936.3 95.5% 95.5% 12936.3 95.5% rocksdb::port::cacheline_aligned_alloc
      438.5 3.2% 98.7% 438.5 3.2% rocksdb::BlockFetcher::ReadBlockContents
      84.0 0.6% 99.3% 84.2 0.6% rocksdb::Arena::AllocateNewBlock
      45.9 0.3% 99.7% 45.9 0.3% prof_backtrace_impl
      8.1 0.1% 99.7% 14.6 0.1% rocksdb::BlockBasedTable::PutDataBlockToCache
      6.4 0.0% 99.8% 12941.4 95.5% Java_org_rocksdb_Statistics_newStatistics___3BJ
      6.1 0.0% 99.8% 6.9 0.1% rocksdb::LRUCacheShard::Insert@2d8b20
      5.1 0.0% 99.9% 6.5 0.0% rocksdb::VersionSet::ProcessManifestWrites
      3.9 0.0% 99.9% 3.9 0.0% rocksdb::WritableFileWriter::WritableFileWriter
      3.2 0.0% 99.9% 3.2 0.0% std::string::_Rep::_S_create

      Attachments

        Issue Links

          Activity

            People

              lucasbru Lucas Brutschy
              lucasbru Lucas Brutschy
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: