small compaction fix

This commit is contained in:
Jarek Kowalski
2017-09-12 06:27:32 -07:00
parent e07c134297
commit 0d3dce175c
2 changed files with 26 additions and 1 deletions

View File

@@ -12,6 +12,7 @@
"reflect"
"runtime/debug"
"testing"
"time"
"github.com/kopia/kopia/auth"
@@ -190,6 +191,30 @@ func TestPackingSimple(t *testing.T) {
verify(t, repo, oid1a, []byte(content1), "packed-object-1")
verify(t, repo, oid2a, []byte(content2), "packed-object-2")
verify(t, repo, oid3a, []byte(content3), "packed-object-3")
if err := repo.Optimize(time.Now().Add(10 * time.Second)); err != nil {
t.Errorf("optimize error: %v", err)
}
data, repo = setupTestWithData(t, data, func(n *NewRepositoryOptions) {
n.MaxPackFileLength = 10000
n.MaxPackedContentLength = 10000
})
verify(t, repo, oid1a, []byte(content1), "packed-object-1")
verify(t, repo, oid2a, []byte(content2), "packed-object-2")
verify(t, repo, oid3a, []byte(content3), "packed-object-3")
if err := repo.Optimize(time.Now().Add(-10 * time.Second)); err != nil {
t.Errorf("optimize error: %v", err)
}
data, repo = setupTestWithData(t, data, func(n *NewRepositoryOptions) {
n.MaxPackFileLength = 10000
n.MaxPackedContentLength = 10000
})
verify(t, repo, oid1a, []byte(content1), "packed-object-1")
verify(t, repo, oid2a, []byte(content2), "packed-object-2")
verify(t, repo, oid3a, []byte(content3), "packed-object-3")
}
func verifyIndirectBlock(t *testing.T, r *Repository, oid ObjectID) {

View File

@@ -345,7 +345,7 @@ func (p *packManager) Compact(cutoffTime time.Time) error {
return err
}
if len(blockIDs) < parallelFetches {
if len(blockIDs) <= 1 {
log.Printf("skipping index compaction - the number of segments %v is too low", len(blockIDs))
return nil
}