Class: Droonga::Catalog::Version2

Inherits:
Base
  • Object
show all
Defined in:
lib/droonga/catalog/version2.rb

Instance Attribute Summary

Attributes inherited from Base

#base_path, #path

Instance Method Summary collapse

Methods inherited from Base

#cluster_id, #dataset, #have_dataset?

Constructor Details

#initialize(data, path) ⇒ Version2

Returns a new instance of Version2.



27
28
29
30
31
# File 'lib/droonga/catalog/version2.rb', line 27

def initialize(data, path)
  super
  validate
  prepare_data
end

Instance Method Details

#all_nodesObject



66
67
68
# File 'lib/droonga/catalog/version2.rb', line 66

def all_nodes
  @all_nodes ||= collect_all_nodes
end

#datasetsObject



33
34
35
# File 'lib/droonga/catalog/version2.rb', line 33

def datasets
  @datasets
end

#slices(node) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/droonga/catalog/version2.rb', line 37

def slices(node)
  device = "."
  results = {}
  @datasets.each do |dataset_name, dataset|
    n_workers = dataset.n_workers
    plugins = dataset.plugins
    dataset.replicas.each do |volume|
      volume.slices.each do |slice|
        volume_address = slice.volume.address
        if volume_address.node == node
          name = volume_address.name
          path = Path.databases(base_path) +
                   device + name + "db"
          migrate_database_location(path, device, name)

          options = {
            :dataset => dataset_name,
            :database => path.to_s,
            :n_workers => n_workers,
            :plugins => plugins
          }
          results[volume_address.to_s] = options
        end
      end
    end
  end
  results
end