google-cloud-pubsub 2.2.0 → 2.3.0

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
  SHA256:
3
- metadata.gz: e9e9ee1f9fce40c034c43b3cf0e11b8e52dc5ebdc1c43f6077cfff620b812dd8
4
- data.tar.gz: 6d29efc615b2bb5185a013c9dbb72811f130acdcee452343f53c7c6c1881ce3b
3
+ metadata.gz: 355d1480255766f32036dedb71834ec3cf28f8e0966bb95b9017e056633954fa
4
+ data.tar.gz: c3a3583e51f3a3b066c168650677ad9c7efe598a39ea987fa8d5559f9c7d26d5
5
5
  SHA512:
6
- metadata.gz: '0649f14787b5d7c59e6aa7cfcf7df321b63ac5faeda81c756c793cecf57a8ba31f9691c05816d7088cf40d8c1a80c36134a58b4658d381cfa05cb745687fcf1d'
7
- data.tar.gz: a5a82376726956e5dee8dff1e17e64ddf54a2c8100830d15b1c3a17accd9fdc364b8d42051c29a86524a221c7cb14bbf300e3c0ce1f09fde678c2e8cf03fc1b8
6
+ metadata.gz: 0ece0f850c4b9e019104e6224c6918c888e999b70860fffd0cb7e57b4a3dd9678a4d2ba9497217aa779e69421cb50706287517c7a5ed294204cbafe954677b5d
7
+ data.tar.gz: df5687af6d2805c0e48ac4bc13536af942efd6022c55a6027cd39824d750929c9746732d03c59dd59001d9954af631b3813c6d9e3a07c2f49f46ab4042dbaa14
@@ -1,5 +1,17 @@
1
1
  # Release History
2
2
 
3
+ ### 2.3.0 / 2020-11-18
4
+
5
+ #### Features
6
+
7
+ * Add inventory.use_legacy_flow_control to listen options
8
+ * Add inventory.use_legacy_flow_control to Subscription#listen options
9
+ * Add Subscriber#use_legacy_flow_control?
10
+
11
+ #### Documentation
12
+
13
+ * Remove EXPERIMENTAL label from RetryPolicy docs
14
+
3
15
  ### 2.2.0 / 2020-11-11
4
16
 
5
17
  #### Features
@@ -31,9 +31,6 @@ module Google
31
31
  # Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not
32
32
  # match the configuration. That is, delay can be more or less than configured backoff.
33
33
  #
34
- # **EXPERIMENTAL:** This API might be changed in backward-incompatible ways and is not recommended for production
35
- # use. It is not subject to any SLA or deprecation policy.
36
- #
37
34
  # @attr [Numeric] minimum_backoff The minimum delay between consecutive deliveries of a given message. Value
38
35
  # should be between 0 and 600 seconds. The default value is 10 seconds.
39
36
  # @attr [Numeric] maximum_backoff The maximum delay between consecutive deliveries of a given message. Value
@@ -306,6 +306,17 @@ module Google
306
306
  # @deprecated Use {#max_outstanding_bytes}.
307
307
  alias inventory_bytesize max_outstanding_bytes
308
308
 
309
+ ##
310
+ # Whether to enforce flow control at the client side only or to enforce it at both the client and
311
+ # the server. For more details about flow control see https://cloud.google.com/pubsub/docs/pull#config.
312
+ #
313
+ # @return [Boolean] `true` when only client side flow control is enforced, `false` when both client and
314
+ # server side flow control are enforced.
315
+ #
316
+ def use_legacy_flow_control?
317
+ @inventory[:use_legacy_flow_control]
318
+ end
319
+
309
320
  ##
310
321
  # The number of seconds that received messages can be held awaiting processing. Default is 3,600 (1 hour).
311
322
  #
@@ -334,7 +345,8 @@ module Google
334
345
  limit: @inventory[:max_outstanding_messages].fdiv(@streams).ceil,
335
346
  bytesize: @inventory[:max_outstanding_bytes].fdiv(@streams).ceil,
336
347
  extension: @inventory[:max_total_lease_duration],
337
- max_duration_per_lease_extension: @inventory[:max_duration_per_lease_extension]
348
+ max_duration_per_lease_extension: @inventory[:max_duration_per_lease_extension],
349
+ use_legacy_flow_control: @inventory[:use_legacy_flow_control]
338
350
  }
339
351
  end
340
352
 
@@ -377,6 +389,7 @@ module Google
377
389
  @inventory[:max_outstanding_bytes] = Integer(@inventory[:max_outstanding_bytes] || 100_000_000)
378
390
  @inventory[:max_total_lease_duration] = Integer(@inventory[:max_total_lease_duration] || 3600)
379
391
  @inventory[:max_duration_per_lease_extension] = Integer(@inventory[:max_duration_per_lease_extension] || 0)
392
+ @inventory[:use_legacy_flow_control] = @inventory[:use_legacy_flow_control] || false
380
393
  end
381
394
 
382
395
  def default_error_callbacks
@@ -30,15 +30,18 @@ module Google
30
30
 
31
31
  include MonitorMixin
32
32
 
33
- attr_reader :stream, :limit, :bytesize, :extension, :max_duration_per_lease_extension
33
+ attr_reader :stream, :limit, :bytesize, :extension, :max_duration_per_lease_extension,
34
+ :use_legacy_flow_control
34
35
 
35
- def initialize stream, limit:, bytesize:, extension:, max_duration_per_lease_extension:
36
+ def initialize stream, limit:, bytesize:, extension:, max_duration_per_lease_extension:,
37
+ use_legacy_flow_control:
36
38
  super()
37
39
  @stream = stream
38
40
  @limit = limit
39
41
  @bytesize = bytesize
40
42
  @extension = extension
41
43
  @max_duration_per_lease_extension = max_duration_per_lease_extension
44
+ @use_legacy_flow_control = use_legacy_flow_control
42
45
  @inventory = {}
43
46
  @wait_cond = new_cond
44
47
  end
@@ -363,8 +363,8 @@ module Google
363
363
  req.modify_deadline_ack_ids += @inventory.ack_ids
364
364
  req.modify_deadline_seconds += @inventory.ack_ids.map { @subscriber.deadline }
365
365
  req.client_id = @subscriber.service.client_id
366
- req.max_outstanding_messages = @inventory.limit
367
- req.max_outstanding_bytes = @inventory.bytesize
366
+ req.max_outstanding_messages = @inventory.use_legacy_flow_control ? 0 : @inventory.limit
367
+ req.max_outstanding_bytes = @inventory.use_legacy_flow_control ? 0 : @inventory.bytesize
368
368
  end
369
369
  end
370
370
 
@@ -547,9 +547,6 @@ module Google
547
547
  # for healthy subscribers. Retry Policy will be triggered on NACKs or acknowledgement deadline exceeded events
548
548
  # for a given message.
549
549
  #
550
- # **EXPERIMENTAL:** This API might be changed in backward-incompatible ways and is not recommended for
551
- # production use. It is not subject to any SLA or deprecation policy.
552
- #
553
550
  # @return [RetryPolicy, nil] The retry policy for the subscription, or `nil`.
554
551
  #
555
552
  # @example
@@ -576,9 +573,6 @@ module Google
576
573
  # for healthy subscribers. Retry Policy will be triggered on NACKs or acknowledgement deadline exceeded events
577
574
  # for a given message.
578
575
  #
579
- # **EXPERIMENTAL:** This API might be changed in backward-incompatible ways and is not recommended for
580
- # production use. It is not subject to any SLA or deprecation policy.
581
- #
582
576
  # @param [RetryPolicy, nil] new_retry_policy A new retry policy for the subscription, or `nil`.
583
577
  #
584
578
  # @example
@@ -870,6 +864,9 @@ module Google
870
864
  # Default is 1,000. (Note: replaces `:limit`, which is deprecated.)
871
865
  # * `:max_outstanding_bytes` [Integer] The total byte size of received messages to be collected by
872
866
  # subscriber. Default is 100,000,000 (100MB). (Note: replaces `:bytesize`, which is deprecated.)
867
+ # * `:use_legacy_flow_control` [Boolean] Disables enforcing flow control settings at the Cloud PubSub
868
+ # server and the less accurate method of only enforcing flow control at the client side is used instead.
869
+ # Default is false.
873
870
  # * `:max_total_lease_duration` [Integer] The number of seconds that received messages can be held awaiting
874
871
  # processing. Default is 3,600 (1 hour). (Note: replaces `:extension`, which is deprecated.)
875
872
  # * `:max_duration_per_lease_extension` [Integer] The maximum amount of time in seconds for a single lease
@@ -309,9 +309,6 @@ module Google
309
309
  # will be retried as soon as possible for healthy subscribers. Retry Policy will be triggered on NACKs or
310
310
  # acknowledgement deadline exceeded events for a given message.
311
311
  #
312
- # **EXPERIMENTAL:** This API might be changed in backward-incompatible ways and is not recommended for
313
- # production use. It is not subject to any SLA or deprecation policy.
314
- #
315
312
  # @return [Google::Cloud::PubSub::Subscription]
316
313
  #
317
314
  # @example
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module PubSub
19
- VERSION = "2.2.0".freeze
19
+ VERSION = "2.3.0".freeze
20
20
  end
21
21
 
22
22
  Pubsub = PubSub unless const_defined? :Pubsub
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-pubsub
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-11-11 00:00:00.000000000 Z
12
+ date: 2020-11-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: concurrent-ruby