logstash-input-elastic_jdbc 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/logstash/inputs/elastic_jdbc.rb +14 -6
 - data/logstash-input-elastic-jdbc.gemspec +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 11a398ad2179a95c86fcc2c0bae1bf57a6cc3004a98e883df5fc3e8f475a619b
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: d7b2a56f95b0e06d103c5b9040e1e59b47d5ab0190d7051ae08e0c70621118da
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: f0fa08a3f7b4578901a6f46c1eafecaf72fe3f3d0ddd81a7c613dcd30192e759ce018e7794e18cd506af80772af87cc410b050b4d4af3e775841b65c5f0c9708
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: b82b80d7ab1f383af1bcf03f358a1ca7104b6a439ce60243e822213984931636df9c67e4f5aad0a64d61f19f6af01c9d2de3756185b06a15ef635a51dc2fcfd4
         
     | 
| 
         @@ -1,8 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: utf-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            require "logstash/inputs/base"
         
     | 
| 
       3 
3 
     | 
    
         
             
            require "logstash/inputs/elasticsearch"
         
     | 
| 
       4 
     | 
    
         
            -
            require_relative "value_tracking"
         
     | 
| 
       5 
     | 
    
         
            -
            require "json"
         
     | 
| 
      
 4 
     | 
    
         
            +
            require_relative "../../logstash/inputs/value_tracking"
         
     | 
| 
       6 
5 
     | 
    
         
             
            require "logstash/json"
         
     | 
| 
       7 
6 
     | 
    
         
             
            require "time"
         
     | 
| 
       8 
7 
     | 
    
         | 
| 
         @@ -43,12 +42,12 @@ class LogStash::Inputs::ElasticJdbc < LogStash::Inputs::Elasticsearch 
     | 
|
| 
       43 
42 
     | 
    
         | 
| 
       44 
43 
     | 
    
         
             
              public
         
     | 
| 
       45 
44 
     | 
    
         
             
              def register
         
     | 
| 
       46 
     | 
    
         
            -
                super
         
     | 
| 
       47 
45 
     | 
    
         
             
                if @tracking_column.nil?
         
     | 
| 
       48 
46 
     | 
    
         
             
                  raise(LogStash::ConfigurationError, "Must set :tracking_column if :use_column_value is true.")
         
     | 
| 
       49 
47 
     | 
    
         
             
                end
         
     | 
| 
       50 
48 
     | 
    
         
             
                set_value_tracker(ValueTracking.build_last_value_tracker(self))
         
     | 
| 
       51 
     | 
    
         
            -
                build_query 
     | 
| 
      
 49 
     | 
    
         
            +
                build_query
         
     | 
| 
      
 50 
     | 
    
         
            +
                super
         
     | 
| 
       52 
51 
     | 
    
         
             
              end # def register
         
     | 
| 
       53 
52 
     | 
    
         | 
| 
       54 
53 
     | 
    
         
             
              def set_value_tracker(instance)
         
     | 
| 
         @@ -59,16 +58,25 @@ class LogStash::Inputs::ElasticJdbc < LogStash::Inputs::Elasticsearch 
     | 
|
| 
       59 
58 
     | 
    
         
             
                time_now = Time.now.utc
         
     | 
| 
       60 
59 
     | 
    
         
             
                last_value = @value_tracker ? Time.parse(@value_tracker.value.to_s).iso8601 : Time.parse(time_now).iso8601
         
     | 
| 
       61 
60 
     | 
    
         
             
                column = @tracking_column.to_s
         
     | 
| 
       62 
     | 
    
         
            -
                query = {query: { range: {column => {gt: last_value.to_s}}}, sort: [ 
     | 
| 
      
 61 
     | 
    
         
            +
                query = {query: { range: {column => {gt: last_value.to_s}}}, sort: ["_doc"]}
         
     | 
| 
       63 
62 
     | 
    
         
             
                @query = query.to_json
         
     | 
| 
       64 
63 
     | 
    
         
             
                @base_query = LogStash::Json.load(@query)
         
     | 
| 
       65 
64 
     | 
    
         
             
              end
         
     | 
| 
       66 
65 
     | 
    
         | 
| 
       67 
66 
     | 
    
         
             
              def run(output_queue)
         
     | 
| 
       68 
67 
     | 
    
         
             
                super
         
     | 
| 
      
 68 
     | 
    
         
            +
              end # def run
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
              def do_run_slice(output_queue, slice_id=nil)
         
     | 
| 
      
 71 
     | 
    
         
            +
                build_query
         
     | 
| 
      
 72 
     | 
    
         
            +
                super
         
     | 
| 
      
 73 
     | 
    
         
            +
              end
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
              def push_hit(hit, output_queue)
         
     | 
| 
      
 76 
     | 
    
         
            +
                super
         
     | 
| 
       69 
77 
     | 
    
         
             
                @value_tracker.set_value(Time.now.to_s)
         
     | 
| 
       70 
78 
     | 
    
         
             
                @value_tracker.write
         
     | 
| 
       71 
     | 
    
         
            -
              end 
     | 
| 
      
 79 
     | 
    
         
            +
              end
         
     | 
| 
       72 
80 
     | 
    
         | 
| 
       73 
81 
     | 
    
         
             
              def stop
         
     | 
| 
       74 
82 
     | 
    
         
             
                super
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       2 
2 
     | 
    
         
             
              s.name          = 'logstash-input-elastic_jdbc'
         
     | 
| 
       3 
     | 
    
         
            -
              s.version       = '0. 
     | 
| 
      
 3 
     | 
    
         
            +
              s.version       = '0.2.0'
         
     | 
| 
       4 
4 
     | 
    
         
             
              s.licenses      = ['Apache-2.0']
         
     | 
| 
       5 
5 
     | 
    
         
             
              s.summary       = 'Logstash elastic_jdbc'
         
     | 
| 
       6 
6 
     | 
    
         
             
              s.description   = 'This plugin inherit of elasticsearch input plugin, but added tracking_column like jdbc input plugin.'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: logstash-input-elastic_jdbc
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Ernesto Soler Calaña
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2019-11- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-11-12 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: logstash-core-plugin-api
         
     |