HiveClient concurrent problem

Hi, we are testing dremio to use it execute hive sqls. During concurrent testing, many ‘Stream closed’ exception threw out. When reading dremio code, i find a problem. As shown in doCommand() function. There might be concurrent problems when many requests execute doCommand() function in class ‘com.dremio.exec.store.hive.HiveClient’. For example, when ‘TException’ throw out from the try clause, client is closed. Before the client reconnected some requests come and use the closed client to execute their commands. Then ‘java.io.IOException: Stream closed’ exception will be threw out. So the ‘synchronized’ key word should outside doCommand() function, or wrap all the try-catch clause inside. Full trace:

(org.apache.thrift.transport.TTransportException) java.io.IOException: Stream closed
org.apache.thrift.transport.TIOStreamTransport.read():129
org.apache.thrift.transport.TTransport.readAll():86
org.apache.thrift.protocol.TBinaryProtocol.readStringBody():380
org.apache.thrift.protocol.TBinaryProtocol.readString():374
org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin():225
org.apache.thrift.TServiceClient.receiveBase():77
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_partitions():2281
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions():2266
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitions():1167
com.dremio.exec.store.hive.HiveClient$6.run():242
com.dremio.exec.store.hive.HiveClient$6.run():239
com.dremio.exec.store.hive.HiveClient.doCommand():276
com.dremio.exec.store.hive.HiveClient.getPartitions():239
com.dremio.exec.store.hive.DatasetBuilder.buildSplits():587
com.dremio.exec.store.hive.DatasetBuilder.buildIfNecessary():324
com.dremio.exec.store.hive.DatasetBuilder.getDataset():246
com.dremio.exec.catalog.DatasetManager.getTableFromPlugin():298
com.dremio.exec.catalog.DatasetManager.getTable():191
com.dremio.exec.catalog.CatalogImpl.getTable():122
com.dremio.exec.catalog.DelegatingCatalog.getTable():59
com.dremio.exec.catalog.CachingCatalog.getTable():66
com.dremio.exec.catalog.DremioCatalogReader.getTable():94
com.dremio.exec.catalog.DremioCatalogReader.getTable():71
org.apache.calcite.sql.validate.EmptyScope.getTableNamespace():76
org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace():197
org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl():102
org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():120
org.apache.calcite.sql.validate.AbstractNamespace.validate():84
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
org.apache.calcite.sql.validate.AbstractNamespace.validate():84
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2993
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2992
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
org.apache.calcite.sql.validate.AbstractNamespace.validate():84
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
org.apache.calcite.sql.SqlSelect.validate():226
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():899
org.apache.calcite.sql.validate.SqlValidatorImpl.validate():609
com.dremio.exec.planner.sql.SqlConverter.validate():199
com.dremio.exec.planner.sql.handlers.PrelTransformer.validateNode():177
com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():166
com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():162
com.dremio.exec.planner.sql.handlers.direct.ExplainHandler.toResult():78
com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan():61
com.dremio.exec.work.foreman.AttemptManager.run():295
java.util.concurrent.ThreadPoolExecutor.runWorker():1142
java.util.concurrent.ThreadPoolExecutor$Worker.run():617
java.lang.Thread.run():745
Caused By (java.io.IOException) Stream closed
java.io.BufferedInputStream.getBufIfOpen():170
java.io.BufferedInputStream.read():336
org.apache.thrift.transport.TIOStreamTransport.read():127
org.apache.thrift.transport.TTransport.readAll():86
org.apache.thrift.protocol.TBinaryProtocol.readStringBody():380
org.apache.thrift.protocol.TBinaryProtocol.readString():374
org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin():225
org.apache.thrift.TServiceClient.receiveBase():77
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_partitions():2281
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions():2266
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitions():1167
com.dremio.exec.store.hive.HiveClient$6.run():242
com.dremio.exec.store.hive.HiveClient$6.run():239
com.dremio.exec.store.hive.HiveClient.doCommand():276
com.dremio.exec.store.hive.HiveClient.getPartitions():239
com.dremio.exec.store.hive.DatasetBuilder.buildSplits():587
com.dremio.exec.store.hive.DatasetBuilder.buildIfNecessary():324
com.dremio.exec.store.hive.DatasetBuilder.getDataset():246
com.dremio.exec.catalog.DatasetManager.getTableFromPlugin():298
com.dremio.exec.catalog.DatasetManager.getTable():191
com.dremio.exec.catalog.CatalogImpl.getTable():122
com.dremio.exec.catalog.DelegatingCatalog.getTable():59
com.dremio.exec.catalog.CachingCatalog.getTable():66
com.dremio.exec.catalog.DremioCatalogReader.getTable():94
com.dremio.exec.catalog.DremioCatalogReader.getTable():71
org.apache.calcite.sql.validate.EmptyScope.getTableNamespace():76
org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace():197
org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl():102
org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():120
org.apache.calcite.sql.validate.AbstractNamespace.validate():84
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
org.apache.calcite.sql.validate.AbstractNamespace.validate():84
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2993
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2992
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
org.apache.calcite.sql.validate.AbstractNamespace.validate():84
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
org.apache.calcite.sql.SqlSelect.validate():226
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():899
org.apache.calcite.sql.validate.SqlValidatorImpl.validate():609
com.dremio.exec.planner.sql.SqlConverter.validate():199
com.dremio.exec.planner.sql.handlers.PrelTransformer.validateNode():177
com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():166
com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():162
com.dremio.exec.planner.sql.handlers.direct.ExplainHandler.toResult():78
com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan():61
com.dremio.exec.work.foreman.AttemptManager.run():295
java.util.concurrent.ThreadPoolExecutor.runWorker():1142
java.util.concurrent.ThreadPoolExecutor$Worker.run():617
java.lang.Thread.run():745

