fluent-plugin-webhdfs 1.1.0 → 1.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ebfc106d895f4cb137cf632a3680312d6e6ed84
4
- data.tar.gz: 84b238ea1329df8a871555c9aae43f0dc4659141
3
+ metadata.gz: 8da92c765c784f8e14759a04362206c34e30dc10
4
+ data.tar.gz: ae75ac7168ff93fd11000036d39fcdb0dd088186
5
5
  SHA512:
6
- metadata.gz: a4a83f5591129c2e8649bf39d5a8ea1368f2389729a4362efb14ebefb6afebc9f1a3e89f8d90c0c5cb59e6238f9c2b1cde0727023d2c6e16967dfe104b34235c
7
- data.tar.gz: de25df285af31e3aec52a2fcd0b04c55085a5a03dcdeaf0ba8862635e0b01f7a05b589f8364fa0842b44b9f7d48eaa90f017585e72313e86b58bbc52e5c384fe
6
+ metadata.gz: cd75219dc52eb63ded9f03673b4843ae55cc7bd4da179aa15d29639077287ee128fb1be24868f253218b43dd073412a2a7517272db3ad253a7f896fad470d754
7
+ data.tar.gz: e72169a9a84418fc776e43311eb842ed1bb6b58b83dcc9fab5b8a51cf75dcacd04fca4f9654706204bd8f62f96420e9fa20116febddd6e6168ced4fc5dce3a6f
data/README.md CHANGED
@@ -10,6 +10,13 @@
10
10
 
11
11
  Paths on HDFS can be generated from event timestamp, tag or any other fields in records.
12
12
 
13
+ ## Requirements
14
+
15
+ | fluent-plugin-webhdfs | fluentd | ruby |
16
+ |-----------------------|------------|--------|
17
+ | >= 1.0.0 | >= v0.14.4 | >= 2.1 |
18
+ | < 1.0.0 | < v0.14.0 | >= 1.9 |
19
+
13
20
  ### Older versions
14
21
 
15
22
  The versions of `0.x.x` of this plugin are for older version of Fluentd (v0.12.x). Old style configuration parameters (using `output_data_type`, `output_include_*` or others) are still supported, but are deprecated.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "fluent-plugin-webhdfs"
5
- gem.version = "1.1.0"
5
+ gem.version = "1.1.1"
6
6
  gem.authors = ["TAGOMORI Satoshi"]
7
7
  gem.email = ["tagomoris@gmail.com"]
8
8
  gem.summary = %q{Fluentd plugin to write data on HDFS over WebHDFS, with flexible formatting}
@@ -312,7 +312,7 @@ class Fluent::Plugin::WebHDFSOutput < Fluent::Plugin::Output
312
312
  hdfs_path = "#{hdfs_path}#{@compressor.ext}"
313
313
  if @replace_random_uuid
314
314
  uuid_random = SecureRandom.uuid
315
- hdfs_path.gsub!('%{uuid}', uuid_random).gsub!('%{uuid_flush}', uuid_random)
315
+ hdfs_path = hdfs_path.gsub('%{uuid}', uuid_random).gsub('%{uuid_flush}', uuid_random)
316
316
  end
317
317
  hdfs_path
318
318
  end
@@ -14,7 +14,7 @@ module Fluent::Plugin
14
14
  def compress(chunk, tmp)
15
15
  w = Zlib::GzipWriter.new(tmp)
16
16
  chunk.write_to(w)
17
- w.close
17
+ w.finish
18
18
  end
19
19
  end
20
20
  end
@@ -0,0 +1,57 @@
1
+ require "helper"
2
+ require "fluent/plugin/buf_memory"
3
+ begin
4
+ require "zlib"
5
+ rescue LoadError
6
+ end
7
+
8
+ class GzipCompressorTest < Test::Unit::TestCase
9
+ class Gzip < self
10
+
11
+ CONFIG = %[
12
+ host namenode.local
13
+ path /hdfs/path/file.%Y%m%d.log
14
+ ]
15
+
16
+ def setup
17
+ omit unless Object.const_defined?(:Zlib)
18
+ Fluent::Test.setup
19
+ @compressor = Fluent::Plugin::WebHDFSOutput::GzipCompressor.new
20
+ end
21
+
22
+ def create_driver(conf = CONFIG)
23
+ Fluent::Test::Driver::Output.new(Fluent::Plugin::WebHDFSOutput).configure(conf)
24
+ end
25
+
26
+ def test_ext
27
+ assert_equal(".gz", @compressor.ext)
28
+ end
29
+
30
+ def test_compress
31
+ d = create_driver
32
+ if d.instance.respond_to?(:buffer)
33
+ buffer = d.instance.buffer
34
+ else
35
+ buffer = d.instance.instance_variable_get(:@buffer)
36
+ end
37
+
38
+ if buffer.respond_to?(:generate_chunk)
39
+ chunk = buffer.generate_chunk("test")
40
+ chunk.concat("hello gzip\n" * 32 * 1024, 1)
41
+ else
42
+ chunk = buffer.new_chunk("test")
43
+ chunk << "hello gzip\n" * 32 * 1024
44
+ end
45
+
46
+ io = Tempfile.new("gzip-")
47
+ @compressor.compress(chunk, io)
48
+ assert !io.closed?
49
+ chunk_bytesize = chunk.respond_to?(:bytesize) ? chunk.bytesize : chunk.size
50
+ assert(chunk_bytesize > io.read.bytesize)
51
+ io.rewind
52
+ reader = Zlib::GzipReader.new(io)
53
+ assert_equal(chunk.read, reader.read)
54
+ io.close
55
+ end
56
+ end
57
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-webhdfs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - TAGOMORI Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-31 00:00:00.000000000 Z
11
+ date: 2017-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -145,6 +145,7 @@ files:
145
145
  - lib/fluent/plugin/webhdfs_compressor_text.rb
146
146
  - test/helper.rb
147
147
  - test/plugin/test_compressor.rb
148
+ - test/plugin/test_gzip_compressor.rb
148
149
  - test/plugin/test_out_webhdfs.rb
149
150
  homepage: https://github.com/fluent/fluent-plugin-webhdfs
150
151
  licenses:
@@ -166,11 +167,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
167
  version: '0'
167
168
  requirements: []
168
169
  rubyforge_project:
169
- rubygems_version: 2.6.8
170
+ rubygems_version: 2.6.11
170
171
  signing_key:
171
172
  specification_version: 4
172
173
  summary: Fluentd plugin to write data on HDFS over WebHDFS, with flexible formatting
173
174
  test_files:
174
175
  - test/helper.rb
175
176
  - test/plugin/test_compressor.rb
177
+ - test/plugin/test_gzip_compressor.rb
176
178
  - test/plugin/test_out_webhdfs.rb