Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-19469

Connection timeout before Authentication does not show up as an error

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.4.4
    • 10.4(EOL)
    • OTHER
    • None

    Description

      Timed out connection shows that it was normal connection closed (error is lost)

      flush status;
      SHOW GLOBAL STATUS LIKE 'Aborted%';
       
      SET @save_connect_timeout= @@connect_timeout;
      SET GLOBAL connect_timeout=2;
      SET GLOBAL log_warnings=2;
      --let SEARCH_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err
      --let SEARCH_PATTERN= unauthenticated
      --source include/search_pattern_in_file.inc
      --let SEARCH_PATTERN= This connection closed normally without authentication
      --source include/search_pattern_in_file.inc
       
      --perl
      use Socket;
      use autodie;
      socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname("tcp"));
      connect(SOCK, pack_sockaddr_in($ENV{MASTER_MYPORT}, inet_aton("localhost")));
      sleep 3;
      exit(0);
      EOF
       
      SHOW GLOBAL STATUS LIKE 'Aborted%';
       
      --let SEARCH_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err
      --let SEARCH_PATTERN= unauthenticated
      --source include/search_pattern_in_file.inc
      --let SEARCH_PATTERN= This connection closed normally without authentication
      --source include/search_pattern_in_file.inc
       
      SET GLOBAL log_warnings=default;
      SET GLOBAL connect_timeout= @save_connect_timeout;
      
      

      Attachments

        Issue Links

          Activity

            wlad [14:13 Uhr]
            MYSQL_SERVER_my_error(net->last_errno, MYF(0));
            это не пишет в error log потому что во последнем параметере должен быть ME_ERROR_LOG flag
            это про my_real_read()

            wlad [14:21 Uhr]
            там просто много чего произошло между vio_read() и vio_was_timeout(), который делает WSAGetLastError() == GetLastError().
            этот GetLastError() надо бы сразу читать, иначе он пропадет
            или же надо хранить этот last error в самой структуре vio

            sanja Oleksandr Byelkin added a comment - wlad [14:13 Uhr] MYSQL_SERVER_my_error(net->last_errno, MYF(0)); это не пишет в error log потому что во последнем параметере должен быть ME_ERROR_LOG flag это про my_real_read() wlad [14:21 Uhr] там просто много чего произошло между vio_read() и vio_was_timeout(), который делает WSAGetLastError() == GetLastError(). этот GetLastError() надо бы сразу читать, иначе он пропадет или же надо хранить этот last error в самой структуре vio

            People

              sanja Oleksandr Byelkin
              sanja Oleksandr Byelkin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.