Skip to content

Conversation

@antonmyagkov
Copy link
Collaborator

@antonmyagkov antonmyagkov commented Dec 7, 2025

issue: #4664

Handle reading to buffer and iovecs in the same way by wrapping buffer/iovecs into the rope.

@antonmyagkov antonmyagkov added the filestore Add this label to run only cloud/filestore build and tests on PR label Dec 7, 2025
@antonmyagkov antonmyagkov changed the title Users/myagkov/issue 4664 service actor zero copy read issue-4664: get rid of buffer copying in TReadDataActor Dec 7, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 7, 2025

Note

This is an automated comment that will be appended during run.

🟢 linux-x86_64-relwithdebinfo: all tests PASSED for commit dad2aa9.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
3200 3200 0 0 0 0 0

@antonmyagkov antonmyagkov force-pushed the users/myagkov/issue-4664-service-actor-zero-copy-read branch 2 times, most recently from 1703321 to 47a8cb7 Compare December 8, 2025 16:03
@github-actions
Copy link
Contributor

github-actions bot commented Dec 8, 2025

Note

This is an automated comment that will be appended during run.

🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 47a8cb7.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
3200 3177 0 23 0 0 0

🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 47a8cb7.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
37 15 0 22 0 0 0

🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 47a8cb7.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
36 15 0 21 0 0 0

@antonmyagkov antonmyagkov changed the title issue-4664: get rid of buffer copying in TReadDataActor issue-4664: remove unnecessary buffer copy in TReadDataActor Dec 8, 2025
@antonmyagkov antonmyagkov force-pushed the users/myagkov/issue-4664-service-actor-zero-copy-read branch from 47a8cb7 to 3068f8d Compare December 10, 2025 18:43
@github-actions
Copy link
Contributor

github-actions bot commented Dec 10, 2025

Note

This is an automated comment that will be appended during run.

🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 3068f8d.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
3224 3208 0 16 0 0 0

🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 3068f8d.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
27 11 0 16 0 0 0

🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 3068f8d.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
27 11 0 16 0 0 0

@antonmyagkov antonmyagkov force-pushed the users/myagkov/issue-4664-service-actor-zero-copy-read branch 2 times, most recently from e5be71b to 56f752e Compare December 11, 2025 09:55
@github-actions
Copy link
Contributor

Note

This is an automated comment that will be appended during run.

🟢 linux-x86_64-relwithdebinfo: all tests PASSED for commit 56f752e.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
3224 3224 0 0 0 0 0

@antonmyagkov antonmyagkov force-pushed the users/myagkov/issue-4664-service-actor-zero-copy-read branch from d6c3aa9 to 1bc7e40 Compare December 11, 2025 11:49
@github-actions
Copy link
Contributor

Note

This is an automated comment that will be appended during run.

🟢 linux-x86_64-relwithdebinfo: all tests PASSED for commit 1bc7e40.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
3224 3224 0 0 0 0 0

@antonmyagkov antonmyagkov force-pushed the users/myagkov/issue-4664-service-actor-zero-copy-read branch from 1bc7e40 to 20c4efd Compare December 23, 2025 13:47
@github-actions
Copy link
Contributor

Note

This is an automated comment that will be appended during run.

🟢 linux-x86_64-relwithdebinfo: all tests PASSED for commit 20c4efd.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
3263 3263 0 0 0 0 0

@antonmyagkov antonmyagkov changed the title issue-4664: remove unnecessary buffer copy in TReadDataActor issue-4664: eliminate redundant buffer allocation and data copying in TReadDataActor when reading into iovecs Dec 23, 2025
BlockBuffer->ReserveAndResize(ReadRequest.GetLength());
TargetBuffers = CreateRope(*BlockBuffer);
} else {
TargetBuffers = CreateRope(ReadRequest.GetIovecs());
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main change is here: buffers or iovecs are now wrapped into a rope, eliminating block buffer allocation and the following data copy from block buffer into the iovecs.

namespace {

template <bool Owner = false>
class TIovecContiguousChunk: public IContiguousChunk
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIovecContiguousChunk was moved from service_actor_writedata.cpp

@antonmyagkov antonmyagkov marked this pull request as ready for review December 23, 2025 22:33
@github-actions
Copy link
Contributor

Note

This is an automated comment that will be appended during run.

🟢 linux-x86_64-relwithdebinfo: all tests PASSED for commit 55f0f3f.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
3263 3263 0 0 0 0 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

filestore Add this label to run only cloud/filestore build and tests on PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants