svn: /pecl/mysqlnd_ms/trunk/ mysqlnd_ms_enum_n_def.h mysqlnd_ms_filter_qos.c
| From: | Ulf Wendel | Date: | Wed, 07 Dec 2011 14:56:30 +0000 |
| Subject: | svn: /pecl/mysqlnd_ms/trunk/ mysqlnd_ms_enum_n_def.h mysqlnd_ms_filter_qos.c | ||
| Groups: | php.pecl.cvs | ||
| Request: | Send a blank email to pecl-cvs+get-17299@lists.php.net to get a copy of this message | ||
uw Wed, 07 Dec 2011 14:56:30 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=320579
Log:
Remove option for setting cache ttl for slave status information. Implementation was incomplete. We
won't add caching to initial release. Its an optimization we can do later.
Changed paths:
U pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h
U pecl/mysqlnd_ms/trunk/mysqlnd_ms_filter_qos.c
Modified: pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h
===================================================================
--- pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h 2011-12-07 14:46:11 UTC (rev 320578)
+++ pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h 2011-12-07 14:56:30 UTC (rev 320579)
@@ -181,7 +181,6 @@
#define SECT_QOS_SESSION "session_consistency"
#define SECT_QOS_EVENTUAL "eventual_consistency"
#define SECT_QOS_AGE "age"
-#define SECT_QOS_CACHE_TTL "cache_ttl"
#define SECT_G_TRX_NAME "global_transaction_id_injection"
#define SECT_G_TRX_ON_COMMIT "on_commit"
#define SECT_G_TRX_REPORT_ERROR "report_error"
@@ -358,14 +357,13 @@
QOS_OPTION_NONE,
QOS_OPTION_GTID,
QOS_OPTION_AGE,
- QOS_OPTION_CACHE_TTL,
QOS_OPTION_LAST_ENUM_ENTRY
};
+/* using struct because we will likely add cache ttl later */
typedef struct st_mysqlnd_ms_filter_qos_option_data
{
long age_or_gtid;
- unsigned int cache_ttl;
} MYSQLND_MS_FILTER_QOS_OPTION_DATA;
typedef struct st_mysqlnd_ms_filter_qos_data
Modified: pecl/mysqlnd_ms/trunk/mysqlnd_ms_filter_qos.c
===================================================================
--- pecl/mysqlnd_ms/trunk/mysqlnd_ms_filter_qos.c 2011-12-07 14:46:11 UTC (rev 320578)
+++ pecl/mysqlnd_ms/trunk/mysqlnd_ms_filter_qos.c 2011-12-07 14:56:30 UTC (rev 320579)
@@ -89,21 +89,6 @@
MYSQLND_MS_ERROR_PREFIX " Error by creating filter '%s', '%s'
clashes with previous setting. Stopping.", PICK_QOS, SECT_QOS_SESSION);
} else {
ret->consistency = CONSISTENCY_SESSION;
-
- if (TRUE == is_list_value) {
- zend_bool section_exists;
- struct st_mysqlnd_ms_config_json_entry * session_section =
- mysqlnd_ms_config_json_sub_section(section, SECT_QOS_SESSION, sizeof(SECT_QOS_SESSION) - 1,
§ion_exists TSRMLS_CC);
-
- if (section_exists && session_section) {
- char * json_value = mysqlnd_ms_config_json_string_from_section(session_section,
SECT_QOS_CACHE_TTL, sizeof(SECT_QOS_CACHE_TTL) - 1, 0,
- &value_exists, &is_list_value TSRMLS_CC);
- if (value_exists && json_value) {
- ret->option_data.cache_ttl = atol(json_value);
- mnd_efree(json_value);
- }
- }
- }
}
}
@@ -133,13 +118,6 @@
ret->option = QOS_OPTION_AGE;
ret->option_data.age_or_gtid = atol(json_value);
mnd_efree(json_value);
-
- json_value = mysqlnd_ms_config_json_string_from_section(eventual_section,
SECT_QOS_CACHE_TTL, sizeof(SECT_QOS_CACHE_TTL) - 1, 0,
- &value_exists, &is_list_value TSRMLS_CC);
- if (value_exists && json_value) {
- ret->option_data.cache_ttl = atol(json_value);
- mnd_efree(json_value);
- }
}
}
}
@@ -481,7 +459,7 @@
smart_str_free(&sql);
BEGIN_ITERATE_OVER_SERVER_LIST(element, master_list)
- zend_llist_add_element(selected_masters, &element);
+ zend_llist_add_element(selected_masters, &element);
END_ITERATE_OVER_SERVER_LIST;
break;
}
@@ -495,16 +473,16 @@
*/
DBG_INF("using masters only for strong consistency");
BEGIN_ITERATE_OVER_SERVER_LIST(element, master_list)
- zend_llist_add_element(selected_masters, &element);
+ zend_llist_add_element(selected_masters, &element);
END_ITERATE_OVER_SERVER_LIST;
break;
case CONSISTENCY_EVENTUAL:
/*
- For now...
+ For now...
Either all masters and slaves or
slaves filtered by SHOW SLAVE STATUS replication lag
- For later...
+ For later...
We may inject mysqlnd_qc per-query TTL SQL hints here to
replace a slave access with a call access.
*/
@@ -563,16 +541,16 @@
tmp_error_info.error_no, tmp_error_info.error);
error_buf[sizeof(error_buf) - 1] = '\0';
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", error_buf);
- }
+ }
END_ITERATE_OVER_SERVER_LIST;
zend_llist_clean(&stage1_slaves);
} else {
BEGIN_ITERATE_OVER_SERVER_LIST(element, slave_list)
- zend_llist_add_element(selected_slaves, &element);
+ zend_llist_add_element(selected_slaves, &element);
END_ITERATE_OVER_SERVER_LIST;
}
BEGIN_ITERATE_OVER_SERVER_LIST(element, master_list)
- zend_llist_add_element(selected_masters, &element);
+ zend_llist_add_element(selected_masters, &element);
END_ITERATE_OVER_SERVER_LIST;
break;
default:
@@ -648,11 +626,6 @@
if (QOS_OPTION_GTID == option && CONSISTENCY_SESSION == consistency) {
new_qos_filter->option_data.age_or_gtid = option_data->age_or_gtid;
}
- if (QOS_OPTION_CACHE_TTL == option &&
- ((CONSISTENCY_EVENTUAL == consistency) || (CONSISTENCY_SESSION)))
- {
- new_qos_filter->option_data.cache_ttl = option_data->cache_ttl;
- }
new_filter_entry = (MYSQLND_MS_FILTER_DATA *)new_qos_filter;
new_filter_entry->persistent = persistent;