Browse Source

清理无用代码

feature_gxh
Sydonian 7 months ago
parent
commit
dcc7f27c23
5 changed files with 13 additions and 2531 deletions
  1. +13
    -13
      client/internal/ticktock/redundancy_shrink_test.go
  2. +0
    -1375
      scanner/internal/event/check_package_redundancy.go
  3. +0
    -1043
      scanner/internal/event/clean_pinned.go
  4. +0
    -52
      scanner/internal/tickevent/batch_check_package_redudancy.go
  5. +0
    -48
      scanner/internal/tickevent/batch_clean_pinned.go

scanner/internal/event/clean_pinned_test.go → client/internal/ticktock/redundancy_shrink_test.go View File

@@ -1,24 +1,24 @@
package event
package ticktock

import (
"testing"

. "github.com/smartystreets/goconvey/convey"
"gitlink.org.cn/cloudream/common/pkgs/bitmap"
cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
"gitlink.org.cn/cloudream/jcs-pub/client/types"
)

func newTreeTest(nodeBlocksMap []bitmap.Bitmap64) combinatorialTree {
tree := combinatorialTree{
blocksMaps: make(map[int]bitmap.Bitmap64),
stgIDToLocalStgID: make(map[cdssdk.StorageID]int),
stgIDToLocalStgID: make(map[types.UserSpaceID]int),
}

tree.nodes = make([]combinatorialTreeNode, (1 << len(nodeBlocksMap)))
for id, mp := range nodeBlocksMap {
tree.stgIDToLocalStgID[cdssdk.StorageID(id)] = len(tree.localStgIDToStgID)
tree.stgIDToLocalStgID[types.UserSpaceID(id)] = len(tree.localStgIDToStgID)
tree.blocksMaps[len(tree.localStgIDToStgID)] = mp
tree.localStgIDToStgID = append(tree.localStgIDToStgID, cdssdk.StorageID(id))
tree.localStgIDToStgID = append(tree.localStgIDToStgID, types.UserSpaceID(id))
}

tree.nodes[0].localHubID = -1
@@ -125,7 +125,7 @@ func Test_UpdateBitmap(t *testing.T) {
testcases := []struct {
title string
nodeBlocks []bitmap.Bitmap64
updatedHubID cdssdk.StorageID
updatedHubID types.UserSpaceID
updatedBitmap bitmap.Bitmap64
k int
expectedTreeNodeBitmaps []int
@@ -134,7 +134,7 @@ func Test_UpdateBitmap(t *testing.T) {
{
title: "4个节点,更新但值不变",
nodeBlocks: []bitmap.Bitmap64{1, 2, 4, 8},
updatedHubID: cdssdk.StorageID(0),
updatedHubID: types.UserSpaceID(0),
updatedBitmap: bitmap.Bitmap64(1),
k: 4,
expectedTreeNodeBitmaps: []int{0, 1, 3, 7, 15, 11, 5, 13, 9, 2, 6, 14, 10, 4, 12, 8},
@@ -143,7 +143,7 @@ func Test_UpdateBitmap(t *testing.T) {
{
title: "4个节点,更新0",
nodeBlocks: []bitmap.Bitmap64{1, 2, 4, 8},
updatedHubID: cdssdk.StorageID(0),
updatedHubID: types.UserSpaceID(0),
updatedBitmap: bitmap.Bitmap64(2),
k: 4,
expectedTreeNodeBitmaps: []int{0, 2, 2, 6, 14, 10, 6, 14, 10, 2, 6, 14, 10, 4, 12, 8},
@@ -152,7 +152,7 @@ func Test_UpdateBitmap(t *testing.T) {
{
title: "4个节点,更新1",
nodeBlocks: []bitmap.Bitmap64{1, 2, 4, 8},
updatedHubID: cdssdk.StorageID(1),
updatedHubID: types.UserSpaceID(1),
updatedBitmap: bitmap.Bitmap64(1),
k: 4,
expectedTreeNodeBitmaps: []int{0, 1, 1, 5, 13, 9, 5, 13, 9, 1, 5, 13, 9, 4, 12, 8},
@@ -161,7 +161,7 @@ func Test_UpdateBitmap(t *testing.T) {
{
title: "4个节点,更新2",
nodeBlocks: []bitmap.Bitmap64{1, 2, 4, 8},
updatedHubID: cdssdk.StorageID(2),
updatedHubID: types.UserSpaceID(2),
updatedBitmap: bitmap.Bitmap64(1),
k: 4,
expectedTreeNodeBitmaps: []int{0, 1, 3, 3, 11, 11, 1, 9, 9, 2, 3, 11, 10, 1, 9, 8},
@@ -170,7 +170,7 @@ func Test_UpdateBitmap(t *testing.T) {
{
title: "4个节点,更新3",
nodeBlocks: []bitmap.Bitmap64{1, 2, 4, 8},
updatedHubID: cdssdk.StorageID(3),
updatedHubID: types.UserSpaceID(3),
updatedBitmap: bitmap.Bitmap64(1),
k: 4,
expectedTreeNodeBitmaps: []int{0, 1, 3, 7, 7, 3, 5, 5, 1, 2, 6, 7, 3, 4, 5, 1},
@@ -179,7 +179,7 @@ func Test_UpdateBitmap(t *testing.T) {
{
title: "4个节点,k<4,更新0,0之前没有k个块,现在拥有",
nodeBlocks: []bitmap.Bitmap64{1, 2, 4, 8},
updatedHubID: cdssdk.StorageID(0),
updatedHubID: types.UserSpaceID(0),
updatedBitmap: bitmap.Bitmap64(3),
k: 2,
expectedTreeNodeBitmaps: []int{0, 3, 3, 7, 15, 11, 5, 13, 9, 2, 6, 14, 10, 4, 12, 8},
@@ -187,7 +187,7 @@ func Test_UpdateBitmap(t *testing.T) {
{
title: "4个节点,k<4,更新0,0之前有k个块,现在没有",
nodeBlocks: []bitmap.Bitmap64{3, 4, 0, 0},
updatedHubID: cdssdk.StorageID(0),
updatedHubID: types.UserSpaceID(0),
updatedBitmap: bitmap.Bitmap64(0),
k: 2,
expectedTreeNodeBitmaps: []int{0, 0, 4, 4, 4, 4, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0},

+ 0
- 1375
scanner/internal/event/check_package_redundancy.go
File diff suppressed because it is too large
View File


+ 0
- 1043
scanner/internal/event/clean_pinned.go
File diff suppressed because it is too large
View File


+ 0
- 52
scanner/internal/tickevent/batch_check_package_redudancy.go View File

@@ -1,52 +0,0 @@
package tickevent

import (
"time"

"gitlink.org.cn/cloudream/common/pkgs/logger"
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/mq/scanner/event"
evt "gitlink.org.cn/cloudream/jcs-pub/scanner/internal/event"
)

const (
CheckPackageBatchSize = 100
)

type BatchCheckPackageRedundancy struct {
lastCheckStart int
}

func NewBatchCheckPackageRedundancy() *BatchCheckPackageRedundancy {
return &BatchCheckPackageRedundancy{}
}

func (e *BatchCheckPackageRedundancy) Execute(ctx ExecuteContext) {
log := logger.WithType[BatchCheckPackageRedundancy]("TickEvent")
log.Debugf("begin")
defer log.Debugf("end")

// TODO 更好的策略
nowHour := time.Now().Hour()
if nowHour > 6 {
return
}

packageIDs, err := ctx.Args.DB.Package().BatchGetAllPackageIDs(ctx.Args.DB.DefCtx(), e.lastCheckStart, CheckPackageBatchSize)
if err != nil {
log.Warnf("batch get package ids failed, err: %s", err.Error())
return
}

for _, id := range packageIDs {
ctx.Args.EventExecutor.Post(evt.NewCheckPackageRedundancy(event.NewCheckPackageRedundancy(id)))
}

// 如果结果的长度小于预期的长度,则认为已经查询了所有,下次从头再来
if len(packageIDs) < CheckPackageBatchSize {
e.lastCheckStart = 0
log.Debugf("all package checked, next time will start check at offset 0")

} else {
e.lastCheckStart += CheckPackageBatchSize
}
}

+ 0
- 48
scanner/internal/tickevent/batch_clean_pinned.go View File

@@ -1,48 +0,0 @@
package tickevent

import (
"time"

"gitlink.org.cn/cloudream/common/pkgs/logger"
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/mq/scanner/event"
evt "gitlink.org.cn/cloudream/jcs-pub/scanner/internal/event"
)

type BatchCleanPinned struct {
lastCheckStart int
}

func NewBatchCleanPinned() *BatchCleanPinned {
return &BatchCleanPinned{}
}

func (e *BatchCleanPinned) Execute(ctx ExecuteContext) {
log := logger.WithType[BatchCleanPinned]("TickEvent")
log.Debugf("begin")
defer log.Debugf("end")

// TODO 更好的策略
nowHour := time.Now().Hour()
if nowHour > 6 {
return
}

packageIDs, err := ctx.Args.DB.Package().BatchGetAllPackageIDs(ctx.Args.DB.DefCtx(), e.lastCheckStart, CheckPackageBatchSize)
if err != nil {
log.Warnf("batch get package ids failed, err: %s", err.Error())
return
}

for _, id := range packageIDs {
ctx.Args.EventExecutor.Post(evt.NewCleanPinned(event.NewCleanPinned(id)))
}

// 如果结果的长度小于预期的长度,则认为已经查询了所有,下次从头再来
if len(packageIDs) < CheckPackageBatchSize {
e.lastCheckStart = 0
log.Debugf("all package clean pinned, next time will start check at offset 0")

} else {
e.lastCheckStart += CheckPackageBatchSize
}
}

Loading…
Cancel
Save