aboutsummaryrefslogtreecommitdiff
path: root/weed/server
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-09-27 03:07:44 -0700
committerChris Lu <chris.lu@gmail.com>2021-09-27 03:07:44 -0700
commit2e9372dcf7567e41074eac0a6f3698dda931453d (patch)
tree14bd4ba884360f98bc74de93acdc93ffdfbda87e /weed/server
parent225b019fe0b29c2eb073104f83bb9f14c3e345e3 (diff)
downloadseaweedfs-2e9372dcf7567e41074eac0a6f3698dda931453d.tar.xz
seaweedfs-2e9372dcf7567e41074eac0a6f3698dda931453d.zip
volume stream read skips deleted content
Diffstat (limited to 'weed/server')
-rw-r--r--weed/server/volume_grpc_read_all.go34
1 files changed, 3 insertions, 31 deletions
diff --git a/weed/server/volume_grpc_read_all.go b/weed/server/volume_grpc_read_all.go
index 3ee0b7d86..7fe5bad03 100644
--- a/weed/server/volume_grpc_read_all.go
+++ b/weed/server/volume_grpc_read_all.go
@@ -5,7 +5,6 @@ import (
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
"github.com/chrislusf/seaweedfs/weed/storage"
"github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/super_block"
)
func (vs *VolumeServer) ReadAllNeedles(req *volume_server_pb.ReadAllNeedlesRequest, stream volume_server_pb.VolumeServer_ReadAllNeedlesServer) (err error) {
@@ -24,9 +23,9 @@ func (vs *VolumeServer) streaReadOneVolume(vid needle.VolumeId, stream volume_se
return fmt.Errorf("not found volume id %d", vid)
}
- scanner := &VolumeFileScanner4ReadAll{
- stream: stream,
- v: v,
+ scanner := &storage.VolumeFileScanner4ReadAll{
+ Stream: stream,
+ V: v,
}
offset := int64(v.SuperBlock.BlockSize())
@@ -35,30 +34,3 @@ func (vs *VolumeServer) streaReadOneVolume(vid needle.VolumeId, stream volume_se
return err
}
-
-type VolumeFileScanner4ReadAll struct {
- stream volume_server_pb.VolumeServer_ReadAllNeedlesServer
- v *storage.Volume
-}
-
-func (scanner *VolumeFileScanner4ReadAll) VisitSuperBlock(superBlock super_block.SuperBlock) error {
- return nil
-
-}
-func (scanner *VolumeFileScanner4ReadAll) ReadNeedleBody() bool {
- return true
-}
-
-func (scanner *VolumeFileScanner4ReadAll) VisitNeedle(n *needle.Needle, offset int64, needleHeader, needleBody []byte) error {
-
- sendErr := scanner.stream.Send(&volume_server_pb.ReadAllNeedlesResponse{
- VolumeId: uint32(scanner.v.Id),
- NeedleId: uint64(n.Id),
- Cookie: uint32(n.Cookie),
- NeedleBlob: n.Data,
- })
- if sendErr != nil {
- return sendErr
- }
- return nil
-}