logstash-output-s3 4.1.7 → 4.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d0273662b68bd9801f7320aa01736ad40539ca29a4d5f895a6245f4cf7b9542
4
- data.tar.gz: 676f7a10a587bc64fe4e2229f3ab79e60f807636ce9bcf2c80ecb2b91ff97ded
3
+ metadata.gz: a4cf264de35b436280daac5ccab48529f9f3e8037a37c40f634e479c49dd0b3e
4
+ data.tar.gz: 6c5fe67b82ea4dc36a471ad06199fb241a171bb4142ef754da2436211d99d4b6
5
5
  SHA512:
6
- metadata.gz: 010f9bd2d079f32077df912cfc0d333208d8a2f76ba4ee0ac341c0f3b84c94aabe3faa9ca76eca3f9998a50e1c772fbfead9ce9b453caa511901817ca89332e0
7
- data.tar.gz: 8cd6b94465ba40e5b771ffaf33abf052fcac3da1ba82614e73cd8fb74292c07b53497b2b607d849fbbf7590225f36f43972e5ad98c9a8d93217c0480d7bc7db2
6
+ metadata.gz: f1afe8b78490ae972d08216adf887447ada0fef5adb3c67badb8243b84b907d35da6bebc0dbd354dae10f3adb0f1840a996192eac43482725a58eb70fa55eb0e
7
+ data.tar.gz: 611ef2103780b7ef705dace7e1bd95e5c931c4f4276cf3db22c648acf555667f5eb88c43856014d6e7a093f9ea22c50731955ade23a779d85a0d9088085e9e33
@@ -1,3 +1,6 @@
1
+ ## 4.1.8
2
+ - Add support for setting mutipart upload threshold [#202](https://github.com/logstash-plugins/logstash-output-s3/pull/202)
3
+
1
4
  ## 4.1.7
2
5
  - Fixed issue where on restart, 0 byte files could erroneously be uploaded to s3 [#195](https://github.com/logstash-plugins/logstash-output-s3/issues/195)
3
6
 
@@ -101,6 +101,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
101
101
  | <<plugins-{type}s-{plugin}-storage_class>> |<<string,string>>, one of `["STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA"]`|No
102
102
  | <<plugins-{type}s-{plugin}-temporary_directory>> |<<string,string>>|No
103
103
  | <<plugins-{type}s-{plugin}-time_file>> |<<number,number>>|No
104
+ | <<plugins-{type}s-{plugin}-upload_multipart_threshold>> |<<number,number>>|No
104
105
  | <<plugins-{type}s-{plugin}-upload_queue_size>> |<<number,number>>|No
105
106
  | <<plugins-{type}s-{plugin}-upload_workers_count>> |<<number,number>>|No
106
107
  | <<plugins-{type}s-{plugin}-validate_credentials_on_root_bucket>> |<<boolean,boolean>>|No
@@ -352,6 +353,14 @@ If you define file_size you have a number of files in consideration of the secti
352
353
  0 stay all time on listerner, beware if you specific 0 and size_file 0, because you will not put the file on bucket,
353
354
  for now the only thing this plugin can do is to put the file when logstash restart.
354
355
 
356
+ [id="plugins-{type}s-{plugin}-upload_multipart_threshold"]
357
+ ===== `upload_multipart_threshold`
358
+
359
+ * Value type is <<number,number>>
360
+ * Default value is `15728640`
361
+
362
+ Files larger than this number are uploaded using the S3 multipart APIs
363
+
355
364
  [id="plugins-{type}s-{plugin}-upload_queue_size"]
356
365
  ===== `upload_queue_size`
357
366
 
@@ -160,6 +160,9 @@ class LogStash::Outputs::S3 < LogStash::Outputs::Base
160
160
  # Number of items we can keep in the local queue before uploading them
161
161
  config :upload_queue_size, :validate => :number, :default => 2 * (Concurrent.processor_count * 0.25).ceil
162
162
 
163
+ # Files larger than this number are uploaded using the S3 multipart APIs. Default threshold is 15MB.
164
+ config :upload_multipart_threshold, :validate => :number, :default => 15 * 1024 * 1024
165
+
163
166
  # The version of the S3 signature hash to use. Normally uses the internal client default, can be explicitly
164
167
  # specified here
165
168
  config :signature_version, :validate => ['v2', 'v4']
@@ -296,7 +299,8 @@ class LogStash::Outputs::S3 < LogStash::Outputs::Base
296
299
  :server_side_encryption => @server_side_encryption ? @server_side_encryption_algorithm : nil,
297
300
  :ssekms_key_id => @server_side_encryption_algorithm == "aws:kms" ? @ssekms_key_id : nil,
298
301
  :storage_class => @storage_class,
299
- :content_encoding => @encoding == "gzip" ? "gzip" : nil
302
+ :content_encoding => @encoding == "gzip" ? "gzip" : nil,
303
+ :multipart_threshold => @upload_multipart_threshold
300
304
  }
301
305
  end
302
306
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-s3'
3
- s.version = '4.1.7'
3
+ s.version = '4.1.8'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = "Sends Logstash events to the Amazon Simple Storage Service"
6
6
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -60,6 +60,23 @@ describe LogStash::Outputs::S3 do
60
60
  end
61
61
  end
62
62
 
63
+ describe "Multipart upload threshold" do
64
+ context "when configured" do
65
+ it "should use the configured threshold" do
66
+ threshold = 1 * 1024 * 1024
67
+ s3 = described_class.new(options.merge({ "upload_multipart_threshold" => threshold }))
68
+ expect(s3.upload_options).to include(:multipart_threshold => threshold)
69
+ end
70
+ end
71
+
72
+ context "when not configured" do
73
+ it "should use 15MB as the default" do
74
+ s3 = described_class.new(options)
75
+ expect(s3.upload_options).to include(:multipart_threshold => 15 * 1024 * 1024)
76
+ end
77
+ end
78
+ end
79
+
63
80
  describe "Service Side Encryption" do
64
81
 
65
82
  context "when configured" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.7
4
+ version: 4.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-25 00:00:00.000000000 Z
11
+ date: 2019-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement