Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export functions from Key Registry #1561

Merged
merged 3 commits into from
Oct 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion db.go
Original file line number Diff line number Diff line change
Expand Up @@ -1000,7 +1000,7 @@ func (db *DB) handleFlushTask(ft flushTask) error {
return nil
}

dk, err := db.registry.latestDataKey()
dk, err := db.registry.LatestDataKey()
if err != nil {
return y.Wrapf(err, "failed to get datakey in db.handleFlushTask")
}
Expand Down
8 changes: 4 additions & 4 deletions key_registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -294,8 +294,8 @@ func WriteKeyRegistry(reg *KeyRegistry, opt KeyRegistryOptions) error {
return syncDir(opt.Dir)
}

// dataKey returns datakey of the given key id.
func (kr *KeyRegistry) dataKey(id uint64) (*pb.DataKey, error) {
// DataKey returns datakey of the given key id.
func (kr *KeyRegistry) DataKey(id uint64) (*pb.DataKey, error) {
kr.RLock()
defer kr.RUnlock()
if id == 0 {
Expand All @@ -309,10 +309,10 @@ func (kr *KeyRegistry) dataKey(id uint64) (*pb.DataKey, error) {
return dk, nil
}

// latestDataKey will give you the latest generated datakey based on the rotation
// LatestDataKey will give you the latest generated datakey based on the rotation
// period. If the last generated datakey lifetime exceeds the rotation period.
// It'll create new datakey.
func (kr *KeyRegistry) latestDataKey() (*pb.DataKey, error) {
func (kr *KeyRegistry) LatestDataKey() (*pb.DataKey, error) {
if len(kr.opt.EncryptionKey) == 0 {
// nil is for no encryption.
return nil, nil
Expand Down
16 changes: 8 additions & 8 deletions key_registry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ func TestBuildRegistry(t *testing.T) {

kr, err := OpenKeyRegistry(opt)
require.NoError(t, err)
dk, err := kr.latestDataKey()
dk, err := kr.LatestDataKey()
require.NoError(t, err)
// We're resetting the last created timestamp. So, it creates
// new datakey.
kr.lastCreated = 0
dk1, err := kr.latestDataKey()
dk1, err := kr.LatestDataKey()
// We generated two key. So, checking the length.
require.Equal(t, 2, len(kr.dataKeys))
require.NoError(t, err)
Expand All @@ -72,12 +72,12 @@ func TestRewriteRegistry(t *testing.T) {
opt := getRegistryTestOptions(dir, encryptionKey)
kr, err := OpenKeyRegistry(opt)
require.NoError(t, err)
_, err = kr.latestDataKey()
_, err = kr.LatestDataKey()
require.NoError(t, err)
// We're resetting the last created timestamp. So, it creates
// new datakey.
kr.lastCreated = 0
_, err = kr.latestDataKey()
_, err = kr.LatestDataKey()
require.NoError(t, err)
require.NoError(t, kr.Close())
delete(kr.dataKeys, 1)
Expand Down Expand Up @@ -123,14 +123,14 @@ func TestEncryptionAndDecryption(t *testing.T) {
opt := getRegistryTestOptions(dir, encryptionKey)
kr, err := OpenKeyRegistry(opt)
require.NoError(t, err)
dk, err := kr.latestDataKey()
dk, err := kr.LatestDataKey()
require.NoError(t, err)
require.NoError(t, kr.Close())
// Checking the correctness of the datakey after closing and
// opening the key registry.
kr, err = OpenKeyRegistry(opt)
require.NoError(t, err)
dk1, err := kr.dataKey(dk.GetKeyId())
dk1, err := kr.DataKey(dk.GetKeyId())
require.NoError(t, err)
require.Equal(t, dk.Data, dk1.Data)
require.NoError(t, kr.Close())
Expand All @@ -146,12 +146,12 @@ func TestKeyRegistryInMemory(t *testing.T) {

kr, err := OpenKeyRegistry(opt)
require.NoError(t, err)
_, err = kr.latestDataKey()
_, err = kr.LatestDataKey()
require.NoError(t, err)
// We're resetting the last created timestamp. So, it creates
// new datakey.
kr.lastCreated = 0
_, err = kr.latestDataKey()
_, err = kr.LatestDataKey()
// We generated two key. So, checking the length.
require.Equal(t, 2, len(kr.dataKeys))
require.NoError(t, err)
Expand Down
4 changes: 2 additions & 2 deletions levels.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func newLevelsController(db *DB, mf *Manifest) (*levelsController, error) {
throttle.Done(rerr)
atomic.AddInt32(&numOpened, 1)
}()
dk, err := db.registry.dataKey(tf.KeyID)
dk, err := db.registry.DataKey(tf.KeyID)
if err != nil {
rerr = y.Wrapf(err, "Error while reading datakey")
return
Expand Down Expand Up @@ -552,7 +552,7 @@ nextTable:
inflightBuilders := y.NewThrottle(5)
for it.Valid() {
timeStart := time.Now()
dk, err := s.kv.registry.latestDataKey()
dk, err := s.kv.registry.LatestDataKey()
if err != nil {
return nil, nil,
y.Wrapf(err, "Error while retrieving datakey in levelsController.compactBuildTables")
Expand Down
4 changes: 2 additions & 2 deletions memtable.go
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ func (lf *logFile) open(path string, flags int, opt Options) error {
"Unable to copy from %s, size %d", path, lf.size)
keyID := binary.BigEndian.Uint64(buf[:8])
// retrieve datakey.
if dk, err := lf.registry.dataKey(keyID); err != nil {
if dk, err := lf.registry.DataKey(keyID); err != nil {
return y.Wrapf(err, "While opening vlog file %d", lf.fid)
} else {
lf.dataKey = dk
Expand All @@ -587,7 +587,7 @@ func (lf *logFile) bootstrap() error {

// generate data key for the log file.
var dk *pb.DataKey
if dk, err = lf.registry.latestDataKey(); err != nil {
if dk, err = lf.registry.LatestDataKey(); err != nil {
return y.Wrapf(err, "Error while retrieving datakey in logFile.bootstarp")
}
lf.dataKey = dk
Expand Down
4 changes: 2 additions & 2 deletions stream_writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ type sortedWriter struct {
}

func (sw *StreamWriter) newWriter(streamID uint32) (*sortedWriter, error) {
dk, err := sw.db.registry.latestDataKey()
dk, err := sw.db.registry.LatestDataKey()
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -351,7 +351,7 @@ func (w *sortedWriter) send(done bool) error {
return nil
}

dk, err := w.db.registry.latestDataKey()
dk, err := w.db.registry.LatestDataKey()
if err != nil {
return y.Wrapf(err, "Error while retriving datakey in sortedWriter.send")
}
Expand Down