2025-11-10 10:15:50,962 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-11-10 10:15:50,962 - INFO - ya.test - pytest_runtest_setup: test_precompute[v2-client0]
2025-11-10 10:15:50,962 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-11-10 10:15:50,963 - INFO - ya.test - pytest_runtest_setup: Test setup
2025-11-10 10:15:51,071 - INFO - ya.test - pytest_runtest_call: Test call (class_name: test_formats.py::TestS3Formats, test_name: test_precompute[v2-client0])
2025-11-10 10:15:51,072 - DEBUG - botocore.hooks - _emit: Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f6a62d35f10>
2025-11-10 10:15:51,075 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f6a62e556d0>
2025-11-10 10:15:51,075 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function lazy_call.<locals>._handler at 0x7f6a629e0f50>
2025-11-10 10:15:51,076 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f6a62e553d0>
2025-11-10 10:15:51,079 - DEBUG - botocore.endpoint - create_endpoint: Setting s3 timeout as (60, 60)
2025-11-10 10:15:51,085 - DEBUG - botocore.client - _register_legacy_retries: Registering retry handlers for service: s3
2025-11-10 10:15:51,086 - DEBUG - botocore.utils - register: Registering S3 region redirector handler
2025-11-10 10:15:51,087 - DEBUG - botocore.utils - register: Registering S3Express Identity Resolver
2025-11-10 10:15:51,089 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:s3
2025-11-10 10:15:51,090 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:Bucket
2025-11-10 10:15:51,091 - DEBUG - boto3.resources.model - _load_name_with_category: Renaming Bucket attribute name
2025-11-10 10:15:51,093 - DEBUG - botocore.hooks - _emit: Event creating-resource-class.s3.Bucket: calling handler <function lazy_call.<locals>._handler at 0x7f6a629e19d0>
2025-11-10 10:15:51,094 - DEBUG - boto3.resources.action - __call__: Calling s3:create_bucket with {'Bucket': 'fbucket', 'ACL': 'public-read'}
2025-11-10 10:15:51,095 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function validate_bucket_name at 0x7f6a62d37dd0>
2025-11-10 10:15:51,095 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f6a62d62690>
2025-11-10 10:15:51,095 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,095 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <bound method ClientCreator._inject_s3_input_parameters of <botocore.client.ClientCreator object at 0x7f6a460710f0>>
2025-11-10 10:15:51,096 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function generate_idempotent_uuid at 0x7f6a62d37b90>
2025-11-10 10:15:51,096 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f6a62d628d0>
2025-11-10 10:15:51,098 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,098 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'fbucket', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27589', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableAccessPoints': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True, 'UseS3ExpressControlEndpoint': True}
2025-11-10 10:15:51,100 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27589/fbucket
2025-11-10 10:15:51,100 - 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-11-10 10:15:51,101 - 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-11-10 10:15:51,103 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_expect_header at 0x7f6a62d60290>
2025-11-10 10:15:51,103 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <bound method S3ExpressIdentityResolver.apply_signing_cache_key of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a45a9eea0>>
2025-11-10 10:15:51,103 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_recursion_detection_header at 0x7f6a62d36150>
2025-11-10 10:15:51,104 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function inject_api_version_header_if_needed at 0x7f6a62d61cd0>
2025-11-10 10:15:51,104 - 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', 'User-Agent': 'Boto3/1.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89 Resource'}, 'body': b'', 'auth_path': '/fbucket/', 'url': 'http://localhost:27589/fbucket', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f6a3a53b490>, 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'fbucket', 'params': {'Bucket': 'fbucket', 'ACL': 'public-read'}}, 'input_params': {'Bucket': 'fbucket'}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}, 'endpoint_properties': {'authSchemes': [{'disableDoubleEncoding': True, 'name': 'sigv4', 'signingName': 's3', 'signingRegion': 'yandex'}]}}}
2025-11-10 10:15:51,105 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f6a4e3da090>>
2025-11-10 10:15:51,106 - 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 0x7f6a460710f0>>
2025-11-10 10:15:51,106 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.CreateBucket: calling handler <function set_operation_specific_signer at 0x7f6a62d37a10>
2025-11-10 10:15:51,107 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.CreateBucket: calling handler <function remove_arn_from_signing_path at 0x7f6a62d62810>
2025-11-10 10:15:51,107 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.CreateBucket: calling handler <bound method S3ExpressIdentityResolver.resolve_s3express_identity of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a45a9eea0>>
2025-11-10 10:15:51,108 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-10 10:15:51,108 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/fbucket

host:localhost:27589
x-amz-acl:public-read
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20251110T101551Z

host;x-amz-acl;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2025-11-10 10:15:51,108 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251110T101551Z
20251110/yandex/s3/aws4_request
9309d3ccbde0609370afb7e689cb0ce9cd86191b77f6571c88c23288c2a4839a
2025-11-10 10:15:51,110 - DEBUG - botocore.auth - add_auth: Signature:
7cee03b9c0497998c91565caee3590ce1e39829ac047d79eb9aa083c35431129
2025-11-10 10:15:51,111 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <function add_retry_headers at 0x7f6a62d625d0>
2025-11-10 10:15:51,111 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:27589/fbucket, headers={'x-amz-acl': b'public-read', 'User-Agent': b'Boto3/1.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89 Resource', 'X-Amz-Date': b'20251110T101551Z', 'X-Amz-Content-SHA256': b'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251110/yandex/s3/aws4_request, SignedHeaders=host;x-amz-acl;x-amz-content-sha256;x-amz-date, Signature=7cee03b9c0497998c91565caee3590ce1e39829ac047d79eb9aa083c35431129', 'amz-sdk-invocation-id': b'e9faa281-2f1b-413c-83c2-eb23c93b674c', 'amz-sdk-request': b'attempt=1', 'Content-Length': '0'}>
2025-11-10 10:15:51,128 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.12', 'Date': 'Mon, 10 Nov 2025 10:15:51 GMT', 'x-amzn-requestid': 'Cyf2gYYE9JTE4juCqBDvZoOKO7SfKqihhc4XChBGBgnWCAilctg0', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '161', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-10 10:15:51,129 - DEBUG - botocore.parsers - parse: Response body:
b'<CreateBucketResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"><CreateBucketResponse><Bucket>fbucket</Bucket></CreateBucketResponse></CreateBucketResponse>'
2025-11-10 10:15:51,130 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <botocore.retryhandler.RetryHandler object at 0x7f6a4594b580>
2025-11-10 10:15:51,130 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-10 10:15:51,131 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,131 - DEBUG - boto3.resources.action - __call__: Response: {'ResponseMetadata': {'RequestId': 'Cyf2gYYE9JTE4juCqBDvZoOKO7SfKqihhc4XChBGBgnWCAilctg0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Werkzeug/2.2.3 Python/3.12.12', 'date': 'Mon, 10 Nov 2025 10:15:51 GMT', 'x-amzn-requestid': 'Cyf2gYYE9JTE4juCqBDvZoOKO7SfKqihhc4XChBGBgnWCAilctg0', 'content-type': 'text/html; charset=utf-8', 'content-length': '161', 'access-control-allow-origin': '*', 'connection': 'close'}, 'RetryAttempts': 0}}
2025-11-10 10:15:51,132 - DEBUG - boto3.resources.collection - pages: Calling paginated s3:list_objects with {'Bucket': 'fbucket'}
2025-11-10 10:15:51,133 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function set_list_objects_encoding_type_url at 0x7f6a62d616d0>
2025-11-10 10:15:51,133 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function validate_bucket_name at 0x7f6a62d37dd0>
2025-11-10 10:15:51,133 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f6a62d62690>
2025-11-10 10:15:51,133 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,133 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <bound method ClientCreator._inject_s3_input_parameters of <botocore.client.ClientCreator object at 0x7f6a460710f0>>
2025-11-10 10:15:51,134 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.ListObjects: calling handler <function generate_idempotent_uuid at 0x7f6a62d37b90>
2025-11-10 10:15:51,134 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f6a62d628d0>
2025-11-10 10:15:51,134 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,135 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'fbucket', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27589', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-10 10:15:51,136 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27589/fbucket
2025-11-10 10:15:51,137 - 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-11-10 10:15:51,137 - 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-11-10 10:15:51,138 - DEBUG - botocore.hooks - _emit: Event before-call.s3.ListObjects: calling handler <function add_expect_header at 0x7f6a62d60290>
2025-11-10 10:15:51,138 - DEBUG - botocore.hooks - _emit: Event before-call.s3.ListObjects: calling handler <bound method S3ExpressIdentityResolver.apply_signing_cache_key of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a45a9eea0>>
2025-11-10 10:15:51,138 - DEBUG - botocore.hooks - _emit: Event before-call.s3.ListObjects: calling handler <function add_recursion_detection_header at 0x7f6a62d36150>
2025-11-10 10:15:51,139 - DEBUG - botocore.hooks - _emit: Event before-call.s3.ListObjects: calling handler <function inject_api_version_header_if_needed at 0x7f6a62d61cd0>
2025-11-10 10:15:51,139 - 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.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89 Resource'}, 'body': b'', 'auth_path': '/fbucket/', 'url': 'http://localhost:27589/fbucket?encoding-type=url', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f6a3a53b490>, 'has_streaming_input': False, 'auth_type': 'v4', 'encoding_type_auto_set': True, 's3_redirect': {'redirected': False, 'bucket': 'fbucket', 'params': {'Bucket': 'fbucket', 'EncodingType': 'url'}}, 'input_params': {'Bucket': 'fbucket'}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}, 'endpoint_properties': {'authSchemes': [{'disableDoubleEncoding': True, 'name': 'sigv4', 'signingName': 's3', 'signingRegion': 'yandex'}]}}}
2025-11-10 10:15:51,141 - DEBUG - botocore.hooks - _emit: Event request-created.s3.ListObjects: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f6a4e3da090>>
2025-11-10 10:15:51,141 - 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 0x7f6a460710f0>>
2025-11-10 10:15:51,142 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.ListObjects: calling handler <function set_operation_specific_signer at 0x7f6a62d37a10>
2025-11-10 10:15:51,142 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.ListObjects: calling handler <function remove_arn_from_signing_path at 0x7f6a62d62810>
2025-11-10 10:15:51,142 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.ListObjects: calling handler <bound method S3ExpressIdentityResolver.resolve_s3express_identity of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a45a9eea0>>
2025-11-10 10:15:51,143 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-10 10:15:51,143 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
GET
/fbucket
encoding-type=url
host:localhost:27589
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20251110T101551Z

host;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2025-11-10 10:15:51,143 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251110T101551Z
20251110/yandex/s3/aws4_request
98e4e93ba55f3520a4aa37758b5e36c2e6940f8cb4f958c0832928e1886a29d3
2025-11-10 10:15:51,144 - DEBUG - botocore.auth - add_auth: Signature:
6eddcd28c81652c8c294caf20781f22e9fa598796c432f87b29b17439a6c461a
2025-11-10 10:15:51,144 - DEBUG - botocore.hooks - _emit: Event request-created.s3.ListObjects: calling handler <function add_retry_headers at 0x7f6a62d625d0>
2025-11-10 10:15:51,145 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=GET, url=http://localhost:27589/fbucket?encoding-type=url, headers={'User-Agent': b'Boto3/1.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89 Resource', 'X-Amz-Date': b'20251110T101551Z', 'X-Amz-Content-SHA256': b'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251110/yandex/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6eddcd28c81652c8c294caf20781f22e9fa598796c432f87b29b17439a6c461a', 'amz-sdk-invocation-id': b'a783ef9f-23f9-4059-9468-6f229d5fb9bf', 'amz-sdk-request': b'attempt=1'}>
2025-11-10 10:15:51,153 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.12', 'Date': 'Mon, 10 Nov 2025 10:15:51 GMT', 'x-amzn-requestid': 'RVS4AeHQQ5VvmMdRU3JqkglQk8SOjDWQYpXRzUMiHYAPllAqLprf', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '558', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-10 10:15:51,154 - 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>fbucket</Name><MaxKeys>1000</MaxKeys><EncodingType>url</EncodingType><IsTruncated>false</IsTruncated><Contents><Key>test.parquet</Key><LastModified>2025-11-10T10:15:48.000Z</LastModified><ETag>&#34;321b7b6cd6df2df919acfc810b0b5362&#34;</ETag><Size>2899</Size><StorageClass>STANDARD</StorageClass><Owner><ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID><DisplayName>webfile</DisplayName></Owner></Contents></ListBucketResult>'
2025-11-10 10:15:51,156 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.ListObjects: calling handler <botocore.retryhandler.RetryHandler object at 0x7f6a4594b580>
2025-11-10 10:15:51,157 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-10 10:15:51,157 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.ListObjects: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,158 - DEBUG - botocore.hooks - _emit: Event after-call.s3.ListObjects: calling handler <function decode_list_object at 0x7f6a62d61790>
2025-11-10 10:15:51,158 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:ObjectSummary
2025-11-10 10:15:51,158 - DEBUG - boto3.resources.model - _load_name_with_category: Renaming ObjectSummary attribute key
2025-11-10 10:15:51,159 - DEBUG - botocore.hooks - _emit: Event creating-resource-class.s3.ObjectSummary: calling handler <function lazy_call.<locals>._handler at 0x7f6a629e1b50>
2025-11-10 10:15:51,160 - DEBUG - boto3.resources.action - __call__: Calling s3:delete_objects with {'Bucket': 'fbucket', 'Delete': {'Objects': [{'Key': 'test.parquet'}]}}
2025-11-10 10:15:51,161 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <function validate_bucket_name at 0x7f6a62d37dd0>
2025-11-10 10:15:51,161 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f6a62d62690>
2025-11-10 10:15:51,162 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,162 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <bound method ClientCreator._inject_s3_input_parameters of <botocore.client.ClientCreator object at 0x7f6a460710f0>>
2025-11-10 10:15:51,162 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.DeleteObjects: calling handler <function generate_idempotent_uuid at 0x7f6a62d37b90>
2025-11-10 10:15:51,162 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f6a62d628d0>
2025-11-10 10:15:51,163 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,163 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'fbucket', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27589', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-10 10:15:51,163 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27589/fbucket
2025-11-10 10:15:51,163 - 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-11-10 10:15:51,164 - 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-11-10 10:15:51,165 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function escape_xml_payload at 0x7f6a62d377d0>
2025-11-10 10:15:51,166 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function conditionally_calculate_checksum at 0x7f6a62f5fa10>
2025-11-10 10:15:51,166 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function add_expect_header at 0x7f6a62d60290>
2025-11-10 10:15:51,166 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <bound method S3ExpressIdentityResolver.apply_signing_cache_key of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a45a9eea0>>
2025-11-10 10:15:51,166 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function add_recursion_detection_header at 0x7f6a62d36150>
2025-11-10 10:15:51,166 - DEBUG - botocore.hooks - _emit: Event before-call.s3.DeleteObjects: calling handler <function inject_api_version_header_if_needed at 0x7f6a62d61cd0>
2025-11-10 10:15:51,166 - 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.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89 Resource', 'Content-MD5': 'VlzRp/YoIEUxqS5THItLwA=='}, 'body': b'<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Object><Key>test.parquet</Key></Object></Delete>', 'auth_path': '/fbucket/', 'url': 'http://localhost:27589/fbucket?delete', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f6a3a53b490>, 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'fbucket', 'params': {'Bucket': 'fbucket', 'Delete': {'Objects': [{'Key': 'test.parquet'}]}}}, 'input_params': {'Bucket': 'fbucket', 'Delete': {'Objects': [{'Key': 'test.parquet'}]}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}, 'endpoint_properties': {'authSchemes': [{'disableDoubleEncoding': True, 'name': 'sigv4', 'signingName': 's3', 'signingRegion': 'yandex'}]}, 'checksum': {'request_algorithm': 'conditional-md5'}}}
2025-11-10 10:15:51,168 - DEBUG - botocore.hooks - _emit: Event request-created.s3.DeleteObjects: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f6a4e3da090>>
2025-11-10 10:15:51,168 - 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 0x7f6a460710f0>>
2025-11-10 10:15:51,168 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.DeleteObjects: calling handler <function set_operation_specific_signer at 0x7f6a62d37a10>
2025-11-10 10:15:51,169 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.DeleteObjects: calling handler <function remove_arn_from_signing_path at 0x7f6a62d62810>
2025-11-10 10:15:51,169 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.DeleteObjects: calling handler <bound method S3ExpressIdentityResolver.resolve_s3express_identity of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a45a9eea0>>
2025-11-10 10:15:51,170 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-10 10:15:51,170 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
POST
/fbucket
delete=
content-md5:VlzRp/YoIEUxqS5THItLwA==
host:localhost:27589
x-amz-content-sha256:e9ffb702ea7dc0ba73b57a6c1bcb44576252f0978845aa20cded885650f6f10e
x-amz-date:20251110T101551Z

content-md5;host;x-amz-content-sha256;x-amz-date
e9ffb702ea7dc0ba73b57a6c1bcb44576252f0978845aa20cded885650f6f10e
2025-11-10 10:15:51,170 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251110T101551Z
20251110/yandex/s3/aws4_request
d1564fb40fde8cabcb0c051f652becf279741cf0ccf7986cdfa3920a03d11931
2025-11-10 10:15:51,170 - DEBUG - botocore.auth - add_auth: Signature:
7a5684c8d71d263f1fb792f085c4e10033e38e6370ed7ed8b783273d40fde119
2025-11-10 10:15:51,171 - DEBUG - botocore.hooks - _emit: Event request-created.s3.DeleteObjects: calling handler <function add_retry_headers at 0x7f6a62d625d0>
2025-11-10 10:15:51,174 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=http://localhost:27589/fbucket?delete, headers={'User-Agent': b'Boto3/1.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89 Resource', 'Content-MD5': b'VlzRp/YoIEUxqS5THItLwA==', 'X-Amz-Date': b'20251110T101551Z', 'X-Amz-Content-SHA256': b'e9ffb702ea7dc0ba73b57a6c1bcb44576252f0978845aa20cded885650f6f10e', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251110/yandex/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=7a5684c8d71d263f1fb792f085c4e10033e38e6370ed7ed8b783273d40fde119', 'amz-sdk-invocation-id': b'd4466e76-2720-48c5-bbc5-2e3187e774af', 'amz-sdk-request': b'attempt=1', 'Content-Length': '105'}>
2025-11-10 10:15:51,182 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.12', 'Date': 'Mon, 10 Nov 2025 10:15:51 GMT', 'x-amzn-requestid': 'y0xTlyl2OiZZQ4Of7TjQrRn3VBAsf2QHVcJKYPqXjnpKz2cnHYob', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '156', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-10 10:15:51,183 - 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>test.parquet</Key></Deleted></DeleteResult>'
2025-11-10 10:15:51,184 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.DeleteObjects: calling handler <botocore.retryhandler.RetryHandler object at 0x7f6a4594b580>
2025-11-10 10:15:51,184 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-10 10:15:51,184 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.DeleteObjects: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a4594b120>>
2025-11-10 10:15:51,185 - DEBUG - boto3.resources.action - __call__: Response: {'ResponseMetadata': {'RequestId': 'y0xTlyl2OiZZQ4Of7TjQrRn3VBAsf2QHVcJKYPqXjnpKz2cnHYob', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Werkzeug/2.2.3 Python/3.12.12', 'date': 'Mon, 10 Nov 2025 10:15:51 GMT', 'x-amzn-requestid': 'y0xTlyl2OiZZQ4Of7TjQrRn3VBAsf2QHVcJKYPqXjnpKz2cnHYob', 'content-type': 'text/html; charset=utf-8', 'content-length': '156', 'access-control-allow-origin': '*', 'connection': 'close'}, 'RetryAttempts': 0}, 'Deleted': [{'Key': 'test.parquet'}]}
2025-11-10 10:15:51,186 - DEBUG - botocore.hooks - _emit: Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f6a62d35f10>
2025-11-10 10:15:51,189 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f6a62e556d0>
2025-11-10 10:15:51,189 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function lazy_call.<locals>._handler at 0x7f6a629e0f50>
2025-11-10 10:15:51,189 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f6a62e553d0>
2025-11-10 10:15:51,192 - DEBUG - botocore.endpoint - create_endpoint: Setting s3 timeout as (60, 60)
2025-11-10 10:15:51,197 - DEBUG - botocore.client - _register_legacy_retries: Registering retry handlers for service: s3
2025-11-10 10:15:51,198 - DEBUG - botocore.utils - register: Registering S3 region redirector handler
2025-11-10 10:15:51,200 - DEBUG - botocore.utils - register: Registering S3Express Identity Resolver
2025-11-10 10:15:51,201 - DEBUG - boto3.s3.transfer - _should_use_crt: Opting out of CRT Transfer Manager. Preferred client: auto, CRT available: False, Instance Optimized: False.
2025-11-10 10:15:51,201 - DEBUG - boto3.s3.transfer - create_transfer_manager: Using default client. pid: 2567718, thread: 140094991086720
2025-11-10 10:15:51,202 - DEBUG - s3transfer.utils - acquire: Acquiring 0
2025-11-10 10:15:51,217 - DEBUG - s3transfer.tasks - _wait_until_all_complete: UploadSubmissionTask(transfer_id=0, {'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f6a62cd8d30>}) about to wait for the following futures []
2025-11-10 10:15:51,218 - DEBUG - s3transfer.tasks - _wait_until_all_complete: UploadSubmissionTask(transfer_id=0, {'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f6a62cd8d30>}) done waiting for dependent futures
2025-11-10 10:15:51,218 - DEBUG - s3transfer.tasks - _execute_main: Executing task UploadSubmissionTask(transfer_id=0, {'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f6a62cd8d30>}) with kwargs {'client': <botocore.client.S3 object at 0x7f6a3c9dcbf0>, 'config': <boto3.s3.transfer.TransferConfig object at 0x7f6a4e345a00>, 'osutil': <s3transfer.utils.OSUtils object at 0x7f6a4c3b8d80>, 'request_executor': <s3transfer.futures.BoundedExecutor object at 0x7f6a4c3b8650>, 'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f6a62cd8d30>}
2025-11-10 10:15:51,218 - DEBUG - s3transfer.futures - submit: Submitting task PutObjectTask(transfer_id=0, {'bucket': 'fbucket', 'key': 'test.parquet', 'extra_args': {}}) to executor <s3transfer.futures.BoundedExecutor object at 0x7f6a4c3b8650> for transfer request: 0.
2025-11-10 10:15:51,219 - DEBUG - s3transfer.utils - acquire: Acquiring 0
2025-11-10 10:15:51,219 - DEBUG - s3transfer.tasks - _wait_until_all_complete: PutObjectTask(transfer_id=0, {'bucket': 'fbucket', 'key': 'test.parquet', 'extra_args': {}}) about to wait for the following futures []
2025-11-10 10:15:51,220 - DEBUG - s3transfer.utils - release: Releasing acquire 0/None
2025-11-10 10:15:51,220 - DEBUG - s3transfer.tasks - _wait_until_all_complete: PutObjectTask(transfer_id=0, {'bucket': 'fbucket', 'key': 'test.parquet', 'extra_args': {}}) done waiting for dependent futures
2025-11-10 10:15:51,221 - DEBUG - s3transfer.tasks - _execute_main: Executing task PutObjectTask(transfer_id=0, {'bucket': 'fbucket', 'key': 'test.parquet', 'extra_args': {}}) with kwargs {'client': <botocore.client.S3 object at 0x7f6a3c9dcbf0>, 'fileobj': <s3transfer.utils.ReadFileChunk object at 0x7f6a4c3628b0>, 'bucket': 'fbucket', 'key': 'test.parquet', 'extra_args': {}}
2025-11-10 10:15:51,223 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7f6a62d60e90>
2025-11-10 10:15:51,223 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7f6a62d37e90>
2025-11-10 10:15:51,223 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7f6a62d61b50>
2025-11-10 10:15:51,224 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7f6a62d37dd0>
2025-11-10 10:15:51,224 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f6a62d62690>
2025-11-10 10:15:51,224 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a45a23620>>
2025-11-10 10:15:51,224 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method ClientCreator._inject_s3_input_parameters of <botocore.client.ClientCreator object at 0x7f6a62b195f0>>
2025-11-10 10:15:51,224 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7f6a62d37b90>
2025-11-10 10:15:51,225 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f6a62d628d0>
2025-11-10 10:15:51,225 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a45a23620>>
2025-11-10 10:15:51,226 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'fbucket', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27589', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'Key': 'test.parquet', 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-10 10:15:51,227 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27589/fbucket
2025-11-10 10:15:51,228 - 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-11-10 10:15:51,228 - 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-11-10 10:15:51,229 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_checksum at 0x7f6a62f5fa10>
2025-11-10 10:15:51,229 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7f6a62d60290>
2025-11-10 10:15:51,230 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-11-10 10:15:51,230 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <bound method S3ExpressIdentityResolver.apply_signing_cache_key of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a4c3b9780>>
2025-11-10 10:15:51,230 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7f6a62d36150>
2025-11-10 10:15:51,230 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7f6a62d61cd0>
2025-11-10 10:15:51,230 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=PutObject) with params: {'url_path': '/test.parquet', 'query_string': {}, 'method': 'PUT', 'headers': {'User-Agent': 'Boto3/1.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89', 'Content-MD5': 'Mht7bNbfLfkZrPyBCwtTYg==', 'Expect': '100-continue'}, 'body': <s3transfer.utils.ReadFileChunk object at 0x7f6a4c3628b0>, 'auth_path': '/fbucket/test.parquet', 'url': 'http://localhost:27589/fbucket/test.parquet', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f6a628ea9f0>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'fbucket', 'params': {'Bucket': 'fbucket', 'Key': 'test.parquet', 'Body': <s3transfer.utils.ReadFileChunk object at 0x7f6a4c3628b0>}}, 'input_params': {'Bucket': 'fbucket', 'Key': 'test.parquet'}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}, 'endpoint_properties': {'authSchemes': [{'disableDoubleEncoding': True, 'name': 'sigv4', 'signingName': 's3', 'signingRegion': 'yandex'}]}}}
2025-11-10 10:15:51,232 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function signal_not_transferring at 0x7f6a4591d790>
2025-11-10 10:15:51,232 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f6a628eaa40>>
2025-11-10 10:15:51,233 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <bound method ClientCreator._default_s3_presign_to_sigv2 of <botocore.client.ClientCreator object at 0x7f6a62b195f0>>
2025-11-10 10:15:51,233 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7f6a62d37a10>
2025-11-10 10:15:51,234 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7f6a62d62810>
2025-11-10 10:15:51,234 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <bound method S3ExpressIdentityResolver.resolve_s3express_identity of <botocore.utils.S3ExpressIdentityResolver object at 0x7f6a4c3b9780>>
2025-11-10 10:15:51,235 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-10 10:15:51,235 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/fbucket/test.parquet

content-md5:Mht7bNbfLfkZrPyBCwtTYg==
host:localhost:27589
x-amz-content-sha256:be77cb020707f244eb471dbc8767d1316cc900892e7a00297bef2d4ae43aaa97
x-amz-date:20251110T101551Z

content-md5;host;x-amz-content-sha256;x-amz-date
be77cb020707f244eb471dbc8767d1316cc900892e7a00297bef2d4ae43aaa97
2025-11-10 10:15:51,235 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251110T101551Z
20251110/yandex/s3/aws4_request
0c51c287fb345733b4aa5ce2bee7b8a87681a30f83d76f7de5fa5c085d376bfa
2025-11-10 10:15:51,236 - DEBUG - botocore.auth - add_auth: Signature:
b5fed85f88943023081eeca4d75a6f8a801af9ffd2a0b762a828941cb5771f86
2025-11-10 10:15:51,236 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function signal_transferring at 0x7f6a4591d850>
2025-11-10 10:15:51,236 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7f6a62d625d0>
2025-11-10 10:15:51,237 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:27589/fbucket/test.parquet, headers={'User-Agent': b'Boto3/1.34.89 md/Botocore#1.34.89 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.12 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.34.89', 'Content-MD5': b'Mht7bNbfLfkZrPyBCwtTYg==', 'Expect': b'100-continue', 'X-Amz-Date': b'20251110T101551Z', 'X-Amz-Content-SHA256': b'be77cb020707f244eb471dbc8767d1316cc900892e7a00297bef2d4ae43aaa97', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251110/yandex/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=b5fed85f88943023081eeca4d75a6f8a801af9ffd2a0b762a828941cb5771f86', 'amz-sdk-invocation-id': b'1b023896-72bc-4e37-9a9d-5a158306189c', 'amz-sdk-request': b'attempt=1', 'Content-Length': '2899'}>
2025-11-10 10:15:51,239 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-11-10 10:15:51,241 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-11-10 10:15:51,247 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.12', 'Date': 'Mon, 10 Nov 2025 10:15:51 GMT', 'ETag': '"321b7b6cd6df2df919acfc810b0b5362"', 'last-modified': 'Mon, 10 Nov 2025 10:15:51 GMT', 'x-amzn-requestid': 'z3aztmyDvxW9CLQFwd71mhLOmIcobJNhbdVNazjaLbWvRwlQcxIh', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '0', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-10 10:15:51,248 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-11-10 10:15:51,249 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7f6a4c3bae00>
2025-11-10 10:15:51,249 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-10 10:15:51,249 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f6a45a23620>>
2025-11-10 10:15:51,251 - DEBUG - s3transfer.utils - release: Releasing acquire 0/None
2025-11-10 10:15:51,253 - DEBUG - root - wait_bootstrap: Wait for node 1 to bootstrap
2025-11-10 10:15:51,289 - DEBUG - root - wait_bootstrap: Node 1 has been bootstrapped
2025-11-10 10:15:51,373 - DEBUG - root - create_query_impl: Request: content {
  type: ANALYTICS
  name: "simple"
  acl {
    visibility: PRIVATE
  }
  limits {
    execution_timeout {
    }
  }
  text: "\n            $maxPrice = SELECT MAX(Price)\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ));\n\n            SELECT Fruit, Price\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ))\n            WHERE Price == $maxPrice;\n            "
  syntax: YQL_V1
}
execute_mode: RUN
idempotency_key: "c6a4f6e5-88ee-476c-b38b-80cb1524a5c4"

2025-11-10 10:15:51,402 - DEBUG - root - create_query_impl: Result: query_id: "ptqudsoknic0lnohuach"

2025-11-10 10:15:51,409 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudsoknic0lnohuach"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1762769751
        nanos: 375121000
      }
      modified_at {
        seconds: 1762769751
        nanos: 375121000
      }
      revision: 1
    }
    execute_mode: RUN
    status: STARTING
    last_job_query_revision: 1
    last_job_id: "ptjudsoknic0lid6c8d9-ptqudsoknic0lnohuach"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1762769751
      nanos: 375121000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            $maxPrice = SELECT MAX(Price)\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ));\n\n            SELECT Fruit, Price\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ))\n            WHERE Price == $maxPrice;\n            "
    syntax: YQL_V1
  }
}

