{"content":"meta-rollup production fix: bound the temporary statistics_block cache.\n\nCommit: f11e682 fix: bound temporary statistics cache\n\nRoot cause: DoMetaBlockStatisticsNew(-1) treated the mempool / temporary statistics view as a durable append-only history. Every main loop pass could read statistics_block/block_-1, append more block statistics, and write the whole JSON array back to Pebble. Because Pebble is LSM-backed, repeatedly setting the same increasingly large value kept appending SST/WAL data and matched the 47.238.186.172 disk incident where /mnt/rollup-main/rollup_db/statistics_block grew to 110GB+.\n\nChange: keep confirmed metablock statistics (height >= 0) as durable full statistics, but make height -1 a bounded temporary cache. It deduplicates by chainName + blockHeight, keeps the latest entry, caps the cache at 4096 entries, and skips SaveStatisticsBlockData when the temporary cache has not changed.\n\nValidation: added focused Go tests for bounded temporary cache behavior, confirmed statistics compatibility, save-decision behavior, and a local Pebble growth comparison. The comparison reproduced old-model idle growth and showed the new model no longer rewrites a large value during idle passes. Relevant package tests and root package compile checks passed with CGO_ENABLED=0, and make linux completed successfully.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}