Skip to content

Releases: hiero-ledger/hiero-mirror-node

v0.15.0

15 Jul 14:46
a2f69ee
Compare
Choose a tag to compare

This release adds support for HCS topic fragmentation that will soon be rolled out to main nodes in the 0.6.0 release. For larger consensus messages that don't fit in the max transaction size of 6144 bytes, a standard chunk info header can be supplied to indicate how that message should be split into smaller messages. The Mirror Node now understands this chunk information and stores it in the database. Additionally, it will return this data when subscribing to the topic via the gRPC API. The Java SDK is being updated to automatically split and reconstruct this message as appropriate.

Other changes include optimizations around end to end latency of the gRPC API. This was accomplished mainly by adding a new NotifyingTopicListener that uses PostgreSQL's LISTEN/NOTIFY functionality.

Enhancements

  • Bump versions for v0.15.0 #867
  • Bump versions for v0.15.0-rc1 #862
  • Add a NotifyingTopicListener #860
  • Add PostgreSQL notification topic listener #859
  • Support topic message fragmentation with chunking of messages #856
  • Update JMeter Performance Test to Submit Transactions to Simulate High TPS #845
  • HCS Topic Fragmentation #838

Bug Fixes

Contributors

We'd like to thank all the contributors who worked on this release!

v0.15.0-rc2

