You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Zoltán Borók-Nagy (Jira)" <ji...@apache.org> on 2019/08/27 10:04:00 UTC

[jira] [Updated] (IMPALA-8896) alterPartitionsWithTransaction() emits too many alter table operations

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

Zoltán Borók-Nagy updated IMPALA-8896:
--------------------------------------
    Description: 
alterPartitionsWithTransaction() has a for loop that updates the write ids of the partitions.

Unfortunately it also does an RPC inside the for loop that updates all partitions. This could be done outside of the for loop.
{noformat}
  public static void alterPartitionsWithTransaction(IMetaStoreClient client,
      String dbName, String tblName, List<Partition> partitions, TblTransaction tblTxn
      ) throws InvalidOperationException, MetaException, TException {
    for (Partition part : partitions) {
      part.setWriteId(tblTxn.writeId);
      // Correct validWriteIdList is needed
      // to commit the alter partitions operation in hms side.
      client.alter_partitions(dbName, tblName, partitions, null,
           tblTxn.validWriteIds, tblTxn.writeId);
    }
  }{noformat}

  was:
alterPartitionsWithTransaction() has a for loop that updates the write ids of the partitions.

Unfortunately it also does an RPC inside the for loop that updates all partitions. This could be done outside of the for loop.
  public static void alterPartitionsWithTransaction(IMetaStoreClient client,      String dbName, String tblName, List<Partition> partitions, TblTransaction tblTxn
      ) throws InvalidOperationException, MetaException, TException {    for (Partition part : partitions) {
      part.setWriteId(tblTxn.writeId);      // Correct validWriteIdList is needed      // to commit the alter partitions operation in hms side.      client.alter_partitions(dbName, tblName, partitions, null,
           tblTxn.validWriteIds, tblTxn.writeId);
    }
  }


> alterPartitionsWithTransaction() emits too many alter table operations
> ----------------------------------------------------------------------
>
>                 Key: IMPALA-8896
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8896
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Zoltán Borók-Nagy
>            Assignee: Zoltán Borók-Nagy
>            Priority: Major
>
> alterPartitionsWithTransaction() has a for loop that updates the write ids of the partitions.
> Unfortunately it also does an RPC inside the for loop that updates all partitions. This could be done outside of the for loop.
> {noformat}
>   public static void alterPartitionsWithTransaction(IMetaStoreClient client,
>       String dbName, String tblName, List<Partition> partitions, TblTransaction tblTxn
>       ) throws InvalidOperationException, MetaException, TException {
>     for (Partition part : partitions) {
>       part.setWriteId(tblTxn.writeId);
>       // Correct validWriteIdList is needed
>       // to commit the alter partitions operation in hms side.
>       client.alter_partitions(dbName, tblName, partitions, null,
>            tblTxn.validWriteIds, tblTxn.writeId);
>     }
>   }{noformat}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org