3 Replies Latest reply on May 8, 2013 1:45 PM by divadatabase

    Failed to report JDBC info

    divadatabase

      Hi,

       

      Im trying to query Hive through Teiid. My VDB only has one data source, Hive, and it is properly connected (I'm using the Admin Console and the VDB is set to ACTIVE and the data source is set to enabled). However, when I issue a simple "select * from tweet" command through JDBC in Eclipse, I get the following error:

       

      15:30:00,255 INFO  [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue1) PwZknDtTso8/ TEIID11002 Failed to report the JDBC driver and connection information

      15:30:00,279 WARN  [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue1) PwZknDtTso8/ Connector worker process failed for atomic-request=PwZknDtTso8/.0.0.0: org.teiid.translator.jdbc.JDBCExecutionException: 10 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.user_name, g_0.created_at, g_0.message FROM nulltweetnull g_0]

       

      Is something misconfigured?

       

      Thanks in advance,

      Danah

        • 1. Re: Failed to report JDBC info
          shawkins

          Danah,

           

          On the first usage of a connection the JDBC translator attempts to log at an info level information from the connection's metadata.  If that fails, then you see the message above (which would probably be more helpful with the underlying error).  It's at an info level since there may not be anything wrong, for example there could just be an unimplemented DatabaseMetadata method.

           

          The WARNING above does show a problem - nulltweetnull as the table name which likely means that metadata import was not done properly - probably something similar to https://issues.jboss.org/browse/TEIID-2438 if a dynamic vdb import was performed.

           

          Steve

          • 2. Re: Failed to report JDBC info
            divadatabase

            Hi Steven,

             

            Thanks, and yes, I now have this added to my VDB config file: <property name="importer.quoteNameInSource" value="false"/>

             

            However, Im still getting the following error:

             

            org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 hive-connector: 9 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.user_name, g_0.created_at, g_0.message FROM tweet g_0]

             

            At first it said FROM nulltweetnull g_0, so that property tag fixed that, but someting is still wrong.

             

            Here is my VDB (streaming-vdb.xml):

             

            <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

            <vdb name="TDagentStream" version="1">

             

                <description>Pulling Tweets from Hive</description>

             

                 <model name="TDHive">

                    <property name="importer.useFullSchemaName" value="true"/>

                      <property name="importer.quoteNameInSource" value="false"/>

                          <source name="hive-connector" translator-name="hive" connection-jndi-name="java:/hive"/>

                </model>

             

             

            </vdb>

             

            And here is my datasource in standalone-teiid.xml:

             

            <datasource jta="false" jndi-name="java:/hive" pool-name="hive-ds" enabled="true" use-ccm="false">

                                <connection-url>jdbc:hive://127.0.0.1:10000/default</connection-url>

                                <driver-class>org.apache.hadoop.hive.jdbc.HiveDriver</driver-class>

                                <driver>hive</driver>

                                <pool>

                                    <prefill>false</prefill>

                                    <use-strict-min>false</use-strict-min>

                                    <flush-strategy>FailingConnectionOnly</flush-strategy>

                                </pool>

                                <validation>

                                    <validate-on-match>false</validate-on-match>

                                    <background-validation>false</background-validation>

                                </validation>

                                <statement>

                                    <share-prepared-statements>false</share-prepared-statements>

                                </statement>

                            </datasource>

             

            And driver info:

             

              <driver name="hive" module="org.apache.hadoop.hive">

                            <driver-class>org.apache.hadoop.hive.jdbc.HiveDriver</driver-class>

                    </driver>

             

            Am I missing something?

             

            Thanks again,

            Danah

            • 3. Re: Failed to report JDBC info
              divadatabase

              Hi Steven,

               

              A jar was mising -_-

               

              Thanks!

               

              Danah