droonga-engine 1.0.9 → 1.1.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.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/benchmark/timer-watcher/benchmark.rb +44 -0
  4. data/bin/droonga-engine-absorb-data +246 -187
  5. data/bin/droonga-engine-catalog-generate +12 -12
  6. data/bin/droonga-engine-catalog-modify +4 -4
  7. data/bin/droonga-engine-join +352 -171
  8. data/bin/droonga-engine-set-role +54 -0
  9. data/bin/droonga-engine-unjoin +107 -112
  10. data/droonga-engine.gemspec +3 -3
  11. data/install.sh +55 -36
  12. data/install/centos/functions.sh +2 -2
  13. data/install/debian/functions.sh +2 -2
  14. data/lib/droonga/address.rb +26 -24
  15. data/lib/droonga/buffered_tcp_socket.rb +65 -10
  16. data/lib/droonga/catalog/base.rb +9 -6
  17. data/lib/droonga/catalog/dataset.rb +17 -41
  18. data/lib/droonga/catalog/fetcher.rb +64 -0
  19. data/lib/droonga/catalog/generator.rb +245 -0
  20. data/lib/droonga/catalog/loader.rb +66 -0
  21. data/lib/droonga/{catalog_modifier.rb → catalog/modifier.rb} +11 -18
  22. data/lib/droonga/catalog/replicas_volume.rb +123 -0
  23. data/lib/droonga/catalog/schema.rb +37 -37
  24. data/lib/droonga/catalog/single_volume.rb +11 -3
  25. data/lib/droonga/catalog/slice.rb +10 -6
  26. data/lib/droonga/catalog/{collection_volume.rb → slices_volume.rb} +47 -11
  27. data/lib/droonga/catalog/version1.rb +47 -19
  28. data/lib/droonga/catalog/version2.rb +11 -10
  29. data/lib/droonga/catalog/version2_validator.rb +4 -4
  30. data/lib/droonga/catalog/volume.rb +17 -5
  31. data/lib/droonga/changable.rb +25 -0
  32. data/lib/droonga/cluster.rb +237 -0
  33. data/lib/droonga/collector_runner.rb +4 -0
  34. data/lib/droonga/collectors.rb +2 -1
  35. data/lib/droonga/collectors/recursive_sum.rb +26 -0
  36. data/lib/droonga/command/droonga_engine.rb +404 -127
  37. data/lib/droonga/command/droonga_engine_service.rb +47 -11
  38. data/lib/droonga/command/droonga_engine_worker.rb +21 -1
  39. data/lib/droonga/command/remote_command_base.rb +78 -0
  40. data/lib/droonga/command/serf_event_handler.rb +29 -20
  41. data/lib/droonga/data_absorber_client.rb +222 -0
  42. data/lib/droonga/database_scanner.rb +106 -0
  43. data/lib/droonga/{live_nodes_list_loader.rb → deferrable.rb} +11 -24
  44. data/lib/droonga/differ.rb +58 -0
  45. data/lib/droonga/dispatcher.rb +155 -32
  46. data/lib/droonga/distributed_command_planner.rb +9 -11
  47. data/lib/droonga/engine.rb +83 -78
  48. data/lib/droonga/engine/version.rb +1 -1
  49. data/lib/droonga/engine_node.rb +301 -0
  50. data/lib/droonga/engine_state.rb +62 -40
  51. data/lib/droonga/farm.rb +44 -5
  52. data/lib/droonga/file_observer.rb +16 -12
  53. data/lib/droonga/fluent_message_receiver.rb +98 -29
  54. data/lib/droonga/fluent_message_sender.rb +30 -23
  55. data/lib/droonga/forward_buffer.rb +160 -0
  56. data/lib/droonga/forwarder.rb +73 -40
  57. data/lib/droonga/handler.rb +7 -6
  58. data/lib/droonga/handler_messenger.rb +15 -6
  59. data/lib/droonga/handler_runner.rb +6 -1
  60. data/lib/droonga/internal_fluent_message_receiver.rb +28 -8
  61. data/lib/droonga/job_pusher.rb +10 -7
  62. data/lib/droonga/job_receiver.rb +6 -4
  63. data/lib/droonga/logger.rb +7 -1
  64. data/lib/droonga/node_name.rb +90 -0
  65. data/lib/droonga/node_role.rb +72 -0
  66. data/lib/droonga/path.rb +34 -9
  67. data/lib/droonga/planner.rb +73 -7
  68. data/lib/droonga/plugin/async_command.rb +154 -0
  69. data/lib/droonga/plugins/catalog.rb +1 -0
  70. data/lib/droonga/plugins/crud.rb +22 -6
  71. data/lib/droonga/plugins/dump.rb +66 -135
  72. data/lib/droonga/plugins/groonga/delete.rb +13 -0
  73. data/lib/droonga/plugins/search/distributed_search_planner.rb +4 -4
  74. data/lib/droonga/plugins/system.rb +5 -26
  75. data/lib/droonga/plugins/system/absorb_data.rb +405 -0
  76. data/lib/droonga/plugins/system/statistics.rb +71 -0
  77. data/lib/droonga/plugins/system/status.rb +53 -0
  78. data/lib/droonga/process_control_protocol.rb +3 -1
  79. data/lib/droonga/process_supervisor.rb +32 -15
  80. data/lib/droonga/reducer.rb +69 -0
  81. data/lib/droonga/safe_file_writer.rb +1 -1
  82. data/lib/droonga/serf.rb +207 -276
  83. data/lib/droonga/serf/agent.rb +228 -0
  84. data/lib/droonga/serf/command.rb +94 -0
  85. data/lib/droonga/serf/downloader.rb +120 -0
  86. data/lib/droonga/serf/remote_command.rb +348 -0
  87. data/lib/droonga/serf/tag.rb +56 -0
  88. data/lib/droonga/service_installation.rb +2 -2
  89. data/lib/droonga/session.rb +49 -1
  90. data/lib/droonga/single_step.rb +6 -11
  91. data/lib/droonga/single_step_definition.rb +32 -1
  92. data/lib/droonga/slice.rb +14 -9
  93. data/lib/droonga/supervisor.rb +27 -20
  94. data/lib/droonga/test/stub_handler_messenger.rb +2 -1
  95. data/lib/droonga/timestamp.rb +69 -0
  96. data/lib/droonga/worker_process_agent.rb +33 -15
  97. data/sample/cluster-state.json +8 -0
  98. data/sample/cluster/Rakefile +30 -6
  99. data/test/command/fixture/integer-key-table.jsons +11 -0
  100. data/test/command/fixture/string-key-table.jsons +11 -0
  101. data/test/command/run-test.rb +4 -0
  102. data/test/command/suite/add/error/invalid-integer.expected +3 -3
  103. data/test/command/suite/add/error/invalid-time.expected +3 -3
  104. data/test/command/suite/add/{minimum.expected → key-integer.expected} +0 -0
  105. data/test/command/suite/add/{minimum.test → key-integer.test} +0 -0
  106. data/test/command/suite/add/key-string.expected +6 -0
  107. data/test/command/suite/add/key-string.test +9 -0
  108. data/test/command/suite/add/mismatched-key-type/acceptable/integer-for-string.expected +6 -0
  109. data/test/command/suite/add/mismatched-key-type/acceptable/integer-for-string.test +9 -0
  110. data/test/command/suite/add/mismatched-key-type/acceptable/string-for-integer.expected +6 -0
  111. data/test/command/suite/add/mismatched-key-type/acceptable/string-for-integer.test +9 -0
  112. data/test/command/suite/add/without-values.expected +6 -0
  113. data/test/command/suite/add/without-values.test +11 -0
  114. data/test/command/suite/dump/column/index.expected +33 -1
  115. data/test/command/suite/dump/column/index.test +1 -0
  116. data/test/command/suite/dump/column/scalar.expected +29 -1
  117. data/test/command/suite/dump/column/scalar.test +1 -0
  118. data/test/command/suite/dump/column/vector.expected +29 -1
  119. data/test/command/suite/dump/column/vector.test +1 -0
  120. data/test/command/suite/dump/record/scalar.catalog.json +12 -0
  121. data/test/command/suite/dump/record/scalar.expected +84 -0
  122. data/test/command/suite/dump/record/scalar.test +16 -0
  123. data/test/command/suite/dump/record/vector/reference.expected +83 -1
  124. data/test/command/suite/dump/record/vector/reference.test +1 -0
  125. data/test/command/suite/dump/table/array.expected +27 -1
  126. data/test/command/suite/dump/table/array.test +1 -0
  127. data/test/command/suite/dump/table/double_array_trie.expected +27 -1
  128. data/test/command/suite/dump/table/double_array_trie.test +1 -0
  129. data/test/command/suite/dump/table/hash.expected +27 -1
  130. data/test/command/suite/dump/table/hash.test +1 -0
  131. data/test/command/suite/dump/table/patricia_trie.expected +27 -1
  132. data/test/command/suite/dump/table/patricia_trie.test +1 -0
  133. data/test/command/suite/groonga/delete/{success.expected → key-integer.expected} +0 -0
  134. data/test/command/suite/groonga/delete/key-integer.test +17 -0
  135. data/test/command/suite/groonga/delete/key-string.expected +19 -0
  136. data/test/command/suite/groonga/delete/{success.test → key-string.test} +4 -6
  137. data/test/command/suite/groonga/delete/mismatched-type-key/acceptable/integer-for-string.expected +19 -0
  138. data/test/command/suite/groonga/delete/mismatched-type-key/acceptable/integer-for-string.test +17 -0
  139. data/test/command/suite/groonga/delete/mismatched-type-key/acceptable/string-for-integer.expected +19 -0
  140. data/test/command/suite/groonga/delete/mismatched-type-key/acceptable/string-for-integer.test +17 -0
  141. data/test/command/suite/message/error/missing-dataset.test +1 -0
  142. data/test/command/suite/system/absorb-data/records.catalog.json +58 -0
  143. data/test/command/suite/system/absorb-data/records.expected +32 -0
  144. data/test/command/suite/system/absorb-data/records.test +24 -0
  145. data/test/command/suite/system/statistics/object/count/empty.expected +11 -0
  146. data/test/command/suite/system/statistics/object/count/empty.test +12 -0
  147. data/test/command/suite/system/statistics/object/count/per-volume/empty.catalog.json +36 -0
  148. data/test/command/suite/system/statistics/object/count/per-volume/empty.expected +19 -0
  149. data/test/command/suite/system/statistics/object/count/per-volume/empty.test +12 -0
  150. data/test/command/suite/system/statistics/object/count/per-volume/record.catalog.json +40 -0
  151. data/test/command/suite/system/statistics/object/count/per-volume/record.expected +19 -0
  152. data/test/command/suite/system/statistics/object/count/per-volume/record.test +23 -0
  153. data/test/command/suite/system/statistics/object/count/per-volume/schema.catalog.json +40 -0
  154. data/test/command/suite/system/statistics/object/count/per-volume/schema.expected +19 -0
  155. data/test/command/suite/system/statistics/object/count/per-volume/schema.test +13 -0
  156. data/test/command/suite/system/statistics/object/count/record.catalog.json +12 -0
  157. data/test/command/suite/system/statistics/object/count/record.expected +11 -0
  158. data/test/command/suite/system/statistics/object/count/record.test +23 -0
  159. data/test/command/suite/system/statistics/object/count/schema.catalog.json +12 -0
  160. data/test/command/suite/system/statistics/object/count/schema.expected +11 -0
  161. data/test/command/suite/system/statistics/object/count/schema.test +13 -0
  162. data/test/command/suite/system/status.expected +3 -2
  163. data/test/unit/catalog/test_dataset.rb +4 -1
  164. data/test/unit/{test_catalog_generator.rb → catalog/test_generator.rb} +2 -2
  165. data/test/unit/catalog/test_replicas_volume.rb +79 -0
  166. data/test/unit/catalog/test_single_volume.rb +2 -2
  167. data/test/unit/catalog/test_slice.rb +33 -1
  168. data/test/unit/catalog/{test_collection_volume.rb → test_slices_volume.rb} +72 -11
  169. data/test/unit/catalog/test_version2.rb +3 -0
  170. data/test/unit/helper/distributed_search_planner_helper.rb +2 -2
  171. data/test/unit/plugins/catalog/test_fetch.rb +4 -4
  172. data/test/unit/plugins/crud/test_add.rb +44 -4
  173. data/test/unit/plugins/groonga/test_column_create.rb +4 -4
  174. data/test/unit/plugins/groonga/test_column_list.rb +4 -4
  175. data/test/unit/plugins/groonga/test_column_remove.rb +4 -4
  176. data/test/unit/plugins/groonga/test_column_rename.rb +4 -4
  177. data/test/unit/plugins/groonga/test_delete.rb +73 -10
  178. data/test/unit/plugins/groonga/test_table_create.rb +4 -4
  179. data/test/unit/plugins/groonga/test_table_list.rb +4 -4
  180. data/test/unit/plugins/groonga/test_table_remove.rb +4 -4
  181. data/test/unit/plugins/search/test_handler.rb +4 -4
  182. data/test/unit/plugins/search/test_planner.rb +4 -2
  183. data/test/unit/plugins/system/test_status.rb +31 -15
  184. data/test/unit/plugins/test_watch.rb +16 -16
  185. data/test/unit/test_address.rb +4 -4
  186. metadata +134 -35
  187. data/lib/droonga/catalog/volume_collection.rb +0 -79
  188. data/lib/droonga/catalog_fetcher.rb +0 -53
  189. data/lib/droonga/catalog_generator.rb +0 -243
  190. data/lib/droonga/catalog_loader.rb +0 -56
  191. data/lib/droonga/command/remote.rb +0 -404
  192. data/lib/droonga/data_absorber.rb +0 -264
  193. data/lib/droonga/node_status.rb +0 -71
  194. data/lib/droonga/serf_downloader.rb +0 -115
  195. data/test/unit/catalog/test_volume_collection.rb +0 -78
@@ -15,10 +15,10 @@
15
15
 
16
16
  class ColumnCreateTest < GroongaHandlerTest
17
17
  def create_handler
18
- Droonga::Plugins::Groonga::ColumnCreate::Handler.new("droonga",
19
- @handler.context,
20
- @messenger,
21
- @loop)
18
+ Droonga::Plugins::Groonga::ColumnCreate::Handler.new(:name => "droonga",
19
+ :context => @handler.context,
20
+ :messenger => @messenger,
21
+ :loop => @loop)
22
22
  end
23
23
 
24
24
  def test_success
@@ -26,10 +26,10 @@ class ColumnListTest < GroongaHandlerTest
26
26
  ]
27
27
 
28
28
  def create_handler
29
- Droonga::Plugins::Groonga::ColumnList::Handler.new("droonga",
30
- @handler.context,
31
- @messenger,
32
- @loop)
29
+ Droonga::Plugins::Groonga::ColumnList::Handler.new(:name => "droonga",
30
+ :context => @handler.context,
31
+ :messenger => @messenger,
32
+ :loop => @loop)
33
33
  end
34
34
 
35
35
  def virtual_key_column(id, table_name)
@@ -15,10 +15,10 @@
15
15
 
16
16
  class ColumnRemoveTest < GroongaHandlerTest
17
17
  def create_handler
18
- Droonga::Plugins::Groonga::ColumnRemove::Handler.new("droonga",
19
- @handler.context,
20
- @messenger,
21
- @loop)
18
+ Droonga::Plugins::Groonga::ColumnRemove::Handler.new(:name => "droonga",
19
+ :context => @handler.context,
20
+ :messenger => @messenger,
21
+ :loop => @loop)
22
22
  end
23
23
 
24
24
  def test_success
@@ -15,10 +15,10 @@
15
15
 
16
16
  class ColumnRenameTest < GroongaHandlerTest
17
17
  def create_handler
18
- Droonga::Plugins::Groonga::ColumnRename::Handler.new("droonga",
19
- @handler.context,
20
- @messenger,
21
- @loop)
18
+ Droonga::Plugins::Groonga::ColumnRename::Handler.new(:name => "droonga",
19
+ :context => @handler.context,
20
+ :messenger => @messenger,
21
+ :loop => @loop)
22
22
  end
23
23
 
24
24
  def test_success
@@ -15,10 +15,10 @@
15
15
 
16
16
  class DeleteTest < GroongaHandlerTest
17
17
  def create_handler
18
- Droonga::Plugins::Groonga::Delete::Handler.new("droonga",
19
- @handler.context,
20
- @messenger,
21
- @loop)
18
+ Droonga::Plugins::Groonga::Delete::Handler.new(:name => "droonga",
19
+ :context => @handler.context,
20
+ :messenger => @messenger,
21
+ :loop => @loop)
22
22
  end
23
23
 
24
24
  def test_success
@@ -79,12 +79,10 @@ class DeleteTest < GroongaHandlerTest
79
79
  )
80
80
  end
81
81
 
82
- class DeleteTest < self
83
- def test_key
84
- Groonga::Schema.define do |schema|
85
- schema.create_table("Books", :type => :hash)
86
- end
87
- Groonga::Context.default["Books"].add("sample")
82
+ class DeleteKeyTest < self
83
+ def test_string
84
+ setup_table_with_key_type("ShortText")
85
+ table.add("sample")
88
86
  process(:delete,
89
87
  {"table" => "Books", "key" => "sample"})
90
88
  assert_equal(<<-DUMP, dump)
@@ -92,6 +90,71 @@ table_create Books TABLE_HASH_KEY ShortText
92
90
  DUMP
93
91
  end
94
92
 
93
+ data do
94
+ data_set = {}
95
+ [
96
+ "Int8",
97
+ "UInt8",
98
+ "Int16",
99
+ "UInt16",
100
+ "Int32",
101
+ "UInt32",
102
+ "Int64",
103
+ "UInt64",
104
+ ].each do |key_type|
105
+ data_set[key_type] = key_type
106
+ end
107
+ data_set
108
+ end
109
+ def test_integer(key_type)
110
+ setup_table_with_key_type(key_type)
111
+ table.add(1)
112
+ process(:delete,
113
+ {"table" => "Books", "key" => 1})
114
+ assert_equal(<<-DUMP, dump)
115
+ table_create Books TABLE_HASH_KEY #{key_type}
116
+ DUMP
117
+ end
118
+
119
+ private
120
+ def setup_table_with_key_type(key_type)
121
+ Groonga::Schema.define do |schema|
122
+ schema.create_table("Books",
123
+ :type => :hash,
124
+ :key_type => key_type)
125
+ end
126
+ end
127
+
128
+ def table
129
+ Groonga::Context.default["Books"]
130
+ end
131
+
132
+ class MismatchedTypeKey < self
133
+ class Acceptable < self
134
+ def test_integer_for_string
135
+ setup_table_with_key_type("ShortText")
136
+ table.add("1")
137
+ process(:delete,
138
+ {"table" => "Books", "key" => 1})
139
+ assert_equal(<<-DUMP, dump)
140
+ table_create Books TABLE_HASH_KEY ShortText
141
+ DUMP
142
+ end
143
+
144
+ def test_string_for_integer
145
+ setup_table_with_key_type("UInt32")
146
+ table.add(1)
147
+ process(:delete,
148
+ {"table" => "Books", "key" => "1"})
149
+ assert_equal(<<-DUMP, dump)
150
+ table_create Books TABLE_HASH_KEY UInt32
151
+ DUMP
152
+ end
153
+ end
154
+ end
155
+ end
156
+
157
+ class DeleteTest < self
95
158
  def test_id
96
159
  Groonga::Schema.define do |schema|
97
160
  schema.create_table("Ages", :type => :array)
@@ -15,10 +15,10 @@
15
15
 
16
16
  class TableCreateTest < GroongaHandlerTest
17
17
  def create_handler
18
- Droonga::Plugins::Groonga::TableCreate::Handler.new("droonga",
19
- @handler.context,
20
- @messenger,
21
- @loop)
18
+ Droonga::Plugins::Groonga::TableCreate::Handler.new(:name => "droonga",
19
+ :context => @handler.context,
20
+ :messenger => @messenger,
21
+ :loop => @loop)
22
22
  end
23
23
 
24
24
  def test_success
@@ -26,10 +26,10 @@ class TableListTest < GroongaHandlerTest
26
26
  ]
27
27
 
28
28
  def create_handler
29
- Droonga::Plugins::Groonga::TableList::Handler.new("droonga",
30
- @handler.context,
31
- @messenger,
32
- @loop)
29
+ Droonga::Plugins::Groonga::TableList::Handler.new(:name => "droonga",
30
+ :context => @handler.context,
31
+ :messenger => @messenger,
32
+ :loop => @loop)
33
33
  end
34
34
 
35
35
  def test_success
@@ -15,10 +15,10 @@
15
15
 
16
16
  class TableRemoveTest < GroongaHandlerTest
17
17
  def create_handler
18
- Droonga::Plugins::Groonga::TableRemove::Handler.new("droonga",
19
- @handler.context,
20
- @messenger,
21
- @loop)
18
+ Droonga::Plugins::Groonga::TableRemove::Handler.new(:name => "droonga",
19
+ :context => @handler.context,
20
+ :messenger => @messenger,
21
+ :loop => @loop)
22
22
  end
23
23
 
24
24
  def setup
@@ -31,10 +31,10 @@ class SearchHandlerTest < Test::Unit::TestCase
31
31
  @handler = Droonga::Test::StubHandler.new
32
32
  @messenger = Droonga::Test::StubHandlerMessenger.new
33
33
  @loop = nil
34
- @plugin = Droonga::Plugins::Search::Handler.new("droonga",
35
- @handler.context,
36
- @messenger,
37
- @loop)
34
+ @plugin = Droonga::Plugins::Search::Handler.new(:name => "droonga",
35
+ :context => @handler.context,
36
+ :messenger => @messenger,
37
+ :loop => @loop)
38
38
  end
39
39
 
40
40
  def teardown_plugin
@@ -24,8 +24,8 @@ class SearchPlannerTest < Test::Unit::TestCase
24
24
  stub(stub_dataset).name do
25
25
  Droonga::Catalog::Dataset::DEFAULT_NAME
26
26
  end
27
- stub(stub_dataset).single_slice? do
28
- false
27
+ stub(stub_dataset).sliced? do
28
+ true
29
29
  end
30
30
  @plugin = Droonga::Plugins::Search::Planner.new(stub_dataset)
31
31
  end
@@ -174,6 +174,8 @@ class SearchPlannerTest < Test::Unit::TestCase
174
174
  "query2",
175
175
  ],
176
176
  "replica" => "random",
177
+ "slice" => "all",
178
+ "post" => false,
177
179
  }
178
180
  message << searcher
179
181
 
@@ -28,12 +28,13 @@ class SystemStatusHandlerTest < Test::Unit::TestCase
28
28
  def setup_handler
29
29
  @worker = StubWorker.new
30
30
  @messenger = Droonga::Test::StubHandlerMessenger.new
31
+ @messenger.cluster = StubCluster.new
31
32
  @messenger.engine_state = StubEngineState.new
32
33
  @loop = nil
33
- @handler = Droonga::Plugins::System::StatusHandler.new("name",
34
- @worker.context,
35
- @messenger,
36
- @loop)
34
+ @handler = Droonga::Plugins::System::StatusHandler.new(:name => "name",
35
+ :context => @worker.context,
36
+ :messenger => @messenger,
37
+ :loop => @loop)
37
38
  end
38
39
 
39
40
  def teardown_handler
@@ -45,18 +46,29 @@ class SystemStatusHandlerTest < Test::Unit::TestCase
45
46
  @handler.handle(message)
46
47
  end
47
48
 
49
+ class StubCluster
50
+ def engine_nodes_status
51
+ {
52
+ "127.0.0.1:10031/droonga" => {
53
+ "status" => "active",
54
+ },
55
+ "127.0.0.1:10032/droonga" => {
56
+ "status" => "inactive",
57
+ },
58
+ "127.0.0.1:10033/droonga" => {
59
+ "status" => "dead",
60
+ },
61
+ }
62
+ end
63
+ end
64
+
48
65
  class StubEngineState
49
- def all_nodes
50
- [
51
- "127.0.0.1:10031/droonga",
52
- "127.0.0.1:10032/droonga",
53
- ]
66
+ def name
67
+ "127.0.0.1:10031/droonga"
54
68
  end
55
69
 
56
- def live_nodes
57
- [
58
- "127.0.0.1:10031/droonga",
59
- ]
70
+ def internal_name
71
+ "127.0.0.1:12345/droonga"
60
72
  end
61
73
  end
62
74
 
@@ -67,12 +79,16 @@ class SystemStatusHandlerTest < Test::Unit::TestCase
67
79
  status = {
68
80
  "nodes" => {
69
81
  "127.0.0.1:10031/droonga" => {
70
- "live" => true,
82
+ "status" => "active",
71
83
  },
72
84
  "127.0.0.1:10032/droonga" => {
73
- "live" => false,
85
+ "status" => "inactive",
86
+ },
87
+ "127.0.0.1:10033/droonga" => {
88
+ "status" => "dead",
74
89
  },
75
90
  },
91
+ "reporter" => "127.0.0.1:12345/droonga @ 127.0.0.1:10031/droonga",
76
92
  }
77
93
  assert_equal(status, response)
78
94
  end
@@ -52,10 +52,10 @@ class WatchHandlerTest < Test::Unit::TestCase
52
52
  public
53
53
  class SubscribeTest < self
54
54
  def create_plugin
55
- Droonga::Plugins::Watch::SubscribeHandler.new("droonga",
56
- @handler.context,
57
- @messenger,
58
- @loop)
55
+ Droonga::Plugins::Watch::SubscribeHandler.new(:name => "droonga",
56
+ :context => @handler.context,
57
+ :messenger => @messenger,
58
+ :loop => @loop)
59
59
  end
60
60
 
61
61
  def test_subscribe
@@ -119,10 +119,10 @@ class WatchHandlerTest < Test::Unit::TestCase
119
119
  end
120
120
 
121
121
  def create_plugin
122
- Droonga::Plugins::Watch::UnsubscribeHandler.new("droonga",
123
- @handler.context,
124
- @messenger,
125
- @loop)
122
+ Droonga::Plugins::Watch::UnsubscribeHandler.new(:name => "droonga",
123
+ :context => @handler.context,
124
+ :messenger => @messenger,
125
+ :loop => @loop)
126
126
  end
127
127
 
128
128
  def test_unsubscribe
@@ -154,10 +154,10 @@ class WatchHandlerTest < Test::Unit::TestCase
154
154
  end
155
155
 
156
156
  def create_plugin
157
- Droonga::Plugins::Watch::FeedHandler.new("droonga",
158
- @handler.context,
159
- @messenger,
160
- @loop)
157
+ Droonga::Plugins::Watch::FeedHandler.new(:name => "droonga",
158
+ :context => @handler.context,
159
+ :messenger => @messenger,
160
+ :loop => @loop)
161
161
  end
162
162
 
163
163
  def test_feed_match
@@ -200,10 +200,10 @@ class WatchHandlerTest < Test::Unit::TestCase
200
200
  }
201
201
  message = Droonga::Test::StubHandlerMessage.new(request, {})
202
202
  subscribe_handler =
203
- Droonga::Plugins::Watch::SubscribeHandler.new("droonga",
204
- @handler.context,
205
- @messenger,
206
- @loop)
203
+ Droonga::Plugins::Watch::SubscribeHandler.new(:name => "droonga",
204
+ :context => @handler.context,
205
+ :messenger => @messenger,
206
+ :loop => @loop)
207
207
  response = subscribe_handler.handle(message)
208
208
  assert_equal(SUCCESS_RESULT, response)
209
209
  end
@@ -16,11 +16,11 @@
16
16
  require "droonga/address"
17
17
 
18
18
  class AddressTest < Test::Unit::TestCase
19
- def address(host, port, tag, name)
19
+ def address(host, port, tag, local_name)
20
20
  Droonga::Address.new(:host => host,
21
21
  :port => port,
22
22
  :tag => tag,
23
- :name => name)
23
+ :local_name => local_name)
24
24
  end
25
25
 
26
26
  class ParseTest < self
@@ -29,8 +29,8 @@ class AddressTest < Test::Unit::TestCase
29
29
  end
30
30
 
31
31
  def test_full
32
- assert_equal(address("192.168.0.1", 2929, "droonga", "name"),
33
- parse("192.168.0.1:2929/droonga.name"))
32
+ assert_equal(address("192.168.0.1", 2929, "droonga", "local_name"),
33
+ parse("192.168.0.1:2929/droonga.local_name"))
34
34
  end
35
35
 
36
36
  def test_internal_name
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droonga-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Droonga Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-30 00:00:00.000000000 Z
11
+ date: 2015-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: archive-zip
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - '>='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 1.3.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.3.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: drndump
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '>='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 1.0.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.0.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: droonga-client
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -168,16 +168,16 @@ dependencies:
168
168
  name: slop
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - '>='
171
+ - - <=
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 3.6.0
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - <=
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 3.6.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: sys-proctable
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -303,6 +303,7 @@ executables:
303
303
  - droonga-engine-join
304
304
  - droonga-engine-serf-event-handler
305
305
  - droonga-engine-service
306
+ - droonga-engine-set-role
306
307
  - droonga-engine-unjoin
307
308
  - droonga-engine-worker
308
309
  extensions: []
@@ -317,6 +318,7 @@ files:
317
318
  - README.md
318
319
  - Rakefile
319
320
  - benchmark/benchmark.rb
321
+ - benchmark/timer-watcher/benchmark.rb
320
322
  - benchmark/utils.rb
321
323
  - benchmark/watch/benchmark-notify.rb
322
324
  - benchmark/watch/benchmark-notify.sh
@@ -330,6 +332,7 @@ files:
330
332
  - bin/droonga-engine-join
331
333
  - bin/droonga-engine-serf-event-handler
332
334
  - bin/droonga-engine-service
335
+ - bin/droonga-engine-set-role
333
336
  - bin/droonga-engine-unjoin
334
337
  - bin/droonga-engine-worker
335
338
  - doc/text/news.md
@@ -344,39 +347,46 @@ files:
344
347
  - lib/droonga/address.rb
345
348
  - lib/droonga/buffered_tcp_socket.rb
346
349
  - lib/droonga/catalog/base.rb
347
- - lib/droonga/catalog/collection_volume.rb
348
350
  - lib/droonga/catalog/dataset.rb
349
351
  - lib/droonga/catalog/errors.rb
352
+ - lib/droonga/catalog/fetcher.rb
353
+ - lib/droonga/catalog/generator.rb
354
+ - lib/droonga/catalog/loader.rb
355
+ - lib/droonga/catalog/modifier.rb
356
+ - lib/droonga/catalog/replicas_volume.rb
350
357
  - lib/droonga/catalog/schema.rb
351
358
  - lib/droonga/catalog/single_volume.rb
352
359
  - lib/droonga/catalog/slice.rb
360
+ - lib/droonga/catalog/slices_volume.rb
353
361
  - lib/droonga/catalog/version1.rb
354
362
  - lib/droonga/catalog/version2.rb
355
363
  - lib/droonga/catalog/version2_validator.rb
356
364
  - lib/droonga/catalog/volume.rb
357
- - lib/droonga/catalog/volume_collection.rb
358
- - lib/droonga/catalog_fetcher.rb
359
- - lib/droonga/catalog_generator.rb
360
- - lib/droonga/catalog_loader.rb
361
- - lib/droonga/catalog_modifier.rb
365
+ - lib/droonga/changable.rb
366
+ - lib/droonga/cluster.rb
362
367
  - lib/droonga/collector.rb
363
368
  - lib/droonga/collector_message.rb
364
369
  - lib/droonga/collector_runner.rb
365
370
  - lib/droonga/collectors.rb
366
371
  - lib/droonga/collectors/and.rb
