-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
-
None
-
3
-
False
-
-
False
-
subs-swatch-thunder
-
-
-
Swatch Thunder Sprint 1
The tests "test_cloud_provider_events" are consistently failing in Jenkins:
component/swatch_metrics_hbi/test_hbi_created_updated_events.py::test_cloud_provider_events[created-INSTANCE_CREATED]
component/swatch_metrics_hbi/test_hbi_created_updated_events.py::test_cloud_provider_events[updated-INSTANCE_UPDATED]
Link: https://ci.ext.devshift.net/job/RedHatInsights-rhsm-subscriptions-pr-check/12117/
Test:
func = <bound method SwatchMetricsHbiDBClient.get_outbox_record of <iqe_rhsm_subscriptions.tests.component.swatch_metrics_hbi.db.db_client.SwatchMetricsHbiDBClient object at 0x7fc8706484d0>> validator = <function SwatchMetricsHbiTestHelper.trigger_and_find_swatch_event.<locals>.<lambda> at 0x7fc861c99620> retries = 6, delay_seconds = 0.5 args = ('INSTANCE_CREATED', '3340851', 'a2decb24-da9b-43aa-82d5-778a637a3760', '2025-09-26T11:00:00Z') kwargs = {} r = <Retrying object at 0x7fc863e720c0 (stop=<tenacity.stop.stop_after_attempt object at 0x7fc863e73830>, wait=<tenacity.w...0x7fc863e72d50>, before=<function before_nothing at 0x7fc8930da480>, after=<function after_nothing at 0x7fc892d8d580>)> last = None def run_until_valid( func: Callable[..., T], *args: Any, validator: Optional[Callable[[T], bool]] = None, retries: int = 6, delay_seconds: float = 0.5, **kwargs: Any, ) -> T: """ Call `func(*args, **kwargs)` and retry only when `validator(result)` is False. If no validator is provided, truthiness of the result is used. Raises AssertionError if validation never passes after retries. """ if validator is None: def validator(value: T) -> bool: # type: ignore[no-redef] return bool(value) r = Retrying( stop=stop_after_attempt(1 + retries), # initial attempt + retries wait=wait_fixed(delay_seconds), # constant delay retry=retry_if_result(lambda v: not validator(v)), reraise=True, # real exceptions bubble immediately ) try: > return r(func, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ /iqe_venv/lib/python3.12/site-packages/iqe_rhsm_subscriptions/utils/retry.py:32: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /iqe_venv/lib/python3.12/site-packages/tenacity/__init__.py:477: in __call__ do = self.iter(retry_state=retry_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /iqe_venv/lib/python3.12/site-packages/tenacity/__init__.py:378: in iter result = action(retry_state) ^^^^^^^^^^^^^^^^^^^ /iqe_venv/lib/python3.12/site-packages/tenacity/__init__.py:420: in exc_check raise retry_exc.reraise() ^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = RetryError(<Future at 0x7fc863e70d70 state=finished returned NoneType>) def reraise(self) -> t.NoReturn: if self.last_attempt.failed: raise self.last_attempt.result() > raise self E tenacity.RetryError: RetryError[<Future at 0x7fc863e70d70 state=finished returned NoneType>] /iqe_venv/lib/python3.12/site-packages/tenacity/__init__.py:188: RetryError The above exception was the direct cause of the following exception: helpers = <iqe_rhsm_subscriptions.tests.component.swatch_metrics_hbi.helpers.SwatchMetricsHbiTestHelper object at 0x7fc863e71040> hbi_event_type = 'created', swatch_event_type = 'INSTANCE_CREATED' @pytest.mark.ephemeral @pytest.mark.ephemeral_only @pytest.mark.usefixtures("enable_swatch_event_sending") @pytest.mark.parametrize( "hbi_event_type,swatch_event_type", [ (HbiEventTypes.CREATED, SwatchEventTypes.INSTANCE_CREATED), (HbiEventTypes.UPDATED, SwatchEventTypes.INSTANCE_UPDATED), ], ) def test_cloud_provider_events(helpers, hbi_event_type, swatch_event_type): """Verify service accepts HBI Create/Update events for a cloud provider host and produces the expected Swatch Event messages with metrics applied. metadata: assignee: mstead requirements: swatch_metrics_hbi importance: high test_steps: 1. Toggle feature flag to allow service to emit swatch events. 2. Send a created/updated message to the HBI event topic to simulate that a host was created in HBI. expected_results: 1. The swatch-metrics-hbi service will ingest the event and create an outbox record for a Swatch Event message containing the measurements for the host represented by the HBI event. """ timestamp = today() expected_timestamp = datetime_to_iso8601_format(timestamp) cloud_provider_hbi_event = helpers.hbi_events.create_public_cloud_event( expected_timestamp, event_type=hbi_event_type, cores=8, sockets=4 ) swatch_event_dt, _ = helpers.as_swatch_event_dt(timestamp) > swatch_event = helpers.trigger_and_find_swatch_event(cloud_provider_hbi_event) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /iqe_venv/lib/python3.12/site-packages/iqe_rhsm_subscriptions/tests/component/swatch_metrics_hbi/test_hbi_created_updated_events.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /iqe_venv/lib/python3.12/site-packages/iqe_rhsm_subscriptions/tests/component/swatch_metrics_hbi/helpers.py:315: in trigger_and_find_swatch_event outbox_record = run_until_valid( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ func = <bound method SwatchMetricsHbiDBClient.get_outbox_record of <iqe_rhsm_subscriptions.tests.component.swatch_metrics_hbi.db.db_client.SwatchMetricsHbiDBClient object at 0x7fc8706484d0>> validator = <function SwatchMetricsHbiTestHelper.trigger_and_find_swatch_event.<locals>.<lambda> at 0x7fc861c99620> retries = 6, delay_seconds = 0.5 args = ('INSTANCE_CREATED', '3340851', 'a2decb24-da9b-43aa-82d5-778a637a3760', '2025-09-26T11:00:00Z') kwargs = {} r = <Retrying object at 0x7fc863e720c0 (stop=<tenacity.stop.stop_after_attempt object at 0x7fc863e73830>, wait=<tenacity.w...0x7fc863e72d50>, before=<function before_nothing at 0x7fc8930da480>, after=<function after_nothing at 0x7fc892d8d580>)> last = None def run_until_valid( func: Callable[..., T], *args: Any, validator: Optional[Callable[[T], bool]] = None, retries: int = 6, delay_seconds: float = 0.5, **kwargs: Any, ) -> T: """ Call `func(*args, **kwargs)` and retry only when `validator(result)` is False. If no validator is provided, truthiness of the result is used. Raises AssertionError if validation never passes after retries. """ if validator is None: def validator(value: T) -> bool: # type: ignore[no-redef] return bool(value) r = Retrying( stop=stop_after_attempt(1 + retries), # initial attempt + retries wait=wait_fixed(delay_seconds), # constant delay retry=retry_if_result(lambda v: not validator(v)), reraise=True, # real exceptions bubble immediately ) try: return r(func, *args, **kwargs) except RetryError as e: try: last = e.last_attempt.result() except Exception: last = "<no result>" > raise AssertionError( f"Validation not satisfied after {retries} retries; last result: {last}" ) from e E AssertionError: Validation not satisfied after 6 retries; last result: None /iqe_venv/lib/python3.12/site-packages/iqe_rhsm_subscriptions/utils/retry.py:38: AssertionError
Output:
--------------------------------- Captured Log --------------------------------- 2025-09-26 11:25:02 INFO Using random seed value for random generation: 8247 2025-09-26 11:25:02 INFO select version() 2025-09-26 11:25:02 INFO [raw sql] {} 2025-09-26 11:25:02 INFO select current_schema() 2025-09-26 11:25:02 INFO [raw sql] {} 2025-09-26 11:25:02 INFO show standard_conforming_strings 2025-09-26 11:25:02 INFO [raw sql] {} 2025-09-26 11:25:02 INFO BEGIN (implicit) 2025-09-26 11:25:02 INFO Searching messages in the topic: platform.rhsm-subscriptions.service-instance-ingress 2025-09-26 11:25:05 INFO Consumer subscribed to: {'platform.rhsm-subscriptions.service-instance-ingress': {0: -1001, 1: -1001, 2: -1001}} 2025-09-26 11:25:05 INFO Consumer subscribed to: {'platform.rhsm-subscriptions.service-instance-ingress': {0: -1001, 1: -1001, 2: -1001}} 2025-09-26 11:25:07 INFO Topic scan time limit elapsed 2025-09-26 11:25:07 INFO Message key=None for insights_id=00bdf65e-dc31-42df-911a-041abff447c7 delivered to platform.inventory.events (P 0 O 10) 2025-09-26 11:25:07 INFO SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:07 INFO [generated in 0.00050s] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:07 INFO SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:07 INFO [cached since 0.5039s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:08 INFO SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:08 INFO [cached since 1.007s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:08 INFO SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:08 INFO [cached since 1.509s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:09 INFO SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:09 INFO [cached since 2.012s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:09 INFO SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:09 INFO [cached since 2.514s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:10 INFO SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:10 INFO [cached since 3.017s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:10 INFO ROLLBACK --------------------------------- Captured Out --------------------------------- 2025-09-26 11:25:02,112 INFO sqlalchemy.engine.Engine select version() 2025-09-26 11:25:02,112 INFO sqlalchemy.engine.Engine [raw sql] {} 2025-09-26 11:25:02,113 INFO sqlalchemy.engine.Engine select current_schema() 2025-09-26 11:25:02,113 INFO sqlalchemy.engine.Engine [raw sql] {} 2025-09-26 11:25:02,114 INFO sqlalchemy.engine.Engine show standard_conforming_strings 2025-09-26 11:25:02,115 INFO sqlalchemy.engine.Engine [raw sql] {} 2025-09-26 11:25:02,115 INFO sqlalchemy.engine.Engine BEGIN (implicit) 2025-09-26 11:25:07,292 INFO sqlalchemy.engine.Engine SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:07,293 INFO sqlalchemy.engine.Engine [generated in 0.00050s] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:07,796 INFO sqlalchemy.engine.Engine SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:07,796 INFO sqlalchemy.engine.Engine [cached since 0.5039s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:08,298 INFO sqlalchemy.engine.Engine SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:08,299 INFO sqlalchemy.engine.Engine [cached since 1.007s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:08,801 INFO sqlalchemy.engine.Engine SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:08,801 INFO sqlalchemy.engine.Engine [cached since 1.509s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:09,303 INFO sqlalchemy.engine.Engine SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:09,304 INFO sqlalchemy.engine.Engine [cached since 2.012s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:09,806 INFO sqlalchemy.engine.Engine SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:09,806 INFO sqlalchemy.engine.Engine [cached since 2.514s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:10,309 INFO sqlalchemy.engine.Engine SELECT hbi_event_outbox.id AS hbi_event_outbox_id, hbi_event_outbox.org_id AS hbi_event_outbox_org_id, hbi_event_outbox.created_on AS hbi_event_outbox_created_on, hbi_event_outbox.swatch_event_json AS hbi_event_outbox_swatch_event_json FROM hbi_event_outbox WHERE hbi_event_outbox.org_id = %(org_id_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_1)s) = %(param_1)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_2)s) = %(param_2)s AND (hbi_event_outbox.swatch_event_json ->> %(swatch_event_json_3)s) = %(param_3)s ORDER BY hbi_event_outbox.created_on DESC LIMIT %(param_4)s 2025-09-26 11:25:10,309 INFO sqlalchemy.engine.Engine [cached since 3.017s ago] {'org_id_1': '3340851', 'swatch_event_json_1': 'event_type', 'param_1': 'INSTANCE_CREATED', 'swatch_event_json_2': 'instance_id', 'param_2': 'a2decb24-da9b-43aa-82d5-778a637a3760', 'swatch_event_json_3': 'timestamp', 'param_3': '2025-09-26T11:00:00Z', 'param_4': 1} 2025-09-26 11:25:10,719 INFO sqlalchemy.engine.Engine ROLLBACK