norikra 1.2.2-java → 1.3.0.beta.1-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fa80888abaaa606aa96b77fc3e1e33b17f8bb098
4
- data.tar.gz: 423c64919bae627115f30f37ac6750883a534676
3
+ metadata.gz: dab9c348735650b1a4de5cb5cf1c75f2efd92cdc
4
+ data.tar.gz: 566b75a8325c7e9d61d3382b20def317f6d46ef8
5
5
  SHA512:
6
- metadata.gz: 9981e141e6d99f2cb9a793629a6f0c46db0df1f8df8661e2fe6bfbddabc49fb946da8b839cd0b91352c09a6816340a1078b99d7211f29f90e706517b3576c31e
7
- data.tar.gz: 755251d7e8fe172c7f72e8cebb37ecfdea10937de3f39c36300651647efa8ad1423ff7fd953e65392e794a0daf227e1312a8f3cbcb50cfb4d96b37e8db155191
6
+ metadata.gz: 1800a71b713db3cfd166e85913039b46032afb74def7c3a597db4860a9013011843aa5803c9db61b338786fbdb7b05afa850fc3509c9ceb20cffc28fa8bf4c37
7
+ data.tar.gz: 29e0060543f2d18c7b7eb95778d1de4ddac8d0bdd4a3b246781d1a04ad7a3ef9590373a8d65c9de9714f087d71b6439e823c0641fac9c4b3540b429b22d945bd
data/.travis.yml CHANGED
@@ -1,13 +1,12 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - jruby-19mode
4
- # - jruby-head
4
+ - jruby-head
5
5
  jdk:
6
6
  - oraclejdk8
7
7
  - oraclejdk7
8
8
  - openjdk7
9
9
  - openjdk6
10
- # matrix:
11
- # exclude:
12
- # - rvm: jruby-head
13
- # jdk: openjdk6
10
+ matrix:
11
+ allow_failures:
12
+ - rvm: jruby-head
data/esper/changelog.txt CHANGED
@@ -1,6 +1,67 @@
1
1
  Esper Changelog
2
2
  ===================
3
3
 
