deviceinsight / activemq-artemis-helm

Helm Chart for ActiveMQ Artemis
Apache License 2.0
13 stars 13 forks source link

Address settings in configMap should not be sorted by name #6

Open wojtre opened 4 years ago

wojtre commented 4 years ago

Some settings require other settings to be already defined. The address settings in configMap are always sorted by name so there is no way to define the required order of settings. E.g. redeliveryCollisionAvoidanceFactor require redeliveryDelay or redeliveryDelayMultiplier to be already defined but the settings from .values

  • match: "statesQueue" settings: redeliveryCollisionAvoidanceFactor: '0.15' redeliveryDelayMultiplier: '1.5' redeliveryDelay: '5000' maxRedeliveryDelay: '30000' maxDeliveryAttempts: '-1'

are expanded into

   <address-setting match="statesQueue">
    <max-delivery-attempts>-1</max-delivery-attempts>
    <max-redelivery-delay>30000</max-redelivery-delay>
    <redelivery-collision-avoidance-factor>0.15</redelivery-collision-avoidance-factor>
    <redelivery-delay>5000</redelivery-delay>
    <redelivery-delay-multiplier>1.5</redelivery-delay-multiplier>
   </address-setting>

This problem probably applies to other settings from configMap like clustering.xml or clustering.xml

sflandergan commented 4 years ago

Seems we have to make a breaking change and replace our map structures with slices. Maps are always sorted by key within the go templates

sflandergan commented 4 years ago

@wojtre do you want to contribute the change?