Classe: Mongo::Cluster::Topology::ReplicaSetNoPrimary

Herda:
Base
  • Objeto
mostrar tudo
Definido em:
lib/mongo/cluster/ topologia/replica_set_no_primary.rb

Visão geral

Define o comportamento quando um cluster está em topologia de conjunto de réplicas e não há nenhum primary ou o primary ainda não foi descoberto pelo driver.

Desde:

  • 2.0.0

Subclasses conhecidas diretas

ReplicaSetWithPrimary

Colapsode resumo constante

NOME =
Obsoleto.

O nome de exibição da topologia.

Desde:

  • 2.0.0

'Conjunto de réplicas'

Constantes incluídas do Loggable

Loggable::Prefix

Resumo do atributo de instância

Atributos herdados da Base

#compatibility_error, #logical_session_timeout, #monitoring, #options, #server_descriptions

Atributos incluídos no Monitoramento::publicável

#monitoring

Recolhimento do Resumo do método de instância

Métodos herdados do Base

#addresses, #compatible?, #data_Bearing_Servers?, #initialize, #max_election_id, #max_set_version, #new_max_election_id, #new_max_set_version, #replica_set_name, #server_hosts_match_any?

Métodos incluídos do monitoramento::publicável

#publish_cmap_event, #publish_event, #publish_sdam_event

Métodos incluídos no Loggable

#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger

Detalhes do construtor

Esta classe herda um construtor de Mongo::Cluster::Topology::Base

Detalhes do método de instância

#exibição_namestring

Obtenha o nome de exibição.

Exemplos:

Obtenha o nome de exibição.

ReplicaSet.display_name

Retorna:

  • (string)

    O nome de exibição.

Desde:

  • 2.0.0



40
41
42
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 40

def exibição_name
  auto.classe.name.gsub(/.*::/, '')
end

#has_readable_server?(cluster, server_selector = nil) ➤ true, false

Obsoleto.

Determine se a topologia selecionaria um servidor legível para os candidatos fornecidos e preferência de leitura.

Exemplos:

Um servidor legível está presente?

topology.has_readable_server?(cluster, server_selector)

Parâmetros:

  • cluster (Cluster)

    O cluster.

  • server_selector (ServerSelector) (padrão para: nil)

    O seletor de servidor.

Retorna:

  • (verdadeiro, falso)

    Se um servidor legível estiver presente.

Desde:

  • 2.4.0



71
72
73
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 71

def has_readable_server?(cluster, server_selector = nada)
  !(server_selector || ServerSelector.Principal).try_select_server(cluster).nada?
end

#has_writeable_server?(cluster) ➤ true, false

Determine se a topologia selecionaria um servidor gravável para os candidatos fornecidos.

Exemplos:

Um servidor gravável está presente?

topology.has_writable_server?(servers)

Parâmetros:

Retorna:

  • (verdadeiro, falso)

    Se houver um servidor gravável.

Desde:

  • 2.4.0



86
87
88
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 86

def has_writeable_server?(cluster)
  !ServerSelector.Principal.try_select_server(cluster).nada?
end

#replica_set?verdadeiro

Uma topologia de conjunto de réplicas é um conjunto de réplicas.

Exemplos:

A topologia é um conjunto de réplicas?

topology.replica_set?

Retorna:

  • (verdadeiro)

    Sempre verdadeiro.

Desde:

  • 2.0.0



98
99
100
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 98

def replica_set?
  true
end

#servidores(servidores) ➤ Array<Servidor MongoDB>

Selecione servidores apropriados para esta topologia.

Exemplos:

Selecione os servidores.

ReplicaSet.servers(servers)

Parâmetros:

Retorna:

Desde:

  • 2.0.0



112
113
114
115
116
117
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 112

def Servidores(Servidores)
  Servidores.selecione fazer |Servidor|
    ((replica_set_name.nada? || Servidor.replica_set_name == replica_set_name) &&
      Servidor.primário?) || Servidor.secundário?
  end
end

#fragmentado?false

Uma topologia de conjunto de réplicas não é fragmentada.

Exemplos:

A topologia é fragmentada?

ReplicaSet.sharded?

Retorna:

  • (falso)

    Sempre falso.

Desde:

  • 2.0.0



127
128
129
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 127

def fragmentado?
  false
end

#único?false

Uma topologia de conjunto de réplicas não é única.

Exemplos:

A topologia é única?

ReplicaSet.single?

Retorna:

  • (falso)

    Sempre falso.

Desde:

  • 2.0.0



139
140
141
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 139

def único?
  false
end

#resumoObjeto

Observação:

Este método é experimental e sujeito a alterações.

Desde:

  • 2.7.0



48
49
50
51
52
53
54
55
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 48

def Resumo
  Detalhes = server_descriptions.keys.juntar(',')
  Detalhes << ',' se Detalhes != ''
  Detalhes << "name=#{replica_set_name}"
  Detalhes << ",v=#{max_set_version}" se max_set_version
  Detalhes << ",e=#{max_election_id && max_election_id.to_s.sub(/^0+/, '')}" se max_election_id
  "#{exibição_name}[#{detalhes}]"
end

#desconhecido?false

Uma topologia de conjunto de réplicas não é desconhecida.

Exemplos:

A topologia é desconhecida?

ReplicaSet.unknown?

Retorna:

  • (falso)

    Sempre falso.

Desde:

  • 2.0.0



151
152
153
# File 'lib/mongo/cluster/ topologia/replica_set_no_primary.rb', linha 151

def desconhecido?
  false
end