4
+ Changes in version 5.2.0
5
+ ------------------------
6
+ - Support for aggregation functions to specify the level of grouping in the parameter list, removing the need for separate subqueries for many use cases
7
+ - Support for aggregation rollup in conjunction with tables
8
+ - Support for a new pattern observer "timer:schedule" that supports the ISO8601 standard for scheduling
9
+ - Support for match-recognize to have patterns that specify repetition (exact, N-or-more, between-N-and-M, between-0-and-M)
10
+ - Support for match-recognize to have patterns that specify permutation, i.e. for A and B to become "A B" or "B A"
11
+ - Support for the "new" expression to instantiate a given class
12
+ - Support for substitution parameter to be given names so that they are available by name and not just by numeric position
13
+ - Support for filter expressions that use "or" and "typeof" to optimize filter tree use for reverse index sharing
14
+ - Support for "create schema" to specify "null" as a property type
15
+ - Many smaller enhancements, optimizations, documentation updates
16
+
17
+ Bug fixes and other improvements
18
+ - Fixed issue ESPER-802 EsperIO CSV and CurrentTimeEvent issue
19
+ - Fixed issue ESPER-803 outer join with historical stream and on-clause in addition to where-clause causes incorrect result
20
+ - Fixed issue ESPER-804 Allow Subscriber methods other than "update"
21
+ - Fixed issue ESPER-805 toEPL() generates badly formatted EPL for contained event selections
22
+ - Fixed issue ESPER-806 The type checking rejects the child types for non-bean types and insert
23
+ - Fixed issue ESPER-807 Outer join with context partitions thread safety issue
24
+ - Fixed issue ESPER-808 Accessing Data via Method Invocation on injected Objects
25
+ - Fixed issue ESPER-809 ExprBetweenCompBigDecimal.isLowIncluded/isHighIncluded shouldn't use equals
26
+ - Fixed issue ESPER-810 Context partitioned by key throws NPE with partition key property in pattern filter expression
27
+ - Fixed issue QQY-321-19355 non-overlapping context started by filter for same event as statements can miss an event under threading
28
+ - Fixed issue AHK-632-44071 ArrayIndexOutOfBoundsEx on non-fully-aggregated query with stream select
29
+
30
+ Changes in version 5.1.0
31
+ ------------------------
32
+ - Support for tables. Tables introduce a number of new capabilities, allowing for more expressive EPL.
33
+ - Tables allow multiple statements to aggregate into the same state (we call this co-aggregation)
34
+ - Tables allow statements to co-locate aggregation state, update-in-place data and event data conveniently
35
+ - Tables can be accessed using a convenient key-based expression, as well as in joins, subqueries etc. comparably to named windows
36
+ - Support for the Count�min sketch (or CM sketch) probabilistic sub-linear space streaming algorithm and approximate streaming Top-K
37
+ - Support for the new "countever" aggregation function that returns a count of events ever regardless of data windows
38
+ - Additional API to query context partition instance count
39
+ - Audit logging for context partitions
40
+ - The match-recognize "define" clause is now optional
41
+ - Support for loosely-scoped expressions using expression alias
42
+ - CSV adapter now uses time-spans to advance time
43
+ - Socket adapter CSV format now supports a property-ordered string without field names
44
+ - Many smaller enhancements and bug fixes, with the most important ones listed here
45
+
46
+ Bug fixes and other improvements
47
+ - Fixed issue ESPER-782 "interval" keyword in match-recognize does not allow uppercase
48
+ - Fixed issue ESPER-783 ArithmeticException big decimal divide
49
+ - Fixed issue ESPER-784 EsperIO Socket Adapter causes configuration loss when calling "initialize"
50
+ - Fixed issue ESPER-788 Exception on uppercase MIN/MAX
51
+ - Fixed issue ESPER-791 "Route" API call with outbound threading enabled does not work
52
+ - Fixed issue ESPER-792 Dataflow is not initializing in correct order with ~16+ operators
53
+ - Fixed issue ESPER-793 QualityOfService example main uses wrong provider URI
54
+ - Fixed issue ESPER-794 OSGi Manifest does not contain com.espertech.esper.epl.agg.aggregator package
55
+ - Fixed issue ESPER-795 Multidrectional join between two unique-window named windows join throws errors and returns spurious results.
56
+ - Fixed issue ESPER-796 EventType Configuration Exception compiling Pojo with Collections
57
+ - Fixed issue ESPER-799 Escaping comma character error while using socket adapter
58
+ - Fixed issue ESPER-800 Custom aggregation function with multiple parameters receives WildcardParameter instead of event
59
+ - Fixed issue ESPER-801 Json renderer escape in a wrong way
60
+ - Fixed issue ADQ-943-19260 context-partitioned named window with create index causes NPE
61
+ - Fixed issue HXB-611-44301 get method called needlessly when using output snapshot
62
+ - Fixed issue UJI-364-58495 CPE repeatedly stopping and starting statement with aggregation and grouped window
63
+ - Fixed issue TJJ-530-49640 Transpose function causes type incompatibility message when transposing into an existing type
64
+
4
65
  Changes in version 5.0.0
5
66
  ------------------------
6
67
  - The following dependent jar files are upgraded:
data/lib/norikra/cli.rb CHANGED
@@ -24,6 +24,10 @@ module Norikra
24
24
  option :'dump-stat-interval', type: :numeric, default: nil, \
25
25
  desc: 'interval(seconds) of status file dumps on runtime [none (on shutdown only)]'
26
26
 
27
+ option :shutoff, type: :boolean, default: false, desc: '[EXPERIMENTAL] enable "shutoff" mode, to reject input data under high memory usage'
28
+ option :'shutoff-threshold', type: :numeric, default: 90, desc: 'threshold percent of heap memory usage to turn "shutoff mode" on'
29
+ option :'shutoff-check-interval', type: :numeric, default: 10, desc: 'interval seconds to turn "shutoff mode" on/off'
30
+
27
31
  ### Daemonize options
28
32
  option :daemonize, type: :boolean, default: false, aliases: "-d", \
29
33
  desc: 'daemonize Norikra server [false (foreground)]'
@@ -39,13 +43,13 @@ module Norikra
39
43
  ### Performance options
40
44
  # performance predefined configuration sets
41
45
  option :micro, type: :boolean, default: false, \
42
- desc: 'development or testing (inbound:0, outbound:0, route:0, timer:0, rpc:2)'
46
+ desc: 'development or testing (inbound:0, outbound:0, route:0, timer:0, rpc:2, web:2)'
43
47
  option :small, type: :boolean, default: false, \
44
- desc: 'virtual or small scale servers (inbound:1, outbount:1, route:1, timer:1, rpc:2)'
48
+ desc: 'virtual or small scale servers (inbound:2, outbount:2, route:2, timer:2, rpc:9, web:9)'
45
49
  option :middle, type: :boolean, default: false, \
46
- desc: 'rackmount servers (inbound:4, outbound:2, route:2, timer:2, rpc:4)'
50
+ desc: 'rackmount servers (inbound:4, outbound:4, route:4, timer:4, rpc:17, web:17)'
47
51
  option :large, type: :boolean, default: false, \
48
- desc: 'high performance servers (inbound: 6, outbound: 6, route:4, timer:4, rpc: 8)'
52
+ desc: 'high performance servers (inbound: 8, outbound: 8, route:8, timer:8, rpc:49, web:49)'
49
53
  # Esper
50
54
  option :'inbound-threads', type: :numeric, default: nil, desc: 'number of threads for inbound data'
51
55
  option :'outbound-threads', type: :numeric, default: nil, desc: 'number of threads for outbound data'
@@ -197,6 +201,13 @@ module Norikra
197
201
  suppress: options[:'suppress-dump-stat'], interval: options[:'dump-stat-interval'],
198
202
  }
199
203
 
204
+ ### shut off mode
205
+ conf[:shutoff] = {
206
+ enabled: options[:shutoff],
207
+ threshold: options[:'shutoff-threshold'],
208
+ interval: options[:'shutoff-check-interval'],
209
+ }
210
+
200
211
  ### threads
201
212
  predefined_selecteds = [:micro, :small, :middle, :large].select{|sym| options[sym]}
202
213
  if predefined_selecteds.size > 1
@@ -10,7 +10,7 @@ require 'norikra/suspended_query'
10
10
  require 'norikra/logger'
11
11
  include Norikra::Log
12
12
 
13
- require 'esper-5.0.0.jar'
13
+ require 'esper-5.2.0.jar'
14
14
  require 'esper/lib/commons-logging-1.1.3.jar'
15
15
  require 'esper/lib/antlr-runtime-4.1.jar'
16
16
  require 'esper/lib/cglib-nodep-3.1.jar'
@@ -1,5 +1,5 @@
1
1
  require 'java'
2
- require 'esper-5.0.0.jar'
2
+ require 'esper-5.2.0.jar'
3
3
  require 'esper/lib/commons-logging-1.1.3.jar'
4
4
  require 'esper/lib/antlr-runtime-4.1.jar'
5
5
  require 'esper/lib/cglib-nodep-3.1.jar'
@@ -1254,11 +1254,20 @@ module Norikra
1254
1254
  # ")"]]
1255
1255
 
1256
1256
  def function_name
1257
- f = self.find("funcIdentTop")
1258
- if e = f.find("escapableIdent")
1259
- e.child.name
1257
+ if f = self.find("funcIdentTop")
1258
+ if e = f.find("escapableIdent")
1259
+ e.child.name
1260
+ else
1261
+ f.child.name
1262
+ end
1263
+ elsif f = self.find("funcIdentInner")
1264
+ if e = f.find("escapableIdent")
1265
+ e.child.name
1266
+ else
1267
+ f.child.name
1268
+ end
1260
1269
  else
1261
- f.child.name
1270
+ raise "BUG: unknown function AST"
1262
1271
  end
1263
1272
  end
1264
1273
 
@@ -1302,15 +1311,16 @@ module Norikra
1302
1311
  class ASTLibFunctionArgItemNode < ASTNode
1303
1312
  # ["libFunctionArgs",
1304
1313
  # ["libFunctionArgItem",
1305
- # ["expressionWithTime",
1306
- # ["expressionQualifyable",
1307
- # ["expression", ... ]]]]
1314
+ # ["expressionWithNamed",
1315
+ # ["expressionWithTime",
1316
+ # ["expressionQualifyable",
1317
+ # ["expression", ... ]]]]]
1308
1318
  def nodetype?(*sym)
1309
1319
  sym.include?(:libarg)
1310
1320
  end
1311
1321
 
1312
1322
  def expression
1313
- self.chain("expressionWithTime", "expressionQualifyable", "expression")
1323
+ self.chain("expressionWithNamed", "expressionWithTime", "expressionQualifyable", "expression")
1314
1324
  end
1315
1325
  end
1316
1326
 
data/lib/norikra/query.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'java'
2
- require 'esper-5.0.0.jar'
2
+ require 'esper-5.2.0.jar'
3
3
  require 'esper/lib/commons-logging-1.1.3.jar'
4
4
  require 'esper/lib/antlr-runtime-4.1.jar'
5
5
  require 'esper/lib/cglib-nodep-3.1.jar'
@@ -239,7 +239,8 @@ module Norikra
239
239
  services.getPatternNodeFactory,
240
240
  services.getContextManagementService,
241
241
  result.getScripts,
242
- services.getExprDeclaredService
242
+ services.getExprDeclaredService,
243
+ services.getTableService
243
244
  )
244
245
 
245
246
  Java::ComEspertechEsperEplParse::ParseHelper.walk(ast, walker, target, forerrmsg)
@@ -9,6 +9,11 @@ require 'norikra/query'
9
9
  class Norikra::RPC::Handler
10
10
  def initialize(engine)
11
11
  @engine = engine
12
+ @shut_off_mode = false
13
+ end
14
+
15
+ def shut_off(mode)
16
+ @shut_off_mode = true
12
17
  end
13
18
 
14
19
  def logging(type, handler, args=[])
@@ -107,6 +112,8 @@ class Norikra::RPC::Handler
107
112
  end
108
113
 
109
114
  def send(target, events)
115
+ raise Norikra::RPC::ServiceUnavailableError if @shut_off_mode
116
+
110
117
  logging(:data, :send, [target, events]){
111
118
  r = @engine.send(target, events)
112
119
  !!r
@@ -24,7 +24,7 @@ module Norikra::RPC
24
24
  @host = opts[:host] || DEFAULT_LISTEN_HOST
25
25
  @port = opts[:port] || DEFAULT_LISTEN_PORT
26
26
  @threads = opts[:threads] || DEFAULT_THREADS
27
- handler = Norikra::RPC::Handler.new(@engine)
27
+ @handler = handler = Norikra::RPC::Handler.new(@engine)
28
28
  @app = Rack::Builder.new {
29
29
  use Norikra::RPC::Gatekeeper
30
30
  run MessagePack::RPCOverHTTP::Server.app(handler)
@@ -44,5 +44,9 @@ module Norikra::RPC
44
44
  @thread.kill
45
45
  @thread.join
46
46
  end
47
+
48
+ def shut_off(mode)
49
+ @handler.shut_off(mode)
50
+ end
47
51
  end
48
52
  end
data/lib/norikra/rpc.rb CHANGED
@@ -3,6 +3,7 @@ require 'msgpack-rpc-over-http-jruby'
3
3
  module Norikra::RPC
4
4
  class ClientError < MessagePack::RPCOverHTTP::RemoteError; end
5
5
  class ServerError < MessagePack::RPCOverHTTP::RemoteError; end
6
+ class ServiceUnavailableError < MessagePack::RPCOverHTTP::RemoteError; end
6
7
  end
7
8
 
8
9
  require 'norikra/rpc/handler'
@@ -18,6 +18,9 @@ module Norikra
18
18
  class Server
19
19
  attr_accessor :running
20
20
 
21
+ DEFAULT_SHUT_OFF_THRESHOLD = 90
22
+ DEFAULT_SHUT_OFF_CHECK_INTERVAL = 10
23
+
21
24
  MICRO_PREDEFINED = {
22
25
  engine: { inbound: { threads: 0, capacity: 0 }, outbound: { threads: 0, capacity: 0 },
23
26
  route_exec: { threads: 0, capacity: 0 }, timer_exec: { threads: 0, capacity: 0 }, },
@@ -80,6 +83,10 @@ module Norikra
80
83
  puts "working on #{$PID}"
81
84
  end
82
85
 
86
+ @shutoff = conf[:shutoff][:enabled] || false
87
+ @shutoff_threshold = conf[:shutoff][:threshold] || DEFAULT_SHUT_OFF_THRESHOLD
88
+ @shutoff_check_interval = conf[:shutoff][:interval] || DEFAULT_SHUT_OFF_CHECK_INTERVAL
89
+
83
90
  @stats_path = conf[:stats][:path]
84
91
  @stats_secondary_path = conf[:stats][:secondary_path]
85
92
  @stats_suppress_dump = conf[:stats][:suppress]
@@ -116,6 +123,8 @@ module Norikra
116
123
  @output_pool = Norikra::OutputPool.new
117
124
 
118
125
  @engine = Norikra::Engine.new(@output_pool, @typedef_manager, {thread: @thread_conf[:engine]})
126
+ @udf_plugins = []
127
+ @listener_plugins = []
119
128
 
120
129
  @rpcserver = Norikra::RPC::HTTP.new(
121
130
  engine: @engine,
@@ -168,11 +177,13 @@ module Norikra
168
177
  end
169
178
  Signal.trap(:USR2, ->{ @dump_stats = true })
170
179
 
171
- #TODO: SIGHUP?(dynamic plugin loading?)
180
+ @reload_plugins = false
181
+ Signal.trap(:HUP, ->{ @reload_plugins = true })
172
182
 
173
- while @running
174
- sleep 0.3
183
+ memory_stat_next = Time.now
184
+ shut_off_mode = false
175
185
 
186
+ while @running
176
187
  if @stats_path && !@stats_suppress_dump
177
188
  if @dump_stats || (@dump_next_time && Time.now > @dump_next_time)
178
189
  dump_stats
@@ -180,6 +191,31 @@ module Norikra
180
191
  @dump_next_time = Time.now + @stats_dump_interval if @dump_next_time
181
192
  end
182
193
  end
194
+
195
+ if @reload_plugins
196
+ begin
197
+ load_plugins(true) # reload
198
+ rescue => e
199
+ warn "Error in plugin reloading", type: e.class, error: e
200
+ end
201
+ @reload_plugins = false
202
+ end
203
+
204
+ if @shutoff && memory_stat_next < Time.now
205
+ used = @engine.memory_statistics[:heap][:used_percent]
206
+ if !shut_off_mode && used >= @shutoff_threshold
207
+ warn "Entering SHUT OFF mode, heap used #{used}%."
208
+ @rpcserver.shut_off(true)
209
+ @webserver.shut_off(true)
210
+ elsif shut_off_mode && used < @shutoff_threshold
211
+ warn "Recovering from SHUT OFF mode, heap used #{used}%."
212
+ @rpcserver.shut_off(false)
213
+ @webserver.shut_off(false)
214
+ end
215
+ memory_stat_next = Time.now + @shutoff_check_interval
216
+ end
217
+
218
+ sleep 0.3
183
219
  end
184
220
  end
185
221
 
@@ -197,16 +233,26 @@ module Norikra
197
233
  info "Norikra server shutdown complete."
198
234
  end
199
235
 
200
- def load_plugins
236
+ def load_plugins(reload=false)
237
+ if reload
238
+ info "Reloading plugins by user action."
239
+ require 'rubygems/specification'
240
+ Gem::Specification.reset # Reset the list of known specs to find newly installed gems
241
+ end
242
+
201
243
  info "Loading UDF plugins"
202
244
  Norikra::UDF.listup.each do |mojule|
203
245
  if mojule.is_a?(Class)
246
+ next if @udf_plugins.include?(mojule)
204
247
  name = @engine.load(:udf, mojule)
248
+ @udf_plugins.push(mojule)
205
249
  info "UDF loaded", name: name
206
250
  elsif mojule.is_a?(Module) && mojule.respond_to?(:plugins)
207
251
  mojule.init if mojule.respond_to?(:init)
208
252
  mojule.plugins.each do |klass|
253
+ next if @udf_plugins.include?(klass)
209
254
  name = @engine.load(:udf, klass)
255
+ @udf_plugins.push(klass)
210
256
  info "UDF loaded", name: name
211
257
  end
212
258
  end
@@ -214,7 +260,9 @@ module Norikra
214
260
 
215
261
  info "Loading Listener plugins"
216
262
  Norikra::Listener.listup.each do |klass|
263
+ next if @listener_plugins.include?(klass)
217
264
  @engine.load(:listener, klass)
265
+ @listener_plugins.push(klass)
218
266
  info "Listener loaded", name: klass
219
267
  end
220
268
  end
data/lib/norikra/stats.rb CHANGED
@@ -45,7 +45,7 @@ module Norikra
45
45
  end
46
46
 
47
47
  def self.load(path)
48
- File.open(path, 'r') do |file|
48
+ File.open(path, 'r', external_encoding: 'utf-8') do |file|
49
49
  self.new(JSON.parse(file.read, symbolize_names: true))
50
50
  end
51
51
  end
@@ -1,3 +1,3 @@
1
1
  module Norikra
2
- VERSION = "1.2.2"
2
+ VERSION = "1.3.0.beta.1"
3
3
  end
@@ -18,6 +18,12 @@ class Norikra::WebUI::API < Sinatra::Base
18
18
  @@engine = engine
19
19
  end
20
20
 
21
+ @@shut_off_mode = false
22
+
23
+ def self.shut_off=(mode)
24
+ @@shut_off_mode = mode
25
+ end
26
+
21
27
  before do
22
28
  content_type :json
23
29
  headers 'Access-Control-Allow-Origin' => '*',
@@ -59,6 +65,8 @@ class Norikra::WebUI::API < Sinatra::Base
59
65
 
60
66
  def engine; @@engine; end
61
67
 
68
+ def shut_off_mode; @@shut_off_mode; end
69
+
62
70
  def parse_args(param_names, request)
63
71
  body = request.body.read
64
72
  parsed = begin
@@ -140,6 +148,10 @@ class Norikra::WebUI::API < Sinatra::Base
140
148
  end
141
149
 
142
150
  post '/send' do
151
+ if shut_off_mode
152
+ halt 503, "SHUT OFF mode"
153
+ end
154
+
143
155
  target, events = args = parse_args(['target', 'events'], request)
144
156
  logging(:data, :send, args){
145
157
  r = engine.send(target, events)
@@ -25,6 +25,12 @@ class Norikra::WebUI::Handler < Sinatra::Base
25
25
  @@engine = engine
26
26
  end
27
27
 
28
+ @@shut_off_mode = false
29
+
30
+ def self.shut_off=(mode)
31
+ @@shut_off_mode = mode
32
+ end
33
+
28
34
  def logging(type, handler, args=[], opts={})
29
35
  if type == :manage
30
36
  debug("WebUI"){ { handler: handler.to_s, args: args } }
@@ -56,6 +62,8 @@ class Norikra::WebUI::Handler < Sinatra::Base
56
62
 
57
63
  def engine; @@engine; end
58
64
 
65
+ def shut_off_mode; @@shut_off_mode; end
66
+
59
67
  def targets
60
68
  engine.targets.map(&:name)
61
69
  end
@@ -80,6 +88,7 @@ class Norikra::WebUI::Handler < Sinatra::Base
80
88
 
81
89
  erb :index, layout: :base, locals: {
82
90
  input_data: input_data,
91
+ shut_off_mode: shut_off_mode,
83
92
  stat: engine.statistics,
84
93
  queries: queries,
85
94
  pool: pooled_events,
@@ -46,5 +46,10 @@ module Norikra::WebUI
46
46
  @thread.kill
47
47
  @thread.join
48
48
  end
49
+
50
+ def shut_off(mode)
51
+ Norikra::WebUI::Handler.shut_off = mode
52
+ Norikra::WebUI::API.shut_off = mode
53
+ end
49
54
  end
50
55
  end
data/views/index.erb CHANGED
@@ -1,5 +1,5 @@
1
1
  <div class="page-header">
2
- <h1 id="summary">Runtime Summary</h1>
2
+ <h1 id="summary">Runtime Summary<% if shut_off_mode %><span style="color: red"> : SHUT OFF MODE</span><% end %></h1>
3
3
  at: <%= Time.now.rfc2822 %>
4
4
  </div>
5
5
 
metadata CHANGED
@@ -1,183 +1,183 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: norikra
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0.beta.1
5
5
  platform: java
6
6
  authors:
7
7
  - TAGOMORI Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-20 00:00:00.000000000 Z
11
+ date: 2015-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: mizuno
15
- version_requirements: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '0.6'
20
14
  requirement: !ruby/object:Gem::Requirement
21
15
  requirements:
22
16
  - - ~>
23
17
  - !ruby/object:Gem::Version
24
18
  version: '0.6'
19
+ name: mizuno
25
20
  prerelease: false
26
21
  type: :runtime
27
- - !ruby/object:Gem::Dependency
28
- name: rack
29
22
  version_requirements: !ruby/object:Gem::Requirement
30
23
  requirements:
31
- - - '>='
24
+ - - ~>
32
25
  - !ruby/object:Gem::Version
33
- version: '0'
26
+ version: '0.6'
27
+ - !ruby/object:Gem::Dependency
34
28
  requirement: !ruby/object:Gem::Requirement
35
29
  requirements:
36
30
  - - '>='
37
31
  - !ruby/object:Gem::Version
38
32
  version: '0'
33
+ name: rack
39
34
  prerelease: false
40
35
  type: :runtime
41
- - !ruby/object:Gem::Dependency
42
- name: thor
43
36
  version_requirements: !ruby/object:Gem::Requirement
44
37
  requirements:
45
38
  - - '>='
46
39
  - !ruby/object:Gem::Version
47
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
48
42
  requirement: !ruby/object:Gem::Requirement
49
43
  requirements:
50
44
  - - '>='
51
45
  - !ruby/object:Gem::Version
52
46
  version: '0'
47
+ name: thor
53
48
  prerelease: false
54
49
  type: :runtime
55
- - !ruby/object:Gem::Dependency
56
- name: msgpack-rpc-over-http-jruby
57
50
  version_requirements: !ruby/object:Gem::Requirement
58
51
  requirements:
59
52
  - - '>='
60
53
  - !ruby/object:Gem::Version
61
- version: 0.0.6
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
62
56
  requirement: !ruby/object:Gem::Requirement
63
57
  requirements:
64
58
  - - '>='
65
59
  - !ruby/object:Gem::Version
66
60
  version: 0.0.6
61
+ name: msgpack-rpc-over-http-jruby
67
62
  prerelease: false
68
63
  type: :runtime
69
- - !ruby/object:Gem::Dependency
70
- name: norikra-client-jruby
71
64
  version_requirements: !ruby/object:Gem::Requirement
72
65
  requirements:
73
66
  - - '>='
74
67
  - !ruby/object:Gem::Version
75
- version: 1.1.0
68
+ version: 0.0.6
69
+ - !ruby/object:Gem::Dependency
76
70
  requirement: !ruby/object:Gem::Requirement
77
71
  requirements:
78
72
  - - '>='
79
73
  - !ruby/object:Gem::Version
80
74
  version: 1.1.0
75
+ name: norikra-client-jruby
81
76
  prerelease: false
82
77
  type: :runtime
83
- - !ruby/object:Gem::Dependency
84
- name: sinatra
85
78
  version_requirements: !ruby/object:Gem::Requirement
86
79
  requirements:
87
80
  - - '>='
88
81
  - !ruby/object:Gem::Version
89
- version: '0'
82
+ version: 1.1.0
83
+ - !ruby/object:Gem::Dependency
90
84
  requirement: !ruby/object:Gem::Requirement
91
85
  requirements:
92
86
  - - '>='
93
87
  - !ruby/object:Gem::Version
94
88
  version: '0'
89
+ name: sinatra
95
90
  prerelease: false
96
91
  type: :runtime
97
- - !ruby/object:Gem::Dependency
98
- name: sinatra-contrib
99
92
  version_requirements: !ruby/object:Gem::Requirement
100
93
  requirements:
101
94
  - - '>='
102
95
  - !ruby/object:Gem::Version
103
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
104
98
  requirement: !ruby/object:Gem::Requirement
105
99
  requirements:
106
100
  - - '>='
107
101
  - !ruby/object:Gem::Version
108
102
  version: '0'
103
+ name: sinatra-contrib
109
104
  prerelease: false
110
105
  type: :runtime
111
- - !ruby/object:Gem::Dependency
112
- name: erubis
113
106
  version_requirements: !ruby/object:Gem::Requirement
114
107
  requirements:
115
108
  - - '>='
116
109
  - !ruby/object:Gem::Version
117
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
118
112
  requirement: !ruby/object:Gem::Requirement
119
113
  requirements:
120
114
  - - '>='
121
115
  - !ruby/object:Gem::Version
122
116
  version: '0'
117
+ name: erubis
123
118
  prerelease: false
124
119
  type: :runtime
125
- - !ruby/object:Gem::Dependency
126
- name: bundler
127
120
  version_requirements: !ruby/object:Gem::Requirement
128
121
  requirements:
129
- - - ~>
122
+ - - '>='
130
123
  - !ruby/object:Gem::Version
131
- version: '1.3'
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
132
126
  requirement: !ruby/object:Gem::Requirement
133
127
  requirements:
134
128
  - - ~>
135
129
  - !ruby/object:Gem::Version
136
130
  version: '1.3'
131
+ name: bundler
137
132
  prerelease: false
138
133
  type: :development
139
- - !ruby/object:Gem::Dependency
140
- name: rake
141
134
  version_requirements: !ruby/object:Gem::Requirement
142
135
  requirements:
143
- - - '>='
136
+ - - ~>
144
137
  - !ruby/object:Gem::Version
145
- version: '0'
138
+ version: '1.3'
139
+ - !ruby/object:Gem::Dependency
146
140
  requirement: !ruby/object:Gem::Requirement
147
141
  requirements:
148
142
  - - '>='
149
143
  - !ruby/object:Gem::Version
150
144
  version: '0'
145
+ name: rake
151
146
  prerelease: false
152
147
  type: :development
153
- - !ruby/object:Gem::Dependency
154
- name: rspec
155
148
  version_requirements: !ruby/object:Gem::Requirement
156
149
  requirements:
157
150
  - - '>='
158
151
  - !ruby/object:Gem::Version
159
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
160
154
  requirement: !ruby/object:Gem::Requirement
161
155
  requirements:
162
156
  - - '>='
163
157
  - !ruby/object:Gem::Version
164
158
  version: '0'
159
+ name: rspec
165
160
  prerelease: false
166
161
  type: :development
167
- - !ruby/object:Gem::Dependency
168
- name: pry
169
162
  version_requirements: !ruby/object:Gem::Requirement
170
163
  requirements:
171
164
  - - '>='
172
165
  - !ruby/object:Gem::Version
173
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
174
168
  requirement: !ruby/object:Gem::Requirement
175
169
  requirements:
176
170
  - - '>='
177
171
  - !ruby/object:Gem::Version
178
172
  version: '0'
173
+ name: pry
179
174
  prerelease: false
180
175
  type: :development
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
181
  description: Norikra is a open source server software provides "Schema-les Stream Processing" with SQL, written in JRuby, runs on JVM, licensed under GPLv2.
182
182
  email:
183
183
  - tagomoris@gmail.com
@@ -196,7 +196,7 @@ files:
196
196
  - Rakefile
197
197
  - bin/norikra
198
198
  - esper/changelog.txt
199
- - esper/esper-5.0.0.jar
199
+ - esper/esper-5.2.0.jar
200
200
  - esper/esper-license.txt
201
201
  - esper/esper/lib/antlr-runtime-4.1.jar
202
202
  - esper/esper/lib/cglib-nodep-3.1.jar
@@ -288,9 +288,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
288
288
  version: '0'
289
289
  required_rubygems_version: !ruby/object:Gem::Requirement
290
290
  requirements:
291
- - - '>='
291
+ - - '>'
292
292
  - !ruby/object:Gem::Version
293
- version: '0'
293
+ version: 1.3.1
294
294
  requirements: []
295
295
  rubyforge_project:
296
296
  rubygems_version: 2.1.9