* fix(boost): never re-stage poller output when boost_redirect is on
#8332 gated the boost_redirect bypass in boost_poller_on_demand() on the
caller not passing $staged. process_poller_output() always passes it, so
the bypass never fired and the main poller re-inserted every row spine or
cmd.php had already written to poller_output_boost, flooding the log with
"Boost staging ignored N of N duplicate sample keys" warnings.
When boost_redirect is enabled the poller now never inserts into
poller_output_boost and reports the rows as staged so they are cleared
from poller_output. poller_recovery.php writes recovered remote rows via
boost_flush_output_batch() directly and is unaffected.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: TheWitness <thewitness@cacti.net>
* chore(changelog): use changelog.d fragment for #8374
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: TheWitness <thewitness@cacti.net>
* fix(boost): log failed poller_output_boost staging as an ERROR
boost_flush_output_batch() returned false silently when the database did
not acknowledge a chunk. cmd.php's boost_redirect staging ignores that
return, so a failed collector-side write left no trace. Log a BOOST ERROR
with the sample count from the helper so every caller's failure is visible.
Adds in-process coverage for the failure log and for boost_poller_on_demand()
never re-staging rows when boost_redirect is on.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: TheWitness <thewitness@cacti.net>
---------
Signed-off-by: TheWitness <thewitness@cacti.net>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix(poller): retain output until bounded storage batches succeed
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* test(poller): refresh SQL audit after exact-key acknowledgements
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* test(boost): preserve handoff contracts with explicit acknowledgements
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* fix(poller): retain failed timestamp ordering across batches
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* fix(poller): acknowledge complete timestamp groups together
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* fix(poller): retry failed source metadata reads on develop
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* fix(poller): preload standalone script exclusions once per process
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* fix(poller): bound metadata failures and validate acknowledgement queries
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
---------
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>