mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-01-11 03:11:50 +00:00
apply PR feedback
This commit is contained in:
2
Makefile
2
Makefile
@@ -73,7 +73,7 @@ docker-test: install
|
||||
test:
|
||||
test -d /srv/etcd || system/t13_etcd/install-etcd.sh
|
||||
system/t13_etcd/start-etcd.sh &
|
||||
echo Running go test
|
||||
@echo Running go test
|
||||
go test -v ./... -gocheck.v=true -coverprofile=unit.out
|
||||
kill `cat /tmp/etcd.pid`
|
||||
|
||||
|
||||
@@ -289,20 +289,18 @@ func (context *AptlyContext) Database() (database.Storage, error) {
|
||||
func (context *AptlyContext) _database() (database.Storage, error) {
|
||||
if context.database == nil {
|
||||
var err error
|
||||
|
||||
if context.config().DatabaseBackend.Type == "etcd" {
|
||||
context.database, err = etcddb.NewDB(context.config().DatabaseBackend.URL)
|
||||
} else if context.config().DatabaseBackend.Type == "leveldb" {
|
||||
if context.config().DatabaseBackend.DbPath != "" {
|
||||
dbPath := filepath.Join(context.config().RootDir, context.config().DatabaseBackend.DbPath)
|
||||
context.database, err = goleveldb.NewDB(dbPath)
|
||||
} else {
|
||||
switch context.config().DatabaseBackend.Type {
|
||||
case "leveldb":
|
||||
if len(context.config().DatabaseBackend.DbPath) == 0 {
|
||||
return nil, errors.New("leveldb databaseBackend config invalid")
|
||||
}
|
||||
} else {
|
||||
dbPath := filepath.Join(context.config().RootDir, context.config().DatabaseBackend.DbPath)
|
||||
context.database, err = goleveldb.NewDB(dbPath)
|
||||
case "etcd":
|
||||
context.database, err = etcddb.NewDB(context.config().DatabaseBackend.URL)
|
||||
default:
|
||||
context.database, err = goleveldb.NewDB(context.dbPath())
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't instantiate database: %s", err)
|
||||
}
|
||||
|
||||
@@ -10,21 +10,17 @@ import (
|
||||
|
||||
var Ctx = context.TODO()
|
||||
|
||||
func internalOpen(url string) (*clientv3.Client, error) {
|
||||
func internalOpen(url string) (cli *clientv3.Client, err error) {
|
||||
cfg := clientv3.Config{
|
||||
Endpoints: []string{url},
|
||||
DialTimeout: 30 * time.Second,
|
||||
MaxCallSendMsgSize: (2048 * 1024 * 1024) - 1,
|
||||
MaxCallRecvMsgSize: (2048 * 1024 * 1024) - 1,
|
||||
MaxCallSendMsgSize: 2147483647, // (2048 * 1024 * 1024) - 1
|
||||
MaxCallRecvMsgSize: 2147483647,
|
||||
DialKeepAliveTimeout: 7200 * time.Second,
|
||||
}
|
||||
|
||||
cli, err := clientv3.New(cfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return cli, nil
|
||||
cli, err = clientv3.New(cfg)
|
||||
return
|
||||
}
|
||||
|
||||
func NewDB(url string) (database.Storage, error) {
|
||||
@@ -34,12 +30,3 @@ func NewDB(url string) (database.Storage, error) {
|
||||
}
|
||||
return &EtcDStorage{url, cli, ""}, nil
|
||||
}
|
||||
|
||||
func NewOpenDB(url string) (database.Storage, error) {
|
||||
db, err := NewDB(url)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
@@ -22,13 +22,13 @@ var _ = Suite(&EtcDDBSuite{})
|
||||
|
||||
func (s *EtcDDBSuite) SetUpTest(c *C) {
|
||||
var err error
|
||||
s.db, err = etcddb.NewOpenDB("127.0.0.1:2379")
|
||||
s.db, err = etcddb.NewDB("127.0.0.1:2379")
|
||||
c.Assert(err, IsNil)
|
||||
}
|
||||
|
||||
func (s *EtcDDBSuite) TestSetUpTest(c *C) {
|
||||
var err error
|
||||
s.db, err = etcddb.NewOpenDB("127.0.0.1:2379")
|
||||
s.db, err = etcddb.NewDB("127.0.0.1:2379")
|
||||
c.Assert(err, IsNil)
|
||||
}
|
||||
|
||||
@@ -155,3 +155,4 @@ func (s *EtcDDBSuite) TestTransactionCommit(c *C) {
|
||||
_, err = transaction.Get(key)
|
||||
c.Assert(err, NotNil)
|
||||
}
|
||||
|
||||
|
||||
@@ -33,8 +33,8 @@ func (s *EtcDStorage) applyPrefix(key []byte) []byte {
|
||||
|
||||
// Get key value from etcd
|
||||
func (s *EtcDStorage) Get(key []byte) (value []byte, err error) {
|
||||
key = s.applyPrefix(key)
|
||||
getResp, err := s.db.Get(Ctx, string(key))
|
||||
realKey := s.applyPrefix(key)
|
||||
getResp, err := s.db.Get(Ctx, string(realKey))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@@ -51,8 +51,8 @@ func (s *EtcDStorage) Get(key []byte) (value []byte, err error) {
|
||||
|
||||
// Put saves key to etcd, if key has the same value in DB already, it is not saved
|
||||
func (s *EtcDStorage) Put(key []byte, value []byte) (err error) {
|
||||
key = s.applyPrefix(key)
|
||||
_, err = s.db.Put(Ctx, string(key), string(value))
|
||||
realKey := s.applyPrefix(key)
|
||||
_, err = s.db.Put(Ctx, string(realKey), string(value))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@@ -61,8 +61,8 @@ func (s *EtcDStorage) Put(key []byte, value []byte) (err error) {
|
||||
|
||||
// Delete removes key from etcd
|
||||
func (s *EtcDStorage) Delete(key []byte) (err error) {
|
||||
key = s.applyPrefix(key)
|
||||
_, err = s.db.Delete(Ctx, string(key))
|
||||
realKey := s.applyPrefix(key)
|
||||
_, err = s.db.Delete(Ctx, string(realKey))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@@ -71,9 +71,9 @@ func (s *EtcDStorage) Delete(key []byte) (err error) {
|
||||
|
||||
// KeysByPrefix returns all keys that start with prefix
|
||||
func (s *EtcDStorage) KeysByPrefix(prefix []byte) [][]byte {
|
||||
prefix = s.applyPrefix(prefix)
|
||||
realPrefix := s.applyPrefix(prefix)
|
||||
result := make([][]byte, 0, 20)
|
||||
getResp, err := s.db.Get(Ctx, string(prefix), clientv3.WithPrefix())
|
||||
getResp, err := s.db.Get(Ctx, string(realPrefix), clientv3.WithPrefix())
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
@@ -88,9 +88,9 @@ func (s *EtcDStorage) KeysByPrefix(prefix []byte) [][]byte {
|
||||
|
||||
// FetchByPrefix returns all values with keys that start with prefix
|
||||
func (s *EtcDStorage) FetchByPrefix(prefix []byte) [][]byte {
|
||||
prefix = s.applyPrefix(prefix)
|
||||
realPrefix := s.applyPrefix(prefix)
|
||||
result := make([][]byte, 0, 20)
|
||||
getResp, err := s.db.Get(Ctx, string(prefix), clientv3.WithPrefix())
|
||||
getResp, err := s.db.Get(Ctx, string(realPrefix), clientv3.WithPrefix())
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
@@ -105,22 +105,19 @@ func (s *EtcDStorage) FetchByPrefix(prefix []byte) [][]byte {
|
||||
|
||||
// HasPrefix checks whether it can find any key with given prefix and returns true if one exists
|
||||
func (s *EtcDStorage) HasPrefix(prefix []byte) bool {
|
||||
prefix = s.applyPrefix(prefix)
|
||||
getResp, err := s.db.Get(Ctx, string(prefix), clientv3.WithPrefix())
|
||||
realPrefix := s.applyPrefix(prefix)
|
||||
getResp, err := s.db.Get(Ctx, string(realPrefix), clientv3.WithPrefix())
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
if getResp.Count != 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
return getResp.Count > 0
|
||||
}
|
||||
|
||||
// ProcessByPrefix iterates through all entries where key starts with prefix and calls
|
||||
// StorageProcessor on key value pair
|
||||
func (s *EtcDStorage) ProcessByPrefix(prefix []byte, proc database.StorageProcessor) error {
|
||||
prefix = s.applyPrefix(prefix)
|
||||
getResp, err := s.db.Get(Ctx, string(prefix), clientv3.WithPrefix())
|
||||
realPrefix := s.applyPrefix(prefix)
|
||||
getResp, err := s.db.Get(Ctx, string(realPrefix), clientv3.WithPrefix())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user