airbyte-cdk 6.51.0.post7.dev15492779494__py3-none-any.whl → 6.51.0.post8.dev15492684389__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.
@@ -27,6 +27,7 @@ from airbyte_cdk.sources.streams.concurrent.state_converters.abstract_stream_sta
27
27
  AbstractStreamStateConverter,
28
28
  )
29
29
  from airbyte_cdk.sources.types import Record, StreamSlice, StreamState
30
+ import gc
30
31
 
31
32
  logger = logging.getLogger("airbyte")
32
33
 
@@ -59,8 +60,8 @@ class ConcurrentPerPartitionCursor(Cursor):
59
60
  CurrentPerPartitionCursor expects the state of the ConcurrentCursor to follow the format {cursor_field: cursor_value}.
60
61
  """
61
62
 
62
- DEFAULT_MAX_PARTITIONS_NUMBER = 25_000
63
- SWITCH_TO_GLOBAL_LIMIT = 10_000
63
+ DEFAULT_MAX_PARTITIONS_NUMBER = 250
64
+ SWITCH_TO_GLOBAL_LIMIT = 100
64
65
  _NO_STATE: Mapping[str, Any] = {}
65
66
  _NO_CURSOR_STATE: Mapping[str, Any] = {}
66
67
  _GLOBAL_STATE_KEY = "state"
@@ -179,6 +180,16 @@ class ConcurrentPerPartitionCursor(Cursor):
179
180
 
180
181
  self._emit_state_message()
181
182
 
183
+ gc.collect()
184
+ alive = [o for o in gc.get_objects() if isinstance(o, ConcurrentCursor)]
185
+ print(f"ConcurrentCursor {len(alive)=}")
186
+
187
+ alive = [o for o in gc.get_objects() if isinstance(o, threading.Semaphore)]
188
+ print(f"Semaphores {len(alive)=}")
189
+
190
+ alive = [o for o in gc.get_objects() if isinstance(o, dict)]
191
+ print(f"Dictionaries {len(alive)=}")
192
+
182
193
  def _check_and_update_parent_state(self) -> None:
183
194
  last_closed_state = None
184
195
 
@@ -295,20 +306,18 @@ class ConcurrentPerPartitionCursor(Cursor):
295
306
  ):
296
307
  self._partition_parent_state_map[partition_key] = (deepcopy(parent_state), seq)
297
308
 
298
- try:
299
- for cursor_slice, is_last_slice, _ in iterate_with_last_flag_and_state(
300
- cursor.stream_slices(),
301
- lambda: None,
302
- ):
303
- self._semaphore_per_partition[partition_key].release()
304
- if is_last_slice:
305
- self._partitions_done_generating_stream_slices.add(partition_key)
306
- yield StreamSlice(
307
- partition=partition, cursor_slice=cursor_slice, extra_fields=partition.extra_fields
308
- )
309
- finally:
310
- del cursor
311
- del partition
309
+ # try:
310
+ for cursor_slice, is_last_slice, _ in iterate_with_last_flag_and_state(
311
+ cursor.stream_slices(),
312
+ lambda: None,
313
+ ):
314
+ self._semaphore_per_partition[partition_key].release()
315
+ if is_last_slice:
316
+ self._partitions_done_generating_stream_slices.add(partition_key)
317
+ yield StreamSlice(
318
+ partition=partition, cursor_slice=cursor_slice, extra_fields=partition.extra_fields
319
+ )
320
+
312
321
 
313
322
  def _ensure_partition_limit(self) -> None:
314
323
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.51.0.post7.dev15492779494
3
+ Version: 6.51.0.post8.dev15492684389
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -111,7 +111,7 @@ airbyte_cdk/sources/declarative/extractors/record_selector.py,sha256=vCpwX1PVRFP
111
111
  airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py,sha256=WJyA2OYIEgFpVP5Y3o0tIj69AV6IKkn9B16MeXaEItI,6513
112
112
  airbyte_cdk/sources/declarative/extractors/type_transformer.py,sha256=d6Y2Rfg8pMVEEnHllfVksWZdNVOU55yk34O03dP9muY,1626
113
113
  airbyte_cdk/sources/declarative/incremental/__init__.py,sha256=U1oZKtBaEC6IACmvziY9Wzg7Z8EgF4ZuR7NwvjlB_Sk,1255
114
- airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=yhF9vgcZ8ZuIFk3kN9pFcKkvkmhH8ksVKLt9CELDvk4,22664
114
+ airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=AjS24owY5oNP4Z6GbG7VlKIvKKlaf6IiFrQqoDZm6Xg,22988
115
115
  airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py,sha256=Rbe6lJLTtZ5en33MwZiB9-H9-AwDMNHgwBZs8EqhYqk,22172
116
116
  airbyte_cdk/sources/declarative/incremental/declarative_cursor.py,sha256=5Bhw9VRPyIuCaD0wmmq_L3DZsa-rJgtKSEUzSd8YYD0,536
117
117
  airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py,sha256=2tsE6FgXzemf4fZZ4uGtd8QpRBl9GJ2CRqSNJE5p0EI,16077
@@ -419,9 +419,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
419
419
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
420
420
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
421
421
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
422
- airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
423
- airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
424
- airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/METADATA,sha256=J-FvjaxFZ_sNCiyO5VDE0wRN8ufWo4yeOKZSwOBJaos,6364
425
- airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
426
- airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
427
- airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/RECORD,,
422
+ airbyte_cdk-6.51.0.post8.dev15492684389.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
423
+ airbyte_cdk-6.51.0.post8.dev15492684389.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
424
+ airbyte_cdk-6.51.0.post8.dev15492684389.dist-info/METADATA,sha256=QS6CSTvQH-DFLtv0_nul6yIIuO6hH3iB8UC9xMUNS4A,6364
425
+ airbyte_cdk-6.51.0.post8.dev15492684389.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
426
+ airbyte_cdk-6.51.0.post8.dev15492684389.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
427
+ airbyte_cdk-6.51.0.post8.dev15492684389.dist-info/RECORD,,