fluent-plugin-kinesis-aggregation 0.3.0 → 0.3.1

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
  SHA1:
3
- metadata.gz: b75bac816dfcbedd2d634402e10f2e4c00bb9b0c
4
- data.tar.gz: d4b59d91022744f5e9a4dcfe7d8f0e4d6ee89878
3
+ metadata.gz: 2fdb6fdb865ab11d3b344f3560e974b29db2a705
4
+ data.tar.gz: 7838a02ab5534233c27de0e3b2aac5f7434c6ce1
5
5
  SHA512:
6
- metadata.gz: 0d06cdd97c38fdfa5a6f6ae66547718a4fd7d5d93453a9d2f3c7d749fd0fc93e6ab2d148c791815ab3e289bce4f8f1c00a4f944af938b4149a9fe6653b44685b
7
- data.tar.gz: 8bb20bed570042d2619ec72a808b3a046d50b6a14065618b88294d55ed94d951fd5540646f6ac2321c483cd68ab19dd389e9cc701ec8b0732bd37985d7e358d5
6
+ metadata.gz: 4f58339950f8502bd0bb4467228dea4d4c734d6f81495187d4f8d5167c5085749464ffda164a3fbd34015d5885ee0346c6979162c62c6be36b9aa7934189cece
7
+ data.tar.gz: da93990656c28ccde4159cefdf9883af0a2917f5e722ad05673573c85756b7202dd1a3179fb377b8a554766fcd47a44e46b82f305f12aaa0f8d337018d462a53
@@ -1,5 +1,11 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.3.1
4
+
5
+ - Change aws-sdk usage to work with both v2 and v3
6
+ (in particular, makes it possible to use latest td-agent which includes the s3 plugin
7
+ and pulls in aws-sdk v3)
8
+
3
9
  ## 0.3.0
4
10
 
5
11
  - Update to use fluentd 0.14 API (stick to 0.2.3 if you need support for earlier versions of fluentd)
data/README.md CHANGED
@@ -8,14 +8,26 @@ This is a rewrite of [aws-fluent-plugin-kinesis](https://github.com/awslabs/aws-
8
8
  a different shipment method using the
9
9
  [KPL aggregation format](https://github.com/awslabs/amazon-kinesis-producer/blob/master/aggregation-format.md).
10
10
 
11
+ *Since this plugin was forked, aws-fluent-plugin-kinesis has undergone considerable development (and improvement).
12
+ Most notably, the upcoming 2.0 release supports KPL aggregated records using google-protobuf without
13
+ the overhead of using the KPL:
14
+ https://github.com/awslabs/aws-fluent-plugin-kinesis/issues/107*
15
+
16
+ *However, it still uses msgpack for internal buffering and only uses protobuf when it ships the records,
17
+ whereas this plugin processes each record as it comes in and ships the result by simple concatenation
18
+ of the encoded records. This may not be faster, of course - could depend on the overhead of calling
19
+ the protobuf methods - but most probably is. The discussion below is also still mostly valid,
20
+ in that the awslabs plugin does not have PutRecord == chunk equivalency, but instead has its
21
+ own internal retry method.*
22
+
11
23
  The basic idea is to have one PutRecord === one chunk. This has a number of advantages:
12
24
 
13
25
  - much less complexity in plugin (less CPU/memory)
14
26
  - by aggregating, we increase the throughput and decrease the cost
15
27
  - since a single chunk either succeeds or fails,
16
28
  we get to use fluentd's more complex/complete retry mechanism
17
- (which is also exposed in the monitor). The existing retry mechanism
18
- has [unfortunate issues under heavy load](https://github.com/awslabs/aws-fluent-plugin-kinesis/issues/42)
29
+ (which is also exposed by the monitor plugin; we view this in datadog). The existing retry mechanism
30
+ had [unfortunate issues under heavy load](https://github.com/awslabs/aws-fluent-plugin-kinesis/issues/42)
19
31
  - we get ordering within a chunk without having to rely on sequence
20
32
  numbers (though not overall ordering)
21
33
 
@@ -63,7 +75,7 @@ specify the library path via RUBYLIB:
63
75
  ## Dependencies
64
76
 
65
77
  * Ruby 2.1+
66
- * Fluentd 0.10.43+
78
+ * Fluentd 0.14.15+ (if you need 0.10 or 0.12 support, use the fluentd-v0.12 branch or version 0.2.x on rubygems)
67
79
 
68
80
  ## Basic Usage
69
81
 
@@ -17,7 +17,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
17
17
 
18
18
  Gem::Specification.new do |spec|
19
19
  spec.name = "fluent-plugin-kinesis-aggregation"
20
- spec.version = '0.3.0'
20
+ spec.version = '0.3.1'
21
21
  spec.author = 'Atlassian'
22
22
  spec.email = 'jhaggerty@atlassian.com'
23
23
  spec.summary = %q{Fluentd output plugin that sends KPL style aggregated events to Amazon Kinesis.}
@@ -35,7 +35,6 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "test-unit-rr", "~> 1.0"
36
36
 
37
37
  spec.add_dependency "fluentd", [">= 0.14.15", "< 2"]
38
- spec.add_dependency "aws-sdk-core", ">= 2.0.12", "< 3.0"
39
- spec.add_dependency "msgpack", "~> 1.0"
38
+ spec.add_dependency "aws-sdk", ">= 2.0.12", "< 4.0"
40
39
  spec.add_dependency "google-protobuf", "~> 3.0"
41
40
  end
@@ -11,7 +11,7 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws-sdk-core'
14
+ require 'aws-sdk'
15
15
  require 'yajl'
16
16
  require 'logger'
17
17
  require 'securerandom'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kinesis-aggregation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Atlassian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-07 00:00:00.000000000 Z
11
+ date: 2018-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -73,7 +73,7 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '2'
75
75
  - !ruby/object:Gem::Dependency
76
- name: aws-sdk-core
76
+ name: aws-sdk
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  version: 2.0.12
82
82
  - - "<"
83
83
  - !ruby/object:Gem::Version
84
- version: '3.0'
84
+ version: '4.0'
85
85
  type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
@@ -91,21 +91,7 @@ dependencies:
91
91
  version: 2.0.12
92
92
  - - "<"
93
93
  - !ruby/object:Gem::Version
94
- version: '3.0'
95
- - !ruby/object:Gem::Dependency
96
- name: msgpack
97
- requirement: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - "~>"
100
- - !ruby/object:Gem::Version
101
- version: '1.0'
102
- type: :runtime
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - "~>"
107
- - !ruby/object:Gem::Version
108
- version: '1.0'
94
+ version: '4.0'
109
95
  - !ruby/object:Gem::Dependency
110
96
  name: google-protobuf
111
97
  requirement: !ruby/object:Gem::Requirement
@@ -160,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
146
  version: '0'
161
147
  requirements: []
162
148
  rubyforge_project:
163
- rubygems_version: 2.5.2
149
+ rubygems_version: 2.5.2.2
164
150
  signing_key:
165
151
  specification_version: 4
166
152
  summary: Fluentd output plugin that sends KPL style aggregated events to Amazon Kinesis.