Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-905

Clean up not occurring when content repository reaches max usage percentage

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.3.0
    • 0.3.0
    • None
    • None

    Description

      Created a 500MB partition and set the content repository to use that partition, then created a simple Flow with GenerateFlowFile -> UpdateAttribute, using 10kb FlowFiles.

      When the content repository reached approx 224MB it started logging:
      "Unable to write to container default to archive file size constraints; waiting for archive cleanup"

      It appears that the clean up was never occurring and a thread dump shows a blocked thread:

      "FileSystemRepository Workers Thread-2" daemon prio=10 tid=0x00007f78c2660000 nid=0x2ae7 waiting for monitor entry [0x00007f78a907d000]
      
         java.lang.Thread.State: BLOCKED (on object monitor)
      
              at org.apache.nifi.controller.repository.FileSystemRepository.archive(FileSystemRepository.java:1095)
      
              - waiting to lock <0x00000000e193ae00> (a java.util.concurrent.LinkedBlockingQueue)
      
              at org.apache.nifi.controller.repository.FileSystemRepository.access$1200(FileSystemRepository.java:83)
      
              at org.apache.nifi.controller.repository.FileSystemRepository$ArchiveOrDestroyDestructableClaims.run(FileSystemRepository.java:1357)
      
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      
              at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
      
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
      
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      
              at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        1. 0001-NIFI-905-Ensure-that-when-archive-threshold-is-hit-a.patch
          11 kB
          Mark Payne
        2. nifi.dump
          58 kB
          Bryan Bende

        Activity

          People

            markap14 Mark Payne
            bbende Bryan Bende
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: