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,List<AndesRemovableMetadata> 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 <078-4721791>*
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *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
>
>


-- 
*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

Reply via email to