Correct me if I’m wrong. :slightly_smiling_face:

Hi @hanbingwinter,

What version of Hive are you using?

What version of Dremio?

dremio 3.1.0-201901172111160703-dc6f6e5
hive 1.2.1

Hi @hanbingwinter, how many concurrent queries are you executing here? Can you share any more detail on the concurrency testing?

Total 7338 hive sql, 8 concurrent thread. First each thread convert it’s hive sql to another that dremio can recognize. Then execute "EXPLAIN PLAN without implementation FOR " + sql to test if any grammar dremio doesn’t support. During the sql compatibility concurrent testing error occurred. Apart from “java.io.IOException: Stream closed”, i think exceptions below also related to hive client concurrency. About 237 tests have these exceptions. And after we changed the code as i said above these exceptions disappeared.

  1. get_partitions failed: out of sequence response
    (org.apache.thrift.TApplicationException) get_partitions failed: out of sequence response
    org.apache.thrift.TServiceClient.receiveBase():84
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_partitions():2281
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions():2266
    org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitions():1167
    com.dremio.exec.store.hive.HiveClient$6.run():242
    com.dremio.exec.store.hive.HiveClient$6.run():239
    com.dremio.exec.store.hive.HiveClient.doCommand():276
    com.dremio.exec.store.hive.HiveClient.getPartitions():239
    com.dremio.exec.store.hive.DatasetBuilder.buildSplits():587
    com.dremio.exec.store.hive.DatasetBuilder.buildIfNecessary():324
    com.dremio.exec.store.hive.DatasetBuilder.getDataset():246
    com.dremio.exec.catalog.DatasetManager.getTableFromPlugin():298
    com.dremio.exec.catalog.DatasetManager.getTable():191
    com.dremio.exec.catalog.CatalogImpl.getTable():122
    com.dremio.exec.catalog.DelegatingCatalog.getTable():59
    com.dremio.exec.catalog.CachingCatalog.getTable():66
    com.dremio.exec.catalog.DremioCatalogReader.getTable():94
    com.dremio.exec.catalog.DremioCatalogReader.getTable():71
    org.apache.calcite.sql.validate.EmptyScope.getTableNamespace():76
    org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace():197
    org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl():102
    org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():120
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2992
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2993
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.SqlSelect.validate():226
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():899
    org.apache.calcite.sql.validate.SqlValidatorImpl.validate():609
    com.dremio.exec.planner.sql.SqlConverter.validate():199
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateNode():177
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():166
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():162
    com.dremio.exec.planner.sql.handlers.direct.ExplainHandler.toResult():78
    com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan():61
    com.dremio.exec.work.foreman.AttemptManager.run():295
    java.util.concurrent.ThreadPoolExecutor.runWorker():1142
    java.util.concurrent.ThreadPoolExecutor$Worker.run():617
    java.lang.Thread.run():745

  2. Cannot write to null outputStream
    (org.apache.thrift.transport.TTransportException) Cannot write to null outputStream
    org.apache.thrift.transport.TIOStreamTransport.write():142
    org.apache.thrift.protocol.TBinaryProtocol.writeI32():178
    org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin():106
    org.apache.thrift.TServiceClient.sendBase():70
    org.apache.thrift.TServiceClient.sendBase():62
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.send_get_partitions():2275
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions():2265
    org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitions():1167
    com.dremio.exec.store.hive.HiveClient$6.run():242
    com.dremio.exec.store.hive.HiveClient$6.run():239
    com.dremio.exec.store.hive.HiveClient.doCommand():276
    com.dremio.exec.store.hive.HiveClient.getPartitions():239
    com.dremio.exec.store.hive.DatasetBuilder.buildSplits():587
    com.dremio.exec.store.hive.DatasetBuilder.buildIfNecessary():324
    com.dremio.exec.store.hive.DatasetBuilder.getDataset():246
    com.dremio.exec.catalog.DatasetManager.getTableFromPlugin():298
    com.dremio.exec.catalog.DatasetManager.getTable():191
    com.dremio.exec.catalog.CatalogImpl.getTable():122
    com.dremio.exec.catalog.DelegatingCatalog.getTable():59
    com.dremio.exec.catalog.CachingCatalog.getTable():66
    com.dremio.exec.catalog.DremioCatalogReader.getTable():94
    com.dremio.exec.catalog.DremioCatalogReader.getTable():71
    org.apache.calcite.sql.validate.EmptyScope.getTableNamespace():76
    org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace():197
    org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl():102
    org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():120
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2992
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2993
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.SqlSelect.validate():226
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():899
    org.apache.calcite.sql.validate.SqlValidatorImpl.validate():609
    com.dremio.exec.planner.sql.SqlConverter.validate():199
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateNode():177
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():166
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():162
    com.dremio.exec.planner.sql.handlers.direct.ExplainHandler.toResult():78
    com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan():61
    com.dremio.exec.work.foreman.AttemptManager.run():295
    java.util.concurrent.ThreadPoolExecutor.runWorker():1142
    java.util.concurrent.ThreadPoolExecutor$Worker.run():617
    java.lang.Thread.run():745

  3. java.net.SocketException: Connection reset
    (org.apache.thrift.transport.TTransportException) java.net.SocketException: Connection reset
    org.apache.thrift.transport.TIOStreamTransport.read():129
    org.apache.thrift.transport.TTransport.readAll():86
    org.apache.thrift.protocol.TBinaryProtocol.readAll():429
    org.apache.thrift.protocol.TBinaryProtocol.readI32():318
    org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin():219
    org.apache.thrift.TServiceClient.receiveBase():77
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_partitions():2281
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions():2266
    org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitions():1167
    com.dremio.exec.store.hive.HiveClient$6.run():242
    com.dremio.exec.store.hive.HiveClient$6.run():239
    com.dremio.exec.store.hive.HiveClient.doCommand():276
    com.dremio.exec.store.hive.HiveClient.getPartitions():239
    com.dremio.exec.store.hive.DatasetBuilder.buildSplits():587
    com.dremio.exec.store.hive.DatasetBuilder.buildIfNecessary():324
    com.dremio.exec.store.hive.DatasetBuilder.getDataset():246
    com.dremio.exec.catalog.DatasetManager.getTableFromPlugin():298
    com.dremio.exec.catalog.DatasetManager.getTable():191
    com.dremio.exec.catalog.CatalogImpl.getTable():122
    com.dremio.exec.catalog.DelegatingCatalog.getTable():59
    com.dremio.exec.catalog.CachingCatalog.getTable():66
    com.dremio.exec.catalog.DremioCatalogReader.getTable():94
    com.dremio.exec.catalog.DremioCatalogReader.getTable():71
    org.apache.calcite.sql.validate.EmptyScope.getTableNamespace():76
    org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace():197
    org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl():102
    org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():120
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2993
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2992
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2992
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin():2992
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2965
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.SqlSelect.validate():226
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():899
    org.apache.calcite.sql.validate.SqlValidatorImpl.validate():609
    com.dremio.exec.planner.sql.SqlConverter.validate():199
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateNode():177
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():166
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():162
    com.dremio.exec.planner.sql.handlers.direct.ExplainHandler.toResult():78
    com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan():61
    com.dremio.exec.work.foreman.AttemptManager.run():295
    java.util.concurrent.ThreadPoolExecutor.runWorker():1142
    java.util.concurrent.ThreadPoolExecutor$Worker.run():617
    java.lang.Thread.run():745

  4. Cannot read from null inputStream
    (org.apache.thrift.transport.TTransportException) Cannot read from null inputStream
    org.apache.thrift.transport.TIOStreamTransport.read():123
    org.apache.thrift.transport.TTransport.readAll():86
    org.apache.thrift.protocol.TBinaryProtocol.readStringBody():380
    org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin():230
    org.apache.thrift.TServiceClient.receiveBase():77
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_partitions():2281
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions():2266
    org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitions():1167
    com.dremio.exec.store.hive.HiveClient$6.run():242
    com.dremio.exec.store.hive.HiveClient$6.run():239
    com.dremio.exec.store.hive.HiveClient.doCommand():276
    com.dremio.exec.store.hive.HiveClient.getPartitions():239
    com.dremio.exec.store.hive.DatasetBuilder.buildSplits():587
    com.dremio.exec.store.hive.DatasetBuilder.buildIfNecessary():324
    com.dremio.exec.store.hive.DatasetBuilder.getDataset():246
    com.dremio.exec.catalog.DatasetManager.getTableFromPlugin():298
    com.dremio.exec.catalog.DatasetManager.getTable():191
    com.dremio.exec.catalog.CatalogImpl.getTable():122
    com.dremio.exec.catalog.DelegatingCatalog.getTable():59
    com.dremio.exec.catalog.CachingCatalog.getTable():66
    com.dremio.exec.catalog.DremioCatalogReader.getTable():94
    com.dremio.exec.catalog.DremioCatalogReader.getTable():71
    org.apache.calcite.sql.validate.EmptyScope.getTableNamespace():76
    org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace():197
    org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl():102
    org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():120
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.SqlSelect.validate():226
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():899
    org.apache.calcite.sql.validate.SqlValidatorImpl.validate():609
    com.dremio.exec.planner.sql.SqlConverter.validate():199
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateNode():177
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():166
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():162
    com.dremio.exec.planner.sql.handlers.direct.ExplainHandler.toResult():78
    com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan():61
    com.dremio.exec.work.foreman.AttemptManager.run():295
    java.util.concurrent.ThreadPoolExecutor.runWorker():1142
    java.util.concurrent.ThreadPoolExecutor$Worker.run():617
    java.lang.Thread.run():745

  5. java.net.SocketException: Broken pipe
    (org.apache.thrift.transport.TTransportException) java.net.SocketException: Broken pipe
    org.apache.thrift.transport.TIOStreamTransport.flush():161
    org.apache.thrift.TServiceClient.sendBase():73
    org.apache.thrift.TServiceClient.sendBase():62
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.send_get_table():1460
    org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_table():1451
    org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable():1332
    com.dremio.exec.store.hive.HiveClient$5.run():215
    com.dremio.exec.store.hive.HiveClient$5.run():211
    com.dremio.exec.store.hive.HiveClient.doCommand():276
    com.dremio.exec.store.hive.HiveClient.getTable():211
    com.dremio.exec.store.hive.DatasetBuilder.buildIfNecessary():261
    com.dremio.exec.store.hive.DatasetBuilder.getDataset():246
    com.dremio.exec.catalog.DatasetManager.getTableFromPlugin():298
    com.dremio.exec.catalog.DatasetManager.getTable():191
    com.dremio.exec.catalog.CatalogImpl.getTable():122
    com.dremio.exec.catalog.DelegatingCatalog.getTable():59
    com.dremio.exec.catalog.CachingCatalog.getTable():66
    com.dremio.exec.catalog.DremioCatalogReader.getTable():94
    com.dremio.exec.catalog.DremioCatalogReader.getTable():71
    org.apache.calcite.sql.validate.EmptyScope.getTableNamespace():76
    org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace():197
    org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl():102
    org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():120
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2971
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2956
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3197
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():84
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():943
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():924
    org.apache.calcite.sql.SqlSelect.validate():226
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():899
    org.apache.calcite.sql.validate.SqlValidatorImpl.validate():609
    com.dremio.exec.planner.sql.SqlConverter.validate():199
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateNode():177
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():166
    com.dremio.exec.planner.sql.handlers.PrelTransformer.validateAndConvert():162
    com.dremio.exec.planner.sql.handlers.direct.ExplainHandler.toResult():78
    com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan():61
    com.dremio.exec.work.foreman.AttemptManager.run():295
    java.util.concurrent.ThreadPoolExecutor.runWorker():1142
    java.util.concurrent.ThreadPoolExecutor$Worker.run():617
    java.lang.Thread.run():745