[prev in list] [next in list] [prev in thread] [next in thread]
List: rhq-devel
Subject: Re: [wildfly-dev] embedded RHQ agent subsystem into WildFly
From: Jason Greene <jason.greene () redhat ! com>
Date: 2014-02-07 19:07:35
Message-ID: 1E965EB8-9087-4B7F-87C3-B617A4F33493 () redhat ! com
[Download RAW message or body]
On Feb 7, 2014, at 12:02 PM, Brian Stansberry <brian.stansberry@redhat.com> wrote:
> Thanks, John.
>
> I think we need to thoroughly work through the requirements and all the
> expected behavior, and then start worrying about the implementation issues.
Agreed.
-snip-
>
> > The thought is to embed a RHQ Agent in a running WildFly instance, specifically a \
> > Host Controller. In the standalone RHQ use-case, a single RHQ Agent process runs \
> > on a box and manages all the things on that box. Since there is one Host \
> > Controller on a box, it seems to make sense to embed a RHQ Agent there. This is \
> > something we can discuss (do we embed in Process Controller instead? The initial \
> > thought was no, probably not a good idea).
>
> Right. The PC is only meant to control the lifecycle of the other
> processes, with as little complexity as possible. Reliability is
> critical so we don't want complexity.
>
> We separated the PC from the HC to reduce the risk that a problem in the
> complex HC would cause it to fail and leave nothing consuming the
> stdout/err streams of the server processes. We didn't want "agent"
> failures affecting end-user request handling.
There is another reason as well which is just that forking processes in random Java \
threads has various reliability issues.
>
> The java.lang.ProcessBuilder.Redirect stuff in JDK 7 *may* eliminate the
> need for a separate PC in the future. But if we want this in EAP 6.x we
> can't assume JDK 7.
>
> A general notion way back at the start of AS7 was the PC might also make
> doing patching easier. As we tackle domain-controller-coordinated
> patching this year we'll see if that proves true. I have some doubts now.
>
>
> > This would allow a person to "flip a switch" to enable RHQ management of their \
> > WildFly infrastructure running on that box without having to separately install a \
> > RHQ agent on their own.
-snip-
>
> There is presently no extensibility mechanism for the HC process. We are
> going to have to create one for other reasons anyway, so we should just
> assume that the HC will be extensible.
>
> I'm sure it will work similarly to server process extensions, with a
> very very high % of code reuse for stuff that can be both a server
> extension and an HC extension.
Another issue is that the HC has requirements about having low memory overhead, not \
being chatty upstream, and have good reliability and so on. These requirements were \
intended to avoid one of the biggest complaints in our competitor's products, which \
is that the agent is an out of control beast and a scalability limit. Now I'm not \
saying that RHQ doesn't meet these requirements as well, its just something we have \
to verify, as IMO they out-way the perceived social benefits that come from bolting \
two processes together.
Another option I think we should look at is what functionality the RHQ agent provides \
beyond the HC when RHQ is managing WF derived product nodes. If RHQ has to talk to \
the WF HC anyway, and it just needs a few extra things we could just add those in. \
For example I know the RHQ agent collects OS data. That would be a very small \
enhancement to add, and you start to gain real benefits of merging the two processes \
because the overall footprint matches that of one process (vs two processes that are \
just sharing the same PID).
--
Jason T. Greene
WildFly Lead / JBoss EAP Platform Architect
JBoss, a division of Red Hat
_______________________________________________
rhq-devel mailing list
rhq-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/rhq-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic