2025-12-12 13:26:32,398 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-12-12 13:26:32,398 - INFO - ya.test - pytest_runtest_setup: test_part_merge[v2-client0]
2025-12-12 13:26:32,398 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-12-12 13:26:32,399 - INFO - ya.test - pytest_runtest_setup: Test setup
2025-12-12 13:26:32,481 - INFO - ya.test - pytest_runtest_call: Test call (class_name: test_insert.py::TestS3, test_name: test_part_merge[v2-client0])
2025-12-12 13:26:32,482 - DEBUG - botocore.hooks - _emit: Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f51af1290d0>
2025-12-12 13:26:32,484 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f51af238dd0>
2025-12-12 13:26:32,485 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function lazy_call.<locals>._handler at 0x7f51ae4d8050>
2025-12-12 13:26:32,485 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f51af238ad0>
2025-12-12 13:26:32,488 - DEBUG - botocore.endpoint - create_endpoint: Setting s3 timeout as (60, 60)
2025-12-12 13:26:32,493 - DEBUG - botocore.client - _register_legacy_retries: Registering retry handlers for service: s3
2025-12-12 13:26:32,494 - DEBUG - botocore.utils - register: Registering S3 region redirector handler
2025-12-12 13:26:32,495 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:s3
2025-12-12 13:26:32,498 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:Bucket
2025-12-12 13:26:32,499 - DEBUG - boto3.resources.model - _load_name_with_category: Renaming Bucket attribute name
2025-12-12 13:26:32,500 - DEBUG - botocore.hooks - _emit: Event creating-resource-class.s3.Bucket: calling handler <function lazy_call.<locals>._handler at 0x7f51ae4d8ad0>
2025-12-12 13:26:32,501 - DEBUG - boto3.resources.action - __call__: Calling s3:create_bucket with {'Bucket': 'merge_bucket', 'ACL': 'public-read-write'}
2025-12-12 13:26:32,502 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function validate_bucket_name at 0x7f51af12af90>
2025-12-12 13:26:32,502 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f51af151850>
2025-12-12 13:26:32,502 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,502 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function generate_idempotent_uuid at 0x7f51af12ad50>
2025-12-12 13:26:32,502 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f51af151a90>
2025-12-12 13:26:32,502 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,503 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'merge_bucket', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:12075', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableAccessPoints': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:26:32,504 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:12075/merge_bucket
2025-12-12 13:26:32,504 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:26:32,504 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:26:32,505 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_expect_header at 0x7f51af12b410>
2025-12-12 13:26:32,505 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_recursion_detection_header at 0x7f51af129310>
2025-12-12 13:26:32,506 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function inject_api_version_header_if_needed at 0x7f51af150e90>
2025-12-12 13:26:32,506 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=CreateBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-acl': 'public-read-write', 'User-Agent': 'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource'}, 'body': b'', 'auth_path': '/merge_bucket/', 'url': 'http://localhost:12075/merge_bucket', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f51ae1c1730>, 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'merge_bucket', 'params': {'Bucket': 'merge_bucket', 'ACL': 'public-read-write'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-12-12 13:26:32,506 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f51ae1c2ae0>>
2025-12-12 13:26:32,507 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.CreateBucket: calling handler <bound method ClientCreator._default_s3_presign_to_sigv2 of <botocore.client.ClientCreator object at 0x7f51941a5050>>
2025-12-12 13:26:32,507 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.CreateBucket: calling handler <function set_operation_specific_signer at 0x7f51af12abd0>
2025-12-12 13:26:32,507 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.CreateBucket: calling handler <function remove_arn_from_signing_path at 0x7f51af1519d0>
2025-12-12 13:26:32,508 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:26:32,508 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/merge_bucket

host:localhost:12075
x-amz-acl:public-read-write
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20251212T132632Z

host;x-amz-acl;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2025-12-12 13:26:32,508 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132632Z
20251212/yandex/s3/aws4_request
de6e55eed2a7e0716959120ee7798f081a3bfa039f50f7c2bf7677f3e4c8196e
2025-12-12 13:26:32,508 - DEBUG - botocore.auth - add_auth: Signature:
f3fbd56ac88a328eca1f63a2ecb8ff2423c1739722923af21a177b8a7c8e1ac5
2025-12-12 13:26:32,508 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <function add_retry_headers at 0x7f51af151790>
2025-12-12 13:26:32,508 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:12075/merge_bucket, headers={'x-amz-acl': b'public-read-write', 'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource', 'X-Amz-Date': b'20251212T132632Z', 'X-Amz-Content-SHA256': b'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=host;x-amz-acl;x-amz-content-sha256;x-amz-date, Signature=f3fbd56ac88a328eca1f63a2ecb8ff2423c1739722923af21a177b8a7c8e1ac5', 'amz-sdk-invocation-id': b'6cfcca00-0b08-4691-a996-6b565f5e3a55', 'amz-sdk-request': b'attempt=1', 'Content-Length': '0'}>
2025-12-12 13:26:32,519 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:26:32 GMT', 'x-amzn-requestid': 'yGHUdkW1fVz58fOcXPnQq5Pus3U3wAEPE0W1IpGgM6Co8BoxV6Ur', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '166', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:26:32,520 - DEBUG - botocore.parsers - parse: Response body:
b'<CreateBucketResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"><CreateBucketResponse><Bucket>merge_bucket</Bucket></CreateBucketResponse></CreateBucketResponse>'
2025-12-12 13:26:32,521 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <botocore.retryhandler.RetryHandler object at 0x7f51ae62a450>
2025-12-12 13:26:32,521 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:26:32,521 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,521 - DEBUG - boto3.resources.action - __call__: Response: {'ResponseMetadata': {'RequestId': 'yGHUdkW1fVz58fOcXPnQq5Pus3U3wAEPE0W1IpGgM6Co8BoxV6Ur', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Werkzeug/2.2.3 Python/3.12.9', 'date': 'Fri, 12 Dec 2025 13:26:32 GMT', 'x-amzn-requestid': 'yGHUdkW1fVz58fOcXPnQq5Pus3U3wAEPE0W1IpGgM6Co8BoxV6Ur', 'content-type': 'text/html; charset=utf-8', 'content-length': '166', 'access-control-allow-origin': '*', 'connection': 'close'}, 'RetryAttempts': 0}}
2025-12-12 13:26:32,522 - DEBUG - boto3.resources.collection - pages: Calling paginated s3:list_objects with {'Bucket': 'merge_bucket'}
2025-12-12 13:26:32,523 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function set_list_objects_encoding_type_url at 0x7f51af150890>
2025-12-12 13:26:32,523 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function validate_bucket_name at 0x7f51af12af90>
2025-12-12 13:26:32,523 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f51af151850>
2025-12-12 13:26:32,523 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,524 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function generate_idempotent_uuid at 0x7f51af12ad50>
2025-12-12 13:26:32,524 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f51af151a90>
2025-12-12 13:26:32,524 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,524 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'merge_bucket', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:12075', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:26:32,525 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:12075/merge_bucket
2025-12-12 13:26:32,525 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:26:32,525 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:26:32,526 - DEBUG - botocore.hooks - _emit: Event before-call.s3.ListObjects: calling handler <function add_expect_header at 0x7f51af12b410>
2025-12-12 13:26:32,526 - DEBUG - botocore.hooks - _emit: Event before-call.s3.ListObjects: calling handler <function add_recursion_detection_header at 0x7f51af129310>
2025-12-12 13:26:32,526 - DEBUG - botocore.hooks - _emit: Event before-call.s3.ListObjects: calling handler <function inject_api_version_header_if_needed at 0x7f51af150e90>
2025-12-12 13:26:32,526 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=ListObjects) with params: {'url_path': '', 'query_string': {'encoding-type': 'url'}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource'}, 'body': b'', 'auth_path': '/merge_bucket/', 'url': 'http://localhost:12075/merge_bucket?encoding-type=url', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f51ae1c1730>, 'has_streaming_input': False, 'auth_type': 'v4', 'encoding_type_auto_set': True, 's3_redirect': {'redirected': False, 'bucket': 'merge_bucket', 'params': {'Bucket': 'merge_bucket', 'EncodingType': 'url'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-12-12 13:26:32,527 - DEBUG - botocore.hooks - _emit: Event request-created.s3.ListObjects: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f51ae1c2ae0>>
2025-12-12 13:26:32,528 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.ListObjects: calling handler <bound method ClientCreator._default_s3_presign_to_sigv2 of <botocore.client.ClientCreator object at 0x7f51941a5050>>
2025-12-12 13:26:32,528 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.ListObjects: calling handler <function set_operation_specific_signer at 0x7f51af12abd0>
2025-12-12 13:26:32,528 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.ListObjects: calling handler <function remove_arn_from_signing_path at 0x7f51af1519d0>
2025-12-12 13:26:32,529 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:26:32,529 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
GET
/merge_bucket
encoding-type=url
host:localhost:12075
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20251212T132632Z

host;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2025-12-12 13:26:32,529 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132632Z
20251212/yandex/s3/aws4_request
234e34991bb23a4f01232974e1735f4e7a4e36fe674bceaa8600af73eb1db658
2025-12-12 13:26:32,529 - DEBUG - botocore.auth - add_auth: Signature:
8c666eb7d77ef05d59820dc49002961da9d88e459a133ed9b73c88f288cae456
2025-12-12 13:26:32,530 - DEBUG - botocore.hooks - _emit: Event request-created.s3.ListObjects: calling handler <function add_retry_headers at 0x7f51af151790>
2025-12-12 13:26:32,530 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=GET, url=http://localhost:12075/merge_bucket?encoding-type=url, headers={'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource', 'X-Amz-Date': b'20251212T132632Z', 'X-Amz-Content-SHA256': b'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=8c666eb7d77ef05d59820dc49002961da9d88e459a133ed9b73c88f288cae456', 'amz-sdk-invocation-id': b'40bdbb32-d63c-46f4-b67f-2ad0b5678c93', 'amz-sdk-request': b'attempt=1'}>
2025-12-12 13:26:32,538 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:26:32 GMT', 'x-amzn-requestid': 'K3KwaZIZ4UGwPG8YkANmVkZ2iXAmZfwB8pcU7kNd5rLvHJtiU0SL', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '1033', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:26:32,538 - DEBUG - botocore.parsers - parse: Response body:
b'<?xml version="1.0" encoding="UTF-8"?><ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>merge_bucket</Name><MaxKeys>1000</MaxKeys><EncodingType>url</EncodingType><IsTruncated>false</IsTruncated><Contents><Key>part/foo%3D123/bar%3Dxxx/ptjudq7r577opujvnjpn_0__VCVS4YXvUy4iu5FhV49wlXd_kVaaoTz.json</Key><LastModified>2025-12-12T13:26:30.000Z</LastModified><ETag>&#34;12c844a14664aae221bb6f452256c16e&#34;</ETag><Size>28</Size><StorageClass>STANDARD</StorageClass><Owner><ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID><DisplayName>webfile</DisplayName></Owner></Contents><Contents><Key>part/foo%3D456/bar%3Dyyy/ptjudq7r56n5jhad14da_0_7fWR9EuKI02JIaIiFRzmDAClTYIGx0-G.json</Key><LastModified>2025-12-12T13:26:31.000Z</LastModified><ETag>&#34;935c86498044f3e3428e556ae87d259b&#34;</ETag><Size>14</Size><StorageClass>STANDARD</StorageClass><Owner><ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID><DisplayName>webfile</DisplayName></Owner></Contents></ListBucketResult>'
2025-12-12 13:26:32,541 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.ListObjects: calling handler <botocore.retryhandler.RetryHandler object at 0x7f51ae62a450>
2025-12-12 13:26:32,541 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:26:32,541 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.ListObjects: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,542 - DEBUG - botocore.hooks - _emit: Event after-call.s3.ListObjects: calling handler <function decode_list_object at 0x7f51af150950>
2025-12-12 13:26:32,542 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:ObjectSummary
2025-12-12 13:26:32,543 - DEBUG - boto3.resources.model - _load_name_with_category: Renaming ObjectSummary attribute key
2025-12-12 13:26:32,544 - DEBUG - botocore.hooks - _emit: Event creating-resource-class.s3.ObjectSummary: calling handler <function lazy_call.<locals>._handler at 0x7f51ae4d8c50>
2025-12-12 13:26:32,544 - DEBUG - boto3.resources.action - __call__: Calling s3:delete_objects with {'Bucket': 'merge_bucket', 'Delete': {'Objects': [{'Key': 'part/foo=123/bar=xxx/ptjudq7r577opujvnjpn_0__VCVS4YXvUy4iu5FhV49wlXd_kVaaoTz.json'}, {'Key': 'part/foo=456/bar=yyy/ptjudq7r56n5jhad14da_0_7fWR9EuKI02JIaIiFRzmDAClTYIGx0-G.json'}]}}
2025-12-12 13:26:32,545 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <function validate_bucket_name at 0x7f51af12af90>
2025-12-12 13:26:32,546 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f51af151850>
2025-12-12 13:26:32,546 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,546 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <function generate_idempotent_uuid at 0x7f51af12ad50>
2025-12-12 13:26:32,546 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f51af151a90>
2025-12-12 13:26:32,548 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,548 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'merge_bucket', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:12075', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:26:32,548 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:12075/merge_bucket
2025-12-12 13:26:32,549 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:26:32,549 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:26:32,550 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function escape_xml_payload at 0x7f51af12a990>
2025-12-12 13:26:32,550 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function add_expect_header at 0x7f51af12b410>
2025-12-12 13:26:32,550 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function add_recursion_detection_header at 0x7f51af129310>
2025-12-12 13:26:32,551 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function inject_api_version_header_if_needed at 0x7f51af150e90>
2025-12-12 13:26:32,551 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=DeleteObjects) with params: {'url_path': '?delete', 'query_string': {}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource', 'Content-MD5': 'ucllkbhbx96rKokvd31zbQ=='}, 'body': b'<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Object><Key>part/foo=123/bar=xxx/ptjudq7r577opujvnjpn_0__VCVS4YXvUy4iu5FhV49wlXd_kVaaoTz.json</Key></Object><Object><Key>part/foo=456/bar=yyy/ptjudq7r56n5jhad14da_0_7fWR9EuKI02JIaIiFRzmDAClTYIGx0-G.json</Key></Object></Delete>', 'auth_path': '/merge_bucket/', 'url': 'http://localhost:12075/merge_bucket?delete', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f51ae1c1730>, 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'merge_bucket', 'params': {'Bucket': 'merge_bucket', 'Delete': {'Objects': [{'Key': 'part/foo=123/bar=xxx/ptjudq7r577opujvnjpn_0__VCVS4YXvUy4iu5FhV49wlXd_kVaaoTz.json'}, {'Key': 'part/foo=456/bar=yyy/ptjudq7r56n5jhad14da_0_7fWR9EuKI02JIaIiFRzmDAClTYIGx0-G.json'}]}}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}, 'checksum': {'request_algorithm': 'conditional-md5'}}}
2025-12-12 13:26:32,552 - DEBUG - botocore.hooks - _emit: Event request-created.s3.DeleteObjects: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f51ae1c2ae0>>
2025-12-12 13:26:32,552 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.DeleteObjects: calling handler <bound method ClientCreator._default_s3_presign_to_sigv2 of <botocore.client.ClientCreator object at 0x7f51941a5050>>
2025-12-12 13:26:32,552 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.DeleteObjects: calling handler <function set_operation_specific_signer at 0x7f51af12abd0>
2025-12-12 13:26:32,553 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.DeleteObjects: calling handler <function remove_arn_from_signing_path at 0x7f51af1519d0>
2025-12-12 13:26:32,553 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:26:32,553 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
POST
/merge_bucket
delete=
content-md5:ucllkbhbx96rKokvd31zbQ==
host:localhost:12075
x-amz-content-sha256:eed51db9282200905e9be681da2bee5b63948b9be602a5cc53c43e79e4f5ef9c
x-amz-date:20251212T132632Z

content-md5;host;x-amz-content-sha256;x-amz-date
eed51db9282200905e9be681da2bee5b63948b9be602a5cc53c43e79e4f5ef9c
2025-12-12 13:26:32,554 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132632Z
20251212/yandex/s3/aws4_request
d868449c1ff38e35bf50f269687fb89bb4cdb5d1ba342cca6dfd6679676c8c05
2025-12-12 13:26:32,554 - DEBUG - botocore.auth - add_auth: Signature:
9b62159b22db9c9248bbd9868ce0b62a340ec3bc180e534768414c516449aaa2
2025-12-12 13:26:32,554 - DEBUG - botocore.hooks - _emit: Event request-created.s3.DeleteObjects: calling handler <function add_retry_headers at 0x7f51af151790>
2025-12-12 13:26:32,554 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=http://localhost:12075/merge_bucket?delete, headers={'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource', 'Content-MD5': b'ucllkbhbx96rKokvd31zbQ==', 'X-Amz-Date': b'20251212T132632Z', 'X-Amz-Content-SHA256': b'eed51db9282200905e9be681da2bee5b63948b9be602a5cc53c43e79e4f5ef9c', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=9b62159b22db9c9248bbd9868ce0b62a340ec3bc180e534768414c516449aaa2', 'amz-sdk-invocation-id': b'61381b7c-995c-4b68-b4a8-e9daec6f227a', 'amz-sdk-request': b'attempt=1', 'Content-Length': '283'}>
2025-12-12 13:26:32,562 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:26:32 GMT', 'x-amzn-requestid': 'QAwGmTBntPn04GCO0iW3OF4uFpi1w46cC5OIMtMrhtrBTNQ4s4lE', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '336', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:26:32,563 - DEBUG - botocore.parsers - parse: Response body:
b'<?xml version="1.0" encoding="UTF-8"?><DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01"><Deleted><Key>part/foo=123/bar=xxx/ptjudq7r577opujvnjpn_0__VCVS4YXvUy4iu5FhV49wlXd_kVaaoTz.json</Key></Deleted><Deleted><Key>part/foo=456/bar=yyy/ptjudq7r56n5jhad14da_0_7fWR9EuKI02JIaIiFRzmDAClTYIGx0-G.json</Key></Deleted></DeleteResult>'
2025-12-12 13:26:32,564 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.DeleteObjects: calling handler <botocore.retryhandler.RetryHandler object at 0x7f51ae62a450>
2025-12-12 13:26:32,564 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:26:32,565 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.DeleteObjects: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f51ae47ae00>>
2025-12-12 13:26:32,565 - DEBUG - boto3.resources.action - __call__: Response: {'ResponseMetadata': {'RequestId': 'QAwGmTBntPn04GCO0iW3OF4uFpi1w46cC5OIMtMrhtrBTNQ4s4lE', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Werkzeug/2.2.3 Python/3.12.9', 'date': 'Fri, 12 Dec 2025 13:26:32 GMT', 'x-amzn-requestid': 'QAwGmTBntPn04GCO0iW3OF4uFpi1w46cC5OIMtMrhtrBTNQ4s4lE', 'content-type': 'text/html; charset=utf-8', 'content-length': '336', 'access-control-allow-origin': '*', 'connection': 'close'}, 'RetryAttempts': 0}, 'Deleted': [{'Key': 'part/foo=123/bar=xxx/ptjudq7r577opujvnjpn_0__VCVS4YXvUy4iu5FhV49wlXd_kVaaoTz.json'}, {'Key': 'part/foo=456/bar=yyy/ptjudq7r56n5jhad14da_0_7fWR9EuKI02JIaIiFRzmDAClTYIGx0-G.json'}]}
2025-12-12 13:26:32,617 - DEBUG - root - create_query_impl: Request: content {
  type: ANALYTICS
  name: "simple"
  acl {
    visibility: PRIVATE
  }
  limits {
    execution_timeout {
    }
  }
  text: "\n            insert into `h1778165851593112922_test_part_mergembucket`.`part/foo=123/bar=xxx/` with (format=json_each_row)\n            select * from AS_TABLE([<|data:3.14|>,<|data:1.41|>]);\n            "
  syntax: YQL_V1
}
execute_mode: RUN
idempotency_key: "631d682d-2813-44ad-9f64-4e03ec269abb"

2025-12-12 13:26:32,639 - DEBUG - root - create_query_impl: Result: query_id: "ptqudq7r54cr4v69uag1"

2025-12-12 13:26:32,650 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r54cr4v69uag1"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545992
        nanos: 622934000
      }
      modified_at {
        seconds: 1765545992
        nanos: 622934000
      }
      revision: 1
    }
    execute_mode: RUN
    status: STARTING
    last_job_query_revision: 1
    last_job_id: "ptjudq7r54cr348jik0f-ptqudq7r54cr4v69uag1"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545992
      nanos: 622934000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            insert into `h1778165851593112922_test_part_mergembucket`.`part/foo=123/bar=xxx/` with (format=json_each_row)\n            select * from AS_TABLE([<|data:3.14|>,<|data:1.41|>]);\n            "
    syntax: YQL_V1
  }
}

2025-12-12 13:26:33,163 - DEBUG - root - describe_query: Result: ... (repeated, see above) ...
2025-12-12 13:26:33,673 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r54cr4v69uag1"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545992
        nanos: 622934000
      }
      modified_at {
        seconds: 1765545992
        nanos: 622934000
      }
      revision: 1
    }
    started_at {
      seconds: 1765545993
      nanos: 166000000
    }
    finished_at {
      seconds: 1765545993
      nanos: 307000000
    }
    execute_mode: RUN
    status: COMPLETED
    last_job_query_revision: 1
    last_job_id: "ptjudq7r54cr348jik0f-ptqudq7r54cr4v69uag1"
    result_expire_at {
      seconds: 1765632393
      nanos: 158418000
    }
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545992
      nanos: 622934000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            insert into `h1778165851593112922_test_part_mergembucket`.`part/foo=123/bar=xxx/` with (format=json_each_row)\n            select * from AS_TABLE([<|data:3.14|>,<|data:1.41|>]);\n            "
    syntax: YQL_V1
  }
  plan {
    json: "{\"Plan\":{\"Plans\":[{\"PlanNodeId\":2,\"Plans\":[{\"PlanNodeId\":1,\"Node Type\":\"Stage\"}],\"Operators\":[{\"Inputs\":[],\"ExternalDataSource\":\"h1778165851593112922_test_part_mergembucket\",\"Extension\":\".json\",\"Name\":\"Write h1778165851593112922_test_part_mergembucket\",\"SinkType\":\"s3\"}],\"Node Type\":\"Sink\"}],\"Node Type\":\"Query\",\"PlanNodeType\":\"Query\"},\"meta\":{\"version\":\"0.2\",\"type\":\"query\"}}"
  }
  statistics {
    json: "{\"Sink\":{\"Tasks\":{\"sum\":1,\"count\":1,\"avg\":1,\"max\":1,\"min\":1},\"CpuTimeUs\":{\"sum\":\"270us\",\"count\":1,\"avg\":\"270us\",\"max\":\"270us\",\"min\":\"270us\"},\"EgressBytes\":{\"sum\":28,\"count\":1,\"avg\":28,\"max\":28,\"min\":28},\"EgressRows\":{\"sum\":2,\"count\":1,\"avg\":2,\"max\":2,\"min\":2},\"MaxMemoryUsage\":{\"sum\":1048576,\"count\":1,\"avg\":1048576,\"max\":1048576,\"min\":1048576}}}"
  }
  ast {
    data: "(\n(let $1 \'\"cluster:default_/local/h1778165851593112922_test_part_mergembucket\")\n(let $2 (S3SinkSettings \'\"part/foo=123/bar=xxx/\" \'(\'(\'\"multipart\" \'\"true\")) (SecureParam $1) \'\".json\" (StructType \'(\'\"data\" (DataType \'Double)))))\n(let $3 (DqPhyStage \'() (lambda \'() (block \'(\n  (let $4 \'(\'(\'\"data.datetime.formatname\" \'\"POSIX\") \'(\'\"data.timestamp.formatname\" \'\"POSIX\") \'(\'\"file_size_limit\" \'\"52428800\")))\n  (return (FromFlow (S3SinkOutput (ToFlow (AsList (AsStruct \'(\'\"data\" (Double \'\"3.14\"))) (AsStruct \'(\'\"data\" (Double \'\"1.41\"))))) \'\"json_each_row\" \'() $4)))\n))) \'(\'(\'\"_logical_id\" \'234) \'(\'\"_id\" \'\"a5dd9dc1-4d8da863-582c1f88-3bb03d3a\")) \'((DqSink \'0 (DataSink \'\"s3\" \'\"/local/h1778165851593112922_test_part_mergembucket\") $2))))\n(return (KqpPhysicalQuery \'((KqpPhysicalTx \'($3) \'() \'() \'(\'(\'\"type\" \'\"generic\") \'(\'\"with_effects\")))) \'() \'(\'(\'\"type\" \'\"script\"))))\n)\n"
  }
  timeline {
    svg: "<svg width=\'1280\' height=\'61\' xmlns=\'http://www.w3.org/2000/svg\'>\n<clipPath id=\'clipTextPath\'><rect x=\'0\' y=\'0\' width=\'298\' height=\'61\'/></clipPath>\n\n<defs>\n\n<g id=\'icon_memory\'>\n  <path fill-rule=\'evenodd\' clip-rule=\'evenodd\' d=\'M5 3C3.89543 3 3 3.89543 3 5H1V7H3V9H1V11H3V13H1V15H3V17H1V19H3C3 20.1046 3.89543 21 5 21H9C10.1046 21 11 20.1046 11 19H13C13 20.1046 13.8954 21 15 21H19C20.1046 21 21 20.1046 21 19H23V17H21V15H23V13H21V11H23V9H21V7H23V5H21C21 3.89543 20.1046 3 19 3H15C13.8954 3 13 3.89543 13 5H11C11 3.89543 10.1046 3 9 3H5ZM11 7V9H13V7H11ZM11 11V13H13V11H11ZM11 15V17H13V15H11ZM5 5H9V19H5V5ZM15 5H19V19H15V5Z\' />\n</g>\n\n<g id=\'icon_cpu\'>\n  <path d=\'M13.9802 7.75H10.0102C8.76023 7.75 7.74023 8.76 7.74023 10.02V13.99C7.74023 15.24 8.75023 16.26 10.0102 16.26H13.9802C15.2302 16.26 16.2502 15.25 16.2502 13.99V10.02C16.2502 8.76 15.2402 7.75 13.9802 7.75ZM13.5002 12.98L12.6102 14.53C12.4802 14.76 12.2402 14.88 12.0002 14.88C11.8802 14.88 11.7502 14.85 11.6502 14.79C11.3102 14.6 11.1902 14.17 11.3902 13.83L12.0302 12.72H11.4702C11.0202 12.72 10.6502 12.52 10.4502 12.18C10.2502 11.84 10.2702 11.42 10.5002 11.03L11.3902 9.48C11.5902 9.14 12.0202 9.03 12.3502 9.22C12.6902 9.41 12.8102 9.84 12.6102 10.18L11.9702 11.29H12.5302C12.9802 11.29 13.3502 11.49 13.5502 11.83C13.7502 12.17 13.7302 12.59 13.5002 12.98Z\' />\n  <path d=\'M21.25 12.75C21.67 12.75 22 12.41 22 12C22 11.58 21.67 11.25 21.25 11.25H20V9.05H21.25C21.67 9.05 22 8.72 22 8.3C22 7.89 21.67 7.55 21.25 7.55H19.77C19.29 5.96 18.04 4.71 16.45 4.23V2.75C16.45 2.34 16.11 2 15.7 2C15.29 2 14.95 2.34 14.95 2.75V4H12.75V2.75C12.75 2.34 12.41 2 12 2C11.59 2 11.25 2.34 11.25 2.75V4H9.06V2.75C9.06 2.34 8.72 2 8.31 2C7.89 2 7.56 2.34 7.56 2.75V4.23C5.96 4.71 4.71 5.96 4.23 7.55H2.75C2.34 7.55 2 7.89 2 8.3C2 8.72 2.34 9.05 2.75 9.05H4V11.25H2.75C2.34 11.25 2 11.58 2 12C2 12.41 2.34 12.75 2.75 12.75H4V14.95H2.75C2.34 14.95 2 15.28 2 15.7C2 16.11 2.34 16.45 2.75 16.45H4.23C4.7 18.04 5.96 19.29 7.56 19.77V21.25C7.56 21.66 7.89 22 8.31 22C8.72 22 9.06 21.66 9.06 21.25V20H11.26V21.25C11.26 21.66 11.59 22 12.01 22C12.42 22 12.76 21.66 12.76 21.25V20H14.95V21.25C14.95 21.66 15.29 22 15.7 22C16.11 22 16.45 21.66 16.45 21.25V19.77C18.04 19.29 19.29 18.04 19.77 16.45H21.25C21.67 16.45 22 16.11 22 15.7C22 15.28 21.67 14.95 21.25 14.95H20V12.75H21.25ZM17.26 14.26C17.26 15.91 15.91 17.26 14.26 17.26H9.74C8.09 17.26 6.74 15.91 6.74 14.26V9.74C6.74 8.09 8.09 6.74 9.74 6.74H14.26C15.91 6.74 17.26 8.09 17.26 9.74V14.26Z\' />\n</g>\n\n<g id=\'icon_input\'>\n  <path d=\'M3 6L6 6L6 12L10 12L10 6L13 6V5L8 0L3 5L3 6Z\' />\n  <path d=\'M2 16L14 16V14L2 14V16Z\' />\n</g>\n\n<g id=\'icon_output\'>\n  <path d=\'M13 9H10V16H6V9L3 9V8L8 3L13 8V9Z\' />\n  <path d=\'M14 2H2V0H14V2Z\' />\n</g>\n\n</defs>\n<rect x=\'0\' y=\'27\' width=\'298\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'301\' y=\'27\' width=\'64\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'395\' y=\'27\' width=\'200\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'368\' y=\'27\' width=\'24\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'598\' y=\'27\' width=\'682\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<circle cx=\'8\' cy=\'44\' r=\'7\' stroke=\'var(--stage-main, #F2F2F2)\' stroke-width=\'1\' fill=\'var(--stage-clone, #D9D9D9)\' />\n<text text-anchor=\'middle\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'8\' y=\'48\'>0</text>\n<g><title>Memory 100%, 1.00MB</title>\n<use href=\'#icon_memory\' transform=\'translate(395 29) scale(0.6 0.6)\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <rect x=\'413\' y=\'29\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--mem-light, #AA7785)\'/>  <polygon points=\'413,29 503,29 593,29 593,43 413,43\' stroke=\'none\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n<rect x=\'413\' y=\'32\' width=\'33\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'40\'>1.00MB</text>\n</g>\n<g><title>CPU Usage 100%, 270us</title>\n<use href=\'#icon_cpu\' transform=\'translate(395 45) scale(0.6 0.6)\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <rect x=\'413\' y=\'45\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\'/>  <polygon points=\'413,45 503,45 593,45 593,59 413,59\' stroke=\'none\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n<rect x=\'413\' y=\'48\' width=\'28\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'56\'>270us</text>\n</g>\n\n<line x1=\'600\' y1=\'0\' x2=\'600\' y2=\'61\' stroke-width=\'1\' stroke=\'var(--stage-grid, #B2B2B2)\' stroke-dasharray=\'1,2\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'602\' y=\'11\'>0:00</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'0\' y=\'11\'>Sink</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'303\' y=\'11\'>Operators</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'397\' y=\'11\'>Stages</text>\n<text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'11\'>Tasks</text>\n<text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'22\'>1</text>\n<g><title>Ingress 0B, Rows 0, Avg 0B/s</title>\n  <rect x=\'395\' y=\'14\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--ingress-medium, #466364)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'397\' y=\'22\'>0B</text>\n</g>\n<g><title>CPU Usage 270us, Avg 0.00 CPU/s</title>\n  <rect x=\'462\' y=\'14\' width=\'66\' height=\'10\' stroke-width=\'0\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'464\' y=\'22\'>270us</text>\n</g>\n<g><title>Memory 1.00MB</title>\n  <rect x=\'530\' y=\'14\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'532\' y=\'22\'>1.00MB</text>\n</g>\n<g><title>Duration: 1.00, Total 1.00</title>\n  <rect x=\'1215\' y=\'3\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--stage-grid, #B2B2B2)\'/>\n  <text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-inv, #FFFFFF)\' x=\'1278\' y=\'11\'>1.00</text>\n</g>\n<g><title>Stage: </title>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'18\' y=\'38\'>Stage</text>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'22\' y=\'48\'></text></g>\n<g><title>Stage 0, tasks: 1, finished: 1</title>\n<line x1=\'371\' y1=\'27\' x2=\'371\' y2=\'61\' stroke-width=\'6\' stroke=\'var(--stage-text, #262626)\' stroke-dasharray=\'1,1\' />\n  <text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'48\'>1</text>\n</g>\n\n</svg>\n"
  }
}

2025-12-12 13:26:33,674 - DEBUG - root - create_query_impl: Request: content {
  type: ANALYTICS
  name: "simple"
  acl {
    visibility: PRIVATE
  }
  limits {
    execution_timeout {
    }
  }
  text: "\n            insert into `h1778165851593112922_test_part_mergembucket`.`part/foo=456/bar=yyy/` with (format=json_each_row)\n            select * from AS_TABLE([<|data:2.72|>]);\n            "
  syntax: YQL_V1
}
execute_mode: RUN
idempotency_key: "23ae29f0-cadd-4d9b-9aa0-c2c8e93a5797"

2025-12-12 13:26:33,696 - DEBUG - root - create_query_impl: Result: query_id: "ptqudq7r53cjvt1johfu"

2025-12-12 13:26:33,707 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r53cjvt1johfu"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545993
        nanos: 678843000
      }
      modified_at {
        seconds: 1765545993
        nanos: 678843000
      }
      revision: 1
    }
    execute_mode: RUN
    status: STARTING
    last_job_query_revision: 1
    last_job_id: "ptjudq7r53cjv48a7tfc-ptqudq7r53cjvt1johfu"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545993
      nanos: 678843000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            insert into `h1778165851593112922_test_part_mergembucket`.`part/foo=456/bar=yyy/` with (format=json_each_row)\n            select * from AS_TABLE([<|data:2.72|>]);\n            "
    syntax: YQL_V1
  }
}

2025-12-12 13:26:34,217 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r53cjvt1johfu"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545993
        nanos: 678843000
      }
      modified_at {
        seconds: 1765545993
        nanos: 678843000
      }
      revision: 1
    }
    started_at {
      seconds: 1765545994
      nanos: 167000000
    }
    execute_mode: RUN
    status: RUNNING
    last_job_query_revision: 1
    last_job_id: "ptjudq7r53cjv48a7tfc-ptqudq7r53cjvt1johfu"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545993
      nanos: 678843000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            insert into `h1778165851593112922_test_part_mergembucket`.`part/foo=456/bar=yyy/` with (format=json_each_row)\n            select * from AS_TABLE([<|data:2.72|>]);\n            "
    syntax: YQL_V1
  }
}

2025-12-12 13:26:34,731 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r53cjvt1johfu"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545993
        nanos: 678843000
      }
      modified_at {
        seconds: 1765545993
        nanos: 678843000
      }
      revision: 1
    }
    started_at {
      seconds: 1765545994
      nanos: 167000000
    }
    finished_at {
      seconds: 1765545994
      nanos: 294000000
    }
    execute_mode: RUN
    status: COMPLETED
    last_job_query_revision: 1
    last_job_id: "ptjudq7r53cjv48a7tfc-ptqudq7r53cjvt1johfu"
    result_expire_at {
      seconds: 1765632394
      nanos: 157993000
    }
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545993
      nanos: 678843000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            insert into `h1778165851593112922_test_part_mergembucket`.`part/foo=456/bar=yyy/` with (format=json_each_row)\n            select * from AS_TABLE([<|data:2.72|>]);\n            "
    syntax: YQL_V1
  }
  plan {
    json: "{\"Plan\":{\"Plans\":[{\"PlanNodeId\":2,\"Plans\":[{\"PlanNodeId\":1,\"Node Type\":\"Stage\"}],\"Operators\":[{\"Inputs\":[],\"ExternalDataSource\":\"h1778165851593112922_test_part_mergembucket\",\"Extension\":\".json\",\"Name\":\"Write h1778165851593112922_test_part_mergembucket\",\"SinkType\":\"s3\"}],\"Node Type\":\"Sink\"}],\"Node Type\":\"Query\",\"PlanNodeType\":\"Query\"},\"meta\":{\"version\":\"0.2\",\"type\":\"query\"}}"
  }
  statistics {
    json: "{\"Sink\":{\"Tasks\":{\"sum\":1,\"count\":1,\"avg\":1,\"max\":1,\"min\":1},\"CpuTimeUs\":{\"sum\":\"266us\",\"count\":1,\"avg\":\"266us\",\"max\":\"266us\",\"min\":\"266us\"},\"EgressBytes\":{\"sum\":14,\"count\":1,\"avg\":14,\"max\":14,\"min\":14},\"EgressRows\":{\"sum\":2,\"count\":1,\"avg\":2,\"max\":2,\"min\":2},\"MaxMemoryUsage\":{\"sum\":1048576,\"count\":1,\"avg\":1048576,\"max\":1048576,\"min\":1048576}}}"
  }
  ast {
    data: "(\n(let $1 \'\"cluster:default_/local/h1778165851593112922_test_part_mergembucket\")\n(let $2 (S3SinkSettings \'\"part/foo=456/bar=yyy/\" \'(\'(\'\"multipart\" \'\"true\")) (SecureParam $1) \'\".json\" (StructType \'(\'\"data\" (DataType \'Double)))))\n(let $3 (DqPhyStage \'() (lambda \'() (block \'(\n  (let $4 \'(\'(\'\"data.datetime.formatname\" \'\"POSIX\") \'(\'\"data.timestamp.formatname\" \'\"POSIX\") \'(\'\"file_size_limit\" \'\"52428800\")))\n  (return (FromFlow (S3SinkOutput (ToFlow (AsList (AsStruct \'(\'\"data\" (Double \'\"2.72\"))))) \'\"json_each_row\" \'() $4)))\n))) \'(\'(\'\"_logical_id\" \'216) \'(\'\"_id\" \'\"4d6a4b6b-2c4ce78f-37425186-3ba950b0\")) \'((DqSink \'0 (DataSink \'\"s3\" \'\"/local/h1778165851593112922_test_part_mergembucket\") $2))))\n(return (KqpPhysicalQuery \'((KqpPhysicalTx \'($3) \'() \'() \'(\'(\'\"type\" \'\"generic\") \'(\'\"with_effects\")))) \'() \'(\'(\'\"type\" \'\"script\"))))\n)\n"
  }
  timeline {
    svg: "<svg width=\'1280\' height=\'61\' xmlns=\'http://www.w3.org/2000/svg\'>\n<clipPath id=\'clipTextPath\'><rect x=\'0\' y=\'0\' width=\'298\' height=\'61\'/></clipPath>\n\n<defs>\n\n<g id=\'icon_memory\'>\n  <path fill-rule=\'evenodd\' clip-rule=\'evenodd\' d=\'M5 3C3.89543 3 3 3.89543 3 5H1V7H3V9H1V11H3V13H1V15H3V17H1V19H3C3 20.1046 3.89543 21 5 21H9C10.1046 21 11 20.1046 11 19H13C13 20.1046 13.8954 21 15 21H19C20.1046 21 21 20.1046 21 19H23V17H21V15H23V13H21V11H23V9H21V7H23V5H21C21 3.89543 20.1046 3 19 3H15C13.8954 3 13 3.89543 13 5H11C11 3.89543 10.1046 3 9 3H5ZM11 7V9H13V7H11ZM11 11V13H13V11H11ZM11 15V17H13V15H11ZM5 5H9V19H5V5ZM15 5H19V19H15V5Z\' />\n</g>\n\n<g id=\'icon_cpu\'>\n  <path d=\'M13.9802 7.75H10.0102C8.76023 7.75 7.74023 8.76 7.74023 10.02V13.99C7.74023 15.24 8.75023 16.26 10.0102 16.26H13.9802C15.2302 16.26 16.2502 15.25 16.2502 13.99V10.02C16.2502 8.76 15.2402 7.75 13.9802 7.75ZM13.5002 12.98L12.6102 14.53C12.4802 14.76 12.2402 14.88 12.0002 14.88C11.8802 14.88 11.7502 14.85 11.6502 14.79C11.3102 14.6 11.1902 14.17 11.3902 13.83L12.0302 12.72H11.4702C11.0202 12.72 10.6502 12.52 10.4502 12.18C10.2502 11.84 10.2702 11.42 10.5002 11.03L11.3902 9.48C11.5902 9.14 12.0202 9.03 12.3502 9.22C12.6902 9.41 12.8102 9.84 12.6102 10.18L11.9702 11.29H12.5302C12.9802 11.29 13.3502 11.49 13.5502 11.83C13.7502 12.17 13.7302 12.59 13.5002 12.98Z\' />\n  <path d=\'M21.25 12.75C21.67 12.75 22 12.41 22 12C22 11.58 21.67 11.25 21.25 11.25H20V9.05H21.25C21.67 9.05 22 8.72 22 8.3C22 7.89 21.67 7.55 21.25 7.55H19.77C19.29 5.96 18.04 4.71 16.45 4.23V2.75C16.45 2.34 16.11 2 15.7 2C15.29 2 14.95 2.34 14.95 2.75V4H12.75V2.75C12.75 2.34 12.41 2 12 2C11.59 2 11.25 2.34 11.25 2.75V4H9.06V2.75C9.06 2.34 8.72 2 8.31 2C7.89 2 7.56 2.34 7.56 2.75V4.23C5.96 4.71 4.71 5.96 4.23 7.55H2.75C2.34 7.55 2 7.89 2 8.3C2 8.72 2.34 9.05 2.75 9.05H4V11.25H2.75C2.34 11.25 2 11.58 2 12C2 12.41 2.34 12.75 2.75 12.75H4V14.95H2.75C2.34 14.95 2 15.28 2 15.7C2 16.11 2.34 16.45 2.75 16.45H4.23C4.7 18.04 5.96 19.29 7.56 19.77V21.25C7.56 21.66 7.89 22 8.31 22C8.72 22 9.06 21.66 9.06 21.25V20H11.26V21.25C11.26 21.66 11.59 22 12.01 22C12.42 22 12.76 21.66 12.76 21.25V20H14.95V21.25C14.95 21.66 15.29 22 15.7 22C16.11 22 16.45 21.66 16.45 21.25V19.77C18.04 19.29 19.29 18.04 19.77 16.45H21.25C21.67 16.45 22 16.11 22 15.7C22 15.28 21.67 14.95 21.25 14.95H20V12.75H21.25ZM17.26 14.26C17.26 15.91 15.91 17.26 14.26 17.26H9.74C8.09 17.26 6.74 15.91 6.74 14.26V9.74C6.74 8.09 8.09 6.74 9.74 6.74H14.26C15.91 6.74 17.26 8.09 17.26 9.74V14.26Z\' />\n</g>\n\n<g id=\'icon_input\'>\n  <path d=\'M3 6L6 6L6 12L10 12L10 6L13 6V5L8 0L3 5L3 6Z\' />\n  <path d=\'M2 16L14 16V14L2 14V16Z\' />\n</g>\n\n<g id=\'icon_output\'>\n  <path d=\'M13 9H10V16H6V9L3 9V8L8 3L13 8V9Z\' />\n  <path d=\'M14 2H2V0H14V2Z\' />\n</g>\n\n</defs>\n<rect x=\'0\' y=\'27\' width=\'298\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'301\' y=\'27\' width=\'64\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'395\' y=\'27\' width=\'200\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'368\' y=\'27\' width=\'24\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'598\' y=\'27\' width=\'682\' height=\'34\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<circle cx=\'8\' cy=\'44\' r=\'7\' stroke=\'var(--stage-main, #F2F2F2)\' stroke-width=\'1\' fill=\'var(--stage-clone, #D9D9D9)\' />\n<text text-anchor=\'middle\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'8\' y=\'48\'>0</text>\n<g><title>Memory 100%, 1.00MB</title>\n<use href=\'#icon_memory\' transform=\'translate(395 29) scale(0.6 0.6)\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <rect x=\'413\' y=\'29\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--mem-light, #AA7785)\'/>  <polygon points=\'413,29 503,29 593,29 593,43 413,43\' stroke=\'none\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n<rect x=\'413\' y=\'32\' width=\'33\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'40\'>1.00MB</text>\n</g>\n<g><title>CPU Usage 100%, 266us</title>\n<use href=\'#icon_cpu\' transform=\'translate(395 45) scale(0.6 0.6)\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <rect x=\'413\' y=\'45\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\'/>  <polygon points=\'413,45 503,45 593,45 593,59 413,59\' stroke=\'none\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n<rect x=\'413\' y=\'48\' width=\'28\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'56\'>266us</text>\n</g>\n\n<line x1=\'600\' y1=\'0\' x2=\'600\' y2=\'61\' stroke-width=\'1\' stroke=\'var(--stage-grid, #B2B2B2)\' stroke-dasharray=\'1,2\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'602\' y=\'11\'>0:00</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'0\' y=\'11\'>Sink</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'303\' y=\'11\'>Operators</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'397\' y=\'11\'>Stages</text>\n<text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'11\'>Tasks</text>\n<text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'22\'>1</text>\n<g><title>Ingress 0B, Rows 0, Avg 0B/s</title>\n  <rect x=\'395\' y=\'14\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--ingress-medium, #466364)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'397\' y=\'22\'>0B</text>\n</g>\n<g><title>CPU Usage 266us, Avg 0.00 CPU/s</title>\n  <rect x=\'462\' y=\'14\' width=\'66\' height=\'10\' stroke-width=\'0\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'464\' y=\'22\'>266us</text>\n</g>\n<g><title>Memory 1.00MB</title>\n  <rect x=\'530\' y=\'14\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'532\' y=\'22\'>1.00MB</text>\n</g>\n<g><title>Duration: 1.00, Total 1.00</title>\n  <rect x=\'1215\' y=\'3\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--stage-grid, #B2B2B2)\'/>\n  <text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-inv, #FFFFFF)\' x=\'1278\' y=\'11\'>1.00</text>\n</g>\n<g><title>Stage: </title>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'18\' y=\'38\'>Stage</text>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'22\' y=\'48\'></text></g>\n<g><title>Stage 0, tasks: 1, finished: 1</title>\n<line x1=\'371\' y1=\'27\' x2=\'371\' y2=\'61\' stroke-width=\'6\' stroke=\'var(--stage-text, #262626)\' stroke-dasharray=\'1,1\' />\n  <text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'48\'>1</text>\n</g>\n\n</svg>\n"
  }
}

2025-12-12 13:26:34,732 - DEBUG - root - create_query_impl: Request: content {
  type: ANALYTICS
  name: "simple"
  acl {
    visibility: PRIVATE
  }
  limits {
    execution_timeout {
    }
  }
  text: "\n            select foo, bar, data from `h1778165851593112922_test_part_mergembucket`.`part` with (format=json_each_row, partitioned_by=(foo, bar), schema(\n                foo Int NOT NULL,\n                bar String NOT NULL,\n                data Float NOT NULL\n            )) order by foo, data\n            "
  syntax: YQL_V1
}
execute_mode: RUN
idempotency_key: "7603bdaf-82b8-4d24-b194-e54c97346a0c"

2025-12-12 13:26:34,761 - DEBUG - root - create_query_impl: Result: query_id: "ptqudq7r52ca5k0t8e16"

2025-12-12 13:26:34,775 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r52ca5k0t8e16"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545994
        nanos: 737475000
      }
      modified_at {
        seconds: 1765545994
        nanos: 737475000
      }
      revision: 1
    }
    execute_mode: RUN
    status: STARTING
    last_job_query_revision: 1
    last_job_id: "ptjudq7r52ca4to9if51-ptqudq7r52ca5k0t8e16"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545994
      nanos: 737475000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            select foo, bar, data from `h1778165851593112922_test_part_mergembucket`.`part` with (format=json_each_row, partitioned_by=(foo, bar), schema(\n                foo Int NOT NULL,\n                bar String NOT NULL,\n                data Float NOT NULL\n            )) order by foo, data\n            "
    syntax: YQL_V1
  }
}

2025-12-12 13:26:35,289 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r52ca5k0t8e16"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545994
        nanos: 737475000
      }
      modified_at {
        seconds: 1765545994
        nanos: 737475000
      }
      revision: 1
    }
    started_at {
      seconds: 1765545995
      nanos: 175000000
    }
    execute_mode: RUN
    status: RUNNING
    last_job_query_revision: 1
    last_job_id: "ptjudq7r52ca4to9if51-ptqudq7r52ca5k0t8e16"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545994
      nanos: 737475000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            select foo, bar, data from `h1778165851593112922_test_part_mergembucket`.`part` with (format=json_each_row, partitioned_by=(foo, bar), schema(\n                foo Int NOT NULL,\n                bar String NOT NULL,\n                data Float NOT NULL\n            )) order by foo, data\n            "
    syntax: YQL_V1
  }
  statistics {
    json: "{}"
  }
  timeline {
    svg: "<svg width=\'1280\' height=\'0\' xmlns=\'http://www.w3.org/2000/svg\'>\n<clipPath id=\'clipTextPath\'><rect x=\'0\' y=\'0\' width=\'298\' height=\'0\'/></clipPath>\n\n<defs>\n\n<g id=\'icon_memory\'>\n  <path fill-rule=\'evenodd\' clip-rule=\'evenodd\' d=\'M5 3C3.89543 3 3 3.89543 3 5H1V7H3V9H1V11H3V13H1V15H3V17H1V19H3C3 20.1046 3.89543 21 5 21H9C10.1046 21 11 20.1046 11 19H13C13 20.1046 13.8954 21 15 21H19C20.1046 21 21 20.1046 21 19H23V17H21V15H23V13H21V11H23V9H21V7H23V5H21C21 3.89543 20.1046 3 19 3H15C13.8954 3 13 3.89543 13 5H11C11 3.89543 10.1046 3 9 3H5ZM11 7V9H13V7H11ZM11 11V13H13V11H11ZM11 15V17H13V15H11ZM5 5H9V19H5V5ZM15 5H19V19H15V5Z\' />\n</g>\n\n<g id=\'icon_cpu\'>\n  <path d=\'M13.9802 7.75H10.0102C8.76023 7.75 7.74023 8.76 7.74023 10.02V13.99C7.74023 15.24 8.75023 16.26 10.0102 16.26H13.9802C15.2302 16.26 16.2502 15.25 16.2502 13.99V10.02C16.2502 8.76 15.2402 7.75 13.9802 7.75ZM13.5002 12.98L12.6102 14.53C12.4802 14.76 12.2402 14.88 12.0002 14.88C11.8802 14.88 11.7502 14.85 11.6502 14.79C11.3102 14.6 11.1902 14.17 11.3902 13.83L12.0302 12.72H11.4702C11.0202 12.72 10.6502 12.52 10.4502 12.18C10.2502 11.84 10.2702 11.42 10.5002 11.03L11.3902 9.48C11.5902 9.14 12.0202 9.03 12.3502 9.22C12.6902 9.41 12.8102 9.84 12.6102 10.18L11.9702 11.29H12.5302C12.9802 11.29 13.3502 11.49 13.5502 11.83C13.7502 12.17 13.7302 12.59 13.5002 12.98Z\' />\n  <path d=\'M21.25 12.75C21.67 12.75 22 12.41 22 12C22 11.58 21.67 11.25 21.25 11.25H20V9.05H21.25C21.67 9.05 22 8.72 22 8.3C22 7.89 21.67 7.55 21.25 7.55H19.77C19.29 5.96 18.04 4.71 16.45 4.23V2.75C16.45 2.34 16.11 2 15.7 2C15.29 2 14.95 2.34 14.95 2.75V4H12.75V2.75C12.75 2.34 12.41 2 12 2C11.59 2 11.25 2.34 11.25 2.75V4H9.06V2.75C9.06 2.34 8.72 2 8.31 2C7.89 2 7.56 2.34 7.56 2.75V4.23C5.96 4.71 4.71 5.96 4.23 7.55H2.75C2.34 7.55 2 7.89 2 8.3C2 8.72 2.34 9.05 2.75 9.05H4V11.25H2.75C2.34 11.25 2 11.58 2 12C2 12.41 2.34 12.75 2.75 12.75H4V14.95H2.75C2.34 14.95 2 15.28 2 15.7C2 16.11 2.34 16.45 2.75 16.45H4.23C4.7 18.04 5.96 19.29 7.56 19.77V21.25C7.56 21.66 7.89 22 8.31 22C8.72 22 9.06 21.66 9.06 21.25V20H11.26V21.25C11.26 21.66 11.59 22 12.01 22C12.42 22 12.76 21.66 12.76 21.25V20H14.95V21.25C14.95 21.66 15.29 22 15.7 22C16.11 22 16.45 21.66 16.45 21.25V19.77C18.04 19.29 19.29 18.04 19.77 16.45H21.25C21.67 16.45 22 16.11 22 15.7C22 15.28 21.67 14.95 21.25 14.95H20V12.75H21.25ZM17.26 14.26C17.26 15.91 15.91 17.26 14.26 17.26H9.74C8.09 17.26 6.74 15.91 6.74 14.26V9.74C6.74 8.09 8.09 6.74 9.74 6.74H14.26C15.91 6.74 17.26 8.09 17.26 9.74V14.26Z\' />\n</g>\n\n<g id=\'icon_input\'>\n  <path d=\'M3 6L6 6L6 12L10 12L10 6L13 6V5L8 0L3 5L3 6Z\' />\n  <path d=\'M2 16L14 16V14L2 14V16Z\' />\n</g>\n\n<g id=\'icon_output\'>\n  <path d=\'M13 9H10V16H6V9L3 9V8L8 3L13 8V9Z\' />\n  <path d=\'M14 2H2V0H14V2Z\' />\n</g>\n\n</defs>\n\n<line x1=\'600\' y1=\'0\' x2=\'600\' y2=\'0\' stroke-width=\'1\' stroke=\'var(--stage-grid, #B2B2B2)\' stroke-dasharray=\'1,2\'/>\n\n</svg>\n"
  }
}

2025-12-12 13:26:35,800 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r52ca5k0t8e16"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545994
        nanos: 737475000
      }
      modified_at {
        seconds: 1765545994
        nanos: 737475000
      }
      revision: 1
    }
    started_at {
      seconds: 1765545995
      nanos: 175000000
    }
    finished_at {
      seconds: 1765545995
      nanos: 436000000
    }
    execute_mode: RUN
    status: COMPLETED
    last_job_query_revision: 1
    last_job_id: "ptjudq7r52ca4to9if51-ptqudq7r52ca5k0t8e16"
    result_expire_at {
      seconds: 1765632395
      nanos: 163320000
    }
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545994
      nanos: 737475000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            select foo, bar, data from `h1778165851593112922_test_part_mergembucket`.`part` with (format=json_each_row, partitioned_by=(foo, bar), schema(\n                foo Int NOT NULL,\n                bar String NOT NULL,\n                data Float NOT NULL\n            )) order by foo, data\n            "
    syntax: YQL_V1
  }
  plan {
    json: "{\"Plan\":{\"Plans\":[{\"PlanNodeId\":5,\"Plans\":[{\"PlanNodeId\":4,\"Plans\":[{\"PlanNodeId\":3,\"Plans\":[{\"PlanNodeId\":2,\"Plans\":[{\"PlanNodeId\":1,\"Operators\":[{\"E-Size\":\"0\",\"Format\":\"json_each_row\",\"Name\":\"h1778165851593112922_test_part_mergembucket.part \",\"Inputs\":[],\"Path\":\"part \",\"E-Rows\":\"0\",\"ExternalDataSource\":\"h1778165851593112922_test_part_mergembucket\",\"ReadColumns\":[\"bar\",\"data\",\"foo\"],\"SourceType\":\"s3\",\"E-Cost\":\"0\"}],\"Node Type\":\"Source\"}],\"Operators\":[{\"Inputs\":[{\"ExternalPlanNodeId\":1},{\"InternalOperatorId\":1}],\"SortBy\":\"[row.foo,row.data]\",\"Name\":\"Sort\"},{\"Inputs\":[],\"Name\":\"Union\"}],\"Node Type\":\"Sort-Union\"}],\"Node Type\":\"Merge\",\"SortColumns\":[\"foo (Asc)\",\"data (Asc)\"],\"PlanNodeType\":\"Connection\"}],\"Node Type\":\"Stage\"}],\"Node Type\":\"ResultSet\",\"PlanNodeType\":\"ResultSet\"}],\"Node Type\":\"Query\",\"PlanNodeType\":\"Query\"},\"meta\":{\"version\":\"0.2\",\"type\":\"query\"}}"
  }
  statistics {
    json: "{\"ResultSet\":{\"Tasks\":{\"sum\":3,\"count\":2,\"avg\":1,\"max\":2,\"min\":1},\"CpuTimeUs\":{\"sum\":\"1ms\",\"count\":2,\"avg\":\"642us\",\"max\":\"1ms\",\"min\":\"188us\"},\"IngressBytes\":{\"sum\":42,\"count\":1,\"avg\":42,\"max\":42,\"min\":42},\"IngressRows\":{\"sum\":3,\"count\":1,\"avg\":3,\"max\":3,\"min\":3},\"InputBytes\":{\"sum\":40,\"count\":1,\"avg\":40,\"max\":40,\"min\":40},\"InputRows\":{\"sum\":3,\"count\":1,\"avg\":3,\"max\":3,\"min\":3},\"OutputBytes\":{\"sum\":75,\"count\":2,\"avg\":37,\"max\":40,\"min\":35},\"OutputRows\":{\"sum\":6,\"count\":2,\"avg\":3,\"max\":3,\"min\":3},\"ResultBytes\":{\"sum\":35,\"count\":1,\"avg\":35,\"max\":35,\"min\":35},\"ResultRows\":{\"sum\":3,\"count\":1,\"avg\":3,\"max\":3,\"min\":3},\"MaxMemoryUsage\":{\"sum\":422576128,\"count\":2,\"avg\":211288064,\"max\":421527552,\"min\":1048576}}}"
  }
  result_set_meta {
    column {
      name: "foo"
      type {
        type_id: INT32
      }
    }
    column {
      name: "bar"
      type {
        type_id: STRING
      }
    }
    column {
      name: "data"
      type {
        type_id: FLOAT
      }
    }
    rows_count: 3
  }
  ast {
    data: "(\n(let $1 (DataSource \'\"s3\" \'\"/local/h1778165851593112922_test_part_mergembucket\"))\n(let $2 \'\"Paths {\\n  Name: \\\"part\\\"\\n  Children {\\n    Name: \\\"foo=123\\\"\\n    Children {\\n      Name: \\\"bar=xxx\\\"\\n      Children {\\n        Name: \\\"ptjudq7r54cr348jik0f_0_FmTa8IYANEGt7ce4w6jWv2iH7td1wQXY.json\\\"\\n        Size: 28\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $3 (Bool \'true))\n(let $4 (AsStruct \'(\'\"bar\" (String \'\"xxx\")) \'(\'\"foo\" (Int32 \'\"123\"))))\n(let $5 \'((String $2) $3 $4))\n(let $6 \'\"Paths {\\n  Name: \\\"part\\\"\\n  Children {\\n    Name: \\\"foo=456\\\"\\n    Children {\\n      Name: \\\"bar=yyy\\\"\\n      Children {\\n        Name: \\\"ptjudq7r53cjv48a7tfc_0_7TlE9o5P8k-OzSJoaTkrJS_9BCfSCw7D.json\\\"\\n        Size: 14\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $7 (AsStruct \'(\'\"bar\" (String \'\"yyy\")) \'(\'\"foo\" (Int32 \'\"456\"))))\n(let $8 \'((String $6) $3 $7))\n(let $9 \'\"cluster:default_/local/h1778165851593112922_test_part_mergembucket\")\n(let $10 (StructType \'(\'\"bar\" (DataType \'String)) \'(\'\"data\" (DataType \'Float)) \'(\'\"foo\" (DataType \'Int32))))\n(let $11 (S3ParseSettings world \'($5 $8) (SecureParam $9) \'\"\" \'\"part \" \'\"json_each_row\" $10 (lambda \'($18) $3) \'(\'(\'\"partitionedby\" \'\"foo\" \'\"bar\"))))\n(let $12 \'(\'(\'\"_logical_id\" \'608) \'(\'\"_id\" \'\"c09e5602-47b2aa70-7c69b479-a887e58d\") \'(\'\"_wide_channels\" $10)))\n(let $13 (DqPhyStage \'((DqSource $1 $11)) (lambda \'($19) (block \'(\n  (let $20 (Uint64 \'1))\n  (let $21 (DqSourceWideWrap $19 $1 $10 \'(\'(\'format \'\"json_each_row\") \'(\'\"extraColumns\" (OrderedExtend (Replicate $4 $20) (Replicate $7 $20))))))\n  (return (FromFlow (WideSort $21 \'(\'(\'2 $3) \'(\'1 $3)))))\n))) $12))\n(let $14 (DqCnMerge (TDqOutput $13 \'\"0\") \'(\'(\'2 \'\"Asc\") \'(\'1 \'\"Asc\"))))\n(let $15 (DqPhyStage \'($14) (lambda \'($22) (FromFlow (NarrowMap (ToFlow $22) (lambda \'($23 $24 $25) (AsStruct \'(\'\"bar\" $23) \'(\'\"data\" $24) \'(\'\"foo\" $25)))))) \'(\'(\'\"_logical_id\" \'620) \'(\'\"_id\" \'\"14b73053-14d84c4d-8c0abf13-6eecb12b\"))))\n(let $16 \'(\'\"foo\" \'\"bar\" \'\"data\"))\n(let $17 (DqCnResult (TDqOutput $15 \'\"0\") $16))\n(return (KqpPhysicalQuery \'((KqpPhysicalTx \'($13 $15) \'($17) \'() \'(\'(\'\"type\" \'\"generic\")))) \'((KqpTxResultBinding (ListType $10) \'\"0\" \'\"0\")) \'(\'(\'\"type\" \'\"script\"))))\n)\n"
  }
  timeline {
    svg: "<svg width=\'1280\' height=\'162\' xmlns=\'http://www.w3.org/2000/svg\'>\n<clipPath id=\'clipTextPath\'><rect x=\'0\' y=\'0\' width=\'298\' height=\'162\'/></clipPath>\n\n<defs>\n\n<g id=\'icon_memory\'>\n  <path fill-rule=\'evenodd\' clip-rule=\'evenodd\' d=\'M5 3C3.89543 3 3 3.89543 3 5H1V7H3V9H1V11H3V13H1V15H3V17H1V19H3C3 20.1046 3.89543 21 5 21H9C10.1046 21 11 20.1046 11 19H13C13 20.1046 13.8954 21 15 21H19C20.1046 21 21 20.1046 21 19H23V17H21V15H23V13H21V11H23V9H21V7H23V5H21C21 3.89543 20.1046 3 19 3H15C13.8954 3 13 3.89543 13 5H11C11 3.89543 10.1046 3 9 3H5ZM11 7V9H13V7H11ZM11 11V13H13V11H11ZM11 15V17H13V15H11ZM5 5H9V19H5V5ZM15 5H19V19H15V5Z\' />\n</g>\n\n<g id=\'icon_cpu\'>\n  <path d=\'M13.9802 7.75H10.0102C8.76023 7.75 7.74023 8.76 7.74023 10.02V13.99C7.74023 15.24 8.75023 16.26 10.0102 16.26H13.9802C15.2302 16.26 16.2502 15.25 16.2502 13.99V10.02C16.2502 8.76 15.2402 7.75 13.9802 7.75ZM13.5002 12.98L12.6102 14.53C12.4802 14.76 12.2402 14.88 12.0002 14.88C11.8802 14.88 11.7502 14.85 11.6502 14.79C11.3102 14.6 11.1902 14.17 11.3902 13.83L12.0302 12.72H11.4702C11.0202 12.72 10.6502 12.52 10.4502 12.18C10.2502 11.84 10.2702 11.42 10.5002 11.03L11.3902 9.48C11.5902 9.14 12.0202 9.03 12.3502 9.22C12.6902 9.41 12.8102 9.84 12.6102 10.18L11.9702 11.29H12.5302C12.9802 11.29 13.3502 11.49 13.5502 11.83C13.7502 12.17 13.7302 12.59 13.5002 12.98Z\' />\n  <path d=\'M21.25 12.75C21.67 12.75 22 12.41 22 12C22 11.58 21.67 11.25 21.25 11.25H20V9.05H21.25C21.67 9.05 22 8.72 22 8.3C22 7.89 21.67 7.55 21.25 7.55H19.77C19.29 5.96 18.04 4.71 16.45 4.23V2.75C16.45 2.34 16.11 2 15.7 2C15.29 2 14.95 2.34 14.95 2.75V4H12.75V2.75C12.75 2.34 12.41 2 12 2C11.59 2 11.25 2.34 11.25 2.75V4H9.06V2.75C9.06 2.34 8.72 2 8.31 2C7.89 2 7.56 2.34 7.56 2.75V4.23C5.96 4.71 4.71 5.96 4.23 7.55H2.75C2.34 7.55 2 7.89 2 8.3C2 8.72 2.34 9.05 2.75 9.05H4V11.25H2.75C2.34 11.25 2 11.58 2 12C2 12.41 2.34 12.75 2.75 12.75H4V14.95H2.75C2.34 14.95 2 15.28 2 15.7C2 16.11 2.34 16.45 2.75 16.45H4.23C4.7 18.04 5.96 19.29 7.56 19.77V21.25C7.56 21.66 7.89 22 8.31 22C8.72 22 9.06 21.66 9.06 21.25V20H11.26V21.25C11.26 21.66 11.59 22 12.01 22C12.42 22 12.76 21.66 12.76 21.25V20H14.95V21.25C14.95 21.66 15.29 22 15.7 22C16.11 22 16.45 21.66 16.45 21.25V19.77C18.04 19.29 19.29 18.04 19.77 16.45H21.25C21.67 16.45 22 16.11 22 15.7C22 15.28 21.67 14.95 21.25 14.95H20V12.75H21.25ZM17.26 14.26C17.26 15.91 15.91 17.26 14.26 17.26H9.74C8.09 17.26 6.74 15.91 6.74 14.26V9.74C6.74 8.09 8.09 6.74 9.74 6.74H14.26C15.91 6.74 17.26 8.09 17.26 9.74V14.26Z\' />\n</g>\n\n<g id=\'icon_input\'>\n  <path d=\'M3 6L6 6L6 12L10 12L10 6L13 6V5L8 0L3 5L3 6Z\' />\n  <path d=\'M2 16L14 16V14L2 14V16Z\' />\n</g>\n\n<g id=\'icon_output\'>\n  <path d=\'M13 9H10V16H6V9L3 9V8L8 3L13 8V9Z\' />\n  <path d=\'M14 2H2V0H14V2Z\' />\n</g>\n\n</defs>\n<rect x=\'0\' y=\'27\' width=\'298\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'301\' y=\'27\' width=\'64\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'395\' y=\'27\' width=\'200\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'368\' y=\'27\' width=\'24\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'598\' y=\'27\' width=\'682\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<circle cx=\'8\' cy=\'60\' r=\'7\' stroke=\'var(--stage-main, #F2F2F2)\' stroke-width=\'1\' fill=\'var(--stage-clone, #D9D9D9)\' />\n<text text-anchor=\'middle\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'8\' y=\'64\'>1</text>\n<g><title>Output Rows 33%, 3</title>\n  <rect x=\'303\' y=\'33\' width=\'60\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,33 333,33 363,33 363,47 303,47\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'303\' y=\'36\' width=\'5\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'303\' y=\'44\'>3</text>\n</g>\n<g><title>Output 46%, 35B, Rows 50%, 3</title>\n<use href=\'#icon_output\' transform=\'translate(395 29) scale(0.9 0.9)\' fill=\'var(--output-medium, #5781B9)\'/>\n  <rect x=\'413\' y=\'29\' width=\'157\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'413,29 491,29 570,29 570,43 413,43\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'413\' y=\'32\' width=\'16\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'40\'>35B</text>\n</g>\n<g><title>Output, Duration: 0.00 (0.01 | 0.01 | 0.01 - 0.01 | 0.01 | 0.01)</title><rect x=\'604\' y=\'29\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-medium, #5781B9)\'/>\n</g>\n<g><title>Memory 0%, 1.00MB</title>\n<use href=\'#icon_memory\' transform=\'translate(395 45) scale(0.6 0.6)\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <rect x=\'413\' y=\'45\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--mem-light, #AA7785)\'/>  <polygon points=\'413,45 413,45 413,45 413,59 413,59\' stroke=\'none\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n<rect x=\'413\' y=\'48\' width=\'33\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'56\'>1.00MB</text>\n</g>\n<g><title>CPU Usage 14%, 188us</title>\n<use href=\'#icon_cpu\' transform=\'translate(395 61) scale(0.6 0.6)\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <rect x=\'413\' y=\'61\' width=\'30\' height=\'14\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\'/>  <polygon points=\'413,61 428,61 443,61 443,75 413,75\' stroke=\'none\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n<rect x=\'413\' y=\'64\' width=\'28\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'72\'>188us</text>\n</g>\n<g><title>Input 100%, 40B, Rows 100%, 3, Width 13B</title>\n<use href=\'#icon_input\' transform=\'translate(395 77) scale(0.9 0.9)\' fill=\'var(--input-medium, #5A8183)\'/>\n  <rect x=\'413\' y=\'77\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--input-light, #7CA3A5)\'/>  <polygon points=\'413,77 503,77 593,77 593,91 413,91\' stroke=\'none\' fill=\'var(--input-medium, #5A8183)\'/>\n<rect x=\'413\' y=\'80\' width=\'16\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'88\'>40B</text>\n</g>\n<g><title>Input, Duration: 0.00 (0.00 | 0.00 | 0.00 - 0.01 | 0.01 | 0.01)</title><rect x=\'602\' y=\'77\' width=\'2\' height=\'14\' stroke-width=\'0\' fill=\'var(--input-medium, #5A8183)\'/>\n</g>\n<rect x=\'0\' y=\'96\' width=\'298\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'301\' y=\'96\' width=\'64\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'395\' y=\'96\' width=\'200\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'368\' y=\'96\' width=\'24\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<rect x=\'598\' y=\'96\' width=\'682\' height=\'66\' stroke-width=\'0\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<circle cx=\'8\' cy=\'129\' r=\'7\' stroke=\'var(--stage-main, #F2F2F2)\' stroke-width=\'1\' fill=\'var(--stage-clone, #D9D9D9)\' />\n<text text-anchor=\'middle\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'8\' y=\'133\'>0</text>\n<g><title>Output Rows 33%, \342\210\2213, 1 | 1 | 2</title>\n  <rect x=\'303\' y=\'102\' width=\'60\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,102 303,109 363,109 363,116 303,116\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'303\' y=\'105\' width=\'5\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'303\' y=\'113\'>3</text>\n</g>\n<g><title>Output Rows 33%, \342\210\2213, 1 | 1 | 2, Est: 0 Rows: 0 Size: 0B</title>\n  <rect x=\'303\' y=\'142\' width=\'60\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,142 303,149 363,149 363,156 303,156\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'303\' y=\'145\' width=\'5\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'303\' y=\'153\'>3</text>\n</g>\n<g><title>Output 53%, \342\210\22140B, 15B | 20B | 25B, Rows 50%, \342\210\2213, 1 | 1 | 2</title>\n<use href=\'#icon_output\' transform=\'translate(395 98) scale(0.9 0.9)\' fill=\'var(--output-medium, #5781B9)\'/>\n  <rect x=\'413\' y=\'98\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'413,98 503,101 593,104 593,112 413,112\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'413\' y=\'101\' width=\'16\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'109\'>40B</text>\n</g>\n<g><title>Output 9.76KB/s, Rows 750/s, Duration: 0.00 (0.00 | 0.00 | 0.01 - 0.00 | 0.00 | 0.01)</title><rect x=\'602\' y=\'98\' width=\'2\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-medium, #5781B9)\'/>\n</g>\n<g><title>Memory 99%, \342\210\221402.00MB, 201.00MB | 201.00MB | 201.00MB</title>\n<use href=\'#icon_memory\' transform=\'translate(395 114) scale(0.6 0.6)\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <rect x=\'413\' y=\'114\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--mem-light, #AA7785)\'/>  <polygon points=\'413,114 503,114 593,114 593,128 413,128\' stroke=\'none\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n<rect x=\'413\' y=\'117\' width=\'44\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'125\'>402.00MB</text>\n</g>\n<g><title>CPU Usage 85%, \342\210\2211ms, 480us | 548us | 617us</title>\n<use href=\'#icon_cpu\' transform=\'translate(395 130) scale(0.6 0.6)\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <rect x=\'413\' y=\'130\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\'/>  <polygon points=\'413,130 502,132 593,134 593,144 413,144\' stroke=\'none\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n<rect x=\'413\' y=\'133\' width=\'16\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'141\'>1ms</text>\n</g>\n<g><title>Input Throughput 10.50K/s</title>\n  <rect x=\'368\' y=\'96\' width=\'24\' height=\'66\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\' opacity=\'0.5\'/>\n</g>\n<g><title>Ingress 100%, \342\210\22142B, 14B | 21B | 28B, Rows 100%, \342\210\2213, 1 | 1 | 2, Width 14B</title>\n<use href=\'#icon_input\' transform=\'translate(395 146) scale(0.9 0.9)\' fill=\'var(--ingress-medium, #466364)\'/>\n  <rect x=\'413\' y=\'146\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--ingress-light, #5A8183)\'/>  <polygon points=\'413,146 503,150 593,153 593,160 413,160\' stroke=\'none\' fill=\'var(--ingress-medium, #466364)\'/>\n<rect x=\'413\' y=\'149\' width=\'16\' height=\'9\' stroke-width=\'0\' opacity=\'0.5\' fill=\'var(--stage-main, #F2F2F2)\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-summary, #262626)\' x=\'413\' y=\'157\'>42B</text>\n</g>\n<g><title>Ingress 10.25KB/s, Rows 0/s, Duration: 0.00 (0.00 | 0.00 | 0.01 - 0.00 | 0.00 | 0.01)</title><rect x=\'602\' y=\'146\' width=\'2\' height=\'14\' stroke-width=\'0\' fill=\'var(--ingress-medium, #466364)\'/>\n</g>\n<polygon points=\'602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 603,159 603,159 603,159 603,159 603,159 603,159 603,159 603,159 604,159 604,159 604,159 604,159 604,159 604,159 604,159 604,146 604,156 604,159 \' stroke=\'none\' fill=\'var(--ingress-light, #5A8183)\' />\n\n<line x1=\'600\' y1=\'0\' x2=\'600\' y2=\'162\' stroke-width=\'1\' stroke=\'var(--stage-grid, #B2B2B2)\' stroke-dasharray=\'1,2\'/>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'602\' y=\'11\'>0:00</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'0\' y=\'11\'>ResultSet</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'303\' y=\'11\'>Operators</text>\n<text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'397\' y=\'11\'>Stages</text>\n<text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'11\'>Tasks</text>\n<text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'22\'>3</text>\n<g><title>Ingress 42B, Rows 3, Width 14B, Avg 42B/s</title>\n  <rect x=\'395\' y=\'14\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--ingress-medium, #466364)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'397\' y=\'22\'>42B</text>\n</g>\n<g><title>CPU Usage 1ms, Avg 0.00 CPU/s</title>\n  <rect x=\'462\' y=\'14\' width=\'66\' height=\'10\' stroke-width=\'0\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'464\' y=\'22\'>1ms</text>\n</g>\n<g><title>Memory 403.00MB</title>\n  <rect x=\'530\' y=\'14\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <text font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-light, #FFFFFF)\' x=\'532\' y=\'22\'>403.00MB</text>\n</g>\n<g><title>Duration: 1.00, Total 1.00</title>\n  <rect x=\'1215\' y=\'3\' width=\'65\' height=\'10\' stroke-width=\'0\' fill=\'var(--stage-grid, #B2B2B2)\'/>\n  <text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--text-inv, #FFFFFF)\' x=\'1278\' y=\'11\'>1.00</text>\n</g>\n<g><title>Max CPU 2.59</title>\n<polygon points=\'598,26 598,26 598,26 598,26 598,26 599,26 599,26 599,26 599,26 600,26 600,26 600,26 600,26 600,26 600,26 600,26 601,26 601,26 601,13 602,24 602,26 602,26 602,26 602,26 602,26 602,26 603,26 603,26 603,26 603,26 604,26 604,26 604,24 604,26 604,26 \' stroke-width=\'1\' stroke=\'var(--cpu-medium, #A36D7B)\' fill=\'var(--cpu-light, #B78C98)\' />\n</g>\n<g><title>Stage: </title>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'18\' y=\'38\'>Stage</text>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'22\' y=\'48\'></text></g>\n<g><title>Stage 1, tasks: 1, finished: 1</title>\n<line x1=\'371\' y1=\'27\' x2=\'371\' y2=\'93\' stroke-width=\'6\' stroke=\'var(--stage-text, #262626)\' stroke-dasharray=\'1,1\' />\n  <text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'64\'>1</text>\n</g>\n<g><title>Max MEM 1.00MB</title>\n<polygon points=\'598,58 598,45 604,45 604,58 \' stroke-width=\'1\' stroke=\'var(--mem-medium, #7E4E5B)\' fill=\'var(--mem-medium, #7E4E5B)\' />\n</g>\n<g><title>Max CPU 0.24</title>\n<polygon points=\'598,74 598,74 598,74 598,74 598,74 599,74 599,74 599,74 599,74 600,74 600,74 600,74 600,74 600,74 600,74 600,74 601,74 601,74 601,74 602,74 602,74 602,74 602,74 602,74 602,74 602,74 603,74 603,74 603,74 603,74 604,74 604,74 604,61 604,74 604,74 \' stroke-width=\'1\' stroke=\'var(--cpu-medium, #A36D7B)\' fill=\'var(--cpu-light, #B78C98)\' />\n</g>\n<g><title>Connection: Merge SortColumns: foo (Asc), data (Asc)</title>\n  <polygon points=\'16,110 0,110 0,96 8,92 16,96\' stroke-width=\'1\' stroke=\'var(--conn-line, #BFBFBF)\' fill=\'var(--conn-fill, #BFBFBF)\'/>\n  <text text-anchor=\'middle\' font-family=\'Verdana\' font-size=\'6px\' fill=\'var(--conn-text, #393939)\' x=\'8\' y=\'106\'>Me</text>\n</g>\n<g><title>Sort: [foo,data]</title>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'18\' y=\'107\'>Sort</text>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'22\' y=\'117\'>[foo,data]</text></g>\n<line x1=\'18\' y1=\'119\' x2=\'298\' y2=\'119\' stroke-width=\'1\' stroke=\'var(--stage-grid, #B2B2B2)\' stroke-dasharray=\'1,2\'/>\n<g><title>Union: </title>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'18\' y=\'127\'>Union</text>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'22\' y=\'137\'></text></g>\n<line x1=\'18\' y1=\'139\' x2=\'298\' y2=\'139\' stroke-width=\'1\' stroke=\'var(--stage-grid, #B2B2B2)\' stroke-dasharray=\'1,2\'/>\n<g><title>Source s3: h1778165851593112922_test_part_mergembucket.part (bar, data, foo)</title>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'18\' y=\'147\'>Source s3</text>  <text clip-path=\'url(#clipTextPath)\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'22\' y=\'157\'>h1778165851593112922_test_part_mergembucket.part (bar, data, foo)</text></g>\n<g><title>Stage 0, tasks: 2, finished: 2</title>\n<line x1=\'371\' y1=\'96\' x2=\'371\' y2=\'162\' stroke-width=\'6\' stroke=\'var(--stage-text, #262626)\' stroke-dasharray=\'1,1\' />\n  <text text-anchor=\'end\' font-family=\'Verdana\' font-size=\'8px\' fill=\'var(--stage-text, #262626)\' x=\'390\' y=\'133\'>2</text>\n</g>\n  <line x1=\'602\' y1=\'100\' x2=\'604\' y2=\'100\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' stroke-dasharray=\'1,1\' />\n  <line x1=\'603\' y1=\'98\' x2=\'603\' y2=\'105\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' />\n  <line x1=\'602\' y1=\'110\' x2=\'604\' y2=\'110\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' stroke-dasharray=\'1,1\' />\n  <line x1=\'603\' y1=\'105\' x2=\'603\' y2=\'112\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' />\n<polyline points=\'602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 602,111 603,111 603,111 603,111 603,111 603,111 603,111 603,111 603,111 604,111 604,111 604,111 604,111 604,111 604,111 604,111 604,98 604,109 604,111 \' stroke-width=\'1\' stroke=\'var(--output-dark, #41689C)\' fill=\'none\' />\n<g><title>Max MEM 402.00MB</title>\n<polygon points=\'602,127 602,114 604,114 604,127 \' stroke-width=\'1\' stroke=\'var(--mem-medium, #7E4E5B)\' fill=\'var(--mem-medium, #7E4E5B)\' />\n</g>\n<g><title>Max CPU 1.11</title>\n<polygon points=\'602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 602,143 603,143 603,143 603,143 603,143 603,143 603,143 603,143 603,143 604,143 604,143 604,143 604,143 604,143 604,143 604,143 604,130 604,140 604,143 \' stroke-width=\'1\' stroke=\'var(--cpu-medium, #A36D7B)\' fill=\'var(--cpu-light, #B78C98)\' />\n</g>\n  <line x1=\'602\' y1=\'148\' x2=\'604\' y2=\'148\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' stroke-dasharray=\'1,1\' />\n  <line x1=\'603\' y1=\'146\' x2=\'603\' y2=\'153\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' />\n  <line x1=\'602\' y1=\'158\' x2=\'604\' y2=\'158\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' stroke-dasharray=\'1,1\' />\n  <line x1=\'603\' y1=\'153\' x2=\'603\' y2=\'160\' stroke-width=\'3\' stroke=\'var(--minmax-line, #FFDB4D)\' />\n<polyline points=\'602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 602,159 603,159 603,159 603,159 603,159 603,159 603,159 603,159 603,159 604,159 604,159 604,159 604,159 604,159 604,159 604,159 604,146 604,157 604,159 \' stroke-width=\'1\' stroke=\'var(--ingress-dark, #384F50)\' fill=\'none\' />\n\n</svg>\n"
  }
}

2025-12-12 13:26:35,813 - DEBUG - root - test_part_merge: columns {
  name: "foo"
  type {
    type_id: INT32
  }
}
columns {
  name: "bar"
  type {
    type_id: STRING
  }
}
columns {
  name: "data"
  type {
    type_id: FLOAT
  }
}
rows {
  items {
    int32_value: 123
  }
  items {
    bytes_value: "xxx"
  }
  items {
    float_value: 1.409999966621399
  }
}
rows {
  items {
    int32_value: 123
  }
  items {
    bytes_value: "xxx"
  }
  items {
    float_value: 3.140000104904175
  }
}
rows {
  items {
    int32_value: 456
  }
  items {
    bytes_value: "yyy"
  }
  items {
    float_value: 2.7200000286102295
  }
}

2025-12-12 13:26:35,815 - INFO - ya.test - pytest_runtest_teardown: Test teardown
