Skip to content

Commit

Permalink
Export functions from Key Registry (#1561)
Browse files Browse the repository at this point in the history
Export some of the functions from key registry which are to be used
by dgraph for the encryption of raftwal.
  • Loading branch information
ahsanbarkati authored Oct 13, 2020
1 parent ea932a8 commit 928087d
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 19 deletions.
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

0 comments on commit 928087d

Please sign in to comment.