github hashgraph/hedera-mirror-node v0.112.0

latest releases: v0.117.0, v0.117.0-rc1, v0.116.1...
2 months ago

Our sharded database, Citus, saw some major performance improvements that should make it suitable for a replacement for our production instances. Transaction hash look-ups saw a speed boost due to the addition of a new distribution_id column used to target the appropriate shard. A performance bottleneck caused by the use of SSL for communication between the coordinator and workers was identified and remediated. This change alone provides dramatic improvements across the board. The coordinator connection pool to the workers saw a boost as well, again improving overall query performance. After seeing some memory problems due to the increase in query volume, we adjusted the worker_mem lower to a more appropriate level. Finally, we enabled topic message lookup in the REST API to improve the performance of the topic message endpoints.

This release continues the theme of improving test maintainability. There were a large number of tasks that refactored the web3 tests to use the web3j contract wrappers. This change will also help reduce the runtime of the tests and increase our security by not storing solidity binary files in source control. Similarly, a new RecordFileDownloaderPerformanceTest was added to provide a foundation for further performance testing. This class can bulk generate record, sidecar, and signature files using a declarative configuration and feed the data into the importer to test its performance. Such capability will be used in the future to perform 10K TPS performance testing in CI to improve our release velocity.

Finally, we started the process of converting our REST spec tests from the hedera-mirror-rest module to the hedera-mirror-rest-java module. Porting this test framework over will allow us to migrate our APIs from JavaScript to Java one by one. For now, it's running against a REST container image but once it supports all specs we'll change this to run the specs against the new rest-java API implementations.

Enhancements

  • Adjust some stackgres charts configs (0.112) #9122
  • Refactor ContractCallServiceERCTokenTest read only redirect functions #9042
  • Implement additional single-entity builders and run more spec tests #9038
  • Rosetta return generic unknown operation type for future transaction types #9030
  • Refactor ContractCallSystemPrecompileTest #9028
  • Refactor selfDestruct integration tests #9027
  • Add a RecordFileDownloaderPerformanceTest #9021
  • Refactor ContractCallAddressThisTest #9014
  • Handling numeric values for EntityId query parameters #9009
  • Refactor ContractCallServiceERCTokenTest #8985
  • Calculate acceptance test operator balance from USD #8957
  • Refactor ContractCallNestedCallsTest #8955
  • Port REST specs to Java, phase 1 #8799

Bug Fixes

  • Disable postgres SSL to fix random query timeout (0.112) #9178
  • Retain existing allowance (spender) columns when updating NFT metadata (0.112) #9119
  • Enable topic message lookup in rest api for v2 (0.112) #9104
  • Use owner in backfill ethereum transaction hash migration (0.112) #9081
  • Fix web3 helm test #9064
  • Fix disabled opcode endpoint not returning 404 #9046
  • Fill ethereum hash when missing in record #9019
  • Fix case sensitive array query parameters #8988
  • Fix accounts REST API error with some query params #8972
  • Improve transaction hash v2 performance #8970
  • Fix exchange rate rounding issue in acceptance tests #8968

Documentation

  • Fixing admin_key rest example in the design #9063