13 Jul 15:53
6a43e2d
Compare
Choose a tag to compare
v0.15.0-rc2 Pre-release
Pre-release
Notify fixes (#863)

- Change notify reconnect to use a backoff
- Change unlisten to active on dispose of EmitterProcessor instead of longer processing chain
- Fix Hibernate trying to connect on startup to check if embedded database
- Fix incorrectly using EmitterProcessor
- Fix invalid json causing a reconnect

Signed-off-by: Steven Sheehy <[email protected]>

v0.15.0-rc1

10 Jul 19:59
b78d15c
Compare
Choose a tag to compare
v0.15.0-rc1 Pre-release
Pre-release
Bump versions for v0.15.0-rc1 (#862)

Signed-off-by: Steven Sheehy <[email protected]>

v0.14.1

29 Jun 19:01
f36f595
Compare
Choose a tag to compare

This release further optimizes the ingestion rate. Initial tests indicate a 2x to 3x improvement.

Enhancements

  • Bump versions for v0.14.1 #851

Bug Fixes

  • Optimize parser performance #850

Contributors

We'd like to thank all the contributors who worked on this release!

v0.14.0

27 Jun 22:14
f01351e
Compare
Choose a tag to compare

This release is all about performance optimizations. We reworked some of the foreign keys to improve the ingestion performance by a few thousand transactions per second. We also fixed an out of memory issue with the gRPC API and did some optimizations in that area.

Besides performance, we made some other small improvements. We now set topicRunningHashV2AddedTimestamp with a default value for mainnet, making it not fail on startup if a value is not provided. Containerized acceptance and performance tests were added, making it easier to test at scale.

Breaking Changes

We removed hedera.mirror.grpc.listener.bufferInitial and hedera.mirror.grpc.listener.bufferSize properties since we removed the shared poller's buffer.

We also renamed some tables and columns which would affect you if you directly use the database structure. We renamed t_transactions to transaction, t_cryptotransferlists to crypto_transfer and non_fee_transfers to non_fee_transfer.

Enhancements

  • Bump versions for v0.14.0 #846
  • Bump versions for v0.14.0-rc1 #842
  • Add Cloud Run Support for acceptance and perf test modules #841
  • Marketplace improvements and fixes #840
  • Rename t_transactions table to transaction #837
  • Kubernetes Test Run Job Logic #836
  • Marketplace: Add requester pays support #826
  • Followup of #817 #824
  • Marketplace: Configure requester pays #823
  • Containerize acceptance tests #822
  • Add GCP Marketplace user guide #821
  • Remove addition jmeter time assert of threads #819
  • Fixed up large db perf test flow #818
  • Remove foreign keys on entity id #817

Bug Fixes

  • Fix shared poller OOM #833
  • Shared poller stopped with OutOfMemoryError #827

Contributors

We'd like to thank all the contributors who worked on this release!

v0.13.2

18 Jun 17:46
12476c5
Compare
Choose a tag to compare

Bug fix release to fix an out of memory issue with the gRPC API.

Bug Fixes

  • Backport fix shared poller OOM to 0.13 #835

Contributors

We'd like to thank all the contributors who worked on this release!

v0.13.1

16 Jun 15:37
906eb11
Compare
Choose a tag to compare

Small bug fix release to address grpc NETTY issue blocking acceptance tests

Bug Fixes

  • Downgraded grpc netty shaded in test pom to unblock acceptance tests #831

Contributors

We'd like to thank all the contributors who worked on this release!

v0.13.0

15 Jun 15:08
4478f33
Compare
Choose a tag to compare

This release is a smaller release mainly focused on bug fixes with some minor enhancements. We added a new property hedera.mirror.importer.downloader.endpointOverride for testing. We also added hedera.mirror.importer.downloader.gcpProjectId to support specifying requester pays credentials with a personal account. Finally, we improved our Marketplace support getting us one closer to making it available.

Enhancements

  • Bump versions for v0.13.0-rc1 #815
  • Added missing gcpProjectId value to application.yml needed for startup #809
  • Update home README Getting Started Instructions #799
  • Add Container Support for large db perf tests #797
  • Add GCP Marketplace verification #795
  • Address review comments in PR 757 #794
  • GCP Requester Pays - add project id config #793
  • Home README needs Assumed Knowledge & PrerequisiteTool Install Requirements #790
  • Add Service Account Configuration to GCP Marketplace Schema #784
  • Add Service Account Configuration to GCP Marketplace Schema #776
  • Marketplace: Verification Process #737
  • Parser performance tests against large db #591

Bug Fixes

  • Fix balance file processing non-deterministically #798
  • Ensure 404 repsonse for unmatched routes #788
  • REST API Not Returning 404 on expected scenarios #751

Documentation

  • Utilize https protocol instead of git for easy repo cloning #806
  • Fix in readme #805

Contributors

We'd like to thank all the contributors who worked on this release!

v0.12.0

05 Jun 22:32
3551ff5
Compare
Choose a tag to compare

This feature release contains a few nice additions while fixing a few critical bugs. We made good progress on adding our application to Google Cloud Platform Marketplace. This should be wrapping up soon and enable a "one click to deploy" of the mirror node to Google's Cloud. Additionally, some extra fields were added to our APIs. We added runningHashVersion to the REST and GRPC APIs. Finally, we added transactionHash to the transaction REST API.

We improved the importer ingestion rate from 3400 to 5600 transactions per second in our performance test environment. There's still room for improvement and we plan on making additional performance optimizations in an upcoming release.

Breaking Changes

We added an option to keep signature files after verification. By default, we no longer store signatures on the filesystem. If you'd like to restore the old behavior and keep the signatures, you can set hedera.mirror.importer.downloader.record.keepSignatures=true and hedera.mirror.importer.downloader.balance.keepSignatures=true.

We changed the bypass hash mismatch behavior in this release. Bypassing hash mismatch could be used in combination with other parameters to fast forward mirror node to newer data or to overcome stream resets. Previously you had to specify this via a database value in t_application_status. Since this data is not application state but considered more a user supplied value, we added a new property hedera.mirror.importer.verfiyHashAfter=2020-06-05T17:16:00.384877454Z for this purpose.

Enhancements

  • Bump to v0.12.0 #814
  • Cherry pick 794 and bump v0.12.0-rc1 #807
  • Bump versions for v0.12.0-beta1 #782
  • Enable reWriteBatchedInserts in driver #781
  • Fix PostgreSQL network config in marketplace #775
  • Add option to archive verified signature files #772
  • Removed subscribe flag as acceptance test and updated cucumber version #768
  • Configure Postgres Charts for Marketplace deployment #766
  • Add runningHashVersion to REST and GRPC APIs #765
  • Add consensusTimestamp attribute to PubSub messages #764
  • Set default topicRunningHashV2AddedTimestamp based on network #763
  • Add consensus_start and consensus_end to t_record_files #762
  • Change hash mismatch bypassing from state to config based #757
  • Add transactionHash to /transactions REST api #755
  • Stop polling bucket when finished downloading demo data #753
  • Remove @SubscribeOnly Flag Test from @Acceptance Suite of HCS Tests #752
  • Include 3rd party licenses and source in container images #750
  • Include 3rd party licenses and source in images #746
  • Default topicRunningHashV2AddedTimestamp #745
  • Add Application resource for Google Cloud Marketplace #744
  • Added deployer folder structure with schema and docker file #740
  • Marketplace: Helm Deployer image #736
  • Marketplace: Application custom resource #735
  • Add consensus_ns of first and last transactions in t_record_files #724
  • Add transactionHash to Transaction API #720
  • Expose new receipt.topicRunningHashVersion in REST & GRPC API's #707
  • HederaETL: Implement deduplication cron job #666
  • Archive verified signature files #510
  • Unable to change bypass hash mismatch property #249
  • Elasticsearch metrics integration #81

Bug Fixes

  • Fix docker skip deployer circle ci #783
  • Fix chart in GKE #769
  • Fix failed crypto transfers with non-fee transfers enabled crashing importer #767
  • Update Spring Boot to 2.2.7 to fix NPE in GRPC #748
  • NPE in Reactor Netty #739
  • Crash importing records into non_fee_transfers #647

Documentation

  • Update parser design doc #743

Contributors

We'd like to thank all the contributors who worked on this release!

v0.11.0

15 May 19:55
90c6de7
Compare
Choose a tag to compare

This release was mainly focused on refactoring code and properties as a necessary step for future enhancements. We also continued making improvements to our Kubernetes support. To that end, we added Prometheus REST metrics, Helm tests and Mirror Node can now run in GKE.

We added a new parameter to all of the topic related REST APIs to return a topic message in plaintext instead of binary. Messages submitted to HAPI are submitted as binary and stored in the Mirror Node that way as well. If you know the messages are actually strings encoded in UTF-8, then you can set encoding=utf-8 and the REST API will make a best effort conversion to string. By default or if you pass a query parameter of encoding=base64, it will return the message as base64 encoded binary.

Breaking Changes

Please note when upgrading that we made major breaking changes to the naming of our configuration properties. We've renamed all hedera.mirror.api properties to hedera.mirror.rest. We also renamed the properties apiUsername to restUsername and apiPassword to restPassword to reflect that as well. Any properties that were used by the importer module were renamed to be nested under hedera.mirror.importer. We apologize for any inconvenience.

We've removed the hedera.mirror.addressBookPath property in favor of a hedera.mirror.importer.initialAddressBook property. The former was overloaded to be both the initial bootstrap address book and the live address book being updated by file transactions for 0.0.102. The live address book is now hardcoded to ${hedera.mirror.importer.dataPath}/addressbook.bin and cannot be changed.

The REST API to retrieve a topic message by its consensus timestamp now supports both a plural (/topics/messages/:consensusTimestamp) and singular (/topic/message/:consensusTimestamp) URI path. The singular format is deprecated and will be going away in the near future, so please update to the plural format soon.

We removed the singular form of a few alpha topic REST APIs. The /topic/:id/message API was removed in favor of the plural form /topics/:id/messages. Similarly, the /topic/:id/message/:sequencenumber API was removed in favor of its plural form /topics/:id/messages/:sequencenumber. Please update accordingly.

Enhancements

  • Prepare for v0.11.0 #760
  • Automate versioning and prepare for v0.11.0-rc1 #742
  • Auto Clean up old master images in GCR #734
  • Lint and template helm charts #731
  • Add PubSub integration tests #729
  • Homogenize integration test setup #728
  • Added running_hash_version migration #726
  • Record Parser file reorg #725
  • Update protobuf for Hedera Node 0.5.0 #722
  • Update protobuf for Hedera Node 0.5.0 #721
  • Add initialAddressBook property #719
  • Add Helm tests #718
  • Fixes to run in GKE #716
  • Separate configuration properties by project #715
  • Add missing transactionType to PubSubMessge #714
  • Change 'left outer join' to 'join' with t_cryptotransferlists #706
  • PubSub exporter integration tests and docs #705
  • Topic message format support for UTF8 message encoding #704
  • Support UTF encoding of Topic Message Results #703
  • Configure bootstrap address book path #697
  • Consume REST Swagger Prometheus Formatted Metrics #691
  • Auto Clean up old master images in GCR #689
  • Store new receipt.topicRunningHashVersion #688
  • Kubernetes: Manual Deployment to GKE #669
  • Kubernetes: Helm chart CI #654
  • Kubernetes: Helm chart tests #653
  • Nest module properties under a module specific path #416
  • Remove the 'left outer join' from the queries in the transactions queries #136

Bug Fixes

  • Add awaitjs and swagger missing rest api bundle dependencies #733
  • Utilize plural rest api endpoints without breaking support #710
  • Topic REST API Endpoints utilize both singular and plural paths #700

Documentation

  • Add pubsub docs. Minor properties refactor #741

Contributors

We'd like to thank all the contributors who worked on this release!