DATALOSS QUEUE_LIMIT_EXCEEDED

The advisory reports dataloss. The reason is overflow of an event queue.

Details

The queue has discarded some events, in accordance with its property values.

Diagnoses

  • Lengthy processing in callbacks could delay prompt dispatch of the queue.
  • The program could not process the volume of inbound messages from its subscribers.
  • The program is starved for CPU cycles. Its host computer is too heavily loaded.
  • The maximum events limit of the event queue is too low.

Actions

Consider whether this behavior is reasonable and expected.

Report this advisory to an administrator.

Fields

Field Description
name DATALOSS
reason QUEUE_LIMIT_EXCEEDED
endpoints The string array value of this field lists the endpoints that could have lost data.

Although data loss occurs primarily in a transport, its symptoms could affect all endpoints that use the transport, and by extension, any subscriber on those endpoints. Furthermore, transport names are meaningful to administrators, but usually not available to programmers. This advisory field reports the set of all endpoints through which the program could access the problematic transport, according to the configuration in the local realm object.

aggregation_count The long value of this field reports the cumulative number of events that the queue discarded during the time interval (see aggregation_time).

The base library aggregates this count separately for each transport.

aggregation_time The double floating point value, in seconds, of this field indicates the length of the time interval for aggregating the incidents that aggregation_count reports.

The time interval ends shortly before the timestamp.

timestamp The DateTime value of this field indicates the time that the library generated the advisory.

Although DateTime values can represent time with nanosecond precision, the actual resolution of the timestamp is only as fine-grained as the host computer's operating system supports.