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(sqlite): move from warp-contracts-lmdb to warp-contracts-sqlite #60

Closed dtfiedler closed 9 months ago

dtfiedler commented 9 months ago

Were seeing state corruption in lmdb implementation. An issue was created with warp-contracts-lmdb, but for now we will migrate to sqlite.

Related: https://github.com/warp-contracts/warp-contracts-lmdb/issues/26

Example log:

cacheKey":"fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ-priceForInteraction-dbf5a69f55ab199c955d1c4df17aaf990435ea2b65e17c5aaa08af851b6dea27-7be80150a81463abc033a504e0ba48cd4ea8f93bdecb29b3e0d096ed09268237","contractTxId":"fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ","errorMessage":"Error: Database is not open\n    at maybeOpened (/usr/src/app/node_modules/abstract-level/abstract-level.js:133:18)\n    at /usr/src/app/node_modules/abstract-level/abstract-level.js:160:13\n    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","functionName":"priceForInteraction","input":{"interactionName":"increaseUndernameCount","name":"hoogerypokery","qty":278},"level":"error","message":"Read interaction failed!","method":"GET","path":"/v1/contract/fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ/read/priceForInteraction","timestamp":"2023-11-20T22:24:40.671Z","trace":"6d2304"}
2023-11-20 16:24:40 
    error: 'Error: Database is not open\n' +
2023-11-20 16:24:40 
2023-11-20T22:24:40.670Z FATAL [HandlerBasedContract] Error while interacting with contract [
2023-11-20 16:24:40 
{"error":"Error: Database is not open\n    at maybeOpened (/usr/src/app/node_modules/abstract-level/abstract-level.js:133:18)\n    at /usr/src/app/node_modules/abstract-level/abstract-level.js:160:13\n    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","level":"error","message":"Error processing request.","method":"GET","path":"/v1/contract/fbU8Y4NMKKzP4rmAYeYj6tDrVDo9XNbdyq5IZPA31WQ/read/priceForInteraction","timestamp":"2023-11-20T22:24:40.669Z","trace":"7f17b9"}
2023-11-20 16:24:40
dtfiedler commented 9 months ago

we may not need this - holding off for now until we can confirm LMDB is not capable of handling our increasing workload