This commit as part of #3095 updates the error string with
pattern "FCTRL:*Error[*]", in order to help grep-ing the
error in mds debug log.
---
src/mds/mds_tipc_fctrl_intf.cc | 59 +++++++++++++++++++++++++---------------
src/mds/mds_tipc_fctrl_portid.cc | 10 ++++---
2 files changed, 43 insertions(+), 26 deletions(-)
diff --git a/src/mds/mds_tipc_fctrl_intf.cc b/src/mds/mds_tipc_fctrl_intf.cc
index 8018064..e7f53ed 100644
--- a/src/mds/mds_tipc_fctrl_intf.cc
+++ b/src/mds/mds_tipc_fctrl_intf.cc
@@ -93,7 +93,7 @@ void tmr_exp_cbk(void* uarg) {
// send to fctrl thread
if (m_NCS_IPC_SEND(&mbx_events, new Event(timer->type_),
NCS_IPC_PRIORITY_HIGH) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events\n");
+ m_MDS_LOG_ERR("FCTRL: Error[Failed to send msg to mbx_events]");
}
}
}
@@ -130,7 +130,9 @@ uint32_t process_flow_event(const Event& evt) {
rc = portid->ReceiveData(evt.mseq_, evt.mfrag_,
evt.fseq_, evt.svc_id_);
} else {
- m_MDS_LOG_ERR("PortId not found for evt:%d", (int)evt.type_);
+ m_MDS_LOG_ERR("FCTRL: [me] <-- [node:%x, ref:%u], "
+ "RcvEvt[evt:%d], Error[PortId not found]",
+ evt.id_.node, evt.id_.ref, (int)evt.type_);
}
} else {
if (evt.type_ == Event::Type::kEvtRcvData) {
@@ -169,7 +171,7 @@ uint32_t process_all_events(void) {
if (pollres == -1) {
if (errno == EINTR) continue;
- m_MDS_LOG_ERR("FCTRL: poll() failed:%s", strerror(errno));
+ m_MDS_LOG_ERR("FCTRL: poll() failed, Error[%s]", strerror(errno));
break;
}
@@ -212,18 +214,21 @@ uint32_t create_ncs_task(void *task_hdl) {
int prio_val = ((max_prio - min_prio) * 0.87);
if (m_NCS_IPC_CREATE(&mbx_events) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("m_NCS_IPC_CREATE failed");
+ m_MDS_LOG_ERR("FCTRL: m_NCS_IPC_CREATE failed, Error[%s]",
+ strerror(errno));
return NCSCC_RC_FAILURE;
}
if (m_NCS_IPC_ATTACH(&mbx_events) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("m_NCS_IPC_ATTACH failed");
+ m_MDS_LOG_ERR("FCTRL: m_NCS_IPC_ATTACH failed, Error[%s]",
+ strerror(errno));
m_NCS_IPC_RELEASE(&mbx_events, nullptr);
return NCSCC_RC_FAILURE;
}
if (ncs_task_create((NCS_OS_CB)process_all_events, 0,
"OSAF_MDS", prio_val, policy, NCS_MDTM_STACKSIZE,
&task_hdl) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: ncs_task_create() failed\n");
+ m_MDS_LOG_ERR("FCTRL: ncs_task_create(), Error[%s]",
+ strerror(errno));
m_NCS_IPC_RELEASE(&mbx_events, nullptr);
return NCSCC_RC_FAILURE;
}
@@ -247,7 +252,8 @@ uint32_t mds_tipc_fctrl_initialize(int dgramsock, struct
tipc_portid id,
if (create_ncs_task(&p_task_hdl) !=
NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: create_ncs_task() failed\n");
+ m_MDS_LOG_ERR("FCTRL: create_ncs_task() failed, Error[%s]",
+ strerror(errno));
return NCSCC_RC_FAILURE;
}
is_fctrl_enabled = true;
@@ -263,7 +269,8 @@ uint32_t mds_tipc_fctrl_shutdown(void) {
portid_map_mutex.lock();
if (ncs_task_release(p_task_hdl) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: Stop of the Created Task-failed:\n");
+ m_MDS_LOG_ERR("FCTRL: Stop of the Created Task-failed, Error[%s]",
+ strerror(errno));
}
m_NCS_IPC_DETACH(&mbx_events, nullptr, nullptr);
@@ -291,7 +298,8 @@ uint32_t mds_tipc_fctrl_sndqueue_capable(struct tipc_portid
id,
TipcPortId *portid = portid_lookup(id);
if (portid == nullptr) {
- m_MDS_LOG_ERR("FCTRL: PortId not found [node:%x, ref:%u] line:%u",
+ m_MDS_LOG_ERR("FCTRL: [me] --> [node:%x, ref:%u], "
+ "[line:%u], Error[PortId not found]",
id.node, id.ref, __LINE__);
rc = NCSCC_RC_FAILURE;
} else {
@@ -316,7 +324,8 @@ uint32_t mds_tipc_fctrl_trysend(const uint8_t *buffer,
uint16_t len,
TipcPortId *portid = portid_lookup(id);
if (portid == nullptr) {
- m_MDS_LOG_ERR("FCTRL: PortId not found [node:%x, ref:%u] line:%u",
+ m_MDS_LOG_ERR("FCTRL: [me] --> [node:%x, ref:%u], "
+ "[line:%u], Error[PortId not found]",
id.node, id.ref, __LINE__);
rc = NCSCC_RC_FAILURE;
} else {
@@ -420,7 +429,8 @@ uint32_t mds_tipc_fctrl_drop_data(uint8_t *buffer, uint16_t
len,
new Event(Event::Type::kEvtSendChunkAck, id, ack.svc_id_,
header.mseq_, header.mfrag_, ack.acked_fseq_, ack.chunk_size_),
NCS_IPC_PRIORITY_HIGH) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events\n");
+ m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events, Error[%s]",
+ strerror(errno));
return NCSCC_RC_FAILURE;
}
return NCSCC_RC_SUCCESS;
@@ -434,7 +444,8 @@ uint32_t mds_tipc_fctrl_drop_data(uint8_t *buffer, uint16_t
len,
new Event(Event::Type::kEvtDropData, id, data.svc_id_,
header.mseq_, header.mfrag_, header.fseq_),
NCS_IPC_PRIORITY_HIGH) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events\n");
+ m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events, Error[%s]",
+ strerror(errno));
return NCSCC_RC_FAILURE;
}
return NCSCC_RC_SUCCESS;
@@ -462,13 +473,10 @@ uint32_t mds_tipc_fctrl_rcv_data(uint8_t *buffer,
uint16_t len,
new Event(Event::Type::kEvtRcvChunkAck, id, ack.svc_id_,
header.mseq_, header.mfrag_, ack.acked_fseq_, ack.chunk_size_),
NCS_IPC_PRIORITY_HIGH) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events\n");
+ m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events, Error[%s]",
+ strerror(errno));
}
- // return NCSCC_RC_FAILURE, so the tipc receiving thread (legacy) will
- // skip this data msg
- return NCSCC_RC_FAILURE;
- }
- if (header.msg_type_ == Nack::kNackMsgType) {
+ } else if (header.msg_type_ == Nack::kNackMsgType) {
// receive nack message
Nack nack;
nack.Decode(buffer);
@@ -477,12 +485,17 @@ uint32_t mds_tipc_fctrl_rcv_data(uint8_t *buffer,
uint16_t len,
new Event(Event::Type::kEvtRcvNack, id, nack.svc_id_,
header.mseq_, header.mfrag_, nack.nacked_fseq_),
NCS_IPC_PRIORITY_HIGH) != NCSCC_RC_SUCCESS) {
- m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events\n");
+ m_MDS_LOG_ERR("FCTRL: Failed to send msg to mbx_events, Error[%s]",
+ strerror(errno));
}
- // return NCSCC_RC_FAILURE, so the tipc receiving thread (legacy) will
- // skip this data msg
- return NCSCC_RC_FAILURE;
+ } else {
+ m_MDS_LOG_ERR("FCTRL: [me] <-- [node:%x, ref:%u], "
+ "[msg_type:%u], Error[not supported message type]",
+ id.node, id.ref, header.msg_type_);
}
+ // return NCSCC_RC_FAILURE, so the tipc receiving thread (legacy) will
+ // skip this data msg
+ return NCSCC_RC_FAILURE;
} else {
// receive data message
DataMessage data;
@@ -490,6 +503,8 @@ uint32_t mds_tipc_fctrl_rcv_data(uint8_t *buffer, uint16_t
len,
// todo: skip mcast/bcast, revisit
if ((data.snd_type_ == MDS_SENDTYPE_BCAST ||
data.snd_type_ == MDS_SENDTYPE_RBCAST) && is_mcast_enabled) {
+ m_MDS_LOG_NOTIFY("FCTRL: Skip fseq inspection for BCAST/RBCAST message"
+ "[fseq:%u]", header.fseq_);
return NCSCC_RC_SUCCESS;
}
portid_map_mutex.lock();
diff --git a/src/mds/mds_tipc_fctrl_portid.cc b/src/mds/mds_tipc_fctrl_portid.cc
index 8235265..24a7e2a 100644
--- a/src/mds/mds_tipc_fctrl_portid.cc
+++ b/src/mds/mds_tipc_fctrl_portid.cc
@@ -161,7 +161,7 @@ uint32_t TipcPortId::Send(uint8_t* data, uint16_t length) {
if (send_len == length) {
rc = NCSCC_RC_SUCCESS;
} else {
- m_MDS_LOG_ERR("sendto() err :%s", strerror(errno));
+ m_MDS_LOG_ERR("FCTRL: sendto() failed, Error[%s]", strerror(errno));
rc = NCSCC_RC_FAILURE;
}
return rc;
@@ -208,8 +208,9 @@ bool TipcPortId::ReceiveCapable(uint16_t sending_len) {
// Too many msgs are not acked by receiver while in txprob state
// disable flow control
state_ = State::kDisabled;
- m_MDS_LOG_ERR("FCTRL: [node:%x, ref:%u] --> Disabled, %" PRIu64
- ", %u, %" PRIu64, id_.node, id_.ref, sndwnd_.nacked_space_,
+ m_MDS_LOG_ERR("FCTRL: me --> [node:%x, ref:%u], [nacked:%" PRIu64
+ ", len:%u, rcv_buf_size:%" PRIu64 "], Warning[kTxProb -> kDisabled]",
+ id_.node, id_.ref, sndwnd_.nacked_space_,
sending_len, rcv_buf_size_);
return true;
} else if (state_ == State::kEnabled) {
@@ -442,7 +443,8 @@ void TipcPortId::ReceiveNack(uint32_t mseq, uint16_t mfrag,
}
if (state_ == State::kRcvBuffOverflow) {
m_MDS_LOG_ERR("FCTRL: [me] <-- [node:%x, ref:%u], "
- "RcvNack, ignore[fseq:%u, state:%u]",
+ "RcvNack[fseq:%u, state:%u]"
+ "Warning[Ignore Nack]",
id_.node, id_.ref,
fseq, (uint8_t)state_);
sndqueue_.MarkUnsentFrom(Seq16(fseq));
--
2.7.4
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel