Hi Hung,
Reviewed the code.
Ack from me.
Thanks,
Zoran
-Original Message-
From: Hung Nguyen [mailto:hung.d.ngu...@dektech.com.au]
Sent: den 4 juli 2016 12:39
To: Zoran Milinkovic; reddy.neelaka...@oracle.com
Cc: opensaf-devel@lists.sourceforge.net
Subject: [PATCH 1 of 1] imm: Return ERR_NO_RESOURCES to IMM when PBE fails to
get ccb outcome [#1904]
osaf/libs/common/immsv/immpbe_dump.cc| 4 ++--
osaf/services/saf/immsv/immpbed/immpbe_daemon.cc | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
When getting ccb outcome after a restart, if PBE fails to find the CCB,
ERR_NO_RESOURCES will be returned to IMM server.
That way the ccb will be marked as resource aborted, and user will be able to
retry the ccb.
diff --git a/osaf/libs/common/immsv/immpbe_dump.cc
b/osaf/libs/common/immsv/immpbe_dump.cc
--- a/osaf/libs/common/immsv/immpbe_dump.cc
+++ b/osaf/libs/common/immsv/immpbe_dump.cc
@@ -3054,7 +3054,7 @@ SaAisErrorT getCcbOutcomeFromPbe(void* d
sqlite3* dbHandle = (sqlite3 *) db_handle;
sqlite3_stmt *stmt;
int rc=0;
- SaAisErrorT err = SA_AIS_ERR_BAD_OPERATION;
+ SaAisErrorT err = SA_AIS_ERR_NO_RESOURCES;
bool badfile=false;
TRACE_ENTER2("get Outcome for ccb:%llu", ccbId);
@@ -3068,7 +3068,7 @@ SaAisErrorT getCcbOutcomeFromPbe(void* d
if(rc == SQLITE_DONE) {
sqlite3_reset(stmt);
LOG_NO("getCcbOutcomeFromPbe: Could not find ccb %llu presume
ABORT", ccbId);
- err = SA_AIS_ERR_BAD_OPERATION;
+ err = SA_AIS_ERR_NO_RESOURCES;
} else if(rc != SQLITE_ROW) {
LOG_ER("SQL statement ('%s') failed because:\n %s",
preparedSql[SQL_SEL_CCB_COMMITS],
sqlite3_errmsg(dbHandle));
diff --git a/osaf/services/saf/immsv/immpbed/immpbe_daemon.cc
b/osaf/services/saf/immsv/immpbed/immpbe_daemon.cc
--- a/osaf/services/saf/immsv/immpbed/immpbe_daemon.cc
+++ b/osaf/services/saf/immsv/immpbed/immpbe_daemon.cc
@@ -1377,7 +1377,7 @@ static SaAisErrorT saImmOiCcbCompletedCa
if ((ccbUtilCcbData = ccbutil_findCcbData(ccbId)) == NULL) {
LOG_WA("Failed to find CCB object for %llx/%llu - checking DB
file for outcome", ccbId, ccbId);
- rc = getCcbOutcomeFromPbe(sDbHandle, ccbId, sEpoch);/*
rc=BAD_OPERATION or OK */
+ rc = getCcbOutcomeFromPbe(sDbHandle, ccbId, sEpoch);/*
rc=NO_RESOURCES or OK */
(void) ccbutil_getCcbData(ccbId); /*generate an empty record*/
goto done;
}
--
Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel