Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-2953

Disk limits not observed when memory limits exceeded for non-persistent messaging

    XMLWordPrintableJSON

Details

    Description

      Using the Kahadb persistence adapter.
      When producing non-persistent messages and using the <systemUsage> element to specify memory and disk limits,
      it appears that after memory limit is reached that staging incoming messages to disk continues to happen even
      past the specified disk limit. More specifically if <memoryUsage> limit is exceeded, we see messages being
      stored into files labelled as data-TopicSubscription-<n>.log. However, even when <tempUsage> element specifies a limit on the
      disk space to be used, messages continue to be stored there and the limit is not adhered to.

      Attaching the configuration file used for this bug report. I simply used the producer/consumer programs in the example folder to populate and consume large number of messages.

      Note that with ActiveMQ 5.4, similar behavior except that the location of the data files is in data\localhost\tmp_storage and the data files are named db-<n>.log.

      We need to have the limit(s) adhered to and then the producer should be held up until disk or memory is freed up as expected from the description of handling non-persistent messages. Under the current implementations, the producer can continue to produce messages until all available disk space is allocated.

      Attachments

        Activity

          People

            Unassigned Unassigned
            rbonneau Richard Bonneau
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: