Nah... this is hadoop RPC

On Tue, Dec 28, 2010 at 6:42 PM, Lance Norskog <goks...@gmail.com> wrote:

> Are you connecting to this JVM with RMI? RMI does a very nasty thing
> with garbage collection: it forces a blocking collection every 60
> seconds. Really. You have to change this with a system property.
>
> On Tue, Dec 28, 2010 at 5:56 PM, Todd Lipcon <t...@cloudera.com> wrote:
> > On Tue, Dec 28, 2010 at 1:00 PM, Stefan Groschupf <s...@101tec.com> wrote:
> >
> >> Hi Todd,
> >> Right, that is the code I'm looking into. Though Responder is inner
> private
> >> class and is created  "responder = new Responder();"
> >> It would be great if the Responder implementation could be configured.
> >> Do you have any idea how to overwrite the Responder?
> >>
> >
> > Nope, it's not currently pluggable, nor do I think there's any compelling
> > reason to make it pluggable. It's coupled quite tightly to the
> > implementation right now.
> >
> > Perhaps you can hack something in a git branch, and if it has good
> results
> > on something like NNBench it could be a general contribution?
> >
> > -Todd
> >
> >
> >> On Dec 27, 2010, at 8:21 PM, Todd Lipcon wrote:
> >>
> >> > Hi Stefan,
> >> >
> >> > Sounds interesting.
> >> >
> >> > Maybe you're looking for o.a.h.ipc.Server$Responder?
> >> >
> >> > -Todd
> >> >
> >> > On Mon, Dec 27, 2010 at 8:07 PM, Stefan Groschupf <s...@101tec.com>
> wrote:
> >> >
> >> >> Hi All,
> >> >> I'm browsing the RPC code since quite a while now trying to find any
> >> entry
> >> >> point / interceptor slot that allows me to handle a RPC call response
> >> >> writable after it was send over the wire.
> >> >> Does anybody has an idea how break into the RPC code from outside.
> All
> >> the
> >> >> interesting methods are private. :(
> >> >>
> >> >> Background:
> >> >> Heavy use of the RPC allocates hugh amount of Writable objects. We
> saw
> >> in
> >> >> multiple systems  that the garbage collect can get so busy that the
> jvm
> >> >> almost freezes for seconds. Things like zookeeper sessions time out
> in
> >> that
> >> >> cases.
> >> >> My idea is to create an object pool for writables. Borrowing an
> object
> >> from
> >> >> the pool is simple since this happen in our custom code, though we do
> >> know
> >> >> when the writable return was send over the wire and can be returned
> into
> >> the
> >> >> pool.
> >> >> A dirty hack would be to overwrite the write(out) method in the
> >> writable,
> >> >> assuming that is the last thing done with the writable, though turns
> out
> >> >> that this method is called in other cases too, e.g. to measure
> >> throughput.
> >> >>
> >> >> Any ideas?
> >> >>
> >> >> Thanks,
> >> >> Stefan
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > Todd Lipcon
> >> > Software Engineer, Cloudera
> >>
> >>
> >
> >
> > --
> > Todd Lipcon
> > Software Engineer, Cloudera
> >
>
>
>
> --
> Lance Norskog
> goks...@gmail.com
>

Reply via email to