Skip to content
Permalink
Branch: 5.7
Commits on Dec 18, 2019
  1. WL#13758 MySQL 5.7: Support linking with 3rd party OpenLDAP and Cyrus…

    Tor Didriksen authored and dahlerlend committed Dec 4, 2019
    … SASL
    
    We have recently upgraded to build with OpenSSL 1.1.1 on several
    platforms.  This means that the "system" versions of libraries like
    LDAP and SASL can no longer be used (they link with other versions of
    SSL)
    
    This patch is for 5.7: add cmake options WITH_LDAP and WITH_SASL,
    assuming these have been built with the same version of SSL libraries
    used for the server.  Look up static (.a) libraries for LDAP, LBER,
    and SASL, and link these into appropriate plugins.
    
    We also enable some tests which were previously skipped because of
    bad feature tests.
    
    Change-Id: If5deba8ae593b2c666ce12fab6ac7827e41b4f99
  2. Bug#30672362: GROUP REPLICATION TEST FAILING ON WIN DUE TO STATIC INI…

    Hemant Dangi authored and dahlerlend committed Dec 16, 2019
    …TIALIZATIONS OF VARIABLES
    
    Issue
    =====
    The testcases gr_autostart_on_install, gr_user and gr_readmode_on_autostart
    are failing Windows platform when build with with openssl-1.1.1d-static
    Group Replication started with 'group_replication_ssl_mode=REQUIRED' mode.
    
    The issue is because of variables plugin_is_being_uninstalled and
    plugin_is_waiting_to_set_server_read_mode are not getting reset in
    plugin_group_replication_init() (called when
    `INSTALL PLUGIN group_replication..` is executed) and their static
    initialization in plugin.cc.
    
    Solution
    ========
    Remove static initialization of plugin variables plugin_is_being_uninstalled
    and plugin_is_waiting_to_set_server_read_mode in plugin.cc and reset them in
    plugin_group_replication_init().
    
    RB: 23559
Commits on Nov 25, 2019
  1. Update License Book

    bkandasa committed Nov 25, 2019
    Approved By: Erlend Dahl <erlend.dahl@oracle.com>
Commits on Nov 22, 2019
  1. Bug#29769293: ERROR 1236 "MASTER HAS PURGED BINARY LOGS CONTAINING GT…

    vpvenugo committed Nov 21, 2019
    …IDS": GTID NOT LOGGED
    
    Problem
    -------
    The tests rpl.rpl_gtid_purged_fail_to_connect.test and
    rpl.rpl_gtid_deleted_binlog_fail_to_connect.test are sporadically failing
    on daily-5.6 because of the below warning found in error log.
    
    [Warning] Slave SQL: Request to stop slave SQL Thread received while
    applying a group that has non-transactional changes; waiting for completion
    of the group...
    
    Analysis & Fix
    --------------
    This warning is generated from applier thread when it is applying the test
    suppressions into non-transactional engine (MyISAM).
    
    Fix is to stop the slave before calling test suppressions.
    
    Reviewed by: Pedro Figueiredo <pedro.figueiredo@oracle.com>
  2. Merge branch 'mysql-5.6' into mysql-5.7

    Anushree Prakash B
    Anushree Prakash B committed Nov 22, 2019
  3. Bug#29630767 - USE OF UNINITIALIZED VALUE IN LIBMYSQL

    Anushree Prakash B
    Anushree Prakash B committed Nov 22, 2019
                   (CLIENT.CC FUNCTION RUN_PLUGIN_AUTH)
    
    DESCRIPTION
    ===========
    The authentication plugin name is not properly initialized
    if some of the fields information in the connection packet
    is incorrectly populated.
    
    FIX:
    ====
    In such case, we set the values of the fields in such a way
    that the default plugin gets used for authentication.
    The corresponding data associated with the original plugin
    is also discarded.
    
    RB: 23301
  4. Updated copyright year in user visible text

    bkandasa committed Nov 22, 2019
    Approved-by: Bjorn Munch <bjorn.munch@oracle.com>
  5. Updated copyright year in user visible text

    bkandasa committed Nov 22, 2019
    Approved-by: Bjorn Munch <bjorn.munch@oracle.com>
  6. Updated copyright year in user visible text

    bkandasa committed Nov 22, 2019
    Approved-by: Bjorn Munch <bjorn.munch@oracle.com>
