class Aerospike::ClientPolicy
Container object for client policy command.
Attributes
auth_mode[RW]
cluster_name[RW]
connection_queue_size[RW]
fail_if_not_connected[RW]
max_connections_per_node[RW]
min_connections_per_node[RW]
password[RW]
policies[RW]
rack_aware[RW]
rack_id[RW]
tend_interval[RW]
timeout[RW]
tls[RW]
user[RW]
Public Class Methods
new(opt={})
click to toggle source
# File lib/aerospike/policy/client_policy.rb, line 32 def initialize(opt={}) # Initial host connection timeout in seconds. The timeout when opening a connection # to the server host for the first time. @timeout = opt[:timeout] || 1.0 # 1 second # Size of the Connection Queue cache. @connection_queue_size = opt[:connection_queue_size] || 64 # Throw exception if host connection fails during add_host. @fail_if_not_connected = opt.has_key?(:fail_if_not_connected) ? opt[:fail_if_not_connected] : true # Tend interval in milliseconds; determines the interval at # which the client checks for cluster state changes. Minimum interval is 10ms. self.tend_interval = opt[:tend_interval] || 1000 # 1 second # Authentication mode @auth_mode = opt[:auth_mode] || AuthMode::INTERNAL # user name @user = opt[:user] # password @password = opt[:password] # Cluster Name @cluster_name = opt[:cluster_name] @tls = opt[:tls] || opt[:ssl_options] # Default Policies @policies = opt.fetch(:policies) { Hash.new } # Track server rack data. This field is useful when directing read commands to the server node # that contains the key and exists on the same rack as the client. This serves to lower cloud # provider costs when nodes are distributed across different racks/data centers. # # ClientPolicy#rack_id, Replica#PREFER_RACK and server rack # configuration must also be set to enable this functionality. @rack_aware = opt[:rack_aware] || false # Rack where this client instance resides. # # ClientPolicy#rack_aware, Replica#PREFER_RACK and server rack # configuration must also be set to enable this functionality. @rack_id = opt[:rack_id] || 0 # Maximum number of synchronous connections allowed per server node. Transactions will go # through retry logic and potentially fail with "ResultCode.NO_MORE_CONNECTIONS" if the maximum # number of connections would be exceeded. # The number of connections used per node depends on concurrent commands in progress # plus sub-commands used for parallel multi-node commands (batch, scan, and query). # One connection will be used for each command. # Default: 100 @max_connections_per_node = opt[:max_connections_per_node] || 100 # MinConnectionsPerNode specifies the minimum number of synchronous connections allowed per server node. # Preallocate min connections on client node creation. # The client will periodically allocate new connections if count falls below min connections. # # Server proto-fd-idle-ms may also need to be increased substantially if min connections are defined. # The proto-fd-idle-ms default directs the server to close connections that are idle for 60 seconds # which can defeat the purpose of keeping connections in reserve for a future burst of activity. # # Default: 0 @min_connections_per_node = opt[:min_connections_per_node] || 0 end
Public Instance Methods
requires_authentication()
click to toggle source
# File lib/aerospike/policy/client_policy.rb, line 99 def requires_authentication (@user && @user != '') || (@password && @password != '') end
tend_interval=(interval)
click to toggle source
# File lib/aerospike/policy/client_policy.rb, line 103 def tend_interval=(interval) if interval < 10 Aerospike.logger.warn("Minimum tend interval is 10 milliseconds (client policy: #{interval}).") interval = 10 end @tend_interval = interval end