MXS-1940 Turn cache filter non-experimental

Also change the following defaults:

- "selects": Was "verify_cacheable", is now "assume_cacheable"
- "cached_data": Was "shared", is now "thread_specific"
This commit is contained in:
Johan Wikman
2018-06-27 10:34:00 +03:00
parent 76fb7a695e
commit b0902402b6
4 changed files with 132 additions and 71 deletions

View File

@ -53,8 +53,8 @@ void cache_config_finish(CACHE_CONFIG& config)
config.hard_ttl = 0;
config.soft_ttl = 0;
config.debug = 0;
config.thread_model = CACHE_THREAD_MODEL_MT;
config.selects = CACHE_SELECTS_VERIFY_CACHEABLE;
config.thread_model = CACHE_DEFAULT_THREAD_MODEL;
config.selects = CACHE_DEFAULT_SELECTS;
}
/**
@ -79,6 +79,9 @@ void cache_config_free(CACHE_CONFIG* pConfig)
void cache_config_reset(CACHE_CONFIG& config)
{
memset(&config, 0, sizeof(config));
config.thread_model = CACHE_DEFAULT_THREAD_MODEL;
config.selects = CACHE_DEFAULT_SELECTS;
}
/**
@ -163,7 +166,7 @@ extern "C" MXS_MODULE* MXS_CREATE_MODULE()
static MXS_MODULE info =
{
MXS_MODULE_API_FILTER,
MXS_MODULE_IN_DEVELOPMENT,
MXS_MODULE_GA,
MXS_FILTER_VERSION,
"A caching filter that is capable of caching and returning cached data.",
VERSION_STRING,
@ -177,7 +180,7 @@ extern "C" MXS_MODULE* MXS_CREATE_MODULE()
{
"storage",
MXS_MODULE_PARAM_STRING,
CACHE_DEFAULT_STORAGE
CACHE_ZDEFAULT_STORAGE
},
{
"storage_options",
@ -186,32 +189,32 @@ extern "C" MXS_MODULE* MXS_CREATE_MODULE()
{
"hard_ttl",
MXS_MODULE_PARAM_COUNT,
CACHE_DEFAULT_HARD_TTL
CACHE_ZDEFAULT_HARD_TTL
},
{
"soft_ttl",
MXS_MODULE_PARAM_COUNT,
CACHE_DEFAULT_SOFT_TTL
CACHE_ZDEFAULT_SOFT_TTL
},
{
"max_resultset_rows",
MXS_MODULE_PARAM_COUNT,
CACHE_DEFAULT_MAX_RESULTSET_ROWS
CACHE_ZDEFAULT_MAX_RESULTSET_ROWS
},
{
"max_resultset_size",
MXS_MODULE_PARAM_SIZE,
CACHE_DEFAULT_MAX_RESULTSET_SIZE
CACHE_ZDEFAULT_MAX_RESULTSET_SIZE
},
{
"max_count",
MXS_MODULE_PARAM_COUNT,
CACHE_DEFAULT_MAX_COUNT
CACHE_ZDEFAULT_MAX_COUNT
},
{
"max_size",
MXS_MODULE_PARAM_SIZE,
CACHE_DEFAULT_MAX_SIZE
CACHE_ZDEFAULT_MAX_SIZE
},
{
"rules",
@ -220,26 +223,26 @@ extern "C" MXS_MODULE* MXS_CREATE_MODULE()
{
"debug",
MXS_MODULE_PARAM_COUNT,
CACHE_DEFAULT_DEBUG
CACHE_ZDEFAULT_DEBUG
},
{
"cached_data",
MXS_MODULE_PARAM_ENUM,
CACHE_DEFAULT_THREAD_MODEL,
CACHE_ZDEFAULT_THREAD_MODEL,
MXS_MODULE_OPT_NONE,
parameter_cached_data_values
},
{
"selects",
MXS_MODULE_PARAM_ENUM,
CACHE_DEFAULT_SELECTS,
CACHE_ZDEFAULT_SELECTS,
MXS_MODULE_OPT_NONE,
parameter_selects_values
},
{
"cache_in_transactions",
MXS_MODULE_PARAM_ENUM,
CACHE_DEFAULT_CACHE_IN_TRXS,
CACHE_ZDEFAULT_CACHE_IN_TRXS,
MXS_MODULE_OPT_NONE,
parameter_cache_in_trxs_values
},

View File

@ -38,35 +38,37 @@
#define UINT64_MAX (18446744073709551615UL)
#endif
// Count
#define CACHE_DEFAULT_MAX_RESULTSET_ROWS "0"
// Bytes
#define CACHE_DEFAULT_MAX_RESULTSET_SIZE "0"
// Seconds
#define CACHE_DEFAULT_HARD_TTL "0"
// Seconds
#define CACHE_DEFAULT_SOFT_TTL "0"
// Integer value
#define CACHE_DEFAULT_DEBUG "0"
// Positive integer
#define CACHE_DEFAULT_MAX_COUNT "0"
// Positive integer
#define CACHE_DEFAULT_MAX_SIZE "0"
// Thread model
#define CACHE_DEFAULT_THREAD_MODEL "shared"
// Cacheable selects
#define CACHE_DEFAULT_SELECTS "verify_cacheable"
// Storage
#define CACHE_DEFAULT_STORAGE "storage_inmemory"
// Transaction behaviour
#define CACHE_DEFAULT_CACHE_IN_TRXS "all_transactions"
typedef enum cache_selects
{
CACHE_SELECTS_ASSUME_CACHEABLE,
CACHE_SELECTS_VERIFY_CACHEABLE,
} cache_selects_t;
// Count
#define CACHE_ZDEFAULT_MAX_RESULTSET_ROWS "0"
// Bytes
#define CACHE_ZDEFAULT_MAX_RESULTSET_SIZE "0"
// Seconds
#define CACHE_ZDEFAULT_HARD_TTL "0"
// Seconds
#define CACHE_ZDEFAULT_SOFT_TTL "0"
// Integer value
#define CACHE_ZDEFAULT_DEBUG "0"
// Positive integer
#define CACHE_ZDEFAULT_MAX_COUNT "0"
// Positive integer
#define CACHE_ZDEFAULT_MAX_SIZE "0"
// Thread model
#define CACHE_ZDEFAULT_THREAD_MODEL "thread_specific"
const cache_thread_model CACHE_DEFAULT_THREAD_MODEL = CACHE_THREAD_MODEL_ST;
// Cacheable selects
#define CACHE_ZDEFAULT_SELECTS "assume_cacheable"
const cache_selects_t CACHE_DEFAULT_SELECTS = CACHE_SELECTS_ASSUME_CACHEABLE;
// Storage
#define CACHE_ZDEFAULT_STORAGE "storage_inmemory"
// Transaction behaviour
#define CACHE_ZDEFAULT_CACHE_IN_TRXS "all_transactions"
typedef enum cache_in_trxs
{
// Do NOT change the order. Code relies upon NEVER < READ_ONLY < ALL.