Should not invoke saAmfComponentErrorReport() to AMF
before exit with failure.
In case invoking, AMF don't know how to handle it.
And logd does not start again.
---
src/log/README | 8 --------
src/log/logd/lgs_mbcsv.cc | 16 ++++++++--------
src/log/logd/lgs_oi_admin.cc | 7 +++----
src/log/logd/lgs_util.cc | 4 +---
src/log/logd/lgs_util.h | 2 +-
5 files changed, 13 insertions(+), 24 deletions(-)
diff --git a/src/log/README b/src/log/README
index 30d784033..d38bb708b 100644
--- a/src/log/README
+++ b/src/log/README
@@ -564,10 +564,6 @@ synchronization.
The following is checkpointed and done on standby:
===================================================
-If something goes wrong the general behavior is to restart the component using
-saAmfComponentErrorReport(...,SA_AMF_COMPONENT_RESTART,...) in order to avoid
-being out of sync (will trig a mbcs cold sync).
-
Checkpointed
-------------
@@ -653,10 +649,6 @@ synchronization is trigged when standby detects a new active.
Cold sync:
- At start up / restart
- When changing role
- - When standby detects out of sync.
- AMF is requested to perform a component restart (of standby)
- "saAmfComponentErrorReport(...,SA_AMF_COMPONENT_RESTART,...)"
-
Synchronization of files and handling of log records
----------------------------------------------------
diff --git a/src/log/logd/lgs_mbcsv.cc b/src/log/logd/lgs_mbcsv.cc
index 2d1271c1c..a38f7a5d1 100644
--- a/src/log/logd/lgs_mbcsv.cc
+++ b/src/log/logd/lgs_mbcsv.cc
@@ -1825,7 +1825,7 @@ static uint32_t ckpt_decode_cold_sync(lgs_cb_t *cb,
NCS_MBCSV_CB_ARG *cbk_arg) {
done:
if (rc != NCSCC_RC_SUCCESS) {
/* Do not allow standby to get out of sync */
- lgs_exit("Cold sync failed", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Cold sync failed");
}
TRACE_LEAVE();
return rc;
@@ -1934,7 +1934,7 @@ static uint32_t ckpt_proc_initialize_client(lgs_cb_t *cb,
void *data) {
if ((client = lgs_client_new(param->mds_dest, param->client_id,
param->stream_list)) == NULL) {
/* Do not allow standby to get out of sync */
- lgs_exit("Could not create new client", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Could not create new client");
} else {
client->client_ver = param->client_ver;
}
@@ -1942,7 +1942,7 @@ static uint32_t ckpt_proc_initialize_client(lgs_cb_t *cb,
void *data) {
/* Client with ID already exist, check other attributes */
if (client->mds_dest != param->mds_dest) {
/* Do not allow standby to get out of sync */
- lgs_exit("Client attributes differ", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Client attributes differ");
}
}
} else if (lgs_is_peer_v6()) {
@@ -1957,7 +1957,7 @@ static uint32_t ckpt_proc_initialize_client(lgs_cb_t *cb,
void *data) {
if ((client = lgs_client_new(param->mds_dest, param->client_id,
param->stream_list)) == NULL) {
/* Do not allow standby to get out of sync */
- lgs_exit("Could not create new client", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Could not create new client");
} else {
client->client_ver = param->client_ver;
}
@@ -1965,7 +1965,7 @@ static uint32_t ckpt_proc_initialize_client(lgs_cb_t *cb,
void *data) {
/* Client with ID already exist, check other attributes */
if (client->mds_dest != param->mds_dest) {
/* Do not allow standby to get out of sync */
- lgs_exit("Client attributes differ", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Client attributes differ");
}
}
} else {
@@ -1980,13 +1980,13 @@ static uint32_t ckpt_proc_initialize_client(lgs_cb_t
*cb, void *data) {
if ((client = lgs_client_new(param->mds_dest, param->client_id,
param->stream_list)) == NULL) {
/* Do not allow standby to get out of sync */
- lgs_exit("Could not create new client", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Could not create new client");
}
} else {
/* Client with ID already exist, check other attributes */
if (client->mds_dest != param->mds_dest) {
/* Do not allow standby to get out of sync */
- lgs_exit("Client attributes differ", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Client attributes differ");
}
}
}
@@ -2488,7 +2488,7 @@ uint32_t ckpt_proc_open_stream(lgs_cb_t *cb, void *data) {
/* Do not allow standby to get out of sync */
LOG_ER("%s - Failed to add stream '%s' to client %u", __FUNCTION__,
param->logStreamName, param->clientId);
- lgs_exit("Could not add stream to client", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("Could not add stream to client");
}
/* Stream is opened on standby. Remove from rtobj list if exist */
diff --git a/src/log/logd/lgs_oi_admin.cc b/src/log/logd/lgs_oi_admin.cc
index 8b899219e..afbf3c5eb 100644
--- a/src/log/logd/lgs_oi_admin.cc
+++ b/src/log/logd/lgs_oi_admin.cc
@@ -343,11 +343,11 @@ static void createLogServerOi() {
(ais_rc != SA_AIS_OK)) {
LOG_WA("%s: Fail, OI creation timeout", __FUNCTION__);
// The legacy behavior is to exit log service in this case
- lgs_exit("createLogServerOi() failed", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("createLogServerOi() failed");
} else if (ais_rc != SA_AIS_OK) {
LOG_WA("%s: Fail, OI creation error", __FUNCTION__);
// The legacy behavior is to exit log service in this case
- lgs_exit("createLogServerOi() failed", SA_AMF_COMPONENT_RESTART);
+ lgs_exit("createLogServerOi() failed");
}
// Save OI handle and selection object
@@ -452,8 +452,7 @@ void lgsOiStop() {
if ((io_thread_stop_timeout.is_timeout() == true) &&
(oi_create_is_executing == true)) {
// The OI creation thread is hanging. Recover by restarting log server
- lgs_exit("lgsOiStop: Stopping OI create thread timeout",
- SA_AMF_COMPONENT_RESTART);
+ lgs_exit("lgsOiStop: Stopping OI create thread timeout");
}
// Note: oi_handle_ can be used unprotected here since we know that there is
diff --git a/src/log/logd/lgs_util.cc b/src/log/logd/lgs_util.cc
index 0538de70c..8ba100b1f 100644
--- a/src/log/logd/lgs_util.cc
+++ b/src/log/logd/lgs_util.cc
@@ -340,10 +340,8 @@ done:
return rc;
}
-void lgs_exit(const char *msg, SaAmfRecommendedRecoveryT rec_rcvr) {
+void lgs_exit(const char *msg) {
LOG_ER("Exiting with message: %s", msg);
- (void)saAmfComponentErrorReport(lgs_cb->amf_hdl, &lgs_cb->comp_name, 0,
- rec_rcvr, SA_NTF_IDENTIFIER_UNUSED);
exit(EXIT_FAILURE);
}
diff --git a/src/log/logd/lgs_util.h b/src/log/logd/lgs_util.h
index 11a934fc4..b7c589a99 100644
--- a/src/log/logd/lgs_util.h
+++ b/src/log/logd/lgs_util.h
@@ -64,7 +64,7 @@ extern int lgs_file_rename_h(const std::string &root_path,
const std::string &suffix, std::string
*new_name);
// extern uint32_t lgs_create_known_streams(lgs_cb_t *lgs_cb); /* Not used, no
// code */
-extern void lgs_exit(const char *msg, SaAmfRecommendedRecoveryT rec_rcvr);
+extern void lgs_exit(const char *msg);
extern bool lgs_relative_path_check_ts(const std::string &path);
extern int lgs_make_reldir_h(const std::string &path);
extern int lgs_check_path_exists_h(const std::string &path_to_check);