Skip to content

Queue details view shows stale Redis statistics #218

@Rua-Yuki

Description

@Rua-Yuki

Node version: 10.19.0
Arena version: 2.8.1
Bull version: 3.13.0
ioredis version: 4.16.3


The queue details view appears to present stale data within the "Redis Statistics" table.

Metrics shown are consistent throughout the life of a given Arena middleware instance and fail to update as additional clients connect and resources are used: connected_clients, used_memory, and other fields do not reflect the current state of Redis, but rather the state upon first loading.

This issue appears to stem from the reliance on an undocumented behaviour of the queue's Redis client, which is evidently no longer demonstrated given the current ioredis release.

It seems a helper assumes that issuing a Redis INFO query has the client's serverInfo object updated:

await queue.client.info(); // update queue.client.serverInfo
const stats = _.pickBy(queue.client.serverInfo, (value, key) => _.includes(this._usefulMetrics, key));

Unfortunately such is not the case, and ioredis updates the serverInfo object only after initially entering a ready state, and only provided enableReadyCheck is truthy.

Due to the inconsistency regarding this serverInfo field, I suggest the result of the INFO query be parsed directly to extract the necessary information and ensure up-to-date stats are presented.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions