chyt

package
v0.0.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 21, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CHYTBinaryDirectory       = ypath.Path("//sys/bin/ytserver-clickhouse")
	TrampolineBinaryDirectory = ypath.Path("//sys/bin/clickhouse-trampoline")
)
View Source
const (
	DefaultDiscoveryV1Path = ypath.Path("//sys/clickhouse/cliques")
	YTClickHouseUser       = "yt-clickhouse"
	CHYTSQLObjectsUser     = "chyt-sql-objects"
)
View Source
const (
	DefaultEnableYandexSpecificLinks = false
	DefaultExportSystemLogTables     = false
	DefaultEnableGeodata             = false
)
View Source
const (
	DefaultCHYTVersion       = "ytserver-clickhouse"
	DefaultTrampolineVersion = "clickhouse-trampoline"

	DefaultGeodataPath = ypath.Path("//sys/clickhouse/geodata/geodata.tgz")

	DefaultRuntimeDataPath = ypath.Path("//sys/clickhouse/kolkhoz")
)

Variables

This section is empty.

Functions

func NewClusterInitializer

func NewClusterInitializer(l log.Logger, ytc yt.Client, root ypath.Path) strawberry.ClusterInitializer

func NewController

func NewController(l log.Logger, ytc yt.Client, root ypath.Path, cluster string, rawConfig yson.RawValue) strawberry.Controller

Types

type ClusterInitializer

type ClusterInitializer struct {
	// contains filtered or unexported fields
}

func (*ClusterInitializer) ACONamespace

func (initializer *ClusterInitializer) ACONamespace() string

func (*ClusterInitializer) InitializeCluster

func (initializer *ClusterInitializer) InitializeCluster() error

type Config

type Config struct {
	// LocalBinariesDir is set if we want to execute local binaries on the clique.
	// This directory should contain trampoline and chyt binaries.
	LocalBinariesDir          *string              `yson:"local_binaries_dir"`
	LogRotationMode           *LogRotationModeType `yson:"log_rotation_mode"`
	AddressResolver           map[string]any       `yson:"address_resolver"`
	EnableYandexSpecificLinks *bool                `yson:"enable_yandex_specific_links"`
	ExportSystemLogTables     *bool                `yson:"export_system_log_tables"`
	EnableGeodata             *bool                `yson:"enable_geodata"`
}

func (*Config) EnableGeodataOrDefault added in v0.0.12

func (c *Config) EnableGeodataOrDefault() bool

func (*Config) EnableYandexSpecificLinksOrDefault added in v0.0.2

func (c *Config) EnableYandexSpecificLinksOrDefault() bool

func (*Config) ExportSystemLogTablesOrDefault added in v0.0.12

func (c *Config) ExportSystemLogTablesOrDefault() bool

func (*Config) LogRotationModeOrDefault added in v0.0.4

func (c *Config) LogRotationModeOrDefault() LogRotationModeType

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

func (*Controller) DescribeOptions added in v0.0.4

func (c *Controller) DescribeOptions(parsedSpeclet any) []strawberry.OptionGroupDescriptor

func (*Controller) Family

func (c *Controller) Family() string

func (*Controller) GetOpBriefAttributes added in v0.0.4

func (c *Controller) GetOpBriefAttributes(parsedSpeclet any) map[string]any

func (*Controller) ParseSpeclet

func (c *Controller) ParseSpeclet(specletYson yson.RawValue) (any, error)

func (*Controller) Prepare

func (c *Controller) Prepare(ctx context.Context, oplet *strawberry.Oplet) (
	spec map[string]any, description map[string]any, annotations map[string]any, err error)

func (*Controller) Root added in v0.0.4

func (c *Controller) Root() ypath.Path

func (*Controller) UpdateState added in v0.0.3

func (c *Controller) UpdateState() (changed bool, err error)

type InstanceMemory

type InstanceMemory struct {
	ClickHouse     *uint64 `yson:"clickhouse" json:"clickhouse"`
	ChunkMetaCache *uint64 `yson:"chunk_meta_cache" json:"chunk_meta_cache"`
	// NOTE(dakovalkov): compressed and uncompressed block caches misses "block" in yson-name
	// for compatibility reasons.
	// TODO(dakovalkov): rename it and migrate existing configs.
	CompressedBlockCache   *uint64 `yson:"compressed_cache" json:"compressed_cache"`
	UncompressedBlockCache *uint64 `yson:"uncompressed_cache" json:"uncompressed_cache"`
	Reader                 *uint64 `yson:"reader" json:"reader"`
	// Some less useful fields.
	ClickHouseWatermark        *uint64 `yson:"clickhouse_watermark" json:"clickhouse_watermark"`
	WatchdogOOMWatermark       *uint64 `yson:"watchdog_oom_watermark" json:"watchdog_oom_watermark"`
	WatchdogOOMWindowWatermark *uint64 `yson:"watchdog_oom_window_watermark" json:"watchdog_oom_window_watermark"`
	Footprint                  *uint64 `yson:"footprint" json:"footprint"`
}

