Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-12 Thread Asitha Nanayakkara
At start up we can see a log [1] saying we are using both direct storing
and asynchronous storing. Even when asynchronous storing is enabled.

Reason for this log is we have used MessageStoreManager within Disruptor to
call the MessageStore functionality. It's much better if we use the
MessageStore itself within disruptor.

Currently within the AsyncStoringManager we have used Disruptor and
Disruptor uses DirectStoringManager to store messages [2]. I think it is
much cleaner if we use the MessageStore within Disruptor rather than
another MessageStoreManager for Disruptor as well. WDYT?

[1]
INFO {org.wso2.andes.kernel.storemanager.MessageStoreManagerFactory} -
 Message Storing strategy: direct message storing.
INFO {org.wso2.andes.kernel.storemanager.MessageStoreManagerFactory} -
 Message Storing strategy: Asynchronous message storing.

[2]
https://github.com/wso2-dev/andes/blob/b97c175294e6a5f293662be101ef7bb2b7dd8547/modules/andes-core/broker/src/main/java/org/wso2/andes/kernel/storemanager/AsyncStoringManager.java

On Sat, Oct 11, 2014 at 11:06 PM, Asitha Nanayakkara asi...@wso2.com
wrote:



 On Sat, Oct 11, 2014 at 8:52 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:



 On Sat, Oct 11, 2014 at 6:32 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 On Sat, Oct 11, 2014 at 2:50 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 Here are some more tasks we are planning to do along milestone releases
 of MB.

 1. Both come as coodinator when in localhost (should consider port as
 well when slecting coodinator)
 2. Throw necessary SQL exceptions in JDBC (handled by Asitha now I
 believe)


 When in clustered mode if in memory mode is used an exception is thrown
 and the message stores won't get initialized. And each method in the RDBMS
 store classes throws AndesException when an SQLException occur.


AFIR you were missing stack Trace from JDBC driver. Maybe this is
 fixed now.


  Yes. That is fixed.





 3. Need to catch exception (most generic ) and throw
 CassandaDataAccessException in CQLDataAccessHelper
 4. Misleading log - in-memory message store initialized when configured
 with Cassandra


 This Log  is due to the in memory message store that was there in
 MessagingEngine. We have removed it. With that change integrated to the
 pack this log and the initialisation of in memory message store won't
 happen.


  +1


 5. Adjust packaging and put these as debug in log4j.propeties separated
 as kernel, amqp and mqtt


  log4j.logger.org.wso2.andes.server.cassandra.QueueDeliveryWorker=DEBUG
