Updating iodine to support new iodine.Error(error, map[string]string) error method

This commit is contained in:
Frederick F. Kautz IV
2015-03-25 19:12:39 -07:00
parent 68f36f5e08
commit 40e311a919
9 changed files with 119 additions and 90 deletions

View File

@@ -46,13 +46,11 @@ func Start(path string) (chan<- string, <-chan error, drivers.Driver) {
s := new(donutDriver)
// TODO donut driver should be passed in as Start param and driven by config
var err *iodine.Error
var err error
s.donut, err = donut.NewDonut(path)
err = iodine.Error(err, map[string]string{"path": path})
if err != nil {
err = err.Annotate(map[string]string{"path": path})
if err != nil {
log.Println(err.EmitHumanReadable())
}
log.Println(err)
}
go start(ctrlChannel, errorChannel, s)

View File

@@ -110,8 +110,8 @@ func getHTTPChannels(configs []Config) (ctrlChans []chan<- string, statusChans [
}
default:
{
err := iodine.New(errors.New("Invalid API type"), nil)
log.Fatal(err.EmitHumanReadable())
err := iodine.Error(errors.New("Invalid API type"), nil)
log.Fatal(err)
}
}
}
@@ -142,7 +142,7 @@ func getDriverChannels(driverType DriverType) (ctrlChans []chan<- string, status
{
u, err := user.Current()
if err != nil {
log.Errorln(iodine.New(err, nil).EmitHumanReadable())
log.Errorln(iodine.Error(err, nil))
return nil, nil, nil
}
root := path.Join(u.HomeDir, "minio-storage", "file")
@@ -154,7 +154,7 @@ func getDriverChannels(driverType DriverType) (ctrlChans []chan<- string, status
{
u, err := user.Current()
if err != nil {
log.Errorln(iodine.New(err, nil).EmitHumanReadable())
log.Errorln(iodine.Error(err, nil))
return nil, nil, nil
}
root := path.Join(u.HomeDir, "minio-driver", "donut")
@@ -164,8 +164,7 @@ func getDriverChannels(driverType DriverType) (ctrlChans []chan<- string, status
}
default: // should never happen
{
err := iodine.New(errors.New("No driver found"), nil)
log.Fatal(err.EmitHumanReadable())
log.Fatal(iodine.Error(errors.New("No driver found"), nil))
}
}
return

View File

@@ -13,7 +13,7 @@ type donutBucket struct {
}
// GetNodes - get list of associated nodes for a given bucket
func (b donutBucket) GetNodes() ([]string, *iodine.Error) {
func (b donutBucket) GetNodes() ([]string, error) {
var nodes []string
for _, node := range b.nodes {
nodes = append(nodes, node)
@@ -21,17 +21,22 @@ func (b donutBucket) GetNodes() ([]string, *iodine.Error) {
return nodes, nil
}
func (b donutBucket) AddNode(nodeID, bucketID string) *iodine.Error {
// AddNode - adds a node to a bucket
func (b donutBucket) AddNode(nodeID, bucketID string) error {
tokens := strings.Split(bucketID, ":")
if len(tokens) != 3 {
return iodine.New(errors.New("Bucket ID malformed: "+bucketID), map[string]string{"nodeID": nodeID, "bucketID": bucketID})
var err error
err = iodine.Error(nil, nil)
return err
// return iodine.Error(errors.New("Bucket ID malformed: "+bucketID), map[string]string{"nodeID": nodeID, "bucketID": bucketID})
}
// bucketName := tokens[0]
// aggregate := tokens[1]
// aggregate := "0"
part, err := strconv.Atoi(tokens[2])
if err != nil {
return iodine.New(errors.New("Part malformed: "+tokens[2]), map[string]string{"nodeID": nodeID, "bucketID": bucketID})
return iodine.Error(errors.New("Part malformed: "+tokens[2]), map[string]string{"nodeID": nodeID, "bucketID": bucketID})
}
b.nodes[part] = nodeID
return nil

View File

@@ -16,7 +16,7 @@ type donut struct {
}
// NewDonut - instantiate new donut driver
func NewDonut(root string) (Donut, *iodine.Error) {
func NewDonut(root string) (Donut, error) {
nodes := make(map[string]Node)
nodes["localhost"] = &localDirectoryNode{root: root}
driver := &donut{
@@ -26,7 +26,7 @@ func NewDonut(root string) (Donut, *iodine.Error) {
for nodeID, node := range nodes {
bucketIDs, err := node.GetBuckets()
if err != nil {
return nil, iodine.New(err, map[string]string{"root": root})
return nil, iodine.Error(err, map[string]string{"root": root})
}
for _, bucketID := range bucketIDs {
tokens := strings.Split(bucketID, ":")
@@ -38,7 +38,7 @@ func NewDonut(root string) (Donut, *iodine.Error) {
driver.buckets[tokens[0]] = bucket
}
if err = driver.buckets[tokens[0]].AddNode(nodeID, bucketID); err != nil {
return nil, iodine.New(err, map[string]string{"root": root})
return nil, iodine.Error(err, map[string]string{"root": root})
}
}
}

View File

@@ -1,7 +1,6 @@
package donut
import (
"github.com/minio-io/iodine"
"io"
)
@@ -19,8 +18,8 @@ type Donut interface {
// Bucket interface
type Bucket interface {
GetNodes() ([]string, *iodine.Error)
AddNode(nodeID, bucketID string) *iodine.Error
GetNodes() ([]string, error)
AddNode(nodeID, bucketID string) error
}
// Node interface