...

Source file src/edge-infra.dev/pkg/edge/datasync/apis/v1alpha1/IOQueue.go

Documentation: edge-infra.dev/pkg/edge/datasync/apis/v1alpha1

     1  package v1alpha1
     2  
     3  // IOQConfig config from https://docs.couchdb.org/en/stable/config/ioq.html
     4  type IOQConfig struct {
     5  	// Specifies the maximum number of concurrent in-flight IO requests that the queueing system will submit:
     6  	Concurrency *int `json:"concurrency,omitempty" ini:"concurrency,omitempty"`
     7  	// The fraction of the time that a background IO request will be selected over an interactive IO request when both queues are non-empty:
     8  	Ratio *float32 `json:"ratio,omitempty" ini:"ratio,omitempty"`
     9  
    10  	// Bypass ioq bypass config belows
    11  	Bypass *IOQBypassConfig `json:"bypass,omitempty" ini:"ioq.bypass,omitempty"`
    12  }
    13  
    14  // IOQBypassConfig System administrators can choose to submit specific classes of IO directly
    15  // to the underlying file descriptor or OS process, bypassing the queues altogether.
    16  // Installing a bypass can yield higher throughput and lower latency, but relinquishes some control over prioritization.
    17  type IOQBypassConfig struct {
    18  	// Messages on their way to an external process (e.g., couchjs).
    19  	OSProcess *bool `json:"osProcess,omitempty" ini:"os_process,omitempty"`
    20  
    21  	// Disk IO fulfilling interactive read requests.
    22  	Read *bool `json:"read,omitempty" ini:"read,omitempty"`
    23  
    24  	// Disk IO required to update a database.
    25  	Write *bool `json:"write,omitempty" ini:"write,omitempty"`
    26  
    27  	// Disk IO required to update views and other secondary indexes.
    28  	ViewUpdate *bool `json:"viewUpdate,omitempty" ini:"view_update,omitempty"`
    29  
    30  	// Disk IO issued by the background replication processes that fix any inconsistencies between shard copies.
    31  	ShardSync *bool `json:"shardSync,omitempty" ini:"shard_sync,omitempty"`
    32  
    33  	// Disk IO issued by compaction jobs.
    34  	Compaction *bool `json:"compaction,omitempty" ini:"compaction,omitempty"`
    35  
    36  	// Disk IO issued by resharding jobs.
    37  	Reshard *bool `json:"reshard,omitempty" ini:"reshard,omitempty"`
    38  }
    39  

View as plain text