Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring cluster module mysql_servers #4169

Closed
wants to merge 33 commits into from

Commits on Apr 6, 2023

  1. Refactoring ProxySQL Cluster

    * Added separate fetching of mysql_server_incoming and runtime_mysql_server records based on algorithm selection.
    * Few memory leaks fix
    * Code refactoring
    rahim-kanji committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    12d830c View commit details
    Browse the repository at this point in the history
  2. Fixed code styling

    rahim-kanji committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    32f9f72 View commit details
    Browse the repository at this point in the history
  3. * Added runtime mysql server logic in commit.

    * Changed commit signature.
    * Few fixes
    rahim-kanji committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    09f7651 View commit details
    Browse the repository at this point in the history
  4. * Added comments

    * Few issues fixed
    rahim-kanji committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    3821f56 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2023

  1. * Rename mysql_servers_incoming to mysql_servers_v2

    * Fetching mysql_servers_v2 records from admin
    * Added comments.
    rahim-kanji committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    1122988 View commit details
    Browse the repository at this point in the history
  2. * Added saving mysql_servers to disk.

    * Added detailed comments.
    rahim-kanji committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    1af0586 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2023

  1. * The code block responsible for syncing admin variables has been mov…

    …ed ahead of the 'mysql_servers' code block. This ensures that the most recent value of 'admin-cluster_mysql_servers_sync_algorithm' is available in mysql_servers sync.
    
    * Reset global checksum if 'admin-cluster_mysql_servers_sync_algorithm' is changed.
    rahim-kanji committed Apr 18, 2023
    Configuration menu
    Copy the full SHA
    bacf3a7 View commit details
    Browse the repository at this point in the history
  2. Created TAP test to ensure the cluster synchronization of 'runtime_my…

    …sql_servers' and 'mysql_servers_v2' across all nodes. The test involves creating two replica nodes, one with a monitor enabled and the other with a monitor disabled. The test verifies that the correct records are synced among these nodes based on the value of 'admin-cluster_mysql_servers_sync_algorithm'.
    rahim-kanji committed Apr 18, 2023
    Configuration menu
    Copy the full SHA
    625675d View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2023

  1. * Added more test cases.

    * Cleared duplicate code.
    * Added comments
    rahim-kanji committed Apr 19, 2023
    Configuration menu
    Copy the full SHA
    e8b24ff View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2023

  1. * Fixed test case

    rahim-kanji committed Apr 20, 2023
    Configuration menu
    Copy the full SHA
    5114069 View commit details
    Browse the repository at this point in the history
  2. * The cluster template file now includes "cluster_sync_interfaces=fal…

    …se."
    
    * In the event of any failure, it's crucial to call the cleanup function to prevent any orphaned replica instances from remaining active.
    rahim-kanji committed Apr 20, 2023
    Configuration menu
    Copy the full SHA
    f350038 View commit details
    Browse the repository at this point in the history
  3. Fixed test case.

    rahim-kanji committed Apr 20, 2023
    Configuration menu
    Copy the full SHA
    082a59d View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2023

  1. Merge remote-tracking branch 'Master/v2.x' into v2.x_refactor_cluster…

    …_mysql_servers
    
    # Conflicts:
    #	include/ProxySQL_Cluster.hpp
    #	include/proxysql_admin.h
    #	lib/MySQL_HostGroups_Manager.cpp
    #	lib/ProxySQL_Admin.cpp
    #	lib/ProxySQL_Cluster.cpp
    rahim-kanji committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    feeb747 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2023

  1. Configuration menu
    Copy the full SHA
    13f1a4a View commit details
    Browse the repository at this point in the history

