On Wed, May 30, 2018 at 06:41:07PM +0300, Konstantin Osipov wrote:
* Vladimir Davydov <vdavydov.dev@xxxxxxxxx> [18/05/30 15:55]:
Closes #2634
---
https://github.com/tarantool/tarantool/issues/2634
https://github.com/tarantool/tarantool/commits/gh-2634-allow-to-increase-memory-size
It should still be possible to set the limit to the same size,
what do you think?
+int
+memtx_engine_set_memory(struct memtx_engine *memtx, size_t size)
+{
+ if (size < quota_total(&memtx->quota)) {
Shouldn't this be <= rather than < ?
+ diag_set(ClientError, ER_CFG, "memtx_memory",
+ "cannot decrease memory size at runtime");
+ return -1;
+ }
+ quota_set(&memtx->quota, size);
+ return 0;
+}
+int
+vinyl_engine_set_memory(struct vinyl_engine *vinyl, size_t size)
+{
+ if (size < vinyl->env->quota.limit) {
Same here.
+ diag_set(ClientError, ER_CFG, "vinyl_memory",
+ "cannot decrease memory size at runtime");
+ return -1;
+ }
+ vy_quota_set_limit(&vinyl->env->quota, size);
+ return 0;
+}
/**
index 00000000..e3e89393
--- /dev/null
+++ b/test/box/lua/cfg_memory.lua
@@ -0,0 +1,9 @@
+#!/usr/bin/env tarantool
Adding wal_mode=none will speed things up a bit when testing for
memtx at least.
Similar tests reside in wal_mode suite.
+
+local LIMIT = tonumber(arg[1])
+
+box.cfg{
+ memtx_memory = LIMIT,
+}
+
+---
+- error: 'Incorrect value for option ''memtx_memory'': cannot decrease
memory size
+ at runtime'
+...
+box.slab.info().quota_size
+---
+- 268435456
As usual, I'd prefer a less cpu intensive test. E.g. do you have
to double the amount of memory ? Perhaps only slightly increasing it
would test the same even better?
The same remark applies to vinyl test.