Documentation
¶
Overview ¶
Copyright (c) 2017-2018 Uber Technologies, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (c) 2017-2018 Uber Technologies, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (c) 2017-2018 Uber Technologies, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Variables
- func IsNonExist(err error) bool
- func Validate(newJobConfig, oldJobConfig *models.JobConfig) (err error)
- type EnumMutator
- type EnumReader
- type IngestionAssignmentMutator
- type JobMutator
- type MembershipMutator
- type NamespaceMutator
- type NotExist
- type SubscriberMutator
- type TableSchemaMutator
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNamespaceAlreadyExists indicates namespace already exists ErrNamespaceAlreadyExists = errors.New("Namespace already exists") // ErrInvalidJobConfig indicates job config is invalid ErrInvalidJobConfig = errors.New("Job config is invalid") // ErrIllegalJobConfigVersion indicates job config version is illegal ErrIllegalJobConfigVersion = errors.New("Job config version is illegal") // ErrJobConfigAlreadyExist indicates job config already exists ErrJobConfigAlreadyExist = errors.New("Job config already exists") // ErrIngestionAssignmentAlreadyExist indicates an ingestion assignment already exists ErrIngestionAssignmentAlreadyExist = errors.New("Ingestion assignment already exists") // ErrInstanceAlreadyExist indicates an instance already exists ErrInstanceAlreadyExist = errors.New("Instance already exists") // ErrJobConfigDoesNotExist indicates job config does not exist ErrJobConfigDoesNotExist = NotExist("Job config does not exist") // ErrIngestionAssignmentDoesNotExist indicats an assignment does not exist ErrIngestionAssignmentDoesNotExist = NotExist("Ingestion assignment does not exist") // ErrNamespaceDoesNotExist indicates namespace does not exist ErrNamespaceDoesNotExist = NotExist("Namespace does not exist") // ErrInstanceDoesNotExist indicates an instance does not exist ErrInstanceDoesNotExist = NotExist("Instance does not exist") // ErrSubscriberDoesNotExist indicates an subscriber does not exist ErrSubscriberDoesNotExist = NotExist("Subscriber does not exist") )
Functions ¶
Types ¶
type EnumMutator ¶
type EnumMutator interface {
EnumReader
// ExtendEnumCases try to extend new enum cases to given column
ExtendEnumCases(namespace, table, column string, enumCases []string) ([]int, error)
}
EnumMutator defines EnumMutator interface
type EnumReader ¶
type EnumReader interface {
// GetEnumCases get all enum cases for the given table column
GetEnumCases(namespace, table, column string) ([]string, error)
}
EnumReader reads enum cases
type IngestionAssignmentMutator ¶
type IngestionAssignmentMutator interface {
GetIngestionAssignment(namespace, name string) (IngestionAssignment models.IngestionAssignment, err error)
GetIngestionAssignments(namespace string) (IngestionAssignment []models.IngestionAssignment, err error)
DeleteIngestionAssignment(namespace, name string) error
UpdateIngestionAssignment(namespace string, IngestionAssignment models.IngestionAssignment) error
AddIngestionAssignment(namespace string, IngestionAssignment models.IngestionAssignment) error
GetHash(namespace, subscriber string) (string, error)
}
IngestionAssignmentMutator defines rw operations
type JobMutator ¶
type JobMutator interface {
GetJob(namespace, name string) (job models.JobConfig, err error)
GetJobs(namespace string) (job []models.JobConfig, err error)
DeleteJob(namespace, name string) error
UpdateJob(namespace string, job models.JobConfig) error
AddJob(namespace string, job models.JobConfig) error
GetHash(namespace string) (string, error)
}
JobMutator defines rw operations
type MembershipMutator ¶
type MembershipMutator interface {
// Join registers an instance to a namespace
Join(namespace string, instance models.Instance) error
// GetInstance returns an instance
GetInstance(namespace, instanceName string) (models.Instance, error)
// GetInstances returns a list of instances in a namespace
GetInstances(namespace string) ([]models.Instance, error)
// Leave removes an instance
Leave(namespace, instanceName string) error
// GetHash returns hash of all instances
GetHash(namespace string) (string, error)
}
MembershipMutator defines membership rw operations
type NamespaceMutator ¶
type NamespaceMutator interface {
CreateNamespace(namespace string) error
ListNamespaces() ([]string, error)
}
NamespaceMutator mutates table metadata
type SubscriberMutator ¶
type SubscriberMutator interface {
// GetSubscriber returns a subscriber
GetSubscriber(namespace, subscriberName string) (models.Subscriber, error)
// GetSubscribers returns a list of subscribers
GetSubscribers(namespace string) ([]models.Subscriber, error)
// GetHash returns hash of all subscribers
GetHash(namespace string) (string, error)
}
SubscriberMutator defines rw operations only read ops needed for now, creating and removing subscriber should be done by each subscriber process
type TableSchemaMutator ¶
type TableSchemaMutator interface {
ListTables(namespace string) ([]string, error)
GetTable(namespace, name string) (*common.Table, error)
CreateTable(namespace string, table *common.Table, force bool) error
DeleteTable(namespace, name string) error
UpdateTable(namespace string, table common.Table, force bool) error
GetHash(namespace string) (string, error)
}
TableSchemaMutator mutates table metadata