google-cloud-pubsub 3.4.0 → 3.4.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
  SHA256:
3
- metadata.gz: 2706c0520b9cd5aba014d233fddf25b3c5265cc35a30b65719ed91647a271bef
4
- data.tar.gz: d6f9a3e8c9b74a08bd344582ce7c7e9b5a4bc03cebe0243ffb09ac17cdcc0afd
3
+ metadata.gz: ae1f8eddfa934835b8fc01e2a85606f9c93f7b353ca5b8d3ba328af3fc5e3cdc
4
+ data.tar.gz: 70d186ba6e4b8e8114ca6f2184d726acff47311f05906a51662227457c3ef6a1
5
5
  SHA512:
6
- metadata.gz: 426ac33d83d07732c22854216b673def03cf2b5813718a5e57428546f0e5499178d6848e75473da2e71169b79d76246879663d94f1ce8415758737efe6f5817a
7
- data.tar.gz: b5def0275205fa9bd13ea1f463ce50992903ba2c423817f22401675ecfc1eb55e1ef57f9e97178d83659ee40fdc1e87a21075aa4180dfed177526e487d043327
6
+ metadata.gz: 0d199c7bda57c229e349ceeb21d38311c6388047ba728caaf8967e7cec0076a17af6dd55b1e0cbaad88a8a81ffdeed4814c367c617a25a643986b4a929a12cfe
7
+ data.tar.gz: cbfc81b692b367245d4d9b94282833805ee706588d61d2277bbfcfb4fff74e8b17c4aeae246f50e7d0f26f3f07b1862be088c42e92baf8b25ec7a47eb9302b73
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Release History
2
2
 
3
+ ### 3.4.1 (2026-08-24)
4
+
5
+ #### Bug Fixes
6
+
7
+ * Propagate logger to v1 admin and schema clients ([#32440](https://github.com/googleapis/google-cloud-ruby/issues/32440)) ([#36298](https://github.com/googleapis/google-cloud-ruby/issues/36298))
8
+
3
9
  ### 3.4.0 (2026-07-29)
4
10
 
5
11
  #### Features
@@ -379,7 +379,7 @@ module Google
379
379
  grpc = @service.publish topic_name,
380
380
  items.map(&:msg),
381
381
  compress: compress && batch.total_message_bytes >= compression_bytes_threshold
382
- service.logger.log_batch "publish-batch", reason, "publish", items.count, items.sum(&:bytesize)
382
+ service.internal_logger.log_batch "publish-batch", reason, "publish", items.count, items.sum(&:bytesize)
383
383
  items.zip Array(grpc.message_ids) do |item, id|
384
384
  @flow_controller.release item.bytesize
385
385
  next unless item.callback
@@ -122,7 +122,7 @@ module Google
122
122
  grpc = service.publish topic_name,
123
123
  messages,
124
124
  compress: compress && total_message_bytes >= compression_bytes_threshold
125
- service.logger.log_batch "publish-batch", reason, "publish", messages.count, @total_message_bytes
125
+ service.internal_logger.log_batch "publish-batch", reason, "publish", messages.count, @total_message_bytes
126
126
  to_gcloud_messages Array(grpc.message_ids)
127
127
  end
128
128
  end
@@ -31,7 +31,7 @@ module Google
31
31
  def log level, subtag, &message_block
32
32
  return unless VALID_LOG_LEVELS.include?(level) && block_given?
33
33
  # Only log if the logger is explicitly tagged for 'pubsub'.
34
- return unless @logger && @logger.progname == LOG_NAME
34
+ return unless @logger.respond_to?(:progname) && @logger.progname == LOG_NAME
35
35
 
36
36
  @logger.public_send(level, "#{LOG_NAME}:#{subtag}", &message_block)
37
37
  end
@@ -86,7 +86,7 @@ module Google
86
86
  extension_time = Time.new - extension
87
87
  expired, keep = @inventory.partition { |_ack_id, item| item.pulled_at < extension_time }
88
88
  @inventory = keep.to_h
89
- stream.subscriber.service.logger.log_expiry expired
89
+ stream.subscriber.service.internal_logger.log_expiry expired
90
90
  @wait_cond.broadcast
91
91
  end
92
92
  end
@@ -115,7 +115,7 @@ module Google
115
115
  synchronize do
116
116
  break if @stopped
117
117
 
118
- subscriber.service.logger.log :info, "subscriber-streams" do
118
+ subscriber.service.internal_logger.log :info, "subscriber-streams" do
119
119
  "stopping stream for subscription #{@subscriber.subscription_name}"
120
120
  end
121
121
  # Close the stream by pushing the sentinel value.
@@ -185,13 +185,13 @@ module Google
185
185
  end
186
186
 
187
187
  def log_info msg
188
- subscriber.service.logger.log :info, "subscriber-streams" do
188
+ subscriber.service.internal_logger.log :info, "subscriber-streams" do
189
189
  msg
190
190
  end
191
191
  end
192
192
 
193
193
  def log_error msg
194
- subscriber.service.logger.log :error, "subscriber-streams" do
194
+ subscriber.service.internal_logger.log :error, "subscriber-streams" do
195
195
  msg
196
196
  end
197
197
  end
@@ -289,7 +289,7 @@ module Google
289
289
  synchronize do
290
290
  # Don't allow a stream to restart if already stopped
291
291
  if @stopped
292
- subscriber.service.logger.log :debug, "subscriber-streams" do
292
+ subscriber.service.internal_logger.log :debug, "subscriber-streams" do
293
293
  "not filling stream for subscription #{@subscriber.subscription_name} because stream is already" \
294
294
  " stopped"
295
295
  end
@@ -319,7 +319,7 @@ module Google
319
319
  @stream_open = false
320
320
  end
321
321
  enum = @subscriber.service.streaming_pull @request_queue.each, options
322
- subscriber.service.logger.log :info, "subscriber-streams" do
322
+ subscriber.service.internal_logger.log :info, "subscriber-streams" do
323
323
  "rpc: streamingPull, subscription: #{@subscriber.subscription_name}, stream opened"
324
324
  end
325
325
 
@@ -396,7 +396,7 @@ module Google
396
396
  GRPC::ResourceExhausted, GRPC::Unauthenticated,
397
397
  GRPC::Unavailable => e
398
398
  status_code = e.respond_to?(:code) ? e.code : e.class.name
399
- subscriber.service.logger.log :error, "subscriber-streams" do
399
+ subscriber.service.internal_logger.log :error, "subscriber-streams" do
400
400
  "Subscriber stream for subscription #{@subscriber.subscription_name} has ended with status " \
401
401
  "#{status_code}; will be retried."
402
402
  end
@@ -404,13 +404,13 @@ module Google
404
404
  backoff_and_wait!
405
405
  retry
406
406
  rescue RestartStream
407
- subscriber.service.logger.log :info, "subscriber-streams" do
407
+ subscriber.service.internal_logger.log :info, "subscriber-streams" do
408
408
  "Subscriber stream for subscription #{@subscriber.subscription_name} has ended; will be retried."
409
409
  end
410
410
  backoff_and_wait!
411
411
  retry
412
412
  rescue StandardError => e
413
- subscriber.service.logger.log :error, "subscriber-streams" do
413
+ subscriber.service.internal_logger.log :error, "subscriber-streams" do
414
414
  "error on stream for subscription #{@subscriber.subscription_name}: #{e.inspect}"
415
415
  end
416
416
  @subscriber.error! e
@@ -463,12 +463,12 @@ module Google
463
463
  end
464
464
 
465
465
  def perform_callback_sync rec_msg
466
- subscriber.service.logger.log :info, "callback-delivery" do
466
+ subscriber.service.internal_logger.log :info, "callback-delivery" do
467
467
  "message (ID #{rec_msg.message_id}, ackID #{rec_msg.ack_id}) delivery to user callbacks"
468
468
  end
469
469
  @subscriber.callback.call rec_msg unless stopped?
470
470
  rescue StandardError => e
471
- subscriber.service.logger.log :info, "callback-exceptions" do
471
+ subscriber.service.internal_logger.log :info, "callback-exceptions" do
472
472
  "message (ID #{rec_msg.message_id}, ackID #{rec_msg.ack_id}) caused a user callback exception: " \
473
473
  "#{e.inspect}"
474
474
  end
@@ -498,7 +498,7 @@ module Google
498
498
  return unless pause_streaming?
499
499
 
500
500
  @paused = true
501
- subscriber.service.logger.log :info, "subscriber-flow-control" do
501
+ subscriber.service.internal_logger.log :info, "subscriber-flow-control" do
502
502
  "subscriber for #{@subscriber.subscription_name} is client-side flow control blocked"
503
503
  end
504
504
  end
@@ -519,7 +519,7 @@ module Google
519
519
  # leaving last_pong_at stale. Updating timestamp guarantees the monitor thread will not trigger an immediate
520
520
  # false-positive restart while the reader thread wakes up to drain buffered frames.
521
521
  @keepalive_monitor.record_pong!
522
- subscriber.service.logger.log :info, "subscriber-flow-control" do
522
+ subscriber.service.internal_logger.log :info, "subscriber-flow-control" do
523
523
  "subscriber for #{@subscriber.subscription_name} is unblocking client-side flow control"
524
524
  end
525
525
  # Signal to the background thread that we are unpaused
@@ -320,7 +320,9 @@ module Google
320
320
  reason
321
321
  end
322
322
  requests[:acknowledge].each do |req|
323
- @subscriber.service.logger.log_batch "ack-batch", new_reason, "ack", req.ack_ids.length, req.to_proto.bytesize
323
+ @subscriber.service.internal_logger.log_batch(
324
+ "ack-batch", new_reason, "ack", req.ack_ids.length, req.to_proto.bytesize
325
+ )
324
326
  end
325
327
  end
326
328
  requests[:modify_ack_deadline] =
@@ -329,7 +331,9 @@ module Google
329
331
  type = mod_deadline.zero? ? "nack" : "modack"
330
332
  new_reason = mod_ack_reqs.length > 1 ? "#{reason} and partitioned for exceeding max bytes" : reason
331
333
  mod_ack_reqs.each do |req|
332
- @subscriber.service.logger.log_batch "ack-batch", new_reason, type, req.ack_ids.length, req.to_proto.bytesize
334
+ @subscriber.service.internal_logger.log_batch(
335
+ "ack-batch", new_reason, type, req.ack_ids.length, req.to_proto.bytesize
336
+ )
333
337
  end
334
338
  mod_ack_reqs
335
339
  end.flatten
@@ -43,7 +43,7 @@ module Google
43
43
 
44
44
  ##
45
45
  # @private The InternalLogger object.
46
- attr_reader :logger
46
+ attr_reader :internal_logger
47
47
 
48
48
  ##
49
49
  # Creates a new Service instance.
@@ -55,6 +55,7 @@ module Google
55
55
  @client_id = SecureRandom.uuid.freeze
56
56
  @universe_domain = universe_domain || ENV["GOOGLE_CLOUD_UNIVERSE_DOMAIN"] || "googleapis.com"
57
57
  @logger = logger
58
+ @internal_logger = InternalLogger.new logger
58
59
  end
59
60
 
60
61
  def subscription_admin
@@ -67,6 +68,7 @@ module Google
67
68
  config.lib_name = "gccl"
68
69
  config.lib_version = Google::Cloud::PubSub::VERSION
69
70
  config.metadata = { "google-cloud-resource-prefix": "projects/#{@project}" }
71
+ config.logger = @logger if @logger
70
72
  end
71
73
  end
72
74
  attr_accessor :mocked_subscription_admin
@@ -81,6 +83,7 @@ module Google
81
83
  config.lib_name = "gccl"
82
84
  config.lib_version = Google::Cloud::PubSub::VERSION
83
85
  config.metadata = { "google-cloud-resource-prefix": "projects/#{@project}" }
86
+ config.logger = @logger if @logger
84
87
  end
85
88
  end
86
89
  attr_accessor :mocked_topic_admin
@@ -94,6 +97,7 @@ module Google
94
97
  config.lib_name = "gccl"
95
98
  config.lib_version = Google::Cloud::PubSub::VERSION
96
99
  config.metadata = { "google-cloud-resource-prefix": "projects/#{@project}" }
100
+ config.logger = @logger if @logger
97
101
  end
98
102
  iam
99
103
  end
@@ -110,6 +114,7 @@ module Google
110
114
  config.lib_name = "gccl"
111
115
  config.lib_version = Google::Cloud::PubSub::VERSION
112
116
  config.metadata = { "google-cloud-resource-prefix": "projects/#{@project}" }
117
+ config.logger = @logger if @logger
113
118
  end
114
119
  end
115
120
  attr_accessor :mocked_schemas
@@ -147,7 +152,7 @@ module Google
147
152
  ##
148
153
  # Acknowledges receipt of a message.
149
154
  def acknowledge subscription, *ack_ids
150
- logger.log_ack_nack ack_ids, "ack"
155
+ internal_logger.log_ack_nack ack_ids, "ack"
151
156
  subscription_admin.acknowledge_internal subscription: subscription_path(subscription),
152
157
  ack_ids: ack_ids
153
158
  end
@@ -156,7 +161,7 @@ module Google
156
161
  # Modifies the ack deadline for a specific message.
157
162
  def modify_ack_deadline subscription, ids, deadline
158
163
  if deadline.zero?
159
- logger.log_ack_nack Array(ids), "nack"
164
+ internal_logger.log_ack_nack Array(ids), "nack"
160
165
  end
161
166
  subscription_admin.modify_ack_deadline_internal subscription: subscription_path(subscription),
162
167
  ack_ids: Array(ids),
@@ -203,7 +208,6 @@ module Google
203
208
  rpc.timeout = timeout if rpc.respond_to? :timeout=
204
209
  end
205
210
  end
206
-
207
211
  end
208
212
  end
209
213
  Pubsub = PubSub unless const_defined? :Pubsub
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module PubSub
19
- VERSION = "3.4.0".freeze
19
+ VERSION = "3.4.1".freeze
20
20
  end
21
21
 
22
22
  Pubsub = PubSub unless const_defined? :Pubsub
@@ -122,7 +122,6 @@ module Google
122
122
  project_id = project_id.to_s # Always cast to a string
123
123
  raise ArgumentError, "project_id is missing" if project_id.empty?
124
124
 
125
- logger = Google::Cloud::PubSub::InternalLogger.new logger
126
125
  service = PubSub::Service.new project_id, credentials,
127
126
  host: endpoint,
128
127
  timeout: timeout,
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: 3.4.0
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore