Fix space settings

This commit is contained in:
mcrakhman 2023-05-05 18:49:51 +02:00
parent 67ca504f81
commit 11b8609a9b
No known key found for this signature in database
GPG Key ID: DED12CFEF5B8396B

View File

@ -187,6 +187,7 @@ func (s *space) Init(ctx context.Context) (err error) {
res, err := s.BuildTree(ctx, id, BuildTreeOpts{ res, err := s.BuildTree(ctx, id, BuildTreeOpts{
Listener: listener, Listener: listener,
WaitTreeRemoteSync: false, WaitTreeRemoteSync: false,
treeBuilder: objecttree.BuildObjectTree,
}) })
log.Debug("building settings tree", zap.String("id", id), zap.String("spaceId", s.id)) log.Debug("building settings tree", zap.String("id", id), zap.String("spaceId", s.id))
if err != nil { if err != nil {
@ -289,6 +290,7 @@ func (s *space) PutTree(ctx context.Context, payload treestorage.TreeStorageCrea
type BuildTreeOpts struct { type BuildTreeOpts struct {
Listener updatelistener.UpdateListener Listener updatelistener.UpdateListener
WaitTreeRemoteSync bool WaitTreeRemoteSync bool
treeBuilder objecttree.BuildObjectTreeFunc
} }
type HistoryTreeOpts struct { type HistoryTreeOpts struct {
@ -301,7 +303,10 @@ func (s *space) BuildTree(ctx context.Context, id string, opts BuildTreeOpts) (t
err = ErrSpaceClosed err = ErrSpaceClosed
return return
} }
treeBuilder := opts.treeBuilder
if treeBuilder == nil {
treeBuilder = s.treeBuilder
}
deps := synctree.BuildDeps{ deps := synctree.BuildDeps{
SpaceId: s.id, SpaceId: s.id,
SyncClient: s.objectSync.SyncClient(), SyncClient: s.objectSync.SyncClient(),
@ -314,7 +319,7 @@ func (s *space) BuildTree(ctx context.Context, id string, opts BuildTreeOpts) (t
SyncStatus: s.syncStatus, SyncStatus: s.syncStatus,
WaitTreeRemoteSync: opts.WaitTreeRemoteSync, WaitTreeRemoteSync: opts.WaitTreeRemoteSync,
PeerGetter: s.peerManager, PeerGetter: s.peerManager,
BuildObjectTree: s.treeBuilder, BuildObjectTree: treeBuilder,
} }
if t, err = synctree.BuildSyncTreeOrGetRemote(ctx, id, deps); err != nil { if t, err = synctree.BuildSyncTreeOrGetRemote(ctx, id, deps); err != nil {
return nil, err return nil, err