2025-11-14 10:09:50,772 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-11-14 10:09:50,773 - INFO - ya.test - pytest_runtest_setup: test_projection[v1-false-client0]
2025-11-14 10:09:50,773 - INFO - ya.test - pytest_runtest_setup: ####################################################################################################
2025-11-14 10:09:50,773 - INFO - ya.test - pytest_runtest_setup: Test setup
2025-11-14 10:09:50,878 - INFO - ya.test - pytest_runtest_call: Test call (class_name: test_explicit_partitioning_0.py::TestS3, test_name: test_projection[v1-false-client0])
2025-11-14 10:09:50,879 - DEBUG - botocore.hooks - _emit: Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f496e4347d0>
2025-11-14 10:09:50,881 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f496e5404d0>
2025-11-14 10:09:50,882 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function lazy_call.<locals>._handler at 0x7f496d6e8c50>
2025-11-14 10:09:50,882 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f496e5401d0>
2025-11-14 10:09:50,885 - DEBUG - botocore.endpoint - create_endpoint: Setting s3 timeout as (60, 60)
2025-11-14 10:09:50,890 - DEBUG - botocore.client - _register_legacy_retries: Registering retry handlers for service: s3
2025-11-14 10:09:50,891 - DEBUG - botocore.utils - register: Registering S3 region redirector handler
2025-11-14 10:09:50,892 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:s3
2025-11-14 10:09:50,894 - DEBUG - boto3.resources.factory - load_from_definition: Loading s3:Bucket
2025-11-14 10:09:50,895 - DEBUG - boto3.resources.model - _load_name_with_category: Renaming Bucket attribute name
2025-11-14 10:09:50,897 - DEBUG - botocore.hooks - _emit: Event creating-resource-class.s3.Bucket: calling handler <function lazy_call.<locals>._handler at 0x7f496d6e96d0>
2025-11-14 10:09:50,897 - DEBUG - boto3.resources.action - __call__: Calling s3:create_bucket with {'Bucket': 'test_projection', 'ACL': 'public-read'}
2025-11-14 10:09:50,898 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function validate_bucket_name at 0x7f496e436690>
2025-11-14 10:09:50,898 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f496e454f50>
2025-11-14 10:09:50,899 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950bf60e0>>
2025-11-14 10:09:50,899 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.CreateBucket: calling handler <function generate_idempotent_uuid at 0x7f496e436450>
2025-11-14 10:09:50,899 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f496e455190>
2025-11-14 10:09:50,899 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950bf60e0>>
2025-11-14 10:09:50,900 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27318', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableAccessPoints': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-14 10:09:50,901 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27318/test_projection
2025-11-14 10:09:50,908 - 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-14 10:09:50,909 - 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-14 10:09:50,910 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_expect_header at 0x7f496e436b10>
2025-11-14 10:09:50,910 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function add_recursion_detection_header at 0x7f496e434a10>
2025-11-14 10:09:50,910 - DEBUG - botocore.hooks - _emit: Event before-call.s3.CreateBucket: calling handler <function inject_api_version_header_if_needed at 0x7f496e454590>
2025-11-14 10:09:50,911 - 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:27318/test_projection', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f4950ef7120>, '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-11-14 10:09:50,912 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f4950ef79e0>>
2025-11-14 10:09:50,912 - 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 0x7f4950ea9730>>
2025-11-14 10:09:50,912 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.CreateBucket: calling handler <function set_operation_specific_signer at 0x7f496e4362d0>
2025-11-14 10:09:50,913 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.CreateBucket: calling handler <function remove_arn_from_signing_path at 0x7f496e4550d0>
2025-11-14 10:09:50,914 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-14 10:09:50,914 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection

host:localhost:27318
x-amz-acl:public-read
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20251114T100950Z

