roma 1.2.0 → 1.3.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG +44 -1
- data/Gemfile.lock +18 -15
- data/README.md +15 -1
- data/bin/consistency_test +10 -0
- data/bin/data_accumulation +11 -0
- data/lib/roma/async_process.rb +39 -2
- data/lib/roma/command/sys_command_receiver.rb +80 -0
- data/lib/roma/command/vn_command_receiver.rb +1 -1
- data/lib/roma/config.rb +1 -1
- data/lib/roma/plugin/plugin_storage.rb +105 -1
- data/lib/roma/romad.rb +13 -1
- data/lib/roma/routing/cb_rttable.rb +1 -1
- data/lib/roma/tools/consistency_test.rb +77 -0
- data/lib/roma/tools/data_accumulation.rb +64 -0
- data/lib/roma/version.rb +1 -1
- data/lib/roma/write_behind.rb +138 -1
- data/test/config4mhash.rb +1 -1
- data/test/config4storage_error.rb +1 -1
- data/test/config4test.rb +1 -1
- data/test/cpdbtest/config4cpdb_base.rb +1 -1
- data/test/optional_test/t_mkroute_rich.rb +44 -0
- data/test/optional_test/t_other_cpdb.rb +45 -0
- data/test/optional_test/t_other_database.rb +59 -0
- data/test/{t_routing_logic.rb → optional_test/t_routing_logic.rb} +1 -0
- data/test/roma-test-storage.rb +685 -0
- data/test/roma-test-utils.rb +24 -0
- data/test/run-test.rb +9 -0
- data/test/t_command_definition.rb +2 -0
- data/test/t_cpdata.rb +1 -0
- data/test/t_cpdb.rb +22 -34
- data/test/t_eventmachine.rb +1 -0
- data/test/t_listplugin.rb +2 -0
- data/test/t_logshift.rb +2 -4
- data/test/t_mapcountplugin.rb +48 -37
- data/test/t_mapplugin.rb +2 -0
- data/test/t_mhash.rb +2 -1
- data/test/t_new_func.rb +386 -0
- data/test/t_protocol.rb +66 -1
- data/test/t_rclient.rb +2 -0
- data/test/t_replication.rb +299 -0
- data/test/t_routing_data.rb +6 -5
- data/test/t_storage.rb +5 -740
- data/test/t_storage_error.rb +1 -0
- data/test/t_writebehind.rb +11 -2
- metadata +31 -19
data/test/t_storage_error.rb
CHANGED
data/test/t_writebehind.rb
CHANGED
@@ -181,6 +181,7 @@ module FileWriterTests
|
|
181
181
|
end
|
182
182
|
|
183
183
|
class FileWriterTest < Test::Unit::TestCase
|
184
|
+
self.test_order = :defined
|
184
185
|
include FileWriterTests
|
185
186
|
|
186
187
|
def setup
|
@@ -195,6 +196,7 @@ class FileWriterTest < Test::Unit::TestCase
|
|
195
196
|
end
|
196
197
|
|
197
198
|
class WriteBehindTest < Test::Unit::TestCase
|
199
|
+
self.test_order = :defined
|
198
200
|
include FileWriterTests
|
199
201
|
include RomaTestUtils
|
200
202
|
|
@@ -209,8 +211,8 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
209
211
|
def teardown
|
210
212
|
stop_roma
|
211
213
|
Roma::Messaging::ConPool.instance.close_all
|
212
|
-
|
213
|
-
|
214
|
+
rescue => e
|
215
|
+
puts "#{e} #{$ERROR_POSITION}"
|
214
216
|
end
|
215
217
|
|
216
218
|
def test_wb2_stat
|
@@ -228,6 +230,7 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
228
230
|
send_cmd('localhost_11211', 'wb_command_map {:set=>1}')
|
229
231
|
assert_equal('STORED', @rc.set('abc', 'value abc', 0, true))
|
230
232
|
send_cmd('localhost_11211', 'writebehind_rotate roma')
|
233
|
+
sleep 1
|
231
234
|
|
232
235
|
wb0 = read_wb("#{wb_path}/0.wb")
|
233
236
|
assert_equal(1, wb0.length)
|
@@ -244,6 +247,7 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
244
247
|
assert_equal('STORED', @rc.set('abc', 'val1', 0, true))
|
245
248
|
assert_equal('STORED', @rc.set('abc', 'val2', 0, true))
|
246
249
|
send_cmd('localhost_11211', 'writebehind_rotate roma')
|
250
|
+
sleep 1
|
247
251
|
|
248
252
|
res = [[1, 'abc', 'val1'], [2, 'abc', 'val1'], [1, 'abc', 'val2']]
|
249
253
|
wb0 = read_wb("#{wb_path}/0.wb")
|
@@ -276,6 +280,7 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
276
280
|
res = send_cmd('localhost_11211', 'set_expt abc 100')
|
277
281
|
assert_equal('STORED', res.chomp)
|
278
282
|
send_cmd('localhost_11211', 'writebehind_rotate roma')
|
283
|
+
sleep 1
|
279
284
|
|
280
285
|
res = { 1 => '1', 2 => '1', 3 => '1', 4 => '2', 5 => '23', 6 => '123', 7 => '128', 8 => '129', 9 => '128', 10 => nil }
|
281
286
|
wb0 = read_wb("#{wb_path}/0.wb")
|
@@ -316,6 +321,7 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
316
321
|
assert_equal('STORED', res.chomp)
|
317
322
|
|
318
323
|
send_cmd('localhost_11211', 'writebehind_rotate roma')
|
324
|
+
sleep 1
|
319
325
|
|
320
326
|
res = [
|
321
327
|
[1, 'abc', '1'], [12, 'abc', '1'],
|
@@ -379,6 +385,7 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
379
385
|
assert_equal('DELETED', @rc.alist_delete_at('abc', 1)) # ['13','5','4','2','1','8','9','10','12']
|
380
386
|
assert_equal('CLEARED', @rc.alist_clear('abc'))
|
381
387
|
send_cmd('localhost_11211', 'writebehind_rotate roma')
|
388
|
+
sleep 1
|
382
389
|
|
383
390
|
res = {
|
384
391
|
10 => '1', 4 => '2', 5 => '3', 6 => '4', 7 => '5', 8 => '6', 9 => '7', 11 => '8', 12 => '9',
|
@@ -408,6 +415,7 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
408
415
|
assert_equal('STORED', @rc.map_set('abc', 'mapkey1', 'value1'))
|
409
416
|
assert_equal('CLEARED', @rc.map_clear('abc'))
|
410
417
|
send_cmd('localhost_11211', 'writebehind_rotate roma')
|
418
|
+
sleep 1
|
411
419
|
|
412
420
|
res = { 1 => { 'mapkey1' => 'value1' }, 2 => {}, 3 => {} }
|
413
421
|
wb0 = read_wb("#{wb_path}/0.wb")
|
@@ -435,6 +443,7 @@ class WriteBehindTest < Test::Unit::TestCase
|
|
435
443
|
assert_equal('STORED', @rc.map_set('abc', 'mapkey1', 'value1'))
|
436
444
|
assert_equal('CLEARED', @rc.map_clear('abc'))
|
437
445
|
send_cmd('localhost_11211', 'writebehind_rotate roma')
|
446
|
+
sleep 1
|
438
447
|
|
439
448
|
res = [
|
440
449
|
[1, { 'mapkey1' => 'value1' }],
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Junji Torii
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2016-01-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: eventmachine
|
@@ -128,29 +128,31 @@ description: |2
|
|
128
128
|
ROMA is one of the data storing systems for distributed key-value stores. It is a completely decentralized distributed system that consists of multiple processes, called nodes, on several machines. It is based on pure P2P architecture like a distributed hash table, thus it provides high availability and scalability.
|
129
129
|
email:
|
130
130
|
executables:
|
131
|
-
- tribunus
|
132
|
-
- cpdb
|
133
|
-
- recoverlost_alist_all
|
134
|
-
- log_merger
|
135
|
-
- check_tc_flag
|
136
131
|
- ssroute
|
137
|
-
-
|
132
|
+
- recoverlost
|
133
|
+
- key_list
|
134
|
+
- data_accumulation
|
135
|
+
- key_access
|
136
|
+
- simple_bench
|
138
137
|
- mkconfig
|
138
|
+
- tribunus
|
139
139
|
- safecopy_integration_test
|
140
|
-
- roma-adm
|
141
|
-
- simple_bench
|
142
|
-
- mkrecent
|
143
|
-
- recoverlost
|
144
140
|
- mkroute
|
145
|
-
-
|
146
|
-
-
|
147
|
-
- key_list
|
148
|
-
- multi_commander
|
141
|
+
- recoverlost_alist_all
|
142
|
+
- roma-adm
|
149
143
|
- roma_watcher
|
144
|
+
- mkrecent
|
150
145
|
- recoverlost_alist_keys
|
151
|
-
- chg_redundancy
|
152
146
|
- test-scenario
|
147
|
+
- chg_redundancy
|
148
|
+
- check_tc_flag
|
149
|
+
- consistency_test
|
150
|
+
- recoverlost_alist
|
151
|
+
- multi_commander
|
152
|
+
- cpdb
|
153
|
+
- safecopy_test
|
153
154
|
- romad
|
155
|
+
- log_merger
|
154
156
|
extensions: []
|
155
157
|
extra_rdoc_files:
|
156
158
|
- README.md
|
@@ -164,7 +166,9 @@ files:
|
|
164
166
|
- Rakefile
|
165
167
|
- bin/check_tc_flag
|
166
168
|
- bin/chg_redundancy
|
169
|
+
- bin/consistency_test
|
167
170
|
- bin/cpdb
|
171
|
+
- bin/data_accumulation
|
168
172
|
- bin/key_access
|
169
173
|
- bin/key_list
|
170
174
|
- bin/log_merger
|
@@ -231,7 +235,9 @@ files:
|
|
231
235
|
- lib/roma/storage/tc_storage.rb
|
232
236
|
- lib/roma/tools/check_tc_flag.rb
|
233
237
|
- lib/roma/tools/chg_redundancy.rb
|
238
|
+
- lib/roma/tools/consistency_test.rb
|
234
239
|
- lib/roma/tools/cpdb.rb
|
240
|
+
- lib/roma/tools/data_accumulation.rb
|
235
241
|
- lib/roma/tools/key_access.rb
|
236
242
|
- lib/roma/tools/key_list.rb
|
237
243
|
- lib/roma/tools/log_merger.rb
|
@@ -269,7 +275,12 @@ files:
|
|
269
275
|
- test/cpdbtest/config4cpdb_sqlite3.rb
|
270
276
|
- test/cpdbtest/config4cpdb_tc.rb
|
271
277
|
- test/cpdbtest/config4cpdb_tcmem.rb
|
278
|
+
- test/optional_test/t_mkroute_rich.rb
|
279
|
+
- test/optional_test/t_other_cpdb.rb
|
280
|
+
- test/optional_test/t_other_database.rb
|
281
|
+
- test/optional_test/t_routing_logic.rb
|
272
282
|
- test/rcirb.rb
|
283
|
+
- test/roma-test-storage.rb
|
273
284
|
- test/roma-test-utils.rb
|
274
285
|
- test/run-test.rb
|
275
286
|
- test/storage_error_storage.rb
|
@@ -282,10 +293,11 @@ files:
|
|
282
293
|
- test/t_mapcountplugin.rb
|
283
294
|
- test/t_mapplugin.rb
|
284
295
|
- test/t_mhash.rb
|
296
|
+
- test/t_new_func.rb
|
285
297
|
- test/t_protocol.rb
|
286
298
|
- test/t_rclient.rb
|
299
|
+
- test/t_replication.rb
|
287
300
|
- test/t_routing_data.rb
|
288
|
-
- test/t_routing_logic.rb
|
289
301
|
- test/t_storage.rb
|
290
302
|
- test/t_storage_error.rb
|
291
303
|
- test/t_writebehind.rb
|
@@ -314,7 +326,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
314
326
|
version: '0'
|
315
327
|
requirements: []
|
316
328
|
rubyforge_project:
|
317
|
-
rubygems_version: 2.
|
329
|
+
rubygems_version: 2.4.8
|
318
330
|
signing_key:
|
319
331
|
specification_version: 4
|
320
332
|
summary: ROMA server
|