You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Geon Woo Kim (JIRA)" <ji...@apache.org> on 2015/04/21 11:10:58 UTC

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

Geon Woo Kim created REEF-270:
---------------------------------

             Summary: 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


 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)