From bee666c07c69ca5a0ffba27220bd60a8651e2efd Mon Sep 17 00:00:00 2001 From: Matthew Jaffee Date: Wed, 14 Dec 2022 09:38:00 -0600 Subject: [PATCH] fix dumb issue on storage manager test changed empty snapshots/writelogs to return nil which was causing NPE --- dax/storage/storage_test.go | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/dax/storage/storage_test.go b/dax/storage/storage_test.go index d7d9f3869..e6c48e0c0 100644 --- a/dax/storage/storage_test.go +++ b/dax/storage/storage_test.go @@ -41,44 +41,40 @@ func TestManagerManager(t *testing.T) { ID: dax.TableID("blah"), Name: "blah", } + var n int + var d, wld io.ReadCloser // get a manager and perform normal startup routine on empty data mgr := mm.GetShardManager(qtid, dax.PartitionNum(1), dax.ShardNum(1)) - d, err := mgr.LoadLatestSnapshot() + d, err = mgr.LoadLatestSnapshot() assert.NoError(t, err) - n, err := d.Read(make([]byte, 8)) - assert.Equal(t, 0, n) - assert.Equal(t, err, io.EOF) + assert.Nil(t, d) - wld, err := mgr.LoadWriteLog() + wld, err = mgr.LoadWriteLog() assert.NoError(t, err) - n, err = wld.Read(make([]byte, 8)) - assert.Equal(t, 0, n) - assert.Equal(t, io.EOF, err) + assert.Nil(t, wld) err = mgr.Lock() assert.NoError(t, err) wld, err = mgr.LoadWriteLog() assert.NoError(t, err) - n, err = wld.Read(make([]byte, 8)) - assert.Equal(t, 0, n) - assert.Equal(t, io.EOF, err) + assert.Nil(t, wld) // append some data err = mgr.Append([]byte("blahblah")) assert.NoError(t, err) + // a new ManagerManager is necessary so we get a new Manager with + // new internal state instead of a cached Manager. mm2 := NewManagerManager(sn, wl, logger.NewStandardLogger(os.Stderr)) // get second manager for same stuff mgr2 := mm2.GetShardManager(qtid, dax.PartitionNum(1), dax.ShardNum(1)) // load snapshot on 2nd manager (empty) d, err = mgr2.LoadLatestSnapshot() assert.NoError(t, err) - n, err = d.Read(make([]byte, 8)) - assert.Equal(t, 0, n) - assert.Equal(t, io.EOF, err) + assert.Nil(t, d) // load WL on 2nd manager (blahblah) wld, err = mgr2.LoadWriteLog()