Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-10745

HornetQ Rollup fixing lock on delivery, scan on paging during startup, negative counters and SSL, etc

    Details

    • Type: Support Patch
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: EAP_EWP 5.2.0
    • Fix Version/s: One Off Releases
    • Component/s: HornetQ
    • Labels:
      None
    • Environment:

      JBoss EAP 5.2

    • SVN / CVS Isolated Branch:
      git clone git://github.com/hornetq/hornetq-oneoffs.git; cd hornetq-oneoffs; git checkout oneoff-HornetQ_2_2_24_EAP5_2_JBPAPP_10745
    • Patch Instructions:
      Hide
      PATCH NAME:
      JBPAPP-10745
      PRODUCT NAME:
      JBoss Enterprise Application Platform (EAP)
      VERSION:
      5.2.0
      SHORT DESCRIPTION:
      This patch is fixing several issues around locking the queue during delivery and scanning for expired messages during startup what could lead to negative paging counters and message loss.

      LONG DESCRIPTION:

      Here is a list of changes including on JBPAPP-10695 (previous patch):

      -HORNETQ-408 - Revamp SSL (cf51bc545eaed0b3deb9900ecd0a92373a1c4cbc)
      -HORNETQ-763 - delivering refs management operation (3812ee77100c473489f72f36e5078a56d37e5c19, ac1f78d0f25cf5aa330ee0b28dd143469bee1650)
      -HORNETQ-988 - Wildcard issue fix and tests (8fbcf73d7fc36dfa28192ff833395fc65003b497)
      -HORNETQ-1058 - HornetQActivationSpec has to implement Serializable (062b64347b5374caf9d7ba25b70a97965261ee6a)
      -HORNETQ-1097 - <address-settings> from hornetq-queues.xml not applied properly to existing destinations (f7c0552adc820f35c7e360947d56f9159c677755)
      -HORNETQ-1101 - fix on non-persistent messages on paging (3e45aa4d8b52cfa5baf83bc72a76589d85ccbb5b)
      -HORNETQ-1103 - Upgrade Netty to fix SSL race. Also maximal wait 30 seconds for the handshake to complete (c5fcd3ae9a56f8335ea2c2e8a0269ad63e46473a)
      -HORNETQ-1108 - Regular messages becoming large through the bridge will be damaged (4db44163c5a6a3c07036727a7ece77efafcfdf74)
      -HORNETQ-1114 - listMessagesAsJSON and countMessages JMX methods do not include paged messages (7460f9742968dc9778a34f51285636d8e8d7ccd9)
      -HORNETQ-1115 - Shared subscriptions on MDBs (d5da1d38479e1be930692e59548f305aab23dce8)
      -HORNETQ-1116 - notification fix (BINDING_REMOVED should have the filter) (93445ea5fb69bbcafaf58e948826ee662c615457)
      -HORNETQ-1117 - Fixing previous packets issue after timeout (72219f322d8b1602eb0badb3da2362fe8284c5ce)
      -HORNETQ-1122 - check-direct optimization (f0bbd9071b109f435425a3ec3c062df4d2f92f92)
      -HORNETQ-1130 - Fixing races on update topology array that happens during close jms connection (06bfd4eba12dde21cc2c0adf25098606ca644c4f)
      -HORNETQ-1135 - intercepting username on createqueue and sending packet (be6779bb18628deb0b037a1605814a967abcdc51)
      -HORNETQ-1137 - Queue optimization to avoid a lock while delivering to the clients (c469327f7a6d9418e2134d10ce20606b897d6ea4)
      -HORNETQ-1142 - fixing races during start and expiry (b6e3678c0e7bb89e8a965839706afda993c7ae19)
      -HORNETQ-1146 - Fix configuration file of address-settings (1ef8cc8df75f06c515fbe94271c65c293361fe03)
      -HORNETQ-1147 - Client tries to use local-bind-address when using JMS connection factory from JNDI (5fd9fa401937c8b6a3fa59b667d47daf3aa9e11b)
      -HORNETQ-1151 - avoiding NPE when deleting a queue and producing at the same time (01779950f242bf9327bbb6d12f4a304725d18097)
      -HORNETQ-1159 - Making sure the server can survive duplicated queues and avoiding duplicated queues (c469327f7a6d9418e2134d10ce20606b897d6ea4)
      -HORNETQ-1163 - Fixing delete queue and expiry scan over paging (c2a4c545d0d21b8037d968aeeba52d5a19ef972e)
      -HORNETQ-1164 - Fix incompatible types in .equals (009cd02ecf9ee0df1455b827beca371784a36974)
      -HORNETQ-1170 - Core bridge doesn't failover in HornetQ live-backup setup (49aa13851d5a7c8e8efc5d3396e99d2be672b607)
      -HORNETQ-1188 - Invalid properties on filter will show too many exceptions
      -HORNETQ-1190 - improvements on slow consumers with browsers and receiveNoWait
      -HORNETQ-1183 - wrong cleanup on startup avoiding startup with old data
      -JBPAPP-10450 - Making sure we won't block shutdown if the RA is in retry mode (95a96a4d71c6a6daa56005913cc226e38c9cbb15)
      -JBPAPP6-1285 - tests are failing on JDK 1.7 due to a verification on a ghost thread (39841030510be1f235f7f0c0bc33b3b5bd1affde)
      -Print-data with page counters (a38510a96e3a5f98f27f694fac847d7a5ba3369b)
      -Connection timeout property exposed (723529b22b59c8df20472332e4bbabdf8bfa6a4a)
      -Changing PagingTest::testMoveMessages to also use largeMessages (0af025f11684e39e982fcb0376eba93fc1e8b02c)
      -accepting @Override on interfaces now (30387e3f868de6df287ad56193074540140b726a)
      -Fix test failing on JDK7 because of alignment (4d7eb72e5668bb1c159195bce41bf9e223ab56da)
      -Should be synchronized as it overrides a synchronized method (3fc6f8484d5c8be724deae621465e5f70657a2c4)
      -fixing ExpireTestOnRestartTest (1c06fb35fbcaeb89827a77e859f60f3d642a66b3)
      -fixing build after parser change (488dea3bd0a382f37b0082fc058316bf58c39343)
      -fixing test that are failing after topic=null change (5a98ed0b67a95e4e5d7b0258c781865caa9ee40e)
      -another test fix avoiding NPE on queue (941f1444a7505744883fe2575494ca01ef5192fd)
      -typo fix HORNETQ-1159 - Remove incorrect note "There ... semantic during 2.3 here.". (561dd5fc96907ca1ed918317650940e45ec81f36)

      MANUAL INSTALL INSTRUCTIONS:
      1. Copy hornetq-core-client.jar to $JBOSS_HOME/client/hornetq-core-client.jar
      2. Copy hornetq-jms-client.jar to $JBOSS_HOME/client/hornetq-jms-client.jar
      3. Copy hornetq-bootstrap.jar to $JBOSS_HOME/common/lib/hornetq-bootstrap.jar
      4. Copy hornetq-core.jar to $JBOSS_HOME/common/lib/hornetq-core.jar
      5. Copy hornetq-int.jar to $JBOSS_HOME/common/lib/hornetq-int.jar
      6. Copy hornetq-jboss-as-integration.jar $JBOSS_HOME/common/lib/hornetq-jboss-as-integration.jar
      7. Copy hornetq-jms.jar to $JBOSS_HOME/common/lib/hornetq-jms.jar
      8. Copy netty.jar to $JBOSS_HOME/common/lib/netty.jar
      9. Copy hornetq-logging.jar to $JBOSS_HOME/common/lib/hornetq-logging.jar
      10. Copy hornetq-ra.jar $JBOSS_HOME/server/${profile-name}/deploy/jms-ra.rar/hornetq-ra.jar
              11. Copy netty.jar to $JBOSS_HOME/client/netty.jar
      12. Ensure that the new hornetq-jms-client.jar, hornetq-core-client.jar, and netty.jar appear first on any client's classpath to override any existing implementation.

      COMPATIBILITY:
      Changes made in HORNETQ-408 introduce new "connector" parameters (for setting up a client-side truststore) which are not compatible with older clients. If these new connector parameters are used in an environment with old clients ensure that multiple versions of the connector (and corresponding JMS connection factories, if applicable) are configured with the appropriate parameters for each.

      DEPENDENCIES:
      N/A

      SUPERSEDES:


      SUPERSEDED BY:
      N/A

      CREATOR:
      Tom Ross

      DATE:
      14 of May 2013
      Show
      PATCH NAME: JBPAPP-10745 PRODUCT NAME: JBoss Enterprise Application Platform (EAP) VERSION: 5.2.0 SHORT DESCRIPTION: This patch is fixing several issues around locking the queue during delivery and scanning for expired messages during startup what could lead to negative paging counters and message loss. LONG DESCRIPTION: Here is a list of changes including on JBPAPP-10695 (previous patch): - HORNETQ-408 - Revamp SSL (cf51bc545eaed0b3deb9900ecd0a92373a1c4cbc) - HORNETQ-763 - delivering refs management operation (3812ee77100c473489f72f36e5078a56d37e5c19, ac1f78d0f25cf5aa330ee0b28dd143469bee1650) - HORNETQ-988 - Wildcard issue fix and tests (8fbcf73d7fc36dfa28192ff833395fc65003b497) - HORNETQ-1058 - HornetQActivationSpec has to implement Serializable (062b64347b5374caf9d7ba25b70a97965261ee6a) - HORNETQ-1097 - <address-settings> from hornetq-queues.xml not applied properly to existing destinations (f7c0552adc820f35c7e360947d56f9159c677755) - HORNETQ-1101 - fix on non-persistent messages on paging (3e45aa4d8b52cfa5baf83bc72a76589d85ccbb5b) - HORNETQ-1103 - Upgrade Netty to fix SSL race. Also maximal wait 30 seconds for the handshake to complete (c5fcd3ae9a56f8335ea2c2e8a0269ad63e46473a) - HORNETQ-1108 - Regular messages becoming large through the bridge will be damaged (4db44163c5a6a3c07036727a7ece77efafcfdf74) - HORNETQ-1114 - listMessagesAsJSON and countMessages JMX methods do not include paged messages (7460f9742968dc9778a34f51285636d8e8d7ccd9) - HORNETQ-1115 - Shared subscriptions on MDBs (d5da1d38479e1be930692e59548f305aab23dce8) - HORNETQ-1116 - notification fix (BINDING_REMOVED should have the filter) (93445ea5fb69bbcafaf58e948826ee662c615457) - HORNETQ-1117 - Fixing previous packets issue after timeout (72219f322d8b1602eb0badb3da2362fe8284c5ce) - HORNETQ-1122 - check-direct optimization (f0bbd9071b109f435425a3ec3c062df4d2f92f92) - HORNETQ-1130 - Fixing races on update topology array that happens during close jms connection (06bfd4eba12dde21cc2c0adf25098606ca644c4f) - HORNETQ-1135 - intercepting username on createqueue and sending packet (be6779bb18628deb0b037a1605814a967abcdc51) - HORNETQ-1137 - Queue optimization to avoid a lock while delivering to the clients (c469327f7a6d9418e2134d10ce20606b897d6ea4) - HORNETQ-1142 - fixing races during start and expiry (b6e3678c0e7bb89e8a965839706afda993c7ae19) - HORNETQ-1146 - Fix configuration file of address-settings (1ef8cc8df75f06c515fbe94271c65c293361fe03) - HORNETQ-1147 - Client tries to use local-bind-address when using JMS connection factory from JNDI (5fd9fa401937c8b6a3fa59b667d47daf3aa9e11b) - HORNETQ-1151 - avoiding NPE when deleting a queue and producing at the same time (01779950f242bf9327bbb6d12f4a304725d18097) - HORNETQ-1159 - Making sure the server can survive duplicated queues and avoiding duplicated queues (c469327f7a6d9418e2134d10ce20606b897d6ea4) - HORNETQ-1163 - Fixing delete queue and expiry scan over paging (c2a4c545d0d21b8037d968aeeba52d5a19ef972e) - HORNETQ-1164 - Fix incompatible types in .equals (009cd02ecf9ee0df1455b827beca371784a36974) - HORNETQ-1170 - Core bridge doesn't failover in HornetQ live-backup setup (49aa13851d5a7c8e8efc5d3396e99d2be672b607) - HORNETQ-1188 - Invalid properties on filter will show too many exceptions - HORNETQ-1190 - improvements on slow consumers with browsers and receiveNoWait - HORNETQ-1183 - wrong cleanup on startup avoiding startup with old data - JBPAPP-10450 - Making sure we won't block shutdown if the RA is in retry mode (95a96a4d71c6a6daa56005913cc226e38c9cbb15) - JBPAPP6-1285 - tests are failing on JDK 1.7 due to a verification on a ghost thread (39841030510be1f235f7f0c0bc33b3b5bd1affde) -Print-data with page counters (a38510a96e3a5f98f27f694fac847d7a5ba3369b) -Connection timeout property exposed (723529b22b59c8df20472332e4bbabdf8bfa6a4a) -Changing PagingTest::testMoveMessages to also use largeMessages (0af025f11684e39e982fcb0376eba93fc1e8b02c) -accepting @Override on interfaces now (30387e3f868de6df287ad56193074540140b726a) -Fix test failing on JDK7 because of alignment (4d7eb72e5668bb1c159195bce41bf9e223ab56da) -Should be synchronized as it overrides a synchronized method (3fc6f8484d5c8be724deae621465e5f70657a2c4) -fixing ExpireTestOnRestartTest (1c06fb35fbcaeb89827a77e859f60f3d642a66b3) -fixing build after parser change (488dea3bd0a382f37b0082fc058316bf58c39343) -fixing test that are failing after topic=null change (5a98ed0b67a95e4e5d7b0258c781865caa9ee40e) -another test fix avoiding NPE on queue (941f1444a7505744883fe2575494ca01ef5192fd) -typo fix HORNETQ-1159 - Remove incorrect note "There ... semantic during 2.3 here.". (561dd5fc96907ca1ed918317650940e45ec81f36) MANUAL INSTALL INSTRUCTIONS: 1. Copy hornetq-core-client.jar to $JBOSS_HOME/client/hornetq-core-client.jar 2. Copy hornetq-jms-client.jar to $JBOSS_HOME/client/hornetq-jms-client.jar 3. Copy hornetq-bootstrap.jar to $JBOSS_HOME/common/lib/hornetq-bootstrap.jar 4. Copy hornetq-core.jar to $JBOSS_HOME/common/lib/hornetq-core.jar 5. Copy hornetq-int.jar to $JBOSS_HOME/common/lib/hornetq-int.jar 6. Copy hornetq-jboss-as-integration.jar $JBOSS_HOME/common/lib/hornetq-jboss-as-integration.jar 7. Copy hornetq-jms.jar to $JBOSS_HOME/common/lib/hornetq-jms.jar 8. Copy netty.jar to $JBOSS_HOME/common/lib/netty.jar 9. Copy hornetq-logging.jar to $JBOSS_HOME/common/lib/hornetq-logging.jar 10. Copy hornetq-ra.jar $JBOSS_HOME/server/${profile-name}/deploy/jms-ra.rar/hornetq-ra.jar         11. Copy netty.jar to $JBOSS_HOME/client/netty.jar 12. Ensure that the new hornetq-jms-client.jar, hornetq-core-client.jar, and netty.jar appear first on any client's classpath to override any existing implementation. COMPATIBILITY: Changes made in HORNETQ-408 introduce new "connector" parameters (for setting up a client-side truststore) which are not compatible with older clients. If these new connector parameters are used in an environment with old clients ensure that multiple versions of the connector (and corresponding JMS connection factories, if applicable) are configured with the appropriate parameters for each. DEPENDENCIES: N/A SUPERSEDES: SUPERSEDED BY: N/A CREATOR: Tom Ross DATE: 14 of May 2013
    • Docs QE Status:
      NEW

      Description

      PATCH NAME:
      JBPAPP-10745
      PRODUCT NAME:
      JBoss Enterprise Application Platform (EAP)
      VERSION:
      5.2.0
      SHORT DESCRIPTION:
      This patch is fixing several issues around locking the queue during delivery and scanning for expired messages during startup what could lead to negative paging counters and message loss.

      LONG DESCRIPTION:

      Here is a list of changes including on JBPAPP-10695 (previous patch):

      -HORNETQ-408 - Revamp SSL (cf51bc545eaed0b3deb9900ecd0a92373a1c4cbc)
      -HORNETQ-763 - delivering refs management operation (3812ee77100c473489f72f36e5078a56d37e5c19, ac1f78d0f25cf5aa330ee0b28dd143469bee1650)
      -HORNETQ-988 - Wildcard issue fix and tests (8fbcf73d7fc36dfa28192ff833395fc65003b497)
      -HORNETQ-1058 - HornetQActivationSpec has to implement Serializable (062b64347b5374caf9d7ba25b70a97965261ee6a)
      -HORNETQ-1097 - <address-settings> from hornetq-queues.xml not applied properly to existing destinations (f7c0552adc820f35c7e360947d56f9159c677755)
      -HORNETQ-1101 - fix on non-persistent messages on paging (3e45aa4d8b52cfa5baf83bc72a76589d85ccbb5b)
      -HORNETQ-1103 - Upgrade Netty to fix SSL race. Also maximal wait 30 seconds for the handshake to complete (c5fcd3ae9a56f8335ea2c2e8a0269ad63e46473a)
      -HORNETQ-1108 - Regular messages becoming large through the bridge will be damaged (4db44163c5a6a3c07036727a7ece77efafcfdf74)
      -HORNETQ-1114 - listMessagesAsJSON and countMessages JMX methods do not include paged messages (7460f9742968dc9778a34f51285636d8e8d7ccd9)
      -HORNETQ-1115 - Shared subscriptions on MDBs (d5da1d38479e1be930692e59548f305aab23dce8)
      -HORNETQ-1116 - notification fix (BINDING_REMOVED should have the filter) (93445ea5fb69bbcafaf58e948826ee662c615457)
      -HORNETQ-1117 - Fixing previous packets issue after timeout (72219f322d8b1602eb0badb3da2362fe8284c5ce)
      -HORNETQ-1122 - check-direct optimization (f0bbd9071b109f435425a3ec3c062df4d2f92f92)
      -HORNETQ-1130 - Fixing races on update topology array that happens during close jms connection (06bfd4eba12dde21cc2c0adf25098606ca644c4f)
      -HORNETQ-1135 - intercepting username on createqueue and sending packet (be6779bb18628deb0b037a1605814a967abcdc51)
      -HORNETQ-1137 - Queue optimization to avoid a lock while delivering to the clients (c469327f7a6d9418e2134d10ce20606b897d6ea4)
      -HORNETQ-1142 - fixing races during start and expiry (b6e3678c0e7bb89e8a965839706afda993c7ae19)
      -HORNETQ-1146 - Fix configuration file of address-settings (1ef8cc8df75f06c515fbe94271c65c293361fe03)
      -HORNETQ-1147 - Client tries to use local-bind-address when using JMS connection factory from JNDI (5fd9fa401937c8b6a3fa59b667d47daf3aa9e11b)
      -HORNETQ-1151 - avoiding NPE when deleting a queue and producing at the same time (01779950f242bf9327bbb6d12f4a304725d18097)
      -HORNETQ-1159 - Making sure the server can survive duplicated queues and avoiding duplicated queues (c469327f7a6d9418e2134d10ce20606b897d6ea4)
      -HORNETQ-1163 - Fixing delete queue and expiry scan over paging (c2a4c545d0d21b8037d968aeeba52d5a19ef972e)
      -HORNETQ-1164 - Fix incompatible types in .equals (009cd02ecf9ee0df1455b827beca371784a36974)
      -HORNETQ-1170 - Core bridge doesn't failover in HornetQ live-backup setup (49aa13851d5a7c8e8efc5d3396e99d2be672b607)
      -HORNETQ-1188 - Invalid properties on filter will show too many exceptions
      -HORNETQ-1190 - improvements on slow consumers with browsers and receiveNoWait
      -HORNETQ-1183 - wrong cleanup on startup avoiding startup with old data
      -JBPAPP-10450 - Making sure we won't block shutdown if the RA is in retry mode (95a96a4d71c6a6daa56005913cc226e38c9cbb15)
      -JBPAPP6-1285 - tests are failing on JDK 1.7 due to a verification on a ghost thread (39841030510be1f235f7f0c0bc33b3b5bd1affde)
      -Print-data with page counters (a38510a96e3a5f98f27f694fac847d7a5ba3369b)
      -Connection timeout property exposed (723529b22b59c8df20472332e4bbabdf8bfa6a4a)
      -Changing PagingTest::testMoveMessages to also use largeMessages (0af025f11684e39e982fcb0376eba93fc1e8b02c)
      -accepting @Override on interfaces now (30387e3f868de6df287ad56193074540140b726a)
      -Fix test failing on JDK7 because of alignment (4d7eb72e5668bb1c159195bce41bf9e223ab56da)
      -Should be synchronized as it overrides a synchronized method (3fc6f8484d5c8be724deae621465e5f70657a2c4)
      -fixing ExpireTestOnRestartTest (1c06fb35fbcaeb89827a77e859f60f3d642a66b3)
      -fixing build after parser change (488dea3bd0a382f37b0082fc058316bf58c39343)
      -fixing test that are failing after topic=null change (5a98ed0b67a95e4e5d7b0258c781865caa9ee40e)
      -another test fix avoiding NPE on queue (941f1444a7505744883fe2575494ca01ef5192fd)
      -typo fix HORNETQ-1159 - Remove incorrect note "There ... semantic during 2.3 here.". (561dd5fc96907ca1ed918317650940e45ec81f36)

      MANUAL INSTALL INSTRUCTIONS:
      1. Copy hornetq-core-client.jar to $JBOSS_HOME/client/hornetq-core-client.jar
      2. Copy hornetq-jms-client.jar to $JBOSS_HOME/client/hornetq-jms-client.jar
      3. Copy hornetq-bootstrap.jar to $JBOSS_HOME/common/lib/hornetq-bootstrap.jar
      4. Copy hornetq-core.jar to $JBOSS_HOME/common/lib/hornetq-core.jar
      5. Copy hornetq-int.jar to $JBOSS_HOME/common/lib/hornetq-int.jar
      6. Copy hornetq-jboss-as-integration.jar $JBOSS_HOME/common/lib/hornetq-jboss-as-integration.jar
      7. Copy hornetq-jms.jar to $JBOSS_HOME/common/lib/hornetq-jms.jar
      8. Copy netty.jar to $JBOSS_HOME/common/lib/netty.jar
      9. Copy hornetq-logging.jar to $JBOSS_HOME/common/lib/hornetq-logging.jar
      10. Copy hornetq-ra.jar $JBOSS_HOME/server/${profile-name}/deploy/jms-ra.rar/hornetq-ra.jar
      11. Ensure that the new hornetq-jms-client.jar, hornetq-core-client.jar, and netty.jar appear first on any client's classpath to override any existing implementation.

      COMPATIBILITY:
      Changes made in HORNETQ-408 introduce new "connector" parameters (for setting up a client-side truststore) which are not compatible with older clients. If these new connector parameters are used in an environment with old clients ensure that multiple versions of the connector (and corresponding JMS connection factories, if applicable) are configured with the appropriate parameters for each.

      DEPENDENCIES:
      N/A

      SUPERSEDES:

      SUPERSEDED BY:
      N/A

      CREATOR:
      Tom Ross

      DATE:
      14 of May 2013

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                jbn-patch-team JBN Patch Team list
                Reporter:
                raggz Tom Ross
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: