fluent-plugin-droonga 0.7.0 → 0.8.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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -4
  3. data/benchmark/watch/benchmark-notify.rb +2 -2
  4. data/benchmark/watch/benchmark-scan.rb +3 -0
  5. data/benchmark/watch/fluentd.conf +0 -1
  6. data/fluent-plugin-droonga.gemspec +2 -3
  7. data/lib/droonga/catalog.rb +10 -124
  8. data/lib/droonga/catalog/base.rb +140 -0
  9. data/lib/droonga/catalog/version1.rb +23 -0
  10. data/lib/droonga/catalog_loader.rb +33 -0
  11. data/lib/droonga/collector.rb +2 -71
  12. data/lib/droonga/collector_plugin.rb +2 -34
  13. data/lib/droonga/dispatcher.rb +141 -196
  14. data/lib/droonga/distribution_planner.rb +76 -0
  15. data/lib/droonga/distributor.rb +5 -7
  16. data/lib/droonga/distributor_plugin.rb +23 -15
  17. data/lib/droonga/engine.rb +2 -2
  18. data/lib/droonga/event_loop.rb +46 -0
  19. data/lib/droonga/farm.rb +9 -5
  20. data/lib/droonga/fluent_message_sender.rb +84 -0
  21. data/lib/droonga/forwarder.rb +43 -53
  22. data/lib/droonga/handler.rb +20 -68
  23. data/lib/droonga/handler_message.rb +61 -0
  24. data/lib/droonga/handler_messenger.rb +92 -0
  25. data/lib/droonga/handler_plugin.rb +10 -12
  26. data/lib/droonga/input_adapter.rb +52 -0
  27. data/lib/droonga/{adapter.rb → input_adapter_plugin.rb} +7 -13
  28. data/lib/droonga/input_message.rb +11 -11
  29. data/lib/droonga/logger.rb +4 -3
  30. data/lib/droonga/message_pack_packer.rb +62 -0
  31. data/lib/droonga/message_processing_error.rb +54 -0
  32. data/lib/droonga/message_pusher.rb +60 -0
  33. data/lib/droonga/message_receiver.rb +61 -0
  34. data/lib/droonga/output_adapter.rb +53 -0
  35. data/lib/droonga/{adapter_plugin.rb → output_adapter_plugin.rb} +3 -21
  36. data/lib/droonga/output_message.rb +37 -0
  37. data/lib/droonga/partition.rb +27 -5
  38. data/lib/droonga/pluggable.rb +9 -4
  39. data/lib/droonga/plugin.rb +12 -3
  40. data/lib/droonga/plugin/collector/basic.rb +91 -18
  41. data/lib/droonga/plugin/distributor/crud.rb +9 -9
  42. data/lib/droonga/plugin/distributor/distributed_search_planner.rb +401 -0
  43. data/lib/droonga/plugin/distributor/groonga.rb +5 -5
  44. data/lib/droonga/plugin/distributor/search.rb +4 -246
  45. data/lib/droonga/plugin/distributor/watch.rb +11 -6
  46. data/lib/droonga/plugin/handler/add.rb +69 -7
  47. data/lib/droonga/plugin/handler/groonga.rb +6 -6
  48. data/lib/droonga/plugin/handler/search.rb +5 -3
  49. data/lib/droonga/plugin/handler/watch.rb +19 -13
  50. data/lib/droonga/plugin/{adapter → input_adapter}/groonga.rb +5 -11
  51. data/lib/droonga/plugin/{adapter → input_adapter}/groonga/select.rb +2 -36
  52. data/lib/droonga/plugin/output_adapter/groonga.rb +30 -0
  53. data/lib/droonga/plugin/output_adapter/groonga/select.rb +54 -0
  54. data/lib/droonga/plugin_loader.rb +2 -2
  55. data/lib/droonga/processor.rb +21 -23
  56. data/lib/droonga/replier.rb +40 -0
  57. data/lib/droonga/searcher.rb +298 -174
  58. data/lib/droonga/server.rb +0 -67
  59. data/lib/droonga/session.rb +85 -0
  60. data/lib/droonga/test.rb +21 -0
  61. data/lib/droonga/test/stub_distributor.rb +31 -0
  62. data/lib/droonga/test/stub_handler.rb +37 -0
  63. data/lib/droonga/test/stub_handler_message.rb +35 -0
  64. data/lib/droonga/test/stub_handler_messenger.rb +34 -0
  65. data/lib/droonga/time_formatter.rb +37 -0
  66. data/lib/droonga/watcher.rb +1 -0
  67. data/lib/droonga/worker.rb +16 -19
  68. data/lib/fluent/plugin/out_droonga.rb +9 -9
  69. data/lib/groonga_command_converter.rb +5 -5
  70. data/sample/cluster/catalog.json +1 -1
  71. data/test/command/config/default/catalog.json +19 -1
  72. data/test/command/fixture/event.jsons +41 -0
  73. data/test/command/fixture/user-table.jsons +9 -0
  74. data/test/command/run-test.rb +2 -2
  75. data/test/command/suite/add/error/invalid-integer.expected +20 -0
  76. data/test/command/suite/add/error/invalid-integer.test +12 -0
  77. data/test/command/suite/add/error/invalid-time.expected +20 -0
  78. data/test/command/suite/add/error/invalid-time.test +12 -0
  79. data/test/command/suite/add/error/missing-key.expected +13 -0
  80. data/test/command/suite/add/error/missing-key.test +16 -0
  81. data/test/command/suite/add/error/missing-table.expected +13 -0
  82. data/test/command/suite/add/error/missing-table.test +16 -0
  83. data/test/command/suite/add/error/unknown-column.expected +20 -0
  84. data/test/command/suite/add/error/unknown-column.test +12 -0
  85. data/test/command/suite/add/error/unknown-table.expected +13 -0
  86. data/test/command/suite/add/error/unknown-table.test +17 -0
  87. data/test/command/suite/add/minimum.expected +1 -3
  88. data/test/command/suite/add/with-values.expected +1 -3
  89. data/test/command/suite/add/without-key.expected +1 -3
  90. data/test/command/suite/message/error/missing-dataset.expected +13 -0
  91. data/test/command/suite/message/error/missing-dataset.test +5 -0
  92. data/test/command/suite/message/error/unknown-command.expected +13 -0
  93. data/test/command/suite/message/error/unknown-command.test +6 -0
  94. data/test/command/suite/message/error/unknown-dataset.expected +13 -0
  95. data/test/command/suite/message/error/unknown-dataset.test +6 -0
  96. data/test/command/suite/search/{array-attribute-label.expected → attributes/array.expected} +0 -0
  97. data/test/command/suite/search/{array-attribute-label.test → attributes/array.test} +0 -0
  98. data/test/command/suite/search/{hash-attribute-label.expected → attributes/hash.expected} +0 -0
  99. data/test/command/suite/search/{hash-attribute-label.test → attributes/hash.test} +0 -0
  100. data/test/command/suite/search/{condition-nested.expected → condition/nested.expected} +0 -0
  101. data/test/command/suite/search/{condition-nested.test → condition/nested.test} +0 -0
  102. data/test/command/suite/search/{condition-query.expected → condition/query.expected} +0 -0
  103. data/test/command/suite/search/{condition-query.test → condition/query.test} +0 -0
  104. data/test/command/suite/search/{condition-script.expected → condition/script.expected} +0 -0
  105. data/test/command/suite/search/{condition-script.test → condition/script.test} +0 -0
  106. data/test/command/suite/search/error/cyclic-source.expected +18 -0
  107. data/test/command/suite/search/error/cyclic-source.test +12 -0
  108. data/test/command/suite/search/error/deeply-cyclic-source.expected +21 -0
  109. data/test/command/suite/search/error/deeply-cyclic-source.test +15 -0
  110. data/test/command/suite/search/error/missing-source-parameter.expected +17 -0
  111. data/test/command/suite/search/error/missing-source-parameter.test +11 -0
  112. data/test/command/suite/search/error/unknown-source.expected +18 -0
  113. data/test/command/suite/search/error/unknown-source.test +12 -0
  114. data/test/command/suite/search/{minimum.expected → group/count.expected} +2 -1
  115. data/test/command/suite/search/{minimum.test → group/count.test} +5 -3
  116. data/test/command/suite/search/group/limit.expected +19 -0
  117. data/test/command/suite/search/group/limit.test +20 -0
  118. data/test/command/suite/search/group/string.expected +36 -0
  119. data/test/command/suite/search/group/string.test +44 -0
  120. data/test/command/suite/search/{chained-queries.expected → multiple/chained.expected} +0 -0
  121. data/test/command/suite/search/{chained-queries.test → multiple/chained.test} +0 -0
  122. data/test/command/suite/search/{multiple-queries.expected → multiple/parallel.expected} +0 -0
  123. data/test/command/suite/search/{multiple-queries.test → multiple/parallel.test} +0 -0
  124. data/test/command/suite/search/{output-range.expected → range/only-output.expected} +0 -0
  125. data/test/command/suite/search/{output-range.test → range/only-output.test} +0 -0
  126. data/test/command/suite/search/{sort-range.expected → range/only-sort.expected} +0 -0
  127. data/test/command/suite/search/{sort-range.test → range/only-sort.test} +0 -0
  128. data/test/command/suite/search/{sort-and-output-range.expected → range/sort-and-output.expected} +0 -0
  129. data/test/command/suite/search/{sort-and-output-range.test → range/sort-and-output.test} +0 -0
  130. data/test/command/suite/search/range/too-large-output-offset.expected +16 -0
  131. data/test/command/suite/search/range/too-large-output-offset.test +25 -0
  132. data/test/command/suite/search/range/too-large-sort-offset.expected +16 -0
  133. data/test/command/suite/search/range/too-large-sort-offset.test +28 -0
  134. data/test/command/suite/search/response/records/value/time.expected +24 -0
  135. data/test/command/suite/search/response/records/value/time.test +24 -0
  136. data/test/command/suite/search/sort/default-offset-limit.expected +43 -0
  137. data/test/command/suite/search/sort/default-offset-limit.test +26 -0
  138. data/test/command/suite/search/{sort-with-invisible-column.expected → sort/invisible-column.expected} +0 -0
  139. data/test/command/suite/search/{sort-with-invisible-column.test → sort/invisible-column.test} +0 -0
  140. data/test/command/suite/watch/subscribe.expected +12 -0
  141. data/test/command/suite/watch/subscribe.test +9 -0
  142. data/test/command/suite/watch/unsubscribe.expected +12 -0
  143. data/test/command/suite/watch/unsubscribe.test +9 -0
  144. data/test/unit/{test_catalog.rb → catalog/test_version1.rb} +12 -4
  145. data/test/unit/fixtures/{catalog.json → catalog/version1.json} +0 -0
  146. data/test/unit/helper.rb +2 -0
  147. data/test/unit/plugin/collector/test_basic.rb +289 -33
  148. data/test/unit/plugin/distributor/test_search.rb +176 -861
  149. data/test/unit/plugin/distributor/test_search_planner.rb +1102 -0
  150. data/test/unit/plugin/handler/groonga/test_column_create.rb +17 -13
  151. data/test/unit/plugin/handler/groonga/test_table_create.rb +10 -10
  152. data/test/unit/plugin/handler/test_add.rb +74 -11
  153. data/test/unit/plugin/handler/test_groonga.rb +15 -1
  154. data/test/unit/plugin/handler/test_search.rb +33 -17
  155. data/test/unit/plugin/handler/test_watch.rb +43 -27
  156. data/test/unit/run-test.rb +2 -0
  157. data/test/unit/test_message_pack_packer.rb +51 -0
  158. data/test/unit/test_time_formatter.rb +29 -0
  159. metadata +208 -110
  160. data/lib/droonga/job_queue.rb +0 -87
  161. data/lib/droonga/job_queue_schema.rb +0 -65
  162. data/test/unit/test_adapter.rb +0 -51
  163. data/test/unit/test_job_queue_schema.rb +0 -45
@@ -52,4 +52,6 @@ $LOAD_PATH.unshift(test_dir)
52
52
 
53
53
  require "helper"
54
54
 
55
+ ARGV.unshift("--max-diff-target-string-size=10000")
56
+
55
57
  exit Test::Unit::AutoRunner.run(true, test_dir)
@@ -0,0 +1,51 @@
1
+ # Copyright (C) 2013 Droonga Project
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ require "droonga/message_pack_packer"
17
+
18
+ class MessagePackPackerTest < Test::Unit::TestCase
19
+ def test_integer
20
+ assert_equal(29, unpack(pack(29)))
21
+ end
22
+
23
+ def test_string
24
+ assert_equal("Droonga", unpack(pack("Droonga")))
25
+ end
26
+
27
+ def test_time
28
+ w3c_dtf_time = "2013-11-29T08:00:00.000000Z"
29
+ time = Time.parse(w3c_dtf_time)
30
+ assert_equal(w3c_dtf_time, unpack(pack(time)))
31
+ end
32
+
33
+ def test_hash
34
+ hash = {"key" => "value"}
35
+ assert_equal(hash, unpack(pack(hash)))
36
+ end
37
+
38
+ def test_array
39
+ array = ["Groonga", "Rroonga", "Droonga"]
40
+ assert_equal(array, unpack(pack(array)))
41
+ end
42
+
43
+ private
44
+ def pack(object)
45
+ Droonga::MessagePackPacker.pack(object)
46
+ end
47
+
48
+ def unpack(msgpack)
49
+ MessagePack.unpack(msgpack)
50
+ end
51
+ end
@@ -0,0 +1,29 @@
1
+ # Copyright (C) 2013 Droonga Project
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ require "droonga/time_formatter"
17
+
18
+ class TimeFormatterTest < Test::Unit::TestCase
19
+ def test_fraction
20
+ w3c_dtf_time = "2013-11-29T08:00:00.292929Z"
21
+ time = Time.parse(w3c_dtf_time)
22
+ assert_equal(w3c_dtf_time, format(time))
23
+ end
24
+
25
+ private
26
+ def format(time)
27
+ Droonga::TimeFormatter.format(time)
28
+ end
29
+ end
metadata CHANGED
@@ -1,195 +1,181 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-droonga
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.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: 2013-11-29 00:00:00.000000000 Z
11
+ date: 2013-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rroonga
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.0.3
33
+ version: 3.1.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: 3.0.3
40
+ version: 3.1.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: groonga-command-parser
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: fluent-logger
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
52
+ - - '>='
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: serverengine
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - ">="
59
+ - - '>='
74
60
  - !ruby/object:Gem::Version
75
61
  version: '0'
76
62
  type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - ">="
66
+ - - '>='
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rake
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - ">="
73
+ - - '>='
88
74
  - !ruby/object:Gem::Version
89
75
  version: '0'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - ">="
80
+ - - '>='
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: bundler
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - '>='
102
88
  - !ruby/object:Gem::Version
103
89
  version: '0'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - '>='
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: droonga-client
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - ">="
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
- - - ">="
108
+ - - '>='
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: test-unit
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
- - - ">="
115
+ - - '>='
130
116
  - !ruby/object:Gem::Version
131
117
  version: '0'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - ">="
122
+ - - '>='
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: test-unit-notify
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
- - - ">="
129
+ - - '>='
144
130
  - !ruby/object:Gem::Version
145
131
  version: '0'
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
- - - ">="
136
+ - - '>='
151
137
  - !ruby/object:Gem::Version
152
138
  version: '0'
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: test-unit-rr
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
- - - ">="
143
+ - - '>='
158
144
  - !ruby/object:Gem::Version
159
145
  version: '0'
160
146
  type: :development
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
- - - ">="
150
+ - - '>='
165
151
  - !ruby/object:Gem::Version
166
152
  version: '0'
167
153
  - !ruby/object:Gem::Dependency
168
154
  name: packnga
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
- - - ">="
157
+ - - '>='
172
158
  - !ruby/object:Gem::Version
