2025-12-12 13:25:14,061 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-12-12 13:25:14,061 - INFO - ya.test - pytest_runtest_setup: test_projection[v1-false-client0]
2025-12-12 13:25:14,061 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-12-12 13:25:14,061 - INFO - ya.test - pytest_runtest_setup: Test setup
2025-12-12 13:25:14,124 - INFO - ya.test - pytest_runtest_call: Test call (class_name: test_explicit_partitioning_0.py::TestS3, test_name: test_projection[v1-false-client0])
2025-12-12 13:25:14,125 - DEBUG - botocore.hooks - _emit: Event choose-service-name: calling handler <function handle_service_name_alias at 0x7ffbaf224a10>
2025-12-12 13:25:14,127 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7ffbaf32c710>
2025-12-12 13:25:14,128 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function lazy_call.<locals>._handler at 0x7ffbae400c50>
2025-12-12 13:25:14,128 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7ffbaf32c410>
2025-12-12 13:25:14,131 - DEBUG - botocore.endpoint - create_endpoint: Setting s3 timeout as (60, 60)
2025-12-12 13:25:14,135 - DEBUG - botocore.client - _register_legacy_retries: Registering retry handlers for service: s3
2025-12-12 13:25:14,136 - DEBUG - botocore.utils - register: Registering S3 region redirector handler
2025-12-12 13:25:14,143 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:s3
2025-12-12 13:25:14,145 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:Bucket
2025-12-12 13:25:14,145 - DEBUG - boto3.resources.model - _load_name_with_category: Renaming Bucket attribute name
2025-12-12 13:25:14,148 - DEBUG - botocore.hooks - _emit: Event creating-resource-class.s3.Bucket: calling handler <function lazy_call.<locals>._handler at 0x7ffbae4016d0>
2025-12-12 13:25:14,149 - DEBUG - boto3.resources.action - __call__: Calling s3:create_bucket with {'Bucket': 'test_projection', 'ACL': 'public-read'}
2025-12-12 13:25:14,150 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function validate_bucket_name at 0x7ffbaf2268d0>
2025-12-12 13:25:14,150 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function remove_bucket_from_url_paths_from_model at 0x7ffbaf249190>
2025-12-12 13:25:14,150 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae709f00>>
2025-12-12 13:25:14,150 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function generate_idempotent_uuid at 0x7ffbaf226690>
2025-12-12 13:25:14,150 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7ffbaf2493d0>
2025-12-12 13:25:14,151 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae709f00>>
2025-12-12 13:25:14,151 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:6407', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableAccessPoints': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:25:14,152 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:6407/test_projection
2025-12-12 13:25:14,153 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:25:14,153 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:25:14,154 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_expect_header at 0x7ffbaf226d50>
2025-12-12 13:25:14,154 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_recursion_detection_header at 0x7ffbaf224c50>
2025-12-12 13:25:14,154 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function inject_api_version_header_if_needed at 0x7ffbaf2487d0>
2025-12-12 13:25:14,154 - 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.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource'}, 'body': b'', 'auth_path': '/test_projection/', 'url': 'http://localhost:6407/test_projection', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7ffbae7095a0>, 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Bucket': 'test_projection', 'ACL': 'public-read'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-12-12 13:25:14,155 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7ffbae7081a0>>
2025-12-12 13:25:14,155 - 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 0x7ffbae791b90>>
2025-12-12 13:25:14,156 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.CreateBucket: calling handler <function set_operation_specific_signer at 0x7ffbaf226510>
2025-12-12 13:25:14,156 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.CreateBucket: calling handler <function remove_arn_from_signing_path at 0x7ffbaf249310>
2025-12-12 13:25:14,156 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:25:14,157 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection

host:localhost:6407
x-amz-acl:public-read
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20251212T132514Z