367
372
  - lib/droonga/collectors/or.rb
373
+ - lib/droonga/collectors/recursive_sum.rb
368
374
  - lib/droonga/collectors/sum.rb
369
375
  - lib/droonga/command/droonga_engine.rb
370
376
  - lib/droonga/command/droonga_engine_service.rb
371
377
  - lib/droonga/command/droonga_engine_worker.rb
372
- - lib/droonga/command/remote.rb
378
+ - lib/droonga/command/remote_command_base.rb
373
379
  - lib/droonga/command/serf_event_handler.rb
374
- - lib/droonga/data_absorber.rb
380
+ - lib/droonga/data_absorber_client.rb
381
+ - lib/droonga/database_scanner.rb
382
+ - lib/droonga/deferrable.rb
383
+ - lib/droonga/differ.rb
375
384
  - lib/droonga/dispatcher.rb
376
385
  - lib/droonga/distributed_command_planner.rb
377
386
  - lib/droonga/distributor.rb
378
387
  - lib/droonga/engine.rb
379
388
  - lib/droonga/engine/version.rb
389
+ - lib/droonga/engine_node.rb
380
390
  - lib/droonga/engine_state.rb
381
391
  - lib/droonga/error.rb
382
392
  - lib/droonga/error_messages.rb
@@ -385,6 +395,7 @@ files:
385
395
  - lib/droonga/file_observer.rb
386
396
  - lib/droonga/fluent_message_receiver.rb
387
397
  - lib/droonga/fluent_message_sender.rb
398
+ - lib/droonga/forward_buffer.rb
388
399
  - lib/droonga/forwarder.rb
389
400
  - lib/droonga/handler.rb
390
401
  - lib/droonga/handler_message.rb
@@ -396,16 +407,17 @@ files:
396
407
  - lib/droonga/job_pusher.rb
397
408
  - lib/droonga/job_receiver.rb
398
409
  - lib/droonga/line_buffer.rb
399
- - lib/droonga/live_nodes_list_loader.rb
400
410
  - lib/droonga/loggable.rb
401
411
  - lib/droonga/logger.rb
402
412
  - lib/droonga/message_matcher.rb
403
- - lib/droonga/node_status.rb
413
+ - lib/droonga/node_name.rb
414
+ - lib/droonga/node_role.rb
404
415
  - lib/droonga/output_message.rb
405
416
  - lib/droonga/path.rb
406
417
  - lib/droonga/planner.rb
407
418
  - lib/droonga/pluggable.rb
408
419
  - lib/droonga/plugin.rb
420
+ - lib/droonga/plugin/async_command.rb
409
421
  - lib/droonga/plugin/metadata/adapter_input_message.rb
410
422
  - lib/droonga/plugin/metadata/adapter_output_message.rb
411
423
  - lib/droonga/plugin/metadata/collector_message.rb
@@ -433,6 +445,9 @@ files:
433
445
  - lib/droonga/plugins/search.rb
434
446
  - lib/droonga/plugins/search/distributed_search_planner.rb
435
447
  - lib/droonga/plugins/system.rb
448
+ - lib/droonga/plugins/system/absorb_data.rb
449
+ - lib/droonga/plugins/system/statistics.rb
450
+ - lib/droonga/plugins/system/status.rb
436
451
  - lib/droonga/plugins/watch.rb
437
452
  - lib/droonga/process_control_protocol.rb
438
453
  - lib/droonga/process_supervisor.rb
@@ -444,7 +459,11 @@ files:
444
459
  - lib/droonga/searcher.rb
445
460
  - lib/droonga/searcher/mecab_filter.rb
446
461
  - lib/droonga/serf.rb
447
- - lib/droonga/serf_downloader.rb
462
+ - lib/droonga/serf/agent.rb
463
+ - lib/droonga/serf/command.rb
464
+ - lib/droonga/serf/downloader.rb
465
+ - lib/droonga/serf/remote_command.rb
466
+ - lib/droonga/serf/tag.rb
448
467
  - lib/droonga/service_installation.rb
449
468
  - lib/droonga/session.rb
450
469
  - lib/droonga/single_step.rb
@@ -459,9 +478,11 @@ files:
459
478
  - lib/droonga/test/stub_handler_message.rb
460
479
  - lib/droonga/test/stub_handler_messenger.rb
461
480
  - lib/droonga/test/stub_planner.rb
481
+ - lib/droonga/timestamp.rb
462
482
  - lib/droonga/watch_schema.rb
463
483
  - lib/droonga/watcher.rb
464
484
  - lib/droonga/worker_process_agent.rb
485
+ - sample/cluster-state.json
465
486
  - sample/cluster/Rakefile
466
487
  - sample/droonga-engine.yaml
467
488
  - sample/mecab_filter/data.grn
@@ -473,6 +494,8 @@ files:
473
494
  - test/command/config/version1/catalog.json
474
495
  - test/command/fixture/documents.jsons
475
496
  - test/command/fixture/event.jsons
497
+ - test/command/fixture/integer-key-table.jsons
498
+ - test/command/fixture/string-key-table.jsons
476
499
  - test/command/fixture/user-table-array.jsons
477
500
  - test/command/fixture/user-table.jsons
478
501
  - test/command/fixture/users.jsons
@@ -495,8 +518,14 @@ files:
495
518
  - test/command/suite/add/error/unknown-column.test
496
519
  - test/command/suite/add/error/unknown-table.expected
497
520
  - test/command/suite/add/error/unknown-table.test
498
- - test/command/suite/add/minimum.expected
499
- - test/command/suite/add/minimum.test
521
+ - test/command/suite/add/key-integer.expected
522
+ - test/command/suite/add/key-integer.test
523
+ - test/command/suite/add/key-string.expected
524
+ - test/command/suite/add/key-string.test
525
+ - test/command/suite/add/mismatched-key-type/acceptable/integer-for-string.expected
526
+ - test/command/suite/add/mismatched-key-type/acceptable/integer-for-string.test
527
+ - test/command/suite/add/mismatched-key-type/acceptable/string-for-integer.expected
528
+ - test/command/suite/add/mismatched-key-type/acceptable/string-for-integer.test
500
529
  - test/command/suite/add/vector/short_text.catalog.json
501
530
  - test/command/suite/add/vector/short_text.expected
502
531
  - test/command/suite/add/vector/short_text.test
@@ -504,6 +533,8 @@ files:
504
533
  - test/command/suite/add/with-values.test
505
534
  - test/command/suite/add/without-key.expected
506
535
  - test/command/suite/add/without-key.test