Commits on Nov 21, 2019
  1. Bug#30564629 REMOVE REDUNDANT INFORMATION IN TEST CASES [noclose]

    dahlerlend committed Nov 20, 2019
    Patch for 5.7.
    
    Change-Id: Ic2cbb071f8a39ea599bc287cd78c31a648d5d1ee
Commits on Nov 20, 2019
  1. Bug#29769293: ERROR 1236 "MASTER HAS PURGED BINARY LOGS CONTAINING GT…

    vpvenugo committed Nov 19, 2019
    …IDS": GTID NOT LOGGED
    
    Stabilize the test rpl_gtid_deleted_binlog_fail_to_connect.test on Windows.
    
    Reviewed by: Pedro Gomes <pedro.gomes@oracle.com>
  2. Merge branch 'mysql-5.6' into mysql-5.7

    Maheedhar PV
    Maheedhar PV committed Nov 20, 2019
  3. Bug#30194841 INSERT ON DUPLICATE KEY UPDATE UPDATES THE WRONG ROW

    Maheedhar PV
    Maheedhar PV committed Nov 20, 2019
    Cause
    
    When multiple sessions are inserting into a table having
    auto-increment column, unique key constraint using IODKU (without
    having explicit values for the auto-increment column) into a table,
    the insert can fail with the unique index violation.
    
    In such a case, the failing insert has a valid current-id for the
    auto-increment column but an old/invalid value (the interleaving
    session has used up the id and the failing session has not yet updated
    its own next auto-increment id) as the next-id. This failed insert
    updates the correct row(the row violating unique key).
    
    The invalid value of next-id of the auto-increment column is saved and
    reused as the current-id for the subsequent inserts. These subsequent
    inserts, without having explicit values for the auto-increment column,
    end up updating rows because of the auto-increment key violation
    during the insert.
    
    Fix
    
    When an insert of a IODKU fails, retain the auto-increment id of the
    failed row (current-id, not the next-id) to be used for next insert.
    
    Change-Id: I7df17c90992b3658ced6d6b2a89e50546c4ce5a9
Commits on Nov 19, 2019
  1. Bug#29769293: ERROR 1236 "MASTER HAS PURGED BINARY LOGS CONTAINING GT…

    vpvenugo committed Nov 19, 2019
    …IDS": GTID NOT LOGGED
    
    Post-push fix:
    1. Fixed build failure on Windows.
    2. Fixed test failure of rpl_gtid_deleted_binlog_fail_to_connect.test
    
    Reviewed by: Pedro Gomes <pedro.gomes@oracle.com>
  2. Bug#29769293: ERROR 1236 "MASTER HAS PURGED BINARY LOGS CONTAINING GT…

    vpvenugo committed Nov 19, 2019
    …IDS": GTID NOT LOGGED
    
    This is a backport of Bug#26004541.
    
    Description
    -----------
    A misleading error message is outputted when
    ER_MASTER_HAS_PURGED_REQUIRED_GTIDS error is generated. The message
    should be changed and the user should be informed about the missing
    transactions and should be guided to a solution.
    
    Analysis
    --------
    - Message is stored in errmsg-utf8.txt.
    - The error message gets trimmed by wrapping error message defined in
      errmsg-utf8.txt. ER_MASTER_FATAL_ERROR_READING_BINLOG truncates the
      message if the message is of length more than 320 characters.
    - Increasing the message max length, for debugging purposes, disclosed
      another problem, the lack of escaping in
      ./include/show_slave_status.inc, which got broken because of
      unescaped '"' in the error message while executing:
    
      --let $_show_slave_status_value= SELECT REPLACE("$_show_slave_status_value",
                                       '$MYSQL_TEST_DIR', 'MYSQL_TEST_DIR')
    
    Fix
    ---
    - Log the missing GTIDs to the master's error log as a warning.
      If the missing GTIDs are too long to print in the message, suggest
      the steps to extract the missing transactions.
    - Write a not misleading error message that gives information about
      the GTID set sent by the slave, transactions missing on the master
      and few suggestions to recover from the error. This message shall be
      sent to slave and will be logged as an error wrapped by
      ER_MASTER_FATAL_ERROR_READING_BINLOG.
    - Increase the length of the wrapped error message to 512 characters.
      As a result, ER_MASTER_FATAL_ERROR_READING_BINLOG is now capable of
      wrapping the messages of length upto 512 characters.
    - Replace occurrences of old message in related test and result files.
    - Created escape_sql.inc script, providing SQL escaping functionality.
    
    Reviewed by: Pedro Figueiredo <pedro.figueiredo@oracle.com>
    Reviewed by: Pedro Gomes <pedro.gomes@oracle.com>
    
    RB: 22926, 23030, 23031
