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