536
+ - test/command/suite/add/without-values.expected
537
+ - test/command/suite/add/without-values.test
507
538
  - test/command/suite/catalog/fetch.expected
508
539
  - test/command/suite/catalog/fetch.test
509
540
  - test/command/suite/dump/column/index.catalog.json
@@ -515,6 +546,9 @@ files:
515
546
  - test/command/suite/dump/column/vector.catalog.json
516
547
  - test/command/suite/dump/column/vector.expected
517
548
  - test/command/suite/dump/column/vector.test
549
+ - test/command/suite/dump/record/scalar.catalog.json
550
+ - test/command/suite/dump/record/scalar.expected
551
+ - test/command/suite/dump/record/scalar.test
518
552
  - test/command/suite/dump/record/vector/reference.catalog.json
519
553
  - test/command/suite/dump/record/vector/reference.expected
520
554
  - test/command/suite/dump/record/vector/reference.test
@@ -560,10 +594,16 @@ files:
560
594
  - test/command/suite/groonga/delete/filter.test
561
595
  - test/command/suite/groonga/delete/invalid-filter.expected
562
596
  - test/command/suite/groonga/delete/invalid-filter.test
597
+ - test/command/suite/groonga/delete/key-integer.expected
598
+ - test/command/suite/groonga/delete/key-integer.test
599
+ - test/command/suite/groonga/delete/key-string.expected
600
+ - test/command/suite/groonga/delete/key-string.test
601
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/integer-for-string.expected
602
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/integer-for-string.test
603
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/string-for-integer.expected
604
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/string-for-integer.test
563
605
  - test/command/suite/groonga/delete/no-identifier.expected
564
606
  - test/command/suite/groonga/delete/no-identifier.test
565
- - test/command/suite/groonga/delete/success.expected
566
- - test/command/suite/groonga/delete/success.test
567
607
  - test/command/suite/groonga/delete/unknown-table.expected
568
608
  - test/command/suite/groonga/delete/unknown-table.test
569
609
  - test/command/suite/groonga/select/minimum.expected
@@ -683,6 +723,26 @@ files:
683
723
  - test/command/suite/search/sort/default-offset-limit.test
684
724
  - test/command/suite/search/sort/invisible-column.expected
685
725
  - test/command/suite/search/sort/invisible-column.test
726
+ - test/command/suite/system/absorb-data/records.catalog.json
727
+ - test/command/suite/system/absorb-data/records.expected
728
+ - test/command/suite/system/absorb-data/records.test
729
+ - test/command/suite/system/statistics/object/count/empty.expected
730
+ - test/command/suite/system/statistics/object/count/empty.test
731
+ - test/command/suite/system/statistics/object/count/per-volume/empty.catalog.json
732
+ - test/command/suite/system/statistics/object/count/per-volume/empty.expected
733
+ - test/command/suite/system/statistics/object/count/per-volume/empty.test
734
+ - test/command/suite/system/statistics/object/count/per-volume/record.catalog.json
735
+ - test/command/suite/system/statistics/object/count/per-volume/record.expected
736
+ - test/command/suite/system/statistics/object/count/per-volume/record.test
737
+ - test/command/suite/system/statistics/object/count/per-volume/schema.catalog.json
738
+ - test/command/suite/system/statistics/object/count/per-volume/schema.expected
739
+ - test/command/suite/system/statistics/object/count/per-volume/schema.test
740
+ - test/command/suite/system/statistics/object/count/record.catalog.json
741
+ - test/command/suite/system/statistics/object/count/record.expected
742
+ - test/command/suite/system/statistics/object/count/record.test
743
+ - test/command/suite/system/statistics/object/count/schema.catalog.json
744
+ - test/command/suite/system/statistics/object/count/schema.expected
745
+ - test/command/suite/system/statistics/object/count/schema.test
686
746
  - test/command/suite/system/status.expected
687
747
  - test/command/suite/system/status.test
688
748
  - test/command/suite/watch/subscribe.catalog.json
@@ -696,15 +756,16 @@ files:
696
756
  - test/performance/watch/feed.json
697
757
  - test/performance/watch/fluentd.conf
698
758
  - test/performance/watch/subscribe.json
699
- - test/unit/catalog/test_collection_volume.rb
700
759
  - test/unit/catalog/test_dataset.rb
760
+ - test/unit/catalog/test_generator.rb
761
+ - test/unit/catalog/test_replicas_volume.rb
701
762
  - test/unit/catalog/test_schema.rb
702
763
  - test/unit/catalog/test_single_volume.rb
703
764
  - test/unit/catalog/test_slice.rb
765
+ - test/unit/catalog/test_slices_volume.rb
704
766
  - test/unit/catalog/test_version1.rb
705
767
  - test/unit/catalog/test_version2.rb
706
768
  - test/unit/catalog/test_version2_validator.rb
707
- - test/unit/catalog/test_volume_collection.rb
708
769
  - test/unit/fixtures/array.grn
709
770
  - test/unit/fixtures/catalog/version1.json
710
771
  - test/unit/fixtures/catalog/version2.json
@@ -743,7 +804,6 @@ files:
743
804
  - test/unit/plugins/test_watch.rb
744
805
  - test/unit/run-test.rb
745
806
  - test/unit/test_address.rb
746
- - test/unit/test_catalog_generator.rb
747
807
  - test/unit/test_line_buffer.rb
748
808
  - test/unit/test_message_matcher.rb
749
809
  - test/unit/test_schema_applier.rb
@@ -779,6 +839,8 @@ test_files:
779
839
  - test/command/config/version1/catalog.json
780
840
  - test/command/fixture/documents.jsons
781
841
  - test/command/fixture/event.jsons
842
+ - test/command/fixture/integer-key-table.jsons
843
+ - test/command/fixture/string-key-table.jsons
782
844
  - test/command/fixture/user-table-array.jsons
783
845
  - test/command/fixture/user-table.jsons
784
846
  - test/command/fixture/users.jsons
@@ -801,8 +863,14 @@ test_files:
801
863
  - test/command/suite/add/error/unknown-column.test
802
864
  - test/command/suite/add/error/unknown-table.expected
803
865
  - test/command/suite/add/error/unknown-table.test
