Skip to content

Commit 7b0bbf1

Browse files
committed
folder_branch_ops: disable edit history prefetching by default
Now that we have explicit per-device syncing, we no longer need to pre-emptively prefetch recent files.
1 parent d90401a commit 7b0bbf1

File tree

4 files changed

+28
-2
lines changed

4 files changed

+28
-2
lines changed

go/kbfs/libkbfs/folder_branch_ops.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1393,6 +1393,7 @@ func (fbo *folderBranchOps) kickOffPartialSyncIfNeeded(
13931393
// using the recently-edited files list, storing the blocks in
13941394
// the working set cache.
13951395
if !fbo.config.Mode().TLFEditHistoryEnabled() ||
1396+
!fbo.config.Mode().EditHistoryPrefetchingEnabled() ||
13961397
fbo.config.Mode().DefaultBlockRequestAction() == BlockRequestSolo {
13971398
return
13981399
}
@@ -9708,6 +9709,10 @@ func (fbo *folderBranchOps) recomputeEditHistory(
97089709
func (fbo *folderBranchOps) kickOffEditActivityPartialSync(
97099710
ctx context.Context, lState *kbfssync.LockState,
97109711
rmd ImmutableRootMetadata) (err error) {
9712+
if !fbo.config.Mode().EditHistoryPrefetchingEnabled() {
9713+
return
9714+
}
9715+
97119716
defer func() {
97129717
if err != nil {
97139718
fbo.log.CDebugf(

go/kbfs/libkbfs/interfaces.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2054,6 +2054,9 @@ type InitMode interface {
20542054
// DiskCacheCompactionEnabled indicates whether the local disk
20552055
// block cache should trigger compaction automatically.
20562056
DiskCacheCompactionEnabled() bool
2057+
// EditHistoryPrefetchingEnabled indicates whether we should
2058+
// auto-prefetch the most recently-edited files.
2059+
EditHistoryPrefetchingEnabled() bool
20572060

20582061
ldbutils.DbWriteBufferSizeGetter
20592062
}

go/kbfs/libkbfs/kbfs_ops_test.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4929,12 +4929,21 @@ func TestKBFSOpsPartialSync(t *testing.T) {
49294929
checkStatus(fNode, NoPrefetch)
49304930
}
49314931

4932+
type modeTestWithPrefetch struct {
4933+
modeTest
4934+
}
4935+
4936+
func (mtwp modeTestWithPrefetch) EditHistoryPrefetchingEnabled() bool {
4937+
return true
4938+
}
4939+
49324940
func TestKBFSOpsRecentHistorySync(t *testing.T) {
49334941
var u1 kbname.NormalizedUsername = "u1"
49344942
config, _, ctx, cancel := kbfsOpsConcurInit(t, u1)
49354943
defer kbfsConcurTestShutdown(ctx, t, config, cancel)
49364944
// kbfsOpsConcurInit turns off notifications, so turn them back on.
4937-
config.SetMode(modeTest{NewInitModeFromType(InitDefault)})
4945+
config.SetMode(
4946+
modeTestWithPrefetch{modeTest{NewInitModeFromType(InitDefault)}})
49384947
config.SetVLogLevel(libkb.VLog2String)
49394948

49404949
name := "u1"
@@ -4954,7 +4963,8 @@ func TestKBFSOpsRecentHistorySync(t *testing.T) {
49544963
// config2 is the writer.
49554964
config2 := ConfigAsUser(config, u1)
49564965
defer CheckConfigAndShutdown(ctx, t, config2)
4957-
config2.SetMode(modeTest{NewInitModeFromType(InitDefault)})
4966+
config2.SetMode(
4967+
modeTestWithPrefetch{modeTest{NewInitModeFromType(InitDefault)}})
49584968
kbfsOps2 := config2.KBFSOps()
49594969

49604970
config.SetBlockServer(bserverPutToDiskCache{config.BlockServer(), dbc})

go/kbfs/libkbfs/modes.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,10 @@ func (md modeDefault) DiskCacheCompactionEnabled() bool {
211211
return true
212212
}
213213

214+
func (md modeDefault) EditHistoryPrefetchingEnabled() bool {
215+
return false
216+
}
217+
214218
// Minimal mode:
215219

216220
type modeMinimal struct {
@@ -397,6 +401,10 @@ func (mm modeMinimal) DiskCacheCompactionEnabled() bool {
397401
return false
398402
}
399403

404+
func (mm modeMinimal) EditHistoryPrefetchingEnabled() bool {
405+
return false
406+
}
407+
400408
// Single op mode:
401409

402410
type modeSingleOp struct {

0 commit comments

Comments
 (0)