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

hidataplus updated HIVE-30023:
------------------------------
    Description: 
Running {{ANALYZE TABLE <iceberg_table> COMPUTE STATISTICS FOR COLUMNS}} on an 
Iceberg table whose *partition column contains a NULL value* fails with:
java.lang.NullPointerException: Cannot invoke "String.trim()" because 
"identifier" is null
The NPE is thrown *server-side* in the metastore 
({{{}ObjectStore.getMTable{}}}) while processing the {{alter_partitions}} RPC 
that the column-stats path issues to write back partition parameters. It is 
caused by {{ObjectStore.alterPartitionNoTxn}} trusting the incoming Thrift 
{{Partition}} object's own {{dbName}} (which is null for the Iceberg null-value 
partition) instead of the request-level database name.
 
h2. Reproduction steps
 # Create an Iceberg table partitioned by a bigint column:
CREATE TABLE db.t (id INT) PARTITIONED BY (pt BIGINT) STORED BY ICEBERG;
 

 # Insert a row with a NULL partition value:
INSERT INTO db.t VALUES (1, NULL);
 

 # Run column-statistics analysis:
ANALYZE TABLE db.t COMPUTE STATISTICS FOR COLUMNS;
 

*Expected:* the statement succeeds (or the null partition is handled 
gracefully).
*Actual:* {{{}NullPointerException: Cannot invoke "String.trim()" because 
"identifier" is null{}}}.

Notes:
 * Inserting the NULL value itself succeeds; only {{ANALYZE ... FOR COLUMNS}} 
fails.
 * {{ANALYZE TABLE ... COMPUTE STATISTICS}} (basic stats, no {{{}FOR 
COLUMNS{}}}) does not hit this path.
 * Tables without a NULL partition value are unaffected.

h2. Stack traces(not  al)

org.apache.hadoop.hive.ql.metadata.HiveException: Unable to alter partition. 
java.lang.NullPointerException: Cannot invoke "String.trim()" because 
"identifier" is null
        at 
org.apache.hadoop.hive.ql.metadata.Hive.alterPartitions(Hive.java:1217)
        at 
org.apache.hadoop.hive.ql.stats.BasicStatsTask.aggregateStats(BasicStatsTask.java:406)
        at 
org.apache.hadoop.hive.ql.stats.BasicStatsTask.process(BasicStatsTask.java:108)
        at org.apache.hadoop.hive.ql.exec.StatsTask.execute(StatsTask.java:111)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:214)
        at 
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:105)
        at org.apache.hadoop.hive.ql.Executor.launchTask(Executor.java:354)
        at org.apache.hadoop.hive.ql.Executor.launchTasks(Executor.java:327)
        at org.apache.hadoop.hive.ql.Executor.runTasks(Executor.java:244)
        at org.apache.hadoop.hive.ql.Executor.execute(Executor.java:105)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:345)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:189)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:142)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:137)
        at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:190)
        at 
org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:234)
        at 
org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:334)
        at 
java.base/javax.security.auth.Subject.lambda$callAs$0(Subject.java:379)
        at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
        at java.base/javax.security.auth.Subject.doAs(Subject.java:525)
        at java.base/javax.security.auth.Subject.callAs(Subject.java:381)
        at 
org.apache.hadoop.security.authentication.util.SubjectUtil.callAs(SubjectUtil.java:161)
        at 
org.apache.hadoop.security.authentication.util.SubjectUtil.doAs(SubjectUtil.java:233)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1951)
        at 
org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:354)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: MetaException(message:java.lang.NullPointerException: Cannot invoke 
"String.trim()" because "identifier" is null)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result$alter_partitions_req_resultStandardScheme.read(ThriftHiveMetastore.java)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result$alter_partitions_req_resultStandardScheme.read(ThriftHiveMetastore.java)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result.read(ThriftHiveMetastore.java)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:88)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_alter_partitions_req(ThriftHiveMetastore.java:4625)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.alter_partitions_req(ThriftHiveMetastore.java:4612)
        at 
org.apache.hadoop.hive.metastore.client.ThriftHiveMetaStoreClient.alter_partitions(ThriftHiveMetaStoreClient.java:2382)
        at 
org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
        at 
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.alter_partitions(SessionHiveMetaStoreClient.java:1689)
        at 
org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at 
org.apache.hadoop.hive.metastore.client.SynchronizedMetaStoreClient$SynchronizedHandler.invoke(SynchronizedMetaStoreClient.java:69)
        at jdk.proxy2/jdk.proxy2.$Proxy33.alter_partitions(Unknown Source)
        at 
org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
 


 

  was:
Running {{ANALYZE TABLE <iceberg_table> COMPUTE STATISTICS FOR COLUMNS}} on an 
Iceberg table whose *partition column contains a NULL value* fails with:
java.lang.NullPointerException: Cannot invoke "String.trim()" because 
"identifier" is null
The NPE is thrown *server-side* in the metastore 
({{{}ObjectStore.getMTable{}}}) while processing the {{alter_partitions}} RPC 
that the column-stats path issues to write back partition parameters. It is 
caused by {{ObjectStore.alterPartitionNoTxn}} trusting the incoming Thrift 
{{Partition}} object's own {{dbName}} (which is null for the Iceberg null-value 
partition) instead of the request-level database name.
 
h2. Reproduction steps
 # Create an Iceberg table partitioned by a bigint column:
CREATE TABLE db.t (id INT) PARTITIONED BY (pt BIGINT) STORED BY ICEBERG;
 

 # Insert a row with a NULL partition value:
INSERT INTO db.t VALUES (1, NULL);
 

 # Run column-statistics analysis:
ANALYZE TABLE db.t COMPUTE STATISTICS FOR COLUMNS;
 

*Expected:* the statement succeeds (or the null partition is handled 
gracefully).
*Actual:* {{{}NullPointerException: Cannot invoke "String.trim()" because 
"identifier" is null{}}}.

Notes:
 * Inserting the NULL value itself succeeds; only {{ANALYZE ... FOR COLUMNS}} 
fails.
 * {{ANALYZE TABLE ... COMPUTE STATISTICS}} (basic stats, no {{{}FOR 
COLUMNS{}}}) does not hit this path.
 * Tables without a NULL partition value are unaffected.

h2. Stack traces(not  al)

org.apache.hadoop.hive.ql.metadata.HiveException: Unable to alter partition. 
java.lang.NullPointerException: Cannot invoke "String.trim()" because 
"identifier" is null
        at 
org.apache.hadoop.hive.ql.metadata.Hive.alterPartitions(Hive.java:1217)
        at 
org.apache.hadoop.hive.ql.stats.BasicStatsTask.aggregateStats(BasicStatsTask.java:406)
        at 
org.apache.hadoop.hive.ql.stats.BasicStatsTask.process(BasicStatsTask.java:108)
        at org.apache.hadoop.hive.ql.exec.StatsTask.execute(StatsTask.java:111)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:214)
        at 
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:105)
        at org.apache.hadoop.hive.ql.Executor.launchTask(Executor.java:354)
        at org.apache.hadoop.hive.ql.Executor.launchTasks(Executor.java:327)
        at org.apache.hadoop.hive.ql.Executor.runTasks(Executor.java:244)
        at org.apache.hadoop.hive.ql.Executor.execute(Executor.java:105)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:345)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:189)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:142)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:137)
        at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:190)
        at 
org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:234)
        at 
org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:334)
        at 
java.base/javax.security.auth.Subject.lambda$callAs$0(Subject.java:379)
        at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
        at java.base/javax.security.auth.Subject.doAs(Subject.java:525)
        at java.base/javax.security.auth.Subject.callAs(Subject.java:381)
        at 
org.apache.hadoop.security.authentication.util.SubjectUtil.callAs(SubjectUtil.java:161)
        at 
org.apache.hadoop.security.authentication.util.SubjectUtil.doAs(SubjectUtil.java:233)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1951)
        at 
org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:354)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: MetaException(message:java.lang.NullPointerException: Cannot invoke 
"String.trim()" because "identifier" is null)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result$alter_partitions_req_resultStandardScheme.read(ThriftHiveMetastore.java)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result$alter_partitions_req_resultStandardScheme.read(ThriftHiveMetastore.java)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result.read(ThriftHiveMetastore.java)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:88)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_alter_partitions_req(ThriftHiveMetastore.java:4625)
        at 
org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.alter_partitions_req(ThriftHiveMetastore.java:4612)
        at 
org.apache.hadoop.hive.metastore.client.ThriftHiveMetaStoreClient.alter_partitions(ThriftHiveMetaStoreClient.java:2382)
        at 
org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
        at 
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.alter_partitions(SessionHiveMetaStoreClient.java:1689)
        at 
org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at 
org.apache.hadoop.hive.metastore.client.SynchronizedMetaStoreClient$SynchronizedHandler.invoke(SynchronizedMetaStoreClient.java:69)
        at jdk.proxy2/jdk.proxy2.$Proxy33.alter_partitions(Unknown Source)
        at 
org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
 
