Class: Google::Cloud::Bigtable::Table::ClusterState

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/bigtable/table/cluster_state.rb

Overview

Table::ClusterState is the state of a table's data in a particular cluster.

Examples:

Retrieve a table with cluster states.

require "google/cloud/bigtable"

bigtable = Google::Cloud::Bigtable.new

table = bigtable.table "my-instance", "my-table", view: :FULL, perform_lookup: true

table.cluster_states.each do |cs|
  puts cs.cluster_name
  puts cs.replication_state
  puts cs.encryption_infos.first.encryption_type
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cluster_nameString

The name of the cluster.

Returns:

  • (String)

    the current value of cluster_name



42
43
44
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 42

def cluster_name
  @cluster_name
end

Instance Method Details

#encryption_infosArray<Google::Cloud::Bigtable::EncryptionInfo>

The encryption info value objects for the table in this cluster. The encryption info is only present when the table view is ENCRYPTION_VIEW or FULL. See also Instance::ClusterMap#add.

Returns:



142
143
144
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 142

def encryption_infos
  @grpc.encryption_info.map { |ei_grpc| Google::Cloud::Bigtable::EncryptionInfo.from_grpc ei_grpc }
end

#initializing?Boolean

The cluster was recently created, and the table must finish copying over pre-existing data from other clusters before it can begin receiving live replication updates and serving.

Returns:



83
84
85
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 83

def initializing?
  replication_state == :INITIALIZING
end

#planned_maintenance?Boolean

The table is temporarily unable to serve requests from this cluster due to planned internal maintenance.

Returns:

  • (Boolean)

    true if the value of #replication_state is PLANNED_MAINTENANCE, false otherwise.



94
95
96
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 94

def planned_maintenance?
  replication_state == :PLANNED_MAINTENANCE
end

#ready?Boolean

The table can serve requests from this cluster. Depending on replication delay, reads may not immediately reflect the state of the table in other clusters.

Returns:



117
118
119
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 117

def ready?
  replication_state == :READY
end

#ready_optimizing?Boolean

The table is fully created and ready for use after a restore, and is being optimized for performance. When optimizations are complete, the table will transition to READY state.

Returns:

  • (Boolean)

    true if the value of #replication_state is READY_OPTIMIZING, false otherwise.



130
131
132
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 130

def ready_optimizing?
  replication_state == :READY_OPTIMIZING
end

#replication_stateSymbol

The state of replication for the table in this cluster. Valid values include:

  • :INITIALIZING - The cluster was recently created.
  • :PLANNED_MAINTENANCE - The table is temporarily unable to serve.
  • :UNPLANNED_MAINTENANCE - The table is temporarily unable to serve.
  • :READY - The table can serve.
  • :READY_OPTIMIZING - The table is fully created and ready for use after a restore, and is being optimized for performance. When optimizations are complete, the table will transition to READY state.
  • :STATE_NOT_KNOWN - If replication state is not present in the object because the table view is not REPLICATION_VIEW or FULL.
  • :UNKNOWN - If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable.)

Returns:

  • (Symbol)

    The state of replication.



71
72
73
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 71

def replication_state
  @grpc.replication_state
end

#unplanned_maintenance?Boolean

The table is temporarily unable to serve requests from this cluster due to unplanned or emergency maintenance.

Returns:

  • (Boolean)

    true if the value of #replication_state is UNPLANNED_MAINTENANCE, false otherwise.



105
106
107
# File 'lib/google/cloud/bigtable/table/cluster_state.rb', line 105

def unplanned_maintenance?
  replication_state == :UNPLANNED_MAINTENANCE
end