mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-10-08 03:47:51 +00:00
* Database isolation: Balancer
Remove naive Balancer
remove debugging lines
Thread dax.Transaction through Controller
Change role to roleType
Swap out Balancer interface with new one
Standardize InvalidTransaction error
Add some interface comments
* Remove type.Worker; replace with type.Address
* Remove database validate from Queryer
This is already being handled in the `CreateTable()` method. Prior
to doing that validation, we were getting a panic, but that's no longer
the case.
* Remove dax.TableQualifier; replace with dax.QualifiedDatabaseID
* Update IDK test to create database
(cherry picked from commit d971cfc269)
36 lines
1 KiB
Go
36 lines
1 KiB
Go
package controller
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/featurebasedb/featurebase/v3/dax/boltdb"
|
|
"github.com/featurebasedb/featurebase/v3/dax/mds/schemar"
|
|
"github.com/featurebasedb/featurebase/v3/logger"
|
|
)
|
|
|
|
type NewBalancerFn func(string, logger.Logger) Balancer
|
|
|
|
type Config struct {
|
|
Director Director
|
|
Schemar schemar.Schemar
|
|
|
|
Balancer Balancer
|
|
|
|
StorageMethod string
|
|
BoltDB *boltdb.DB
|
|
|
|
// RegistrationBatchTimeout is the time that the controller will
|
|
// wait after a node registers itself to see if any more nodes
|
|
// will register before sending out directives to all nodes which
|
|
// have been registered.
|
|
RegistrationBatchTimeout time.Duration
|
|
|
|
// SnappingTurtleTimeout is the period on which the automatic
|
|
// snapshotting routine will run. If performing all the snapshots
|
|
// takes longer than this amount of time, snapshotting will run
|
|
// continuously. If it finishes before the timeout, it will wait
|
|
// until the timeout expires to start another round of snapshots.
|
|
SnappingTurtleTimeout time.Duration
|
|
|
|
Logger logger.Logger
|
|
}
|