Commits on Nov 14, 2019
  1. No commit message

    mysql-builder@oracle.com
    mysql-builder@oracle.com committed Nov 13, 2019
  2. Bug #30541879 WRONG OUTPUT FROM MYSQL_CONFIG ON MAC FOR -DWITH_SSL=SY…

    Tor Didriksen
    Tor Didriksen committed Nov 12, 2019
    …STEM
    
    imported_ssl and imported_crypto are internal cmake names for the static SSL
    libraries. Do not expose these names externally.
    
    Change-Id: I6a3c255dc7e4daf03159e1e1e064c3376df54334
Commits on Nov 12, 2019
  1. Merge branch 'mysql-5.6' into mysql-5.7

    Chandan Kunal
    Chandan Kunal committed Nov 12, 2019
  2. Bug #29770705: SERVER CRASHED WHILE EXECUTING SELECT WITH SPECIFIC

    Chandan Kunal
    Chandan Kunal committed Nov 12, 2019
                   WHERE CLAUSE
    
    Description:
    ============
    If a condition ANDed with another condition having multiple ORs
    results in an impossible range, then server exits trying to use the
    ANDed condition next time as it was deleted already.
    
    ANALYSIS:
    =========
    For the query in bugpage, when t.b=4000 gets ANDed with t.b = 10, it
    leads to an impossible range which results in deletion of the node in
    the tree. However the same condition needs to be ANDed with another
    condition as part of the OR. This leads to assertion as the tree is
    already deleted. The assumption for deletion is that, if the node was
    needed, it would have been cloned already. However, cloning happens
    (in key_and) only when the use_count of the node is higher than "1"
    which is not true for this case.
    
    SOLUTION:
    =========
    In 5.7 and below, use_count handling is not always correct. As this
    has completely changed in 8.0, we are not touching use_count handling
    to fix this problem. Instead we use the "clone_flag" to determine if
    a key needs to be cloned. "clone_flag" is set to true if the
    conditions which need to be ANDed (in tree_and) are not simple (has
    many OR conditions within). This information is passed to key_and
    and other helper functions. Use the same along with use_count check,
    to clone a key tree.
    
    Change-Id: Iaf7c8d9ff11e2f328ef31376bc19211af7d02a9b
  3. BUG#30517172: BACKPORT BUG#30517160 TO 5.7

    nacarvalho committed Nov 11, 2019
    When a member joins to a group, it will go through a recovering
    stage on which it updates its state with the group one.
    If a error happens on this stage, the new member will retry X times.
    The error that happened on each recovery retry is displayed on
    performance_schema.replication_applier_status_by_worker table,
    though this error was only being displayed when replication applier
    was configured to have parallel workers. If the replication applier
    was configured as a single thread there was no error reporting.
    The same thing was happening on SHOW SLAVE STATUS, though here is
    was independent of the replication applier configuration.
    This was caused by a internal RESET SLAVE being executed after each
    retry attempt, which was cleaning the error reporting.
    
    To solve the above issues, the internal RESET SLAVE after each retry
    attempt was removed.
    There is no need for it, because it is already done before each
    retry attempt.
    
    This is the backport of the fix provided by BUG#30517160: ERRORS NOT
    SHOWING ON PS.REPLICATION_APPLIER_STATUS_BY_WORKER ON SINGLE
    APPLIER, which by dependency includes the fix provided by
    BUG#27940732: CONNECTION ERROR MESSAGES NOT SHOWN IN GR.
    GR_RECOVERY_CONNECTION_OPTIONS WRONG.
    
    ReviewBoard: 23340
  4. Bug #29770705: SERVER CRASHED WHILE EXECUTING SELECT WITH SPECIFIC

    Chandan Kunal
    Chandan Kunal committed Nov 12, 2019
                   WHERE CLAUSE
    
    Description:
    ============
    If a condition ANDed with another condition having multiple ORs
    results in an impossible range, then server exits trying to use the
    ANDed condition next time as it was deleted already.
    
    ANALYSIS:
    =========
    For the query in bugpage, when t.b=4000 gets ANDed with t.b = 10, it
    leads to an impossible range which results in deletion of the node in
    the tree. However the same condition needs to be ANDed with another
    condition as part of the OR. This leads to assertion as the tree is
    already deleted. The assumption for deletion is that, if the node was
    needed, it would have been cloned already. However, cloning happens
    (in key_and) only when the use_count of the node is higher than "1"
    which is not true for this case.
    
    SOLUTION:
    =========
    In 5.7 and below, use_count handling is not always correct. As this
    has completely changed in 8.0, we are not touching use_count handling
    to fix this problem. Instead we use the "clone_flag" to determine if
    a key needs to be cloned. "clone_flag" is set to true if the
    conditions which need to be ANDed (in tree_and) are not simple (has
    many OR conditions within). This information is passed to key_and
    and other helper functions. Use the same along with use_count check,
    to clone a key tree.
    
    Change-Id: Iaf7c8d9ff11e2f328ef31376bc19211af7d02a9b