log4j.logger.org.wso2.andes.server.cassandra.SlotDeliveryWorker=DEBUG

  log4j.logger.org.wso2.andes.server.cassandra.OnflightMessageTracker=DEBUG

  log4j.logger.org.wso2.andes.server.cluster.coordination.hazelcast=DEBUG

   We need to separate per message logs as trace logs? We did this in MB
 2.2.0.

 6. Make Onflight Message Tracker NOT AMQP specific.

 Thanks

 On Thu, Oct 2, 2014 at 11:13 AM, Sriskandarajah Suhothayan 
 s...@wso2.com wrote:



 On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific 
 queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate
 method. We use the deleteMessages() method (meta data and content is
 removed through this method). But if we are going to avoid content
 duplication for topics in future we will need to add a method to
 deleteMetadata as well (without specific queue name parameter)


 +1

 Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com
 wrote:

 I've also got started on some re factoring of MQTT related logic
 we've implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since
 in MQTT the way acks are handled are quite different. So we need to 
 address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in
 MQTT in QOS level 2 we wait for a couple of ack exchanges to consider 
 the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store
 (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-11 Thread Hasitha Hiranya
Hi Devs,

Here are some more tasks we are planning to do along milestone releases of
MB.

1. Both come as coodinator when in localhost (should consider port as well
when slecting coodinator)
2. Throw necessary SQL exceptions in JDBC (handled by Asitha now I believe)
3. Need to catch exception (most generic ) and throw
CassandaDataAccessException in CQLDataAccessHelper
4. Misleading log - in-memory message store initialized when configured
with Cassandra
5. Adjust packaging and put these as debug in log4j.propeties separated as
kernel, amqp and mqtt

   log4j.logger.org.wso2.andes.server.cassandra.QueueDeliveryWorker=DEBUG
   log4j.logger.org.wso2.andes.server.cassandra.SlotDeliveryWorker=DEBUG
   log4j.logger.org.wso2.andes.server.cassandra.OnflightMessageTracker=DEBUG
   log4j.logger.org.wso2.andes.server.cluster.coordination.hazelcast=DEBUG

  We need to separate per message logs as trace logs? We did this in MB
2.2.0.

6. Make Onflight Message Tracker NOT AMQP specific.

Thanks

On Thu, Oct 2, 2014 at 11:13 AM, Sriskandarajah Suhothayan s...@wso2.com
wrote:



 On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate method.
 We use the deleteMessages() method (meta data and content is removed
 through this method). But if we are going to avoid content duplication for
 topics in future we will need to add a method to deleteMetadata as well
 (without specific queue name parameter)


 +1

 Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com wrote:

 I've also got started on some re factoring of MQTT related logic we've
 implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since in
 MQTT the way acks are handled are quite different. So we need to address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in MQTT
 in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store
 (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the existing
 model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic. Should
 be removed.

 public void deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
 queue name? AndesRemovableMetadata has queue name inside.

 QueueSubscriptionAcknowledgementHandler need to revisit this class.
 What does this do?? It has threads etc that never stops

 Should remove all global queue related stuff from cluster manager

 should remove all zookeeper related things from whole project up to MB
 product from dependancy level

 moved all message count related stuff to Context store. Now, need to
 implement thsose for jdbc.

 deleteMessageMetadataFromQueue(queueName,removableMetadata)
 @MessageStore. Why queue name? We should get rid of it and implement.

 Thanks

 On Wed, Oct 1, 2014 at 9:25 AM, Darshana 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-11 Thread Asitha Nanayakkara
Hi Hasitha,

On Sat, Oct 11, 2014 at 2:50 PM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi Devs,

 Here are some more tasks we are planning to do along milestone releases of
 MB.

 1. Both come as coodinator when in localhost (should consider port as well
 when slecting coodinator)
 2. Throw necessary SQL exceptions in JDBC (handled by Asitha now I believe)


When in clustered mode if in memory mode is used an exception is thrown and
the message stores won't get initialized. And each method in the RDBMS
store classes throws AndesException when an SQLException occur.


 3. Need to catch exception (most generic ) and throw
 CassandaDataAccessException in CQLDataAccessHelper
 4. Misleading log - in-memory message store initialized when configured
 with Cassandra


This Log  is due to the in memory message store that was there in
MessagingEngine. We have removed it. With that change integrated to the
pack this log and the initialisation of in memory message store won't
happen.

5. Adjust packaging and put these as debug in log4j.propeties separated as
 kernel, amqp and mqtt

log4j.logger.org.wso2.andes.server.cassandra.QueueDeliveryWorker=DEBUG
log4j.logger.org.wso2.andes.server.cassandra.SlotDeliveryWorker=DEBUG

  log4j.logger.org.wso2.andes.server.cassandra.OnflightMessageTracker=DEBUG
log4j.logger.org.wso2.andes.server.cluster.coordination.hazelcast=DEBUG

   We need to separate per message logs as trace logs? We did this in MB
 2.2.0.

 6. Make Onflight Message Tracker NOT AMQP specific.

 Thanks

 On Thu, Oct 2, 2014 at 11:13 AM, Sriskandarajah Suhothayan s...@wso2.com
 wrote:



 On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate method.
 We use the deleteMessages() method (meta data and content is removed
 through this method). But if we are going to avoid content duplication for
 topics in future we will need to add a method to deleteMetadata as well
 (without specific queue name parameter)


 +1

 Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com wrote:

 I've also got started on some re factoring of MQTT related logic we've
 implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since in
 MQTT the way acks are handled are quite different. So we need to address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in
 MQTT in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store
 (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the
 existing model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic. Should
 be removed.

 public void deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
 queue name? AndesRemovableMetadata has queue name inside.

 QueueSubscriptionAcknowledgementHandler 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-11 Thread Hasitha Hiranya
On Sat, Oct 11, 2014 at 6:32 PM, Asitha Nanayakkara asi...@wso2.com wrote:

 Hi Hasitha,

 On Sat, Oct 11, 2014 at 2:50 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 Here are some more tasks we are planning to do along milestone releases
 of MB.

 1. Both come as coodinator when in localhost (should consider port as
 well when slecting coodinator)
 2. Throw necessary SQL exceptions in JDBC (handled by Asitha now I
 believe)


 When in clustered mode if in memory mode is used an exception is thrown
 and the message stores won't get initialized. And each method in the RDBMS
 store classes throws AndesException when an SQLException occur.


   AFIR you were missing stack Trace from JDBC driver. Maybe this is fixed
now.



 3. Need to catch exception (most generic ) and throw
 CassandaDataAccessException in CQLDataAccessHelper
 4. Misleading log - in-memory message store initialized when configured
 with Cassandra


 This Log  is due to the in memory message store that was there in
 MessagingEngine. We have removed it. With that change integrated to the
 pack this log and the initialisation of in memory message store won't
 happen.


 +1


 5. Adjust packaging and put these as debug in log4j.propeties separated as
 kernel, amqp and mqtt

log4j.logger.org.wso2.andes.server.cassandra.QueueDeliveryWorker=DEBUG
log4j.logger.org.wso2.andes.server.cassandra.SlotDeliveryWorker=DEBUG

  log4j.logger.org.wso2.andes.server.cassandra.OnflightMessageTracker=DEBUG
log4j.logger.org.wso2.andes.server.cluster.coordination.hazelcast=DEBUG

   We need to separate per message logs as trace logs? We did this in MB
 2.2.0.

 6. Make Onflight Message Tracker NOT AMQP specific.

 Thanks

 On Thu, Oct 2, 2014 at 11:13 AM, Sriskandarajah Suhothayan s...@wso2.com
  wrote:



 On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate
 method. We use the deleteMessages() method (meta data and content is
 removed through this method). But if we are going to avoid content
 duplication for topics in future we will need to add a method to
 deleteMetadata as well (without specific queue name parameter)


 +1

 Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com wrote:

 I've also got started on some re factoring of MQTT related logic we've
 implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since
 in MQTT the way acks are handled are quite different. So we need to 
 address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in
 MQTT in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store
 (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context
 store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the
 existing model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic.
 Should be removed.

 public void 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-11 Thread Asitha Nanayakkara
On Sat, Oct 11, 2014 at 8:52 PM, Hasitha Hiranya hasit...@wso2.com wrote:



 On Sat, Oct 11, 2014 at 6:32 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 On Sat, Oct 11, 2014 at 2:50 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 Here are some more tasks we are planning to do along milestone releases
 of MB.

 1. Both come as coodinator when in localhost (should consider port as
 well when slecting coodinator)
 2. Throw necessary SQL exceptions in JDBC (handled by Asitha now I
 believe)


 When in clustered mode if in memory mode is used an exception is thrown
 and the message stores won't get initialized. And each method in the RDBMS
 store classes throws AndesException when an SQLException occur.


AFIR you were missing stack Trace from JDBC driver. Maybe this is fixed
 now.


 Yes. That is fixed.





 3. Need to catch exception (most generic ) and throw
 CassandaDataAccessException in CQLDataAccessHelper
 4. Misleading log - in-memory message store initialized when configured
 with Cassandra


 This Log  is due to the in memory message store that was there in
 MessagingEngine. We have removed it. With that change integrated to the
 pack this log and the initialisation of in memory message store won't
 happen.


  +1


 5. Adjust packaging and put these as debug in log4j.propeties separated
 as kernel, amqp and mqtt

log4j.logger.org.wso2.andes.server.cassandra.QueueDeliveryWorker=DEBUG
log4j.logger.org.wso2.andes.server.cassandra.SlotDeliveryWorker=DEBUG

  log4j.logger.org.wso2.andes.server.cassandra.OnflightMessageTracker=DEBUG

  log4j.logger.org.wso2.andes.server.cluster.coordination.hazelcast=DEBUG

   We need to separate per message logs as trace logs? We did this in MB
 2.2.0.

 6. Make Onflight Message Tracker NOT AMQP specific.

 Thanks

 On Thu, Oct 2, 2014 at 11:13 AM, Sriskandarajah Suhothayan 
 s...@wso2.com wrote:



 On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate
 method. We use the deleteMessages() method (meta data and content is
 removed through this method). But if we are going to avoid content
 duplication for topics in future we will need to add a method to
 deleteMetadata as well (without specific queue name parameter)


 +1

 Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com
 wrote:

 I've also got started on some re factoring of MQTT related logic
 we've implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since
 in MQTT the way acks are handled are quite different. So we need to 
 address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in
 MQTT in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store
 (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context
 store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the
 existing model.
 Also cleaned up Global queues whenever I met going thro the code
 when doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at
 messaging engine (tracking aspect) and message store manager (store 
 aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for 
 message
 operations.

 public void 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-01 Thread Hasitha Hiranya
Hi,

I am currently doing the changes suggested by Suho and the team

1. Introducing a Strategy Class for message store (async/direct/hybrid).
   - So far, I could make async strategy class done.
2. remove business logics and threads from message store and make it plain
- done
3. remove ackReceived from store level - done
4. removed topic delivery worker - let us rewrite or merge to queue
delivery worker
5. moved message counting from message store and moved to context store
6. prevented message store access from outside

On the way I had to make modifications and improvements to the existing
model.
Also cleaned up Global queues whenever I met going thro the code when doing
above change.

There are still changes needs to be done.

 what to do when last subscriber goes
 for topic in mbeans how to get message count
 for topics in mbeans for subscriptions how to get pending message counts
 queue browserdelivery worker, need to rewrite getSortedMessages()

 ack received moved to messaging engine. Logic resides at messaging
engine (tracking aspect) and message store manager (store aspect)
 reimplement topic delivery worker

messageStore or message store manager is never given out of message engine.
Do not call them directly. Always use MessagingEngine for message
operations.

public void deleteMessages method in message store has a logic. Should be
removed.

public void deleteMessageMetadataFromQueue(final String
queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
queue name? AndesRemovableMetadata has queue name inside.

QueueSubscriptionAcknowledgementHandler need to revisit this class. What
does this do?? It has threads etc that never stops

Should remove all global queue related stuff from cluster manager

should remove all zookeeper related things from whole project up to MB
product from dependancy level

moved all message count related stuff to Context store. Now, need to
implement thsose for jdbc.

deleteMessageMetadataFromQueue(queueName,removableMetadata) @MessageStore.
Why queue name? We should get rid of it and implement.

Thanks

On Wed, Oct 1, 2014 at 9:25 AM, Darshana Akalanka Pagoda Arachchi 
darsha...@wso2.com wrote:

 Hi,

 Also I think we need to take a look at the CQL Database schema since for
 most of the column families including Meta Data column family and Message
 Content Column family we use the same schema. Because of this the message
 Id which is the primary key in Message Content column family has to be
 converted into String (which is Long) before saving.

 On Tue, Sep 30, 2014 at 10:56 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Shammi,

 In the existing version of MB, for topics we duplicate the content and
 metadata. We thought of having reference counting to avoid duplication of
 message content. But implementing reference counting in Cassandra is
 unreliable (JDBC is ok). Also having different logic for different database
 types is inconsistent with what we wanted to achieve through the new
 storage model (with abstracted out MessageStore interface and storing
 strategies).

 One of the options would be to duplicate metadata with a reference to the
 same content (need a new field in metadata). One of the concerns is how to
 delete content safely without deleting content prior to all the
 subscribers, for the topic, successfully receive the message.

 I think we will have to discuss and relook at what is the best approach
 for this.

 Thanks

 On Tue, Sep 30, 2014 at 4:21 PM, Shammi Jayasinghe sha...@wso2.com
 wrote:

 Hi Hasitha,

 Could you please clarify what you mention my duplicating message
 metadata and content.

 Thanks
 Shammi



 On Tue, Sep 30, 2014 at 11:21 AM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 For MB 3.0.0 we have identified following TODOs for the moment on the
 way to milestone 1.

 duplicate message metadata and content
 message store manager (all methods in message store to be moved to
 manager??)
 durable for in-memory
 depreciated methods in message store remove
 Cassandra server feature remove with Cassandra profile
 Ackreceived - should be removed from message store
 remove all logics from message store and make it plain
 why acks are sent to disruptor??

 topic integration

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Best Regards,

 *  Shammi Jayasinghe*
 Associate Tech Lead
 WSO2, Inc.; http://wso2.com,
 mobile: +94 71 4493085




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682


 ___
 Dev mailing list
 Dev@wso2.org
 http://wso2.org/cgi-bin/mailman/listinfo/dev




 --
 *Darshana Akalanka Pagoda Arachchi,*
 *Software Engineer*
 *078-4721791*

 ___
 Dev mailing list
 Dev@wso2.org
 http://wso2.org/cgi-bin/mailman/listinfo/dev




Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-01 Thread Pamod Sylvester
I've also got started on some re factoring of MQTT related logic we've
implemented to fit in with the new changes.

We also might want to further abstract out ack handling logic, since in
MQTT the way acks are handled are quite different. So we need to address
such polymorphic behaviours as well.

for ex : - in AMQP when an ack arrives we purge the message, but in MQTT in
QOS level 2 we wait for a couple of ack exchanges to consider the message
being delivered.



On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it plain
 - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the existing
 model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic. Should be
 removed.

 public void deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
 queue name? AndesRemovableMetadata has queue name inside.

 QueueSubscriptionAcknowledgementHandler need to revisit this class. What
 does this do?? It has threads etc that never stops

 Should remove all global queue related stuff from cluster manager

 should remove all zookeeper related things from whole project up to MB
 product from dependancy level

 moved all message count related stuff to Context store. Now, need to
 implement thsose for jdbc.

 deleteMessageMetadataFromQueue(queueName,removableMetadata) @MessageStore.
 Why queue name? We should get rid of it and implement.

 Thanks

 On Wed, Oct 1, 2014 at 9:25 AM, Darshana Akalanka Pagoda Arachchi 
 darsha...@wso2.com wrote:

 Hi,

 Also I think we need to take a look at the CQL Database schema since for
 most of the column families including Meta Data column family and Message
 Content Column family we use the same schema. Because of this the message
 Id which is the primary key in Message Content column family has to be
 converted into String (which is Long) before saving.

 On Tue, Sep 30, 2014 at 10:56 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Shammi,

 In the existing version of MB, for topics we duplicate the content and
 metadata. We thought of having reference counting to avoid duplication of
 message content. But implementing reference counting in Cassandra is
 unreliable (JDBC is ok). Also having different logic for different database
 types is inconsistent with what we wanted to achieve through the new
 storage model (with abstracted out MessageStore interface and storing
 strategies).

 One of the options would be to duplicate metadata with a reference to
 the same content (need a new field in metadata). One of the concerns is how
 to delete content safely without deleting content prior to all the
 subscribers, for the topic, successfully receive the message.

 I think we will have to discuss and relook at what is the best approach
 for this.

 Thanks

 On Tue, Sep 30, 2014 at 4:21 PM, Shammi Jayasinghe sha...@wso2.com
 wrote:

 Hi Hasitha,

 Could you please clarify what you mention my duplicating message
 metadata and content.

 Thanks
 Shammi



 On Tue, Sep 30, 2014 at 11:21 AM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 For MB 3.0.0 we have identified following TODOs for the moment on the
 way to milestone 1.

 duplicate message metadata and content
 message store manager (all methods in message store to be moved to
 manager??)
 durable for in-memory
 depreciated methods in message store remove
 Cassandra server feature remove with Cassandra profile
 Ackreceived - should be removed from message store
 remove all logics from message store and make it plain
 why acks are sent to disruptor??

 topic integration

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-01 Thread Asitha Nanayakkara
Hi Hasitha,

Concerns regarding *deleteMessageMetadataFromQueue(final String
queueName,ListAndesRemovableMetadata messagesToRemove)*

This method is used to delete meta data from a specific queue *queueName
(Note: *queueName in actual meta data would be different*). *This methods'
use case is to delete messages from a DLC. Note that there are methods to
add meta data to DLC too. (parameter to give the specific queue to be
stored to)

*public void addMetaDataToQueue(final String queueName,
AndesMessageMetadata metadata) throws AndesException;*
*public void addMetadataToQueue(final String queueName,
ListAndesMessageMetadata metadata) throws AndesException;*

For the normal use case, to delete metadata there is no separate method. We
use the deleteMessages() method (meta data and content is removed through
this method). But if we are going to avoid content duplication for topics
in future we will need to add a method to deleteMetadata as well (without
specific queue name parameter)

On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com wrote:

 I've also got started on some re factoring of MQTT related logic we've
 implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since in
 MQTT the way acks are handled are quite different. So we need to address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in MQTT
 in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the existing
 model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic. Should be
 removed.

 public void deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
 queue name? AndesRemovableMetadata has queue name inside.

 QueueSubscriptionAcknowledgementHandler need to revisit this class. What
 does this do?? It has threads etc that never stops

 Should remove all global queue related stuff from cluster manager

 should remove all zookeeper related things from whole project up to MB
 product from dependancy level

 moved all message count related stuff to Context store. Now, need to
 implement thsose for jdbc.

 deleteMessageMetadataFromQueue(queueName,removableMetadata)
 @MessageStore. Why queue name? We should get rid of it and implement.

 Thanks

 On Wed, Oct 1, 2014 at 9:25 AM, Darshana Akalanka Pagoda Arachchi 
 darsha...@wso2.com wrote:

 Hi,

 Also I think we need to take a look at the CQL Database schema since for
 most of the column families including Meta Data column family and Message
 Content Column family we use the same schema. Because of this the message
 Id which is the primary key in Message Content column family has to be
 converted into String (which is Long) before saving.

 On Tue, Sep 30, 2014 at 10:56 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Shammi,

 In the existing version of MB, for topics we duplicate the content and
 metadata. We thought of having reference counting to avoid duplication of
 message content. But implementing reference counting in Cassandra is
 unreliable (JDBC is ok). Also having different logic for different database
 types is inconsistent with what we wanted to achieve through the new
 storage model (with abstracted out MessageStore interface and storing
 strategies).

 One of the options would be to duplicate metadata with a reference to
 the same content (need a new field in metadata). One of the concerns is how
 to delete content safely without deleting content prior to all the
 subscribers, for the 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-10-01 Thread Sriskandarajah Suhothayan
On Thu, Oct 2, 2014 at 11:06 AM, Asitha Nanayakkara asi...@wso2.com wrote:

 Hi Hasitha,

 Concerns regarding *deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove)*

 This method is used to delete meta data from a specific queue *queueName
 (Note: *queueName in actual meta data would be different*). *This
 methods' use case is to delete messages from a DLC. Note that there are
 methods to add meta data to DLC too. (parameter to give the specific queue
 to be stored to)

 *public void addMetaDataToQueue(final String queueName,
 AndesMessageMetadata metadata) throws AndesException;*
 *public void addMetadataToQueue(final String queueName,
 ListAndesMessageMetadata metadata) throws AndesException;*

 For the normal use case, to delete metadata there is no separate method.
 We use the deleteMessages() method (meta data and content is removed
 through this method). But if we are going to avoid content duplication for
 topics in future we will need to add a method to deleteMetadata as well
 (without specific queue name parameter)


 +1

Suho


 On Wed, Oct 1, 2014 at 8:53 PM, Pamod Sylvester pa...@wso2.com wrote:

 I've also got started on some re factoring of MQTT related logic we've
 implemented to fit in with the new changes.

 We also might want to further abstract out ack handling logic, since in
 MQTT the way acks are handled are quite different. So we need to address
 such polymorphic behaviours as well.

 for ex : - in AMQP when an ack arrives we purge the message, but in MQTT
 in QOS level 2 we wait for a couple of ack exchanges to consider the
 message being delivered.



 On Wed, Oct 1, 2014 at 7:13 PM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi,

 I am currently doing the changes suggested by Suho and the team

 1. Introducing a Strategy Class for message store (async/direct/hybrid).
- So far, I could make async strategy class done.
 2. remove business logics and threads from message store and make it
 plain - done
 3. remove ackReceived from store level - done
 4. removed topic delivery worker - let us rewrite or merge to queue
 delivery worker
 5. moved message counting from message store and moved to context store
 6. prevented message store access from outside

 On the way I had to make modifications and improvements to the existing
 model.
 Also cleaned up Global queues whenever I met going thro the code when
 doing above change.

 There are still changes needs to be done.

  what to do when last subscriber goes
  for topic in mbeans how to get message count
  for topics in mbeans for subscriptions how to get pending message
 counts
  queue browserdelivery worker, need to rewrite getSortedMessages()

  ack received moved to messaging engine. Logic resides at messaging
 engine (tracking aspect) and message store manager (store aspect)
  reimplement topic delivery worker

 messageStore or message store manager is never given out of message
 engine. Do not call them directly. Always use MessagingEngine for message
 operations.

 public void deleteMessages method in message store has a logic. Should
 be removed.

 public void deleteMessageMetadataFromQueue(final String
 queueName,ListAndesRemovableMetadata messagesToRemove) why there is a
 queue name? AndesRemovableMetadata has queue name inside.

 QueueSubscriptionAcknowledgementHandler need to revisit this class. What
 does this do?? It has threads etc that never stops

 Should remove all global queue related stuff from cluster manager

 should remove all zookeeper related things from whole project up to MB
 product from dependancy level

 moved all message count related stuff to Context store. Now, need to
 implement thsose for jdbc.

 deleteMessageMetadataFromQueue(queueName,removableMetadata)
 @MessageStore. Why queue name? We should get rid of it and implement.

 Thanks

 On Wed, Oct 1, 2014 at 9:25 AM, Darshana Akalanka Pagoda Arachchi 
 darsha...@wso2.com wrote:

 Hi,

 Also I think we need to take a look at the CQL Database schema since
 for most of the column families including Meta Data column family and
 Message Content Column family we use the same schema. Because of this the
 message Id which is the primary key in Message Content column family has to
 be converted into String (which is Long) before saving.

 On Tue, Sep 30, 2014 at 10:56 PM, Asitha Nanayakkara asi...@wso2.com
 wrote:

 Hi Shammi,

 In the existing version of MB, for topics we duplicate the content and
 metadata. We thought of having reference counting to avoid duplication of
 message content. But implementing reference counting in Cassandra is
 unreliable (JDBC is ok). Also having different logic for different 
 database
 types is inconsistent with what we wanted to achieve through the new
 storage model (with abstracted out MessageStore interface and storing
 strategies).

 One of the options would be to duplicate metadata with a reference to
 the same content (need a new field in metadata). One of 

Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-09-30 Thread Pamod Sylvester
Add to that

 Need to review the CQL message store to re adopt to the new
architecture.

Thanks,
Pamod

On Tue, Sep 30, 2014 at 11:21 AM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi Devs,

 For MB 3.0.0 we have identified following TODOs for the moment on the way
 to milestone 1.

 duplicate message metadata and content
 message store manager (all methods in message store to be moved to
 manager??)
 durable for in-memory
 depreciated methods in message store remove
 Cassandra server feature remove with Cassandra profile
 Ackreceived - should be removed from message store
 remove all logics from message store and make it plain
 why acks are sent to disruptor??

 topic integration

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




-- 
*Pamod Sylvester *
 *Senior Software Engineer *
Integration Technologies Team, WSO2 Inc.; http://wso2.com
email: pa...@wso2.com cell: +94 77 7779495
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-09-30 Thread Shammi Jayasinghe
Hi Hasitha,

Could you please clarify what you mention my duplicating message metadata
and content.

Thanks
Shammi



On Tue, Sep 30, 2014 at 11:21 AM, Hasitha Hiranya hasit...@wso2.com wrote:

 Hi Devs,

 For MB 3.0.0 we have identified following TODOs for the moment on the way
 to milestone 1.

 duplicate message metadata and content
 message store manager (all methods in message store to be moved to
 manager??)
 durable for in-memory
 depreciated methods in message store remove
 Cassandra server feature remove with Cassandra profile
 Ackreceived - should be removed from message store
 remove all logics from message store and make it plain
 why acks are sent to disruptor??

 topic integration

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




-- 
Best Regards,

*  Shammi Jayasinghe*
Associate Tech Lead
WSO2, Inc.; http://wso2.com,
mobile: +94 71 4493085
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-09-30 Thread Asitha Nanayakkara
Hi Shammi,

In the existing version of MB, for topics we duplicate the content and
metadata. We thought of having reference counting to avoid duplication of
message content. But implementing reference counting in Cassandra is
unreliable (JDBC is ok). Also having different logic for different database
types is inconsistent with what we wanted to achieve through the new
storage model (with abstracted out MessageStore interface and storing
strategies).

One of the options would be to duplicate metadata with a reference to the
same content (need a new field in metadata). One of the concerns is how to
delete content safely without deleting content prior to all the
subscribers, for the topic, successfully receive the message.

I think we will have to discuss and relook at what is the best approach for
this.

Thanks

On Tue, Sep 30, 2014 at 4:21 PM, Shammi Jayasinghe sha...@wso2.com wrote:

 Hi Hasitha,

 Could you please clarify what you mention my duplicating message metadata
 and content.

 Thanks
 Shammi



 On Tue, Sep 30, 2014 at 11:21 AM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 For MB 3.0.0 we have identified following TODOs for the moment on the way
 to milestone 1.

 duplicate message metadata and content
 message store manager (all methods in message store to be moved to
 manager??)
 durable for in-memory
 depreciated methods in message store remove
 Cassandra server feature remove with Cassandra profile
 Ackreceived - should be removed from message store
 remove all logics from message store and make it plain
 why acks are sent to disruptor??

 topic integration

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Best Regards,

 *  Shammi Jayasinghe*
 Associate Tech Lead
 WSO2, Inc.; http://wso2.com,
 mobile: +94 71 4493085




-- 
*Asitha Nanayakkara*
Software Engineer
WSO2, Inc. http://wso2.com/
Mob: + 94 77 85 30 682
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-09-30 Thread Darshana Akalanka Pagoda Arachchi
Hi,

Also I think we need to take a look at the CQL Database schema since for
most of the column families including Meta Data column family and Message
Content Column family we use the same schema. Because of this the message
Id which is the primary key in Message Content column family has to be
converted into String (which is Long) before saving.

On Tue, Sep 30, 2014 at 10:56 PM, Asitha Nanayakkara asi...@wso2.com
wrote:

 Hi Shammi,

 In the existing version of MB, for topics we duplicate the content and
 metadata. We thought of having reference counting to avoid duplication of
 message content. But implementing reference counting in Cassandra is
 unreliable (JDBC is ok). Also having different logic for different database
 types is inconsistent with what we wanted to achieve through the new
 storage model (with abstracted out MessageStore interface and storing
 strategies).

 One of the options would be to duplicate metadata with a reference to the
 same content (need a new field in metadata). One of the concerns is how to
 delete content safely without deleting content prior to all the
 subscribers, for the topic, successfully receive the message.

 I think we will have to discuss and relook at what is the best approach
 for this.

 Thanks

 On Tue, Sep 30, 2014 at 4:21 PM, Shammi Jayasinghe sha...@wso2.com
 wrote:

 Hi Hasitha,

 Could you please clarify what you mention my duplicating message metadata
 and content.

 Thanks
 Shammi



 On Tue, Sep 30, 2014 at 11:21 AM, Hasitha Hiranya hasit...@wso2.com
 wrote:

 Hi Devs,

 For MB 3.0.0 we have identified following TODOs for the moment on the
 way to milestone 1.

 duplicate message metadata and content
 message store manager (all methods in message store to be moved to
 manager??)
 durable for in-memory
 depreciated methods in message store remove
 Cassandra server feature remove with Cassandra profile
 Ackreceived - should be removed from message store
 remove all logics from message store and make it plain
 why acks are sent to disruptor??

 topic integration

 Thanks
 --
 *Hasitha Abeykoon*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 *cell:* *+94 719363063*
 *blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com




 --
 Best Regards,

 *  Shammi Jayasinghe*
 Associate Tech Lead
 WSO2, Inc.; http://wso2.com,
 mobile: +94 71 4493085




 --
 *Asitha Nanayakkara*
 Software Engineer
 WSO2, Inc. http://wso2.com/
 Mob: + 94 77 85 30 682


 ___
 Dev mailing list
 Dev@wso2.org
 http://wso2.org/cgi-bin/mailman/listinfo/dev




-- 
*Darshana Akalanka Pagoda Arachchi,*
*Software Engineer*
*078-4721791*
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] WSO2 MB 3.0.0 - TODOs in store aspect

2014-09-29 Thread Hasitha Hiranya
Hi Devs,

For MB 3.0.0 we have identified following TODOs for the moment on the way
to milestone 1.

duplicate message metadata and content
message store manager (all methods in message store to be moved to
manager??)
durable for in-memory
depreciated methods in message store remove
Cassandra server feature remove with Cassandra profile
Ackreceived - should be removed from message store
remove all logics from message store and make it plain
why acks are sent to disruptor??

topic integration

Thanks
-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* http://abeykoon.blogspot.com
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev