You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org> on 2009/02/03 23:55:59 UTC

[jira] Created: (QPID-1640) Improve existing/add more failover tests

Improve existing/add more failover tests
----------------------------------------

                 Key: QPID-1640
                 URL: https://issues.apache.org/jira/browse/QPID-1640
             Project: Qpid
          Issue Type: Improvement
          Components: Java Client
    Affects Versions: M5
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu
             Fix For: M5


It would be good to build a few more tests on top of the current FailoverTests.
One idea is to send/receive a certain amount of messages then failover and then send/receive the rest of the messages and verify the order of messages and the count.
Another idea is to failover in loop between two brokers while maintaining the same session while doing the above in each iteration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1640) Improve existing/add more failover tests

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1640:
-----------------------------------

    Attachment: QPID_1640.patch

This patch contains improvements made to the existing failover test cases.
It also adds a new test case for produce x messages, consume y (<x) messages, do failover and then produce p and try to consume (x-y + p) messages. 

1.The tests are  using sync_publish='all' and sync_ack='true' to weed out duplicates.  Since we control the broker shutdown we can prevent the corner case where the "last message sent or the last messaged acked could be in doubt".

2. The transacted version of the above test is currently disabled as the cluster does not do full session resume yet.

3. A another test case to be added is to run the above usecase in a loop by rotating failover between the two brokers.

4. The x to produce (out of total messages) and y to consume before failover is determined by a random number generator with a given seed. The seed and the iterations for the loop could be configured using the system properties defined in cpp.cluster.testprofile

5. The default seed will generate the following pattern for the test case that runs in a loop.

Produce 6 consume 4
Produce 3 consume 2
Produce 4 consume 3
Produce 1 consume 1
Produce 4 consume 1
Produce 3 consume 1
Produce 6 consume 6
Produce 3 consume 3
Produce 7 consume 3
Produce 4 consume 1

> Improve existing/add more failover tests
> ----------------------------------------
>
>                 Key: QPID-1640
>                 URL: https://issues.apache.org/jira/browse/QPID-1640
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M5
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M5
>
>         Attachments: QPID_1640.patch
>
>
> It would be good to build a few more tests on top of the current FailoverTests.
> One idea is to send/receive a certain amount of messages then failover and then send/receive the rest of the messages and verify the order of messages and the count.
> Another idea is to failover in loop between two brokers while maintaining the same session while doing the above in each iteration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1640) Improve existing/add more failover tests

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1640:
-----------------------------------

    Attachment: FailoverTest.patch

> Improve existing/add more failover tests
> ----------------------------------------
>
>                 Key: QPID-1640
>                 URL: https://issues.apache.org/jira/browse/QPID-1640
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M5
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M5
>
>         Attachments: FailoverTest.patch
>
>
> It would be good to build a few more tests on top of the current FailoverTests.
> One idea is to send/receive a certain amount of messages then failover and then send/receive the rest of the messages and verify the order of messages and the count.
> Another idea is to failover in loop between two brokers while maintaining the same session while doing the above in each iteration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1640) Improve existing/add more failover tests

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1640:
-----------------------------------

    Attachment:     (was: FailoverTest.patch)

> Improve existing/add more failover tests
> ----------------------------------------
>
>                 Key: QPID-1640
>                 URL: https://issues.apache.org/jira/browse/QPID-1640
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M5
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M5
>
>
> It would be good to build a few more tests on top of the current FailoverTests.
> One idea is to send/receive a certain amount of messages then failover and then send/receive the rest of the messages and verify the order of messages and the count.
> Another idea is to failover in loop between two brokers while maintaining the same session while doing the above in each iteration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1640) Improve existing/add more failover tests

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-1640:
---------------------------------

    Fix Version/s:     (was: M5)

> Improve existing/add more failover tests
> ----------------------------------------
>
>                 Key: QPID-1640
>                 URL: https://issues.apache.org/jira/browse/QPID-1640
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M5
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>         Attachments: QPID_1640.patch
>
>
> It would be good to build a few more tests on top of the current FailoverTests.
> One idea is to send/receive a certain amount of messages then failover and then send/receive the rest of the messages and verify the order of messages and the count.
> Another idea is to failover in loop between two brokers while maintaining the same session while doing the above in each iteration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-1640) Improve existing/add more failover tests

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu resolved QPID-1640.
------------------------------------

    Resolution: Fixed

A modified version of this patch was committed at rev 750203 in Qpid trunk.
There were several updates to the test after that by me and Martin.

I have also added python based test framework that could test failover more thoroughly using the brokertest.py (multi broker framework introduced by alan conway).
These tests use the failover exchange and also test failover while producer and consumer are in progress.
This improvement was added in rev 834724 in Qpid trunk with subsequent improvements.

> Improve existing/add more failover tests
> ----------------------------------------
>
>                 Key: QPID-1640
>                 URL: https://issues.apache.org/jira/browse/QPID-1640
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.5
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>         Attachments: QPID_1640.patch
>
>
> It would be good to build a few more tests on top of the current FailoverTests.
> One idea is to send/receive a certain amount of messages then failover and then send/receive the rest of the messages and verify the order of messages and the count.
> Another idea is to failover in loop between two brokers while maintaining the same session while doing the above in each iteration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org