sentry-arroyo 2.20.7__tar.gz → 2.20.8__tar.gz

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.
Files changed (90) hide show
  1. {sentry_arroyo-2.20.7/sentry_arroyo.egg-info → sentry_arroyo-2.20.8}/PKG-INFO +1 -1
  2. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/run_task_with_multiprocessing.py +8 -3
  3. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8/sentry_arroyo.egg-info}/PKG-INFO +1 -1
  4. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/setup.py +1 -1
  5. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_run_task_with_multiprocessing.py +8 -1
  6. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/LICENSE +0 -0
  7. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/MANIFEST.in +0 -0
  8. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/README.md +0 -0
  9. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/__init__.py +0 -0
  10. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/__init__.py +0 -0
  11. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/abstract.py +0 -0
  12. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/kafka/__init__.py +0 -0
  13. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/kafka/commit.py +0 -0
  14. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/kafka/configuration.py +0 -0
  15. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/kafka/consumer.py +0 -0
  16. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/local/__init__.py +0 -0
  17. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/local/backend.py +0 -0
  18. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/local/storages/__init__.py +0 -0
  19. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/local/storages/abstract.py +0 -0
  20. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/backends/local/storages/memory.py +0 -0
  21. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/commit.py +0 -0
  22. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/dlq.py +0 -0
  23. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/errors.py +0 -0
  24. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/__init__.py +0 -0
  25. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/processor.py +0 -0
  26. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/__init__.py +0 -0
  27. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/abstract.py +0 -0
  28. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/batching.py +0 -0
  29. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/buffer.py +0 -0
  30. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/commit.py +0 -0
  31. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/filter.py +0 -0
  32. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/guard.py +0 -0
  33. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/healthcheck.py +0 -0
  34. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/noop.py +0 -0
  35. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/produce.py +0 -0
  36. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/reduce.py +0 -0
  37. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/run_task.py +0 -0
  38. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/run_task_in_threads.py +0 -0
  39. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/processing/strategies/unfold.py +0 -0
  40. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/py.typed +0 -0
  41. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/types.py +0 -0
  42. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/__init__.py +0 -0
  43. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/clock.py +0 -0
  44. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/codecs.py +0 -0
  45. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/concurrent.py +0 -0
  46. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/logging.py +0 -0
  47. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/metricDefs.json +0 -0
  48. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/metric_defs.py +0 -0
  49. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/metrics.py +0 -0
  50. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/profiler.py +0 -0
  51. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/arroyo/utils/retries.py +0 -0
  52. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/examples/transform_and_produce/__init__.py +0 -0
  53. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/examples/transform_and_produce/batched.py +0 -0
  54. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/examples/transform_and_produce/script.py +0 -0
  55. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/examples/transform_and_produce/simple.py +0 -0
  56. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/requirements.txt +0 -0
  57. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/sentry_arroyo.egg-info/SOURCES.txt +0 -0
  58. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/sentry_arroyo.egg-info/dependency_links.txt +0 -0
  59. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/sentry_arroyo.egg-info/not-zip-safe +0 -0
  60. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/sentry_arroyo.egg-info/requires.txt +0 -0
  61. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/sentry_arroyo.egg-info/top_level.txt +0 -0
  62. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/setup.cfg +0 -0
  63. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/backends/__init__.py +0 -0
  64. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/backends/mixins.py +0 -0
  65. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/backends/test_commit.py +0 -0
  66. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/backends/test_kafka.py +0 -0
  67. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/backends/test_local.py +0 -0
  68. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/__init__.py +0 -0
  69. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/__init__.py +0 -0
  70. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_all.py +0 -0
  71. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_batching.py +0 -0
  72. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_buffer.py +0 -0
  73. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_commit.py +0 -0
  74. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_filter.py +0 -0
  75. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_guard.py +0 -0
  76. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_noop.py +0 -0
  77. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_produce.py +0 -0
  78. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_reduce.py +0 -0
  79. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_run_task.py +0 -0
  80. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_run_task_in_threads.py +0 -0
  81. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/strategies/test_unfold.py +0 -0
  82. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/processing/test_processor.py +0 -0
  83. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/test_commit.py +0 -0
  84. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/test_dlq.py +0 -0
  85. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/test_kip848_e2e.py +0 -0
  86. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/test_types.py +0 -0
  87. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/utils/__init__.py +0 -0
  88. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/utils/test_concurrent.py +0 -0
  89. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/utils/test_metrics.py +0 -0
  90. {sentry_arroyo-2.20.7 → sentry_arroyo-2.20.8}/tests/utils/test_retries.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-arroyo
3
- Version: 2.20.7
3
+ Version: 2.20.8
4
4
  Summary: Arroyo is a Python library for working with streaming data.
5
5
  Home-page: https://github.com/getsentry/arroyo
6
6
  Author: Sentry
@@ -581,7 +581,7 @@ class RunTaskWithMultiprocessing(
581
581
  self.__metrics.increment("sigchld.detected")
582
582
  raise ChildProcessTerminated(signum)
583
583
 
584
- signal.signal(signal.SIGCHLD, handle_sigchld)
584
+ self.original_sigchld = signal.signal(signal.SIGCHLD, handle_sigchld)
585
585
 
586
586
  def __submit_batch(self, input_block_too_small: bool) -> None:
587
587
  assert self.__batch_builder is not None
@@ -839,14 +839,19 @@ class RunTaskWithMultiprocessing(
839
839
  # compression.)
840
840
  self.__batch_builder.append(message)
841
841
 
842
- def close(self) -> None:
842
+ def _do_close(self) -> None:
843
843
  self.__closed = True
844
844
 
845
+ signal.signal(signal.SIGCHLD, self.original_sigchld)
846
+
847
+ def close(self) -> None:
848
+ self._do_close()
849
+
845
850
  if self.__batch_builder is not None and len(self.__batch_builder) > 0:
846
851
  self.__submit_batch(False)
847
852
 
848
853
  def terminate(self) -> None:
849
- self.__closed = True
854
+ self._do_close()
850
855
 
851
856
  logger.info("Terminating %r...", self.__pool)
852
857
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-arroyo
3
- Version: 2.20.7
3
+ Version: 2.20.8
4
4
  Summary: Arroyo is a Python library for working with streaming data.
5
5
  Home-page: https://github.com/getsentry/arroyo
6
6
  Author: Sentry
@@ -10,7 +10,7 @@ def get_requirements() -> Sequence[str]:
10
10
 
11
11
  setup(
12
12
  name="sentry-arroyo",
13
- version="2.20.7",
13
+ version="2.20.8",
14
14
  author="Sentry",
15
15
  author_email="oss@sentry.io",
16
16
  license="Apache-2.0",
@@ -1,8 +1,9 @@
1
1
  import multiprocessing
2
+ import signal
2
3
  import time
3
4
  from datetime import datetime
4
5
  from multiprocessing.managers import SharedMemoryManager
5
- from typing import Any
6
+ from typing import Any, Generator
6
7
  from unittest.mock import Mock, call
7
8
 
8
9
  import pytest
@@ -25,6 +26,12 @@ from tests.metrics import TestingMetricsBackend
25
26
  from tests.metrics import Timing as TimingCall
26
27
 
27
28
 
29
+ @pytest.fixture(autouse=True)
30
+ def does_not_leak_sigchild_handler() -> Generator[None, None, None]:
31
+ yield
32
+ assert isinstance(signal.getsignal(signal.SIGCHLD), int)
33
+
34
+
28
35
  def test_message_batch() -> None:
29
36
  partition = Partition(Topic("test"), 0)
30
37
 
File without changes
File without changes
File without changes