row_id: 45218

Column Value
row_id 45218
time_created 2026-06-22 22:49:59.268887
endpoint https://usmall-catalog.shopfans.io/log/product_upload
params
body {"product": {"rating": null, "rating_count": null, "brand": "Leatt", "name": "ReaFlex Pro Knee Guard", "description": "What Our Gearhead\u00ae Experts Are Saying:\"I was looking for a knee guard that\u2019s lightweight, slim, and still reliable on impact, and the ReaFlex Pro Knee Guard nailed it. The ReaFlex gel protection feels soft while riding but stiffens on impact, giving me confidence when tackling technical trails. The single sizing and silicone grip keep it in place without needing a thigh strap, and the pre-curved design fits great without any bunching. Plus, the ventilation is awesome on hot days.\"We know that when you\u2019re pushing your limits on the trail, your gear needs to move with you\u2014not against you. That\u2019s why we trust the ReaFlex Pro Knee Guard for all-day comfort and reliable protection. Built with ReaFlex impact gel, it stays soft and flexible while riding but instantly hardens during impact to shield your knee. The ultra-slim design makes it lightweight and low-profile, so you can forget you\u2019re wearing it\u2014until you really need it.Designed to stay put, this knee guard features silicone-printed, non-slip cuffs and a cupped knee grip, eliminating the need for a bulky thigh strap. The pre-curved design follows your leg\u2019s natural shape, providing a snug, ergonomic fit without compromising mobility. The combination of MoistureCool and AirMesh fabrics wicks away sweat, keeping you cool even when the ride heats up. From fast-flowing singletrack to rocky descents, the ReaFlex Pro delivers the protection you need without the bulk.", "data": {"dataFacets": [{"name": "Material", "values": ["Mesh"]}]}, "categories": ["Bike > Bike Helmets & Protection > Protection > Knee & Shin Pads"], "gender": "unisex", "product_images": [], "market_id": 17, "remote_code": "leatt-reaflex-pro-knee-guard", "is_lost": 0, "variants": [{"remote_code": "LBRI0HU-BLA-L", "upc": "", "email_meta": "LBRI0HU", "remote_url": "https://www.backcountry.com/leatt-reaflex-pro-knee-guard?skid=LBRI0HU-BLA-L", "size": "L", "origin_color": "Black", "price": 110.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA.jpg", "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA_D2.jpg", "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA.jpg", "description": "Black, L", "colors": ["Black"]}, {"remote_code": "LBRI0HU-BLA-S", "upc": "", "email_meta": "LBRI0HU", "remote_url": "https://www.backcountry.com/leatt-reaflex-pro-knee-guard?skid=LBRI0HU-BLA-S", "size": "S", "origin_color": "Black", "price": 110.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA.jpg", "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA_D2.jpg", "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/BLA.jpg", "description": "Black, S", "colors": ["Black"]}, {"remote_code": "LBRI0HU-FLI-S", "upc": "", "email_meta": "LBRI0HU", "remote_url": "https://www.backcountry.com/leatt-reaflex-pro-knee-guard?skid=LBRI0HU-FLI-S", "size": "S", "origin_color": "Flint", "price": 110.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/FLI.jpg", "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/FLI_D2.jpg", "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/FLI_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LBR/LBRI0HU/FLI.jpg", "description": "Flint, S", "colors": ["Flint"]}]}, "remote_url": "https://www.backcountry.com/leatt-reaflex-pro-knee-guard", "parsing_type": "full", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: 'leatt-reaflex-pro-knee-guard' - parsed successfully. additional_error_text=''"}
status_code 500
error_text File "/opt/working_folder/middlewares/catch_errors_middleware/catch_500_errors.py", line 15, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 84, in call_next raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 70, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 83, in __call__ await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__ raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__ await self.app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__ raise e File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__ await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__ await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 66, in app response = await func(request) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 274, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 193, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/working_folder/api/logging_router/api/product_logging.py", line 705, in log_product_upload upsert_product_hash( File "/opt/working_folder/api/logging_router/api/product_logging.py", line 368, in upsert_product_hash db.execute(stmt) File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2362, in execute return self._execute_internal( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2256, in _execute_internal result = conn.execute( ^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1418, in execute return meth( ^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 515, in _execute_on_connection return connection._execute_clauseelement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1640, in _execute_clauseelement ret = self._execute_context( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 941, in do_execute cursor.execute(statement, parameters)