Re: [Architecture] MB 3.0.0 MQTT Integration Status
While testing with the Interop test suite the following tests failed with the default parameters (TIMEOUT = 500 ms and CONNECTION_TIME_OUT = 1000 ms). where timeout is the amount of time a subscriber awaits for a message and connection time out is the whole time the connection will be maintained with the broker. Test Basics , Test Long Topic, Test OverLapping Topics, Test Dots , Test Active MQ Wild Cards , Test Native MQTT Wild Cards , Test Subs , Test Wild Card Plus , Test LWT, Test Clean Session further, when the parameters were incremented to (TIMEOUT = 1000 ms and CONNECTION_TIME_OUT = 5000 ms). The failing tests were narrowed down to the following, Test Long Topic, Test OverLapping Topic, Test Active MQ Wild Cards, Test Native MQTT Wild Cards, Test Subs, Test Wild Card Plus, Test LWT, Test Clean Session currently we're in progress of fixing the issues related to cause test failures, also will be looking at the possibilities to reduce the latency of the response time so that the tests will be positive for the default parameters. Thanks, Pamod On Sat, Mar 8, 2014 at 4:58 PM, Pamod Sylvester pa...@wso2.com wrote: Hi Paul, +1 to reflect the changes back to the community. Will get in touch with their mailing list. Also next line item is to test the flows using the Interop test suite. Will get back to you with the results ASAP. Thanks, Pamod On Saturday, March 8, 2014, Paul Fremantle p...@wso2.com wrote: Pamod The ideal situation is to aim to get these changes back into Moquette. That means (a) getting them into a shape where they are generically useful to the Moquette community - so that other people wishing to embed Moquette would also look at this and say yes please, and (b) persuading the Moquette group this is a valuable change/addition. Is there any chance of doing an interop test with a beta on the 17th March at EclipseCon? I'll be at the interop day. Paul On 8 March 2014 05:36, Pamod Sylvester pa...@wso2.com wrote: Hi Samisa, Yes we did changes which are local to the Moquette library, However, the changes were done in a separate class to act as an interface between the Andes Kernal and the MQTT library. All the changes which are specific for the kernel integration are embedded in that class, so that when the library updates with a minimum effort we could adopt to the changes. However, it was also considered to totally abstract the library without having us modify any of its content but rather call only its interfaces. Then the challenge was to have a way to resolve circular dependencies. Where, to start the MQTT server MQTT library will depend on Andes and for message exchange Andes will depend on MQTT library. Also, IMO in order to maintain patches which we also need to have the library source code in a separate branch and maintain the way we do for Synapse. Please do correct me if i am wrong. Thanks, Pamod On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe sam...@wso2.com wrote: On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently accessing subscriber connections. The issue was fixed by cloning ByteBuffer instances per subscriber. Note that the wrapped array element was not duplicated or changed. The implemented code and artefacts could be found in [1]. Will commit the code once reviewed. To-Dos ~Need to package the dependencies. - Need to prepare test cases that would cover all the aspects described in the MQTT spec. - Need to test MQTT use cases in a cluster. - Need to load test and perform a long running test. - Need to discuss on the UI aspects. Please do let know if there're amendments to be made. Thanks, Pamod [1] https://svn.wso2.org/repos/wso2/scratch/pamod/mqtt_wrok/ -- Pamod Sylvester Software Engineer Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org Paul Fremantle CTO and Co-Founder, WSO2 OASIS WS-RX TC Co-chair, Apache Member UK: +44 207 096 0336 US: +1 646 595 7614 blog: http://pzf.fremantle.org twitter.com/pzfreo p...@wso2.com wso2.com Lean Enterprise Middleware Disclaimer: This
Re: [Architecture] MB 3.0.0 MQTT Integration Status
Pamod. shall we write some test cases right away .. to test it and load test it. Make sure we do all their QOS scenarios How is publishing and receiving throughputs? we need to measure that Also What is end to end latency? --Srinath On Mon, Mar 10, 2014 at 12:38 PM, Pamod Sylvester pa...@wso2.com wrote: While testing with the Interop test suite the following tests failed with the default parameters (TIMEOUT = 500 ms and CONNECTION_TIME_OUT = 1000 ms). where timeout is the amount of time a subscriber awaits for a message and connection time out is the whole time the connection will be maintained with the broker. Test Basics , Test Long Topic, Test OverLapping Topics, Test Dots , Test Active MQ Wild Cards , Test Native MQTT Wild Cards , Test Subs , Test Wild Card Plus , Test LWT, Test Clean Session further, when the parameters were incremented to (TIMEOUT = 1000 ms and CONNECTION_TIME_OUT = 5000 ms). The failing tests were narrowed down to the following, Test Long Topic, Test OverLapping Topic, Test Active MQ Wild Cards, Test Native MQTT Wild Cards, Test Subs, Test Wild Card Plus, Test LWT, Test Clean Session currently we're in progress of fixing the issues related to cause test failures, also will be looking at the possibilities to reduce the latency of the response time so that the tests will be positive for the default parameters. Thanks, Pamod On Sat, Mar 8, 2014 at 4:58 PM, Pamod Sylvester pa...@wso2.com wrote: Hi Paul, +1 to reflect the changes back to the community. Will get in touch with their mailing list. Also next line item is to test the flows using the Interop test suite. Will get back to you with the results ASAP. Thanks, Pamod On Saturday, March 8, 2014, Paul Fremantle p...@wso2.com wrote: Pamod The ideal situation is to aim to get these changes back into Moquette. That means (a) getting them into a shape where they are generically useful to the Moquette community - so that other people wishing to embed Moquette would also look at this and say yes please, and (b) persuading the Moquette group this is a valuable change/addition. Is there any chance of doing an interop test with a beta on the 17th March at EclipseCon? I'll be at the interop day. Paul On 8 March 2014 05:36, Pamod Sylvester pa...@wso2.com wrote: Hi Samisa, Yes we did changes which are local to the Moquette library, However, the changes were done in a separate class to act as an interface between the Andes Kernal and the MQTT library. All the changes which are specific for the kernel integration are embedded in that class, so that when the library updates with a minimum effort we could adopt to the changes. However, it was also considered to totally abstract the library without having us modify any of its content but rather call only its interfaces. Then the challenge was to have a way to resolve circular dependencies. Where, to start the MQTT server MQTT library will depend on Andes and for message exchange Andes will depend on MQTT library. Also, IMO in order to maintain patches which we also need to have the library source code in a separate branch and maintain the way we do for Synapse. Please do correct me if i am wrong. Thanks, Pamod On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe sam...@wso2.com wrote: On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently accessing subscriber connections. The issue was fixed by cloning ByteBuffer instances per subscriber. Note that the wrapped array element was not duplicated or changed. The implemented code and artefacts could be found in [1]. Will commit the code once reviewed. To-Dos ~Need to package the dependencies. - Need to prepare test cases that would cover all the aspects described in the MQTT spec. - Need to test MQTT use cases in a cluster. - Need to load test and perform a long running test. - Need to discuss on the UI aspects. Please do let know if there're amendments to be made. Thanks, Pamod [1] https://svn.wso2.org/repos/wso2/scratch/pamod/mqtt_wrok/ -- Pamod Sylvester Software Engineer Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495
Re: [Architecture] MB 3.0.0 MQTT Integration Status
ah OK. Can we get the introp tests integrated with our product or integration tests? On Mon, Mar 10, 2014 at 2:03 PM, Pamod Sylvester pa...@wso2.com wrote: Hi Srinath, I have a client written to generate the load, will do a performance round and will let know of the figures ASAP. Mean while there's a Interop test suite which has test cases which will validate all protocol level use cases, it can be found in [1]. Currently i am testing the MB against it to ensure that our broker adheres to the spec. Once the validation is complete will do a performance round. Thanks, Pamod [1] http://wiki.eclipse.org/File:Mqtt-test.zip On Mon, Mar 10, 2014 at 1:01 PM, Srinath Perera srin...@wso2.com wrote: Pamod. shall we write some test cases right away .. to test it and load test it. Make sure we do all their QOS scenarios How is publishing and receiving throughputs? we need to measure that Also What is end to end latency? --Srinath On Mon, Mar 10, 2014 at 12:38 PM, Pamod Sylvester pa...@wso2.com wrote: While testing with the Interop test suite the following tests failed with the default parameters (TIMEOUT = 500 ms and CONNECTION_TIME_OUT = 1000 ms). where timeout is the amount of time a subscriber awaits for a message and connection time out is the whole time the connection will be maintained with the broker. Test Basics , Test Long Topic, Test OverLapping Topics, Test Dots , Test Active MQ Wild Cards , Test Native MQTT Wild Cards , Test Subs , Test Wild Card Plus , Test LWT, Test Clean Session further, when the parameters were incremented to (TIMEOUT = 1000 ms and CONNECTION_TIME_OUT = 5000 ms). The failing tests were narrowed down to the following, Test Long Topic, Test OverLapping Topic, Test Active MQ Wild Cards, Test Native MQTT Wild Cards, Test Subs, Test Wild Card Plus, Test LWT, Test Clean Session currently we're in progress of fixing the issues related to cause test failures, also will be looking at the possibilities to reduce the latency of the response time so that the tests will be positive for the default parameters. Thanks, Pamod On Sat, Mar 8, 2014 at 4:58 PM, Pamod Sylvester pa...@wso2.com wrote: Hi Paul, +1 to reflect the changes back to the community. Will get in touch with their mailing list. Also next line item is to test the flows using the Interop test suite. Will get back to you with the results ASAP. Thanks, Pamod On Saturday, March 8, 2014, Paul Fremantle p...@wso2.com wrote: Pamod The ideal situation is to aim to get these changes back into Moquette. That means (a) getting them into a shape where they are generically useful to the Moquette community - so that other people wishing to embed Moquette would also look at this and say yes please, and (b) persuading the Moquette group this is a valuable change/addition. Is there any chance of doing an interop test with a beta on the 17th March at EclipseCon? I'll be at the interop day. Paul On 8 March 2014 05:36, Pamod Sylvester pa...@wso2.com wrote: Hi Samisa, Yes we did changes which are local to the Moquette library, However, the changes were done in a separate class to act as an interface between the Andes Kernal and the MQTT library. All the changes which are specific for the kernel integration are embedded in that class, so that when the library updates with a minimum effort we could adopt to the changes. However, it was also considered to totally abstract the library without having us modify any of its content but rather call only its interfaces. Then the challenge was to have a way to resolve circular dependencies. Where, to start the MQTT server MQTT library will depend on Andes and for message exchange Andes will depend on MQTT library. Also, IMO in order to maintain patches which we also need to have the library source code in a separate branch and maintain the way we do for Synapse. Please do correct me if i am wrong. Thanks, Pamod On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe sam...@wso2.com wrote: On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently accessing subscriber connections. The issue was fixed by cloning ByteBuffer instances per subscriber. Note that the wrapped array element was not
Re: [Architecture] MB 3.0.0 MQTT Integration Status
Yes. They are Junit test cases. We could integrate them. Thanks, Pamod On Mon, Mar 10, 2014 at 2:15 PM, Srinath Perera srin...@wso2.com wrote: ah OK. Can we get the introp tests integrated with our product or integration tests? On Mon, Mar 10, 2014 at 2:03 PM, Pamod Sylvester pa...@wso2.com wrote: Hi Srinath, I have a client written to generate the load, will do a performance round and will let know of the figures ASAP. Mean while there's a Interop test suite which has test cases which will validate all protocol level use cases, it can be found in [1]. Currently i am testing the MB against it to ensure that our broker adheres to the spec. Once the validation is complete will do a performance round. Thanks, Pamod [1] http://wiki.eclipse.org/File:Mqtt-test.zip On Mon, Mar 10, 2014 at 1:01 PM, Srinath Perera srin...@wso2.com wrote: Pamod. shall we write some test cases right away .. to test it and load test it. Make sure we do all their QOS scenarios How is publishing and receiving throughputs? we need to measure that Also What is end to end latency? --Srinath On Mon, Mar 10, 2014 at 12:38 PM, Pamod Sylvester pa...@wso2.comwrote: While testing with the Interop test suite the following tests failed with the default parameters (TIMEOUT = 500 ms and CONNECTION_TIME_OUT = 1000 ms). where timeout is the amount of time a subscriber awaits for a message and connection time out is the whole time the connection will be maintained with the broker. Test Basics , Test Long Topic, Test OverLapping Topics, Test Dots , Test Active MQ Wild Cards , Test Native MQTT Wild Cards , Test Subs , Test Wild Card Plus , Test LWT, Test Clean Session further, when the parameters were incremented to (TIMEOUT = 1000 ms and CONNECTION_TIME_OUT = 5000 ms). The failing tests were narrowed down to the following, Test Long Topic, Test OverLapping Topic, Test Active MQ Wild Cards, Test Native MQTT Wild Cards, Test Subs, Test Wild Card Plus, Test LWT, Test Clean Session currently we're in progress of fixing the issues related to cause test failures, also will be looking at the possibilities to reduce the latency of the response time so that the tests will be positive for the default parameters. Thanks, Pamod On Sat, Mar 8, 2014 at 4:58 PM, Pamod Sylvester pa...@wso2.com wrote: Hi Paul, +1 to reflect the changes back to the community. Will get in touch with their mailing list. Also next line item is to test the flows using the Interop test suite. Will get back to you with the results ASAP. Thanks, Pamod On Saturday, March 8, 2014, Paul Fremantle p...@wso2.com wrote: Pamod The ideal situation is to aim to get these changes back into Moquette. That means (a) getting them into a shape where they are generically useful to the Moquette community - so that other people wishing to embed Moquette would also look at this and say yes please, and (b) persuading the Moquette group this is a valuable change/addition. Is there any chance of doing an interop test with a beta on the 17th March at EclipseCon? I'll be at the interop day. Paul On 8 March 2014 05:36, Pamod Sylvester pa...@wso2.com wrote: Hi Samisa, Yes we did changes which are local to the Moquette library, However, the changes were done in a separate class to act as an interface between the Andes Kernal and the MQTT library. All the changes which are specific for the kernel integration are embedded in that class, so that when the library updates with a minimum effort we could adopt to the changes. However, it was also considered to totally abstract the library without having us modify any of its content but rather call only its interfaces. Then the challenge was to have a way to resolve circular dependencies. Where, to start the MQTT server MQTT library will depend on Andes and for message exchange Andes will depend on MQTT library. Also, IMO in order to maintain patches which we also need to have the library source code in a separate branch and maintain the way we do for Synapse. Please do correct me if i am wrong. Thanks, Pamod On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe sam...@wso2.com wrote: On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently
Re: [Architecture] MB 3.0.0 MQTT Integration Status
Pamod The ideal situation is to aim to get these changes back into Moquette. That means (a) getting them into a shape where they are generically useful to the Moquette community - so that other people wishing to embed Moquette would also look at this and say yes please, and (b) persuading the Moquette group this is a valuable change/addition. Is there any chance of doing an interop test with a beta on the 17th March at EclipseCon? I'll be at the interop day. Paul On 8 March 2014 05:36, Pamod Sylvester pa...@wso2.com wrote: Hi Samisa, Yes we did changes which are local to the Moquette library, However, the changes were done in a separate class to act as an interface between the Andes Kernal and the MQTT library. All the changes which are specific for the kernel integration are embedded in that class, so that when the library updates with a minimum effort we could adopt to the changes. However, it was also considered to totally abstract the library without having us modify any of its content but rather call only its interfaces. Then the challenge was to have a way to resolve circular dependencies. Where, to start the MQTT server MQTT library will depend on Andes and for message exchange Andes will depend on MQTT library. Also, IMO in order to maintain patches which we also need to have the library source code in a separate branch and maintain the way we do for Synapse. Please do correct me if i am wrong. Thanks, Pamod On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe sam...@wso2.comwrote: On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently accessing subscriber connections. The issue was fixed by cloning ByteBuffer instances per subscriber. Note that the wrapped array element was not duplicated or changed. The implemented code and artefacts could be found in [1]. Will commit the code once reviewed. To-Dos ~Need to package the dependencies. - Need to prepare test cases that would cover all the aspects described in the MQTT spec. - Need to test MQTT use cases in a cluster. - Need to load test and perform a long running test. - Need to discuss on the UI aspects. Please do let know if there're amendments to be made. Thanks, Pamod [1] https://svn.wso2.org/repos/wso2/scratch/pamod/mqtt_wrok/ -- *Pamod Sylvester * * Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- *Pamod Sylvester * * Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Paul Fremantle CTO and Co-Founder, WSO2 OASIS WS-RX TC Co-chair, Apache Member UK: +44 207 096 0336 US: +1 646 595 7614 blog: http://pzf.fremantle.org twitter.com/pzfreo p...@wso2.com wso2.com Lean Enterprise Middleware Disclaimer: This communication may contain privileged or other confidential information and is intended exclusively for the addressee/s. If you are not the intended recipient/s, or believe that you may have received this communication in error, please reply to the sender indicating that fact and delete the copy you received and in addition, you should not print, copy, retransmit, disseminate, or otherwise use the information contained in this communication. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for any errors or omissions. ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] MB 3.0.0 MQTT Integration Status
Hi Paul, +1 to reflect the changes back to the community. Will get in touch with their mailing list. Also next line item is to test the flows using the Interop test suite. Will get back to you with the results ASAP. Thanks, Pamod On Saturday, March 8, 2014, Paul Fremantle p...@wso2.com wrote: Pamod The ideal situation is to aim to get these changes back into Moquette. That means (a) getting them into a shape where they are generically useful to the Moquette community - so that other people wishing to embed Moquette would also look at this and say yes please, and (b) persuading the Moquette group this is a valuable change/addition. Is there any chance of doing an interop test with a beta on the 17th March at EclipseCon? I'll be at the interop day. Paul On 8 March 2014 05:36, Pamod Sylvester pa...@wso2.com wrote: Hi Samisa, Yes we did changes which are local to the Moquette library, However, the changes were done in a separate class to act as an interface between the Andes Kernal and the MQTT library. All the changes which are specific for the kernel integration are embedded in that class, so that when the library updates with a minimum effort we could adopt to the changes. However, it was also considered to totally abstract the library without having us modify any of its content but rather call only its interfaces. Then the challenge was to have a way to resolve circular dependencies. Where, to start the MQTT server MQTT library will depend on Andes and for message exchange Andes will depend on MQTT library. Also, IMO in order to maintain patches which we also need to have the library source code in a separate branch and maintain the way we do for Synapse. Please do correct me if i am wrong. Thanks, Pamod On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe sam...@wso2.com wrote: On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently accessing subscriber connections. The issue was fixed by cloning ByteBuffer instances per subscriber. Note that the wrapped array element was not duplicated or changed. The implemented code and artefacts could be found in [1]. Will commit the code once reviewed. To-Dos ~Need to package the dependencies. - Need to prepare test cases that would cover all the aspects described in the MQTT spec. - Need to test MQTT use cases in a cluster. - Need to load test and perform a long running test. - Need to discuss on the UI aspects. Please do let know if there're amendments to be made. Thanks, Pamod [1] https://svn.wso2.org/repos/wso2/scratch/pamod/mqtt_wrok/ -- Pamod Sylvester Software Engineer Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org Paul Fremantle CTO and Co-Founder, WSO2 OASIS WS-RX TC Co-chair, Apache Member UK: +44 207 096 0336 US: +1 646 595 7614 blog: http://pzf.fremantle.org twitter.com/pzfreo p...@wso2.com wso2.com Lean Enterprise Middleware Disclaimer: This communication may contain privileged or other confidential information and is intended exclusively for the addressee/s. If you are not the intended recipient/s, or believe that you may have received this communication in error, please reply to the sender indicating that fact and delete the copy you received and in addition, you should not print, copy, retransmit, disseminate, or otherwise use the information contained in this communication. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for any errors or omissions. -- *Pamod Sylvester * * Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] MB 3.0.0 MQTT Integration Status
On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently accessing subscriber connections. The issue was fixed by cloning ByteBuffer instances per subscriber. Note that the wrapped array element was not duplicated or changed. The implemented code and artefacts could be found in [1]. Will commit the code once reviewed. To-Dos ~Need to package the dependencies. - Need to prepare test cases that would cover all the aspects described in the MQTT spec. - Need to test MQTT use cases in a cluster. - Need to load test and perform a long running test. - Need to discuss on the UI aspects. Please do let know if there're amendments to be made. Thanks, Pamod [1] https://svn.wso2.org/repos/wso2/scratch/pamod/mqtt_wrok/ -- *Pamod Sylvester * * Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] MB 3.0.0 MQTT Integration Status
Hi Samisa, Yes we did changes which are local to the Moquette library, However, the changes were done in a separate class to act as an interface between the Andes Kernal and the MQTT library. All the changes which are specific for the kernel integration are embedded in that class, so that when the library updates with a minimum effort we could adopt to the changes. However, it was also considered to totally abstract the library without having us modify any of its content but rather call only its interfaces. Then the challenge was to have a way to resolve circular dependencies. Where, to start the MQTT server MQTT library will depend on Andes and for message exchange Andes will depend on MQTT library. Also, IMO in order to maintain patches which we also need to have the library source code in a separate branch and maintain the way we do for Synapse. Please do correct me if i am wrong. Thanks, Pamod On Sat, Mar 8, 2014 at 10:35 AM, Samisa Abeysinghe sam...@wso2.com wrote: On Sat, Mar 8, 2014 at 10:00 AM, Pamod Sylvester pa...@wso2.com wrote: Hi All, The following is the status of the MQTT Moquette library integration with MB 3.0.0, ~ Library was revamped to fit in with the Andes kernel. Have we done local changes in this re-vamp? How do we plan to maintain those if yes? Attached diagram depicts how the messages are flowed between the components at a high level. ~ Implemented a MQTT client for subscription and publishing. ~ Also the Moquette library was patched, the default behaviour of the library did not support multiple subscribers to receive a published message. How do we plan to maintain these patches? That was due to a bug which had a common ByteBuffer shared between concurrently accessing subscriber connections. The issue was fixed by cloning ByteBuffer instances per subscriber. Note that the wrapped array element was not duplicated or changed. The implemented code and artefacts could be found in [1]. Will commit the code once reviewed. To-Dos ~Need to package the dependencies. - Need to prepare test cases that would cover all the aspects described in the MQTT spec. - Need to test MQTT use cases in a cluster. - Need to load test and perform a long running test. - Need to discuss on the UI aspects. Please do let know if there're amendments to be made. Thanks, Pamod [1] https://svn.wso2.org/repos/wso2/scratch/pamod/mqtt_wrok/ -- *Pamod Sylvester * * Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- *Pamod Sylvester * * Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture