From 12a6baafa144872a188041bd9ea59467bf7da3d5 Mon Sep 17 00:00:00 2001 From: Hitenjain14 Date: Sun, 15 Dec 2024 16:15:36 +0700 Subject: [PATCH 1/2] list dir from all blobbers --- zboxcore/sdk/listworker.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/zboxcore/sdk/listworker.go b/zboxcore/sdk/listworker.go index d8944557d..590c4c7fe 100644 --- a/zboxcore/sdk/listworker.go +++ b/zboxcore/sdk/listworker.go @@ -174,6 +174,9 @@ func (req *ListRequest) getlistFromBlobbers() ([]*listResponse, error) { for i := 0; i < numList; i++ { go req.getListInfoFromBlobber(req.blobbers[i], i, rspCh) } + if req.storageVersion == StorageV2 { + req.listOnly = true + } listInfos := make([]*listResponse, numList) consensusMap := make(map[string][]*blockchain.StorageNode) var consensusHash string @@ -241,7 +244,7 @@ func (req *ListRequest) GetListFromBlobbers() (*ListResult, error) { } selected := make(map[string]*ListResult) childResultMap := make(map[string]*ListResult) - if !req.forRepair { + if !req.forRepair && req.storageVersion == 0 { req.consensusThresh = 1 } for i := 0; i < len(lR); i++ { From 741dcdcf18cf72415bc8fd69cd4964389f18efb5 Mon Sep 17 00:00:00 2001 From: Hitenjain14 Date: Sun, 15 Dec 2024 16:23:14 +0700 Subject: [PATCH 2/2] list dir from all for v2 and and pool for shards in worker --- zboxcore/sdk/chunked_upload_process_js.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/zboxcore/sdk/chunked_upload_process_js.go b/zboxcore/sdk/chunked_upload_process_js.go index 782400775..2f0941773 100644 --- a/zboxcore/sdk/chunked_upload_process_js.go +++ b/zboxcore/sdk/chunked_upload_process_js.go @@ -57,6 +57,7 @@ type ChunkedUploadFormInfo struct { StorageVersion int EncryptionVersion int PrivateSigningKey ed25519.PrivateKey + bbuf *bytebufferpool.ByteBuffer } // createUploadProgress create a new UploadProgress @@ -463,6 +464,7 @@ func ProcessEventData(data safejs.Value) { formBuilder := CreateChunkedUploadFormBuilder(formInfo.StorageVersion, formInfo.EncryptionVersion, formInfo.PrivateSigningKey) uploadData, err := formBuilder.Build(fileMeta, wp.hasher, formInfo.ConnectionID, blobberID, formInfo.ChunkSize, formInfo.ChunkStartIndex, formInfo.ChunkEndIndex, formInfo.IsFinal, formInfo.EncryptedKey, formInfo.EncryptedKeyPoint, fileShards, thumbnailChunkData, formInfo.ShardSize) + uploadPool.Put(formInfo.bbuf) if err != nil { selfPostMessage(false, false, err.Error(), remotePath, formInfo.ChunkEndIndex, nil) return @@ -599,9 +601,15 @@ func parseEventData(data safejs.Value) (*FileMeta, *ChunkedUploadFormInfo, [][]b if err != nil { return nil, nil, nil, nil, err } - buf := make([]byte, fileShardLen) - safejs.CopyBytesToGo(buf, fileShardUint8) - fileShards := splitData(buf, int(chunkSize)) + bbuf := uploadPool.Get() + if cap(bbuf.B) < fileShardLen { + bbuf.B = make([]byte, fileShardLen) + } else { + bbuf.B = bbuf.B[:fileShardLen] + } + safejs.CopyBytesToGo(bbuf.B, fileShardUint8) + fileShards := splitData(bbuf.B, int(chunkSize)) + formInfo.bbuf = bbuf fileShardUint8.Set("buffer", js.Null()) formInfoUint8.Set("buffer", js.Null()) fileMetaUint8.Set("buffer", js.Null())