host;x-amz-acl;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2025-12-12 13:25:14,157 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132514Z
20251212/yandex/s3/aws4_request
c89227186671e3d0016fd2d69a3c261f839068a4edb824d152ee6038fe80728b
2025-12-12 13:25:14,157 - DEBUG - botocore.auth - add_auth: Signature:
4065788d9b8e1b5895d6fbff0d58c1e57ebd0e74729499af7bbea3727e80010e
2025-12-12 13:25:14,157 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <function add_retry_headers at 0x7ffbaf2490d0>
2025-12-12 13:25:14,158 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:6407/test_projection, headers={'x-amz-acl': b'public-read', 'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80 Resource', 'X-Amz-Date': b'20251212T132514Z', 'X-Amz-Content-SHA256': b'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=host;x-amz-acl;x-amz-content-sha256;x-amz-date, Signature=4065788d9b8e1b5895d6fbff0d58c1e57ebd0e74729499af7bbea3727e80010e', 'amz-sdk-invocation-id': b'db6380aa-ee0a-4f99-9608-983d2046b8cd', 'amz-sdk-request': b'attempt=1', 'Content-Length': '0'}>
2025-12-12 13:25:14,170 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:25:14 GMT', 'x-amzn-requestid': 'yTpPugpgz4bcYKYKXwRZi0yJ0Ua3Ng1ept8tP3VhRpBf2H3r4t8O', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '169', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:25:14,170 - DEBUG - botocore.parsers - parse: Response body:
b'<CreateBucketResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"><CreateBucketResponse><Bucket>test_projection</Bucket></CreateBucketResponse></CreateBucketResponse>'
2025-12-12 13:25:14,171 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <botocore.retryhandler.RetryHandler object at 0x7ffb9226bee0>
2025-12-12 13:25:14,172 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:25:14,172 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae709f00>>
2025-12-12 13:25:14,172 - DEBUG - boto3.resources.action - __call__: Response: {'ResponseMetadata': {'RequestId': 'yTpPugpgz4bcYKYKXwRZi0yJ0Ua3Ng1ept8tP3VhRpBf2H3r4t8O', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Werkzeug/2.2.3 Python/3.12.9', 'date': 'Fri, 12 Dec 2025 13:25:14 GMT', 'x-amzn-requestid': 'yTpPugpgz4bcYKYKXwRZi0yJ0Ua3Ng1ept8tP3VhRpBf2H3r4t8O', 'content-type': 'text/html; charset=utf-8', 'content-length': '169', 'access-control-allow-origin': '*', 'connection': 'close'}, 'RetryAttempts': 0}}
2025-12-12 13:25:14,173 - DEBUG - botocore.hooks - _emit: Event choose-service-name: calling handler <function handle_service_name_alias at 0x7ffbaf224a10>
2025-12-12 13:25:14,175 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7ffbaf32c710>
2025-12-12 13:25:14,175 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function lazy_call.<locals>._handler at 0x7ffbae400c50>
2025-12-12 13:25:14,176 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7ffbaf32c410>
2025-12-12 13:25:14,179 - DEBUG - botocore.endpoint - create_endpoint: Setting s3 timeout as (60, 60)
2025-12-12 13:25:14,183 - DEBUG - botocore.client - _register_legacy_retries: Registering retry handlers for service: s3
2025-12-12 13:25:14,183 - DEBUG - botocore.utils - register: Registering S3 region redirector handler
2025-12-12 13:25:14,185 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7ffbaf227950>
2025-12-12 13:25:14,186 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7ffbaf226990>
2025-12-12 13:25:14,186 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7ffbaf248650>
2025-12-12 13:25:14,186 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7ffbaf2268d0>
2025-12-12 13:25:14,186 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7ffbaf249190>
2025-12-12 13:25:14,186 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,186 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7ffbaf226690>
2025-12-12 13:25:14,187 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7ffbaf2493d0>
2025-12-12 13:25:14,187 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,188 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:6407', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:25:14,189 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:6407/test_projection
2025-12-12 13:25:14,189 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:25:14,189 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:25:14,190 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7ffbaf43f890>
2025-12-12 13:25:14,190 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7ffbaf226d50>
2025-12-12 13:25:14,191 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-12-12 13:25:14,191 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7ffbaf224c50>
2025-12-12 13:25:14,191 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7ffbaf2487d0>
2025-12-12 13:25:14,191 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=PutObject) with params: {'url_path': '/2022/3/5/fruits.csv', 'query_string': {}, 'method': 'PUT', 'headers': {'Content-Type': 'text/plain', 'User-Agent': 'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': 'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7ffb914540c0>, 'auth_path': '/test_projection/2022/3/5/fruits.csv', 'url': 'http://localhost:6407/test_projection/2022/3/5/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7ffbae485be0>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7ffb914540c0>, 'Bucket': 'test_projection', 'Key': '2022/3/5/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-12-12 13:25:14,192 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7ffbae487a30>>
2025-12-12 13:25:14,193 - 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 0x7ffbae7b7bc0>>
2025-12-12 13:25:14,193 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7ffbaf226510>
2025-12-12 13:25:14,193 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7ffbaf249310>
2025-12-12 13:25:14,194 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:25:14,194 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/5/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:6407
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251212T132514Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-12-12 13:25:14,194 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132514Z
20251212/yandex/s3/aws4_request
1420200e0ef32536f186527a7ee795820175cae1e4d560b4b0166ad7eeab8458
2025-12-12 13:25:14,194 - DEBUG - botocore.auth - add_auth: Signature:
1129abe666cf8173548bdd71a7f8533e02891d7843c4fbdeb7b27218b44095b5
2025-12-12 13:25:14,195 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7ffbaf2490d0>
2025-12-12 13:25:14,195 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:6407/test_projection/2022/3/5/fruits.csv, headers={'Content-Type': b'text/plain', 'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': b'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': b'100-continue', 'X-Amz-Date': b'20251212T132514Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=1129abe666cf8173548bdd71a7f8533e02891d7843c4fbdeb7b27218b44095b5', 'amz-sdk-invocation-id': b'f6ace2fe-304f-475e-a026-aaa7151cc648', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-12-12 13:25:14,197 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-12-12 13:25:14,198 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-12-12 13:25:14,203 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:25:14 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 12 Dec 2025 13:25:14 GMT', 'Content-Length': '0', 'x-amzn-requestid': 'qNx9kP75sh97FJaOIBghOB4XFNwFBD6HqUWNAQ58P00kEJ7Zvy0X', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:25:14,203 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-12-12 13:25:14,204 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7ffb9147e1d0>
2025-12-12 13:25:14,204 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:25:14,204 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7ffbaf227950>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7ffbaf226990>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7ffbaf248650>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7ffbaf2268d0>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7ffbaf249190>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7ffbaf226690>
2025-12-12 13:25:14,205 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7ffbaf2493d0>
2025-12-12 13:25:14,206 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,206 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:6407', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:25:14,206 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:6407/test_projection
2025-12-12 13:25:14,206 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:25:14,206 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:25:14,207 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7ffbaf43f890>
2025-12-12 13:25:14,207 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7ffbaf226d50>
2025-12-12 13:25:14,207 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-12-12 13:25:14,207 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7ffbaf224c50>
2025-12-12 13:25:14,208 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7ffbaf2487d0>
2025-12-12 13:25:14,208 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=PutObject) with params: {'url_path': '/2022/3/6/fruits.csv', 'query_string': {}, 'method': 'PUT', 'headers': {'Content-Type': 'text/plain', 'User-Agent': 'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': 'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7ffb91454210>, 'auth_path': '/test_projection/2022/3/6/fruits.csv', 'url': 'http://localhost:6407/test_projection/2022/3/6/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7ffbae485be0>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7ffb91454210>, 'Bucket': 'test_projection', 'Key': '2022/3/6/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-12-12 13:25:14,208 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7ffbae487a30>>
2025-12-12 13:25:14,208 - 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 0x7ffbae7b7bc0>>
2025-12-12 13:25:14,208 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7ffbaf226510>
2025-12-12 13:25:14,208 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7ffbaf249310>
2025-12-12 13:25:14,209 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:25:14,209 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/6/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:6407
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251212T132514Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-12-12 13:25:14,209 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132514Z
20251212/yandex/s3/aws4_request
0add85955fdbf249a323f553e306761a16c4e1b1afe2be1cead4d0a38d59d0d0
2025-12-12 13:25:14,209 - DEBUG - botocore.auth - add_auth: Signature:
c858c85c24327795a58a052d9b6e635c238a443e9cf926153ae6a4d44d61c9b0
2025-12-12 13:25:14,209 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7ffbaf2490d0>
2025-12-12 13:25:14,210 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:6407/test_projection/2022/3/6/fruits.csv, headers={'Content-Type': b'text/plain', 'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': b'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': b'100-continue', 'X-Amz-Date': b'20251212T132514Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=c858c85c24327795a58a052d9b6e635c238a443e9cf926153ae6a4d44d61c9b0', 'amz-sdk-invocation-id': b'1661f6d4-4c0d-498d-87cb-78a065b9a471', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-12-12 13:25:14,211 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-12-12 13:25:14,212 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-12-12 13:25:14,216 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:25:14 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 12 Dec 2025 13:25:14 GMT', 'Content-Length': '0', 'x-amzn-requestid': 'g8R0DD7d8SapaGmA1E8VgaGSc2a5X98q2t7Klh1S5oAGc9sxJFAm', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:25:14,234 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-12-12 13:25:14,235 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7ffb9147e1d0>
2025-12-12 13:25:14,240 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:25:14,240 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,241 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7ffbaf227950>
2025-12-12 13:25:14,242 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7ffbaf226990>
2025-12-12 13:25:14,242 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7ffbaf248650>
2025-12-12 13:25:14,243 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7ffbaf2268d0>
2025-12-12 13:25:14,243 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7ffbaf249190>
2025-12-12 13:25:14,245 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,245 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7ffbaf226690>
2025-12-12 13:25:14,246 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7ffbaf2493d0>
2025-12-12 13:25:14,246 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,246 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:6407', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:25:14,247 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:6407/test_projection
2025-12-12 13:25:14,247 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:25:14,248 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:25:14,251 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7ffbaf43f890>
2025-12-12 13:25:14,252 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7ffbaf226d50>
2025-12-12 13:25:14,252 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-12-12 13:25:14,253 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7ffbaf224c50>
2025-12-12 13:25:14,253 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7ffbaf2487d0>
2025-12-12 13:25:14,253 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=PutObject) with params: {'url_path': '/2022/3/7/fruits.csv', 'query_string': {}, 'method': 'PUT', 'headers': {'Content-Type': 'text/plain', 'User-Agent': 'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': 'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7ffb91454c20>, 'auth_path': '/test_projection/2022/3/7/fruits.csv', 'url': 'http://localhost:6407/test_projection/2022/3/7/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7ffbae485be0>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7ffb91454c20>, 'Bucket': 'test_projection', 'Key': '2022/3/7/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-12-12 13:25:14,254 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7ffbae487a30>>
2025-12-12 13:25:14,254 - 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 0x7ffbae7b7bc0>>
2025-12-12 13:25:14,254 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7ffbaf226510>
2025-12-12 13:25:14,254 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7ffbaf249310>
2025-12-12 13:25:14,255 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:25:14,255 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/7/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:6407
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251212T132514Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-12-12 13:25:14,255 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132514Z
20251212/yandex/s3/aws4_request
3eb5eda433cdd1250c0148acd1aaad879038765c23d0a50f9f9c20faa6a6d211
2025-12-12 13:25:14,256 - DEBUG - botocore.auth - add_auth: Signature:
0ad26fc1f1380d3cdf54464699c9dae8ef87a4afda17dfff939f4630475d5a7c
2025-12-12 13:25:14,256 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7ffbaf2490d0>
2025-12-12 13:25:14,256 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:6407/test_projection/2022/3/7/fruits.csv, headers={'Content-Type': b'text/plain', 'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': b'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': b'100-continue', 'X-Amz-Date': b'20251212T132514Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=0ad26fc1f1380d3cdf54464699c9dae8ef87a4afda17dfff939f4630475d5a7c', 'amz-sdk-invocation-id': b'43d7a2cd-0543-41c2-8dfd-bacf4cec108f', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-12-12 13:25:14,258 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-12-12 13:25:14,262 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-12-12 13:25:14,268 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:25:14 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 12 Dec 2025 13:25:14 GMT', 'Content-Length': '0', 'x-amzn-requestid': 'TAeRJGz2Sy2PZjyniVuQHBygxgWl6KFYZMs6n9kLELUlV8Jz5MoR', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:25:14,269 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-12-12 13:25:14,269 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7ffb9147e1d0>
2025-12-12 13:25:14,270 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:25:14,270 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,270 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7ffbaf227950>
2025-12-12 13:25:14,270 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7ffbaf226990>
2025-12-12 13:25:14,270 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7ffbaf248650>
2025-12-12 13:25:14,271 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7ffbaf2268d0>
2025-12-12 13:25:14,271 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7ffbaf249190>
2025-12-12 13:25:14,271 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,271 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7ffbaf226690>
2025-12-12 13:25:14,271 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7ffbaf2493d0>
2025-12-12 13:25:14,272 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,272 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:6407', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-12-12 13:25:14,272 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:6407/test_projection
2025-12-12 13:25:14,272 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None"
2025-12-12 13:25:14,273 - DEBUG - botocore.regions - auth_schemes_to_signing_ctx: Selected auth type "v4" as "v4" with signing context params: {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}
2025-12-12 13:25:14,274 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7ffbaf43f890>
2025-12-12 13:25:14,274 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7ffbaf226d50>
2025-12-12 13:25:14,276 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-12-12 13:25:14,276 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7ffbaf224c50>
2025-12-12 13:25:14,277 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7ffbaf2487d0>
2025-12-12 13:25:14,277 - DEBUG - botocore.endpoint - make_request: Making request for OperationModel(name=PutObject) with params: {'url_path': '/2022/3/8/fruits.csv', 'query_string': {}, 'method': 'PUT', 'headers': {'Content-Type': 'text/plain', 'User-Agent': 'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': 'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7ffb91454d70>, 'auth_path': '/test_projection/2022/3/8/fruits.csv', 'url': 'http://localhost:6407/test_projection/2022/3/8/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7ffbae485be0>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7ffb91454d70>, 'Bucket': 'test_projection', 'Key': '2022/3/8/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-12-12 13:25:14,277 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7ffbae487a30>>
2025-12-12 13:25:14,278 - 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 0x7ffbae7b7bc0>>
2025-12-12 13:25:14,278 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7ffbaf226510>
2025-12-12 13:25:14,279 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7ffbaf249310>
2025-12-12 13:25:14,281 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-12-12 13:25:14,281 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/8/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:6407
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251212T132514Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-12-12 13:25:14,281 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251212T132514Z
20251212/yandex/s3/aws4_request
75423fa49513311b9c1bb43b639f5ef811067df4bc3603c10f82da77d9f9bec7
2025-12-12 13:25:14,282 - DEBUG - botocore.auth - add_auth: Signature:
bf37994562008a62b8b8e4168e985a8aaa6fac93101a3a70783a6409b3d03245
2025-12-12 13:25:14,282 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7ffbaf2490d0>
2025-12-12 13:25:14,283 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:6407/test_projection/2022/3/8/fruits.csv, headers={'Content-Type': b'text/plain', 'User-Agent': b'Boto3/1.29.6 md/Botocore#1.31.80 ua/2.0 os/linux#5.15.0-157-generic md/arch#x86_64 lang/python#3.12.9 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.80', 'Content-MD5': b'N3CmbcSU7yYXwHhfTRLclg==', 'Expect': b'100-continue', 'X-Amz-Date': b'20251212T132514Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251212/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=bf37994562008a62b8b8e4168e985a8aaa6fac93101a3a70783a6409b3d03245', 'amz-sdk-invocation-id': b'6c0e1dc3-6f3c-4f35-b890-30611f15e72e', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-12-12 13:25:14,286 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-12-12 13:25:14,287 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-12-12 13:25:14,291 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 12 Dec 2025 13:25:14 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 12 Dec 2025 13:25:14 GMT', 'Content-Length': '0', 'x-amzn-requestid': 'WdEvCnxAB40ABd6DBwHozLTlEBGTgS1RXyVUahGnVXAd5xl5Fnij', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-12-12 13:25:14,292 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-12-12 13:25:14,292 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7ffb9147e1d0>
2025-12-12 13:25:14,292 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-12-12 13:25:14,292 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7ffbae487030>>
2025-12-12 13:25:14,293 - DEBUG - root - wait_bootstrap: Wait for node 1 to bootstrap
2025-12-12 13:25:14,318 - DEBUG - root - wait_bootstrap: Node 1 has been bootstrapped
2025-12-12 13:25:14,374 - DEBUG - root - create_query_impl: Request: content {
  type: ANALYTICS
  name: "simple"
  acl {
    visibility: PRIVATE
  }
  limits {
    execution_timeout {
    }
  }
  text: "\n            pragma s3.UseRuntimeListing=\"false\";\n\n            SELECT *\n            FROM bindings.`h2772806794011368239_test_projectionmy_binding`;\n            "
  syntax: YQL_V1
}
execute_mode: RUN
idempotency_key: "90fbf213-fb4d-4606-a2e9-c28d20b1ed40"

2025-12-12 13:25:14,395 - DEBUG - root - create_query_impl: Result: query_id: "ptqudq7r7f0keen5gs4n"

2025-12-12 13:25:14,405 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r7f0keen5gs4n"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545914
        nanos: 379816000
      }
      modified_at {
        seconds: 1765545914
        nanos: 379816000
      }
      revision: 1
    }
    execute_mode: RUN
    status: STARTING
    last_job_query_revision: 1
    last_job_id: "ptjudq7r7f0kd2gcdo27-ptqudq7r7f0keen5gs4n"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545914
      nanos: 379816000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            pragma s3.UseRuntimeListing=\"false\";\n\n            SELECT *\n            FROM bindings.`h2772806794011368239_test_projectionmy_binding`;\n            "
    syntax: YQL_V1
  }
}

2025-12-12 13:25:14,918 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r7f0keen5gs4n"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545914
        nanos: 379816000
      }
      modified_at {
        seconds: 1765545914
        nanos: 379816000
      }
      revision: 1
    }
    started_at {
      seconds: 1765545914
      nanos: 657000000
    }
    execute_mode: RUN
    status: RUNNING
    last_job_query_revision: 1
    last_job_id: "ptjudq7r7f0kd2gcdo27-ptqudq7r7f0keen5gs4n"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545914
      nanos: 379816000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            pragma s3.UseRuntimeListing=\"false\";\n\n            SELECT *\n            FROM bindings.`h2772806794011368239_test_projectionmy_binding`;\n            "
    syntax: YQL_V1
  }
  plan {
    json: "{\"Detailed\":{\"Operations\":[{\"Id\":10,\"Name\":\"DqStage\",\"Streams\":{\"Program\":[{\"Name\":\"DqSourceWideWrap\"},{\"Name\":\"NarrowMap\"}]}},{\"Id\":8,\"Name\":\"DqStage\",\"Streams\":{\"Program\":[]},\"DependsOn\":[10]},{\"Id\":3,\"Name\":\"ResPull!\",\"DependsOn\":[8]},{\"Id\":1,\"Name\":\"Commit!\",\"DependsOn\":[3]}],\"OperationRoot\":1,\"Providers\":[],\"OperationStats\":{\"Commit!\":1,\"DqStage\":2,\"ResPull!\":1}},\"Basic\":{\"nodes\":[{\"id\":10,\"level\":1,\"name\":\"DqStage #10\",\"type\":\"op\"},{\"id\":8,\"level\":2,\"name\":\"DqStage #8\",\"type\":\"op\"},{\"id\":3,\"level\":3,\"name\":\"ResPull!\",\"type\":\"op\"},{\"id\":1,\"level\":4,\"name\":\"Commit!\",\"type\":\"op\"}],\"links\":[{\"source\":10,\"target\":8},{\"source\":8,\"target\":3},{\"source\":3,\"target\":1}]}}"
  }
  result_set_meta {
    column {
      name: "Duration"
      type {
        type_id: INT64
      }
    }
    column {
      name: "Fruit"
      type {
        type_id: STRING
      }
    }
    column {
      name: "Price"
      type {
        type_id: INT32
      }
    }
    column {
      name: "day"
      type {
        type_id: STRING
      }
    }
    column {
      name: "month"
      type {
        type_id: STRING
      }
    }
    column {
      name: "year"
      type {
        type_id: STRING
      }
    }
  }
  ast {
    data: "(\n(let $1 (Configure! world (DataSource \'\"config\") \'\"DqEngine\" \'\"force\"))\n(let $2 (Configure! $1 (DataSource \'\"s3\" \'\"$all\") \'\"Attr\" \'\"useruntimelisting\" \'\"false\"))\n(let $3 (DataSink \'result))\n(let $4 \'\"h2772806794011368239_test_projectionfruitbucket\")\n(let $5 (DataSource \'\"s3\" $4))\n(let $6 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"5\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $7 (Bool \'\"true\"))\n(let $8 \'(\'\"month\" (String \'\"3\")))\n(let $9 \'(\'\"year\" (String \'\"2022\")))\n(let $10 (AsStruct \'(\'\"day\" (String \'\"5\")) $8 $9))\n(let $11 \'((String $6) $7 $10))\n(let $12 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"6\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $13 (AsStruct \'(\'\"day\" (String \'\"6\")) $8 $9))\n(let $14 \'((String $12) $7 $13))\n(let $15 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"7\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $16 (AsStruct \'(\'\"day\" (String \'\"7\")) $8 $9))\n(let $17 \'((String $15) $7 $16))\n(let $18 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"8\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $19 (AsStruct \'(\'\"day\" (String \'\"8\")) $8 $9))\n(let $20 \'((String $18) $7 $19))\n(let $21 \'($11 $14 $17 $20))\n(let $22 (DataType \'String))\n(let $23 (StructType \'(\'\"Duration\" (DataType \'Int64)) \'(\'\"Fruit\" $22) \'(\'\"Price\" (DataType \'Int32)) \'(\'\"day\" $22) \'(\'\"month\" $22) \'(\'\"year\" $22)))\n(let $24 \'(\'\"partitionedby\" \'\"year\" \'\"month\" \'\"day\"))\n(let $25 \'\"{\\n    \\\"projection.day.type\\\" : \\\"enum\\\",\\n    \\\"projection.day.values\\\" : \\\"5,6,7,8\\\",\\n    \\\"projection.enabled\\\" : \\\"true\\\",\\n    \\\"projection.month.type\\\" : \\\"enum\\\",\\n    \\\"projection.month.values\\\" : \\\"3\\\",\\n    \\\"projection.year.type\\\" : \\\"enum\\\",\\n    \\\"projection.year.values\\\" : \\\"2022\\\",\\n    \\\"storage.location.template\\\" : \\\"${year}/${month}/${day}\\\"\\n}\")\n(let $26 \'($24 \'(\'\"projection\" $25) \'(\'\"pathpattern\" \'\"*\") \'(\'\"pathpatternvariant\" \'\"FilePattern\")))\n(let $27 (S3ParseSettings world $21 (SecureParam \'\"cluster:default_h2772806794011368239_test_projectionfruitbucket\") \'\"\" \'\"/ \" \'\"csv_with_names\" $23 (lambda \'($31) $7) $26))\n(let $28 (DqStage \'((DqSource $5 $27)) (lambda \'($32) (block \'(\n  (let $33 (Uint64 \'1))\n  (let $34 (OrderedExtend (Replicate $10 $33) (Replicate $13 $33) (Replicate $16 $33) (Replicate $19 $33)))\n  (let $35 (DqSourceWideWrap $32 $5 $23 \'(\'(\'format \'\"csv_with_names\") \'(\'\"extraColumns\" $34))))\n  (return (NarrowMap $35 (lambda \'($36 $37 $38 $39 $40 $41) (AsStruct \'(\'\"Duration\" $36) \'(\'\"Fruit\" $37) \'(\'\"Price\" $38) \'(\'\"day\" $39) \'(\'\"month\" $40) \'(\'\"year\" $41)))))\n))) \'(\'(\'\"_logical_id\" \'200273))))\n(let $29 (DqStage \'((DqCnUnionAll (TDqOutput $28 \'\"0\"))) (lambda \'($42) $42) \'(\'(\'\"_logical_id\" \'200320))))\n(let $30 (ResPull! $2 $3 (Key) (DqCnResult (TDqOutput $29 \'\"0\") \'()) \'(\'(\'type) \'(\'autoref)) \'\"dq\"))\n(return (Commit! (Commit! $30 $3) (DataSink \'\"s3\" $4)))\n)\n"
  }
}

2025-12-12 13:25:15,428 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudq7r7f0keen5gs4n"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1765545914
        nanos: 379816000
      }
      modified_at {
        seconds: 1765545914
        nanos: 379816000
      }
      revision: 1
    }
    started_at {
      seconds: 1765545914
      nanos: 657000000
    }
    finished_at {
      seconds: 1765545915
      nanos: 6000000
    }
    execute_mode: RUN
    status: COMPLETED
    last_job_query_revision: 1
    last_job_id: "ptjudq7r7f0kd2gcdo27-ptqudq7r7f0keen5gs4n"
    result_expire_at {
      seconds: 1765632314
      nanos: 649644000
    }
    started_by: "root@builtin"
    submitted_at {
      seconds: 1765545914
      nanos: 379816000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            pragma s3.UseRuntimeListing=\"false\";\n\n            SELECT *\n            FROM bindings.`h2772806794011368239_test_projectionmy_binding`;\n            "
    syntax: YQL_V1
  }
  plan {
    json: "{\"Detailed\":{\"Operations\":[{\"Id\":10,\"Name\":\"DqStage\",\"Streams\":{\"Program\":[{\"Name\":\"DqSourceWideWrap\"},{\"Name\":\"NarrowMap\"}]}},{\"Id\":8,\"Name\":\"DqStage\",\"Streams\":{\"Program\":[]},\"DependsOn\":[10]},{\"Id\":3,\"Name\":\"ResPull!\",\"DependsOn\":[8]},{\"Id\":1,\"Name\":\"Commit!\",\"DependsOn\":[3]}],\"OperationRoot\":1,\"Providers\":[],\"OperationStats\":{\"Commit!\":1,\"DqStage\":2,\"ResPull!\":1}},\"Basic\":{\"nodes\":[{\"id\":10,\"level\":1,\"name\":\"DqStage #10\",\"type\":\"op\"},{\"id\":8,\"level\":2,\"name\":\"DqStage #8\",\"type\":\"op\"},{\"id\":3,\"level\":3,\"name\":\"ResPull!\",\"type\":\"op\"},{\"id\":1,\"level\":4,\"name\":\"Commit!\",\"type\":\"op\"}],\"links\":[{\"source\":10,\"target\":8},{\"source\":8,\"target\":3},{\"source\":3,\"target\":1}]}}"
  }
  statistics {
    json: "{\"Graph=0\":{\"Tasks\":{\"sum\":5,\"count\":2,\"avg\":2,\"max\":4,\"min\":1},\"CpuTimeUs\":{\"sum\":\"0.48s\",\"count\":5,\"avg\":\"96ms\",\"max\":\"0.12s\",\"min\":\"2ms\"},\"IngressBytes\":{\"sum\":132,\"count\":4,\"avg\":33,\"max\":33,\"min\":33},\"IngressRows\":{\"sum\":4,\"count\":4,\"avg\":1,\"max\":1,\"min\":1},\"InputBytes\":{\"sum\":96,\"count\":1,\"avg\":96,\"max\":96,\"min\":96},\"InputRows\":{\"sum\":4,\"count\":1,\"avg\":4,\"max\":4,\"min\":4},\"OutputBytes\":{\"sum\":182,\"count\":5,\"avg\":36,\"max\":86,\"min\":24},\"OutputRows\":{\"sum\":8,\"count\":5,\"avg\":1,\"max\":4,\"min\":1},\"ResultBytes\":{\"sum\":86,\"count\":1,\"avg\":86,\"max\":86,\"min\":86},\"ResultRows\":{\"sum\":4,\"count\":1,\"avg\":4,\"max\":4,\"min\":4},\"MaxMemoryUsage\":{\"sum\":720896,\"count\":5,\"avg\":144179,\"max\":196608,\"min\":131072},\"IngressQueuedBytes\":{\"sum\":0,\"count\":5,\"avg\":0,\"max\":0,\"min\":0},\"IngressQueuedRows\":{\"sum\":0,\"count\":5,\"avg\":0,\"max\":0,\"min\":0}}}"
  }
  result_set_meta {
    column {
      name: "Duration"
      type {
        type_id: INT64
      }
    }
    column {
      name: "Fruit"
      type {
        type_id: STRING
      }
    }
    column {
      name: "Price"
      type {
        type_id: INT32
      }
    }
    column {
      name: "day"
      type {
        type_id: STRING
      }
    }
    column {
      name: "month"
      type {
        type_id: STRING
      }
    }
    column {
      name: "year"
      type {
        type_id: STRING
      }
    }
    rows_count: 4
  }
  ast {
    data: "(\n(let $1 (Configure! world (DataSource \'\"config\") \'\"DqEngine\" \'\"force\"))\n(let $2 (Configure! $1 (DataSource \'\"s3\" \'\"$all\") \'\"Attr\" \'\"useruntimelisting\" \'\"false\"))\n(let $3 (DataSink \'result))\n(let $4 \'\"h2772806794011368239_test_projectionfruitbucket\")\n(let $5 (DataSource \'\"s3\" $4))\n(let $6 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"5\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $7 (Bool \'\"true\"))\n(let $8 \'(\'\"month\" (String \'\"3\")))\n(let $9 \'(\'\"year\" (String \'\"2022\")))\n(let $10 (AsStruct \'(\'\"day\" (String \'\"5\")) $8 $9))\n(let $11 \'((String $6) $7 $10))\n(let $12 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"6\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $13 (AsStruct \'(\'\"day\" (String \'\"6\")) $8 $9))\n(let $14 \'((String $12) $7 $13))\n(let $15 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"7\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $16 (AsStruct \'(\'\"day\" (String \'\"7\")) $8 $9))\n(let $17 \'((String $15) $7 $16))\n(let $18 \'\"Paths {\\n  Name: \\\"2022\\\"\\n  Children {\\n    Name: \\\"3\\\"\\n    Children {\\n      Name: \\\"8\\\"\\n      Children {\\n        Name: \\\"fruits.csv\\\"\\n        Size: 33\\n        Read: true\\n      }\\n      IsDirectory: true\\n    }\\n    IsDirectory: true\\n  }\\n  IsDirectory: true\\n}\\n\")\n(let $19 (AsStruct \'(\'\"day\" (String \'\"8\")) $8 $9))\n(let $20 \'((String $18) $7 $19))\n(let $21 \'($11 $14 $17 $20))\n(let $22 (DataType \'String))\n(let $23 (StructType \'(\'\"Duration\" (DataType \'Int64)) \'(\'\"Fruit\" $22) \'(\'\"Price\" (DataType \'Int32)) \'(\'\"day\" $22) \'(\'\"month\" $22) \'(\'\"year\" $22)))\n(let $24 \'(\'\"partitionedby\" \'\"year\" \'\"month\" \'\"day\"))\n(let $25 \'\"{\\n    \\\"projection.day.type\\\" : \\\"enum\\\",\\n    \\\"projection.day.values\\\" : \\\"5,6,7,8\\\",\\n    \\\"projection.enabled\\\" : \\\"true\\\",\\n    \\\"projection.month.type\\\" : \\\"enum\\\",\\n    \\\"projection.month.values\\\" : \\\"3\\\",\\n    \\\"projection.year.type\\\" : \\\"enum\\\",\\n    \\\"projection.year.values\\\" : \\\"2022\\\",\\n    \\\"storage.location.template\\\" : \\\"${year}/${month}/${day}\\\"\\n}\")\n(let $26 \'($24 \'(\'\"projection\" $25) \'(\'\"pathpattern\" \'\"*\") \'(\'\"pathpatternvariant\" \'\"FilePattern\")))\n(let $27 (S3ParseSettings world $21 (SecureParam \'\"cluster:default_h2772806794011368239_test_projectionfruitbucket\") \'\"\" \'\"/ \" \'\"csv_with_names\" $23 (lambda \'($31) $7) $26))\n(let $28 (DqStage \'((DqSource $5 $27)) (lambda \'($32) (block \'(\n  (let $33 (Uint64 \'1))\n  (let $34 (OrderedExtend (Replicate $10 $33) (Replicate $13 $33) (Replicate $16 $33) (Replicate $19 $33)))\n  (let $35 (DqSourceWideWrap $32 $5 $23 \'(\'(\'format \'\"csv_with_names\") \'(\'\"extraColumns\" $34))))\n  (return (NarrowMap $35 (lambda \'($36 $37 $38 $39 $40 $41) (AsStruct \'(\'\"Duration\" $36) \'(\'\"Fruit\" $37) \'(\'\"Price\" $38) \'(\'\"day\" $39) \'(\'\"month\" $40) \'(\'\"year\" $41)))))\n))) \'(\'(\'\"_logical_id\" \'200273))))\n(let $29 (DqStage \'((DqCnUnionAll (TDqOutput $28 \'\"0\"))) (lambda \'($42) $42) \'(\'(\'\"_logical_id\" \'200320))))\n(let $30 (ResPull! $2 $3 (Key) (DqCnResult (TDqOutput $29 \'\"0\") \'()) \'(\'(\'type) \'(\'autoref)) \'\"dq\"))\n(return (Commit! (Commit! $30 $3) (DataSink \'\"s3\" $4)))\n)\n"
  }
}

2025-12-12 13:25:15,440 - DEBUG - root - test_projection: columns {
  name: "Duration"
  type {
    type_id: INT64
  }
}
columns {
  name: "Fruit"
  type {
    type_id: STRING
  }
}
columns {
  name: "Price"
  type {
    type_id: INT32
  }
}
columns {
  name: "day"
  type {
    type_id: STRING
  }
}
columns {
  name: "month"
  type {
    type_id: STRING
  }
}
columns {
  name: "year"
  type {
    type_id: STRING
  }
}
rows {
  items {
    int64_value: 100
  }
  items {
    bytes_value: "Banana"
  }
  items {
    int32_value: 3
  }
  items {
    bytes_value: "7"
  }
  items {
    bytes_value: "3"
  }
  items {
    bytes_value: "2022"
  }
}
rows {
  items {
    int64_value: 100
  }
  items {
    bytes_value: "Banana"
  }
  items {
    int32_value: 3
  }
  items {
    bytes_value: "5"
  }
  items {
    bytes_value: "3"
  }
  items {
    bytes_value: "2022"
  }
}
rows {
  items {
    int64_value: 100
  }
  items {
    bytes_value: "Banana"
  }
  items {
    int32_value: 3
  }
  items {
    bytes_value: "6"
  }
  items {
    bytes_value: "3"
  }
  items {
    bytes_value: "2022"
  }
}
rows {
  items {
    int64_value: 100
  }
  items {
    bytes_value: "Banana"
  }
  items {
    int32_value: 3
  }
  items {
    bytes_value: "8"
  }
  items {
    bytes_value: "3"
  }
  items {
    bytes_value: "2022"
  }
}

2025-12-12 13:25:15,442 - INFO - ya.test - pytest_runtest_teardown: Test teardown
