kafka-python 3.0.6__py3-none-any.whl → 3.0.7__py3-none-any.whl

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.
kafka/net/transport.py CHANGED
@@ -19,6 +19,8 @@ class KafkaTCPTransport:
19
19
  self._closed = False
20
20
  self._write_buffer = deque()
21
21
  self._writing = False
22
+ self._read_task = None
23
+ self._write_task = None
22
24
  self._protocol = None
23
25
  self._read = False
24
26
  self._write = True
@@ -80,7 +82,7 @@ class KafkaTCPTransport:
80
82
  data_received() method.
81
83
  """
82
84
  if not self._read:
83
- self._net.call_soon(self._read_from_sock)
85
+ self._read_task = self._net.call_soon(self._read_from_sock)
84
86
  self._read = True
85
87
  log.debug('%s: Resumed reading', self)
86
88
 
@@ -173,7 +175,7 @@ class KafkaTCPTransport:
173
175
  self._write_buffer.append(data)
174
176
  if not self._writing:
175
177
  self._writing = True
176
- self._net.call_soon(self._write_to_sock)
178
+ self._write_task = self._net.call_soon(self._write_to_sock)
177
179
 
178
180
  def writelines(self, list_of_data):
179
181
  """Write a list (or any iterable) of data bytes to the transport."""
@@ -182,7 +184,7 @@ class KafkaTCPTransport:
182
184
  self._write_buffer.extend(list_of_data)
183
185
  if not self._writing:
184
186
  self._writing = True
185
- self._net.call_soon(self._write_to_sock)
187
+ self._write_task = self._net.call_soon(self._write_to_sock)
186
188
 
187
189
  async def _write_to_sock(self):
188
190
  try:
@@ -272,6 +274,10 @@ class KafkaTCPTransport:
272
274
  except OSError:
273
275
  pass
274
276
  sock.close()
277
+ for task in (self._read_task, self._write_task):
278
+ if task is not None:
279
+ self._net.cancel(task)
280
+ self._read_task = self._write_task = None
275
281
  proto = self._protocol
276
282
  self._protocol = None
277
283
  if proto is not None:
kafka/producer/kafka.py CHANGED
@@ -646,7 +646,7 @@ class KafkaProducer:
646
646
  _self = weakref.proxy(self)
647
647
  def wrapper():
648
648
  try:
649
- _self.close(timeout=0, null_logger=True)
649
+ _self.close(timeout=1, null_logger=True)
650
650
  except (ReferenceError, AttributeError):
651
651
  pass
652
652
  return wrapper
kafka/producer/sender.py CHANGED
@@ -310,7 +310,7 @@ class Sender(threading.Thread):
310
310
  return False
311
311
 
312
312
  log.debug("%s: Sending transactional request %s", str(self), next_request_handler.request)
313
- while not self._force_close:
313
+ while self._running and not self._force_close:
314
314
  target_node = None
315
315
  try:
316
316
  if next_request_handler.needs_coordinator():
@@ -325,7 +325,8 @@ class Sender(threading.Thread):
325
325
  else:
326
326
  target_node = self._client.least_loaded_node()
327
327
  if target_node is None:
328
- self._client.poll(future=self._metadata.request_update())
328
+ self._client.poll(timeout_ms=self.config['retry_backoff_ms'],
329
+ future=self._metadata.request_update())
329
330
  elif not self._client.await_ready(target_node, timeout_ms=self.config['request_timeout_ms']):
330
331
  continue
331
332
 
kafka/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '3.0.6'
1
+ __version__ = '3.0.7'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kafka-python
3
- Version: 3.0.6
3
+ Version: 3.0.7
4
4
  Summary: Pure Python client for Apache Kafka
5
5
  Author-email: Dana Powers <dana.powers@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -6,7 +6,7 @@ kafka/errors.py,sha256=9owgtTIcttdTCD1vAF9wz5jL9G72ljpR7M-vjLKEGvY,33206
6
6
  kafka/future.py,sha256=INmMIy2-BPxJ4zlw-V_i8Tj_OG9DMbyYyUEjOQ5pn_o,5440
7
7
  kafka/structs.py,sha256=ZOFmVJRbhSXykkw9cnuv-DGYE7g2KjaUGsytSOv4xVw,3146
8
8
  kafka/util.py,sha256=hvSdRbh5-IsUbpD_BqjabjEldtNmXufZH68b_xCkNjE,5194
9
- kafka/version.py,sha256=CDrF7ZuVPf2iv0oruW7EHmnEThkmylzR7xWICjw4EtM,22
9
+ kafka/version.py,sha256=nrBN-YleEph5Asdo18FBZNm74FlORYq6jGrwHBllWIU,22
10
10
  kafka/admin/__init__.py,sha256=nTXg2CQo8Bydxsj80pVBzF2-jq4IhK7_gLnboeNWG60,1575
11
11
  kafka/admin/__main__.py,sha256=l5ujkHa3lBFEbKPCl7U0_pi6IIgj1IJfmB219vtcj50,69
12
12
  kafka/admin/_acls.py,sha256=QJlHguEM9t46qlABoQqTEDFQErDgG2RKwfV1NOKeKmU,13983
@@ -135,7 +135,7 @@ kafka/net/manager.py,sha256=bsgpwH_9nCC0hXvNrPfclF4rsvcqbzWOplSN_ATn9rY,21134
135
135
  kafka/net/metrics.py,sha256=-cdWXQtonCO7-LpovLoEcWM-_3R9sAtyQxWf_QHOAWE,7299
136
136
  kafka/net/selector.py,sha256=kKKhVA6UdyiTNAnRDlRJNA3rC-C0anUcpYHnQy_yRZQ,29333
137
137
  kafka/net/socks5.py,sha256=euTwJl2avRmCJhVKyGmhZWInqgY6MNHPA1Tz2f2J1Z0,10361
138
- kafka/net/transport.py,sha256=ZQOTR8cqtjAmvsaQZndlyOKH_U0lJSBhkLPPknInxgU,15675
138
+ kafka/net/transport.py,sha256=Loa43s09X-VVrNiHggdfzNIDrok4dHlR8LptY3b0yAw,15974
139
139
  kafka/net/wakeup_notifier.py,sha256=gLnfg-HEjVS5J9p-7kZfZpIeLT0AjvK5MOc6EMj3R88,2783
140
140
  kafka/net/sasl/__init__.py,sha256=vKE2jkS_BZ2OEVANlXZhW2xIVvH5C1o2kCxugw2PfYY,1006
141
141
  kafka/net/sasl/abc.py,sha256=H3tHUPevoaQdS395_ID88Wxhwvc8XjOTcAP8dKXxO9I,547
@@ -152,10 +152,10 @@ kafka/partitioner/sticky.py,sha256=A3pfCrFl-jhmpqTANlRcQ5ixd_e-F3K8-d42ugaE378,4
152
152
  kafka/producer/__init__.py,sha256=OPWP89JbP1dCYG4HSWl1iz6KLun0oJDYfqLAr0vAfHQ,82
153
153
  kafka/producer/__main__.py,sha256=h5u6-EfA7bJFszn0x-QV14pZt4MOJw0jiPHKuMSkCOY,72
154
154
  kafka/producer/future.py,sha256=D5_8Hz-8CqJZYEVMieUk7wBhKS83skFnisGlsyosIbk,6669
155
- kafka/producer/kafka.py,sha256=j01YfmZn3sNigHBNITd5CLeohu4WF0FVTFE1E6Pj5O8,59338
155
+ kafka/producer/kafka.py,sha256=nWBHlweLZGc_oDC2ipT7ewd0M2bY4s_294GKllkmZT4,59338
156
156
  kafka/producer/producer_batch.py,sha256=gFuJNaUM9gHs0KpgQ0KFZCIlBy43OnrRyzo2xb0HSTo,8027
157
157
  kafka/producer/record_accumulator.py,sha256=B6C64fNzD7MIFsWV-kJFrahKRVS5dYniI3OFhnUqvRw,28039
158
- kafka/producer/sender.py,sha256=aV4skH8T1xncOidyS8do0Gv2jcr97u3CHx5wXlrPTik,44608
158
+ kafka/producer/sender.py,sha256=fe9spMNSaIAMCypVFAL047eRx3pMH8ARAVVIrzV-aVM,44712
159
159
  kafka/producer/transaction_manager.py,sha256=E90BGF3_zU-k2jfIcKWKbCUWhxCoPT-d2vrJER23Q84,61408
160
160
  kafka/protocol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
161
  kafka/protocol/api_data.py,sha256=fyiEuEftBfJl23SL3EkF-Sd0lps9ZmTlDT9PY6YV_PY,4793
@@ -365,9 +365,9 @@ kafka/serializer/default.py,sha256=ZKzTWlG9N4vS3QXovFLygNVrnjAcMZKS0RE4OvQ6DL4,4
365
365
  kafka/serializer/json.py,sha256=lErgU66KZGf33hofwlObYIaxLDk9gcolhy_rlcOuf8Y,469
366
366
  kafka/serializer/wrapper.py,sha256=RGXFj-PXQyL3rdMXI9ACaohRa6Kg5SHOZTRruU9jluM,485
367
367
  kafka/vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
368
- kafka_python-3.0.6.dist-info/licenses/LICENSE,sha256=vxnoJsqm6bKl3ZWdI1Q7Ikw_k9cOvO3vcvZNsY_1fP8,11374
369
- kafka_python-3.0.6.dist-info/METADATA,sha256=hcD366G7QC4pqvsezCx8YGYduujSM3DFKUnqOJusHJM,11590
370
- kafka_python-3.0.6.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
371
- kafka_python-3.0.6.dist-info/entry_points.txt,sha256=LQvqZj3uM785ainO5HrXmukbjSrK-oPqrESqpvoR-As,51
372
- kafka_python-3.0.6.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6
373
- kafka_python-3.0.6.dist-info/RECORD,,
368
+ kafka_python-3.0.7.dist-info/licenses/LICENSE,sha256=vxnoJsqm6bKl3ZWdI1Q7Ikw_k9cOvO3vcvZNsY_1fP8,11374
369
+ kafka_python-3.0.7.dist-info/METADATA,sha256=qIDuv8vtC5xCXcx0W6Lor0EXAGSUmJIeRqKClE175qw,11590
370
+ kafka_python-3.0.7.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
371
+ kafka_python-3.0.7.dist-info/entry_points.txt,sha256=LQvqZj3uM785ainO5HrXmukbjSrK-oPqrESqpvoR-As,51
372
+ kafka_python-3.0.7.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6
373
+ kafka_python-3.0.7.dist-info/RECORD,,