Hi Vijay Roy , If i have larger imm db to sync , you will end up with same problem again.
-AVM On 8/17/2017 5:34 PM, Vijay Roy wrote:
--- src/smf/smfd/SmfUpgradeStep.cc | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/smf/smfd/SmfUpgradeStep.cc b/src/smf/smfd/SmfUpgradeStep.cc index 909fe12..ebf94ca 100644 --- a/src/smf/smfd/SmfUpgradeStep.cc +++ b/src/smf/smfd/SmfUpgradeStep.cc @@ -890,11 +890,34 @@ bool SmfUpgradeStep::setMaintenanceState(SmfActivationUnit &i_units) { } }- if ((result = immUtil.doImmOperations(operations)) != SA_AIS_OK) {+if ((result = immUtil.doImmOperations(operations)) != SA_AIS_OK) { LOG_NO("Fails to set saAmfSUMaintenanceCampaign, rc=%s", saf_error(result)); - rc = false; - goto exit; - } + + // Fix for SF:2550 + + const uint32_t MAX_NO_RETRIES = 2; + uint32_t retry_cnt = 0; + int ret = SA_AIS_OK; + while (++retry_cnt <= MAX_NO_RETRIES) { + ret = immUtil.doImmOperations(operations); + if (ret != SA_AIS_OK && ret == SA_AIS_ERR_TRY_AGAIN) { + /* + * TRY_AGAIN is returned only when ccb is aborted + * with Resource abort in error string. Resource abort in + * error string is checked presently for modify operation. + */ + continue; + } + } + + if (ret != SA_AIS_OK){ + LOG_NO("SmfUpgradeStep::setMaintenanceState(), fails to set all saAmfSUMaintenanceCampaign attr"); + rc = false; + goto exit; + } + + } + // Fix for SF:2550exit:// Delete the created SmfImmModifyOperation instances
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