Commits on Nov 11, 2019
  1. Bug #30499288 - GCC 9.2.1 REPORTS A NEW WARNING FOR OS_FILE_GET_PAREN…

    Nikša Skeledžija
    Nikša Skeledžija committed Nov 8, 2019
    …T_DIR
    
    - Fixed a warning visible in optimized build related to calling
    memcpy with length parameters larger than ptrdiff_t max.
    
    rb#23333 approved by Annamalai Gurusami <annamalai.gurusami@oracle.com>
  2. No commit message

    mysql-builder@oracle.com
    mysql-builder@oracle.com committed Nov 11, 2019
Commits on Nov 6, 2019
  1. No commit message

    mysql-builder@oracle.com
    mysql-builder@oracle.com committed Nov 6, 2019
  2. No commit message

    mysql-builder@oracle.com
    mysql-builder@oracle.com committed Nov 6, 2019
Commits on Nov 4, 2019
  1. Bug #30287668 [WARNING] INNODB: A LONG SEMAPHORE WAIT

    Aditya A
    Aditya A committed Nov 4, 2019
    Problem
    -------
    This bug is w.r.t to spatial indexes
    When we are trying to merge two non-leaf pages
    of a spatial index the comparison function says
    that two records in the non-leaf pages are equal
    .There is no condition written in function
    rtr_page_copy_rec_list_end_no_locks() to handle this and
    it loops around this function constantly iterating
    over the record .
    
    Analysis and FIX
    ----------------
    
    The non-leaf page of the spatial index only contains
    the MBR data and the child node pointer(page number)
    unlike btree non leaf node which also contains the
    PK keys. The leaf page of the spatial index do contain
    the Pk Keys
    
    Bug bug#22027053 GIS: PURGE THREAD DIES IN RTREE CODE WITH SPATIAL DATA
    introduced a fix in which the record in a non leaf page
    of a spatial index is ordered by MBR and page number
    so we must compare MBR+Page number to order the records
    
    In cmp_rec_rec_with_match() function when we are trying
    to match the fields in the record of a non-leaf record
    we get the column type from the dictionary .The dictionary
    has no information that column values in a non-leaf are
    different than the leaf node ,so it gives the data type
    of the PK field and the comparison function uses it to
    compare the child node pointer which gives wrong results.
    
    The fix is to set the datatype of second field in the
    non-leaf node to DATA_SYS_CHILD,so the page numbers
    can be compared with proper datatype.
    
    #rb 23242, 23283
    Approved by: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
