code: func New(
  	domain string,
  	machines []string,
  	options map[string]string,
  	fatalErrorCb kvdb.FatalErrorCB,
  ) (kvdb.Kvdb, error) {
  	if domain != "" && !strings.HasSuffix(domain, "/") {
  		domain = domain + "/"
  	}
  
  	logrus.Infof("Initializing a new internal KVDB client with domain %v and pairs %v",
  		domain,
  		machines,
  	)
  
  	path := dbPath
  	if p, ok := options[KvSnap]; ok {
  		path = p
  		logrus.Infof("Creating a new Bolt KVDB using snapshot path %v", path)
  	} else {
  		logrus.Infof("Creating a new Bolt KVDB using path %v", path)
  	}
  
  	handle, err := bolt.Open(
  		path,
  		0777,
  		nil,
  		// &bolt.Options{Timeout: 1 * time.Second},
  	)
  	if err != nil {
  		logrus.Fatalf("Could not open internal KVDB: %v", err)
  		return nil, err
  	}
  
  	tx, err := handle.Begin(true)
  	if err != nil {
  		logrus.Fatalf("Could not open KVDB transaction: %v", err)
  		return nil, err
  	}
  	defer tx.Rollback()
  
  	if _, err = tx.CreateBucketIfNotExists(pxBucket); err != nil {
  		logrus.Fatalf("Could not create default KVDB bucket: %v", err)
  		return nil, err
  	}
  
  	if err = tx.Commit(); err != nil {
  		logrus.Fatalf("Could not commit default KVDB bucket: %v", err)
  		return nil, err
  	}
  
  	kv := &boltKV{
  		BaseKvdb:   common.BaseKvdb{FatalCb: fatalErrorCb},
  		db:         handle,
  		dist:       NewWatchDistributor(),
  		domain:     domain,
  		Controller: kvdb.ControllerNotSupported,
  		locks:      make(map[string]chan int),
  	}
  
  	return kv, nil
  }
docs: // New constructs a new kvdb.Kvdb.