-
Bug
-
Resolution: Done
-
Major
-
8.10, 8.7.1.6_2
-
None
Native metadata cloud not be imported if default values of import properties are used:
<vdb name="hbase_test_vdb" version="1"> <model name="Source" type="PHYSICAL" visible="true"> <source name="Source" translator-name="hbase" connection-jndi-name="localHBase"/> <metadata type="NATIVE"/> </model> </vdb>
Exception:
09:08:06,722 DEBUG [org.teiid.CONNECTOR] (teiid-async-threads - 2) JDBCMetadataProcessor - Importing tables
09:08:06,747 DEBUG [org.teiid.CONNECTOR] (teiid-async-threads - 2) JDBCMetadataProcessor - Importing columns
09:08:06,748 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015865: Replaced deployment "test-vdb.xml" with deployment "test-vdb.xml"
09:08:06,782 DEBUG [org.teiid.CONNECTOR] (teiid-async-threads - 2) JDBCMetadataProcessor - Importing primary keys
09:08:06,905 DEBUG [org.teiid.CONNECTOR] (teiid-async-threads - 2) JDBCMetadataProcessor - Importing index info
09:08:06,906 WARN [org.teiid.RUNTIME] (teiid-async-threads - 2) TEIID50036 VDB hbase_test_vdb.1 model "Source" metadata failed to load. Reason:TEIID11010 java.sql.SQLException: ERROR 1101 (XCL01): ResultSet is closed.
Phoenix driver seems does not support unique indexes (https://github.com/apache/phoenix/blob/master/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java#L690) and returns every time the same ResultSet. After first table, Teiid closes it and next loop fails (https://github.com/teiid/teiid/blob/790e0da722de6f49685ce761302e54772843b917/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java#L666).
The empty ResultSet is being used across all the PhoenixDatabaseMetaData class:
getProcedures(...), getIndexes(...), getImportedKeys(...), getFunctions(...), ...