h2. Root cause analysis (verified against rel/release-4.2.0)
 # {{ANALYZE ... FOR COLUMNS}} computes column stats, then writes back 
partition parameters via {{Hive.alterPartitions}} 
({{{}ql/.../metadata/Hive.java{}}}, ~L1211-1218), issuing the 
{{alter_partitions}} Thrift RPC.
 # Server: {{HMSHandler.alter_partitions}} → 
{{HiveAlterHandler.alterPartitions}} → 
{{{}ObjectStore.alterPartitionNoTxn(catName, dbname, name, part_vals, newPart, 
...){}}}.
 # {{ObjectStore.alterPartitionNoTxn}} resolves the table using the {*}incoming 
Partition object's own names{*}, not the request-level parameters 
({{{}ObjectStore.java:4916{}}}):
MTable table = this.getMTable(newPart.getCatName(), newPart.getDbName(), 
newPart.getTableName());

 # {{ObjectStore.getMTable(catName, db, table, retrieveCD)}} normalizes {{db}} 
*without a null guard* ({{{}ObjectStore.java:2028-2030{}}}):
catName = 
normalizeIdentifier(Optional.ofNullable(catName).orElse(getDefaultCatalog(conf)));
 // guarded
db = normalizeIdentifier(db); // <-- L2029: NPE when db == null
table = normalizeIdentifier(table);where {{normalizeIdentifier}} is 
{{identifier.trim().toLowerCase()}} 
({{{}metastore-common/.../StringUtils.java:93-95{}}}).
 # For an Iceberg table, the partition whose partition-column value is NULL is 
represented client-side by a Thrift {{Partition}} whose {{dbName}} is *not 
populated* (the Iceberg storage handler synthesizes/maps this partition without 
filling db/table names). When it reaches {{{}alterPartitionNoTxn{}}}, 
{{newPart.getDbName()}} is null → {{getMTable(..., null, ...)}} → 
{{normalizeIdentifier(null)}} → NPE.
 # Normal (non-null) partitions carry populated 
{{{}dbName{}}}/{{{}tableName{}}}, so only the null-value partition triggers the 
failure. The NPE is serialized into the Thrift response and re-thrown on the 
client (hence the client frames above).

h2. Suggested fix

Preferred (semantically correct, server-side): in 
{{{}ObjectStore.alterPartitionNoTxn{}}}, fall back to the request-level names 
when the incoming {{{}Partition{}}}'s are unset:

// ObjectStore.java:4916, before
MTable table = this.getMTable(newPart.getCatName(), newPart.getDbName(), 
newPart.getTableName());

// after
MTable table = this.getMTable(
newPart.isSetCatName() ? newPart.getCatName() : catName,
newPart.getDbName() != null ? newPart.getDbName() : dbname,
newPart.getTableName()!= null ? newPart.getTableName(): name);

Alternative / complementary:
 * Add a defensive null guard for {{{}db{}}}/{{{}table{}}} in {{getMTable}} 
mirroring the existing {{catName}} pattern (or fail fast with a clear 
{{InvalidObjectException}} instead of an NPE).
 * Ensure the Iceberg storage handler populates 
{{{}dbName{}}}/{{{}tableName{}}}/{{{}catName{}}} on every {{Partition}} it 
synthesizes, so clients never send partially-populated partition objects.

 
 


> NPE Cannot invoke "String.trim()" because "identifier" is null in 
> ObjectStore.getMTable when running ANALYZE TABLE ... COMPUTE STATISTICS FOR 
> COLUMNS on an Iceberg table with a NULL partition value
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-30023
>                 URL: https://issues.apache.org/jira/browse/HIVE-30023
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 4.2.0
>         Environment: * Apache Hive *4.2.0* ({{{}rel/release-4.2.0{}}}); also 
> expected on master
>  * Bundled Iceberg *1.9.1* ({{{}iceberg/pom.xml{}}})
>  * Table: *Iceberg* table, partitioned by a *bigint* partition column
>  * The partition column contains a *NULL* value (Iceberg treats NULL as a 
> first-class partition value)
>            Reporter: hidataplus
>            Priority: Major
>
> Running {{ANALYZE TABLE <iceberg_table> COMPUTE STATISTICS FOR COLUMNS}} on 
> an Iceberg table whose *partition column contains a NULL value* fails with:
> java.lang.NullPointerException: Cannot invoke "String.trim()" because 
> "identifier" is null
> The NPE is thrown *server-side* in the metastore 
> ({{{}ObjectStore.getMTable{}}}) while processing the {{alter_partitions}} RPC 
> that the column-stats path issues to write back partition parameters. It is 
> caused by {{ObjectStore.alterPartitionNoTxn}} trusting the incoming Thrift 
> {{Partition}} object's own {{dbName}} (which is null for the Iceberg 
> null-value partition) instead of the request-level database name.
>  
> h2. Reproduction steps
>  # Create an Iceberg table partitioned by a bigint column:
> CREATE TABLE db.t (id INT) PARTITIONED BY (pt BIGINT) STORED BY ICEBERG;
>  
>  # Insert a row with a NULL partition value:
> INSERT INTO db.t VALUES (1, NULL);
>  
>  # Run column-statistics analysis:
> ANALYZE TABLE db.t COMPUTE STATISTICS FOR COLUMNS;
>  
> *Expected:* the statement succeeds (or the null partition is handled 
> gracefully).
> *Actual:* {{{}NullPointerException: Cannot invoke "String.trim()" because 
> "identifier" is null{}}}.
> Notes:
>  * Inserting the NULL value itself succeeds; only {{ANALYZE ... FOR COLUMNS}} 
> fails.
>  * {{ANALYZE TABLE ... COMPUTE STATISTICS}} (basic stats, no {{{}FOR 
> COLUMNS{}}}) does not hit this path.
>  * Tables without a NULL partition value are unaffected.
> h2. Stack traces(not  al)
> org.apache.hadoop.hive.ql.metadata.HiveException: Unable to alter partition. 
> java.lang.NullPointerException: Cannot invoke "String.trim()" because 
> "identifier" is null
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.alterPartitions(Hive.java:1217)
>         at 
> org.apache.hadoop.hive.ql.stats.BasicStatsTask.aggregateStats(BasicStatsTask.java:406)
>         at 
> org.apache.hadoop.hive.ql.stats.BasicStatsTask.process(BasicStatsTask.java:108)
>         at 
> org.apache.hadoop.hive.ql.exec.StatsTask.execute(StatsTask.java:111)
>         at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:214)
>         at 
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:105)
>         at org.apache.hadoop.hive.ql.Executor.launchTask(Executor.java:354)
>         at org.apache.hadoop.hive.ql.Executor.launchTasks(Executor.java:327)
>         at org.apache.hadoop.hive.ql.Executor.runTasks(Executor.java:244)
>         at org.apache.hadoop.hive.ql.Executor.execute(Executor.java:105)
>         at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:345)
>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:189)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:142)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:137)
>         at 
> org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:190)
>         at 
> org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:234)
>         at 
> org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:334)
>         at 
> java.base/javax.security.auth.Subject.lambda$callAs$0(Subject.java:379)
>         at 
> java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
>         at java.base/javax.security.auth.Subject.doAs(Subject.java:525)
>         at java.base/javax.security.auth.Subject.callAs(Subject.java:381)
>         at 
> org.apache.hadoop.security.authentication.util.SubjectUtil.callAs(SubjectUtil.java:161)
>         at 
> org.apache.hadoop.security.authentication.util.SubjectUtil.doAs(SubjectUtil.java:233)
>         at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1951)
>         at 
> org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:354)
>         at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
>         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
>         at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>         at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>         at java.base/java.lang.Thread.run(Thread.java:1583)
> Caused by: MetaException(message:java.lang.NullPointerException: Cannot 
> invoke "String.trim()" because "identifier" is null)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result$alter_partitions_req_resultStandardScheme.read(ThriftHiveMetastore.java)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result$alter_partitions_req_resultStandardScheme.read(ThriftHiveMetastore.java)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$alter_partitions_req_result.read(ThriftHiveMetastore.java)
>         at 
> org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:88)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_alter_partitions_req(ThriftHiveMetastore.java:4625)
>         at 
> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.alter_partitions_req(ThriftHiveMetastore.java:4612)
>         at 
> org.apache.hadoop.hive.metastore.client.ThriftHiveMetaStoreClient.alter_partitions(ThriftHiveMetaStoreClient.java:2382)
>         at 
> org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
>         at 
> org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.alter_partitions(SessionHiveMetaStoreClient.java:1689)
>         at 
> org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
>         at 
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>         at 
> org.apache.hadoop.hive.metastore.client.SynchronizedMetaStoreClient$SynchronizedHandler.invoke(SynchronizedMetaStoreClient.java:69)
>         at jdk.proxy2/jdk.proxy2.$Proxy33.alter_partitions(Unknown Source)
>         at 
> org.apache.hadoop.hive.metastore.client.MetaStoreClientWrapper.alter_partitions(MetaStoreClientWrapper.java:530)
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to