github newrelic/infrastructure-agent 1.12.2

latest releases: 1.52.2, 1.52.1, 1.52.0...
3 years ago

Notes

A new version of the agent has been released. Follow standard procedures to update your Infrastructure agent.

Fixed

  • PR-59 This fixes inventory errors showing up on the log for "DEBUG" level with message "error field deltas not in expected order: have delta ID XXX, want YYY".
Context

Inventory deltas are JSON diffs and they need to be applied in order aiming to provide a consistent state. Both New Relic agent & platform stored their latest delta ID received/submitted.

This delta ID is incremented in each plugin entity inventory submission to platform.

When these IDs go out of sync between agent and platform, the later provides its latest known ID for the given inventory plugin & entity. Then a reconciliation process is run by the agent for that plugin so next ID will match expected platform one.

Root cause

For remote (non host) entities the agent side didn't store delta IDs in a per entity basis as platform did. This means for a given inventory plugin or integration providing more than 1 entity there'll be delta ID order issues, which are only seen on agent's DEBUG level (verbose mode > 0).

At some point all data will usually be submitted as reconciliation process attempts to fix this. But for high load integrations producing multiple remote entities this reconciliation process will be triggered every time an entity needs to be submitted as for each of them platform keeps a record, while agent recorded ID in a per plugin basis. Therefore for high-load integrations agent reconciliation process might enter in race-condition loop trying to fix these delta IDs.

Fix

This release fixes this behaviour by keeping track of delta IDs in the same way platform does (in a per plugin & entity basis).

As state might be stored in disk for inventory deltas, in case any integration had it persisted before the fix it'll take a reconciliation run per entity to fix agent locally stored IDs. In this case you might still see some log entries, but they'll be gone during their first submissions.

Don't miss a new infrastructure-agent release

NewReleases is sending notifications on new releases.