You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org> on 2008/09/30 15:49:44 UTC

[jira] Created: (QPID-1303) I/O layer requirements need definition

I/O layer requirements need definition
--------------------------------------

                 Key: QPID-1303
                 URL: https://issues.apache.org/jira/browse/QPID-1303
             Project: Qpid
          Issue Type: Task
          Components: Java Broker, Java Client
    Affects Versions: M4
            Reporter: Aidan Skinner
            Assignee: Aidan Skinner
             Fix For: M4


The Qpid broker has displayed some undesirable behaviour when under heavy load, with high volume persistent messaging exposing some limitations to the way in which the broker manages the processing of that load.

Team discussions & analysis have led us to the existing i/O layer on the broker, and specifically the way that MINA handles the stream of messages in this scenario. It seems most likely that we now have a pressing need to replace the MINA I/O packages with an improved solution - where the main focus of this replacement is to improve, significantly, the reliability of the Java broker under heavy load.

This task describes the work required to define a clear technical specification for an I/O layer for the Qpid Java Broker. As the cost & risk implied by this replacement is substantial, we must be sure that we have a quality definition of the requirements the new code must meet.

The deliverables for this task are:

- A Technical Specification for the new I/O layer which includes:

1. A written set of numbered & prioritised functional and non-functional tech requirements (ranked High/Med/Low). This can be done using a wiki page or a document in word format.
2. A completed review process, taking place on Apache Qpid and engaging the community. This process should be documented alkongside the spec, including actions taken.
3. Updates resulting from a completed review reflected back into the spec & signed off.

Once we have a complete tech spec, we can then design, spec & estimate the work required. This will include a review of existing code written by Rob Godfrey in this space, to compare with the spec etc and ascertain fit for the problem before undertaking further work. 

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


[jira] Commented: (QPID-1303) I/O layer requirements need definition

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635757#action_12635757 ] 

Rob Godfrey commented on QPID-1303:
-----------------------------------

Is this JIRA meant to cover both the client and the broker?  The Component/s imply both, but the text only speaks to the latter.

There has obviously been a lot of work done on I/O in the Java client which has already been committed - but which can only be used (currently) from the 0-10 code path.  It would be good for the original authors of this to provide some documentation on how it works.

I have done a little work to take the aforementioned client-side I/O changes and make it available on the 0-8/0-9 client and in the Java Broker.  However I have not attempted to completely remove the dependency on MINA.  In as much as an API for an I/O layer is defined - I have taken the work that was in the client I/O layer.  Once I have this code a little cleaner I can attach here for people who are interested.



> I/O layer requirements need definition
> --------------------------------------
>
>                 Key: QPID-1303
>                 URL: https://issues.apache.org/jira/browse/QPID-1303
>             Project: Qpid
>          Issue Type: Task
>          Components: Java Broker, Java Client
>    Affects Versions: M4
>            Reporter: Aidan Skinner
>            Assignee: Aidan Skinner
>             Fix For: M4
>
>
> The Qpid broker has displayed some undesirable behaviour when under heavy load, with high volume persistent messaging exposing some limitations to the way in which the broker manages the processing of that load.
> Team discussions & analysis have led us to the existing i/O layer on the broker, and specifically the way that MINA handles the stream of messages in this scenario. It seems most likely that we now have a pressing need to replace the MINA I/O packages with an improved solution - where the main focus of this replacement is to improve, significantly, the reliability of the Java broker under heavy load.
> This task describes the work required to define a clear technical specification for an I/O layer for the Qpid Java Broker. As the cost & risk implied by this replacement is substantial, we must be sure that we have a quality definition of the requirements the new code must meet.
> The deliverables for this task are:
> - A Technical Specification for the new I/O layer which includes:
> 1. A written set of numbered & prioritised functional and non-functional tech requirements (ranked High/Med/Low). This can be done using a wiki page or a document in word format.
> 2. A completed review process, taking place on Apache Qpid and engaging the community. This process should be documented alkongside the spec, including actions taken.
> 3. Updates resulting from a completed review reflected back into the spec & signed off.
> Once we have a complete tech spec, we can then design, spec & estimate the work required. This will include a review of existing code written by Rob Godfrey in this space, to compare with the spec etc and ascertain fit for the problem before undertaking further work. 

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


