v0.81.0 #6071
steven-sheehy
started this conversation in
Releases
v0.81.0
#6071
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This release comes with a number of improvements to support the JSON-RPC Relay. We now support alias and EVM address lookups for the
account.id
parameter on the balances endpoint. We optimized the transaction nonce filtering in/api/v1/contracts/{id}/results
by denormalizing the data. Finally, an issue with emptyfunction_parameters
in/api/v1/contracts/results/{id}
response was addressed.The other big item we worked on was support for volume level compression with Citus. We know that the type of time series data the mirror node stores would be highly compressible and we wanted to use that to our advantage to both reduce increasing storage costs and improve read/write performance. PostgreSQL supports a basic form of compression at the column level called TOAST, but it only takes effect for very large columns. Citus has compression when using their columnar storage access method, but we found it to be too slow for our needs. Since with Citus we knew we wouldn't be using a SaaS service we had more control over the database deployment, so we decided to experiment with Kubernetes volume compression. By creating custom Kubernetes node pools exclusively for Citus, we could install ZFS via the zfs-localpv and enable Zstandard compression on the database's underlying volume. The results were a 3.6x compression ratio with zero loss in performance. To put into perspective, that means the current mainnet database size of 17TB could be reduced to 4.7TB.
Other areas of improvement include improving documentation around disaster recovery efforts. This includes a runbook on restoring a mirror node from backup. There's also a runbook on how to perform local stream file verification. Acceptance tests have been previously integrated into the automated deployment process but suffered from a long execution time mainly due to using Gradle to download dependencies at runtime. We containerized the acceptance tests so the dependencies are downloaded at build time reducing runtime by 3-4x.
Enhancements
/api/v1/contracts/{id}/results
#5934eth_estimateGas
optional #5900TokenRelationship
model from services #5814TokenRelationship
store model intohedera-mirror-web3
#5758Bug Fixes
/contracts/results/{id}
response #5958Documentation
Dependency Upgrades
@aws-sdk
/client-s3 from 3.328.0 to 3.332.0 in /hedera-mirror-rest #5993@aws-sdk
/client-s3 from 3.321.1 to 3.328.0 in /hedera-mirror-rest #5968Contributors
We'd like to thank all the contributors who worked on this release!
This discussion was created from the release v0.81.0.
Beta Was this translation helpful? Give feedback.
All reactions