173
159
  version: '0'
174
160
  type: :development
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
- - - ">="
164
+ - - '>='
179
165
  - !ruby/object:Gem::Version
180
166
  version: '0'
181
167
  - !ruby/object:Gem::Dependency
182
168
  name: kramdown
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
- - - ">="
171
+ - - '>='
186
172
  - !ruby/object:Gem::Version
187
173
  version: '0'
188
174
  type: :development
189
175
  prerelease: false
190
176
  version_requirements: !ruby/object:Gem::Requirement
191
177
  requirements:
192
- - - ">="
178
+ - - '>='
193
179
  - !ruby/object:Gem::Version
194
180
  version: '0'
195
181
  description: Droonga(distributed Groonga) plugin for Fluent event collector
@@ -200,9 +186,9 @@ executables:
200
186
  extensions: []
201
187
  extra_rdoc_files: []
202
188
  files:
203
- - ".gitignore"
204
- - ".travis.yml"
205
- - ".yardopts"
189
+ - .gitignore
190
+ - .travis.yml
191
+ - .yardopts
206
192
  - Gemfile
207
193
  - LICENSE.txt
208
194
  - README.md
@@ -218,31 +204,43 @@ files:
218
204
  - bin/grn2jsons
219
205
  - doc/text/news.md
220
206
  - fluent-plugin-droonga.gemspec
221
- - lib/droonga/adapter.rb
222
- - lib/droonga/adapter_plugin.rb
223
207
  - lib/droonga/catalog.rb
208
+ - lib/droonga/catalog/base.rb
209
+ - lib/droonga/catalog/version1.rb
210
+ - lib/droonga/catalog_loader.rb
224
211
  - lib/droonga/collector.rb
225
212
  - lib/droonga/collector_plugin.rb
226
213
  - lib/droonga/command_mapper.rb
227
214
  - lib/droonga/dispatcher.rb
215
+ - lib/droonga/distribution_planner.rb
228
216
  - lib/droonga/distributor.rb
229
217
  - lib/droonga/distributor_plugin.rb
230
218
  - lib/droonga/engine.rb
219
+ - lib/droonga/event_loop.rb
231
220
  - lib/droonga/farm.rb
221
+ - lib/droonga/fluent_message_sender.rb
232
222
  - lib/droonga/forwarder.rb
233
223
  - lib/droonga/handler.rb
224
+ - lib/droonga/handler_message.rb
225
+ - lib/droonga/handler_messenger.rb
234
226
  - lib/droonga/handler_plugin.rb
227
+ - lib/droonga/input_adapter.rb
228
+ - lib/droonga/input_adapter_plugin.rb
235
229
  - lib/droonga/input_message.rb
236
- - lib/droonga/job_queue.rb
237
- - lib/droonga/job_queue_schema.rb
238
230
  - lib/droonga/logger.rb
231
+ - lib/droonga/message_pack_packer.rb
232
+ - lib/droonga/message_processing_error.rb
233
+ - lib/droonga/message_pusher.rb
234
+ - lib/droonga/message_receiver.rb
235
+ - lib/droonga/output_adapter.rb
236
+ - lib/droonga/output_adapter_plugin.rb
237
+ - lib/droonga/output_message.rb
239
238
  - lib/droonga/partition.rb
240
239
  - lib/droonga/pluggable.rb
241
240
  - lib/droonga/plugin.rb
242
- - lib/droonga/plugin/adapter/groonga.rb
243
- - lib/droonga/plugin/adapter/groonga/select.rb
244
241
  - lib/droonga/plugin/collector/basic.rb
245
242
  - lib/droonga/plugin/distributor/crud.rb
243
+ - lib/droonga/plugin/distributor/distributed_search_planner.rb
246
244
  - lib/droonga/plugin/distributor/groonga.rb
247
245
  - lib/droonga/plugin/distributor/search.rb
248
246
  - lib/droonga/plugin/distributor/watch.rb
@@ -253,13 +251,25 @@ files:
253
251
  - lib/droonga/plugin/handler/groonga/table_create.rb
254
252
  - lib/droonga/plugin/handler/search.rb
255
253
  - lib/droonga/plugin/handler/watch.rb
254
+ - lib/droonga/plugin/input_adapter/groonga.rb
255
+ - lib/droonga/plugin/input_adapter/groonga/select.rb
256
+ - lib/droonga/plugin/output_adapter/groonga.rb
257
+ - lib/droonga/plugin/output_adapter/groonga/select.rb
256
258
  - lib/droonga/plugin_loader.rb
257
259
  - lib/droonga/plugin_registerable.rb
258
260
  - lib/droonga/plugin_repository.rb
259
261
  - lib/droonga/processor.rb
262
+ - lib/droonga/replier.rb
260
263
  - lib/droonga/searcher.rb
261
264
  - lib/droonga/server.rb
265
+ - lib/droonga/session.rb
262
266
  - lib/droonga/sweeper.rb
267
+ - lib/droonga/test.rb
268
+ - lib/droonga/test/stub_distributor.rb
269
+ - lib/droonga/test/stub_handler.rb
270
+ - lib/droonga/test/stub_handler_message.rb
271
+ - lib/droonga/test/stub_handler_messenger.rb
272
+ - lib/droonga/time_formatter.rb
263
273
  - lib/droonga/watch_schema.rb
264
274
  - lib/droonga/watcher.rb
265
275
  - lib/droonga/worker.rb
@@ -271,9 +281,22 @@ files:
271
281
  - test/command/config/default/catalog.json
272
282
  - test/command/config/default/fluentd.conf
273
283
  - test/command/fixture/documents.jsons
284
+ - test/command/fixture/event.jsons
274
285
  - test/command/fixture/user-table-array.jsons
275
286
  - test/command/fixture/user-table.jsons
276
287
  - test/command/run-test.rb
288
+ - test/command/suite/add/error/invalid-integer.expected
289
+ - test/command/suite/add/error/invalid-integer.test
290
+ - test/command/suite/add/error/invalid-time.expected
291
+ - test/command/suite/add/error/invalid-time.test
292
+ - test/command/suite/add/error/missing-key.expected
293
+ - test/command/suite/add/error/missing-key.test
294
+ - test/command/suite/add/error/missing-table.expected
295
+ - test/command/suite/add/error/missing-table.test
296
+ - test/command/suite/add/error/unknown-column.expected
297
+ - test/command/suite/add/error/unknown-column.test
298
+ - test/command/suite/add/error/unknown-table.expected
299
+ - test/command/suite/add/error/unknown-table.test
277
300
  - test/command/suite/add/minimum.expected
278
301
  - test/command/suite/add/minimum.test
279
302
  - test/command/suite/add/with-values.expected
@@ -290,36 +313,67 @@ files:
290
313
  - test/command/suite/groonga/table_create/array.test
291
314
  - test/command/suite/groonga/table_create/hash.expected
292
315
  - test/command/suite/groonga/table_create/hash.test
293
- - test/command/suite/search/array-attribute-label.expected
294
- - test/command/suite/search/array-attribute-label.test
295
- - test/command/suite/search/chained-queries.expected
296
- - test/command/suite/search/chained-queries.test
316
+ - test/command/suite/message/error/missing-dataset.expected
317
+ - test/command/suite/message/error/missing-dataset.test
318
+ - test/command/suite/message/error/unknown-command.expected
319
+ - test/command/suite/message/error/unknown-command.test
320
+ - test/command/suite/message/error/unknown-dataset.expected
321
+ - test/command/suite/message/error/unknown-dataset.test
322
+ - test/command/suite/search/attributes/array.expected
323
+ - test/command/suite/search/attributes/array.test
324
+ - test/command/suite/search/attributes/hash.expected
325
+ - test/command/suite/search/attributes/hash.test
297
326
  - test/command/suite/search/complex.expected
298
327
  - test/command/suite/search/complex.test
