Hi,
A small correction for point (2): the exception is thrown because of
(3),
not because of this.transformArgs being null (this is what I thought
initially, but, after further debugging, I identified (3) as the
cause, and I
forgot to edit point (2)).
Gabriel
On Aug 2, 2007, at 5:06 PM, Gabriel Mateescu wrote:
Hello,
There are two bugs in the Globus code which are the cause
of this behavior (but they can be avoided, see below):
1. First, the error message
Unhandled exception during execution of
org.globus.mds.usefulrp.glue.GangliaElementProducer
is erroneous because it indicates the wrong class name. The
message comes from the method
timerExpired in ResourcePropertyProviderTask.java, which
contains this code fragment:
try
{
result = this.producer.getElement(this.trimmedArgs);
this.listener.executionPerformed(result);
}
catch (Exception e)
{
logger.error("Unhandled exception during execution of " +
config.getClassName() + ": " + e);
....
}
The bug here is that config.getClassName() will report always
org.globus.mds.usefulrp.glue.GangliaElementProducer
which provides the getElement method, but the exception can
be also thrown by
the method executionPerfomed() which is in the class
TransformElementListener.java.
In this case, the exception is in fact thrown by
executionPerfomed().
2. Second, the method executionPerformed() in
TransformElementListener.java
is the one that throws the exception, and it does so because
this.transformArgs
is null. However, this.transformArgs is not an argument to
this method, but it is
set in the TransformElementListener constructor, and it is
not clear why
it is null: is it because of a missing parameter in some
configuration
file, or is it a bug in the code that invokes the constructor?
3. Third, the method executionPerformed() in
TransformElementListener.java
invokes transformElement() in GLUEComputeElementTransform.java
which contains this code
if (logger.isDebugEnabled()) {
logger.debug(
"Successfully deserialized transform input into
ClusterCollectionType object: " +
ObjectSerializer.toString(clusters));
}
When debugging is enabled, the logging at point 3 throws an
exception.
So the bugs are at (1) and (3).
Thomas: Please disable debugging and see if it works.
Gabriel
On Aug 2, 2007, at 10:02 AM, Thomas Bruesemeister wrote:
Again, the Ganglia information appears in the container.log but
not in the services.
I guess this issue is related to:
2007-08-02 09:45:35,716 ERROR
rpprovider.ResourcePropertyProviderTask [Timer-4,timerExpired:159]
Unhandled exception during execution of
org.globus.mds.usefulrp.glue.GangliaElementProducer :
java.lang.IllegalArgumentException: Argument name is null
Any ideas whats going wrong here?
Best wishes,
Thomas