MySQL 8.4 Reference Manual Including MySQL NDB Cluster 8.4
        NDB uses one or more memory buffers for
        events received from the data nodes. There is one such buffer
        for each Ndb object subscribing
        to table events, which means that there are usually two buffers
        for each mysqld performing binary logging
        (one buffer for schema events, and one for data events). Each
        buffer contains epochs made up of events. These events consist
        of operation types (insert, update, delete) and row data (before
        and after images plus metadata).
      
        NDB generates messages in the cluster log to
        describe the state of these buffers. Although these reports
        appear in the cluster log, they refer to buffers on API nodes
        (unlike most other cluster log messages, which are generated by
        data nodes).
      
Event buffer logging reports in the cluster log use the format shown here:
Nodenode_id: Event buffer status (object_id): used=bytes_used(percent_used% of alloc) alloc=bytes_allocated(percent_alloc% of max) max=bytes_availablelatest_consumed_epoch=latest_consumed_epochlatest_buffered_epoch=latest_buffered_epochreport_reason=report_reason
The fields making up this report are listed here, with descriptions:
            node_id: ID of the node where the
            report originated.
          
            object_id: ID of the
            Ndb object where the report
            originated.
          
            bytes_used: Number of bytes used
            by the buffer.
          
            percent_used: Percentage of
            allocated bytes used.
          
            bytes_allocated: Number of bytes
            allocated to this buffer.
          
            percent_alloc: Percentage of
            available bytes used; not printed if
            ndb_eventbuffer_max_alloc
            is equal to 0 (unlimited).
          
            bytes_available: Number of bytes
            available; this is 0 if
            ndb_eventbuffer_max_alloc is 0
            (unlimited).
          
            latest_consumed_epoch: The epoch
            most recently consumed to completion. (In NDB API
            applications, this is done by calling
            nextEvent().)
          
            latest_buffered_epoch: The epoch
            most recently buffered (completely) in the event buffer.
          
            report_reason: The reason for
            making the report. Possible reasons are shown later in this
            section.
          
Possible reasons for reporting are described in the following list:
            ENOUGH_FREE_EVENTBUFFER: The event buffer
            has sufficient space.
          
            LOW_FREE_EVENTBUFFER: The event buffer is
            running low on free space.
          
            The threshold free percentage level triggering these reports
            can be adjusted by setting the
            ndb_report_thresh_binlog_mem_usage
            server variable.
          
            BUFFERED_EPOCHS_OVER_THRESHOLD: Whether
            the number of buffered epochs has exceeded the configured
            threshold. This number is the difference between the latest
            epoch that has been received in its entirety and the epoch
            that has most recently been consumed (in NDB API
            applications, this is done by calling
            nextEvent() or
            nextEvent2()). The
            report is generated every second until the number of
            buffered epochs goes below the threshold, which can be
            adjusted by setting the
            ndb_report_thresh_binlog_epoch_slip
            server variable. You can also adjust the threshold in NDB
            API applications by calling
            setEventBufferQueueEmptyEpoch().
          
            PARTIALLY_DISCARDING: Event buffer memory
            is exhausted—that is, 100% of
            ndb_eventbuffer_max_alloc
            has been used. Any partially buffered epoch is buffered to
            completion even is usage exceeds 100%, but any new epochs
            received are discarded. This means that a gap has occurred
            in the event stream.
          
            COMPLETELY_DISCARDING: No epochs are
            buffered.
          
            PARTIALLY_BUFFERING: The buffer free
            percentage following the gap has risen to the threshold,
            which can be set in the mysql client
            using the
            ndb_eventbuffer_free_percent
            server system variable or in NDB API applications by calling
            set_eventbuffer_free_percent().
            New epochs are buffered. Epochs that could not be completed
            due to the gap are discarded.
          
            COMPLETELY_BUFFERING: All epochs received
            are being buffered, which means that there is sufficient
            event buffer memory. The gap in the event stream has been
            closed.