mirror_corosync/exec
Jason HU f135b68096 Cancel token holding while in retransmition
When there is no other activty on ring but only retransmition, and
token is in hold mode, the retransmition will become slow. More over,
if the retransmition is always fail but token rotation works well, then
it takes quite a lone time
(fail_to_recv_const * token_hold = 2500 * 180ms = 450sec) for the
retransmit requester to meet the "FAILED TO RECEIVE" condition to
re-construct a new ring.

This problem can be solved by checking if retransmits are present
before going into hold. If a node is the retransmit requester or
the resender, it set my_token_held to 0 to speed up retransmition
and omit further unnecessary sending of token_hold_cancel signal.

Signed-off-by: Jason HU <huzhijiang@gmail.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
2014-08-12 09:28:04 +02:00
..
.gitignore Add .gitignore files. 2010-10-21 07:43:46 -07:00
apidef.c sync: kill evil and syncv1 in one shot 2012-03-09 11:15:08 +01:00
apidef.h Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
cfg.c Indent: Remove newline before else branch start 2014-05-09 11:38:02 +02:00
cmap.c config: Fix typos 2014-07-24 10:27:45 +01:00
coroparse.c votequorum: Make qdev timeout in sync configurable 2014-08-05 17:22:52 +02:00
cpg.c cpg: Make sure left nodes are really removed 2014-02-19 10:59:14 +01:00
cs_queue.h Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
fsm.h Make logging of WD and MON service correct 2012-08-16 14:45:15 +02:00
icmap.c icmap: Add func to test equality of two key values 2013-09-10 17:02:12 +02:00
ipc_glue.c ipc: Process votequorum messages during sync 2014-08-05 17:22:44 +02:00
logconfig.c Reload: Add atomic reload to log config 2013-09-12 16:10:07 +01:00
logconfig.h rename mainconfig to logconfig 2012-05-29 09:36:00 +02:00
logsys.c logsys: Log warning if flightrecorder init fails 2014-06-02 14:36:10 +02:00
main.c Implement config file testing mode 2014-07-16 16:10:32 +02:00
main.h Reload: Make coroparse use a designated icmap hash table 2013-09-12 16:09:06 +01:00
Makefile.am be consistent in using CPPFLAGS vs CFLAGS 2014-07-21 08:47:21 +02:00
mon.c mon: Make monitoring work 2014-02-25 14:57:20 +01:00
pload.c build: bring SOLARIS up to the same standard as other OSes 2012-08-30 15:00:27 +02:00
quorum.c sync: kill evil and syncv1 in one shot 2012-03-09 11:15:08 +01:00
quorum.h Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
schedwrk.c Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
schedwrk.h Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
service.c service: Fix memleak in service_unlink_and_exit 2013-06-21 11:21:29 +02:00
service.h service: remove leftovers from mt corosync 2012-08-09 15:10:16 +02:00
sync.c Correctly check if service was unloaded 2012-10-17 15:06:36 +02:00
sync.h sync: kill evil and syncv1 in one shot 2012-03-09 11:15:08 +01:00
timer.c Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
timer.h Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
totemconfig.c totemconfig: Make sure join timeout is less than consensus 2014-07-25 08:24:02 +01:00
totemconfig.h totemconfig: refactor nodelist_to_interface func 2014-07-22 14:59:31 +02:00
totemcrypto.c crypto: drop < 2.3 protocols and onwire compat 2013-01-14 11:49:32 +01:00
totemcrypto.h crypto: drop < 2.3 protocols and onwire compat 2013-01-14 11:49:32 +01:00
totemiba.c totemiba: Fix incorrect failed log message 2014-05-15 15:28:51 +02:00
totemiba.h Return back "Totem is unable to form..." message 2012-10-08 16:53:35 +02:00
totemip.c Convert the nodeid byte order to be aligned with network order 2013-03-19 16:39:59 +01:00
totemmrp.c Add waiting_trans_ack also to fragmentation layer 2012-11-22 11:48:12 +01:00
totemmrp.h Add waiting_trans_ack also to fragmentation layer 2012-11-22 11:48:12 +01:00
totemnet.c Return back "Totem is unable to form..." message 2012-10-08 16:53:35 +02:00
totemnet.h Return back "Totem is unable to form..." message 2012-10-08 16:53:35 +02:00
totempg.c totempg: Make iov_delv local variable 2013-03-21 14:24:23 +01:00
totemrrp.c totemrrp: Make status string shorter 2013-06-18 14:36:11 +02:00
totemrrp.h Update crypto_set API 2012-03-15 17:33:53 +01:00
totemsrp.c Cancel token holding while in retransmition 2014-08-12 09:28:04 +02:00
totemsrp.h Add waiting_trans_ack also to fragmentation layer 2012-11-22 11:48:12 +01:00
totemudp.c totem: Don't leak instance variable on crypto fail 2013-06-18 14:35:25 +02:00
totemudp.h Return back "Totem is unable to form..." message 2012-10-08 16:53:35 +02:00
totemudpu.c totem: Don't leak instance variable on crypto fail 2013-06-18 14:35:25 +02:00
totemudpu.h Return back "Totem is unable to form..." message 2012-10-08 16:53:35 +02:00
util.c Introduce get_run_dir function 2014-06-02 14:53:18 +02:00
util.h Move ringid store and load from totem library 2014-06-02 14:54:57 +02:00
votequorum.c votequorum: Make qdev timeout in sync configurable 2014-08-05 17:22:52 +02:00
votequorum.h Remove include/engine/quorum and integrate it into exec/engine.h 2012-02-08 08:31:10 -07:00
vsf_quorum.c Free object allocated at quorum_register_callback 2014-01-23 17:18:44 +01:00
vsf_ykd.c Initialize error variable in ykd_init 2013-06-13 10:53:57 +02:00
vsf_ykd.h Remove include/engine/quorum and integrate it into exec/engine.h 2012-02-08 08:31:10 -07:00
vsf.h Update copyright header dates in exec directory 2012-02-13 17:05:04 -07:00
wd.c build: bring SOLARIS up to the same standard as other OSes 2012-08-30 15:00:27 +02:00