Sha256: ca784d9500d7d8ad13b52a63fbd32437b27a5b575985d87da763b095eefb63f8

Contents?: true

Size: 965 Bytes

Versions: 1

Compression:

Stored size: 965 Bytes

Contents

module Druid
  module Queries
    module Datasource
      include_package 'org.apache.zookeeper'

      ZOOKEEPER_BEAMS_PATH = '/tranquility/beams/druid:overlord'.freeze

      delegate :datasource_enabled?,
               :datasource_info,
               :disable_datasource,
               :list_datasources,
               to: :coordinator

      def delete_datasource(datasource_name)
        shutdown_tasks(datasource_name)
        datasource_enabled?(datasource_name) ? disable_datasource(datasource_name) : true
        delete_zookeeper_nodes(datasource_name) if config.strong_delete
      end

      def delete_datasources
        list_datasources.each{ |datasource_name| delete_datasource(datasource_name) }
      end

      private

      # TODO: Use client zk
      def delete_zookeeper_nodes(datasource_name)
        zk.open(config.curator_uri) do
          zk.rm_rf("#{ZOOKEEPER_BEAMS_PATH}/#{datasource_name}")
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jruby-druid-2.0.0.edge.1 lib/druid/queries/datasource.rb