Releases: hiero-ledger/hiero-mirror-node
v0.15.0
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
- Notify fixes #863
Contributors
We'd like to thank all the contributors who worked on this release!
v0.15.0-rc2
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
Bump versions for v0.15.0-rc1 (#862) Signed-off-by: Steven Sheehy <[email protected]>
v0.14.1
v0.14.0
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
Contributors
We'd like to thank all the contributors who worked on this release!
v0.13.2
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
v0.13.0
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
Contributors
We'd like to thank all the contributors who worked on this release!
v0.12.0
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
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!