aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-06-16 22:25:22 -0700
committerchrislu <chris.lu@gmail.com>2025-06-16 22:25:22 -0700
commitd2be5822a106cc871c10581e96462a438556586e (patch)
treeb7ada1ae4fbf6a2c30dd65f05a3f1e3b8cee46eb
parent96632a34b1075f7bbe8dcf89f5532ccf6587e484 (diff)
downloadseaweedfs-d2be5822a106cc871c10581e96462a438556586e.tar.xz
seaweedfs-d2be5822a106cc871c10581e96462a438556586e.zip
refactoring
-rw-r--r--weed/operation/tail_volume.go5
-rw-r--r--weed/server/master_grpc_server_assign.go2
-rw-r--r--weed/server/master_grpc_server_volume.go2
-rw-r--r--weed/server/master_server_handlers_admin.go2
-rw-r--r--weed/storage/erasure_coding/ec_volume_test.go2
-rw-r--r--weed/storage/needle/needle_write_test.go2
-rw-r--r--weed/storage/needle/volume_version.go11
-rw-r--r--weed/storage/super_block/super_block_test.go2
-rw-r--r--weed/storage/volume_super_block.go2
-rw-r--r--weed/storage/volume_tier.go5
-rw-r--r--weed/topology/topology_test.go10
-rw-r--r--weed/topology/volume_growth.go2
-rw-r--r--weed/topology/volume_growth_test.go5
-rw-r--r--weed/topology/volume_layout.go2
14 files changed, 30 insertions, 24 deletions
diff --git a/weed/operation/tail_volume.go b/weed/operation/tail_volume.go
index a7d9425a8..67ee3e825 100644
--- a/weed/operation/tail_volume.go
+++ b/weed/operation/tail_volume.go
@@ -3,9 +3,10 @@ package operation
import (
"context"
"fmt"
- "github.com/seaweedfs/seaweedfs/weed/pb"
"io"
+ "github.com/seaweedfs/seaweedfs/weed/pb"
+
"google.golang.org/grpc"
"github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb"
@@ -72,7 +73,7 @@ func TailVolumeFromSource(volumeServer pb.ServerAddress, grpcDialOption grpc.Dia
n := new(needle.Needle)
n.ParseNeedleHeader(needleHeader)
- err = n.ReadNeedleBodyBytes(needleBody, needle.CurrentVersion)
+ err = n.ReadNeedleBodyBytes(needleBody, needle.GetCurrentVersion())
if err != nil {
return err
}
diff --git a/weed/server/master_grpc_server_assign.go b/weed/server/master_grpc_server_assign.go
index 9a5199291..10908e5c6 100644
--- a/weed/server/master_grpc_server_assign.go
+++ b/weed/server/master_grpc_server_assign.go
@@ -70,7 +70,7 @@ func (ms *MasterServer) Assign(ctx context.Context, req *master_pb.AssignRequest
Rack: req.Rack,
DataNode: req.DataNode,
MemoryMapMaxSizeMb: req.MemoryMapMaxSizeMb,
- Version: uint32(needle.CurrentVersion),
+ Version: uint32(needle.GetCurrentVersion()),
}
if !ms.Topo.DataCenterExists(option.DataCenter) {
diff --git a/weed/server/master_grpc_server_volume.go b/weed/server/master_grpc_server_volume.go
index a1a52ccb3..0250856b1 100644
--- a/weed/server/master_grpc_server_volume.go
+++ b/weed/server/master_grpc_server_volume.go
@@ -343,7 +343,7 @@ func (ms *MasterServer) VolumeGrow(ctx context.Context, req *master_pb.VolumeGro
Rack: req.Rack,
DataNode: req.DataNode,
MemoryMapMaxSizeMb: req.MemoryMapMaxSizeMb,
- Version: uint32(needle.CurrentVersion),
+ Version: uint32(needle.GetCurrentVersion()),
}
volumeGrowRequest := topology.VolumeGrowRequest{
Option: &volumeGrowOption,
diff --git a/weed/server/master_server_handlers_admin.go b/weed/server/master_server_handlers_admin.go
index 4cca5277e..0b1624a4d 100644
--- a/weed/server/master_server_handlers_admin.go
+++ b/weed/server/master_server_handlers_admin.go
@@ -177,7 +177,7 @@ func (ms *MasterServer) getVolumeGrowOption(r *http.Request) (*topology.VolumeGr
Rack: r.FormValue("rack"),
DataNode: r.FormValue("dataNode"),
MemoryMapMaxSizeMb: memoryMapMaxSizeMb,
- Version: uint32(needle.CurrentVersion),
+ Version: uint32(needle.GetCurrentVersion()),
}
return volumeGrowOption, nil
}
diff --git a/weed/storage/erasure_coding/ec_volume_test.go b/weed/storage/erasure_coding/ec_volume_test.go
index 47faf0b62..82df0b8b1 100644
--- a/weed/storage/erasure_coding/ec_volume_test.go
+++ b/weed/storage/erasure_coding/ec_volume_test.go
@@ -44,7 +44,7 @@ func TestPositioning(t *testing.T) {
fmt.Printf("offset: %d size: %d\n", offset.ToActualOffset(), size)
var shardEcdFileSize int64 = 1118830592 // 1024*1024*1024*3
- intervals := LocateData(ErasureCodingLargeBlockSize, ErasureCodingSmallBlockSize, shardEcdFileSize, offset.ToActualOffset(), types.Size(needle.GetActualSize(size, needle.CurrentVersion)))
+ intervals := LocateData(ErasureCodingLargeBlockSize, ErasureCodingSmallBlockSize, shardEcdFileSize, offset.ToActualOffset(), types.Size(needle.GetActualSize(size, needle.GetCurrentVersion())))
for _, interval := range intervals {
shardId, shardOffset := interval.ToShardIdAndOffset(ErasureCodingLargeBlockSize, ErasureCodingSmallBlockSize)
diff --git a/weed/storage/needle/needle_write_test.go b/weed/storage/needle/needle_write_test.go
index 5ddc040fb..f91991171 100644
--- a/weed/storage/needle/needle_write_test.go
+++ b/weed/storage/needle/needle_write_test.go
@@ -59,7 +59,7 @@ func TestAppend(t *testing.T) {
datBackend := backend.NewDiskFile(tempFile)
defer datBackend.Close()
- offset, _, _, _ := n.Append(datBackend, CurrentVersion)
+ offset, _, _, _ := n.Append(datBackend, GetCurrentVersion())
if offset != uint64(fileSize) {
t.Errorf("Fail to Append Needle.")
}
diff --git a/weed/storage/needle/volume_version.go b/weed/storage/needle/volume_version.go
index 54daac77f..15d2aa2a7 100644
--- a/weed/storage/needle/volume_version.go
+++ b/weed/storage/needle/volume_version.go
@@ -3,8 +3,11 @@ package needle
type Version uint8
const (
- Version1 = Version(1)
- Version2 = Version(2)
- Version3 = Version(3)
- CurrentVersion = Version3
+ Version1 = Version(1)
+ Version2 = Version(2)
+ Version3 = Version(3)
)
+
+func GetCurrentVersion() Version {
+ return Version3
+}
diff --git a/weed/storage/super_block/super_block_test.go b/weed/storage/super_block/super_block_test.go
index 5a9c8e1a9..b952240ae 100644
--- a/weed/storage/super_block/super_block_test.go
+++ b/weed/storage/super_block/super_block_test.go
@@ -10,7 +10,7 @@ func TestSuperBlockReadWrite(t *testing.T) {
rp, _ := NewReplicaPlacementFromByte(byte(001))
ttl, _ := needle.ReadTTL("15d")
s := &SuperBlock{
- Version: needle.CurrentVersion,
+ Version: needle.GetCurrentVersion(),
ReplicaPlacement: rp,
Ttl: ttl,
}
diff --git a/weed/storage/volume_super_block.go b/weed/storage/volume_super_block.go
index 096d46906..1d411471f 100644
--- a/weed/storage/volume_super_block.go
+++ b/weed/storage/volume_super_block.go
@@ -18,7 +18,7 @@ func (v *Volume) maybeWriteSuperBlock() error {
return e
}
if datSize == 0 {
- v.SuperBlock.Version = needle.CurrentVersion
+ v.SuperBlock.Version = needle.GetCurrentVersion()
_, e = v.DataBackend.WriteAt(v.SuperBlock.Bytes(), 0)
if e != nil && os.IsPermission(e) {
//read-only, but zero length - recreate it!
diff --git a/weed/storage/volume_tier.go b/weed/storage/volume_tier.go
index 5d9b67192..d398503a3 100644
--- a/weed/storage/volume_tier.go
+++ b/weed/storage/volume_tier.go
@@ -2,6 +2,8 @@ package storage
import (
"fmt"
+ "time"
+
"github.com/seaweedfs/seaweedfs/weed/glog"
"github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb"
"github.com/seaweedfs/seaweedfs/weed/storage/backend"
@@ -10,7 +12,6 @@ import (
"github.com/seaweedfs/seaweedfs/weed/storage/needle"
"github.com/seaweedfs/seaweedfs/weed/storage/types"
"github.com/seaweedfs/seaweedfs/weed/storage/volume_info"
- "time"
)
func (v *Volume) GetVolumeInfo() *volume_server_pb.VolumeInfo {
@@ -23,7 +24,7 @@ func (v *Volume) maybeLoadVolumeInfo() (found bool) {
v.volumeInfo, v.hasRemoteFile, found, err = volume_info.MaybeLoadVolumeInfo(v.FileName(".vif"))
if v.volumeInfo.Version == 0 {
- v.volumeInfo.Version = uint32(needle.CurrentVersion)
+ v.volumeInfo.Version = uint32(needle.GetCurrentVersion())
}
if v.hasRemoteFile {
diff --git a/weed/topology/topology_test.go b/weed/topology/topology_test.go
index 7ac994d0e..667e941df 100644
--- a/weed/topology/topology_test.go
+++ b/weed/topology/topology_test.go
@@ -49,7 +49,7 @@ func TestHandlingVolumeServerHeartbeat(t *testing.T) {
DeletedByteCount: 34524,
ReadOnly: false,
ReplicaPlacement: uint32(0),
- Version: uint32(needle.CurrentVersion),
+ Version: uint32(needle.GetCurrentVersion()),
Ttl: 0,
}
volumeMessages = append(volumeMessages, volumeMessage)
@@ -65,7 +65,7 @@ func TestHandlingVolumeServerHeartbeat(t *testing.T) {
DeletedByteCount: 34524,
ReadOnly: false,
ReplicaPlacement: uint32(0),
- Version: uint32(needle.CurrentVersion),
+ Version: uint32(needle.GetCurrentVersion()),
Ttl: 0,
DiskType: "ssd",
}
@@ -94,7 +94,7 @@ func TestHandlingVolumeServerHeartbeat(t *testing.T) {
DeletedByteCount: 345240,
ReadOnly: false,
ReplicaPlacement: uint32(0),
- Version: uint32(needle.CurrentVersion),
+ Version: uint32(needle.GetCurrentVersion()),
Ttl: 0,
}
volumeMessages = append(volumeMessages, volumeMessage)
@@ -117,7 +117,7 @@ func TestHandlingVolumeServerHeartbeat(t *testing.T) {
Id: uint32(3),
Collection: "",
ReplicaPlacement: uint32(0),
- Version: uint32(needle.CurrentVersion),
+ Version: uint32(needle.GetCurrentVersion()),
Ttl: 0,
}
topo.IncrementalSyncDataNodeRegistration(
@@ -191,7 +191,7 @@ func TestAddRemoveVolume(t *testing.T) {
DeleteCount: 23,
DeletedByteCount: 45,
ReadOnly: false,
- Version: needle.CurrentVersion,
+ Version: needle.GetCurrentVersion(),
ReplicaPlacement: &super_block.ReplicaPlacement{},
Ttl: needle.EMPTY_TTL,
}
diff --git a/weed/topology/volume_growth.go b/weed/topology/volume_growth.go
index 8bbcd2c27..8423ed5ca 100644
--- a/weed/topology/volume_growth.go
+++ b/weed/topology/volume_growth.go
@@ -264,7 +264,7 @@ func (vg *VolumeGrowth) grow(grpcDialOption grpc.DialOption, topo *Topology, vid
Collection: option.Collection,
ReplicaPlacement: option.ReplicaPlacement,
Ttl: option.Ttl,
- Version: needle.CurrentVersion,
+ Version: needle.GetCurrentVersion(),
DiskType: option.DiskType.String(),
ModifiedAtSecond: time.Now().Unix(),
})
diff --git a/weed/topology/volume_growth_test.go b/weed/topology/volume_growth_test.go
index 49dd0957c..286289148 100644
--- a/weed/topology/volume_growth_test.go
+++ b/weed/topology/volume_growth_test.go
@@ -3,9 +3,10 @@ package topology
import (
"encoding/json"
"fmt"
- "github.com/seaweedfs/seaweedfs/weed/storage/types"
"testing"
+ "github.com/seaweedfs/seaweedfs/weed/storage/types"
+
"github.com/seaweedfs/seaweedfs/weed/sequence"
"github.com/seaweedfs/seaweedfs/weed/storage"
"github.com/seaweedfs/seaweedfs/weed/storage/needle"
@@ -104,7 +105,7 @@ func setup(topologyLayout string) *Topology {
vi := storage.VolumeInfo{
Id: needle.VolumeId(int64(m["id"].(float64))),
Size: uint64(m["size"].(float64)),
- Version: needle.CurrentVersion,
+ Version: needle.GetCurrentVersion(),
}
if mVal, ok := m["collection"]; ok {
vi.Collection = mVal.(string)
diff --git a/weed/topology/volume_layout.go b/weed/topology/volume_layout.go
index 852798c19..7c6fd71f3 100644
--- a/weed/topology/volume_layout.go
+++ b/weed/topology/volume_layout.go
@@ -265,7 +265,7 @@ func (vl *VolumeLayout) isCrowdedVolume(v *storage.VolumeInfo) bool {
func (vl *VolumeLayout) isWritable(v *storage.VolumeInfo) bool {
return !vl.isOversized(v) &&
- v.Version == needle.CurrentVersion &&
+ v.Version == needle.GetCurrentVersion() &&
!v.ReadOnly
}