ar-io / arns-service

Koa microservice that leverages Warp to support the ArNS Portal and ar.io observers.
https://api.arns.app
GNU Affero General Public License v3.0
19 stars 4 forks source link

feat(s3): bootstrap the cache from S3 #94

Closed dtfiedler closed 6 months ago

dtfiedler commented 6 months ago

This speeds up the time to load various contracts, we will later add updating the cache on shutdown or something similar.

Logs:

{"level":"info","message":"Bootstrapping warp cache from S3","params":{"Bucket":"arns-warp-cache","Key":"cache"},"timestamp":"2024-01-17T01:09:08.598Z"}
{"keepAliveTimeout":180000,"level":"info","message":"Server is listening...","port":3000,"requestTimeout":180000,"timestamp":"2024-01-17T01:09:08.604Z"}
{"durationMs":8367,"level":"info","message":"Successfully bootstrapped warp cache from S3","timestamp":"2024-01-17T01:09:16.961Z"}
{"contractTxIds":["bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U","fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ"],"level":"info","message":"Pre-fetching contracts...","timestamp":"2024-01-17T01:09:16.962Z"}
{"contractTxId":"bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U","level":"info","message":"Pre-fetching contract state...","startTimestamp":1705453756962,"timestamp":"2024-01-17T01:09:16.962Z"}
{"contractTxId":"fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ","level":"info","message":"Pre-fetching contract state...","startTimestamp":1705453756976,"timestamp":"2024-01-17T01:09:16.976Z"}
{"contractTxId":"fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ","durationMs":1223,"level":"info","message":"Successfully prefetched contract state","timestamp":"2024-01-17T01:09:18.199Z"}
{"contractTxId":"bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U","durationMs":1339,"level":"info","message":"Successfully prefetched contract state","timestamp":"2024-01-17T01:09:18.301Z"}
{"contractTxIds":["bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U","fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ"],"durationMs":1340,"level":"info","message":"Finished pre-fetching contracts","success":true,"timestamp":"2024-01-17T01:09:18.302Z"}

Previous boot times were > 10 mins to load both these contracts.