diff --git a/lib/fluent/plugin/buffer/file_chunk.rb b/lib/fluent/plugin/buffer/file_chunk.rb index 06bbf017c2..7930574a58 100644 --- a/lib/fluent/plugin/buffer/file_chunk.rb +++ b/lib/fluent/plugin/buffer/file_chunk.rb @@ -399,7 +399,7 @@ def restore_metadata_with_new_format(chunk) end if chunk.slice(0, 2) == BUFFER_HEADER - size = chunk.slice(2, 4).unpack('N').first + size = chunk.slice(2, 4).unpack1('N') if size return Fluent::MessagePackFactory.msgpack_unpacker(symbolize_keys: true).feed(chunk.slice(6, size)).read rescue nil end diff --git a/lib/fluent/plugin/buffer/file_single_chunk.rb b/lib/fluent/plugin/buffer/file_single_chunk.rb index 7225438af6..4cc9d6c625 100644 --- a/lib/fluent/plugin/buffer/file_single_chunk.rb +++ b/lib/fluent/plugin/buffer/file_single_chunk.rb @@ -238,17 +238,16 @@ def file_rename(file, old_path, new_path, callback = nil) callback.call(file) if callback end - URI_PARSER = URI::Parser.new ESCAPE_REGEXP = /[^-_.a-zA-Z0-9]/n def encode_key(metadata) k = @key ? metadata.variables[@key] : metadata.tag k ||= '' - URI_PARSER.escape(k, ESCAPE_REGEXP) + URI::DEFAULT_PARSER.escape(k, ESCAPE_REGEXP) end def decode_key(key) - URI_PARSER.unescape(key) + URI::DEFAULT_PARSER.unescape(key) end def create_new_chunk(path, metadata, perm) diff --git a/lib/fluent/registry.rb b/lib/fluent/registry.rb index 9e473c27fd..b321f6f748 100644 --- a/lib/fluent/registry.rb +++ b/lib/fluent/registry.rb @@ -60,13 +60,13 @@ def search(type) # search from additional plugin directories if @dir_search_prefix path = "#{@dir_search_prefix}#{type}" - files = @paths.map { |lp| + files = @paths.filter_map { |lp| lpath = File.expand_path(File.join(lp, "#{path}.rb")) File.exist?(lpath) ? lpath : nil - }.compact + } unless files.empty? # prefer newer version - require files.sort.last + require files.max return end end @@ -74,17 +74,17 @@ def search(type) path = "#{@search_prefix}#{type}" # prefer LOAD_PATH than gems - files = $LOAD_PATH.map { |lp| + files = $LOAD_PATH.filter_map { |lp| if lp == FLUENT_LIB_PATH nil else lpath = File.expand_path(File.join(lp, "#{path}.rb")) File.exist?(lpath) ? lpath : nil end - }.compact + } unless files.empty? # prefer newer version - require files.sort.last + require files.max return end diff --git a/lib/fluent/unique_id.rb b/lib/fluent/unique_id.rb index 060c2e2290..7dce181418 100644 --- a/lib/fluent/unique_id.rb +++ b/lib/fluent/unique_id.rb @@ -23,7 +23,7 @@ def self.generate end def self.hex(unique_id) - unique_id.unpack('H*').first + unique_id.unpack1('H*') end module Mixin