host;x-amz-acl;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2025-11-14 10:09:50,914 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251114T100950Z
20251114/yandex/s3/aws4_request
268436c437d56aa339ae54c246b4d160fb39976cb00f26cd8cc0bc6f7b9bd940
2025-11-14 10:09:50,914 - DEBUG - botocore.auth - add_auth: Signature:
f119afc0d61e5ea6fe353c8776b5a41ce575a8663640edccf0d772a8e8e13633
2025-11-14 10:09:50,915 - DEBUG - botocore.hooks - _emit: Event request-created.s3.CreateBucket: calling handler <function add_retry_headers at 0x7f496e454e90>
2025-11-14 10:09:50,915 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:27318/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'20251114T100950Z', 'X-Amz-Content-SHA256': b'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251114/yandex/s3/aws4_request, SignedHeaders=host;x-amz-acl;x-amz-content-sha256;x-amz-date, Signature=f119afc0d61e5ea6fe353c8776b5a41ce575a8663640edccf0d772a8e8e13633', 'amz-sdk-invocation-id': b'a249ba77-e707-4859-8d37-9f92fe6535da', 'amz-sdk-request': b'attempt=1', 'Content-Length': '0'}>
2025-11-14 10:09:50,924 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 14 Nov 2025 10:09:50 GMT', 'x-amzn-requestid': 'AST6p1pnIEHHjkYKaaXqSy4fSopQJnhagVo51pxxVikmhVucbRmC', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '169', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-14 10:09:50,925 - 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-11-14 10:09:50,925 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <botocore.retryhandler.RetryHandler object at 0x7f496d4d4830>
2025-11-14 10:09:50,926 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-14 10:09:50,926 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.CreateBucket: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950bf60e0>>
2025-11-14 10:09:50,927 - DEBUG - boto3.resources.action - __call__: Response: {'ResponseMetadata': {'RequestId': 'AST6p1pnIEHHjkYKaaXqSy4fSopQJnhagVo51pxxVikmhVucbRmC', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Werkzeug/2.2.3 Python/3.12.9', 'date': 'Fri, 14 Nov 2025 10:09:50 GMT', 'x-amzn-requestid': 'AST6p1pnIEHHjkYKaaXqSy4fSopQJnhagVo51pxxVikmhVucbRmC', 'content-type': 'text/html; charset=utf-8', 'content-length': '169', 'access-control-allow-origin': '*', 'connection': 'close'}, 'RetryAttempts': 0}}
2025-11-14 10:09:50,927 - DEBUG - botocore.hooks - _emit: Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f496e4347d0>
2025-11-14 10:09:50,931 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f496e5404d0>
2025-11-14 10:09:50,931 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function lazy_call.<locals>._handler at 0x7f496d6e8c50>
2025-11-14 10:09:50,932 - DEBUG - botocore.hooks - _emit: Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f496e5401d0>
2025-11-14 10:09:50,934 - DEBUG - botocore.endpoint - create_endpoint: Setting s3 timeout as (60, 60)
2025-11-14 10:09:50,939 - DEBUG - botocore.client - _register_legacy_retries: Registering retry handlers for service: s3
2025-11-14 10:09:50,943 - DEBUG - botocore.utils - register: Registering S3 region redirector handler
2025-11-14 10:09:50,945 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7f496e437710>
2025-11-14 10:09:50,945 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7f496e436750>
2025-11-14 10:09:50,945 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7f496e454410>
2025-11-14 10:09:50,945 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7f496e436690>
2025-11-14 10:09:50,946 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f496e454f50>
2025-11-14 10:09:50,947 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,947 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7f496e436450>
2025-11-14 10:09:50,948 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f496e455190>
2025-11-14 10:09:50,948 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,948 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27318', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-14 10:09:50,949 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27318/test_projection
2025-11-14 10:09:50,950 - 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-14 10:09:50,950 - 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-14 10:09:50,951 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7f496e64f650>
2025-11-14 10:09:50,951 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7f496e436b10>
2025-11-14 10:09:50,952 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-11-14 10:09:50,952 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7f496e434a10>
2025-11-14 10:09:50,952 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7f496e454590>
2025-11-14 10:09:50,952 - 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 0x7f4950d8a350>, 'auth_path': '/test_projection/2022/3/5/fruits.csv', 'url': 'http://localhost:27318/test_projection/2022/3/5/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f4950d19c30>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7f4950d8a350>, 'Bucket': 'test_projection', 'Key': '2022/3/5/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-11-14 10:09:50,953 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f4950d19a50>>
2025-11-14 10:09:50,953 - 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 0x7f4950e73710>>
2025-11-14 10:09:50,955 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7f496e4362d0>
2025-11-14 10:09:50,955 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7f496e4550d0>
2025-11-14 10:09:50,956 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-14 10:09:50,956 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/5/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:27318
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251114T100950Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-11-14 10:09:50,956 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251114T100950Z
20251114/yandex/s3/aws4_request
4317b4854838f9841c20cea9ede8cb50597acd14e37f33fc63602136bc2e056c
2025-11-14 10:09:50,956 - DEBUG - botocore.auth - add_auth: Signature:
4cbd6ac570c8256b54e520280679b6e537892b9eb49e01cb65bed20a39d2e2e8
2025-11-14 10:09:50,957 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7f496e454e90>
2025-11-14 10:09:50,957 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:27318/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'20251114T100950Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251114/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=4cbd6ac570c8256b54e520280679b6e537892b9eb49e01cb65bed20a39d2e2e8', 'amz-sdk-invocation-id': b'a02c147e-197d-4290-a00f-4d487841f0f8', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-11-14 10:09:50,959 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-11-14 10:09:50,961 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-11-14 10:09:50,966 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 14 Nov 2025 10:09:50 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 14 Nov 2025 10:09:50 GMT', 'Content-Length': '0', 'x-amzn-requestid': 'gSenxNVRtE03ROPfdC1mqF1ax5CqiyGKseRyFvJY6bTusDChI7eR', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-14 10:09:50,966 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-11-14 10:09:50,967 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7f4950d81e10>
2025-11-14 10:09:50,968 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-14 10:09:50,968 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,968 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7f496e437710>
2025-11-14 10:09:50,969 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7f496e436750>
2025-11-14 10:09:50,969 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7f496e454410>
2025-11-14 10:09:50,969 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7f496e436690>
2025-11-14 10:09:50,969 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f496e454f50>
2025-11-14 10:09:50,969 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,969 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7f496e436450>
2025-11-14 10:09:50,970 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f496e455190>
2025-11-14 10:09:50,970 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,970 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27318', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-14 10:09:50,970 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27318/test_projection
2025-11-14 10:09:50,971 - 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-14 10:09:50,971 - 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-14 10:09:50,971 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7f496e64f650>
2025-11-14 10:09:50,972 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7f496e436b10>
2025-11-14 10:09:50,972 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-11-14 10:09:50,972 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7f496e434a10>
2025-11-14 10:09:50,972 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7f496e454590>
2025-11-14 10:09:50,973 - 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 0x7f4950d8aeb0>, 'auth_path': '/test_projection/2022/3/6/fruits.csv', 'url': 'http://localhost:27318/test_projection/2022/3/6/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f4950d19c30>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7f4950d8aeb0>, 'Bucket': 'test_projection', 'Key': '2022/3/6/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-11-14 10:09:50,973 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f4950d19a50>>
2025-11-14 10:09:50,973 - 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 0x7f4950e73710>>
2025-11-14 10:09:50,973 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7f496e4362d0>
2025-11-14 10:09:50,974 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7f496e4550d0>
2025-11-14 10:09:50,974 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-14 10:09:50,974 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/6/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:27318
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251114T100950Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-11-14 10:09:50,975 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251114T100950Z
20251114/yandex/s3/aws4_request
9c5b367750c0991ec4d4636aaa1624432c14986915e659637bd14b7c0c9046f1
2025-11-14 10:09:50,975 - DEBUG - botocore.auth - add_auth: Signature:
12472a3dc44783f54d914e48e99b1989bdad34e65a4f3f6b322f46164bb01d2d
2025-11-14 10:09:50,975 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7f496e454e90>
2025-11-14 10:09:50,975 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:27318/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'20251114T100950Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251114/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=12472a3dc44783f54d914e48e99b1989bdad34e65a4f3f6b322f46164bb01d2d', 'amz-sdk-invocation-id': b'2e4c531a-25e0-4b75-8ac1-497bc1700d25', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-11-14 10:09:50,977 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-11-14 10:09:50,979 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-11-14 10:09:50,984 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 14 Nov 2025 10:09:50 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 14 Nov 2025 10:09:50 GMT', 'Content-Length': '0', 'x-amzn-requestid': 'pe7n2mvpH0ZN8nOnredgnL4H4tIiQhGztkYO64ijEOsUOjkKDY2N', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-14 10:09:50,984 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-11-14 10:09:50,985 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7f4950d81e10>
2025-11-14 10:09:50,985 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-14 10:09:50,985 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,986 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7f496e437710>
2025-11-14 10:09:50,986 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7f496e436750>
2025-11-14 10:09:50,986 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7f496e454410>
2025-11-14 10:09:50,986 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7f496e436690>
2025-11-14 10:09:50,987 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f496e454f50>
2025-11-14 10:09:50,987 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,987 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7f496e436450>
2025-11-14 10:09:50,988 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f496e455190>
2025-11-14 10:09:50,989 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:50,989 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27318', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-14 10:09:50,989 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27318/test_projection
2025-11-14 10:09:50,989 - 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-14 10:09:50,989 - 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-14 10:09:50,990 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7f496e64f650>
2025-11-14 10:09:50,990 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7f496e436b10>
2025-11-14 10:09:50,991 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-11-14 10:09:50,991 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7f496e434a10>
2025-11-14 10:09:50,991 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7f496e454590>
2025-11-14 10:09:50,991 - 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 0x7f4950d8b3f0>, 'auth_path': '/test_projection/2022/3/7/fruits.csv', 'url': 'http://localhost:27318/test_projection/2022/3/7/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f4950d19c30>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7f4950d8b3f0>, 'Bucket': 'test_projection', 'Key': '2022/3/7/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-11-14 10:09:50,992 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f4950d19a50>>
2025-11-14 10:09:50,992 - 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 0x7f4950e73710>>
2025-11-14 10:09:50,993 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7f496e4362d0>
2025-11-14 10:09:50,993 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7f496e4550d0>
2025-11-14 10:09:50,993 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-14 10:09:50,994 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/7/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:27318
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251114T100950Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-11-14 10:09:50,994 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251114T100950Z
20251114/yandex/s3/aws4_request
797e590c2f77e08ee69cf2ea0aef7c3f8b460bd19c2d0fc812058d751221f4f3
2025-11-14 10:09:50,994 - DEBUG - botocore.auth - add_auth: Signature:
fcf957ea29132f4b661b989f59583c9778bf76d8beb8aa967c941abc6c91ef40
2025-11-14 10:09:50,994 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7f496e454e90>
2025-11-14 10:09:50,995 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:27318/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'20251114T100950Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251114/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=fcf957ea29132f4b661b989f59583c9778bf76d8beb8aa967c941abc6c91ef40', 'amz-sdk-invocation-id': b'81dc042a-137c-4847-b9ea-843350db3189', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-11-14 10:09:50,996 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-11-14 10:09:51,011 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-11-14 10:09:51,027 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 14 Nov 2025 10:09:51 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 14 Nov 2025 10:09:51 GMT', 'Content-Length': '0', 'x-amzn-requestid': 'cwQw2qtVxyiAtyqwwih1uTSYBK1gyjBnP56xFK8bsaD0vnbCZXGi', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-14 10:09:51,027 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-11-14 10:09:51,028 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7f4950d81e10>
2025-11-14 10:09:51,028 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-14 10:09:51,028 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:51,029 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_ascii_metadata at 0x7f496e437710>
2025-11-14 10:09:51,029 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function sse_md5 at 0x7f496e436750>
2025-11-14 10:09:51,029 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function convert_body_to_file_like_object at 0x7f496e454410>
2025-11-14 10:09:51,030 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function validate_bucket_name at 0x7f496e436690>
2025-11-14 10:09:51,030 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function remove_bucket_from_url_paths_from_model at 0x7f496e454f50>
2025-11-14 10:09:51,031 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.annotate_request_context of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:51,031 - DEBUG - botocore.hooks - _emit: Event before-parameter-build.s3.PutObject: calling handler <function generate_idempotent_uuid at 0x7f496e436450>
2025-11-14 10:09:51,031 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <function customize_endpoint_resolver_builtins at 0x7f496e455190>
2025-11-14 10:09:51,031 - DEBUG - botocore.hooks - _emit: Event before-endpoint-resolution.s3: calling handler <bound method S3RegionRedirectorv2.redirect_from_cache of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:51,032 - DEBUG - botocore.regions - construct_endpoint: Calling endpoint provider with parameters: {'Bucket': 'test_projection', 'Region': 'yandex', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'http://localhost:27318', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': False, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True}
2025-11-14 10:09:51,032 - DEBUG - botocore.regions - construct_endpoint: Endpoint provider result: http://localhost:27318/test_projection
2025-11-14 10:09:51,032 - 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-14 10:09:51,032 - 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-14 10:09:51,033 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function conditionally_calculate_md5 at 0x7f496e64f650>
2025-11-14 10:09:51,033 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_expect_header at 0x7f496e436b10>
2025-11-14 10:09:51,037 - DEBUG - botocore.handlers - add_expect_header: Adding expect 100 continue header to request.
2025-11-14 10:09:51,038 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function add_recursion_detection_header at 0x7f496e434a10>
2025-11-14 10:09:51,038 - DEBUG - botocore.hooks - _emit: Event before-call.s3.PutObject: calling handler <function inject_api_version_header_if_needed at 0x7f496e454590>
2025-11-14 10:09:51,038 - 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 0x7f4950d8b7e0>, 'auth_path': '/test_projection/2022/3/8/fruits.csv', 'url': 'http://localhost:27318/test_projection/2022/3/8/fruits.csv', 'context': {'client_region': 'yandex', 'client_config': <botocore.config.Config object at 0x7f4950d19c30>, 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'test_projection', 'params': {'Body': <_io.BytesIO object at 0x7f4950d8b7e0>, 'Bucket': 'test_projection', 'Key': '2022/3/8/fruits.csv', 'ContentType': 'text/plain'}}, 'signing': {'region': 'yandex', 'signing_name': 's3', 'disableDoubleEncoding': True}}}
2025-11-14 10:09:51,039 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f4950d19a50>>
2025-11-14 10:09:51,039 - 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 0x7f4950e73710>>
2025-11-14 10:09:51,039 - DEBUG - botocore.hooks - _emit: Event choose-signer.s3.PutObject: calling handler <function set_operation_specific_signer at 0x7f496e4362d0>
2025-11-14 10:09:51,039 - DEBUG - botocore.hooks - _emit: Event before-sign.s3.PutObject: calling handler <function remove_arn_from_signing_path at 0x7f496e4550d0>
2025-11-14 10:09:51,040 - DEBUG - botocore.auth - add_auth: Calculating signature using v4 auth.
2025-11-14 10:09:51,040 - DEBUG - botocore.auth - add_auth: CanonicalRequest:
PUT
/test_projection/2022/3/8/fruits.csv

content-md5:N3CmbcSU7yYXwHhfTRLclg==
content-type:text/plain
host:localhost:27318
x-amz-content-sha256:d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
x-amz-date:20251114T100951Z

content-md5;content-type;host;x-amz-content-sha256;x-amz-date
d9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb
2025-11-14 10:09:51,040 - DEBUG - botocore.auth - add_auth: StringToSign:
AWS4-HMAC-SHA256
20251114T100951Z
20251114/yandex/s3/aws4_request
e8684388fcaf1f95d3f939fc02c34c5b6880ababbaf26feef3363372cc748c71
2025-11-14 10:09:51,041 - DEBUG - botocore.auth - add_auth: Signature:
b0885b8f956c4f47aa0c3324d5389c264b30e86f1304a02c80c0755ae1b648f3
2025-11-14 10:09:51,041 - DEBUG - botocore.hooks - _emit: Event request-created.s3.PutObject: calling handler <function add_retry_headers at 0x7f496e454e90>
2025-11-14 10:09:51,041 - DEBUG - botocore.endpoint - _do_get_response: Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://localhost:27318/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'20251114T100951Z', 'X-Amz-Content-SHA256': b'd9ec952678723e7b44be7f7b160b98addbf1b6aa7e33a7bac583215ee511bbcb', 'Authorization': b'AWS4-HMAC-SHA256 Credential=key/20251114/yandex/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-content-sha256;x-amz-date, Signature=b0885b8f956c4f47aa0c3324d5389c264b30e86f1304a02c80c0755ae1b648f3', 'amz-sdk-invocation-id': b'756f480a-1756-48dc-bd45-682bccf25c3e', 'amz-sdk-request': b'attempt=1', 'Content-Length': '33'}>
2025-11-14 10:09:51,043 - DEBUG - botocore.awsrequest - _send_output: Waiting for 100 Continue response.
2025-11-14 10:09:51,047 - DEBUG - botocore.awsrequest - _handle_expect_response: 100 Continue response seen, now sending request body.
2025-11-14 10:09:51,054 - DEBUG - botocore.parsers - parse: Response headers: {'Server': 'Werkzeug/2.2.3 Python/3.12.9', 'Date': 'Fri, 14 Nov 2025 10:09:51 GMT', 'ETag': '"3770a66dc494ef2617c0785f4d12dc96"', 'last-modified': 'Fri, 14 Nov 2025 10:09:51 GMT', 'Content-Length': '0', 'x-amzn-requestid': '0VQtXMRabz1BpwIOi87X6Tsfy6wnwOd4zU4jVGIvlKj1UBLYrxci', 'Content-Type': 'text/html; charset=utf-8', 'Access-Control-Allow-Origin': '*', 'Connection': 'close'}
2025-11-14 10:09:51,054 - DEBUG - botocore.parsers - parse: Response body:
b''
2025-11-14 10:09:51,055 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x7f4950d81e10>
2025-11-14 10:09:51,055 - DEBUG - botocore.retryhandler - __call__: No retry needed.
2025-11-14 10:09:51,055 - DEBUG - botocore.hooks - _emit: Event needs-retry.s3.PutObject: calling handler <bound method S3RegionRedirectorv2.redirect_from_error of <botocore.utils.S3RegionRedirectorv2 object at 0x7f4950d803d0>>
2025-11-14 10:09:51,056 - DEBUG - root - wait_bootstrap: Wait for node 1 to bootstrap
2025-11-14 10:09:51,110 - DEBUG - root - wait_bootstrap: Node 1 has been bootstrapped
2025-11-14 10:09:51,273 - 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.`h2556313557186200407_test_projectionmy_binding`;\n            "
  syntax: YQL_V1
}
execute_mode: RUN
idempotency_key: "d141049f-0de8-49cd-8a63-75886fd0b608"

