reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yingda Chen <ydc...@gmail.com>
Subject Re: Question about Reef-webserver
Date Thu, 09 Oct 2014 04:37:44 GMT
I am fine with making it public class, as long as we make it specific (in
java doc) that this is only a request, whose satisfaction cannot be
guaranteed.

On Wed, Oct 8, 2014 at 9:31 PM, Yunseong Lee <yunseong.lee@me.com> wrote:

> It is not critical, but would be useful for some usage cases including
> mine :)
>
> Any comments on changing the class PortNumber to public?
>
> Thank you
> -Yunseong
> On October 9, 2014 at 2:20:09 AM, Julia Wang (QIUHE) (
> qiuhe.wang@microsoft.com) wrote:
>
> We can change it to public if there is no objection.
>
> -----Original Message-----
> From: Yunseong Lee [mailto:yunseong.lee@me.com]
> Sent: Wednesday, October 08, 2014 10:12 AM
> To: dev@reef.incubator.apache.org
> Subject: Re: Question about Reef-webserver
>
> Thanks for the explanation in detail Yingda, Markus and Julia.
> Now I understand why users are not always able to set the port number.
>
> But I still have a question about binding parameter. I already tried to
> bind a port number as you suggested:
>
>   final Configuration httpServerConfiguration =
> Tang.Factory.getTang().newConfigurationBuilder()
>   .bindNamedParameter(PortNumber.class, "9000")
>   .build();
>
> However, since PortNumber is not a public class, it is not available to
> use in my class so that I could not bind the parameter.
> Would you please let me know if I missed some point?
>
> Thank you.
> - Yunseong
>
>
>
> I tried the way Julia suggested, but PortNumber is not a public class,
>
> On October 9, 2014 at 1:07:01 AM, Markus Weimer (weimer@apache.org) wrote:
>
> Hi,
>
> mostly: What Yingda said.
>
> Typically, we are on clusters with shared machines where one physical
> machine (and IP address) hosts multiple containers. Assuming that any one
> particular port is available for us isn't possible. Hence, the constructor
> of HttpServerImpl tries different ports until an available one is found. In
> the case of the Driver, we use the found port in order to register the
> application with the resource manager to enable discovery through the RM,
> which is part of the infrastructure of the cluster and therefore a known
> entity.
>
>
> The way HttpServerImpl does this searchfor a port is configurable, but it
> starts with com.microsoft.reef.webserver.PortNumber, which defaults to
> 8080. If you want to start the search elsewhere, you can bind a different
> value to that named parameter.
>
> Hope this helps,
>
> Markus
>
> On Wed, Oct 8, 2014 at 7:15 AM, Yingda Chen <ydchen@gmail.com> wrote:
>
> > We had similar discussions before, and for most usage cases, we depend
> > on YARN to do the http traffic forwarding, which will automatically
> > find the port used by Reef (AM) http server.
> >
> > I agree that allowing user to set port can provide more flexibility,
> > but with flexibility also comes some uncertainty - since we cannot
> > guarantee that the port specified by the user can be used, as another
> > application may already be using that. In fact, on a multi-tenant
> > cluster where multiple Reef applications are running, port-collision
> > is inevitable. I guess we can still do it and make it clear to the
> > user that REEF can only bind the port on a best-effort basis. I am
> > open to that discussion :)
> >
> > -Yingda
> >
> > On Wed, Oct 8, 2014 at 3:21 AM, Yunseong Lee <yunseong.lee@me.com>
> wrote:
> >
> > > Hi, I am building an application using Reef-webserver and I have a
> > > question.
> > >
> > > Is there a way to set a port number other than the default value(8080)?
> > >
> > > As far as I have found, HttpServer does not have a method to set the
> > > port number.
> > > I found some tests binding PortNumber via Configuration, but since
> > > PortNumber is not a public class it is not available outside the
> > > package.
> > >
> > > In my opinion, it is reasonable to allow user to set the port number.
> > > When another application reserved 8080 port, I found the app and
> > > reef-webserver both go wrong.
> > >
> > > Any thoughts?
> > >
> > > Thank you.
> > > - Yunseong
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message