From 641832ae1080cd525881332ce1e83a24e92b4295 Mon Sep 17 00:00:00 2001 From: Linh Vo Date: Tue, 7 Mar 2017 21:48:59 -0600 Subject: [PATCH 1/2] skip error when open invalid db/frame name --- index.go | 7 ++++++- pilosa.go | 9 ++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/index.go b/index.go index ee4710037..663aa46b5 100644 --- a/index.go +++ b/index.go @@ -80,9 +80,14 @@ func (i *Index) Open() error { db, err := i.newDB(i.DBPath(filepath.Base(fi.Name())), filepath.Base(fi.Name())) if err != nil { - return ErrName + i.logger().Printf("ERROR opening database: %s, err=%s", fi.Name(), err) + continue } if err := db.Open(); err != nil { + if err == ErrName { + i.logger().Printf("ERROR opening database: %s, err=%s", db.Name(), err) + continue + } return fmt.Errorf("open db: name=%s, err=%s", db.Name(), err) } i.dbs[db.Name()] = db diff --git a/pilosa.go b/pilosa.go index b3620a900..e17178bf7 100644 --- a/pilosa.go +++ b/pilosa.go @@ -15,12 +15,12 @@ var ( ErrDatabaseExists = errors.New("database already exists") ErrDatabaseNotFound = errors.New("database not found") + // ErrFrameRequired is returned when no frame is specified. ErrFrameRequired = errors.New("frame required") ErrFrameExists = errors.New("frame already exists") ErrFrameNotFound = errors.New("frame not found") - // ErrFrameRequired is returned when no frame is specified. - ErrName = errors.New("name restricted to [a-z0-9_-]") + ErrName = errors.New("invalid database or frame's name, must match [a-z0-9_-]") // ErrFragmentNotFound is returned when a fragment does not exist. ErrFragmentNotFound = errors.New("fragment not found") @@ -84,12 +84,11 @@ func decodeProfile(pb *internal.Profile) *Profile { // TimeFormat is the go-style time format used to parse string dates. const TimeFormat = "2006-01-02T15:04" - // Restrict name using regex func ValidateName(name string) error { validName := nameRegexp.Match([]byte(name)) - if validName == false{ + if validName == false { return ErrName } return nil -} \ No newline at end of file +} From 40b119269263e099ed60aa4eea458c295631ccf7 Mon Sep 17 00:00:00 2001 From: Linh Vo Date: Wed, 8 Mar 2017 22:11:52 -0600 Subject: [PATCH 2/2] fix comment --- index.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.go b/index.go index 663aa46b5..07d13a030 100644 --- a/index.go +++ b/index.go @@ -79,9 +79,11 @@ func (i *Index) Open() error { i.logger().Printf("opening database: %s", filepath.Base(fi.Name())) db, err := i.newDB(i.DBPath(filepath.Base(fi.Name())), filepath.Base(fi.Name())) - if err != nil { + if err == ErrName { i.logger().Printf("ERROR opening database: %s, err=%s", fi.Name(), err) continue + } else if err != nil { + return err } if err := db.Open(); err != nil { if err == ErrName {