github ar-io/ar-io-node r61
Release 61

one day ago

This release addresses potential memory growth issues observed on some r60 nodes by converting unbounded caches to bounded LRU caches and adding cleanup for stale peer chunk queues. Users currently on r60 experiencing memory issues should upgrade. Users on earlier releases may want to wait until these improvements have been confirmed in production.

Changed

  • Observer Performance Improvements: Updated bundled observer with chunk verification optimizations ported from ar-io-node
    • TX path Merkle proof parsing eliminates 7-10 API calls per chunk by extracting transaction boundaries directly from tx_path
    • Pre-computed offset-to-block mapping narrows binary search range by 97-99% (from ~1.8M to ~26K blocks)

Fixed

  • Memory Leak Prevention: Address potential memory growth vectors identified during OOM investigation on low-memory nodes
    • Add hourly cleanup of stale peerChunkQueues entries for peers no longer in the active peer list (only removes idle queues)
    • Convert blockByHeightPromiseCache and txPromiseCache from unbounded NodeCache to LRUCache with size limits (1000 blocks, 10000 transactions)
    • Convert SQLite dedupe caches (insertDataHashCache, saveDataContentAttributesCache) from unbounded NodeCache to LRUCache (10000 entries each)
    • Add arweave_peer_chunk_queues_size Prometheus gauge for monitoring

Docker Images

Image SHA
ar-io-core b92874f2c9442b399ad27ab2c09c13fead654b35
ar-io-envoy 4755fa0a2deb258bfaeaa91ba3154f1f7ef41fda
ar-io-observer 0380592e095cd7bf645f6d132b97301d2dad8101
ar-io-litestream be121fc0ae24a9eb7cdb2b92d01f047039b5f5e8
ar-io-clickhouse-auto-import 4512361f3d6bdc0d8a44dd83eb796fd88804a384

Don't miss a new ar-io-node release

NewReleases is sending notifications on new releases.