]
Steven Hawkins updated TEIID-4756:
----------------------------------
Component/s: Server
Improve log messages when using an UDAF without the required classes
defined in VDB
-----------------------------------------------------------------------------------
Key: TEIID-4756
URL:
https://issues.jboss.org/browse/TEIID-4756
Project: Teiid
Issue Type: Enhancement
Components: Server
Affects Versions: 9.1.2
Environment: * WildFly 10
* Teiid 9.1.2
* CentOs 7
Reporter: Pedro InĂ¡cio
Assignee: Steven Hawkins
When using an _UDAF_ in a _VDB_, the required *JAVA_CLASS* and *JAVA_METHOD* are
specified in the _VDB_.
When for some reason the _JAVA_CLASS_ or _JAVA_METHOD_ do not exist in the library, the
message from the system is quite imperceptible.
In the following log excerpt, _GlobalTitleRangeCheck_ class does not exist in the _jar_
_rangecreator_. The model name that is defining the _VIRTUAL FUNCTION_ is
_RangeGroupConcat_. The _VDB_ name is _CountryServiceListVDB_.
{panel:title=Log excerpt}
DEBUG [org.teiid.RUNTIME] (Worker53_async-teiid-threads203) TEIID50104 VDB
CountryServiceListVDB.1 model "RangeGroupConcat" Using translator null and
connection null to load metadata.
...
INFO [org.teiid.RUNTIME] (Worker53_async-teiid-threads203) TEIID40073 The metadata for
the VDB CountryServiceListVDB.1 is loaded, however it is not valid. Check models for
errors. Correct the metadata and re-deploy.
INFO [org.teiid.RUNTIME.VDBLifeCycleListener] (Worker53_async-teiid-threads203)
TEIID40003 VDB CountryServiceListVDB.1 is set to FAILED
{panel}
As observed from the log excerpt, the only possible hint to know what the problem is with
the _FAILED_ deploy might be:
_model "RangeGroupConcat" Using translator null and connection null to load
metadata._
But this is a normal logging message that doesn't have nothing to do with the real
problem.
When putting the entire system logging _ALL_ levels, then is easy to see what the problem
is:
{panel:title=Log excerpt}
DEBUG [org.teiid.RUNTIME] (Worker52_async-teiid-threads202) TEIID50104 VDB
CountryServiceListVDB.1 model "RangeGroupConcat" Using translator null and
connection null to load metadata.
INFO [org.teiid.RUNTIME] (Worker52_async-teiid-threads202) TEIID50030 VDB
CountryServiceListVDB.1 model "RangeGroupConcat" metadata loaded. End Time:
10/02/17 10:56
TRACE [org.jboss.modules] (Worker52_async-teiid-threads202) Finding class
com.truphone.teiid.udaf.GlobalTitleRangeCheck from Module
"deployment.countryServiceList-vdb.xml:main" from Service Module Loader
TRACE [org.jboss.modules] (Worker52_async-teiid-threads202) Finding local class
com.truphone.teiid.udaf.GlobalTitleRangeCheck from Module
"mnom.rangecreator:main" from local module loader @33e5ccce (finder: local
module finder @5a42bbf4 (roots:
/home/mnom/teiid/teiid-9.1.2/modules,/home/mnom/teiid/teiid-9.1.2/modules/system/layers/dv,/home/mnom/teiid/teiid-9.1.2/modules/system/layers/base))
TRACE [org.jboss.modules] (Worker52_async-teiid-threads202) Loading class
com.truphone.teiid.udaf.GlobalTitleRangeCheck locally from Module
"mnom.rangecreator:main" from local module loader @33e5ccce (finder: local
module finder @5a42bbf4 (roots:
/home/mnom/teiid/teiid-9.1.2/modules,/home/mnom/teiid/teiid-9.1.2/modules/system/layers/dv,/home/mnom/teiid/teiid-9.1.2/modules/system/layers/base))
TRACE [org.jboss.modules] (Worker52_async-teiid-threads202) No local specification found
for class com.truphone.teiid.udaf.GlobalTitleRangeCheck in Module
"mnom.rangecreator:main" from local module loader @33e5ccce (finder: local
module finder @5a42bbf4 (roots:
/home/mnom/teiid/teiid-9.1.2/modules,/home/mnom/teiid/teiid-9.1.2/modules/system/layers/dv,/home/mnom/teiid/teiid-9.1.2/modules/system/layers/base))
TRACE [org.jboss.modules] (Worker52_async-teiid-threads202) Class
com.truphone.teiid.udaf.GlobalTitleRangeCheck not found from Module
"deployment.countryServiceList-vdb.xml:main" from Service Module Loader
INFO [org.teiid.RUNTIME] (Worker52_async-teiid-threads202) TEIID40073 The metadata for
the VDB CountryServiceListVDB.1 is loaded, however it is not valid. Check models for
errors. Correct the metadata and re-deploy.
INFO [org.teiid.RUNTIME.VDBLifeCycleListener] (Worker52_async-teiid-threads202)
TEIID40003 VDB CountryServiceListVDB.1 is set to FAILED
{panel}
Here it is observable what the real problem is:
_No local specification found for class com.truphone.teiid.udaf.GlobalTitleRangeCheck in
Module "mnom.rangecreator:main"_
So, to avoid unnecessarily losing time to investigate what the problem is, the message
that is currently in *TRACE* level should be in, at least, *INFO* level.