You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Julia (JIRA)" <ji...@apache.org> on 2015/05/19 00:47:01 UTC

[jira] [Updated] (REEF-270) Missing @Inject annotation in NetworkService, GroupCommDriverImpl

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

Julia updated REEF-270:
-----------------------
    Fix Version/s: 0.11

> Missing @Inject annotation in NetworkService, GroupCommDriverImpl
> -----------------------------------------------------------------
>
>                 Key: REEF-270
>                 URL: https://issues.apache.org/jira/browse/REEF-270
>             Project: REEF
>          Issue Type: Bug
>          Components: REEF-IO
>            Reporter: Geon Woo Kim
>             Fix For: 0.11
>
>
>  I found an error when I executed the BroadcastREEF example. It seems to be caused by removing @Inject annotation in NetworkService and GroupCommDriverImpl. The constructors who have a parameter annotated by @Parameter must have @Inject annotation. We can easily fix the bug by bringing back @Inject annotation. 
> -- java -cp ... BroadcastREEF -dim 2 -receivers 10 ---
> ...
> ...
> java.lang.Exception: Fatal exception while executing the clock
>    at org.apache.reef.runtime.common.launch.LaunchClass.fail(LaunchClass.java:181)
>    at org.apache.reef.runtime.common.launch.LaunchClass.run(LaunchClass.java:163)
>    at org.apache.reef.runtime.common.Launcher.main(Launcher.java:111)
> Caused by: java.lang.RuntimeException: Unable to instantiate the clock
>    at org.apache.reef.runtime.common.launch.LaunchClass.getClock(LaunchClass.java:149)
>    at org.apache.reef.runtime.common.launch.LaunchClass.run(LaunchClass.java:161)
>    ... 1 more
> Caused by: org.apache.reef.tang.exceptions.ClassHierarchyException: public org.apache.reef.io.network.group.impl.driver.GroupCommDriverImpl(org.apache.reef.tang.formats.ConfigurationSerializer,java.lang.String,int) is not injectable, but it has an @Parameter annotation.
>    at org.apache.reef.tang.implementation.java.JavaNodeFactory.createConstructorDef(JavaNodeFactory.java:318)
>    at org.apache.reef.tang.implementation.java.JavaNodeFactory.createClassNode(JavaNodeFactory.java:99)
>    at org.apache.reef.tang.implementation.java.ClassHierarchyImpl.buildPathToNode(ClassHierarchyImpl.java:209)
>    at org.apache.reef.tang.implementation.java.ClassHierarchyImpl.registerClass(ClassHierarchyImpl.java:390)
>    at org.apache.reef.tang.implementation.java.ClassHierarchyImpl.register(ClassHierarchyImpl.java:330)
>    at org.apache.reef.tang.implementation.java.ClassHierarchyImpl.getNode(ClassHierarchyImpl.java:257)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.parseDefaultImplementation(InjectorImpl.java:373)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildInjectionPlan(InjectorImpl.java:446)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.filterCandidateConstructors(InjectorImpl.java:192)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildClassNodeInjectionPlan(InjectorImpl.java:279)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildInjectionPlan(InjectorImpl.java:449)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.filterCandidateConstructors(InjectorImpl.java:192)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildClassNodeInjectionPlan(InjectorImpl.java:279)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildInjectionPlan(InjectorImpl.java:449)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildInjectionPlan(InjectorImpl.java:417)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.filterCandidateConstructors(InjectorImpl.java:192)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildClassNodeInjectionPlan(InjectorImpl.java:279)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildInjectionPlan(InjectorImpl.java:449)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.filterCandidateConstructors(InjectorImpl.java:192)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildClassNodeInjectionPlan(InjectorImpl.java:279)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildInjectionPlan(InjectorImpl.java:449)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.buildInjectionPlan(InjectorImpl.java:417)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.getInjectionPlan(InjectorImpl.java:469)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.getInstance(InjectorImpl.java:512)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.getNamedInstance(InjectorImpl.java:544)
>    at org.apache.reef.tang.InjectionFuture.get(InjectionFuture.java:116)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.getInstance(InjectorImpl.java:519)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.getNamedInstance(InjectorImpl.java:544)
>    at org.apache.reef.tang.InjectionFuture.get(InjectionFuture.java:116)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.getInstance(InjectorImpl.java:519)
>    at org.apache.reef.tang.implementation.java.InjectorImpl.getInstance(InjectorImpl.java:531)
>    at org.apache.reef.runtime.common.launch.LaunchClass.getClock(LaunchClass.java:146)
>    ... 2 more
> ...
> ...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)