tarantool 0.4.3.2 → 0.4.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/tarantool/exceptions.rb +6 -0
- data/lib/tarantool/version.rb +2 -2
- data/lib/tarantool/version.rb.orig +9 -0
- data/test/shared_replicated_shard.rb +18 -0
- data/test/tarantool.cfg +6 -0
- data/test/tarantool.log +25 -0
- data/test/tarantool1.cfg +64 -0
- metadata +15 -10
data/lib/tarantool/exceptions.rb
CHANGED
@@ -26,7 +26,9 @@ module Tarantool
|
|
26
26
|
# general error return codes
|
27
27
|
class BadReturnCode < StatusCode; end
|
28
28
|
class NonMaster < BadReturnCode; end
|
29
|
+
class IsSecondaryPort < NonMaster; end
|
29
30
|
class IllegalParams < BadReturnCode; end
|
31
|
+
class BadIntegrity < BadReturnCode; end
|
30
32
|
class UnsupportedCommand < BadReturnCode; end
|
31
33
|
class WrongField < BadReturnCode; end
|
32
34
|
class WrongNumber < BadReturnCode; end
|
@@ -37,12 +39,15 @@ module Tarantool
|
|
37
39
|
class StoredProcedureNotDefined < BadReturnCode; end
|
38
40
|
class TupleExists < BadReturnCode; end
|
39
41
|
class TupleDoesntExists < BadReturnCode; end
|
42
|
+
class DuplicateKey < BadReturnCode; end
|
40
43
|
CODE_TO_EXCEPTION = {
|
41
44
|
0x0401 => TupleReadOnly,
|
42
45
|
0x0601 => TupleIsLocked,
|
43
46
|
0x0701 => MemoryIssue,
|
44
47
|
0x0102 => NonMaster,
|
45
48
|
0x0202 => IllegalParams,
|
49
|
+
0x0302 => IsSecondaryPort,
|
50
|
+
0x0802 => BadIntegrity,
|
46
51
|
0x0a02 => UnsupportedCommand,
|
47
52
|
0x1e02 => WrongField,
|
48
53
|
0x1f02 => WrongNumber,
|
@@ -53,6 +58,7 @@ module Tarantool
|
|
53
58
|
0x3202 => StoredProcedureNotDefined,
|
54
59
|
0x3302 => LuaError,
|
55
60
|
0x3702 => TupleExists,
|
61
|
+
0x3802 => DuplicateKey,
|
56
62
|
}
|
57
63
|
CODE_TO_EXCEPTION.default = BadReturnCode
|
58
64
|
end
|
data/lib/tarantool/version.rb
CHANGED
@@ -577,6 +577,24 @@ shared_examples_for 'replication and shards' do
|
|
577
577
|
]}.must_equal [one, two]
|
578
578
|
end
|
579
579
|
|
580
|
+
it "should not delete under wrong explicit shard" do
|
581
|
+
blockrun{[
|
582
|
+
space_both.shard(1).delete(1, return_tuple: true),
|
583
|
+
space_both.shard(0).delete(2, return_tuple: true)
|
584
|
+
]}.must_equal [nil, nil]
|
585
|
+
end
|
586
|
+
|
587
|
+
it "should delete under right explicit shard" do
|
588
|
+
blockrun{[
|
589
|
+
space_both.shard(0).delete(1, return_tuple: true),
|
590
|
+
space_both.shard(1).delete(2, return_tuple: true),
|
591
|
+
space_both.shard(0).by_pk(1),
|
592
|
+
space_both.shard(1).by_pk(1),
|
593
|
+
space_both.shard(0).by_pk(2),
|
594
|
+
space_both.shard(1).by_pk(2)
|
595
|
+
]}.must_equal [one, two, nil, nil, nil, nil]
|
596
|
+
end
|
597
|
+
|
580
598
|
it "should call on both" do
|
581
599
|
result = blockrun{ space_both.call('box.select_range', [0, 100]) }
|
582
600
|
result.sort_by{|t| get_id(t)}.must_equal [one, two]
|
data/test/tarantool.cfg
CHANGED
@@ -62,3 +62,9 @@ space[3].index[1].type = "TREE"
|
|
62
62
|
space[3].index[1].unique = 0
|
63
63
|
space[3].index[1].key_field[0].fieldno = 1
|
64
64
|
space[3].index[1].key_field[0].type = "STR"
|
65
|
+
|
66
|
+
space[4].enabled = 1
|
67
|
+
space[4].index[0].type = "TREE"
|
68
|
+
space[4].index[0].unique = 1
|
69
|
+
space[4].index[0].key_field[0].fieldno = 0
|
70
|
+
space[4].index[0].key_field[0].type = "STR"
|
data/test/tarantool.log
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
1344852766.959 28990 1/spawner _ C> initialized
|
2
|
+
1344852766.975 28988 1/sched _ I> space 0 successfully configured
|
3
|
+
1344852766.975 28988 1/sched _ I> space 1 successfully configured
|
4
|
+
1344852766.975 28988 1/sched _ I> space 2 successfully configured
|
5
|
+
1344852766.975 28988 1/sched _ I> space 3 successfully configured
|
6
|
+
1344852766.975 28988 1/sched _ I> recovery start
|
7
|
+
1344852766.975 28988 1/sched _ I> recover from `./00000000000000000001.snap'
|
8
|
+
1344852766.975 28988 1/sched _ I> snapshot recovered, confirmed lsn: 1
|
9
|
+
1344852766.976 28988 1/sched _ I> building secondary indexes
|
10
|
+
1344852766.976 28988 1/sched _ I> Building secondary keys in space 0...
|
11
|
+
1344852766.976 28988 1/sched _ I> Space 0: done
|
12
|
+
1344852766.976 28988 1/sched _ I> Building secondary keys in space 2...
|
13
|
+
1344852766.976 28988 1/sched _ I> Space 2: done
|
14
|
+
1344852766.976 28988 1/sched _ I> Building secondary keys in space 3...
|
15
|
+
1344852766.976 28988 1/sched _ I> Space 3: done
|
16
|
+
1344852766.976 28988 101/33013/primary _ I> bound to port 33013
|
17
|
+
1344852766.976 28988 101/33013/primary _ I> I am primary
|
18
|
+
1344852766.976 28988 102/33014/secondary _ I> bound to port 33014
|
19
|
+
1344852766.977 28988 103/33015/admin _ I> bound to port 33015
|
20
|
+
1344852766.977 28988 104/33016/replication _ I> bound to port 33016
|
21
|
+
1344852766.977 28988 105/init.lua _ I> loading ./init.lua
|
22
|
+
1344852766.977 28988 1/sched _ C> log level 4
|
23
|
+
1344852766.977 28988 1/sched _ C> entering event loop
|
24
|
+
1344852784.410 28988 1/sched _ C> exiting loop
|
25
|
+
1344852784.412 28990 1/spawner _ I> Exiting: master shutdown
|
data/test/tarantool1.cfg
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
slab_alloc_arena = 0.1
|
2
|
+
pid_file = "box.pid"
|
3
|
+
|
4
|
+
logger="cat - >> tarantool.log"
|
5
|
+
work_dir="tarant1"
|
6
|
+
|
7
|
+
primary_port = 34013
|
8
|
+
secondary_port = 34014
|
9
|
+
admin_port = 34015
|
10
|
+
replication_port = 34016
|
11
|
+
#replication_source = "localhost:32016"
|
12
|
+
|
13
|
+
rows_per_wal = 50000
|
14
|
+
|
15
|
+
space[0].enabled = 1
|
16
|
+
|
17
|
+
space[0].index[0].type = "TREE"
|
18
|
+
space[0].index[0].unique = 1
|
19
|
+
space[0].index[0].key_field[0].fieldno = 0
|
20
|
+
space[0].index[0].key_field[0].type = "STR"
|
21
|
+
|
22
|
+
space[0].index[1].type = "TREE"
|
23
|
+
space[0].index[1].unique = 0
|
24
|
+
space[0].index[1].key_field[0].fieldno = 1
|
25
|
+
space[0].index[1].key_field[0].type = "STR"
|
26
|
+
space[0].index[1].key_field[1].fieldno = 2
|
27
|
+
space[0].index[1].key_field[1].type = "STR"
|
28
|
+
|
29
|
+
space[0].index[2].type = "TREE"
|
30
|
+
space[0].index[2].unique = 0
|
31
|
+
space[0].index[2].key_field[0].fieldno = 3
|
32
|
+
space[0].index[2].key_field[0].type = "NUM"
|
33
|
+
|
34
|
+
space[1].enabled = 1
|
35
|
+
|
36
|
+
space[1].index[0].type = "HASH"
|
37
|
+
space[1].index[0].unique = 1
|
38
|
+
space[1].index[0].key_field[0].fieldno = 0
|
39
|
+
space[1].index[0].key_field[0].type = "NUM"
|
40
|
+
|
41
|
+
|
42
|
+
space[2].enabled = 1
|
43
|
+
|
44
|
+
space[2].index[0].type = "TREE"
|
45
|
+
space[2].index[0].unique = 1
|
46
|
+
space[2].index[0].key_field[0].fieldno = 0
|
47
|
+
space[2].index[0].key_field[0].type = "STR"
|
48
|
+
space[2].index[0].key_field[1].fieldno = 1
|
49
|
+
space[2].index[0].key_field[1].type = "STR"
|
50
|
+
|
51
|
+
space[2].index[1].type = "TREE"
|
52
|
+
space[2].index[1].unique = 0
|
53
|
+
space[2].index[1].key_field[0].fieldno = 2
|
54
|
+
space[2].index[1].key_field[0].type = "NUM"
|
55
|
+
|
56
|
+
space[3].enabled = 1
|
57
|
+
space[3].index[0].type = "HASH"
|
58
|
+
space[3].index[0].unique = 1
|
59
|
+
space[3].index[0].key_field[0].fieldno = 0
|
60
|
+
space[3].index[0].key_field[0].type = "NUM"
|
61
|
+
space[3].index[1].type = "TREE"
|
62
|
+
space[3].index[1].unique = 0
|
63
|
+
space[3].index[1].key_field[0].fieldno = 1
|
64
|
+
space[3].index[1].key_field[0].type = "STR"
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tarantool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.3.2
|
5
4
|
prerelease:
|
5
|
+
version: 0.4.3.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Andrew Rudenko
|
@@ -10,17 +10,16 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-11-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
|
16
|
+
type: :runtime
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 0.3.8
|
23
|
-
type: :runtime
|
24
23
|
prerelease: false
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
26
25
|
none: false
|
@@ -28,15 +27,15 @@ dependencies:
|
|
28
27
|
- - ! '>='
|
29
28
|
- !ruby/object:Gem::Version
|
30
29
|
version: 0.3.8
|
30
|
+
name: iproto
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
|
-
|
32
|
+
type: :runtime
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
none: false
|
35
35
|
requirements:
|
36
36
|
- - ! '>='
|
37
37
|
- !ruby/object:Gem::Version
|
38
38
|
version: 0.1.1
|
39
|
-
type: :runtime
|
40
39
|
prerelease: false
|
41
40
|
version_requirements: !ruby/object:Gem::Requirement
|
42
41
|
none: false
|
@@ -44,15 +43,15 @@ dependencies:
|
|
44
43
|
- - ! '>='
|
45
44
|
- !ruby/object:Gem::Version
|
46
45
|
version: 0.1.1
|
46
|
+
name: murmurhash3
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
|
48
|
+
type: :runtime
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.0.2
|
55
|
-
type: :runtime
|
56
55
|
prerelease: false
|
57
56
|
version_requirements: !ruby/object:Gem::Requirement
|
58
57
|
none: false
|
@@ -60,15 +59,15 @@ dependencies:
|
|
60
59
|
- - ! '>='
|
61
60
|
- !ruby/object:Gem::Version
|
62
61
|
version: 0.0.2
|
62
|
+
name: sumbur
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
|
64
|
+
type: :runtime
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
66
66
|
none: false
|
67
67
|
requirements:
|
68
68
|
- - ! '>='
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: 0.0.3
|
71
|
-
type: :runtime
|
72
71
|
prerelease: false
|
73
72
|
version_requirements: !ruby/object:Gem::Requirement
|
74
73
|
none: false
|
@@ -76,6 +75,7 @@ dependencies:
|
|
76
75
|
- - ! '>='
|
77
76
|
- !ruby/object:Gem::Version
|
78
77
|
version: 0.0.3
|
78
|
+
name: bin_utils
|
79
79
|
description: Tarantool KV-storage client.
|
80
80
|
email:
|
81
81
|
- ceo@prepor.ru
|
@@ -98,6 +98,7 @@ files:
|
|
98
98
|
- lib/tarantool/core-ext.rb
|
99
99
|
- lib/tarantool/serializers/ber_array.rb
|
100
100
|
- lib/tarantool/serializers/bson.rb
|
101
|
+
- lib/tarantool/version.rb.orig
|
101
102
|
- lib/tarantool/callback_db.rb
|
102
103
|
- lib/tarantool/exceptions.rb
|
103
104
|
- lib/tarantool/space_hash.rb
|
@@ -119,12 +120,14 @@ files:
|
|
119
120
|
- test/helper.rb
|
120
121
|
- test/test_query_fiber.rb
|
121
122
|
- test/test_space_array_callback_nodef.rb
|
123
|
+
- test/tarantool1.cfg
|
122
124
|
- test/init.lua
|
123
125
|
- test/run_all.rb
|
124
126
|
- test/test_space_array_callback.rb
|
125
127
|
- test/test_space_array_fiber.rb
|
126
128
|
- test/test_reshard_fiber.rb
|
127
129
|
- test/test_query_block.rb
|
130
|
+
- test/tarantool.log
|
128
131
|
- test/shared_reshard.rb
|
129
132
|
- test/shared_query.rb
|
130
133
|
- test/test_shard_replication_block.rb
|
@@ -173,12 +176,14 @@ test_files:
|
|
173
176
|
- test/helper.rb
|
174
177
|
- test/test_query_fiber.rb
|
175
178
|
- test/test_space_array_callback_nodef.rb
|
179
|
+
- test/tarantool1.cfg
|
176
180
|
- test/init.lua
|
177
181
|
- test/run_all.rb
|
178
182
|
- test/test_space_array_callback.rb
|
179
183
|
- test/test_space_array_fiber.rb
|
180
184
|
- test/test_reshard_fiber.rb
|
181
185
|
- test/test_query_block.rb
|
186
|
+
- test/tarantool.log
|
182
187
|
- test/shared_reshard.rb
|
183
188
|
- test/shared_query.rb
|
184
189
|
- test/test_shard_replication_block.rb
|