feature/165-speed_up_listing #294

Merged
alexvanin merged 1 commit from dkirillov/frostfs-s3-gw:feature/165-speed_up_listing into master 2024-09-04 19:51:13 +00:00
2 changed files with 5 additions and 12 deletions

View file

@ -222,7 +222,7 @@ func TestListObjectsVersionsPaging(t *testing.T) {
bktName := "bucket-versioning-enabled"
createTestBucket(hc, bktName)
n := 10
n := 12
var objects []string
for i := 0; i < n; i++ {

View file

@ -147,7 +147,6 @@ func (t *memoryTree) createPathIfNotExist(parent *treeNodeMemory, path []string)
}
t.idCounter++
parent.children = append(parent.children, node)
//sortNodes(parent.children)
}
alexvanin marked this conversation as resolved Outdated

Seems don't need it.

Seems don't need it.

Fixed c334adeb6d

Fixed https://git.frostfs.info/TrueCloudLab/frostfs-s3-gw/commit/c334adeb6da0bf6fa889b1bf8bb370ccc80f2b0e
return t.createPathIfNotExist(node, path[1:])
@ -224,6 +223,8 @@ func (c *ServiceClientMemory) GetSubTree(_ context.Context, bktInfo *data.Bucket
return nil, ErrNodeNotFound
}
sortNode(tr.treeData)
node := tr.treeData.getNode(rootID)
if node == nil {
return nil, ErrNodeNotFound
@ -266,6 +267,8 @@ func (c *ServiceClientMemory) GetSubTreeStream(_ context.Context, bktInfo *data.
return nil, ErrNodeNotFound
}
sortNode(tr.treeData)
return &SubTreeStreamMemoryImpl{
res: node.listNodes(nil, depth-1),
offset: 0,
@ -375,7 +378,6 @@ func (c *ServiceClientMemory) AddNodeByPath(_ context.Context, bktInfo *data.Buc
}
alexvanin marked this conversation as resolved Outdated

Seems don't need it.

Seems don't need it.
parentNode.children = append(parentNode.children, tn)
//sortNodes(parentNode.children)
cnr.trees[treeID] = tr
return newID, nil
@ -406,20 +408,11 @@ func (c *ServiceClientMemory) MoveNode(_ context.Context, bktInfo *data.BucketIn
node.data.parentID = parentID
alexvanin marked this conversation as resolved Outdated

Seems don't need it.

Seems don't need it.
newParent.children = append(newParent.children, node)
//sortNodes(newParent.children)
node.parent.removeChild(nodeID)
return nil
}
func (c *ServiceClientMemory) Sort() {
for _, info := range c.containers {
for _, tree := range info.trees {
sortNode(tree.treeData)
}
}
}
func sortNode(node *treeNodeMemory) {
if node == nil {
return