Skip to content

Commit

Permalink
Merge "Agent crashes at AgentIfMapXmppChannel::ReceiveConfigMessage" …
Browse files Browse the repository at this point in the history
…into R2.20
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Apr 23, 2015
2 parents 8eeae1f + 53ff6c9 commit 3532de5
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 12 deletions.
35 changes: 26 additions & 9 deletions src/vnsw/agent/cmn/agent.cc
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,17 @@ void Agent::SetAgentTaskPolicy() {
"io::ReaderTask",
"Agent::Uve",
"Agent::KSync",
"Agent::PktFlowResponder"
"Agent::PktFlowResponder",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("db::DBTable", db_exclude_list,
sizeof(db_exclude_list) / sizeof(char *));

const char *flow_exclude_list[] = {
"Agent::StatsCollector",
"io::ReaderTask",
"Agent::PktFlowResponder"
"Agent::PktFlowResponder",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("Agent::FlowHandler", flow_exclude_list,
sizeof(flow_exclude_list) / sizeof(char *));
Expand All @@ -118,7 +120,8 @@ void Agent::SetAgentTaskPolicy() {
"Agent::Services",
"Agent::StatsCollector",
"io::ReaderTask",
"Agent::PktFlowResponder"
"Agent::PktFlowResponder",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("sandesh::RecvQueue", sandesh_exclude_list,
sizeof(sandesh_exclude_list) / sizeof(char *));
Expand All @@ -131,21 +134,24 @@ void Agent::SetAgentTaskPolicy() {
"io::ReaderTask",
"Agent::ControllerXmpp",
"Agent::RouteWalker",
"db::DBTable"
"db::DBTable",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("bgp::Config", xmpp_config_exclude_list,
sizeof(xmpp_config_exclude_list) / sizeof(char *));

const char *controller_xmpp_exclude_list[] = {
"io::ReaderTask",
"db::DBTable"
"db::DBTable",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("Agent::ControllerXmpp", controller_xmpp_exclude_list,
sizeof(controller_xmpp_exclude_list) / sizeof(char *));

const char *walk_cancel_exclude_list[] = {
"Agent::ControllerXmpp",
"db::DBTable"
"db::DBTable",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("Agent::RouteWalker", walk_cancel_exclude_list,
sizeof(walk_cancel_exclude_list) / sizeof(char *));
Expand All @@ -154,22 +160,33 @@ void Agent::SetAgentTaskPolicy() {
"Agent::FlowHandler",
"Agent::StatsCollector",
"db::DBTable",
"Agent::PktFlowResponder"
"Agent::PktFlowResponder",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("Agent::KSync", ksync_exclude_list,
sizeof(ksync_exclude_list) / sizeof(char *));

const char *stats_collector_exclude_list[] = {
"Agent::PktFlowResponder"
"Agent::PktFlowResponder",
AGENT_INIT_TASKNAME
};
SetTaskPolicyOne("Agent::StatsCollector", stats_collector_exclude_list,
sizeof(stats_collector_exclude_list) / sizeof(char *));

const char *metadata_exclude_list[] = {
"xmpp::StateMachine",
"http::RequestHandlerTask"
};
SetTaskPolicyOne("http client", metadata_exclude_list,
sizeof(metadata_exclude_list) / sizeof(char *));

const char *agent_init_exclude_list[] = {
"xmpp::StateMachine",
"http client",
"db::DBTable"
};
SetTaskPolicyOne(AGENT_INIT_TASKNAME, agent_init_exclude_list,
sizeof(agent_init_exclude_list) / sizeof(char *));
}

void Agent::CreateLifetimeManager() {
Expand Down Expand Up @@ -553,7 +570,7 @@ bool Agent::isVmwareVcenterMode() const {

void Agent::ConcurrencyCheck() {
if (test_mode_) {
CHECK_CONCURRENCY("db::DBTable", "Agent::KSync");
CHECK_CONCURRENCY("db::DBTable", "Agent::KSync", AGENT_INIT_TASKNAME);
}
}

Expand Down
1 change: 1 addition & 0 deletions src/vnsw/agent/cmn/agent.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ extern void RouterIdDepInit(Agent *agent);
#define METADATA_IP_ADDR ntohl(inet_addr("169.254.169.254"))
#define METADATA_PORT 8775
#define METADATA_NAT_PORT 80
#define AGENT_INIT_TASKNAME "Agent::Init"

#define VROUTER_SERVER_PORT 20914

Expand Down
6 changes: 3 additions & 3 deletions src/vnsw/agent/init/agent_init.cc
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ int AgentInit::Start() {

agent_param_->PostValidateLogConfig();

int task_id = agent_->task_scheduler()->GetTaskId("db::DBTable");
int task_id = agent_->task_scheduler()->GetTaskId(AGENT_INIT_TASKNAME);
trigger_.reset(new TaskTrigger(boost::bind(&AgentInit::InitBase, this),
task_id, 0));
trigger_->Set();
Expand Down Expand Up @@ -329,7 +329,7 @@ static bool FlushTable(AgentDBTable *table, DBTableWalker *walker) {

void AgentInit::DeleteDBEntriesBase() {
DBTableWalker walker;
int task_id = agent_->task_scheduler()->GetTaskId("db::DBTable");
int task_id = agent_->task_scheduler()->GetTaskId(AGENT_INIT_TASKNAME);

RunInTaskContext(this, task_id, boost::bind(&DeleteRoutesInternal, this));

Expand Down Expand Up @@ -462,7 +462,7 @@ static bool KSyncShutdownInternal(AgentInit *init) {
}

void AgentInit::Shutdown() {
int task_id = agent_->task_scheduler()->GetTaskId("db::DBTable");
int task_id = agent_->task_scheduler()->GetTaskId(AGENT_INIT_TASKNAME);

RunInTaskContext(this, task_id, boost::bind(&IoShutdownInternal, this));
RunInTaskContext(this, task_id, boost::bind(&FlushFlowsInternal, this));
Expand Down

0 comments on commit 3532de5

Please sign in to comment.