2025-11-10 10:15:51,929 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudsoknic0lnohuach"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1762769751
        nanos: 375121000
      }
      modified_at {
        seconds: 1762769751
        nanos: 375121000
      }
      revision: 1
    }
    started_at {
      seconds: 1762769751
      nanos: 696000000
    }
    execute_mode: RUN
    status: RUNNING
    last_job_query_revision: 1
    last_job_id: "ptjudsoknic0lid6c8d9-ptqudsoknic0lnohuach"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1762769751
      nanos: 375121000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            $maxPrice = SELECT MAX(Price)\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ));\n\n            SELECT Fruit, Price\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ))\n            WHERE Price == $maxPrice;\n            "
    syntax: YQL_V1
  }
  plan {
    json: "{}"
  }
  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  <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_ingress\'>\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_egress\'>\n    <path d=\'M13 9H10V16H6V9L3 9V8L8 3L13 8V9Z\' />\n    <path d=\'M14 2H2V0H14V2Z\' />\n  </g>\n\n  <g id=\'icon_input\'>\n    <path d=\"M456.49,264.459L295.206,103.183l56.572-56.572c1.084-1.08,1.456-2.696,0.948-4.14c-0.504-1.448-1.792-2.48-3.316-2.656\n        L4.654,0.027c-1.22-0.144-2.428,0.284-3.292,1.148c-0.864,0.86-1.284,2.068-1.144,3.28L40.01,349.208\n        c0.176,1.52,1.208,2.812,2.656,3.316c1.448,0.508,3.068,0.14,4.144-0.948l56.18-56.18L264.274,456.68\n        c0.748,0.748,1.764,1.172,2.828,1.172c1.06,0,2.076-0.424,2.828-1.172l186.556-186.568\n        C458.05,268.555,458.05,266.027,456.49,264.459z\"/>\n  </g>\n\n  <g id=\'icon_output\'>\n\t<path d=\"M456.494,1.168c-0.864-0.86-2.064-1.284-3.288-1.14l-344.76,39.78c-1.524,0.18-2.812,1.216-3.32,2.656\n        c-0.504,1.456-0.132,3.068,0.948,4.148l56.572,56.576L1.362,264.464c-1.564,1.564-1.564,4.092,0,5.656l186.56,186.556\n        c0.78,0.784,1.804,1.172,2.828,1.172c1.024,0,2.048-0.388,2.828-1.172l161.28-161.28l56.18,56.18\n        c1.084,1.088,2.7,1.452,4.144,0.952c1.448-0.504,2.48-1.796,2.656-3.32L457.63,4.456C457.774,3.248,457.354,2.036,456.494,1.168z\"/>\n  </g>\n\n</defs>\n<style type=\'text/css\'>\n  rect.stage { stroke-width:0; fill:var(--stage-main, #F2F2F2); }\n  rect.clone { stroke-width:0; fill:var(--stage-clone, #D9D9D9); }\n  rect.blocks { stroke-width:0; fill:var(--block-medium, #EACB68); }\n  .texts { text-anchor:start; font-family:Verdana; font-size:8px; fill:var(--stage-text, #262626); }\n  .textm { text-anchor:middle; font-family:Verdana; font-size:8px; fill:var(--stage-text, #262626); }\n  .texte { text-anchor:end; font-family:Verdana; font-size:8px; fill:var(--stage-text, #262626); }\n  circle.stage { stroke:var(--stage-main, #F2F2F2); stroke-width:1; fill:var(--stage-clone, #D9D9D9); }\n  line.opdiv { stroke-width:1; stroke:var(--stage-grid, #B2B2B2); stroke-dasharray:1,2; }\n  text.clipped { clip-path:url(#clipTextPath); }\n  polygon.conn { stroke-width:0; fill:var(--conn-fill, #BFBFBF); }\n  path.conn { stroke-width:1; stroke:var(--conn-fill, #BFBFBF); fill:var(--conn-fill, #BFBFBF); }\n  path.conn.blocks { stroke-width:1; stroke:var(--conn-fill, #BFBFBF); fill:var(--block-medium, #EACB68); }\n  text.conn { text-anchor:middle; font-family:Verdana; font-size:6px; fill:var(--conn-text, #393939); }\n  rect.background { stroke-width:0; fill:#33FFFF; opacity:0; }\n  g.selected circle.stage { fill:#33FFFF; }\n  g.selected polygon.conn { fill:#33FFFF; }\n  g.selected path.conn { stroke:#33FFFF; fill:#33FFFF; }\n  g.selected rect.stage { fill:#33FFFF; }\n  g.selected rect.clone { fill:#33FFFF; }\n  g.selected rect.background { opacity:1; }\n  g.selected path.blocks { stroke:#33FFFF; }\n</style>\n\n<script type=\"text/ecmascript\">\n<![CDATA[\n    var selectedNode;\n\n    function find_selectable(node) {\n\t\tvar parent = node.parentElement;\n\t\tif (!parent) return;\n\t\tif (parent.classList.contains(\"selectable\")) return parent;\n\t\treturn find_selectable(parent);\n\t}\n\n    window.onload = function() {\n        selectedNode = document.querySelector(\".selected\");\n    }\n\n    window.addEventListener(\"click\", function(e) {\n\t\tvar target = find_selectable(e.target);\n        if (target) {\n            if (selectedNode) {\n                selectedNode.classList.remove(\"selected\");\n            }\n            if (target == selectedNode) {\n                selectedNode = null;\n            } else {\n                selectedNode = target;\n                selectedNode.classList.add(\"selected\");\n            }\n        }\n\t}, false)\n]]>\n</script>\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-11-10 10:15:52,441 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudsoknic0lnohuach"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1762769751
        nanos: 375121000
      }
      modified_at {
        seconds: 1762769751
        nanos: 375121000
      }
      revision: 1
    }
    started_at {
      seconds: 1762769751
      nanos: 696000000
    }
    finished_at {
      seconds: 1762769752
      nanos: 282000000
    }
    execute_mode: RUN
    status: COMPLETED
    last_job_query_revision: 1
    last_job_id: "ptjudsoknic0lid6c8d9-ptqudsoknic0lnohuach"
    result_expire_at {
      seconds: 1762856151
      nanos: 684848000
    }
    started_by: "root@builtin"
    submitted_at {
      seconds: 1762769751
      nanos: 375121000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            $maxPrice = SELECT MAX(Price)\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ));\n\n            SELECT Fruit, Price\n            FROM `h1221158791275704315_test_precomputefruitbucket`.`test.parquet`\n            WITH (format=`parquet`, SCHEMA (\n                Fruit String NOT NULL,\n                Price Int NOT NULL,\n                Weight Int NOT NULL\n            ))\n            WHERE Price == $maxPrice;\n            "
    syntax: YQL_V1
  }
  plan {
    json: "{\"Plan\":{\"Plans\":[{\"PlanNodeId\":11,\"Plans\":[{\"PlanNodeId\":10,\"Plans\":[{\"PlanNodeId\":9,\"Plans\":[{\"PlanNodeId\":8,\"Operators\":[{\"E-Rows\":\"No estimate\",\"Inputs\":[{\"ExternalPlanNodeId\":7}],\"Predicate\":\"item.Price == %kqp%tx_result_binding_0_0.Max0\",\"E-Cost\":\"No estimate\",\"E-Size\":\"No estimate\",\"Name\":\"Filter\"}],\"Plans\":[{\"PlanNodeId\":7,\"Operators\":[{\"E-Size\":\"0\",\"Format\":\"parquet\",\"Name\":\"h1221158791275704315_test_precomputefruitbucket.test.parquet \",\"Inputs\":[],\"Path\":\"test.parquet \",\"E-Rows\":\"0\",\"ExternalDataSource\":\"h1221158791275704315_test_precomputefruitbucket\",\"ReadColumns\":[\"Fruit\",\"Price\"],\"SourceType\":\"s3\",\"E-Cost\":\"0\"}],\"Node Type\":\"Source\"}],\"Node Type\":\"Filter\"}],\"Node Type\":\"UnionAll\",\"PlanNodeType\":\"Connection\"}],\"Node Type\":\"Collect\"}],\"Node Type\":\"ResultSet_1\",\"PlanNodeType\":\"ResultSet\"},{\"PlanNodeId\":5,\"Plans\":[{\"PlanNodeId\":4,\"Operators\":[{\"Inputs\":[{\"InternalOperatorId\":1}],\"Name\":\"Aggregate\",\"Phase\":\"Final\"},{\"Inputs\":[{\"InternalOperatorId\":2}],\"Limit\":\"1\",\"Name\":\"Limit\"},{\"Inputs\":[{\"ExternalPlanNodeId\":3}],\"Name\":\"Aggregate\",\"Phase\":\"Final\"}],\"Plans\":[{\"PlanNodeId\":3,\"Plans\":[{\"PlanNodeId\":2,\"Operators\":[{\"Inputs\":[{\"ExternalPlanNodeId\":1}],\"Name\":\"Aggregate\",\"Phase\":\"Intermediate\"}],\"Plans\":[{\"PlanNodeId\":1,\"Operators\":[{\"E-Size\":\"0\",\"Format\":\"parquet\",\"Name\":\"h1221158791275704315_test_precomputefruitbucket.test.parquet \",\"Inputs\":[],\"Path\":\"test.parquet \",\"E-Rows\":\"0\",\"ExternalDataSource\":\"h1221158791275704315_test_precomputefruitbucket\",\"ReadColumns\":[\"Price\"],\"SourceType\":\"s3\",\"E-Cost\":\"0\"}],\"Node Type\":\"Source\"}],\"Node Type\":\"Aggregate\"}],\"Node Type\":\"UnionAll\",\"PlanNodeType\":\"Connection\"}],\"Node Type\":\"Aggregate-Limit-Aggregate\"}],\"Subplan Name\":\"CTE precompute_0_0\",\"Node Type\":\"Precompute_0\",\"Parent Relationship\":\"InitPlan\",\"PlanNodeType\":\"Materialize\"}],\"Node Type\":\"Query\",\"PlanNodeType\":\"Query\"},\"meta\":{\"version\":\"0.2\",\"type\":\"query\"}}"
  }
  statistics {
    json: "{\"Precompute_0\":{\"Tasks\":{\"sum\":2,\"count\":2,\"avg\":1,\"max\":1,\"min\":1},\"CpuTimeUs\":{\"sum\":\"1ms\",\"count\":2,\"avg\":\"792us\",\"max\":\"1ms\",\"min\":\"368us\"},\"IngressBytes\":{\"sum\":3009,\"count\":1,\"avg\":3009,\"max\":3009,\"min\":3009},\"IngressRows\":{\"sum\":3,\"count\":1,\"avg\":3,\"max\":3,\"min\":3},\"InputBytes\":{\"sum\":3,\"count\":1,\"avg\":3,\"max\":3,\"min\":3},\"InputRows\":{\"sum\":1,\"count\":1,\"avg\":1,\"max\":1,\"min\":1},\"OutputBytes\":{\"sum\":7,\"count\":2,\"avg\":3,\"max\":4,\"min\":3},\"OutputRows\":{\"sum\":2,\"count\":2,\"avg\":1,\"max\":1,\"min\":1},\"ResultBytes\":{\"sum\":4,\"count\":1,\"avg\":4,\"max\":4,\"min\":4},\"ResultRows\":{\"sum\":1,\"count\":1,\"avg\":1,\"max\":1,\"min\":1},\"MaxMemoryUsage\":{\"sum\":211812352,\"count\":2,\"avg\":105906176,\"max\":210763776,\"min\":1048576}},\"ResultSet_1\":{\"Tasks\":{\"sum\":2,\"count\":2,\"avg\":1,\"max\":1,\"min\":1},\"CpuTimeUs\":{\"sum\":\"1ms\",\"count\":2,\"avg\":\"729us\",\"max\":\"1ms\",\"min\":\"116us\"},\"IngressBytes\":{\"sum\":3166,\"count\":1,\"avg\":3166,\"max\":3166,\"min\":3166},\"IngressRows\":{\"sum\":3,\"count\":1,\"avg\":3,\"max\":3,\"min\":3},\"InputBytes\":{\"sum\":8,\"count\":1,\"avg\":8,\"max\":8,\"min\":8},\"InputRows\":{\"sum\":1,\"count\":1,\"avg\":1,\"max\":1,\"min\":1},\"OutputBytes\":{\"sum\":16,\"count\":2,\"avg\":8,\"max\":8,\"min\":8},\"OutputRows\":{\"sum\":2,\"count\":2,\"avg\":1,\"max\":1,\"min\":1},\"ResultBytes\":{\"sum\":8,\"count\":1,\"avg\":8,\"max\":8,\"min\":8},\"ResultRows\":{\"sum\":1,\"count\":1,\"avg\":1,\"max\":1,\"min\":1},\"MaxMemoryUsage\":{\"sum\":211812352,\"count\":2,\"avg\":105906176,\"max\":210763776,\"min\":1048576}}}"
  }
  result_set_meta {
    column {
      name: "Fruit"
      type {
        type_id: STRING
      }
    }
    column {
      name: "Price"
      type {
        type_id: INT32
      }
    }
    rows_count: 1
  }
  ast {
    data: "(\n(declare %kqp%tx_result_binding_0_0 (OptionalType (StructType \'(\'Max0 (DataType \'Int32)))))\n(let $1 (DataSource \'\"s3\" \'\"/local/h1221158791275704315_test_precomputefruitbucket\"))\n(let $2 (Bool \'\"true\"))\n(let $3 \'(\'((String \'\"Paths {\\n  Name: \\\"test.parquet\\\"\\n  Size: 2899\\n  Read: true\\n}\\n\") $2 (AsStruct))))\n(let $4 \'\"cluster:default_/local/h1221158791275704315_test_precomputefruitbucket\")\n(let $5 (SecureParam $4))\n(let $6 (DataType \'Int32))\n(let $7 \'(\'\"Price\" $6))\n(let $8 (StructType $7))\n(let $9 (S3ParseSettings world $3 $5 \'\"\" \'\"test.parquet \" \'\"parquet\" $8 (lambda \'($29) $2) \'()))\n(let $10 \'(\'(\'format \'\"parquet\")))\n(let $11 (Bool \'false))\n(let $12 (lambda \'($38) $38))\n(let $13 \'(\'(\'\"_logical_id\" \'1386) \'(\'\"_id\" \'\"ede870d7-e3d0f786-36d2caff-794c683d\") \'(\'\"_wide_channels\" (StructType \'(\'_yql_agg_0 $6)))))\n(let $14 (DqPhyStage \'((DqSource $1 $9)) (lambda \'($30) (block \'(\n  (let $31 (Condense1 (NarrowMap (ToFlow (WideFromBlocks (FromFlow (DqSourceWideBlockWrap $30 $1 $8 $10)))) (lambda \'($32) (AsStruct \'(\'\"Price\" $32)))) (lambda \'($33) (Member $33 \'\"Price\")) (lambda \'($34 $35) $11) (lambda \'($36 $37) (AggrMax (Member $36 \'\"Price\") $37))))\n  (return (FromFlow (ExpandMap $31 $12)))\n))) $13))\n(let $15 (DqCnUnionAll (TDqOutput $14 \'0)))\n(let $16 (OptionalType (StructType \'(\'Max0 $6))))\n(let $17 (DqPhyStage \'($15) (lambda \'($39) (block \'(\n  (let $40 (WideCondense1 (ToFlow $39) $12 (lambda \'($41 $42) $11) (lambda \'($43 $44) (AggrMax $43 $44))))\n  (return (FromFlow (Condense (NarrowMap (Take $40 (Uint64 \'\"1\")) (lambda \'($45) (AsStruct \'(\'Max0 $45)))) (Nothing $16) (lambda \'($46 $47) $11) (lambda \'($48 $49) (Just $48)))))\n))) \'(\'(\'\"_logical_id\" \'2527) \'(\'\"_id\" \'\"9fdfaf3a-cf228d8d-4957c795-5c2f40c5\"))))\n(let $18 (DqCnValue (TDqOutput $17 \'0)))\n(let $19 (KqpPhysicalTx \'($14 $17) \'($18) \'() \'(\'(\'\"type\" \'\"compute\"))))\n(let $20 (StructType \'(\'\"Fruit\" (DataType \'String)) $7))\n(let $21 (S3ParseSettings world $3 $5 \'\"\" \'\"test.parquet \" \'\"parquet\" $20 (lambda \'($50) $2) \'()))\n(let $22 \'\"%kqp%tx_result_binding_0_0\")\n(let $23 (DqPhyStage \'((DqSource $1 $21)) (lambda \'($51) (FromFlow (NarrowMap (WideFilter (ToFlow (WideFromBlocks (FromFlow (DqSourceWideBlockWrap $51 $1 $20 $10)))) (lambda \'($52 $53) (Coalesce (== $53 (Member %kqp%tx_result_binding_0_0 \'Max0)) $11))) (lambda \'($54 $55) (AsStruct \'(\'\"Fruit\" $54) \'(\'\"Price\" $55)))))) \'(\'(\'\"_logical_id\" \'2734) \'(\'\"_id\" \'\"100811c2-45a2aab0-cb150077-95830cb5\"))))\n(let $24 (DqCnUnionAll (TDqOutput $23 \'0)))\n(let $25 (DqPhyStage \'($24) (lambda \'($56) $56) \'(\'(\'\"_logical_id\" \'3966) \'(\'\"_id\" \'\"29de5caf-6f1576b2-40f53b3d-88acad54\"))))\n(let $26 (DqCnResult (TDqOutput $25 \'0) \'(\'\"Fruit\" \'\"Price\")))\n(let $27 (KqpTxResultBinding $16 \'0 \'0))\n(let $28 (KqpPhysicalTx \'($23 $25) \'($26) \'(\'($22 $27)) \'(\'(\'\"type\" \'\"generic\"))))\n(return (KqpPhysicalQuery \'($19 $28) \'((KqpTxResultBinding (ListType $20) \'\"1\" \'0)) \'(\'(\'\"type\" \'\"script\"))))\n)\n"
  }
  timeline {
    svg: "<svg width=\'1280\' height=\'324\' xmlns=\'http://www.w3.org/2000/svg\'>\n<clipPath id=\'clipTextPath\'><rect x=\'0\' y=\'0\' width=\'298\' height=\'324\'/></clipPath>\n\n<defs>\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_ingress\'>\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_egress\'>\n    <path d=\'M13 9H10V16H6V9L3 9V8L8 3L13 8V9Z\' />\n    <path d=\'M14 2H2V0H14V2Z\' />\n  </g>\n\n  <g id=\'icon_input\'>\n    <path d=\"M456.49,264.459L295.206,103.183l56.572-56.572c1.084-1.08,1.456-2.696,0.948-4.14c-0.504-1.448-1.792-2.48-3.316-2.656\n        L4.654,0.027c-1.22-0.144-2.428,0.284-3.292,1.148c-0.864,0.86-1.284,2.068-1.144,3.28L40.01,349.208\n        c0.176,1.52,1.208,2.812,2.656,3.316c1.448,0.508,3.068,0.14,4.144-0.948l56.18-56.18L264.274,456.68\n        c0.748,0.748,1.764,1.172,2.828,1.172c1.06,0,2.076-0.424,2.828-1.172l186.556-186.568\n        C458.05,268.555,458.05,266.027,456.49,264.459z\"/>\n  </g>\n\n  <g id=\'icon_output\'>\n\t<path d=\"M456.494,1.168c-0.864-0.86-2.064-1.284-3.288-1.14l-344.76,39.78c-1.524,0.18-2.812,1.216-3.32,2.656\n        c-0.504,1.456-0.132,3.068,0.948,4.148l56.572,56.576L1.362,264.464c-1.564,1.564-1.564,4.092,0,5.656l186.56,186.556\n        c0.78,0.784,1.804,1.172,2.828,1.172c1.024,0,2.048-0.388,2.828-1.172l161.28-161.28l56.18,56.18\n        c1.084,1.088,2.7,1.452,4.144,0.952c1.448-0.504,2.48-1.796,2.656-3.32L457.63,4.456C457.774,3.248,457.354,2.036,456.494,1.168z\"/>\n  </g>\n\n</defs>\n<style type=\'text/css\'>\n  rect.stage { stroke-width:0; fill:var(--stage-main, #F2F2F2); }\n  rect.clone { stroke-width:0; fill:var(--stage-clone, #D9D9D9); }\n  rect.blocks { stroke-width:0; fill:var(--block-medium, #EACB68); }\n  .texts { text-anchor:start; font-family:Verdana; font-size:8px; fill:var(--stage-text, #262626); }\n  .textm { text-anchor:middle; font-family:Verdana; font-size:8px; fill:var(--stage-text, #262626); }\n  .texte { text-anchor:end; font-family:Verdana; font-size:8px; fill:var(--stage-text, #262626); }\n  circle.stage { stroke:var(--stage-main, #F2F2F2); stroke-width:1; fill:var(--stage-clone, #D9D9D9); }\n  line.opdiv { stroke-width:1; stroke:var(--stage-grid, #B2B2B2); stroke-dasharray:1,2; }\n  text.clipped { clip-path:url(#clipTextPath); }\n  polygon.conn { stroke-width:0; fill:var(--conn-fill, #BFBFBF); }\n  path.conn { stroke-width:1; stroke:var(--conn-fill, #BFBFBF); fill:var(--conn-fill, #BFBFBF); }\n  path.conn.blocks { stroke-width:1; stroke:var(--conn-fill, #BFBFBF); fill:var(--block-medium, #EACB68); }\n  text.conn { text-anchor:middle; font-family:Verdana; font-size:6px; fill:var(--conn-text, #393939); }\n  rect.background { stroke-width:0; fill:#33FFFF; opacity:0; }\n  g.selected circle.stage { fill:#33FFFF; }\n  g.selected polygon.conn { fill:#33FFFF; }\n  g.selected path.conn { stroke:#33FFFF; fill:#33FFFF; }\n  g.selected rect.stage { fill:#33FFFF; }\n  g.selected rect.clone { fill:#33FFFF; }\n  g.selected rect.background { opacity:1; }\n  g.selected path.blocks { stroke:#33FFFF; }\n</style>\n\n<script type=\"text/ecmascript\">\n<![CDATA[\n    var selectedNode;\n\n    function find_selectable(node) {\n\t\tvar parent = node.parentElement;\n\t\tif (!parent) return;\n\t\tif (parent.classList.contains(\"selectable\")) return parent;\n\t\treturn find_selectable(parent);\n\t}\n\n    window.onload = function() {\n        selectedNode = document.querySelector(\".selected\");\n    }\n\n    window.addEventListener(\"click\", function(e) {\n\t\tvar target = find_selectable(e.target);\n        if (target) {\n            if (selectedNode) {\n                selectedNode.classList.remove(\"selected\");\n            }\n            if (target == selectedNode) {\n                selectedNode = null;\n            } else {\n                selectedNode = target;\n                selectedNode.classList.add(\"selected\");\n            }\n        }\n\t}, false)\n]]>\n</script>\n<g class=\'selectable\'><title>Stage 1</title>\n<rect x=\'0\' y=\'27\' width=\'298\' height=\'66\' class=\'stage\'/>\n<rect x=\'301\' y=\'27\' width=\'64\' height=\'66\' class=\'stage\'/>\n<rect x=\'395\' y=\'27\' width=\'200\' height=\'66\' class=\'stage\'/>\n<rect x=\'368\' y=\'27\' width=\'24\' height=\'66\' class=\'stage\'/>\n<rect x=\'598\' y=\'27\' width=\'682\' height=\'66\' class=\'stage\'/>\n<g><title>Collect: </title><text x=\'18\' y=\'38\' class=\'texts clipped\'>Collect</text>\n<text x=\'26\' y=\'48\' class=\'texts clipped\'></text>\n<g><title>Output Rows 20%, 1</title>\n  <rect x=\'303\' y=\'33\' width=\'20\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,33 313,33 323,33 323,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\'>1</text>\n</g>\n</g>\n<circle cx=\'8\' cy=\'60\' r=\'7\' class=\'stage\' />\n<text x=\'8\' y=\'64\' class=\'textm\'>1</text>\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=\'1\' height=\'14\' stroke-width=\'0\' fill=\'var(--mem-light, #AA7785)\'/>  <polygon points=\'413,45 413,45 414,45 414,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>Max MEM 1.00MB</title>\n<path d=\'M632,58c0,0,0,-13,0,-13c0,0,0,13,0,13z\' stroke-width=\'1\' stroke=\'var(--mem-medium, #7E4E5B)\' fill=\'var(--mem-medium, #7E4E5B)\' />\n</g>\n<g><title>CPU Usage 7%, 116us</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=\'15\' height=\'14\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\'/>  <polygon points=\'413,61 420,61 428,61 428,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\'>116us</text>\n</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 x=\'390\' y=\'64\' class=\'texte\'>1</text>\n</g>\n</g>\n<g class=\'selectable\'><title>Stage 0</title>\n<rect x=\'0\' y=\'96\' width=\'298\' height=\'66\' class=\'stage\'/>\n<rect x=\'301\' y=\'96\' width=\'64\' height=\'66\' class=\'stage\'/>\n<rect x=\'395\' y=\'96\' width=\'200\' height=\'66\' class=\'stage\'/>\n<rect x=\'368\' y=\'96\' width=\'24\' height=\'66\' class=\'stage\'/>\n<rect x=\'598\' y=\'96\' width=\'682\' height=\'66\' class=\'stage\'/>\n<g><title>Filter: Price == %kqp%tx_result_binding_0_0.Max0</title><text x=\'18\' y=\'107\' class=\'texts clipped\'>Filter</text>\n<text x=\'26\' y=\'117\' class=\'texts clipped\'>Price == %kqp%tx_result_binding_0_0.Max0</text>\n<g><title>Output Rows 20%, 1</title>\n  <rect x=\'303\' y=\'102\' width=\'20\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,102 313,102 323,102 323,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\'>1</text>\n</g>\n</g>\n<line x1=\'18\' y1=\'119\' x2=\'298\' y2=\'119\' class=\'opdiv\' />\n<g><title>Source s3: h1221158791275704315_test_precomputefruitbucket.test.parquet (Fruit, Price)</title><text x=\'18\' y=\'127\' class=\'texts clipped\'>Source s3</text>\n<text x=\'26\' y=\'137\' class=\'texts clipped\'>h1221158791275704315_test_precomputefruitbucket.test.parquet (Fruit, Price)</text>\n<g><title>Output Rows 60%, 3, Est: 0 Rows: 0 Size: 0B</title>\n  <rect x=\'303\' y=\'122\' width=\'60\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,122 333,122 363,122 363,136 303,136\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'303\' y=\'125\' 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=\'133\'>3</text>\n</g>\n</g>\n<circle cx=\'8\' cy=\'129\' r=\'7\' class=\'stage\' />\n<text x=\'8\' y=\'133\' class=\'textm\'>0</text>\n<g><title>Memory 99%, 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\'>201.00MB</text>\n</g>\n<g><title>Max MEM 201.00MB</title>\n<path d=\'M632,127c0,0,0,-13,0,-13c0,0,0,13,0,13z\' stroke-width=\'1\' stroke=\'var(--mem-medium, #7E4E5B)\' fill=\'var(--mem-medium, #7E4E5B)\' />\n</g>\n<g><title>CPU Usage 92%, 1ms</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 503,130 593,130 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>Stage 0, tasks: 1, finished: 1</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 x=\'390\' y=\'133\' class=\'texte\'>1</text>\n</g>\n<g><title>Ingress 100%, 3.09KB, Rows 100%, 3, Width 1.03KB</title>\n<use href=\'#icon_ingress\' 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,146 593,146 593,160 413,160\' stroke=\'none\' fill=\'var(--ingress-medium, #466364)\'/>\n<rect x=\'413\' y=\'149\' 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=\'157\'>3.09KB</text>\n</g>\n<g><title>Ingress, Duration: 0.00 (0.03 | 0.03 | 0.03 - 0.03 | 0.03 | 0.03)</title><rect x=\'632\' y=\'146\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--ingress-medium, #466364)\'/>\n</g>\n</g>\n<g class=\'selectable\'><title>Result: ResultSet_1</title>\n<rect x=\'0\' y=\'3\' width=\'298\' height=\'24\' class=\'background\'/>\n<text x=\'0\' y=\'11\' class=\'texts\'>ResultSet_1</text>\n<g><title>Output 50%, 8B, Rows 50%, 1</title>\n<rect x=\'395\' y=\'29\' width=\'200\' height=\'14\' class=\'background\'/>\n<use href=\'#icon_output\' transform=\'translate(395 29) scale(0.0325 0.0325)\' fill=\'var(--output-light, #6F93C3)\'/>\n  <rect x=\'413\' y=\'29\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'413,29 503,29 593,29 593,43 413,43\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'413\' y=\'32\' width=\'11\' 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\'>8B</text>\n</g>\n<g><title>Output, Duration: 0.00 (0.03 | 0.03 | 0.03 - 0.03 | 0.03 | 0.03)</title><rect x=\'632\' y=\'29\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-medium, #5781B9)\'/>\n</g>\n</g>\n<g class=\'selectable\'><title>Connection: UnionAll</title>\n  <path d=\'M16,110l-16,0l0,-14l8,-4l8,4z\' class=\'conn\' />\n<text x=\'8\' y=\'106\' class=\'conn\'>U</text>\n<g><title>Input 100%, 8B, Rows 100%, 1, Width 8B</title>\n<rect x=\'395\' y=\'77\' width=\'200\' height=\'14\' class=\'background\'/>\n<use href=\'#icon_input\' transform=\'translate(395 77) scale(0.0325 0.0325)\' fill=\'var(--input-light, #7CA3A5)\'/>\n<text x=\'403\' y=\'88\' class=\'textm\'>0</text>\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=\'11\' 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\'>8B</text>\n</g>\n<g><title>Input, Duration: 0.00 (0.03 | 0.03 | 0.03 - 0.03 | 0.03 | 0.03)</title><rect x=\'598\' y=\'77\' width=\'682\' height=\'14\' class=\'background\'/>\n<rect x=\'632\' y=\'77\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--input-medium, #5A8183)\'/>\n</g>\n<g><title>Output 50%, 8B, Rows 50%, 1</title>\n<rect x=\'395\' y=\'98\' width=\'200\' height=\'14\' class=\'background\'/>\n<use href=\'#icon_output\' transform=\'translate(395 98) scale(0.0325 0.0325)\' fill=\'var(--output-light, #6F93C3)\'/>\n<text x=\'403\' y=\'109\' class=\'textm\'>1</text>\n  <rect x=\'413\' y=\'98\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'413,98 503,98 593,98 593,112 413,112\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'413\' y=\'101\' width=\'11\' 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\'>8B</text>\n</g>\n<g><title>Output, Duration: 0.00 (0.03 | 0.03 | 0.03 - 0.03 | 0.03 | 0.03)</title><rect x=\'598\' y=\'98\' width=\'682\' height=\'14\' class=\'background\'/>\n<rect x=\'632\' y=\'98\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-medium, #5781B9)\'/>\n</g>\n</g>\n<g class=\'selectable\'><title>Stage 1</title>\n<rect x=\'0\' y=\'189\' width=\'298\' height=\'66\' class=\'stage\'/>\n<rect x=\'301\' y=\'189\' width=\'64\' height=\'66\' class=\'stage\'/>\n<rect x=\'395\' y=\'189\' width=\'200\' height=\'66\' class=\'stage\'/>\n<rect x=\'368\' y=\'189\' width=\'24\' height=\'66\' class=\'stage\'/>\n<rect x=\'598\' y=\'189\' width=\'682\' height=\'66\' class=\'stage\'/>\n<g><title>Aggregate: </title><text x=\'18\' y=\'200\' class=\'texts clipped\'>Aggregate</text>\n<text x=\'26\' y=\'210\' class=\'texts clipped\'></text>\n<g><title>Output Rows 20%, 1</title>\n  <rect x=\'303\' y=\'195\' width=\'20\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,195 313,195 323,195 323,209 303,209\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'303\' y=\'198\' 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=\'206\'>1</text>\n</g>\n</g>\n<line x1=\'18\' y1=\'212\' x2=\'298\' y2=\'212\' class=\'opdiv\' />\n<g><title>Limit: 1</title><text x=\'18\' y=\'220\' class=\'texts clipped\'>Limit</text>\n<text x=\'26\' y=\'230\' class=\'texts clipped\'>1</text>\n</g>\n<line x1=\'18\' y1=\'232\' x2=\'298\' y2=\'232\' class=\'opdiv\' />\n<g><title>Aggregate: </title><text x=\'18\' y=\'240\' class=\'texts clipped\'>Aggregate</text>\n<text x=\'26\' y=\'250\' class=\'texts clipped\'></text>\n</g>\n<circle cx=\'8\' cy=\'222\' r=\'7\' class=\'stage\' />\n<text x=\'8\' y=\'226\' class=\'textm\'>1</text>\n<g><title>Memory 0%, 1.00MB</title>\n<use href=\'#icon_memory\' transform=\'translate(395 207) scale(0.6 0.6)\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <rect x=\'413\' y=\'207\' width=\'1\' height=\'14\' stroke-width=\'0\' fill=\'var(--mem-light, #AA7785)\'/>  <polygon points=\'413,207 413,207 414,207 414,221 413,221\' stroke=\'none\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n<rect x=\'413\' y=\'210\' 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=\'218\'>1.00MB</text>\n</g>\n<g><title>Max MEM 1.00MB</title>\n<path d=\'M610,220c0,0,0,-13,0,-13c0,0,0,13,0,13z\' stroke-width=\'1\' stroke=\'var(--mem-medium, #7E4E5B)\' fill=\'var(--mem-medium, #7E4E5B)\' />\n</g>\n<g><title>CPU Usage 23%, 368us</title>\n<use href=\'#icon_cpu\' transform=\'translate(395 223) scale(0.6 0.6)\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <rect x=\'413\' y=\'223\' width=\'54\' height=\'14\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\'/>  <polygon points=\'413,223 440,223 467,223 467,237 413,237\' stroke=\'none\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n<rect x=\'413\' y=\'226\' 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=\'234\'>368us</text>\n</g>\n<g><title>Stage 1, tasks: 1, finished: 1</title>\n<line x1=\'371\' y1=\'189\' x2=\'371\' y2=\'255\' stroke-width=\'6\' stroke=\'var(--stage-text, #262626)\' stroke-dasharray=\'1,1\' />\n  <text x=\'390\' y=\'226\' class=\'texte\'>1</text>\n</g>\n</g>\n<g class=\'selectable\'><title>Stage 0</title>\n<rect x=\'0\' y=\'258\' width=\'298\' height=\'66\' class=\'stage\'/>\n<rect x=\'301\' y=\'258\' width=\'64\' height=\'66\' class=\'stage\'/>\n<rect x=\'395\' y=\'258\' width=\'200\' height=\'66\' class=\'stage\'/>\n<rect x=\'368\' y=\'258\' width=\'24\' height=\'66\' class=\'stage\'/>\n<rect x=\'598\' y=\'258\' width=\'682\' height=\'66\' class=\'stage\'/>\n<g><title>Aggregate: </title><text x=\'18\' y=\'269\' class=\'texts clipped\'>Aggregate</text>\n<text x=\'26\' y=\'279\' class=\'texts clipped\'></text>\n<g><title>Output Rows 20%, 1</title>\n  <rect x=\'303\' y=\'264\' width=\'20\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,264 313,264 323,264 323,278 303,278\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'303\' y=\'267\' 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=\'275\'>1</text>\n</g>\n</g>\n<line x1=\'18\' y1=\'281\' x2=\'298\' y2=\'281\' class=\'opdiv\' />\n<g><title>Source s3: h1221158791275704315_test_precomputefruitbucket.test.parquet (Price)</title><text x=\'18\' y=\'289\' class=\'texts clipped\'>Source s3</text>\n<text x=\'26\' y=\'299\' class=\'texts clipped\'>h1221158791275704315_test_precomputefruitbucket.test.parquet (Price)</text>\n<g><title>Output Rows 60%, 3, Est: 0 Rows: 0 Size: 0B</title>\n  <rect x=\'303\' y=\'284\' width=\'60\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'303,284 333,284 363,284 363,298 303,298\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'303\' y=\'287\' 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=\'295\'>3</text>\n</g>\n</g>\n<circle cx=\'8\' cy=\'291\' r=\'7\' class=\'stage\' />\n<text x=\'8\' y=\'295\' class=\'textm\'>0</text>\n<g><title>Memory 99%, 201.00MB</title>\n<use href=\'#icon_memory\' transform=\'translate(395 276) scale(0.6 0.6)\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n  <rect x=\'413\' y=\'276\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--mem-light, #AA7785)\'/>  <polygon points=\'413,276 503,276 593,276 593,290 413,290\' stroke=\'none\' fill=\'var(--mem-medium, #7E4E5B)\'/>\n<rect x=\'413\' y=\'279\' 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=\'287\'>201.00MB</text>\n</g>\n<g><title>Max MEM 201.00MB</title>\n<path d=\'M598,289c4,0,8,-13,12,-13c0,0,0,13,0,13z\' stroke-width=\'1\' stroke=\'var(--mem-medium, #7E4E5B)\' fill=\'var(--mem-medium, #7E4E5B)\' />\n</g>\n<g><title>CPU Usage 76%, 1ms</title>\n<use href=\'#icon_cpu\' transform=\'translate(395 292) scale(0.6 0.6)\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n  <rect x=\'413\' y=\'292\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--cpu-light, #B78C98)\'/>  <polygon points=\'413,292 503,292 593,292 593,306 413,306\' stroke=\'none\' fill=\'var(--cpu-medium, #A36D7B)\'/>\n<rect x=\'413\' y=\'295\' 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=\'303\'>1ms</text>\n</g>\n<g><title>Max CPU 1.40</title>\n<path d=\'M598,305c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,0,1,0c0,0,0,-13,1,-13c0,0,0,13,0,13c0,0,0,0,0,0z\' stroke-width=\'1\' stroke=\'var(--cpu-medium, #A36D7B)\' fill=\'var(--cpu-light, #B78C98)\' />\n</g>\n<g><title>Stage 0, tasks: 1, finished: 1</title>\n<line x1=\'371\' y1=\'258\' x2=\'371\' y2=\'324\' stroke-width=\'6\' stroke=\'var(--stage-text, #262626)\' stroke-dasharray=\'1,1\' />\n  <text x=\'390\' y=\'295\' class=\'texte\'>1</text>\n</g>\n<g><title>Ingress 100%, 2.93KB, Rows 100%, 3, Width 1003B</title>\n<use href=\'#icon_ingress\' transform=\'translate(395 308) scale(0.9 0.9)\' fill=\'var(--ingress-medium, #466364)\'/>\n  <rect x=\'413\' y=\'308\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--ingress-light, #5A8183)\'/>  <polygon points=\'413,308 503,308 593,308 593,322 413,322\' stroke=\'none\' fill=\'var(--ingress-medium, #466364)\'/>\n<rect x=\'413\' y=\'311\' 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=\'319\'>2.93KB</text>\n</g>\n<g><title>Ingress, Duration: 0.00 (0.01 | 0.01 | 0.01 - 0.01 | 0.01 | 0.01)</title><rect x=\'610\' y=\'308\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--ingress-medium, #466364)\'/>\n</g>\n</g>\n<g class=\'selectable\'><title>Result: Precompute_0</title>\n<rect x=\'0\' y=\'165\' width=\'298\' height=\'24\' class=\'background\'/>\n<text x=\'0\' y=\'173\' class=\'texts\'>Precompute_0</text>\n<g><title>Output 57%, 4B, Rows 50%, 1</title>\n<rect x=\'395\' y=\'191\' width=\'200\' height=\'14\' class=\'background\'/>\n<use href=\'#icon_output\' transform=\'translate(395 191) scale(0.0325 0.0325)\' fill=\'var(--output-light, #6F93C3)\'/>\n  <rect x=\'413\' y=\'191\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'413,191 503,191 593,191 593,205 413,205\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'413\' y=\'194\' width=\'11\' 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=\'202\'>4B</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=\'610\' y=\'191\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-medium, #5781B9)\'/>\n</g>\n</g>\n<g class=\'selectable\'><title>Connection: UnionAll</title>\n<g><title>Input from Stage 0</title>\n<circle cx=\'290\' cy=\'242\' r=\'7\' class=\'stage\' />\n<text x=\'290\' y=\'246\' class=\'textm\'>0</text>\n</g>\n  <path d=\'M16,272l-16,0l0,-14l8,-4l8,4z\' class=\'conn\' />\n<text x=\'8\' y=\'268\' class=\'conn\'>U</text>\n<g><title>Input 100%, 3B, Rows 100%, 1, Width 3B</title>\n<rect x=\'395\' y=\'239\' width=\'200\' height=\'14\' class=\'background\'/>\n<use href=\'#icon_input\' transform=\'translate(395 239) scale(0.0325 0.0325)\' fill=\'var(--input-light, #7CA3A5)\'/>\n<text x=\'403\' y=\'250\' class=\'textm\'>0</text>\n  <rect x=\'413\' y=\'239\' width=\'180\' height=\'14\' stroke-width=\'0\' fill=\'var(--input-light, #7CA3A5)\'/>  <polygon points=\'413,239 503,239 593,239 593,253 413,253\' stroke=\'none\' fill=\'var(--input-medium, #5A8183)\'/>\n<rect x=\'413\' y=\'242\' width=\'11\' 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=\'250\'>3B</text>\n</g>\n<g><title>Input, Duration: 0.00 (0.01 | 0.01 | 0.01 - 0.01 | 0.01 | 0.01)</title><rect x=\'598\' y=\'239\' width=\'682\' height=\'14\' class=\'background\'/>\n<rect x=\'610\' y=\'239\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--input-medium, #5A8183)\'/>\n</g>\n<g><title>Output 42%, 3B, Rows 50%, 1</title>\n<rect x=\'395\' y=\'260\' width=\'200\' height=\'14\' class=\'background\'/>\n<use href=\'#icon_output\' transform=\'translate(395 260) scale(0.0325 0.0325)\' fill=\'var(--output-light, #6F93C3)\'/>\n<text x=\'403\' y=\'271\' class=\'textm\'>1</text>\n  <rect x=\'413\' y=\'260\' width=\'135\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-light, #6F93C3)\'/>  <polygon points=\'413,260 480,260 548,260 548,274 413,274\' stroke=\'none\' fill=\'var(--output-medium, #5781B9)\'/>\n<rect x=\'413\' y=\'263\' width=\'11\' 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=\'271\'>3B</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=\'598\' y=\'260\' width=\'682\' height=\'14\' class=\'background\'/>\n<rect x=\'610\' y=\'260\' width=\'0\' height=\'14\' stroke-width=\'0\' fill=\'var(--output-medium, #5781B9)\'/>\n</g>\n</g>\n\n<line x1=\'600\' y1=\'0\' x2=\'600\' y2=\'324\' stroke-width=\'1\' stroke=\'var(--stage-grid, #B2B2B2)\' stroke-dasharray=\'1,2\'/>\n<text x=\'602\' y=\'11\' class=\'texts\'>0:00</text>\n<text x=\'602\' y=\'173\' class=\'texts\'>0:00</text>\n<text x=\'303\' y=\'11\' class=\'texts\'>Operators</text>\n<text x=\'397\' y=\'11\' class=\'texts\'>Stages</text>\n<text x=\'390\' y=\'11\' class=\'texte\'>Tasks</text>\n<text x=\'390\' y=\'22\' class=\'texte\'>2</text>\n<g><title>Ingress 3.09KB, Rows 3, Width 1055B, Avg 3.09KB/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\'>3.09KB</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 202.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\'>202.00MB</text>\n</g>\n<g><title>Duration: 1.00, Total 1.02</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.02</text>\n</g>\n<text x=\'303\' y=\'173\' class=\'texts\'>Operators</text>\n<text x=\'397\' y=\'173\' class=\'texts\'>Stages</text>\n<text x=\'390\' y=\'173\' class=\'texte\'>Tasks</text>\n<text x=\'390\' y=\'184\' class=\'texte\'>2</text>\n<g><title>Ingress 2.93KB, Rows 3, Width 1003B, Avg 2.93KB/s</title>\n  <rect x=\'395\' y=\'176\' 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=\'184\'>2.93KB</text>\n</g>\n<g><title>CPU Usage 1ms, Avg 0.00 CPU/s</title>\n  <rect x=\'462\' y=\'176\' 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=\'184\'>1ms</text>\n</g>\n<g><title>Memory 202.00MB</title>\n  <rect x=\'530\' y=\'176\' 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=\'184\'>202.00MB</text>\n</g>\n<g><title>Duration: 1.00, Total 1.00</title>\n  <rect x=\'1200\' y=\'165\' 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=\'1263\' y=\'173\'>1.00</text>\n</g>\n<g><title>Max CPU 1.99</title>\n<path d=\'M598,188c0,0,0,-13,0,-13c0,0,0,13,0,13c0,0,0,0,0,0z\' stroke-width=\'1\' stroke=\'var(--cpu-medium, #A36D7B)\' fill=\'var(--cpu-light, #B78C98)\' />\n</g>\n\n</svg>\n"
  }
}

2025-11-10 10:15:52,457 - DEBUG - root - test_precompute: columns {
  name: "Fruit"
  type {
    type_id: STRING
  }
}
columns {
  name: "Price"
  type {
    type_id: INT32
  }
}
rows {
  items {
    bytes_value: "Pear"
  }
  items {
    int32_value: 15
  }
}

2025-11-10 10:15:52,459 - INFO - ya.test - pytest_runtest_teardown: Test teardown
