[ 
https://issues.apache.org/jira/browse/HIVE-8744?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergio Peña updated HIVE-8744:
------------------------------
    Status: Open  (was: Patch Available)

> hbase_stats3.q test fails when paths stored at 
> JDBCStatsUtils.getIdColumnName() are too large
> ---------------------------------------------------------------------------------------------
>
>                 Key: HIVE-8744
>                 URL: https://issues.apache.org/jira/browse/HIVE-8744
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.15.0
>            Reporter: Sergio Peña
>            Assignee: Sergio Peña
>         Attachments: HIVE-8744.1.patch
>
>
> This test is related to the bug HIVE-8065 where I am trying to support HDFS 
> encryption. One of the enhancements to support it is to create a 
> .hive-staging directory on the same table directory location where the query 
> is executed.
> Now, when running the hbase_stats3.q test from a temporary directory that has 
> a large path, then the new path, a combination of table location + 
> .hive-staging + random temporary subdirectories, is too large to fit into the 
> statistics table, so the path is truncated.
> This causes the following error:
> {noformat}
> 2014-11-04 08:57:36,680 ERROR [LocalJobRunner Map Task Executor #0]: 
> jdbc.JDBCStatsPublisher (JDBCStatsPublisher.java:publishStat(199)) - Error 
> during publishing statistics. 
> java.sql.SQLDataException: A truncation error was encountered trying to 
> shrink VARCHAR 
> 'pfile:/home/hiveptest/hive-ptest-cloudera-slaves-ee9-24.vpc.&' to length 255.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
> Source)
>       at 
> org.apache.hadoop.hive.ql.stats.jdbc.JDBCStatsPublisher$2.run(JDBCStatsPublisher.java:148)
>       at 
> org.apache.hadoop.hive.ql.stats.jdbc.JDBCStatsPublisher$2.run(JDBCStatsPublisher.java:145)
>       at 
> org.apache.hadoop.hive.ql.exec.Utilities.executeWithRetry(Utilities.java:2667)
>       at 
> org.apache.hadoop.hive.ql.stats.jdbc.JDBCStatsPublisher.publishStat(JDBCStatsPublisher.java:161)
>       at 
> org.apache.hadoop.hive.ql.exec.FileSinkOperator.publishStats(FileSinkOperator.java:1031)
>       at 
> org.apache.hadoop.hive.ql.exec.FileSinkOperator.closeOp(FileSinkOperator.java:870)
>       at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:579)
>       at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:591)
>       at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:591)
>       at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:591)
>       at 
> org.apache.hadoop.hive.ql.exec.mr.ExecMapper.close(ExecMapper.java:227)
>       at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61)
>       at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:450)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
>       at 
> org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:744)
> Caused by: java.sql.SQLException: A truncation error was encountered trying 
> to shrink VARCHAR 
> 'pfile:/home/hiveptest/hive-ptest-cloudera-slaves-ee9-24.vpc.&' to length 255.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
>  Source)
>       ... 30 more
> Caused by: ERROR 22001: A truncation error was encountered trying to shrink 
> VARCHAR 'pfile:/home/hiveptest/hive-ptest-cloudera-slaves-ee9-24.vpc.&' to 
> length 255.
>       at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>       at org.apache.derby.iapi.types.SQLChar.hasNonBlankChars(Unknown Source)
>       at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
>       at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
>       at org.apache.derby.iapi.types.DataTypeDescriptor.normalize(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeColumn(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown 
> Source)
>       at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       ... 24 more
> {noformat}
> We should increment the size of the VARCHAR datatype in order to fix this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to