change the return code to OB_SERVER_LISTEN_ERROR when sql nio listen failed
This commit is contained in:
8
deps/oblib/src/rpc/obmysql/ob_sql_nio.cpp
vendored
8
deps/oblib/src/rpc/obmysql/ob_sql_nio.cpp
vendored
@ -589,8 +589,8 @@ public:
|
||||
ret = OB_IO_ERROR;
|
||||
LOG_WARN("epoll_create fail", K(ret), K(errno));
|
||||
} else if ((lfd_ = listen_create(port)) < 0) {
|
||||
ret = OB_IO_ERROR;
|
||||
LOG_WARN("listen create fail", K(port), K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
LOG_WARN("listen create fail", K(ret), K(port), K(errno), KERRNOMSG(errno));
|
||||
} else if (0 != epoll_regist(epfd_, lfd_, epflag, NULL)) {
|
||||
ret = OB_IO_ERROR;
|
||||
LOG_WARN("regist listen fd fail", K(ret));
|
||||
@ -684,11 +684,11 @@ private:
|
||||
bool need_destroy = false;
|
||||
if (false == s->handler_close_been_called()) {
|
||||
if (false == s->get_may_handling_flag()) {
|
||||
LOG_WARN("can close safely, do destroy", K(*s));
|
||||
LOG_INFO("can close safely, do destroy", K(*s));
|
||||
need_destroy = true;
|
||||
} else {
|
||||
if (s->wait_handling()) {
|
||||
LOG_WARN("sock ref clean, do destroy", K(*s));
|
||||
LOG_INFO("sock ref clean, do destroy", K(*s));
|
||||
need_destroy = true;
|
||||
} else {
|
||||
LOG_WARN("wait handling done...", K(*s));
|
||||
|
||||
30
deps/oblib/src/rpc/obrpc/ob_listener.cpp
vendored
30
deps/oblib/src/rpc/obrpc/ob_listener.cpp
vendored
@ -62,32 +62,32 @@ int ObListener::listen_create(int port) {
|
||||
|
||||
if (port <= 0) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
RPC_LOG(ERROR, "invalid param", K(port));
|
||||
RPC_LOG(ERROR, "invalid port", K(ret), K(port));
|
||||
} else if ((fd = socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, 0)) < 0) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
RPC_LOG(ERROR, "create socket failed!", K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
RPC_LOG(ERROR, "create socket failed!", K(ret), K(fd), K(port), K(errno));
|
||||
} else if (ioctl(fd, FIONBIO, &no_block_flag) < 0) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
RPC_LOG(ERROR, "set non block failed!", K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
RPC_LOG(ERROR, "set non block failed!", K(ret), K(fd), K(port), K(errno));
|
||||
} else if (ob_listener_set_tcp_opt(fd, TCP_DEFER_ACCEPT, 1) < 0) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
RPC_LOG(ERROR, "set tcp defer accept failed!", K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
RPC_LOG(ERROR, "set tcp defer accept failed!", K(ret), K(fd), K(port), K(errno));
|
||||
} else if (ob_listener_set_opt(fd, SO_REUSEADDR, 1) < 0) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
RPC_LOG(ERROR, "set reuse_addr fail!", K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
RPC_LOG(ERROR, "set reuse_addr fail!", K(ret), K(fd), K(port), K(errno));
|
||||
}
|
||||
#ifdef SO_REUSEPORT
|
||||
else if (ob_listener_set_opt(fd, SO_REUSEPORT, 1) < 0) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
RPC_LOG(ERROR, "set reuse port fail!", K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
RPC_LOG(ERROR, "set reuse port fail!", K(fd), K(port), K(errno));
|
||||
}
|
||||
#endif
|
||||
else if (bind(fd, (sockaddr*)make_unix_sockaddr(&sin, 0, port), sizeof(sin)) < 0) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
RPC_LOG(ERROR, "bind failed!", K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
RPC_LOG(ERROR, "bind failed!", K(ret), K(fd), K(port), K(errno), KERRNOMSG(errno));
|
||||
} else if (listen(fd, 1024) < 0) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
RPC_LOG(ERROR, "listen failed", K(errno));
|
||||
ret = OB_SERVER_LISTEN_ERROR;
|
||||
RPC_LOG(ERROR, "listen failed", K(ret), K(fd), K(port), K(errno), KERRNOMSG(errno));
|
||||
}
|
||||
|
||||
if (OB_FAIL(ret)) {
|
||||
|
||||
@ -114,9 +114,9 @@ int ObSMConnectionCallback::init(ObSqlSockSession& sess, ObSMConnection& conn)
|
||||
} else if (OB_FAIL(sm_conn_build_handshake(conn, hsp))) {
|
||||
LOG_WARN("conn send handshake fail", K(ret));
|
||||
} else if (OB_FAIL(send_handshake(sess, hsp))) {
|
||||
LOG_WARN("send handshake fail", K(ret));
|
||||
LOG_WARN("send handshake fail", K(ret), K(sess.client_addr_));
|
||||
} else {
|
||||
LOG_INFO("sm conn init succ", K(conn.sessid_));
|
||||
LOG_INFO("sm conn init succ", K(conn.sessid_), K(sess.client_addr_));
|
||||
}
|
||||
if (OB_SUCCESS != ret && OB_SUCCESS == conn.ret_) {
|
||||
int tmp_ret = OB_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user