Ack from me. /AndersBj
-----Original Message----- From: [email protected] [mailto:[email protected]] Sent: den 7 augusti 2014 10:35 To: Hans Feldt; Anders Widell; Anders Björnerstedt Cc: [email protected] Subject: [PATCH 2 of 3] imm: tune imm macros according to mds mcast size [#851] osaf/libs/common/immsv/include/immsv_api.h | 6 +++--- osaf/services/saf/immsv/immloadd/imm_loader.cc | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) - No functional changes. - The IMM IMMSV_DEFAULT_MAX_SYNC_BATCH_SIZE is limited to 90% MDS_DIRECT_BUF_MAXSIZE (2^16) to accommodate IMM header data. diff --git a/osaf/libs/common/immsv/include/immsv_api.h b/osaf/libs/common/immsv/include/immsv_api.h --- a/osaf/libs/common/immsv/include/immsv_api.h +++ b/osaf/libs/common/immsv/include/immsv_api.h @@ -54,9 +54,9 @@ extern "C" { #define OPENSAF_IMM_ATTR_PBE_RT_TIME "lastApplyTime" #define OPENSAF_IMM_SYNC_BATCH_SIZE "opensafImmSyncBatchSize" -/* Adjust to MDS_DIRECT_BUF_MAXSIZE */ -#define IMMSV_DEFAULT_MAX_SYNC_BATCH_SIZE MDS_DIRECT_BUF_MAXSIZE -#define IMMSV_MAX_OBJS_IN_SYNCBATCH (MDS_DIRECT_BUF_MAXSIZE/10) +/* Adjust to 90% of MDS_DIRECT_BUF_MAXSIZE */ #define +IMMSV_DEFAULT_MAX_SYNC_BATCH_SIZE ((MDS_DIRECT_BUF_MAXSIZE / 100) * 90) +#define IMMSV_MAX_OBJS_IN_SYNCBATCH (IMMSV_DEFAULT_MAX_SYNC_BATCH_SIZE +/ 10) #define OPENSAF_IMM_LONG_DNS_ALLOWED "longDnsAllowed" diff --git a/osaf/services/saf/immsv/immloadd/imm_loader.cc b/osaf/services/saf/immsv/immloadd/imm_loader.cc --- a/osaf/services/saf/immsv/immloadd/imm_loader.cc +++ b/osaf/services/saf/immsv/immloadd/imm_loader.cc @@ -2452,7 +2452,13 @@ int syncObjectsOfClass(std::string class do { if(retries) { - usleep(150000); + /* If we receive TRY_AGAIN while sync in progress means + IMMD might have been reached IMMSV_DEFAULT_FEVS_MAX_PENDING fevs_replies_pending. + In general fevs_replies_pending will be hit in the case of the messages have accumulated in the sender queue + (The most possible reason will be receiver disconnected but the sender link is in TIPC link tolerance of 1.5 sec) + So give enough time to recover as if sync is not a priority messages and possibility of hitting this case because of multicast messaging. + */ + sleep(2); } /* Synchronous for throttling sync */ err = saImmOmSearchNext_2(searchHandle, &objectName, &attributes); ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
