explorer 1.5.38 -> 1.5.39 (a chain's tables are counted once)

The homepage's four headline cards are lifetime totals, and none of them can
use an index, so each one scanned a table. With every caller computing its own
copy over a shared pair of connections, concurrent loads queued behind each
other for longer than a browser waits, and the cards stayed empty.
This commit is contained in:
zooqueen
2026-08-13 21:29:48 -07:00
parent 8b459edfd5
commit eabebf59fb
+9 -7
View File
@@ -44,17 +44,19 @@ selectorLabels:
network: mainnet
image:
repository: ghcr.io/luxfi/explorer
tag: 1.5.38
# 1.5.27 carries graph v1.2.31, which reads what a token's supply is. Market
# cap and fully diluted value printed a dash on every token page but LUX and
# ZOO: a row that already had a symbol was taken as finished, so no token
# indexed before the supply read existed was ever asked again. A start now
# asks for what is missing, and a supply is whole tokens whatever its source.
tag: 1.5.39
# 1.5.39 counts this chain's tables once and holds the answer instead of
# scanning them again for every caller. The homepage asks for lifetime totals,
# and none of them can use an index — SQLite keeps no row count, and the day
# bucket and epoch bound are expressions over a TEXT datetime — so on a
# million blocks the four headline cards cost seconds each and queued behind
# one another on this pod's connections. Measured at 300k blocks: 489ms per
# call, and 32 at once took 47s; now 6µs and 0.2ms.
#
# The tag is how a human says it; the digest is what the kubelet obeys. With
# pullPolicy: IfNotPresent a node that has seen a tag keeps those bytes, and
# ghcr tags are mutable, so the digest is the only exact identity.
digest: sha256:5edec6f6ee36f08f679bba8395015d1c5e7dc53767071646666a2b128de8d1df
digest: sha256:83e0c4c6460342c3c4b34b50f59de83417df3a92e04f7b0f8846b556078e7405
pullPolicy: IfNotPresent
labels:
network: mainnet