fluent-plugin-kinesis-aggregation 0.3.0 → 0.3.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: 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.