mirror of
https://github.com/apache/activemq-artemis.git
synced 2025-02-21 01:15:50 +00:00
This commit fixes 3 distinct issues with bridge configuration encoding: - The encoding size was calculated incorrectly in three ways: - Using 0 instead of `DataConstants.SIZE_NULL` when no transformer is defined resulting in a calculated size discrepancy of -1. - Using `DataConstants.INT` instead of `DataConstants.SIZE_INT` for the number of transformer properties resulting in a calculated size discrepancy of +2 when using a configuration with a transformer. - Using 0 or `sizeOfNullableInteger` instead of `DataConstants.SIZE_INT` for the number of static connectors resulting in a variable calculated size discrepancy of either -4 or +1 respectively. - Encoding was using `writeString` instead of `writeNullableString` for the name of the transformer class resulting in an actual buffer size discrepancy of -1. Aside from these fixes this commit also adds new tests specifically for encoding & decoding include a test to verify known bytes during encoding. Lastly, it's worth noting that this *won't fix* bad data that was already stored to disk by an older broker or bad data that comes over the wire from an older broker (e.g. if a older primary broker paired with a newer backup).