Commits on May 3, 2023

  1. Fixed tap test

    rahim-kanji committed May 3, 2023
    Configuration menu
    Copy the full SHA
    9ad8c38 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2023

  1. Configuration menu
    Copy the full SHA
    1decc6a View commit details
    Browse the repository at this point in the history
  2. fix old compiler issue

    mirostauder committed May 4, 2023
    Configuration menu
    Copy the full SHA
    129737c View commit details
    Browse the repository at this point in the history
  3. fix clang issue

    mirostauder committed May 4, 2023
    Configuration menu
    Copy the full SHA
    9a5a9ac View commit details
    Browse the repository at this point in the history

Commits on May 8, 2023

  1. Avoid incrementing mysql_servers and mysql_servers_v2 versions when c…

    …hange is triggered from monitoring module
    rahim-kanji committed May 8, 2023
    Configuration menu
    Copy the full SHA
    09b2a7d View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'Master/v2.x' into v2.x_refactor_cluster…

    …_mysql_servers
    
    # Conflicts:
    #	lib/MySQL_HostGroups_Manager.cpp
    rahim-kanji committed May 8, 2023
    Configuration menu
    Copy the full SHA
    ed64090 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'Master/v2.x_refactor_cluster_mysql_serv…

    …ers' into v2.x_refactor_cluster_mysql_servers
    rahim-kanji committed May 8, 2023
    Configuration menu
    Copy the full SHA
    fb5abdb View commit details
    Browse the repository at this point in the history
  4. Fixed typo

    rahim-kanji committed May 8, 2023
    Configuration menu
    Copy the full SHA
    b2119ba View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2023

  1. Merge remote-tracking branch 'Master/v2.x' into v2.x_refactor_cluster…

    …_mysql_servers_final
    
    # Conflicts:
    #	lib/MySQL_HostGroups_Manager.cpp
    #	lib/ProxySQL_Cluster.cpp
    rahim-kanji committed Jun 13, 2023
    Configuration menu
    Copy the full SHA
    063af84 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2023

  1. Added ProxySQL Cluster internal working documentation and flowchart

    TODO:
    Update documentation: mysql_servers_v2
    rahim-kanji committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    249f023 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2023

  1. Fix servers resultsets not updated for empty config

    If these resultsets are not updated, checksums will always mismatch
    between the peer cluster nodes in case servers are deleted. The primary
    will hold the correct checksum ('0x0'), but will report the old resultset
    to the peer node, the second will compute a checksum different than the
    expected '0x0'. Cycle won't stop until config is updated in the target
    primary.
    JavierJF committed Jul 10, 2023
    Configuration menu
    Copy the full SHA
    43d6274 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2023

  1. Simplified resultset and checksum generation for 'mysql_servers'

    - Resultsets for 'runtime_mysql_servers' and 'mysql_servers_v2' are now
      directly generated by the SQL query.
    - Checksum computations are simplified to 'SQLite3_result::raw_checksum'
      and equivalent function 'mysql_raw_checksum'.
    JavierJF committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    f48dfce View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    253e309 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fa71a5c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    664fba9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5f53c18 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. Merge branch 'v2.x' of github.com:sysown/proxysql into v2.x_refactor_…

    …cluster_mysql_servers
    JavierJF committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    7f0ef59 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2023

  1. Fix invalid propagation of 'main.mysql_servers' config by 'commit'

    Config should only be used for checksum computation and cluster
    resultset generation for 'LOAD MYSQL SERVERS TO RUNTIME'. Otherwise
    user config ('main.mysql_servers') would be promoted at each 'commit'
    call, and propagated through the cluster members.
    JavierJF committed Jul 13, 2023
    Configuration menu
    Copy the full SHA
    8dab09e View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2023

  1. Fix invalid fallback response for 'CLUSTER_QUERY_MYSQL_SERVERS_V2'

    If 'MySQL_HostGroups_Manager::incoming_mysql_servers' happens to be
    empty when a 'CLUSTER_QUERY_MYSQL_SERVERS_V2' request is received in
    Admin, since there wasn't any user config promoted to runtime yet, the
    response should be an empty resulset.
    JavierJF committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    c4c4977 View commit details
    Browse the repository at this point in the history