Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NBS] Asynchronous disks allocation #2763

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ya-ksgamora
Copy link
Collaborator

No description provided.

@ya-ksgamora ya-ksgamora force-pushed the users/ya-ksgamora/NBS-5637 branch 3 times, most recently from e6ba142 to 7f1eb3a Compare December 28, 2024 11:01
Copy link
Contributor

Note

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

🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 7f1eb3a.

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
5701 5238 0 413 50 0

@ya-ksgamora ya-ksgamora force-pushed the users/ya-ksgamora/NBS-5637 branch 2 times, most recently from 38c1991 to 9842b53 Compare January 14, 2025 13:19
@ya-ksgamora ya-ksgamora force-pushed the users/ya-ksgamora/NBS-5637 branch from 9842b53 to 2460bac Compare January 17, 2025 09:43
@ya-ksgamora ya-ksgamora changed the title NBS-5637: Asynchronous disks allocation [NBS] Asynchronous disks allocation Jan 17, 2025
args.SyncDeallocatedDisks =
State->MarkDevicesAsClean(ctx.Now(), db, args.Devices);
std::tie(args.SyncAllocatedDisks, args.SyncDeallocatedDisks) =
std::move(State->MarkDevicesAsClean(ctx.Now(), db, args.Devices));
Copy link
Collaborator

Choose a reason for hiding this comment

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

без move


template <typename T, typename U>
using TOpt2 = std::pair<std::optional<T>, std::optional<U>>;
using TOpt2Disk = TOpt2<TAllocatingDiskId, TDeallocatingDiskId>;
Copy link
Collaborator

Choose a reason for hiding this comment

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

struct TOpt2Disk {
TString AllocatingDiskId;
TString DeallocatingDiskId;
}

return isAllocatingDisk || isDeallocatingDisk;
});

Y_ABORT_IF(isAllocatingDisk && isDeallocatingDisk);
Copy link
Collaborator

Choose a reason for hiding this comment

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

Y_DEBUG_ABORT_UNLESS(!isAllocatingDisk || !isDeallocatingDisk)

auto TDiskRegistryState::FindDiskDevicesAgents(const TDiskState& disk) const
-> std::set<const NProto::TAgentConfig*>
{
std::set<TString> diskAgents;
Copy link
Collaborator

Choose a reason for hiding this comment

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

THashSet<> diskAgentIds

agents.insert(AgentList.FindAgent(agentId));
}

return std::move(agents);
Copy link
Collaborator

Choose a reason for hiding this comment

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

без move

diskAgents.insert(DeviceList.FindAgentId(uuid));
}

std::set<const NProto::TAgentConfig*> agents;
Copy link
Collaborator

Choose a reason for hiding this comment

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

THashSet

@komarevtsev-d komarevtsev-d added large-tests Launch large tests for PR blockstore Add this label to run only cloud/blockstore build and tests on PR labels Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blockstore Add this label to run only cloud/blockstore build and tests on PR large-tests Launch large tests for PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants