File: alter.result

package info (click to toggle)
tarantool 2.6.0-1.4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 85,412 kB
  • sloc: ansic: 513,775; cpp: 69,493; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,178; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (97 lines) | stat: -rw-r--r-- 1,765 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
-- wal is off, good opportunity to test something more CPU intensive:
env = require('test_run')
---
...
test_run = env.new()
---
...
-- need a clean server to count the number of tuple formats
test_run:cmd('restart server default with cleanup=1')
spaces = {}
---
...
box.schema.FORMAT_ID_MAX
---
- 65534
...
test_run:cmd("setopt delimiter ';'")
---
- true
...
-- too many formats
for k = 1, box.schema.FORMAT_ID_MAX, 1 do
    local s = box.schema.space.create('space'..k)
    table.insert(spaces, s)
end;
---
- error: 'Tuple format limit reached: 65536'
...
#spaces;
---
- 65501
...
-- cleanup
for k, v in pairs(spaces) do
    v:drop()
end;
---
...
test_run:cmd("setopt delimiter ''");
---
- true
...
--
-- gh-3408: space drop frees tuples asynchronously.
--
fiber = require('fiber')
---
...
function mem_used() local info = box.info.memory() return info.data + info.index end
---
...
_ = collectgarbage('collect')
---
...
mem_before = mem_used()
---
...
s1 = box.schema.space.create('test1')
---
...
_ = s1:create_index('pk', {type = 'tree'})
---
...
s2 = box.schema.space.create('test2')
---
...
_ = s2:create_index('pk', {type = 'hash'})
---
...
box.begin() for i = 1, 10000 do s1:insert{i} s2:insert{i} end box.commit()
---
...
-- Space drop doesn't yield because WAL is off so memory won't
-- be freed until we yield.
test_run:cmd("setopt delimiter ';'")
---
- true
...
s1:drop()
s2:drop()
_ = collectgarbage('collect')
mem_after = mem_used()
test_run:cmd("setopt delimiter ''");
---
...
mem_after > mem_before -- due to async cleanup
---
- true
...
-- Check that async cleanup doesn't leave garbage behind.
for i = 1, 100 do mem_after = mem_used() if mem_after <= mem_before then break end fiber.sleep(0.01) end
---
...
mem_after <= mem_before
---
- true
...