Commits on Oct 30, 2019
  1. No commit message

    mysql-builder@oracle.com
    mysql-builder@oracle.com committed Oct 30, 2019
  2. BUG#30362898 - HEAP-USE-AFTER-FREE IN

    Chaithra Gopalareddy
    Chaithra Gopalareddy committed Oct 30, 2019
                   PROTOCOL_CLASSIC::SEND_FIELD_METADATA
    
    This bug is a side-effect of the fix made for Bug#22364401. In 8.0 an
    additional fix was made as part of Bug#24611344.
    
    Reason for this problem is the same as Bug#24611344, except that memory
    gets freed in closefrm for this case.
    
    Reviewed By: Roy Lyseng <roy.lyseng@oracle.com>
Commits on Oct 29, 2019
  1. Bug#27096081: MYSQLPUMP VALIDATES ALL DATABASE OBJECTS BY

    Arun Kuruvila
    Arun Kuruvila committed Oct 29, 2019
                  IGNORING --INCLUDE_DATABASES OPTION
    
    Post fix patch to fix pb2 asan test failures.
    
    RB#23164
Commits on Oct 28, 2019
  1. BUG#29836204: P_S TABLE ACCESS HANGS WHILE IN LOCK TABLES MODE

    Nisha Gopalakrishnan
    Nisha Gopalakrishnan committed Oct 28, 2019
    Analysis
    ========
    
    Post push fix for test failure in embedded mode.
    
    Change-Id: I82e06292071c58d731d85c749a1e9a5716fa8dbf
  2. Bug#27096081: MYSQLPUMP VALIDATES ALL DATABASE OBJECTS BY

    Arun Kuruvila
    Arun Kuruvila committed Oct 28, 2019
                  IGNORING --INCLUDE_DATABASES OPTION
    
    Description:- Mysqlpump utility fails to dump a database
    when an invalid view object exsits in the system.
    
    Analysis:- As per the current mysqlpump design, it first
    searches and enumerates all the DB objects as part of the
    crawler module and later filters out unwanted objects as
    part of 'Chain Makers' module.
    During the crawler stage, it enumerates all the DB objects
    including views. While enumerating views, it triggers a
    "LOCK TABLE <view> READ;" query to ensure all the view
    dependent object exists. This query can return an error,
    if one or more underlying base tables of the view are
    dropped or if the user who defined this view is dropped.
    If it returns an error, mysqlpump exits without being able
    to dump. This happens even when the user wants to dump a
    database which doesn't contain a view.
    
    Fix:- View dependency check is moved post filteration.
    This will ensure that only filtered out views will be
    checked for their dependecies.
    
    RB#23164
Commits on Oct 25, 2019
  1. Bug#30465247 - LATEST COMMERCIAL DOCKER RELEASES ARE MISSING NATIVE L…

    bkandasa committed Oct 25, 2019
    …DAP PLUGINS
    
    - Add ldap plugins to the commercial docker minimal rpm
    
    Reviewed-by: Terje Rosten <terje.rosten@oracle.com>
Older
You can’t perform that action at this time.