func (*InstanceMemory) ChunkMetaCacheOrDefault

func (mem *InstanceMemory) ChunkMetaCacheOrDefault() uint64

func (*InstanceMemory) ClickHouseOrDefault

func (mem *InstanceMemory) ClickHouseOrDefault() uint64

func (*InstanceMemory) ClickHouseWatermarkOrDefault

func (mem *InstanceMemory) ClickHouseWatermarkOrDefault() uint64

func (*InstanceMemory) CompressedBlockCacheOrDefault

func (mem *InstanceMemory) CompressedBlockCacheOrDefault() uint64

func (*InstanceMemory) FootprintOrDefault

func (mem *InstanceMemory) FootprintOrDefault() uint64

func (*InstanceMemory) ReaderOrDefault

func (mem *InstanceMemory) ReaderOrDefault() uint64

func (*InstanceMemory) UncompressedBlockCacheOrDefault

func (mem *InstanceMemory) UncompressedBlockCacheOrDefault() uint64

func (*InstanceMemory) WatchdogOOMWatermarkOrDefault

func (mem *InstanceMemory) WatchdogOOMWatermarkOrDefault() uint64

func (*InstanceMemory) WatchdogOOMWindowWatermarkOrDefault

func (mem *InstanceMemory) WatchdogOOMWindowWatermarkOrDefault() uint64

type LogRotationModeType added in v0.0.4

type LogRotationModeType string
const (
	LogRotationModeDisabled LogRotationModeType = "disabled"
	LogRotationModeBuiltin  LogRotationModeType = "builtin"

	DefaultLogRotationMode = LogRotationModeBuiltin
)

type Resources

type Resources struct {
	// CliqueCPU and CliqueMemory are shorthands for those who wants
	// to throw some resources into clique and not think about actual
	// instance configuration.
	CliqueCPU    *uint64 `yson:"clique_cpu"`
	CliqueMemory *uint64 `yson:"clique_memory"`

	InstanceCount *uint64 `yson:"instance_count"`

	InstanceCPU *uint64 `yson:"instance_cpu"`

	// InstanceTotalMemory is a total instance memory; should not be less than
	// memNonElastic. If set, all additive memory parts are
	// scaled to fit into given total memory.
	InstanceTotalMemory *uint64 `yson:"instance_total_memory"`

	// InstanceMemory is the most detailed way to specify memory.
	InstanceMemory *InstanceMemory `yson:"instance_memory"`
}

type Speclet

type Speclet struct {
	Resources

	CHYTVersion       *string `yson:"chyt_version"`
	TrampolineVersion *string `yson:"trampoline_version"`

	EnableGeodata *bool       `yson:"enable_geodata"`
	GeodataPath   *ypath.Path `yson:"geodata_path"`

	// RuntimeDataPath defines where all clique table belongings reside (e.g. stderr/core-tables, log dyntables, etc).
	RuntimeDataPath *ypath.Path `yson:"runtime_data_path"`

	// QuerySettings defines default settings for queries.
	QuerySettings map[string]any `yson:"query_settings"`

	// ClickHouseConfig is a base config for ClickHouse part of CHYT. Its usage is highly discouraged.
	ClickHouseConfig map[string]any `yson:"clickhouse_config"`
	// YTConfig is a base config for YT part of CHYT. Its usage is highly discouraged.
	YTConfig map[string]any `yson:"yt_config"`

	// BuiltinLogRotationPolicy contains options for builtin log rotation.
	BuiltinLogRotationPolicy map[string]any `yson:"builtin_log_rotation_policy"`

	ExportSystemLogTables *bool `yson:"export_system_log_tables"`
}

func (*Speclet) CHYTVersionOrDefault

func (speclet *Speclet) CHYTVersionOrDefault() string

func (*Speclet) EnableGeodataOrDefault added in v0.0.12

func (speclet *Speclet) EnableGeodataOrDefault(defaultValue bool) bool

func (*Speclet) ExportSystemLogTablesOrDefault added in v0.0.12

func (speclet *Speclet) ExportSystemLogTablesOrDefault(defaultValue bool) bool

func (*Speclet) GeodataPathOrDefault added in v0.0.12

func (speclet *Speclet) GeodataPathOrDefault() ypath.Path

func (*Speclet) RuntimeDataPathOrDefault

func (speclet *Speclet) RuntimeDataPathOrDefault() ypath.Path

func (*Speclet) TrampolineVersionOrDefault

func (speclet *Speclet) TrampolineVersionOrDefault() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL