weizheng created HIVE-20929: ------------------------------- Summary: The method HiveMetaStoreClient.getValidWriteIds(String fullTableName) failed to execute. Key: HIVE-20929 URL: https://issues.apache.org/jira/browse/HIVE-20929 Project: Hive Issue Type: Bug Components: Standalone Metastore Affects Versions: 3.1.0 Environment: hadoop3.1.0
hive3.1.0 Reporter: weizheng Assignee: weizheng When I use the getValidWriteIds(String fullTableName) method of HiveMetaStoreClient to get writeIds, I get the errors: Exception in thread "main" org.apache.thrift.protocol.TProtocolException: Required field 'validTxnList' is unset! Struct:GetValidWriteIdsRequest(fullTableNames:[default.w2], validTxnList:null) at org.apache.hadoop.hive.metastore.api.GetValidWriteIdsRequest.validate(GetValidWriteIdsRequest.java:396) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_valid_write_ids_args.validate(ThriftHiveMetastore.java) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_valid_write_ids_args$get_valid_write_ids_argsStandardScheme.write(ThriftHiveMetastore.java) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_valid_write_ids_args$get_valid_write_ids_argsStandardScheme.write(ThriftHiveMetastore.java) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_valid_write_ids_args.write(ThriftHiveMetastore.java) at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:71) at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.send_get_valid_write_ids(ThriftHiveMetastore.java:5443) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_valid_write_ids(ThriftHiveMetastore.java:5435) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getValidWriteIds(HiveMetaStoreClient.java:2581) at com.inspur.mutation.test.TableOperate.getRowsMap(TableOperate.java:521) at com.inspur.procuder.GenerateData.main(GenerateData.java:65) So I can only use the following methods instead: ValidWriteIdList writeIds; tablesList.add(AcidUtils.getFullTableName(table.getDbName(), table.getTableName())); List<TableValidWriteIds> writeIdList = metaStoreClient.getValidWriteIds(tablesList,txns.toString()); writeIds = TxnUtils.createValidReaderWriteIdList(writeIdList.get(0)); -- This message was sent by Atlassian JIRA (v7.6.3#76005)