299
- - test/command/suite/search/condition-nested.expected
300
- - test/command/suite/search/condition-nested.test
301
- - test/command/suite/search/condition-query.expected
302
- - test/command/suite/search/condition-query.test
303
- - test/command/suite/search/condition-script.expected
304
- - test/command/suite/search/condition-script.test
305
- - test/command/suite/search/hash-attribute-label.expected
306
- - test/command/suite/search/hash-attribute-label.test
307
- - test/command/suite/search/minimum.expected
308
- - test/command/suite/search/minimum.test
309
- - test/command/suite/search/multiple-queries.expected
310
- - test/command/suite/search/multiple-queries.test
311
- - test/command/suite/search/output-range.expected
312
- - test/command/suite/search/output-range.test
328
+ - test/command/suite/search/condition/nested.expected
329
+ - test/command/suite/search/condition/nested.test
330
+ - test/command/suite/search/condition/query.expected
331
+ - test/command/suite/search/condition/query.test
332
+ - test/command/suite/search/condition/script.expected
333
+ - test/command/suite/search/condition/script.test
334
+ - test/command/suite/search/error/cyclic-source.expected
335
+ - test/command/suite/search/error/cyclic-source.test
336
+ - test/command/suite/search/error/deeply-cyclic-source.expected
337
+ - test/command/suite/search/error/deeply-cyclic-source.test
338
+ - test/command/suite/search/error/missing-source-parameter.expected
339
+ - test/command/suite/search/error/missing-source-parameter.test
340
+ - test/command/suite/search/error/unknown-source.expected
341
+ - test/command/suite/search/error/unknown-source.test
342
+ - test/command/suite/search/group/count.expected
343
+ - test/command/suite/search/group/count.test
344
+ - test/command/suite/search/group/limit.expected
345
+ - test/command/suite/search/group/limit.test
346
+ - test/command/suite/search/group/string.expected
347
+ - test/command/suite/search/group/string.test
348
+ - test/command/suite/search/multiple/chained.expected
349
+ - test/command/suite/search/multiple/chained.test
350
+ - test/command/suite/search/multiple/parallel.expected
351
+ - test/command/suite/search/multiple/parallel.test
352
+ - test/command/suite/search/range/only-output.expected
353
+ - test/command/suite/search/range/only-output.test
354
+ - test/command/suite/search/range/only-sort.expected
355
+ - test/command/suite/search/range/only-sort.test
356
+ - test/command/suite/search/range/sort-and-output.expected
357
+ - test/command/suite/search/range/sort-and-output.test
358
+ - test/command/suite/search/range/too-large-output-offset.expected
359
+ - test/command/suite/search/range/too-large-output-offset.test
360
+ - test/command/suite/search/range/too-large-sort-offset.expected
361
+ - test/command/suite/search/range/too-large-sort-offset.test
362
+ - test/command/suite/search/response/records/value/time.expected
363
+ - test/command/suite/search/response/records/value/time.test
313
364
  - test/command/suite/search/simple.expected
314
365
  - test/command/suite/search/simple.test
315
- - test/command/suite/search/sort-and-output-range.expected
316
- - test/command/suite/search/sort-and-output-range.test
317
- - test/command/suite/search/sort-range.expected
318
- - test/command/suite/search/sort-range.test
319
- - test/command/suite/search/sort-with-invisible-column.expected
320
- - test/command/suite/search/sort-with-invisible-column.test
366
+ - test/command/suite/search/sort/default-offset-limit.expected
367
+ - test/command/suite/search/sort/default-offset-limit.test
368
+ - test/command/suite/search/sort/invisible-column.expected
369
+ - test/command/suite/search/sort/invisible-column.test
370
+ - test/command/suite/watch/subscribe.expected
371
+ - test/command/suite/watch/subscribe.test
372
+ - test/command/suite/watch/unsubscribe.expected
373
+ - test/command/suite/watch/unsubscribe.test
374
+ - test/unit/catalog/test_version1.rb
321
375
  - test/unit/fixtures/array.grn
322
- - test/unit/fixtures/catalog.json
376
+ - test/unit/fixtures/catalog/version1.json
323
377
  - test/unit/fixtures/document.grn
324
378
  - test/unit/fixtures/reference/array.grn
325
379
  - test/unit/fixtures/reference/hash.grn
@@ -332,6 +386,7 @@ files:
332
386
  - test/unit/plugin/adapter/groonga/test_select.rb
333
387
  - test/unit/plugin/collector/test_basic.rb
334
388
  - test/unit/plugin/distributor/test_search.rb
389
+ - test/unit/plugin/distributor/test_search_planner.rb
335
390
  - test/unit/plugin/handler/groonga/test_column_create.rb
336
391
  - test/unit/plugin/handler/groonga/test_table_create.rb
337
392
  - test/unit/plugin/handler/test_add.rb
@@ -339,15 +394,14 @@ files:
339
394
  - test/unit/plugin/handler/test_search.rb
340
395
  - test/unit/plugin/handler/test_watch.rb
341
396
  - test/unit/run-test.rb
342
- - test/unit/test_adapter.rb
343
- - test/unit/test_catalog.rb
344
397
  - test/unit/test_command_mapper.rb
345
398
  - test/unit/test_groonga_command_converter.rb
346
- - test/unit/test_job_queue_schema.rb
399
+ - test/unit/test_message_pack_packer.rb
347
400
  - test/unit/test_output.rb
348
401
  - test/unit/test_plugin.rb
349
402
  - test/unit/test_plugin_repository.rb
350
403
  - test/unit/test_sweeper.rb
404
+ - test/unit/test_time_formatter.rb
351
405
  - test/unit/test_watch_schema.rb
352
406
  - test/unit/test_watcher.rb
353
407
  homepage: https://github.com/droonga/fluent-plugin-droonga
@@ -359,17 +413,17 @@ require_paths:
359
413
  - lib
360
414
  required_ruby_version: !ruby/object:Gem::Requirement
361
415
  requirements:
362
- - - ">="
416
+ - - '>='
363
417
  - !ruby/object:Gem::Version
364
418
  version: '0'
365
419
  required_rubygems_version: !ruby/object:Gem::Requirement
366
420
  requirements:
367
- - - ">="
421
+ - - '>='
368
422
  - !ruby/object:Gem::Version
369
423
  version: '0'
370
424
  requirements: []
371
425
  rubyforge_project:
372
- rubygems_version: 2.2.0
426
+ rubygems_version: 2.0.14
373
427
  signing_key:
374
428
  specification_version: 4
375
429
  summary: Droonga(distributed Groonga) plugin for Fluent event collector
@@ -377,9 +431,22 @@ test_files:
377
431
  - test/command/config/default/catalog.json
378
432
  - test/command/config/default/fluentd.conf
379
433
  - test/command/fixture/documents.jsons
434
+ - test/command/fixture/event.jsons
380
435
  - test/command/fixture/user-table-array.jsons
381
436
  - test/command/fixture/user-table.jsons
382
437
  - test/command/run-test.rb
438
+ - test/command/suite/add/error/invalid-integer.expected
439
+ - test/command/suite/add/error/invalid-integer.test
440
+ - test/command/suite/add/error/invalid-time.expected
441
+ - test/command/suite/add/error/invalid-time.test
442
+ - test/command/suite/add/error/missing-key.expected
443
+ - test/command/suite/add/error/missing-key.test
444
+ - test/command/suite/add/error/missing-table.expected
445
+ - test/command/suite/add/error/missing-table.test
446
+ - test/command/suite/add/error/unknown-column.expected
447
+ - test/command/suite/add/error/unknown-column.test
448
+ - test/command/suite/add/error/unknown-table.expected
449
+ - test/command/suite/add/error/unknown-table.test
383
450
  - test/command/suite/add/minimum.expected
384
451
  - test/command/suite/add/minimum.test
385
452
  - test/command/suite/add/with-values.expected
@@ -396,36 +463,67 @@ test_files:
396
463
  - test/command/suite/groonga/table_create/array.test
397
464
  - test/command/suite/groonga/table_create/hash.expected
398
465
  - test/command/suite/groonga/table_create/hash.test
399
- - test/command/suite/search/array-attribute-label.expected
400
- - test/command/suite/search/array-attribute-label.test
401
- - test/command/suite/search/chained-queries.expected
402
- - test/command/suite/search/chained-queries.test
466
+ - test/command/suite/message/error/missing-dataset.expected
467
+ - test/command/suite/message/error/missing-dataset.test
468
+ - test/command/suite/message/error/unknown-command.expected
469
+ - test/command/suite/message/error/unknown-command.test
470
+ - test/command/suite/message/error/unknown-dataset.expected
471
+ - test/command/suite/message/error/unknown-dataset.test
472
+ - test/command/suite/search/attributes/array.expected
473
+ - test/command/suite/search/attributes/array.test
474
+ - test/command/suite/search/attributes/hash.expected
475
+ - test/command/suite/search/attributes/hash.test
403
476
  - test/command/suite/search/complex.expected
404
477
  - test/command/suite/search/complex.test
405
- - test/command/suite/search/condition-nested.expected
406
- - test/command/suite/search/condition-nested.test
407
- - test/command/suite/search/condition-query.expected
408
- - test/command/suite/search/condition-query.test
409
- - test/command/suite/search/condition-script.expected
410
- - test/command/suite/search/condition-script.test
411
- - test/command/suite/search/hash-attribute-label.expected
412
- - test/command/suite/search/hash-attribute-label.test
413
- - test/command/suite/search/minimum.expected
414
- - test/command/suite/search/minimum.test
415
- - test/command/suite/search/multiple-queries.expected
416
- - test/command/suite/search/multiple-queries.test
417
- - test/command/suite/search/output-range.expected
418
- - test/command/suite/search/output-range.test
478
+ - test/command/suite/search/condition/nested.expected
479
+ - test/command/suite/search/condition/nested.test
480
+ - test/command/suite/search/condition/query.expected
481
+ - test/command/suite/search/condition/query.test
482
+ - test/command/suite/search/condition/script.expected
483
+ - test/command/suite/search/condition/script.test
484
+ - test/command/suite/search/error/cyclic-source.expected
485
+ - test/command/suite/search/error/cyclic-source.test
486
+ - test/command/suite/search/error/deeply-cyclic-source.expected
487
+ - test/command/suite/search/error/deeply-cyclic-source.test
488
+ - test/command/suite/search/error/missing-source-parameter.expected
489
+ - test/command/suite/search/error/missing-source-parameter.test
490
+ - test/command/suite/search/error/unknown-source.expected
491
+ - test/command/suite/search/error/unknown-source.test
492
+ - test/command/suite/search/group/count.expected
493
+ - test/command/suite/search/group/count.test
494
+ - test/command/suite/search/group/limit.expected
495
+ - test/command/suite/search/group/limit.test
496
+ - test/command/suite/search/group/string.expected
497
+ - test/command/suite/search/group/string.test
498
+ - test/command/suite/search/multiple/chained.expected
499
+ - test/command/suite/search/multiple/chained.test
500
+ - test/command/suite/search/multiple/parallel.expected
501
+ - test/command/suite/search/multiple/parallel.test
502
+ - test/command/suite/search/range/only-output.expected
503
+ - test/command/suite/search/range/only-output.test
504
+ - test/command/suite/search/range/only-sort.expected
505
+ - test/command/suite/search/range/only-sort.test
506
+ - test/command/suite/search/range/sort-and-output.expected
507
+ - test/command/suite/search/range/sort-and-output.test
508
+ - test/command/suite/search/range/too-large-output-offset.expected
509
+ - test/command/suite/search/range/too-large-output-offset.test
510
+ - test/command/suite/search/range/too-large-sort-offset.expected
511
+ - test/command/suite/search/range/too-large-sort-offset.test
512
+ - test/command/suite/search/response/records/value/time.expected
513
+ - test/command/suite/search/response/records/value/time.test
419
514
  - test/command/suite/search/simple.expected
420
515
  - test/command/suite/search/simple.test
421
- - test/command/suite/search/sort-and-output-range.expected
422
- - test/command/suite/search/sort-and-output-range.test
423
- - test/command/suite/search/sort-range.expected
424
- - test/command/suite/search/sort-range.test
425
- - test/command/suite/search/sort-with-invisible-column.expected
426
- - test/command/suite/search/sort-with-invisible-column.test
516
+ - test/command/suite/search/sort/default-offset-limit.expected
517
+ - test/command/suite/search/sort/default-offset-limit.test
518
+ - test/command/suite/search/sort/invisible-column.expected
519
+ - test/command/suite/search/sort/invisible-column.test
520
+ - test/command/suite/watch/subscribe.expected
521
+ - test/command/suite/watch/subscribe.test
522
+ - test/command/suite/watch/unsubscribe.expected
523
+ - test/command/suite/watch/unsubscribe.test
524
+ - test/unit/catalog/test_version1.rb
427
525
  - test/unit/fixtures/array.grn
428
- - test/unit/fixtures/catalog.json
526
+ - test/unit/fixtures/catalog/version1.json
429
527
  - test/unit/fixtures/document.grn
430
528
  - test/unit/fixtures/reference/array.grn
431
529
  - test/unit/fixtures/reference/hash.grn
@@ -438,6 +536,7 @@ test_files:
438
536
  - test/unit/plugin/adapter/groonga/test_select.rb
439
537
  - test/unit/plugin/collector/test_basic.rb
440
538
  - test/unit/plugin/distributor/test_search.rb
539
+ - test/unit/plugin/distributor/test_search_planner.rb
441
540
  - test/unit/plugin/handler/groonga/test_column_create.rb
442
541
  - test/unit/plugin/handler/groonga/test_table_create.rb
443
542
  - test/unit/plugin/handler/test_add.rb
@@ -445,15 +544,14 @@ test_files:
445
544
  - test/unit/plugin/handler/test_search.rb
446
545
  - test/unit/plugin/handler/test_watch.rb
447
546
  - test/unit/run-test.rb
448
- - test/unit/test_adapter.rb
449
- - test/unit/test_catalog.rb
450
547
  - test/unit/test_command_mapper.rb
451
548
  - test/unit/test_groonga_command_converter.rb
452
- - test/unit/test_job_queue_schema.rb
549
+ - test/unit/test_message_pack_packer.rb
453
550
  - test/unit/test_output.rb
454
551
  - test/unit/test_plugin.rb
455
552
  - test/unit/test_plugin_repository.rb
456
553
  - test/unit/test_sweeper.rb
554
+ - test/unit/test_time_formatter.rb
457
555
  - test/unit/test_watch_schema.rb
458
556
  - test/unit/test_watcher.rb
459
557
  has_rdoc: