[ 
https://issues.apache.org/jira/browse/FLINK-18241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-18241:
-----------------------------------
    Labels: pull-request-available  (was: )

> Custom OptionsFactory in user code not working when configured via 
> flink-conf.yaml
> ----------------------------------------------------------------------------------
>
>                 Key: FLINK-18241
>                 URL: https://issues.apache.org/jira/browse/FLINK-18241
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / State Backends
>    Affects Versions: 1.10.0, 1.10.1
>            Reporter: Nico Kruber
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: DefaultConfigurableOptionsFactoryWithLog.java
>
>
> It seems like Flink 1.10 broke custom {{OptionsFactory}} definitions via the 
> {{state.backend.rocksdb.options-factory}} configuration if the implementation 
> resides in the user-code jar file. This is particularly bad to debug RocksDB 
> issues since we disabled its (ever-growing) LOG file in FLINK-15068.
> If you look at the stack trace from the error below, you will notice, that 
> {{StreamExecutionEnvironment}} is not provided with a user-code classloader 
> and will us the one of its own class which is the parent loader that does not 
> know about our {{OptionsFactory}}. This exact same code was working with 
> Flink 1.9.3.
> (I believe putting the custom {{OptionsFactory}} into a separate jar file 
> inside Flink's lib folder may be a workaround but that should ideally not be 
> needed).
> {code:java}
> 2020-06-09 16:18:59,409 ERROR 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint        [] - Could not 
> start cluster entrypoint StandaloneJobClusterEntryPoint.
> org.apache.flink.runtime.entrypoint.ClusterEntrypointException: Failed to 
> initialize the cluster entrypoint StandaloneJobClusterEntryPoint.
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:192)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runClusterEntrypoint(ClusterEntrypoint.java:525)
>  [flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.container.entrypoint.StandaloneJobClusterEntryPoint.main(StandaloneJobClusterEntryPoint.java:116)
>  [flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
> Caused by: org.apache.flink.util.FlinkException: Could not create the 
> DispatcherResourceManagerComponent.
>         at 
> org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory.create(DefaultDispatcherResourceManagerComponentFactory.java:261)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:220)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:174)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:173)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         ... 2 more
> Caused by: org.apache.flink.util.FlinkRuntimeException: Could not retrieve 
> the JobGraph.
>         at 
> org.apache.flink.runtime.dispatcher.runner.JobDispatcherLeaderProcessFactoryFactory.createFactory(JobDispatcherLeaderProcessFactoryFactory.java:57)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.DefaultDispatcherRunnerFactory.createDispatcherRunner(DefaultDispatcherRunnerFactory.java:51)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory.create(DefaultDispatcherResourceManagerComponentFactory.java:196)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:220)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:174)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:173)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         ... 2 more
> Caused by: org.apache.flink.util.FlinkException: Could not create the 
> JobGraph from the provided user code jar.
>         at 
> org.apache.flink.container.entrypoint.ClassPathJobGraphRetriever.retrieveJobGraph(ClassPathJobGraphRetriever.java:114)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.JobDispatcherLeaderProcessFactoryFactory.createFactory(JobDispatcherLeaderProcessFactoryFactory.java:55)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.DefaultDispatcherRunnerFactory.createDispatcherRunner(DefaultDispatcherRunnerFactory.java:51)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory.create(DefaultDispatcherResourceManagerComponentFactory.java:196)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:220)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:174)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:173)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         ... 2 more
> Caused by: org.apache.flink.client.program.ProgramInvocationException: The 
> main method caused an error: 
> org.apache.flink.util.DynamicCodeLoadingException: Cannot find configured 
> options factory class: com.ververica.DefaultConfigurableOptionsFactoryWithLog
>         at 
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:335)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.OptimizerPlanEnvironment.getPipeline(OptimizerPlanEnvironment.java:80)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.getPipelineFromProgram(PackagedProgramUtils.java:108)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:58)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.container.entrypoint.ClassPathJobGraphRetriever.retrieveJobGraph(ClassPathJobGraphRetriever.java:104)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.JobDispatcherLeaderProcessFactoryFactory.createFactory(JobDispatcherLeaderProcessFactoryFactory.java:55)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.DefaultDispatcherRunnerFactory.createDispatcherRunner(DefaultDispatcherRunnerFactory.java:51)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory.create(DefaultDispatcherResourceManagerComponentFactory.java:196)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:220)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:174)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:173)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         ... 2 more
> Caused by: org.apache.flink.util.FlinkRuntimeException: 
> org.apache.flink.util.DynamicCodeLoadingException: Cannot find configured 
> options factory class: com.ververica.DefaultConfigurableOptionsFactoryWithLog
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.<init>(RocksDBStateBackend.java:376)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.configure(RocksDBStateBackend.java:394)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackendFactory.createFromConfig(RocksDBStateBackendFactory.java:47)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackendFactory.createFromConfig(RocksDBStateBackendFactory.java:32)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.state.StateBackendLoader.loadStateBackendFromConfig(StateBackendLoader.java:154)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.loadStateBackend(StreamExecutionEnvironment.java:767)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.configure(StreamExecutionEnvironment.java:750)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.<init>(StreamExecutionEnvironment.java:218)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.<init>(StreamExecutionEnvironment.java:190)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamPlanEnvironment.<init>(StreamPlanEnvironment.java:38)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.createStreamExecutionEnvironment(StreamExecutionEnvironment.java:1871)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at java.util.Optional.orElseGet(Optional.java:267) ~[?:1.8.0_252]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getExecutionEnvironment(StreamExecutionEnvironment.java:1859)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> com.ververica.flinktraining.exercises.troubleshoot.TroubledStreamingJobUtils.createConfiguredEnvironment(TroubledStreamingJobUtils.java:40)
>  ~[?:?]
>         at 
> com.ververica.flinktraining.solutions.troubleshoot.TroubledStreamingJobSolution43.main(TroubledStreamingJobSolution43.java:40)
>  ~[?:?]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_252]
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_252]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_252]
>         at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
>         at 
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:321)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.OptimizerPlanEnvironment.getPipeline(OptimizerPlanEnvironment.java:80)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.getPipelineFromProgram(PackagedProgramUtils.java:108)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:58)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.container.entrypoint.ClassPathJobGraphRetriever.retrieveJobGraph(ClassPathJobGraphRetriever.java:104)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.JobDispatcherLeaderProcessFactoryFactory.createFactory(JobDispatcherLeaderProcessFactoryFactory.java:55)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.DefaultDispatcherRunnerFactory.createDispatcherRunner(DefaultDispatcherRunnerFactory.java:51)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory.create(DefaultDispatcherResourceManagerComponentFactory.java:196)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:220)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:174)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:173)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         ... 2 more
> Caused by: org.apache.flink.util.DynamicCodeLoadingException: Cannot find 
> configured options factory class: 
> com.ververica.DefaultConfigurableOptionsFactoryWithLog
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.configureOptionsFactory(RocksDBStateBackend.java:605)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.<init>(RocksDBStateBackend.java:370)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.configure(RocksDBStateBackend.java:394)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackendFactory.createFromConfig(RocksDBStateBackendFactory.java:47)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackendFactory.createFromConfig(RocksDBStateBackendFactory.java:32)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.state.StateBackendLoader.loadStateBackendFromConfig(StateBackendLoader.java:154)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.loadStateBackend(StreamExecutionEnvironment.java:767)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.configure(StreamExecutionEnvironment.java:750)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.<init>(StreamExecutionEnvironment.java:218)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.<init>(StreamExecutionEnvironment.java:190)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamPlanEnvironment.<init>(StreamPlanEnvironment.java:38)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.createStreamExecutionEnvironment(StreamExecutionEnvironment.java:1871)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at java.util.Optional.orElseGet(Optional.java:267) ~[?:1.8.0_252]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getExecutionEnvironment(StreamExecutionEnvironment.java:1859)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> com.ververica.flinktraining.exercises.troubleshoot.TroubledStreamingJobUtils.createConfiguredEnvironment(TroubledStreamingJobUtils.java:40)
>  ~[?:?]
>         at 
> com.ververica.flinktraining.solutions.troubleshoot.TroubledStreamingJobSolution43.main(TroubledStreamingJobSolution43.java:40)
>  ~[?:?]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_252]
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_252]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_252]
>         at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
>         at 
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:321)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.OptimizerPlanEnvironment.getPipeline(OptimizerPlanEnvironment.java:80)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.getPipelineFromProgram(PackagedProgramUtils.java:108)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:58)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.container.entrypoint.ClassPathJobGraphRetriever.retrieveJobGraph(ClassPathJobGraphRetriever.java:104)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.JobDispatcherLeaderProcessFactoryFactory.createFactory(JobDispatcherLeaderProcessFactoryFactory.java:55)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.DefaultDispatcherRunnerFactory.createDispatcherRunner(DefaultDispatcherRunnerFactory.java:51)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory.create(DefaultDispatcherResourceManagerComponentFactory.java:196)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:220)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:174)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:173)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         ... 2 more
> Caused by: java.lang.ClassNotFoundException: 
> com.ververica.DefaultConfigurableOptionsFactoryWithLog
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:382) 
> ~[?:1.8.0_252]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:418) 
> ~[?:1.8.0_252]
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) 
> ~[?:1.8.0_252]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:351) 
> ~[?:1.8.0_252]
>         at java.lang.Class.forName0(Native Method) ~[?:1.8.0_252]
>         at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_252]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.configureOptionsFactory(RocksDBStateBackend.java:594)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.<init>(RocksDBStateBackend.java:370)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackend.configure(RocksDBStateBackend.java:394)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackendFactory.createFromConfig(RocksDBStateBackendFactory.java:47)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.contrib.streaming.state.RocksDBStateBackendFactory.createFromConfig(RocksDBStateBackendFactory.java:32)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.state.StateBackendLoader.loadStateBackendFromConfig(StateBackendLoader.java:154)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.loadStateBackend(StreamExecutionEnvironment.java:767)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.configure(StreamExecutionEnvironment.java:750)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.<init>(StreamExecutionEnvironment.java:218)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.<init>(StreamExecutionEnvironment.java:190)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamPlanEnvironment.<init>(StreamPlanEnvironment.java:38)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.createStreamExecutionEnvironment(StreamExecutionEnvironment.java:1871)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at java.util.Optional.orElseGet(Optional.java:267) ~[?:1.8.0_252]
>         at 
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getExecutionEnvironment(StreamExecutionEnvironment.java:1859)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> com.ververica.flinktraining.exercises.troubleshoot.TroubledStreamingJobUtils.createConfiguredEnvironment(TroubledStreamingJobUtils.java:40)
>  ~[?:?]
>         at 
> com.ververica.flinktraining.solutions.troubleshoot.TroubledStreamingJobSolution43.main(TroubledStreamingJobSolution43.java:40)
>  ~[?:?]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_252]
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_252]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_252]
>         at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
>         at 
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:321)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.OptimizerPlanEnvironment.getPipeline(OptimizerPlanEnvironment.java:80)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.getPipelineFromProgram(PackagedProgramUtils.java:108)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:58)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.container.entrypoint.ClassPathJobGraphRetriever.retrieveJobGraph(ClassPathJobGraphRetriever.java:104)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.JobDispatcherLeaderProcessFactoryFactory.createFactory(JobDispatcherLeaderProcessFactoryFactory.java:55)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.dispatcher.runner.DefaultDispatcherRunnerFactory.createDispatcherRunner(DefaultDispatcherRunnerFactory.java:51)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.component.DefaultDispatcherResourceManagerComponentFactory.create(DefaultDispatcherResourceManagerComponentFactory.java:196)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:220)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:174)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:173)
>  ~[flink-dist_2.12-1.10.1-stream1.jar:1.10.1-stream1]{code}
> I attached the {{OptionsFactory}} that I used to show the error. (just put it 
> into the user code jar and configure
> {code:java}
> state.backend.rocksdb.options-factory: 
> com.ververica.DefaultConfigurableOptionsFactoryWithLog {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to