Skip to content
  • Rahul Sisondia's avatar
    a6333a71
    Bug#31047717 MAIN.BIG_PACKETS MTR TEST FAILS IN ASYNC MODE ON WINDOWS · a6333a71
    Rahul Sisondia authored
    Description:
    ------------
    The test was originally written for blocking client. I was trying to test
    execute the same test for nonblocking client. That's when it was found to be
    misbehaving on Windows. That's why The test was disabled for async client
    earlier.
    
    (1) It turns out that on Windows platform, by default, MTR uses PIPE connection
        to connect mysql_test client to the server. The nonblocking client APIs are
        supposed to work with TCP/SSL connections. Therefore, unless we specify
        the connection type to TCP/SSL in test, it may fails Windows.
    
    (2) That means we must use connect() command to specify the connection type
        as TCP or SSL in the test. Also, we must not execute the tests on Windows
        with --async-client option
        (Bug#31068788 has been raised to remove this option).
    
    (3) Even if someone executes the nonblocking client tests with connection type
        PIPE or Shared Memory. Test should throw error rather getting crashed.
    
    Fix:
    ----
    (1) Enabled the tests for nonblocking clients which were disabled earlier.
        Used connection type TCP to verify them.
    
    (2) Crash used to happen because we missed to initialise the "set_blocking_flag"
        function pointer in the vio structure for PIPE|Shared Memory connections.
    
    (3) After the crash, test fails without any concrete error. Leaving the user
        in guess mode. We now print the last error message if select API fails.
    
    Not directly related : Returning error and printing the DBUG message in case
    if someone tries to set the nonblocking flag other than supported connection
    type.
    
    Testing:
    -------
    
    Enabled the tests. verified on Windows platform.
    
    Review:
    ------
    RB#24165
    a6333a71
    Bug#31047717 MAIN.BIG_PACKETS MTR TEST FAILS IN ASYNC MODE ON WINDOWS
    Rahul Sisondia authored
    Description:
    ------------
    The test was originally written for blocking client. I was trying to test
    execute the same test for nonblocking client. That's when it was found to be
    misbehaving on Windows. That's why The test was disabled for async client
    earlier.
    
    (1) It turns out that on Windows platform, by default, MTR uses PIPE connection
        to connect mysql_test client to the server. The nonblocking client APIs are
        supposed to work with TCP/SSL connections. Therefore, unless we specify
        the connection type to TCP/SSL in test, it may fails Windows.
    
    (2) That means we must use connect() command to specify the connection type
        as TCP or SSL in the test. Also, we must not execute the tests on Windows
        with --async-client option
        (Bug#31068788 has been raised to remove this option).
    
    (3) Even if someone executes the nonblocking client tests with connection type
        PIPE or Shared Memory. Test should throw error rather getting crashed.
    
    Fix:
    ----
    (1) Enabled the tests for nonblocking clients which were disabled earlier.
        Used connection type TCP to verify them.
    
    (2) Crash used to happen because we missed to initialise the "set_blocking_flag"
        function pointer in the vio structure for PIPE|Shared Memory connections.
    
    (3) After the crash, test fails without any concrete error. Leaving the user
        in guess mode. We now print the last error message if select API fails.
    
    Not directly related : Returning error and printing the DBUG message in case
    if someone tries to set the nonblocking flag other than supported connection
    type.
    
    Testing:
    -------
    
    Enabled the tests. verified on Windows platform.
    
    Review:
    ------
    RB#24165
Loading