環境
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_partitioning
の type
と require_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}