Re: Sending message in sync_activate() callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jason,
thanks for analysis. Transitional queue was introduced to handle cases,
when messages was delivered before membership changes. Sadly, if service
is sending messages inside sync_activate, it's really problem.

Solutions to problem which I was thinking about:
- don't send messages in sync_activate - I don't think it's good solution.
- Add something like "final barrier", which is delivered after all
services are synchronized - This may probably work
- When doing change form transack queue to regular queue, copy messages
somehow (what is the correct order? Also totempg must do same thing)

Any ideas (other solutions, comments, ....)?

Honza

jason napsal(a):
> Hi All,
> With corosync-1.4.5 and openqis-1.1.4, AMF sends messages in its
> sync_activate callback. But if AMF is the last service that SYNCV2 to
> serve, then those messages will not be sent out.
> With some debug I found out that is because of the newly introduced
> new_message_queue_trans. If AMF is the last service that SYNCV2 to serve,
> messages that sent in sync_activate callback(called by
> sync_barrier_handler()) will be hold by new_message_queue_trans queue. Then
> sync_barrier_handler() calls sync_synchronization_complete() results in
> message queue being changed into new_message_queue. So those AMF messages
> in new_message_queue_trans queue will not be sent unless the next round of
> SYNCV2 comes.
> If AMF is not the last service that SYNCV2 to serv, this issue will not
> happen since AMF messages will be flushed by sync barrier message.
> So my question is, is this a bug of AMF? It shall not send message in
> sync_activate callback?
> 
> 
> 
> 
> _______________________________________________
> discuss mailing list
> discuss@xxxxxxxxxxxx
> http://lists.corosync.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss




[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux