sentry-arroyo 2.29.6__tar.gz → 2.29.7__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 (91) hide show
  1. {sentry_arroyo-2.29.6/sentry_arroyo.egg-info → sentry_arroyo-2.29.7}/PKG-INFO +1 -1
  2. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/run_task_with_multiprocessing.py +17 -6
  3. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7/sentry_arroyo.egg-info}/PKG-INFO +1 -1
  4. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/setup.py +1 -1
  5. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/LICENSE +0 -0
  6. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/MANIFEST.in +0 -0
  7. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/README.md +0 -0
  8. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/__init__.py +0 -0
  9. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/__init__.py +0 -0
  10. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/abstract.py +0 -0
  11. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/kafka/__init__.py +0 -0
  12. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/kafka/commit.py +0 -0
  13. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/kafka/configuration.py +0 -0
  14. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/kafka/consumer.py +0 -0
  15. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/local/__init__.py +0 -0
  16. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/local/backend.py +0 -0
  17. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/local/storages/__init__.py +0 -0
  18. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/local/storages/abstract.py +0 -0
  19. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/backends/local/storages/memory.py +0 -0
  20. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/commit.py +0 -0
  21. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/dlq.py +0 -0
  22. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/errors.py +0 -0
  23. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/__init__.py +0 -0
  24. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/processor.py +0 -0
  25. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/__init__.py +0 -0
  26. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/abstract.py +0 -0
  27. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/batching.py +0 -0
  28. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/buffer.py +0 -0
  29. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/commit.py +0 -0
  30. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/filter.py +0 -0
  31. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/guard.py +0 -0
  32. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/healthcheck.py +0 -0
  33. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/noop.py +0 -0
  34. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/produce.py +0 -0
  35. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/reduce.py +0 -0
  36. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/run_task.py +0 -0
  37. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/run_task_in_threads.py +0 -0
  38. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/processing/strategies/unfold.py +0 -0
  39. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/py.typed +0 -0
  40. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/types.py +0 -0
  41. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/__init__.py +0 -0
  42. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/clock.py +0 -0
  43. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/codecs.py +0 -0
  44. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/concurrent.py +0 -0
  45. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/logging.py +0 -0
  46. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/metricDefs.json +0 -0
  47. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/metric_defs.py +0 -0
  48. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/metrics.py +0 -0
  49. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/profiler.py +0 -0
  50. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/arroyo/utils/retries.py +0 -0
  51. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/examples/transform_and_produce/__init__.py +0 -0
  52. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/examples/transform_and_produce/batched.py +0 -0
  53. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/examples/transform_and_produce/script.py +0 -0
  54. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/examples/transform_and_produce/simple.py +0 -0
  55. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/requirements.txt +0 -0
  56. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/sentry_arroyo.egg-info/SOURCES.txt +0 -0
  57. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/sentry_arroyo.egg-info/dependency_links.txt +0 -0
  58. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/sentry_arroyo.egg-info/not-zip-safe +0 -0
  59. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/sentry_arroyo.egg-info/requires.txt +0 -0
  60. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/sentry_arroyo.egg-info/top_level.txt +0 -0
  61. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/setup.cfg +0 -0
  62. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/backends/__init__.py +0 -0
  63. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/backends/mixins.py +0 -0
  64. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/backends/test_commit.py +0 -0
  65. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/backends/test_kafka.py +0 -0
  66. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/backends/test_kafka_producer.py +0 -0
  67. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/backends/test_local.py +0 -0
  68. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/__init__.py +0 -0
  69. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/__init__.py +0 -0
  70. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_all.py +0 -0
  71. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_batching.py +0 -0
  72. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_buffer.py +0 -0
  73. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_commit.py +0 -0
  74. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_filter.py +0 -0
  75. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_guard.py +0 -0
  76. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_noop.py +0 -0
  77. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_produce.py +0 -0
  78. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_reduce.py +0 -0
  79. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_run_task.py +0 -0
  80. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_run_task_in_threads.py +0 -0
  81. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_run_task_with_multiprocessing.py +0 -0
  82. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/strategies/test_unfold.py +0 -0
  83. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/processing/test_processor.py +0 -0
  84. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/test_commit.py +0 -0
  85. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/test_dlq.py +0 -0
  86. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/test_kip848_e2e.py +0 -0
  87. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/test_types.py +0 -0
  88. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/utils/__init__.py +0 -0
  89. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/utils/test_concurrent.py +0 -0
  90. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/tests/utils/test_metrics.py +0 -0
  91. {sentry_arroyo-2.29.6 → sentry_arroyo-2.29.7}/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.29.6
3
+ Version: 2.29.7
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
@@ -41,6 +41,7 @@ DEFAULT_INPUT_BLOCK_SIZE = 16 * 1024 * 1024
41
41
  DEFAULT_OUTPUT_BLOCK_SIZE = 16 * 1024 * 1024
42
42
 
43
43
  LOG_THRESHOLD_TIME = 20 # In seconds
44
+ FAIL_THRESHOLD_TIME = 180 # In seconds
44
45
 
45
46
 
46
47
  class ChildProcessTerminated(RuntimeError):
@@ -600,6 +601,7 @@ class RunTaskWithMultiprocessing(
600
601
  "arroyo.strategies.run_task_with_multiprocessing.batches_in_progress",
601
602
  )
602
603
  self.__pool_waiting_time: Optional[float] = None
604
+ self.__pool_waiting_log_time: Optional[float] = None
603
605
  self.__metrics.gauge(
604
606
  "arroyo.strategies.run_task_with_multiprocessing.processes", num_processes
605
607
  )
@@ -673,22 +675,31 @@ class RunTaskWithMultiprocessing(
673
675
  if deadline is None or deadline > time.time():
674
676
  continue
675
677
  break
676
- except multiprocessing.TimeoutError:
677
- if self.__pool_waiting_time is None:
678
- self.__pool_waiting_time = time.time()
678
+ except multiprocessing.TimeoutError as err:
679
+ current_time = time.time()
680
+ if (
681
+ self.__pool_waiting_time is None
682
+ or self.__pool_waiting_log_time is None
683
+ ):
684
+ self.__pool_waiting_time = current_time
685
+ self.__pool_waiting_log_time = current_time
679
686
  else:
680
- current_time = time.time()
681
- if current_time - self.__pool_waiting_time > LOG_THRESHOLD_TIME:
687
+ if current_time - self.__pool_waiting_log_time > LOG_THRESHOLD_TIME:
682
688
  logger.warning(
683
689
  "Waited on the process pool longer than %d seconds. Waiting for %d results. Pool: %r",
684
690
  LOG_THRESHOLD_TIME,
685
691
  len(self.__processes),
686
692
  self.__pool,
687
693
  )
688
- self.__pool_waiting_time = current_time
694
+ self.__pool_waiting_log_time = current_time
695
+ if current_time - self.__pool_waiting_time > FAIL_THRESHOLD_TIME:
696
+ raise multiprocessing.TimeoutError(
697
+ f"Waited on process pool for {FAIL_THRESHOLD_TIME} seconds giving up."
698
+ ) from err
689
699
  break
690
700
  else:
691
701
  self.__pool_waiting_time = None
702
+ self.__pool_waiting_log_time = None
692
703
 
693
704
  def __check_for_results_impl(self, timeout: Optional[float] = None) -> None:
694
705
  (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-arroyo
3
- Version: 2.29.6
3
+ Version: 2.29.7
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.29.6",
13
+ version="2.29.7",
14
14
  author="Sentry",
15
15
  author_email="oss@sentry.io",
16
16
  license="Apache-2.0",
File without changes
File without changes
File without changes