embulk/embulk-input-command

Failed to run until I installed rjack-icu

Closed this issue · 2 comments

Didn't hit this error with any other input plugin. Resolved by running embulk gem install rjack-icu .. but I assume that this gem should be installing that as a dependency?

LoadError: no such file to load -- rjack-icu
  require at org/jruby/RubyKernel.java:956
  require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55
    guess at uri:classloader:/embulk/guess/charset.rb:25
    guess at uri:classloader:/embulk/guess_plugin.rb:91
    guess at uri:classloader:/embulk/guess_plugin.rb:24
    guess at uri:classloader:/embulk/runner.rb:17
      run at uri:classloader:/embulk/command/embulk_run.rb:303
   <main> at uri:classloader:/embulk/command/embulk_main.rb:2
  require at org/jruby/RubyKernel.java:956
   (root) at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
   <main> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55
  require at org/jruby/RubyKernel.java:956
   (root) at /Library/Ruby/Gems/2.0.0/gems/embulk-0.8.15/lib/embulk/command/embulk_bundle.rb:51
   <main> at /Library/Ruby/Gems/2.0.0/gems/embulk-0.8.15/bin/embulk:9
embulk run scripts/scripts-charity_eins-config.yml -c scripts/scripts-charity_eins-diff.yml
2016-12-24 14:13:15.746 -0800: Embulk v0.8.15
com.fasterxml.jackson.databind.RuntimeJsonMappingException: Expected object to load ConfigSource but got null
	at org.embulk.config.ConfigLoader.validateJsonNode(org/embulk/config/ConfigLoader.java:88)
	at org.embulk.config.ConfigLoader.fromYamlString(org/embulk/config/ConfigLoader.java:67)
	at java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)
	at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:453)
	at org.jruby.javasupport.JavaMethod.invokeDirect(org/jruby/javasupport/JavaMethod.java:314)
	at RUBY.read_config(uri:classloader:/embulk/runner.rb:131)
	at RUBY.run(uri:classloader:/embulk/runner.rb:55)
	at RUBY.run(uri:classloader:/embulk/command/embulk_run.rb:307)
	at RUBY.<main>(uri:classloader:/embulk/command/embulk_main.rb:2)
	at org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:850)
	at org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2976)
	at org.jruby.RubyKernel.requireCommon(org/jruby/RubyKernel.java:963)
	at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)
	at org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(org/jruby/RubyKernel$INVOKER$s$1$0$require19.gen)
	at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)
	at RUBY.<main>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)
	at org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:850)
	at org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2976)
	at org.jruby.RubyKernel.requireCommon(org/jruby/RubyKernel.java:963)
	at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)
	at org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(org/jruby/RubyKernel$INVOKER$s$1$0$require19.gen)
	at RUBY.(root)(/Library/Ruby/Gems/2.0.0/gems/embulk-0.8.15/lib/embulk/command/embulk_bundle.rb:51)
	at Library.Ruby.Gems.$2_dot_0_dot_0.gems.embulk_minus_0_dot_8_dot_15.bin.embulk.invokeOther14:require_relative(Library/Ruby/Gems/$2_dot_0_dot_0/gems/embulk_minus_0_dot_8_dot_15/bin//Library/Ruby/Gems/2.0.0/gems/embulk-0.8.15/bin/embulk:9)
	at Library.Ruby.Gems.$2_dot_0_dot_0.gems.embulk_minus_0_dot_8_dot_15.bin.embulk.<main>(/Library/Ruby/Gems/2.0.0/gems/embulk-0.8.15/bin/embulk:9)
	at java.lang.invoke.MethodHandle.invokeWithArguments(java/lang/invoke/MethodHandle.java:627)
	at org.jruby.Ruby.runScript(org/jruby/Ruby.java:834)
	at org.jruby.Ruby.runNormally(org/jruby/Ruby.java:749)
	at org.jruby.Ruby.runNormally(org/jruby/Ruby.java:767)
	at org.jruby.Ruby.runFromMain(org/jruby/Ruby.java:580)
	at org.jruby.Main.doRunFromMain(org/jruby/Main.java:425)
	at org.jruby.Main.internalRun(org/jruby/Main.java:313)
	at org.jruby.Main.run(org/jruby/Main.java:242)
	at org.jruby.Main.main(org/jruby/Main.java:204)

Hello @bcipolli

Humm.. Could you tell me more detail? I can't reproduce it.

  • Embulk version: 0.8.15
  • Configuration file.
  • OS

I tested

  • Embulk 0.8.15
  • OS: macOS 10.12.2
curl --create-dirs -o ~/.embulk/bin/embulk -L "http://dl.embulk.org/embulk-latest.jar"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
100 39.5M  100 39.5M    0     0  4580k      0  0:00:08  0:00:08 --:--:-- 6898k
chmod +x ~/.embulk/bin/embulk
embulk gem list
2016-12-25 12:07:19.710 +0900: Embulk v0.8.15


in:

*** LOCAL GEMS ***

did_you_mean (default: 1.0.1)
jar-dependencies (default: 0.3.5)
jruby-openssl (0.9.17 java)
json (1.8.3 java)
minitest (default: 5.4.1)
net-telnet (default: 0.1.1)
power_assert (default: 0.2.3)
psych (2.0.17 java)
racc (1.4.14 java)
rake (default: 10.4.2)
rdoc (default: 4.2.0)
embulk gem install embulk-input-command
2016-12-25 12:07:46.249 +0900: Embulk v0.8.15
Fetching: embulk-input-command-0.1.4.gem (100%)
Successfully installed embulk-input-command-0.1.4
1 gem installed

cat conf.yml

in:
  type: command
  command: echo "1,2,3"
  parser:
    type: csv
    columns:
    - { name: c1, type: string }
    - { name: c2, type: string }
    - { name: c3, type: string }
out:
  type: stdout
embulk run conf.yml
2016-12-25 12:10:39.904 +0900: Embulk v0.8.15
2016-12-25 12:10:42.424 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-command (0.1.4)
2016-12-25 12:10:42.647 +0900 [INFO] (0001:transaction): Using local thread executor with max_threads=8 / output tasks 4 = input tasks 1 * 4
2016-12-25 12:10:42.661 +0900 [INFO] (0001:transaction): {done:  0 / 1, running: 0}
2016-12-25 12:10:42.691 +0900 [INFO] (0016:task-0000): Running command [sh, -c, echo "1,2,3"]
1,2,3
2016-12-25 12:10:42.785 +0900 [INFO] (0001:transaction): {done:  1 / 1, running: 0}
2016-12-25 12:10:42.796 +0900 [INFO] (main): Committed.
2016-12-25 12:10:42.797 +0900 [INFO] (main): Next config diff: {"in":{},"out":{}}

Note.

By the way, embulk mkbundle command install the rjack-icu gem.

embulk mkbundle hoge
2016-12-25 12:05:45.716 +0900: Embulk v0.8.15
Initializing hoge...
  Creating hoge/Gemfile
  Creating hoge/.ruby-version
  Creating hoge/.bundle/config
  Creating hoge/embulk/input/example.rb
  Creating hoge/embulk/output/example.rb
  Creating hoge/embulk/filter/example.rb
Fetching gem metadata from https://rubygems.org/...............
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Using bundler 1.10.6
Installing liquid 3.0.6
Installing msgpack 0.7.6
Installing rjack-icu 4.54.1.1
Installing embulk 0.8.15
Bundle complete! 1 Gemfile dependency, 5 gems now installed.
Bundled gems are installed into ..

I would like to close this issue.
Please feel free to reopen the issue if you need additional questions.