Re: [Architecture] MB 3.0.0 MQTT Integration Status

2014-03-10 Thread Pamod Sylvester
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

2014-03-10 Thread Srinath Perera
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

2014-03-10 Thread Srinath Perera
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

2014-03-10 Thread Pamod Sylvester
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

2014-03-08 Thread Paul Fremantle
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

2014-03-08 Thread Pamod Sylvester
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

2014-03-07 Thread Samisa Abeysinghe
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

2014-03-07 Thread Pamod Sylvester
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