2025-11-14 10:09:51,305 - DEBUG - root - create_query_impl: Result: query_id: "ptqudsej6ju48gfl7vp2"

2025-11-14 10:09:51,323 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudsej6ju48gfl7vp2"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1763114991
        nanos: 283941000
      }
      modified_at {
        seconds: 1763114991
        nanos: 283941000
      }
      revision: 1
    }
    execute_mode: RUN
    status: STARTING
    last_job_query_revision: 1
    last_job_id: "ptjudsej6ju46hr8uvfa-ptqudsej6ju48gfl7vp2"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1763114991
      nanos: 283941000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            pragma s3.UseRuntimeListing=\"false\";\n\n            SELECT *\n            FROM bindings.`h2556313557186200407_test_projectionmy_binding`;\n            "
    syntax: YQL_V1
  }
}

2025-11-14 10:09:51,837 - DEBUG - root - describe_query: Result: ... (repeated, see above) ...
2025-11-14 10:09:52,523 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudsej6ju48gfl7vp2"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1763114991
        nanos: 283941000
      }
      modified_at {
        seconds: 1763114991
        nanos: 283941000
      }
      revision: 1
    }
    started_at {
      seconds: 1763114992
      nanos: 176000000
    }
    execute_mode: RUN
    status: RUNNING
    last_job_query_revision: 1
    last_job_id: "ptjudsej6ju46hr8uvfa-ptqudsej6ju48gfl7vp2"
    started_by: "root@builtin"
    submitted_at {
      seconds: 1763114991
      nanos: 283941000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            pragma s3.UseRuntimeListing=\"false\";\n\n            SELECT *\n            FROM bindings.`h2556313557186200407_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 \'\"h2556313557186200407_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_h2556313557186200407_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-11-14 10:09:53,039 - DEBUG - root - describe_query: Result: query {
  meta {
    common {
      id: "ptqudsej6ju48gfl7vp2"
      created_by: "root@builtin"
      modified_by: "root@builtin"
      created_at {
        seconds: 1763114991
        nanos: 283941000
      }
      modified_at {
        seconds: 1763114991
        nanos: 283941000
      }
      revision: 1
    }
    started_at {
      seconds: 1763114992
      nanos: 176000000
    }
    finished_at {
      seconds: 1763114992
      nanos: 631000000
    }
    execute_mode: RUN
    status: COMPLETED
    last_job_query_revision: 1
    last_job_id: "ptjudsej6ju46hr8uvfa-ptqudsej6ju48gfl7vp2"
    result_expire_at {
      seconds: 1763201392
      nanos: 159797000
    }
    started_by: "root@builtin"
    submitted_at {
      seconds: 1763114991
      nanos: 283941000
    }
  }
  content {
    type: ANALYTICS
    name: "simple"
    acl {
      visibility: PRIVATE
    }
    limits {
      execution_timeout {
      }
    }
    text: "\n            pragma s3.UseRuntimeListing=\"false\";\n\n            SELECT *\n            FROM bindings.`h2556313557186200407_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.62s\",\"count\":5,\"avg\":\"0.12s\",\"max\":\"0.18s\",\"min\":\"3ms\"},\"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 \'\"h2556313557186200407_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_h2556313557186200407_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-11-14 10:09:53,063 - 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-11-14 10:09:53,067 - INFO - ya.test - pytest_runtest_teardown: Test teardown