804
- - test/command/suite/add/minimum.expected
805
- - test/command/suite/add/minimum.test
866
+ - test/command/suite/add/key-integer.expected
867
+ - test/command/suite/add/key-integer.test
868
+ - test/command/suite/add/key-string.expected
869
+ - test/command/suite/add/key-string.test
870
+ - test/command/suite/add/mismatched-key-type/acceptable/integer-for-string.expected
871
+ - test/command/suite/add/mismatched-key-type/acceptable/integer-for-string.test
872
+ - test/command/suite/add/mismatched-key-type/acceptable/string-for-integer.expected
873
+ - test/command/suite/add/mismatched-key-type/acceptable/string-for-integer.test
806
874
  - test/command/suite/add/vector/short_text.catalog.json
807
875
  - test/command/suite/add/vector/short_text.expected
808
876
  - test/command/suite/add/vector/short_text.test
@@ -810,6 +878,8 @@ test_files:
810
878
  - test/command/suite/add/with-values.test
811
879
  - test/command/suite/add/without-key.expected
812
880
  - test/command/suite/add/without-key.test
881
+ - test/command/suite/add/without-values.expected
882
+ - test/command/suite/add/without-values.test
813
883
  - test/command/suite/catalog/fetch.expected
814
884
  - test/command/suite/catalog/fetch.test
815
885
  - test/command/suite/dump/column/index.catalog.json
@@ -821,6 +891,9 @@ test_files:
821
891
  - test/command/suite/dump/column/vector.catalog.json
822
892
  - test/command/suite/dump/column/vector.expected
823
893
  - test/command/suite/dump/column/vector.test
894
+ - test/command/suite/dump/record/scalar.catalog.json
895
+ - test/command/suite/dump/record/scalar.expected
896
+ - test/command/suite/dump/record/scalar.test
824
897
  - test/command/suite/dump/record/vector/reference.catalog.json
825
898
  - test/command/suite/dump/record/vector/reference.expected
826
899
  - test/command/suite/dump/record/vector/reference.test
@@ -866,10 +939,16 @@ test_files:
866
939
  - test/command/suite/groonga/delete/filter.test
867
940
  - test/command/suite/groonga/delete/invalid-filter.expected
868
941
  - test/command/suite/groonga/delete/invalid-filter.test
942
+ - test/command/suite/groonga/delete/key-integer.expected
943
+ - test/command/suite/groonga/delete/key-integer.test
944
+ - test/command/suite/groonga/delete/key-string.expected
945
+ - test/command/suite/groonga/delete/key-string.test
946
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/integer-for-string.expected
947
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/integer-for-string.test
948
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/string-for-integer.expected
949
+ - test/command/suite/groonga/delete/mismatched-type-key/acceptable/string-for-integer.test
869
950
  - test/command/suite/groonga/delete/no-identifier.expected
870
951
  - test/command/suite/groonga/delete/no-identifier.test
871
- - test/command/suite/groonga/delete/success.expected
872
- - test/command/suite/groonga/delete/success.test
873
952
  - test/command/suite/groonga/delete/unknown-table.expected
874
953
  - test/command/suite/groonga/delete/unknown-table.test
875
954
  - test/command/suite/groonga/select/minimum.expected
@@ -989,6 +1068,26 @@ test_files:
989
1068
  - test/command/suite/search/sort/default-offset-limit.test
990
1069
  - test/command/suite/search/sort/invisible-column.expected
991
1070
  - test/command/suite/search/sort/invisible-column.test
1071
+ - test/command/suite/system/absorb-data/records.catalog.json
1072
+ - test/command/suite/system/absorb-data/records.expected
1073
+ - test/command/suite/system/absorb-data/records.test
1074
+ - test/command/suite/system/statistics/object/count/empty.expected
1075
+ - test/command/suite/system/statistics/object/count/empty.test
1076
+ - test/command/suite/system/statistics/object/count/per-volume/empty.catalog.json
1077
+ - test/command/suite/system/statistics/object/count/per-volume/empty.expected
1078
+ - test/command/suite/system/statistics/object/count/per-volume/empty.test
1079
+ - test/command/suite/system/statistics/object/count/per-volume/record.catalog.json
1080
+ - test/command/suite/system/statistics/object/count/per-volume/record.expected
1081
+ - test/command/suite/system/statistics/object/count/per-volume/record.test
1082
+ - test/command/suite/system/statistics/object/count/per-volume/schema.catalog.json
1083
+ - test/command/suite/system/statistics/object/count/per-volume/schema.expected
1084
+ - test/command/suite/system/statistics/object/count/per-volume/schema.test
1085
+ - test/command/suite/system/statistics/object/count/record.catalog.json
1086
+ - test/command/suite/system/statistics/object/count/record.expected
1087
+ - test/command/suite/system/statistics/object/count/record.test
1088
+ - test/command/suite/system/statistics/object/count/schema.catalog.json
1089
+ - test/command/suite/system/statistics/object/count/schema.expected
1090
+ - test/command/suite/system/statistics/object/count/schema.test
992
1091
  - test/command/suite/system/status.expected
993
1092
  - test/command/suite/system/status.test
994
1093
  - test/command/suite/watch/subscribe.catalog.json
@@ -1002,15 +1101,16 @@ test_files:
1002
1101
  - test/performance/watch/feed.json
1003
1102
  - test/performance/watch/fluentd.conf
1004
1103
  - test/performance/watch/subscribe.json
1005
- - test/unit/catalog/test_collection_volume.rb
1006
1104
  - test/unit/catalog/test_dataset.rb
1105
+ - test/unit/catalog/test_generator.rb
1106
+ - test/unit/catalog/test_replicas_volume.rb
1007
1107
  - test/unit/catalog/test_schema.rb
1008
1108
  - test/unit/catalog/test_single_volume.rb
1009
1109
  - test/unit/catalog/test_slice.rb
1110
+ - test/unit/catalog/test_slices_volume.rb
1010
1111
  - test/unit/catalog/test_version1.rb
1011
1112
  - test/unit/catalog/test_version2.rb
1012
1113
  - test/unit/catalog/test_version2_validator.rb
1013
- - test/unit/catalog/test_volume_collection.rb
1014
1114
  - test/unit/fixtures/array.grn
1015
1115
  - test/unit/fixtures/catalog/version1.json
1016
1116
  - test/unit/fixtures/catalog/version2.json
@@ -1049,7 +1149,6 @@ test_files:
1049
1149
  - test/unit/plugins/test_watch.rb
1050
1150
  - test/unit/run-test.rb
1051
1151
  - test/unit/test_address.rb
1052
- - test/unit/test_catalog_generator.rb
1053
1152
  - test/unit/test_line_buffer.rb
1054
1153
  - test/unit/test_message_matcher.rb
1055
1154
  - test/unit/test_schema_applier.rb