[
https://issues.jboss.org/browse/TEIID-2536?page=com.atlassian.jira.plugin...
]
Steven Hawkins resolved TEIID-2536.
-----------------------------------
Labels: 8.4.Final (was: )
Resolution: Done
This is caused by "enterprise" types, which are typically created by Designer
for XML document models. It should not affect dynamic or basic designer based vdbs.
Addressed by separately tracking enterprise types as we cannot modify the built-in/runtime
types as they are shared across all vdbs. There is still the issue that enterprise types
are effectively schema scoped, rather than vdb scoped. At some point when we overhaul the
type system to make it more extensible we'll want to ensure that the designer and
Teiid are in synch as to the scoping (both vdb or both schema).
MetadataFactory datatype issue on boot up
-----------------------------------------
Key: TEIID-2536
URL:
https://issues.jboss.org/browse/TEIID-2536
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 8.1
Reporter: Van Halbert
Assignee: Steven Hawkins
Labels: 8.4.Final
Fix For: 8.4
Occurs on server startup. Deployed a vdb and was able to connect, etc. Bounced the
server and now get a bunch of these errors:
21:03:39,432 ERROR [org.jboss.threads.executor] (teiid-async-threads -
1) Task execution failed for task org.teiid.jboss.VDBService$6@54241d18:
java.lang.NullPointerException
at
org.teiid.metadata.MetadataFactory.addDatatype(MetadataFactory.java:589)
[teiid-api-8.4.0.CR2-SNAPSHOT.jar:8.4.0.CR2-SNAPSHOT]
at
org.teiid.metadata.MetadataFactory.correctDataTypes(MetadataFactory.java:583)
[teiid-api-8.4.0.CR2-SNAPSHOT.jar:8.4.0.CR2-SNAPSHOT]
at
org.teiid.metadata.MetadataFactory.correctDatatypes(MetadataFactory.java:559)
[teiid-api-8.4.0.CR2-SNAPSHOT.jar:8.4.0.CR2-SNAPSHOT]
at org.teiid.jboss.VDBService$6.run(VDBService.java:367)
[teiid-jboss-integration-8.4.0.CR2-SNAPSHOT.jar:8.4.0.CR2-SNAPSHOT]
at
org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:806)
at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:847)
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
------------
Looking at MetadataFactory I noticed the following:
Datatype dt = this.builtinDataTypes.get(c.getDatatype().getName());
if (dt != null) {
c.setDatatype(dt);
} else {
//must be an enterprise type
//if it's used in a single schema, we're ok, but
when used in multiple there's an issue
--> addDatatype(dt);
}
}
---------
that addDatatype(dt) was passing dt when null, and therefore, in addDatatype, the NPE was
caused when datatype.getName() is called. But I think what was intended was to pass in
c.getDatatype() when it wasn't found in the builtinDataTypes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira