Skip to content

feat(fisherman): 🌎 batch file deletions #489

feat(fisherman): 🌎 batch file deletions

feat(fisherman): 🌎 batch file deletions #489

Triggered via pull request November 6, 2025 14:37
Status Failure
Total duration 21m 20s
Artifacts 4

network.yml

on: pull_request
Build node binary if changed
7m 4s
Build node binary if changed
Build backend binary if changed
1m 1s
Build backend binary if changed
Push node Docker image to Docker Hub
50s
Push node Docker image to Docker Hub
Network Test: Zombienet (Parachain + Relay)
3m 14s
Network Test: Zombienet (Parachain + Relay)
Network Test: Zombienet CLI
2m 6s
Network Test: Zombienet CLI
Integration Tests: Fisherman
13m 52s
Integration Tests: Fisherman
Check Rust/TS bindings are up to date
1m 16s
Check Rust/TS bindings are up to date
Matrix: Integration Tests: BSPNet
Matrix: Node Tests: Solo Dev Node
Matrix: Integration Tests: FullNet
Matrix: Integration Tests: User
Push backend Docker image to Docker Hub
0s
Push backend Docker image to Docker Hub
Integration Tests: Solochain EVM
4m 34s
Integration Tests: Solochain EVM
Matrix: Integration Tests: Backend
Fit to window
Zoom out
Zoom in

Annotations

16 errors, 1 warning, and 18 notices
Integration Tests: Solochain EVM
Process completed with exit code 1.
Should fetch payment streams using the SDK's MspClient: test/test/suites/integration/solochain-evm/sdk-precompiles.test.ts#L481
AssertionError [ERR_ASSERTION]: SDK did not return a payment stream for the expected MSP at TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/solochain-evm/sdk-precompiles.test.ts:481:7) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { generatedMessage: false, code: 'ERR_ASSERTION', actual: undefined, expected: true, operator: '==' }
Should upload the file to the MSP through the backend using the SDK's StorageHubClient: test/test/suites/integration/solochain-evm/sdk-precompiles.test.ts#L458
Error [HttpError]: HTTP 500 for GET http://127.0.0.1:8080/buckets/0xb1bf58ff2c2b53bdaddc9279116e0af3bdd77b7a656aaf65a0446242c769e1a0/files at H.request (/home/runner/_work/storage-hub/storage-hub/sdk/core/dist/index.node.js:1:242583) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/solochain-evm/sdk-precompiles.test.ts:458:24) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { status: 500, body: { error: 'Database error: Record not found' } }
Should create a new bucket using the SDK's StorageHubClient: test/test/suites/integration/solochain-evm/sdk-precompiles.test.ts#L316
AssertionError [ERR_ASSERTION]: MSP listBuckets should include the created bucket at TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/solochain-evm/sdk-precompiles.test.ts:316:7) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { generatedMessage: false, code: 'ERR_ASSERTION', actual: false, expected: true, operator: '==' }
Should fetch payment streams using the SDK's MspClient: test/test/suites/integration/solochain-evm/sdk-precompiles.test.ts#L481
AssertionError [ERR_ASSERTION]: SDK did not return a payment stream for the expected MSP at TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/solochain-evm/sdk-precompiles.test.ts:481:7) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { generatedMessage: false, code: 'ERR_ASSERTION', actual: undefined, expected: true, operator: '==' }
Should upload the file to the MSP through the backend using the SDK's StorageHubClient: test/test/suites/integration/solochain-evm/sdk-precompiles.test.ts#L458
Error [HttpError]: HTTP 500 for GET http://127.0.0.1:8080/buckets/0xb1bf58ff2c2b53bdaddc9279116e0af3bdd77b7a656aaf65a0446242c769e1a0/files at H.request (/home/runner/_work/storage-hub/storage-hub/sdk/core/dist/index.node.js:1:242583) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/solochain-evm/sdk-precompiles.test.ts:458:24) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { status: 500, body: { error: 'Database error: Record not found' } }
Should create a new bucket using the SDK's StorageHubClient: test/test/suites/integration/solochain-evm/sdk-precompiles.test.ts#L316
AssertionError [ERR_ASSERTION]: MSP listBuckets should include the created bucket at TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/solochain-evm/sdk-precompiles.test.ts:316:7) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { generatedMessage: false, code: 'ERR_ASSERTION', actual: false, expected: true, operator: '==' }
Integration Tests: BSPNet (1)
Process completed with exit code 1.
BSPNet: BSPNet: Single BSP multi-volunteers (RocksDB): test/test/util/bspNet/testrunner.ts#L1
Error: Timeout of 15000ms exceeded while waiting for log 💤 Idle at Timeout.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/util/bspNet/docker.ts:605:15) at listOnTimeout (node:internal/timers:608:17) at process.processTimers (node:internal/timers:543:7)
Network launches and can be queried: test/test/suites/integration/bsp/single-volunteer.test.ts#L1
'test did not finish before its parent and was cancelled'
Integration Tests: FullNet (3)
Process completed with exit code 1.
Second file can no longer be downloaded from the MSP and BSP: test/test/suites/integration/msp/duplicate-storage-request.test.ts#L440
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value: waitFor({ lambda: async () => { // Check file is NOT in BSP forest const bspForestResult = await bspApi.rpc.storagehubclient.isFileInForest( null, file1.fileKey ); if (bspForestResult.isTrue) { return false; } // Check file is NOT in BSP file storage const bspFileStorageResult = await bspApi.rpc.storagehubclient.isFileInFileStorage( file1.fileKey ); if (bspFileStorageResult.isFileFound) { return false; } // Check file is NOT in MSP forest const mspForestResult = await mspApi.rpc.storagehubclient.isFileInForest( file2.bucketId, file1.fileKey ); if (mspForestResult.isTrue) { return false; } // Check file is NOT in MSP file storage const mspFileStorageResult = await mspApi.rpc.storagehubclient.isFileInFileStorage( file1.fileKey ); if (mspFileStorageResult.isFileFound) { return false; } return true; } }) at TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/msp/duplicate-storage-request.test.ts:440:7) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: false, expected: true, operator: '==' }
User deletes second file and Fisherman deletes it from Bucket's forest and BSP's forest: test/test/suites/integration/msp/duplicate-storage-request.test.ts#L368
Error: Timeout waiting for fisherman to process User deletions after 25 seconds at waitForFishermanBatchDeletions (/home/runner/_work/storage-hub/storage-hub/test/util/bspNet/fisherman.ts:503:17) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Module.retryableWaitAndVerifyBatchDeletions (/home/runner/_work/storage-hub/storage-hub/test/util/bspNet/fisherman.ts:555:28) at async TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/msp/duplicate-storage-request.test.ts:368:7) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7)
Second file can no longer be downloaded from the MSP and BSP: test/test/suites/integration/msp/duplicate-storage-request.test.ts#L440
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value: waitFor({ lambda: async () => { // Check file is NOT in BSP forest const bspForestResult = await bspApi.rpc.storagehubclient.isFileInForest( null, file1.fileKey ); if (bspForestResult.isTrue) { return false; } // Check file is NOT in BSP file storage const bspFileStorageResult = await bspApi.rpc.storagehubclient.isFileInFileStorage( file1.fileKey ); if (bspFileStorageResult.isFileFound) { return false; } // Check file is NOT in MSP forest const mspForestResult = await mspApi.rpc.storagehubclient.isFileInForest( file2.bucketId, file1.fileKey ); if (mspForestResult.isTrue) { return false; } // Check file is NOT in MSP file storage const mspFileStorageResult = await mspApi.rpc.storagehubclient.isFileInFileStorage( file1.fileKey ); if (mspFileStorageResult.isFileFound) { return false; } return true; } }) at TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/msp/duplicate-storage-request.test.ts:440:7) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: false, expected: true, operator: '==' }
User deletes second file and Fisherman deletes it from Bucket's forest and BSP's forest: test/test/suites/integration/msp/duplicate-storage-request.test.ts#L368
Error: Timeout waiting for fisherman to process User deletions after 25 seconds at waitForFishermanBatchDeletions (/home/runner/_work/storage-hub/storage-hub/test/util/bspNet/fisherman.ts:503:17) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Module.retryableWaitAndVerifyBatchDeletions (/home/runner/_work/storage-hub/storage-hub/test/util/bspNet/fisherman.ts:555:28) at async TestContext.<anonymous> (/home/runner/_work/storage-hub/storage-hub/test/suites/integration/msp/duplicate-storage-request.test.ts:368:7) at async Test.run (node:internal/test_runner/test:1054:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:744:7)
Integration Tests: Solochain EVM
Cache not found for keys: v0-rust-solochain_evm-Linux-x64-3d7017e8-0b1c9570, v0-rust-solochain_evm-Linux-x64-3d7017e8
sccache stats
0% - 0 hits, 0 misses, 0 errors
sccache stats
100% - 1091 hits, 1 misses, 0 errors
Node Tests: Solo Dev Node (2)
Total Tests: 3 Suites 📂: 1 Passed ✅: 3 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 12069.525ms
Node Tests: Solo Dev Node (1)
Total Tests: 5 Suites 📂: 1 Passed ✅: 5 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 14151.820ms
Integration Tests: User (2)
Total Tests: 14 Suites 📂: 2 Passed ✅: 14 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 61049.492ms
Integration Tests: User (1)
Total Tests: 16 Suites 📂: 4 Passed ✅: 16 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 133413.120ms
Integration Tests: FullNet (4)
Total Tests: 17 Suites 📂: 4 Passed ✅: 17 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 131708.209ms
Integration Tests: Solochain EVM
Total Tests: 26 Suites 📂: 4 Passed ✅: 20 Failed ❌: 6 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 113236.654ms
Integration Tests: Backend (1)
Total Tests: 82 Suites 📂: 8 Passed ✅: 78 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 4 Todo 📝: 0 Duration 🕐: 214950.527ms
Integration Tests: BSPNet (4)
Total Tests: 24 Suites 📂: 6 Passed ✅: 19 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 5 Todo 📝: 0 Duration 🕐: 240956.462ms
Integration Tests: FullNet (2)
Total Tests: 20 Suites 📂: 5 Passed ✅: 20 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 244475.143ms
Integration Tests: BSPNet (2)
Total Tests: 19 Suites 📂: 7 Passed ✅: 15 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 4 Todo 📝: 0 Duration 🕐: 278513.082ms
Integration Tests: BSPNet (3)
Total Tests: 45 Suites 📂: 7 Passed ✅: 45 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 290946.235ms
Integration Tests: BSPNet (5)
Total Tests: 31 Suites 📂: 6 Passed ✅: 29 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 2 Todo 📝: 0 Duration 🕐: 319290.361ms
Integration Tests: BSPNet (1)
Total Tests: 21 Suites 📂: 11 Passed ✅: 19 Failed ❌: 0 Canceled 🚫: 2 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 344442.755ms
Integration Tests: FullNet (1)
Total Tests: 28 Suites 📂: 8 Passed ✅: 28 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 376243.766ms
Integration Tests: FullNet (3)
Total Tests: 32 Suites 📂: 5 Passed ✅: 28 Failed ❌: 4 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 427812.798ms
Integration Tests: Fisherman
Total Tests: 38 Suites 📂: 6 Passed ✅: 38 Failed ❌: 0 Canceled 🚫: 0 Skipped ⏭️: 0 Todo 📝: 0 Duration 🕐: 740339.483ms

Artifacts

Produced during runtime
Name Size Digest
bsp-test-logs-shard-1
2.43 MB
sha256:a9db907f039b9733b343def44665876d08863e600c64a44543f7efcda7d8bf1b
node
68.2 MB
sha256:7e0625329d782212413856dda688c64c273923f6e1ebcfc09a3b99010f859eaf
solochain-evm-test-logs
23.9 KB
sha256:dfffef4a38240bd3dd30ed738d91bf6df27fa4fb929adac61a94be750a3d4bb0
sp-test-logs-shard-3
23.2 KB
sha256:4fdc55809ecb2dad1f3d4982ee39ffac0a4d569c3aa1709a3c3c2aef41240a26