[teiid-issues] [JBoss JIRA] (TEIID-4321) VDB Validation is showing warnings, but failing deployment

Steven Hawkins (JIRA) issues at jboss.org
Wed Jul 6 17:02:00 EDT 2016


    [ https://issues.jboss.org/browse/TEIID-4321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262364#comment-13262364 ] 

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)


More information about the teiid-issues mailing list