Skip to content

v6.0.0-alpha.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@MattyJ007 MattyJ007 released this 12 Jan 12:23
· 420 commits to master since this release
2b2e578

Routing Refactors

The routing refactoring changes made various changes to how the routing engine works within the OpenHIM. Previously, all payload messages were kept in memory while routing the transaction through to its destinations. While for small transactions this is fine when bigger transactions are processed the OpenHIM can run out of memory and cause performance issues.

The OpenHIM also had to wait for the entire message to be read into memory before continuing the routing process, and the same applies to the response. They would need to be processed completely before responding to the client.

To combat these issues, we are not reading the entire incoming/outgoing payload into memory, but instead streaming it directly into MongoDB GridFS. This also allows us to remove the body truncate limit for storing payloads as the MongoDB limit of 16mb no longer applies.

Note: Some features have been temporarily dropped while developing these refactoring changes and will be coming back in the future, proved there is still a need for them.