[
https://issues.jboss.org/browse/TEIID-4321?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-4321:
---------------------------------------
I changed the MetadataValidator class to remove the warnings and the
VDB deployed ok. If an issue is going to fail deployment, shouldn't it be on an ERROR?
Actually no. ERROR logging is only for unexpected errors. Expected errors from user
events are logged at a WARN level (otherwise it's very easy to fill up the logs with a
failing query for example). If you want to make the case that this is an administrative
operation and should logged at a higher level, then that could be considered.
1. regarding column size, is it required that all columns in the
materialized table to be writable?
No. However updatablity of the matview doesn't correlate to a consideration about the
materialization table.
Here is what I would do for a change:
- only check for fewer columns in the materialization table as that is obviously an issue
- and as you have done don't require columns to be positionally the same
{code}
List<Column> matViewColumns = view.getColumns();
List<Column> tableColumns = table.getColumns();
if(tableColumns.size() < matViewColumns.size()) {
metadataValidator.log(report, model,
QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31193, table.getFullName(),
view.getFullName()));
} else {
for(int i = 0 ; i < matViewColumns.size() ; i ++) {
Column matViewColumn = matViewColumns.get(i);
Column tableColumn = table.getColumnByName(matViewColumn.getName());
if (tableColumn == null) {
metadataValidator.log(report, model,
QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31203, table.getFullName(),
matViewColumn.getName(), view.getFullName()));
} else
if(!matViewColumn.getDatatypeUUID().equals(tableColumn.getDatatypeUUID())){
metadataValidator.log(report, model,
QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31194, tableColumn.getName(),
table.getFullName(), matViewColumn.getName(), view.getFullName()));
}
}
}
{code}
VDB Validation is showing warnings, but failing deployment
----------------------------------------------------------
Key: TEIID-4321
URL:
https://issues.jboss.org/browse/TEIID-4321
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 9.x
Reporter: Van Halbert
Assignee: Steven Hawkins
The deployment of a vdb is failing due to 2 warnings:
13:29:01,076 WARN [org.teiid.PLANNER.RESOLVER] (Worker2_async-teiid-threads4)
TEIID31193 Table Persons columns size not same as Materialized View {1}s columns size
13:29:01,077 WARN [org.teiid.PLANNER.RESOLVER] (Worker2_async-teiid-threads4)
TEIID31194 Column PersonObject in Table Person and Column name in Materialized View
PersonMatView should have same type
13:29:01,080 INFO [org.teiid.RUNTIME] (Worker2_async-teiid-threads4) TEIID40073 The
metadata for the VDB PeopleMat.1 is loaded, however it is not valid. Check models for
errors. Correct the metadata and re-deploy.
13:29:01,080 INFO [org.teiid.RUNTIME.VDBLifeCycleListener]
(Worker2_async-teiid-threads4) TEIID40003 VDB PeopleMat.1 is set to FAILED
I changed the MetadataValidator class to remove the warnings and the VDB deployed ok.
If an issue is going to fail deployment, shouldn't it be on an ERROR?
Regarding the warnings:
1. regarding column size, is it required that all columns in the materialized table to
be writable?
2. the 2nd warning was due to the 1st warning.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)