mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-06 16:45:55 +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
36 lines
1 KiB
Go
36 lines
1 KiB
Go
package controller
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/molecula/featurebase/v3/dax/boltdb"
|
|
"github.com/molecula/featurebase/v3/dax/mds/schemar"
|
|
"github.com/molecula/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
|
|
}
|