Repository navigation
Conversation
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-relwithdebinfo have completed. Tip Planned checks for linux-x86_64-relwithdebinfo.
|
e060247 to
0c40358
Compare
0c40358 to
b1a571c
Compare
b1a571c to
b73fc57
Compare
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-relwithdebinfo have completed. Tip Planned checks for linux-x86_64-relwithdebinfo.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 308s): all tests PASSED for commit b73fc57.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1767s): all tests PASSED for commit b73fc57.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5460s) Test run completed, no test results found for commit b73fc57. 🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5202s): all tests PASSED for commit b73fc57.
|
b73fc57 to
0dc5b50
Compare
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-relwithdebinfo have completed. Tip Planned checks for linux-x86_64-relwithdebinfo.
🟢 linux-x86_64-relwithdebinfo target: cloud/tasks/,cloud/storage/,cloud/fastshard/ (test time: 278s): all tests PASSED for commit 0dc5b50.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 327s): all tests PASSED for commit 0dc5b50.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1655s): some tests FAILED for commit 0dc5b50.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 27s): some tests FAILED for commit 0dc5b50.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 14s): some tests FAILED for commit 0dc5b50.
|
0dc5b50 to
e74164c
Compare
e74164c to
4ebfd48
Compare
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-relwithdebinfo have completed. Tip Planned checks for linux-x86_64-relwithdebinfo.
|
Problem:
Fastshard owns volume Tablets that are not registered in NBS SchemeShard.
DiskRegistry did not store the owner Tablet ID. Reallocation notifications
could not reach that Tablet, and cleanup could treat external disks as
native NBS volumes.
Solution:
Store ExternalVolumeTabletId with each disk and check it during allocation,
cleanup, and deallocation. Pass the ID in reallocation notifications and
route them directly through VolumeProxy. Select an external connection by
both DiskId and Tablet ID, so a changed owner does not reuse the old route.
Skip native-only volume operations for external disks.
Testing:
The selected VolumeProxy, DiskRegistry, and Filestore suites passed:
35 tests.
```bash
./ya make -tA \
cloud/blockstore/libs/storage/volume_proxy/ut \
cloud/blockstore/libs/storage/disk_registry/ut \
cloud/blockstore/libs/storage/disk_registry/ut_external_volume \
cloud/filestore/libs/storage/disk_registry_proxy/impl/ut \
-F '*TVolumeProxyTest*' \
-F '*ExternalVolume*' \
-F '*ShouldMatchReallocateDiskWireFormat*'
```
After the final notification change, both external and native
notification tests passed.
```bash
./ya make -tA \
cloud/blockstore/libs/storage/disk_registry/ut_external_volume \
cloud/blockstore/libs/storage/disk_registry/ut_lifecycle \
-F '*ShouldNotifyExternalVolumeTablet*' \
-F '*ShouldNotifyDisks*'
```
4ebfd48 to
23ee696
Compare
Notes
Issue: #6959
Fastshard owns volume Tablets that are not registered in NBS SchemeShard.
DiskRegistry did not store the owner Tablet ID. Reallocation notifications
could not reach that Tablet, and cleanup could treat external disks as
native NBS volumes.
Solution
Store ExternalVolumeTabletId with each disk and check it during allocation,
cleanup, and deallocation. Pass the ID in reallocation notifications and
route them directly through VolumeProxy. Select an external connection by
both DiskId and Tablet ID, so a changed owner does not reuse the old route.
Skip native-only volume operations for external disks.
Testing
The selected VolumeProxy, DiskRegistry, and Filestore suites passed:
35 tests.
./ya make -tA \ cloud/blockstore/libs/storage/volume_proxy/ut \ cloud/blockstore/libs/storage/disk_registry/ut \ cloud/blockstore/libs/storage/disk_registry/ut_external_volume \ cloud/filestore/libs/storage/disk_registry_proxy/impl/ut \ -F '*TVolumeProxyTest*' \ -F '*ExternalVolume*' \ -F '*ShouldMatchReallocateDiskWireFormat*'After the final notification change, both external and native
notification tests passed.
./ya make -tA \ cloud/blockstore/libs/storage/disk_registry/ut_external_volume \ cloud/blockstore/libs/storage/disk_registry/ut_lifecycle \ -F '*ShouldNotifyExternalVolumeTablet*' \ -F '*ShouldNotifyDisks*'