summaryrefslogtreecommitdiff
path: root/sql/log.h
diff options
context:
space:
mode:
authorAlfranio Correia <alfranio.correia@oracle.com>2010-11-05 17:42:37 +0000
committerAlfranio Correia <alfranio.correia@oracle.com>2010-11-05 17:42:37 +0000
commitbf2c66d4a7281c1d7dbf49cbad315c7041762670 (patch)
tree9b04bc2cae8d25cb3b3334712ad98c4006f16431 /sql/log.h
parentbabe727bb4158113f63f1ad3f6d4384230c30492 (diff)
downloadmariadb-git-bf2c66d4a7281c1d7dbf49cbad315c7041762670.tar.gz
BUG#57275 binlog_cache_size affects trx- and stmt-cache and gets twice the expected memory
After the WL#2687, the binlog_cache_size and max_binlog_cache_size affect both the stmt-cache and the trx-cache. This means that the resource used is twice the amount expected/defined by the user. The binlog_cache_use is incremented when the stmt-cache or the trx-cache is used and binlog_cache_disk_use is incremented when the disk space from the stmt-cache or the trx-cache is used. This behavior does not allow to distinguish which cache may be harming performance due to the extra disk accesses and needs to have its in-memory cache increased. To fix the problem, we introduced two new options and status variables related to the stmt-cache: Options: . binlog_stmt_cache_size . max_binlog_stmt_cache_size Status Variables: . binlog_stmt_cache_use . binlog_stmt_cache_disk_use So there are . binlog_cache_size that defines the size of the transactional cache for updates to transactional engines for the binary log. . binlog_stmt_cache_size that defines the size of the statement cache for updates to non-transactional engines for the binary log. . max_binlog_cache_size that sets the total size of the transactional cache. . max_binlog_stmt_cache_size that sets the total size of the statement cache. . binlog_cache_use that identifies the number of transactions that used the temporary transactional binary log cache. . binlog_cache_disk_use that identifies the number of transactions that used the temporary transactional binary log cache but that exceeded the value of binlog_cache_size. . binlog_stmt_cache_use that identifies the number of statements that used the temporary non-transactional binary log cache. . binlog_stmt_cache_disk_use that identifies the number of statements that used the temporary non-transactional binary log cache but that exceeded the value of binlog_stmt_cache_size.
Diffstat (limited to 'sql/log.h')
-rw-r--r--sql/log.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/log.h b/sql/log.h
index 89b3594cd1e..df7ed61a473 100644
--- a/sql/log.h
+++ b/sql/log.h
@@ -399,7 +399,7 @@ public:
bool write_incident(THD *thd, bool lock);
int write_cache(IO_CACHE *cache, bool lock_log, bool flush_and_sync);
- void set_write_error(THD *thd);
+ void set_write_error(THD *thd, bool is_transactional);
bool check_write_error(THD *thd);
void start_union_events(THD *thd, query_id_t query_id_param);