[jira] Updated: (QPID-1303) I/O layer requirements need definition

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

Marnie McCormack updated QPID-1303:
-----------------------------------

    Fix Version/s:     (was: M4)

Descoping items not being worked on for M4 into Unknown Fix Version for now

> I/O layer requirements need definition
> --------------------------------------
>
>                 Key: QPID-1303
>                 URL: https://issues.apache.org/jira/browse/QPID-1303
>             Project: Qpid
>          Issue Type: Task
>          Components: Java Broker, Java Client
>    Affects Versions: M4
>            Reporter: Aidan Skinner
>            Assignee: Aidan Skinner
>
> The Qpid broker has displayed some undesirable behaviour when under heavy load, with high volume persistent messaging exposing some limitations to the way in which the broker manages the processing of that load.
> Team discussions & analysis have led us to the existing i/O layer on the broker, and specifically the way that MINA handles the stream of messages in this scenario. It seems most likely that we now have a pressing need to replace the MINA I/O packages with an improved solution - where the main focus of this replacement is to improve, significantly, the reliability of the Java broker under heavy load.
> This task describes the work required to define a clear technical specification for an I/O layer for the Qpid Java Broker. As the cost & risk implied by this replacement is substantial, we must be sure that we have a quality definition of the requirements the new code must meet.
> The deliverables for this task are:
> - A Technical Specification for the new I/O layer which includes:
> 1. A written set of numbered & prioritised functional and non-functional tech requirements (ranked High/Med/Low). This can be done using a wiki page or a document in word format.
> 2. A completed review process, taking place on Apache Qpid and engaging the community. This process should be documented alkongside the spec, including actions taken.
> 3. Updates resulting from a completed review reflected back into the spec & signed off.
> Once we have a complete tech spec, we can then design, spec & estimate the work required. This will include a review of existing code written by Rob Godfrey in this space, to compare with the spec etc and ascertain fit for the problem before undertaking further work. 

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


[jira] Commented: (QPID-1303) I/O layer requirements need definition

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635771#action_12635771 ] 

Aidan Skinner commented on QPID-1303:
-------------------------------------

There are going to need to be changes to the client layer as a result of this for it to work smoothly, identifying what those are is part of the process we need to go through. 

> I/O layer requirements need definition
> --------------------------------------
>
>                 Key: QPID-1303
>                 URL: https://issues.apache.org/jira/browse/QPID-1303
>             Project: Qpid
>          Issue Type: Task
>          Components: Java Broker, Java Client
>    Affects Versions: M4
>            Reporter: Aidan Skinner
>            Assignee: Aidan Skinner
>             Fix For: M4
>
>
> The Qpid broker has displayed some undesirable behaviour when under heavy load, with high volume persistent messaging exposing some limitations to the way in which the broker manages the processing of that load.
> Team discussions & analysis have led us to the existing i/O layer on the broker, and specifically the way that MINA handles the stream of messages in this scenario. It seems most likely that we now have a pressing need to replace the MINA I/O packages with an improved solution - where the main focus of this replacement is to improve, significantly, the reliability of the Java broker under heavy load.
> This task describes the work required to define a clear technical specification for an I/O layer for the Qpid Java Broker. As the cost & risk implied by this replacement is substantial, we must be sure that we have a quality definition of the requirements the new code must meet.
> The deliverables for this task are:
> - A Technical Specification for the new I/O layer which includes:
> 1. A written set of numbered & prioritised functional and non-functional tech requirements (ranked High/Med/Low). This can be done using a wiki page or a document in word format.
> 2. A completed review process, taking place on Apache Qpid and engaging the community. This process should be documented alkongside the spec, including actions taken.
> 3. Updates resulting from a completed review reflected back into the spec & signed off.
> Once we have a complete tech spec, we can then design, spec & estimate the work required. This will include a review of existing code written by Rob Godfrey in this space, to compare with the spec etc and ascertain fit for the problem before undertaking further work. 

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