Dependency Upgrades

  • Bump docker/build-push-action from 6.6.1 to 6.7.0 #9061
  • Bump io.projectreactor:reactor-core-micrometer from 1.1.8 to 1.1.9 #9060
  • Bump com.google.guava:guava from 33.2.1-jre to 33.3.0-jre #9059
  • Bump jooqVersion from 3.19.10 to 3.19.11 #9058
  • Bump software.amazon.awssdk:bom from 2.27.2 to 2.27.7 #9057
  • Bump com.google.cloud:spring-cloud-gcp-dependencies from 5.5.0 to 5.5.1 #9056
  • Bump mapStructVersion from 1.5.5.Final to 1.6.0 #9055
  • Bump flywayVersion from 10.17.0 to 10.17.1 #9054
  • Bump @aws-sdk/client-s3 from 3.627.0 to 3.633.0 in /hedera-mirror-rest #9053
  • Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.0 in /hedera-mirror-rosetta #9052
  • Bump github.com/ory/dockertest/v3 from 3.10.0 to 3.11.0 #9008
  • Bump eslint-plugin-jest from 28.7.0 to 28.8.0 in /hedera-mirror-rest #9006
  • Bump sql-formatter from 15.3.2 to 15.4.0 in /hedera-mirror-rest #9005
  • Bump @aws-sdk/client-s3 from 3.623.0 to 3.627.0 in /hedera-mirror-rest #9004
  • Bump google-github-actions/auth from 2.1.3 to 2.1.4 #9003
  • Bump actions/setup-java from 4.2.1 to 4.2.2 #9002
  • Bump step-security/harden-runner from 2.9.0 to 2.9.1 #9001
  • Bump step-security/semver-utils from 3.1.0 to 4.3.0 #9000
  • Bump docker/build-push-action from 6.5.0 to 6.6.1 #8999
  • Bump actions/upload-artifact from 4.3.5 to 4.3.6 #8998
  • Bump google-github-actions/setup-gcloud from 2.1.0 to 2.1.1 #8997
  • Bump github.com/hashgraph/hedera-sdk-go/v2 from 2.42.0 to 2.43.0 in /hedera-mirror-rosetta #8996
  • Bump io.freefair.gradle:lombok-plugin from 8.6 to 8.7.1 #8995
  • Bump org.apache.commons:commons-compress from 1.26.1 to 1.27.0 #8994
  • Bump com.hedera.hashgraph:sdk from 2.36.0 to 2.37.0 #8993
  • Bump software.amazon.awssdk:bom from 2.26.29 to 2.27.2 #8992
  • Bump io.grpc:grpc-bom from 1.65.1 to 1.66.0 #8991
  • Bump boxen from 8.0.0 to 8.0.1 in /hedera-mirror-rest/check-state-proof #8990
  • chore: migrate actions to step-security maintained versions #8954

Deployments

  • Fix previewnet-citus reset behavior #9131
  • Fix previewnet reset behavior #9128
  • Deploy 0.112.0-rc3 to mainnet-staging #9127
  • Deploy v0.112.0-rc3 to previewnet #9124
  • Deploy 0.112.0-rc2 to performance and mainnet-staging #9085
  • Deploy v0.112.0-rc2 to previewnet #9083
  • Deploy 0.112.0-rc1 to performance and mainnet-staging. #9069
  • Deploy v0.112.0-rc1 to previewnet #9068
  • increase storage size for shard 1 #9051
  • increase storage size for shard 2 #9050
  • Update testnet-citus connection config #9045
  • Update previewnet-citus connection config #9044
  • Set start timestamp for backfill transaction hash migration in staging mainnet-citus #9043
  • Disable NFT Acceptance Tests for Mainnet Staging In V1 and V2 #8986
  • Update non Production Environments for 0.111.0-rc3 #8981
  • Deploy v0.110.2 to mainnet-eu #8979
  • Upgrade mainnet-na to v0.110.2 #8978
  • Deploy v0.110.2 to testnet-eu #8977
  • Increase loki volume size in mainnet-na #8969
  • Enable cluster state reconciliation in testnet-na #8966
  • Enable cluster state reconciliation in previewnet #8965
  • Enable cluster state reconciliation in testnet-eu #8964
  • Deploy 0.110.1 to mainnet-na #8963

Contributors

Thank you to all the contributors who worked on this release:

@IvanKavaldzhiev
@bilyana-gospodinova
@isavov
@jascks
@jnels124
@kselveliev
@mgoelswirlds
@nickeynikolovv
@steven-sheehy
@xin-hedera

Don't miss a new hedera-mirror-node release

NewReleases is sending notifications on new releases.