Commit Graph

3022 Commits (55fbef61fa8d2ced4e7e5d3a773e857c2cf3c3a9)

Author SHA1 Message Date
René Cannaò 33fba7641a Speed up start time with multiple listeners #3699
4 years ago
René Cannaò e892413d1a
Merge branch 'v2.x' into v2.x-2021
4 years ago
René Cannaò 7edfec6f3f
Merge pull request #3657 from sysown/v2.x-3655
4 years ago
René Cannaò 698031eb7a
Merge pull request #3676 from sysown/v2.x-3592
4 years ago
René Cannaò aed1f205d4 Merge branch 'v2.x' into v2.x-3655
4 years ago
René Cannaò a6edd02a9b Revert "Merge branch 'v2.x' into v2.x-2021"
4 years ago
René Cannaò 3a3931f2d4
Merge branch 'v2.x' into v2.x-2021
4 years ago
René Cannaò 22ed00e2f7
Merge pull request #3652 from sysown/v2.x-3606
4 years ago
René Cannaò 8cea730de0
Merge pull request #3661 from sysown/v2.x-3649
4 years ago
Javier Jaramago Fernández 0426c49b77 Added digit replacement to second stage parsing, also added support for grouping and groups grouping
5 years ago
Javier Jaramago Fernández 82e5cb5c7c Introduced 'NULL' replacing in the staging impl, changed variable name and some functions params order
5 years ago
Javier Jaramago Fernández adee2655de Improved float parsing moving parsing logic into 'is_digit_string' instead of skipping characters copy
5 years ago
René Cannaò ab3f9bcedc PROXYSQLTEST 51 and 52 on debug build only
5 years ago
René Cannaò 79d1d8742c Testing unbalanced weight
5 years ago
Javier Jaramago Fernández c26d1a5034 Added new functions 'mysql_query_digest_and_first_comment_2' and 'mysql_query_digest_and_first_comment_one_it' as part of query digests rework
5 years ago
Javier Jaramago Fernández 141086cc9c Added missing case of space removal before literals for 'mysql_query_digest_and_first_comment'
5 years ago
Javier Jaramago Fernández 45b557ccfd Added handy comments to original 'mysql_query_digest_and_first_comment' implementation
5 years ago
Javier Jaramago Fernández 1c1b29b1f0 Added size check and added space removal after opening parenthesis when followed by number
5 years ago
Javier Jaramago Fernández aa09e86ca4 Store previous character as ending delimiter found for string literal
5 years ago
Javier Jaramago Fernández 20347b1e8e Removed extra spaces before NULL values when 'query_digests_replace_null=1'
5 years ago
Javier Jaramago Fernández c6249d4715 Added removal of extra space before closing parenthesis when previous char has been replaced
5 years ago
Javier Jaramago Fernández 7e41e793d9 Avoiding comma copy when 'groping_limit' is exceeded replaced in favor of deletion for avoiding unnecessary removals
5 years ago
Jared Jetsel 910a626652 Fixed error messages
5 years ago
Jared Jetsel d114dbe3a3 Const strings where appropriate and improved test for statistics
5 years ago
Javier Jaramago Fernández c91db18c05 Several fixes for parsing issues in 'mysql_query_digest_and_first_comment'
5 years ago
Jared Jetsel 0ef478e597 In debug mode, the handlers for ProxySQL_Statistics are called even if the web interface plugin is not loaded. This way the code can be tested even if the plugin is not loaded. Added new member function ProxySQL_Statistics::knows_variable_name(), which is used to check if a variable_name is in the map. This is useful to do a check before get_variable_id_for_name() in instances where it is undesirable to load or create entries in the lookup table, while keeping direct access to the map private and mutex protected. In ProxySQL_Statistics::get_variable_id_for_name, wrapped the variable_id select code in a lambda so that it could be reused instead of calling sqlite3_last_insert_rowid(), as there were some thread safety concerns which potentially could produce incorrect ids. Changed the insert to use execute() instead of execute_statement() instead, sufficient and simpler. Added error in case the function could not find, load, or generate a new id.
5 years ago
Jared Jetsel 1adaf74170 Modified ProxySQL_Statistics to have two new member functions and two new private members. These are used to map the string variable_name to an integer variable_id to improve scalability. See documentation about their usage. Updated the MySQL_Threads_Hander_sets_v2 function to load the variable_name_id_map if it is empty for initial load from the lookup table. The prepared statement binds was changed to use the int64 variable_id retreived from the map.
5 years ago
Jared Jetsel d644f13780 Updated the SQLite history_mysql_status_variables create table statement to use variable_id instead of name for improved scalability. Added an index for the sql_status_variables table. Added lookup table create statement for history_mysql_status_variables_lookup table to refer the variable_id integer key to the variable_name string. Inserted the new table definition and execute code for the create index that were added. As the code has not yet received public release, there is no concern of keeping the previous table definition, and so the version number refers to v2.4.0.
5 years ago
René Cannaò 5efb1dd020
Merge pull request #3664 from VinaySagarGonabavi/u/gonabavi/using_transaction_isolation_should_not_disable_multiplexing
5 years ago
Javier Jaramago Fernández d0ed1895fa Fixed typo in 'round_intv_to_time_interval' preventing parameter update
5 years ago
Javier Jaramago Fernández 545f5c5a29 Fixed typos found in 'th_metrics_map' definition
5 years ago
Javier Jaramago Fernández 71a1f64f2d Added new metric 'proxysql_fds_in_use' reporting the current number of file descriptors in use #3592
5 years ago
René Cannaò 9293dea199 Do not shun backend for error 3118
5 years ago
Javier Jaramago Fernández 6a92cc9238 Added new command 'PROXYSQL_SIMULATOR' with support for simulating connection errors #3649
5 years ago
Javier Jaramago Fernández 4838d75cd3 Added new mysql variable 'mysql-unshun_algorithm' #3649
5 years ago
Vinay Sagar Gonabavi 5bd42079f7 Add transaction_isolation to the list of hardcoded session variables that do not disable ProxySQL multiplexing
5 years ago
Javier Jaramago Fernández dc4bf3ccce Added 'schemaname' to userinfo for 'PROXYSQL INTERNAL SESSION' command #3655
5 years ago
René Cannaò 4b04332473 Add optional mutex in MySrvC::connect_error()
5 years ago
René Cannaò 7ef783487c Adding skeleton for PROXYSQL_SIMULATOR
5 years ago
René Cannaò a752292b9e Added function unshun_server_all_hostgroups()
5 years ago
René Cannaò b150313ef8
Merge pull request #3658 from sysown/v2.x-asan_ci_run
5 years ago
Javier Jaramago Fernández 86e5caf6ea Fixed handling of splitted packets during 'CONNECTING_SERVER' state for 'FAST_FORWARD' mode
5 years ago
René Cannaò d1e70578ba Adding support links to proxysql.com
5 years ago
Javier Jaramago Fernández 062381efd4 Fixed crashes in 'MySQL_Session::get_pkts_from_client' when 'mysql-query_digests' are disabled #3655
5 years ago
Javier Jaramago Fernández 3fd1cd3f13 Replaced non-thread safe 'strtok' function in favor of 'strtok_r' for 'IsKeepMultiplexEnabledVariables'
5 years ago
Javier Jaramago Fernández a49433cc91 Manually set 'POLLOUT' event for 'SHOW_WARNINGS' session status to ensure sending by 'MySQL_Connection' #3606
5 years ago
Javier Jaramago Fernández 4312cd9a72 Moved session cleanup after error report for 'SHOW_WARNINGS' #3606
5 years ago
Javier Jaramago Fernández c3d0ecd84f Improved implementation of 'mysql-log_mysql_warnings_enabled' #3606
5 years ago
Javier Jaramago Fernández cbe926b4f7
Fix regression introduced for 'at signs' parsing for multiplexing disabling (#3647)
5 years ago
Javier Jaramago Fernández 9829c6d37b
Fixes crashes related with 'client_error_limit' and connection timeouts (#3646)
5 years ago
Javier Jaramago Fernández 27b72884d1 Fixed 'user_attributes' not being preserved during 'COM_CHANGE_USER' #2021
5 years ago
Javier Jaramago Fernández e76882c2f9 Added support for 'COM_RESET_CONNECTION' #2021
5 years ago
René Cannaò fb8857f1fe Fix a bug in get_multiple_idle_connections() #3628
5 years ago
Javier Jaramago Fernández 8e529055c3 Merge branch 'v2.x' of github.com:sysown/proxysql into v2.x-3504
5 years ago
Javier Jaramago Fernández 06c386dfd1
Merge pull request #3626 from sysown/v2.x-3625
5 years ago
Javier Jaramago Fernández 0058ecb4f0 Removed 'flush_error_log' call from 'PROXYSQL FLUSH QUERY CACHE'
5 years ago
Javier Jaramago Fernández 548174d1eb Condensed asserts for 'find_client_host_cache' and 'update_client_host_cache' into a single line #3625
5 years ago
Javier Jaramago Fernández 515167f5f9 Removed 'flush_error_log' call from 'PROXYSQL FLUSH MYSQL CLIENT HOSTS' #3625
5 years ago
Javier Jaramago Fernández 789ed52f87 Added default zero initialization for all variables from 'MySQL_Threads_Handler::variables' struct #3625
5 years ago
Javier Jaramago Fernández be0ceed53d Added missing client address for SQLite3 sessions and added asserts in case it's found 'NULL' in 'client_host_cache' operations #3625
5 years ago
Javier Jaramago Fernández 3a2d3f2d5e Fixed missing default initialization of varibles 'client_host_cache_size' and 'client_host_error_counts' #3625
5 years ago
Javier Jaramago Fernández d7bef92b57 Added missing new-line character for access denied 'proxy_error' for 'COM_CHANGE_USER' #3504
5 years ago
Javier Jaramago Fernández 53da63eb99 Improved auth performed for 'COM_CHANGE_USER' with impl from 'process_pkt_handshake_response' #3504
5 years ago
Javier Jaramago Fernández 8e97f5a19c Merge branch 'v2.x' of github.com:sysown/proxysql into v2.x-3504
5 years ago
Javier Jaramago Fernández b4c7b9323d
Merge pull request #3621 from sysown/v2.x-3620
5 years ago
Javier Jaramago Fernández db9b4ad70f
Merge pull request #3617 from sysown/v2.x-client_err_limit
5 years ago
Javier Jaramago Fernández 4f94fd3d0f
Merge pull request #3533 from sysown/v2.x-gr_replication_lag_action
5 years ago
Javier Jaramago Fernández 9aef676973 Added population of 'stats_mysql_client_host_cache' when 'stats_mysql_client_host_cache_reset' is queried
5 years ago
Javier Jaramago Fernández c268259bde Fixed memory leak of client received packet when SSL connection is initiated #3620
5 years ago
Javier Jaramago Fernández 36abd62314 Fixed memory leak for 'client_addr' in case of wrong credentials for frontend connection #3620
5 years ago
Javier Jaramago Fernández d115e20ed4 Fixed size check for 'client_host_cache' and fixed logic preventing the cache from reducing it's size in certain conditions
5 years ago
Javier Jaramago Fernández 416a0470a5 Added tables 'stats_mysql_client_host_cache' and 'stats_mysql_client_host_cache_reset' exposing entries in 'client_host_cache'
5 years ago
Javier Jaramago Fernández 514ffe939a Fixed double increment in 'update_client_host_cache' when oldest entry is updated
5 years ago
Javier Jaramago Fernández 2d3da0fca3 Simplified check for query 'PROXYSQL FLUSH MYSQL CLIENT HOSTS' via 'strcasecmp'
5 years ago
Javier Jaramago Fernández e7d9a4c74d Added extra logging when a connection is closed due to 'client_host_error_counts' being reached
5 years ago
Javier Jaramago Fernández 625daa9cd3 Fixed check for 'client_host' error count and added missing free
5 years ago
Javier Jaramago Fernández 3addb9a194 Improved implementation of helper function 'get_client_addr' using 'handler___status_NONE_or_default' as reference
5 years ago
Javier Jaramago Fernández 6e533cb5d9 Merge branch 'v2.x' of github.com:sysown/proxysql into v2.x-client_err_limit
5 years ago
René Cannaò 3a481ecb89 Removing some printf
5 years ago
René Cannaò e751dbbf32
Merge pull request #3609 from sysown/v2.x-3591
5 years ago
René Cannaò 8778df61ee
Merge pull request #3610 from sysown/2.x-3608
5 years ago
René Cannaò b485623d6f Reimplemented the handling of comments in 'USE' statements #3493
5 years ago
Javier Jaramago Fernández 8091b26f64 Added compilation fix enabling 'EPOLL' support in 'libhttpserver' required by RESTAPI #3591
5 years ago
Javier Jaramago Fernández 0a37981529 Added comments for the fix introduced for #3603
5 years ago
Javier Jaramago Fernández d81af3faf5 Fixed invalid preservation of old 'NULL' values for previously executed stmt #3603
5 years ago
René Cannaò 42fad778e3 Do not copy MYSQL_TS if length is 0
5 years ago
René Cannaò 0bef2e8149 Correctly bind parameters if new_params_bound_flag is not provided
5 years ago
René Cannaò f7bb4d201b Add get_current_query_rules_fast_routing_count()
5 years ago
René Cannaò ca10cf0631 Temporary removing all read/write timeout from Cluster
5 years ago
René Cannaò 2ae218f7ed Cluster: sync of proxysql_servers ensures that checksum is correct
5 years ago
René Cannaò 38c5a76d0e Use Aurora writer for reads if max_lag_ms isn't specified
5 years ago
René Cannaò cd7e740a51 Get mutex during LOAD PROXYSQL SERVERS TO RUNTIME
5 years ago
René Cannaò 0c711e1a32 Prevent a crash while syncing proxysql_servers in Cluster
5 years ago
René Cannaò 66c4c6b0a8 Adding new mutex in ProxySQL_Admin::save_proxysql_servers_runtime_to_database()
5 years ago
René Cannaò 45e55d4e90 Removing admin_mutex in ProxySQL_Admin.cpp
5 years ago
René Cannaò e1adc955eb Fixing some race condition in Cluster
5 years ago
René Cannaò 48562faaf1 Merge branch 'v2.x' into v2.1.2-cluster
5 years ago
René Cannaò d0f6ba3503
Merge pull request #3582 from sysown/v2.x-cherry-pick_3305
5 years ago
René Cannaò 2a5121e52f
Merge pull request #3514 from egezonberisha/pt-heartbeat-query-delay
5 years ago
René Cannaò aceeaf79ed Disabled prometheus metrics dump , see #3571
5 years ago
René Cannaò cf33522a25 Commenting unused code
5 years ago
René Cannaò 0da250ec8d
Merge pull request #3491 from csoulios/ldap-auth-changes
5 years ago
René Cannaò 08ea308033
Merge pull request #3552 from sysown/v2.x-ssl_no-rsa
5 years ago
René Cannaò dd71fcd81f Shun "soft" and "hard" in group replication lag
5 years ago
René Cannaò ebbd9845bd
Merge branch 'v2.x' into v2.1.2-cluster
5 years ago
René Cannaò 0937133b15
Merge pull request #3577 from hkdsun/capath-crls-v2.x
5 years ago
René Cannaò 8126c7d037
Fix typo ssl_p2_capath instead of ssl_p2s_capath
5 years ago
René Cannaò 228c0bfd79
Merge branch 'v2.x' into v2.x-3504
5 years ago
Hormoz K 7762dea993 add crl, crlpath, and capath options
5 years ago
René Cannaò c78539c936
Merge pull request #3576 from sysown/v2.x-connect_verbo
5 years ago
René Cannaò dafda29a1a
Merge pull request #3573 from sysown/v2.x-3546
5 years ago
René Cannaò 05fa6c23cf
Merge pull request #3569 from sysown/v2.x-3554
5 years ago
René Cannaò 57f6af7132 Add more verbosity when mysql_real_connect() fails
5 years ago
René Cannaò 46f75dae3b Add more verbosity when starting a scheduler job
5 years ago
René Cannaò f8ce41305d Fixing some race condition
5 years ago
René Cannaò 5bfbca7f2d Preserve epoch when synching with ProxySQL Cluster
5 years ago
René Cannaò 1e9295c13d Removing a lock introduced in 894e72041
5 years ago
René Cannaò ea0ca76bd3 Merge branch 'v2.1.2-cluster' of https://github.com/sysown/proxysql into v2.1.2-cluster
5 years ago
René Cannaò 894e72041d Adding a mutex when Cluster is syncing mysql query rules
5 years ago
Javier Jaramago Fernández 25df228960 Fixed double-free memory corruption due to unitialized memory in prepared statements bind buffers #3546
5 years ago
Javier Jaramago Fernández fce6cfb8a0 Improved preservation of 'OFFLINE_SOFT' server state during 'group_replication' update actions
5 years ago
René Cannaò 148264cd8b Disabled prometheus metrics dump , see #3571
5 years ago
Javier Jaramago Fernández 9f2c8836bc Fixed removal of servers not belonging to cluster hostgroups by 'group_replication' actions 'set_read_only/set_offline/set_writer'
5 years ago
Javier Jaramago Fernández fd9f3f13a3 Fixed 'strcat-param-overlap' found by ASAN in 'IsKeepMultiplexEnabledVariables' #3554
5 years ago
Javier Jaramago Fernández 58460bd323 Fixed 'heap-buffer-overflow' detected by ASAN in 'generate_show_fields_from' #3554
5 years ago
Javier Jaramago Fernández 0f8aa299ac Fixed memory corruption reported by ASAN due to unexpected packet by 'mysqlsh' #3554
5 years ago
René Cannaò 254ee51e8a Temporary commit for debugging
5 years ago
René Cannaò bc6d4f2aba Improve error verbosity in ProxySQL Cluster
5 years ago
Javier Jaramago Fernández e8cc7be8fd Added non-blocking calls to 'SSL_shutdown' for sending final 'close_notify' required by SSL standard
5 years ago
Javier Jaramago Fernández d5de8a52f1 Improved SAN names parsing and client certificate verification when 'SPIFFE' is used
5 years ago
René Cannaò fcfcb3cac0 Improve error verbosity in ProxySQL Cluster
5 years ago
René Cannaò 1f81892adc Commenting unused code
5 years ago
René Cannaò 5e422668c8 Removing mysql-threads from cluster sync
5 years ago
Javier Jaramago Fernández 9d9851d8e6 Added ASAN (AddressSanitizer) compilation support to ProxySQL #3554
5 years ago
René Cannaò af27c0b108 Merge branch 'v2.x' into v2.1.2-cluster
5 years ago
René Cannaò 3de13665e8
Merge pull request #3557 from sysown/v2.x-ccov2
5 years ago
René Cannaò 5203c11bbd
Merge pull request #3560 from sysown/v2.x-3549_v2
5 years ago
René Cannaò 2145507c22 If a session is locked on hostgroup , autocommit is copied from backend connection
5 years ago
René Cannaò 538feddc87 Code cleanup
5 years ago
René Cannaò c4fce91fc5 Change default value of mysql-session_idle_ms from 1000 to 1
5 years ago
René Cannaò 1d5ac70e7b Adding test to test mysql user fast_forward
5 years ago
René Cannaò 78f8821215 More code coverage mostly related to Admin
5 years ago
Javier Jaramago Fernández e2dd0a30cd Initial implementation for 'client_error_limit'
5 years ago
René Cannaò 3d5469fded Adding LCOV_EXCL_START around exit(EXIT_FAILURE)
5 years ago
René Cannaò 194243503a Adding LCOV_EXCL_START around assert(0)
5 years ago
René Cannaò 8afeb616ed Added test for connections timeout
5 years ago
René Cannaò b912d978b0 Removing or commenting legacy/unused code
5 years ago
René Cannaò 22f2204745 Removed unused code
5 years ago
René Cannaò 6314eab4e3
Merge pull request #3540 from sysown/v2.x-3539
5 years ago
René Cannaò 7f0b358ed8
Merge pull request #3544 from sysown/v2.x-3525
5 years ago