LoginSignup
0

More than 3 years have passed since last update.

EmbulkでConfig読み込み時にエラー(Invalid value for :hash)

Posted at

環境

embulk 0.9.17

現象

EmbulkでConfig読み込み時にエラー

org.embulk.exec.PartialExecutionException: org.jruby.proxy.org.embulk.config.ConfigException$Proxy1: Invalid value for :hash
        at org.embulk.exec.BulkLoader$LoaderState.buildPartialExecuteException(BulkLoader.java:340)
        at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:566)
        at org.embulk.exec.BulkLoader.access$000(BulkLoader.java:35)
        at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:353)
        at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:350)
        at org.embulk.spi.Exec.doWith(Exec.java:22)
        at org.embulk.exec.BulkLoader.run(BulkLoader.java:350)
        at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:178)
        at org.embulk.EmbulkRunner.runInternal(EmbulkRunner.java:292)
        at org.embulk.EmbulkRunner.run(EmbulkRunner.java:156)
        at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:433)
        at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:90)
        at org.embulk.cli.Main.main(Main.java:64)
        Suppressed: java.lang.NullPointerException
                at org.embulk.exec.BulkLoader.doCleanup(BulkLoader.java:463)
                at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:397)
                at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:394)
                at org.embulk.spi.Exec.doWith(Exec.java:22)
                at org.embulk.exec.BulkLoader.cleanup(BulkLoader.java:394)
                at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:181)
                ... 5 more
Caused by: org.jruby.proxy.org.embulk.config.ConfigException$Proxy1: Invalid value for :hash
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.jruby.javasupport.proxy.JavaProxyConstructor.newInstanceImpl(JavaProxyConstructor.java:119)
        at org.jruby.javasupport.proxy.JavaProxyConstructor.newInstance(JavaProxyConstructor.java:205)
        at org.jruby.javasupport.Java$JCreateMethod.call(Java.java:618)
        at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)
        at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:739)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
        at org.jruby.java.proxies.ConcreteJavaProxy$InitializeMethod.call(ConcreteJavaProxy.java:48)
        at org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:984)
        at org.jruby.ir.instructions.InstanceSuperInstr.interpret(InstanceSuperInstr.java:69)
        at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
        at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74)
        at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:328)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:165)
        at org.jruby.RubyClass.newInstance(RubyClass.java:1001)
        at org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)
        at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)
        at org.jruby.java.proxies.ConcreteJavaProxy$NewMethod.call(ConcreteJavaProxy.java:158)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:155)
        at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
        at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
        at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:432)
        at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
        at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
        at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:432)
        at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
        at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
        at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:84)
        at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:429)
        at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
        at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:74)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
        at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
        at Embulk$$OutputPlugin$$JavaAdapter_479999242.transaction(Embulk$$OutputPlugin$$JavaAdapter_479999242.gen:13)
        at org.embulk.exec.BulkLoader$4$1$1.transaction(BulkLoader.java:521)
        at org.embulk.exec.LocalExecutorPlugin.transaction(LocalExecutorPlugin.java:50)
        at org.embulk.exec.BulkLoader$4$1.run(BulkLoader.java:516)
        at org.embulk.spi.util.Filters$RecursiveControl.transaction(Filters.java:84)
        at org.embulk.spi.util.Filters.transaction(Filters.java:42)
        at org.embulk.exec.BulkLoader$4.run(BulkLoader.java:511)
        at org.embulk.spi.FileInputRunner$RunnerControl$1$1.run(FileInputRunner.java:112)
        at org.embulk.standards.CsvParserPlugin.transaction(CsvParserPlugin.java:226)
        at org.embulk.spi.FileInputRunner$RunnerControl$1.run(FileInputRunner.java:107)
        at org.embulk.spi.util.Decoders$RecursiveControl.transaction(Decoders.java:68)
        at org.embulk.spi.util.Decoders$RecursiveControl$1.run(Decoders.java:64)
        at org.embulk.standards.GzipFileDecoderPlugin.transaction(GzipFileDecoderPlugin.java:25)
        at org.embulk.spi.util.Decoders$RecursiveControl.transaction(Decoders.java:60)
        at org.embulk.spi.util.Decoders.transaction(Decoders.java:29)
        at org.embulk.spi.FileInputRunner$RunnerControl.run(FileInputRunner.java:105)
        at org.embulk.input.gcs.GcsFileInputPlugin.resume(GcsFileInputPlugin.java:82)
        at org.embulk.input.gcs.GcsFileInputPlugin.transaction(GcsFileInputPlugin.java:72)
        at org.embulk.spi.FileInputRunner.transaction(FileInputRunner.java:62)
        at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:507)
        ... 11 more

Error: org.jruby.proxy.org.embulk.config.ConfigException$Proxy1: Invalid value for :hash

原因

embulk-output-bigquery を使っていたが、 time_partitioningtyperequire_partition_filter をなぜか配列にしてしまっていた。

解決策

Configのだめな箇所を修正(foo.ymlが正しい)

diff foo.yml foo2.yml
77c77,79
<   time_partitioning: {type: DAY, require_partition_filter: true}
---
>   time_partitioning:
>   - {type: DAY}
>   - {require_partition_filter: true}

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0