Skip to content

Releases: th2-net/th2-mstore

Release 4.1.0

21 Sep 19:28
4100f9c
Compare
Choose a tag to compare

What's new in release 4.1.0

New features

Message persistence parallelism control

Introduced internal queue for storing message batches. Message batches from RabbitMQ are placed to this queue and stored to cradle. This queue is configuration limited by batch count and batch sizes at the same time. No new message batch can be added to this queue if queue limits are reached. This prevents mstore from encountering OOM exceptions when many large message batches were stored in parallel, reaching mstore heap limits.

Persistence retries

mstore can be configured to retry message batch persistence in case of failure.

Message ordering verification improvement

For verification purposes when message with new session/direction is handled mstore tries to load its sequence and timestamp from cradle. This is helpful on cold start/restart to verify previous session continuity

Prometheus metrics

Collecting various performance metrics for exporting to Prometheus.

Other

  • Fixed Unicode string serialization / deserialization bug
  • Common library has been updated to 3.39.3
  • Cradle library has been updated to 3.1.3

Release 3.6.0

13 Apr 09:56
b850dbb
Compare
Choose a tag to compare

What's new in release 3.6.0

New features

Added parameters drain-interval and termination-timeout to custom-settings section

The messages rebatching feature provides the ability to collect several small message batches into one according to the actual value of cradle property cradleMaxMessageBatchSize, the default value is 1MB.
Mstore doesn't split incoming batches into messages and can glue whole batches only. Drain interval - interval in milliseconds to drain all aggregated batches that are not stored yet, the default value is 1000. Termination timeout - timeout in milliseconds to wait for the inner drain scheduler to finish all the tasks, the default value is 5000.

Use timeout property from cradle_manager.json

Mstore uses some cradle settings during work.
Timeout defines the maximum limit in milliseconds for inserting new data into the cradle. If set to 0 or omitted, the default value of 5000 is used.
Max message batch size (cradleMaxMessageBatchSize) is used by mstore to implement rebatch feature.

Check message timestamp growing

Sequence and timestamp of incoming messages should always grow within the session alias and direction. Mstore already checks sequences growing, this version also checks timestamp growing. Mstore rejects the whole batch if the sequence number or timestamp of the first message is less or equal options than the last stored message.

store-common is not needed anymore

There were some common methods for converting and storing. Needed methods were moved to mstore and redundant dependency was removed.

Bug fixes

Disable waiting for connection recovery when closing the SubscribeMonitor

Dependency on the common library has been updated from 3.13.4 to 3.35.0 and cradle from 2.9.1 to 2.21.0.

Other

  • Logging improvements

Full Changelog: v2.3.0-beta...v3.6.0

v2.3.0-beta

28 Nov 16:21
2cb34ea
Compare
Choose a tag to compare

Version for demo-configuration and demo-script.