You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Boris Shulman (JIRA)" <ji...@apache.org> on 2016/08/12 21:28:20 UTC

[jira] [Created] (REEF-1529) Fixing reef-webserver for multi runtime

Boris Shulman created REEF-1529:
-----------------------------------

             Summary: Fixing reef-webserver for multi runtime
                 Key: REEF-1529
                 URL: https://issues.apache.org/jira/browse/REEF-1529
             Project: REEF
          Issue Type: Improvement
            Reporter: Boris Shulman
            Assignee: Boris Shulman


reef-webserver functionality is broken for multiruntime on yarn. The problem is that the http-server does not exist in the injector that is used for the actual runtime implementation.

The proposed solution is to check if http server is binded in the original injector and copy it to the aftual runitme injector:
Add in RuntimesHost.initializeInjector method:

org.apache.reef.webserver.HttpServer httpServer = null;

    try{
      httpServer = this.originalInjector.getInstance(org.apache.reef
              .webserver
              .HttpServer.class);
    }    catch(org.apache.reef.tang.exceptions.InjectionException e) {
    }

    if(httpServer != null){
      runtimeInjector.bindVolatileInstance(
              org.apache.reef.webserver.HttpServer.class,
              httpServer);
    }


In addition I need to pass the right TrackingURLProvider to the actual runtime. I propose to change the default implementation to the HttpTrackingURLProvider and remove the current DefaultTrackingURLProvider empty implementation. In addition I will need to add default emptyimplementation for HttpServer in order to be able to instantiate the  TrackingURLProvider  implementation when no httpserver is bound.






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