[jboss-jira] [JBoss JIRA] (DROOLS-1143) Guice error resolving implementation for RepositorySystem in shaded jar for kie-ci 6.3.0.Final with spark streaming (1.6.1)

Lucie Zhao (JIRA) issues at jboss.org
Thu Apr 28 16:03:00 EDT 2016


    [ https://issues.jboss.org/browse/DROOLS-1143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13198729#comment-13198729 ] 

Lucie Zhao commented on DROOLS-1143:
------------------------------------

So I managed to get this working with Spark/Drools inside my eclipse (my eclipse project is maven + drools).  I'm suspecting now that the drools eclipse plugin adds in extra dependencies that I need.  For some reason what i have in my pom.xml doesn't bring in enough dependencies or is missing libraries and that's why running in eclipse works vs mvn package.

I still see some exceptions/logs when I'm running my spark job inside eclipse (pointed at a remote spark master) but now if I update my drools rules and publish a new artifact, it's getting picked up.  

I would still however like to understand whats' going on here and get my spark job running without having to use eclipse to run my job.  Please take a look at my pom.xml and let me know what I'm missing.  

> Guice error resolving implementation for RepositorySystem in shaded jar for kie-ci 6.3.0.Final with spark streaming (1.6.1)
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DROOLS-1143
>                 URL: https://issues.jboss.org/browse/DROOLS-1143
>             Project: Drools
>          Issue Type: Bug
>            Reporter: Lucie Zhao
>            Assignee: Mario Fusco
>
> I'm working on a project where I'm trying to integrate drools with spark streaming.  I've seen this error on DROOLS-723 where it's reported to have been fixed in 6.2.0.Final but I'm using 6.3.0.Final and it's not working for me.  I am able to run a quick test in my eclipse work space without the spark piece and it is working for me.  
> here's the stack trace:
> {code}
> 016-04-27 10:22:32,360 WARN  [streaming-job-executor-0] Sisu (Logs.java:warn(394)) - Error injecting: org.apache.maven.execution.DefaultMavenExecutionRequestPopulator
> com.google.inject.ProvisionException: Guice provision errors:
> 1) No implementation for org.apache.maven.repository.RepositorySystem was bound.
>   while locating org.apache.maven.execution.DefaultMavenExecutionRequestPopulator
> 1 error
> 	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:974)
> 	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
> 	at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
> 	at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
> 	at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
> 	at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
> 	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
> 	at org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133)
> 	at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)
> 	at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
> 	at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
> 	at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
> 	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> 	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
> 	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> 	at com.google.inject.Scopes$1$1.get(Scopes.java:59)
> 	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
> 	at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
> 	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
> 	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
> 	at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
> 	at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:246)
> 	at org.kie.scanner.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)
> 	at org.kie.scanner.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:111)
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:84)
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:75)
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:69)
> 	at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:55)
> 	at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:49)
> 	at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:127)
> 	at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:90)
> 	at org.kie.scanner.KieRepositoryScannerImpl.setKieContainer(KieRepositoryScannerImpl.java:88)
> 	at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieScanner(KieServicesImpl.java:139)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:239)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:1)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.DStream.createRDDWithLocalProperties(DStream.scala:426)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply$mcV$sp(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at scala.util.Try$.apply(Try.scala:161)
> 	at org.apache.spark.streaming.scheduler.Job.run(Job.scala:39)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply$mcV$sp(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler.run(JobScheduler.scala:223)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> java.lang.RuntimeException: org.kie.scanner.embedder.MavenEmbedderException: com.google.inject.ProvisionException: Guice provision errors:
> 1) No implementation for org.apache.maven.repository.RepositorySystem was bound.
>   while locating org.apache.maven.execution.DefaultMavenExecutionRequestPopulator
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
>       role: org.apache.maven.execution.MavenExecutionRequestPopulator
>   roleHint: 
> 	at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:57)
> 	at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:49)
> 	at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:127)
> 	at org.kie.scanner.ArtifactResolver.getResolverFor(ArtifactResolver.java:90)
> 	at org.kie.scanner.KieRepositoryScannerImpl.setKieContainer(KieRepositoryScannerImpl.java:88)
> 	at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieScanner(KieServicesImpl.java:139)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:239)
> 	at com.emc.ctooil.spark.SparkKafkaDroolsConsumer$4.call(SparkKafkaDroolsConsumer.java:1)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$foreachRDD$3.apply(JavaDStreamLike.scala:335)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$1$$anonfun$apply$mcV$sp$3.apply(DStream.scala:661)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1$$anonfun$apply$mcV$sp$1.apply(ForEachDStream.scala:50)
> 	at org.apache.spark.streaming.dstream.DStream.createRDDWithLocalProperties(DStream.scala:426)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply$mcV$sp(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$1.apply(ForEachDStream.scala:49)
> 	at scala.util.Try$.apply(Try.scala:161)
> 	at org.apache.spark.streaming.scheduler.Job.run(Job.scala:39)^C
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply$mcV$sp(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler$$anonfun$run$1.apply(JobScheduler.scala:224)
> 	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
> 	at org.apache.spark.streaming.scheduler.JobScheduler$JobHandler.run(JobScheduler.scala:223)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.kie.scanner.embedder.MavenEmbedderException: com.google.inject.ProvisionException: Guice provision errors:
> 1) No implementation for org.apache.maven.repository.RepositorySystem was bound.
>   while locating org.apache.maven.execution.DefaultMavenExecutionRequestPopulator
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
>       role: org.apache.maven.execution.MavenExecutionRequestPopulator
>   roleHint: 
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:94)
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:75)
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:69)
> 	at org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:55)
> 	... 28 more
> Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Guice provision errors:
> 1) No implementation for org.apache.maven.repository.RepositorySystem was bound.
>   while locating org.apache.maven.execution.DefaultMavenExecutionRequestPopulator
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
>       role: org.apache.maven.execution.MavenExecutionRequestPopulator
>   roleHint: 
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:264)
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:246)
> 	at org.kie.scanner.embedder.PlexusComponentProvider.lookup(PlexusComponentProvider.java:42)
> 	at org.kie.scanner.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:111)
> 	at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:84)
> 	... 31 more
> Caused by: com.google.inject.ProvisionException: Guice provision errors:
> 1) No implementation for org.apache.maven.repository.RepositorySystem was bound.
>   while locating org.apache.maven.execution.DefaultMavenExecutionRequestPopulator
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
>   while locating org.apache.maven.execution.MavenExecutionRequestPopulator
> 1 error
> 	at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:974)
> 	at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
> 	at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
> 	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
> 	... 36 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list