Skip to content

LUC070-156 multithread deletes - implemented with integration and uni…#862

Draft
davidhay wants to merge 6 commits intodv5-demofrom
LUC070-156-adding-threading-to-deletes
Draft

LUC070-156 multithread deletes - implemented with integration and uni…#862
davidhay wants to merge 6 commits intodv5-demofrom
LUC070-156-adding-threading-to-deletes

Conversation

@davidhay
Copy link
Collaborator

@davidhay davidhay commented Feb 3, 2026

Adding code to allow for Delete Task in worker to delete each archive chunk in parallel.

TODO

  • control the sending of DeletedChunk events from Worker via property in Broker (sent in Delete Task Props).
  • investigate the clean shut down of other parallel tasks when one parallel task encounters error and ends the Worker Task which releases the Worker to accept another Task.
  • investigate the clean shutdown of TSM Device since it uses unix processes to interact with actual TSM
  • investigate the unix exit codes returned from TSM when deleting archive that does not exist - it's a warning not an error but we are treating it like one
  • write code and tests to ensure that DeletedChunk events are being stored against deposit/job correctly

DONE

Multi-Thread Deletes Implementation

Supported Scenarios:

  • No Chunk / Single Location archives
  • Multi-Chunk / Single Location archives
  • No Chunk / Multi-Location archives
  • Multi-Chunk / Multi-Location archives

when a chunk or non-chunk archive file is deleted - a DeletedChunk event will be sent to the Broker - it has the following:

  • archiveType
  • the archiveStoreId
  • the chunkNumber
  • number Of Chunks
  • location

written deposit-then-delete integration tests:

ChunkingType ArchiveType description"
no chunks single location archives uses LocalFileSystemArchive for tests
multi-chunk single location archives uses LocalFileSystemArchive for tests
no chunks multi location archives uses MultiLocalFileSystemArchive for tests
multi-chunk multi location archives uses MultiLocalFileSystemArchive for tests

written deposit-unit-tests to help simulate and test errors at random chunks. These all use test-specific ArchiveStore test device to control when error occurs

ChunkingType ArchiveType
no chunks single location archives
multi-chunk single location archives
no chunks multi location archives
multi-chunk multi location archives

…t tests. DeleteChunk events send per (chunk and location) deleted.
…ts' property in the broker can control whether the Workers send 'DeletedChunk' events. The default value is false. The value of that broker property gets send to worker as the 'workersSendDeletedChunkEvents' property in the Delete Task properties.
@davidhay
Copy link
Collaborator Author

davidhay commented Feb 6, 2026

Just pushed a fix - moved duplicated Delete Deposit code into AdminDepositService

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant