Qpid
  1. Qpid
  2. QPID-4284

Remove system test dependencies on development and localhost virtual hosts

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.19
    • Component/s: Java Broker
    • Labels:
      None

      Description

      Currently the system tests rely on three virtualhost (namely test, development and localhost) being defined in the system test configuration. This arrangement has the disadvantage that each system test must initialise three virtual hosts and for persistent stores (derby/BDB), this adds significant time to the test run. On the whole, tests use only the 'test' virtualhost.

      This change will remove the dependency on the development and localhost virtual hosts. It will also remove the remaining few dependencies on the hardcoded queues "ping" and "queue".

      In addition to the time saving, this change will help when we come to eliminate the configuration files entirely.

        Activity

        Hide
        Robbie Gemmell added a comment -

        Looks good to me.

        Show
        Robbie Gemmell added a comment - Looks good to me.
        Hide
        Keith Wall added a comment -

        Patch applied. On my machine, the derby profile is 9 minutes faster (34=>25m) and the bdb store 2 minutes faster (21=>19min)
        Robbie, could you please review this commit?

        Show
        Keith Wall added a comment - Patch applied. On my machine, the derby profile is 9 minutes faster (34=>25m) and the bdb store 2 minutes faster (21=>19min) Robbie, could you please review this commit?
        Hide
        Keith Wall added a comment - - edited

        Proposed patch to resolve the issue described above – problem described was fixed by QPID-4302

        Show
        Keith Wall added a comment - - edited Proposed patch to resolve the issue described above – problem described was fixed by QPID-4302
        Hide
        Keith Wall added a comment - - edited

        I believe the patch for this change is complete, but running the tests with this patch reveals what I think is a preexisting problem (Test ClientAcknowledgeTest on the java-dby.0-9-1 profile).

        Testcase: testClientAckWithLargeFlusherPeriod took 4.401 sec
                FAILED
        Unexpected message is received expected:<2> but was:<1>
        junit.framework.AssertionFailedError: Unexpected message is received expected:<2> but was:<1>
                at org.apache.qpid.test.unit.ack.ClientAcknowledgeTest.testClientAckWithLargeFlusherPeriod(ClientAcknowledgeTest.java:80)
                at org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:242)
                at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:137)
        

        The Broker attempt to dequeue message 1 (in response to the message ack) is failing as the test has already started to shutdown the Broker.

        IoReceiver - /127.0.0.1:53680 2012-09-09 19:30:07,064 ERROR [qpid.server.txn.AsyncAutoCommitTransaction] Error during message dequeues
        org.apache.qpid.AMQStoreException: Error deleting enqueued message with id 1 for queue ClientAcknowledgeTest-testClientAckWithLargeFlusherPeriod with id b4a8250a-b2e6-32b2-8770-02f76d806777 from database [error code 541: internal error]
        (snip)
        Caused by: java.sql.SQLException: Java exception: ': org.apache.derby.iapi.error.ShutdownException'.
                at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
        

        I think this problem was being masked by the other two virtual hosts. The extra time taken to close the two other virtual hosts allowed sufficient time for the transaction to commit. The problem does not occur with 0-10.

        Show
        Keith Wall added a comment - - edited I believe the patch for this change is complete, but running the tests with this patch reveals what I think is a preexisting problem (Test ClientAcknowledgeTest on the java-dby.0-9-1 profile). Testcase: testClientAckWithLargeFlusherPeriod took 4.401 sec FAILED Unexpected message is received expected:<2> but was:<1> junit.framework.AssertionFailedError: Unexpected message is received expected:<2> but was:<1> at org.apache.qpid.test.unit.ack.ClientAcknowledgeTest.testClientAckWithLargeFlusherPeriod(ClientAcknowledgeTest.java:80) at org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:242) at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:137) The Broker attempt to dequeue message 1 (in response to the message ack) is failing as the test has already started to shutdown the Broker. IoReceiver - /127.0.0.1:53680 2012-09-09 19:30:07,064 ERROR [qpid.server.txn.AsyncAutoCommitTransaction] Error during message dequeues org.apache.qpid.AMQStoreException: Error deleting enqueued message with id 1 for queue ClientAcknowledgeTest-testClientAckWithLargeFlusherPeriod with id b4a8250a-b2e6-32b2-8770-02f76d806777 from database [error code 541: internal error] (snip) Caused by: java.sql.SQLException: Java exception: ': org.apache.derby.iapi.error.ShutdownException'. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) I think this problem was being masked by the other two virtual hosts. The extra time taken to close the two other virtual hosts allowed sufficient time for the transaction to commit. The problem does not occur with 0-10.

          People

          • Assignee:
            Robbie Gemmell
            Reporter:
            Keith Wall
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development