Skip to content

Commit 2a0a0b9

Browse files
authored
[Fix][Connector-V2] Fix add hive partition error when partition already existed (#6577)
1 parent 72ebc73 commit 2a0a0b9

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

Diff for: seatunnel-connectors-v2/connector-hive/src/main/java/org/apache/seatunnel/connectors/seatunnel/hive/commit/HiveSinkAggregatedCommitter.java

-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.apache.seatunnel.connectors.seatunnel.file.sink.commit.FileSinkAggregatedCommitter;
2525
import org.apache.seatunnel.connectors.seatunnel.hive.utils.HiveMetaStoreProxy;
2626

27-
import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
2827
import org.apache.thrift.TException;
2928

3029
import lombok.extern.slf4j.Slf4j;
@@ -71,8 +70,6 @@ public List<FileAggregatedCommitInfo> commit(
7170
try {
7271
hiveMetaStore.addPartitions(dbName, tableName, partitions);
7372
log.info("Add these partitions {}", partitions);
74-
} catch (AlreadyExistsException e) {
75-
log.warn("These partitions {} are already exists", partitions);
7673
} catch (TException e) {
7774
log.error("Failed to add these partitions {}", partitions, e);
7875
errorCommitInfos.add(aggregatedCommitInfo);

Diff for: seatunnel-connectors-v2/connector-hive/src/main/java/org/apache/seatunnel/connectors/seatunnel/hive/utils/HiveMetaStoreProxy.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.apache.hadoop.conf.Configuration;
3030
import org.apache.hadoop.hive.conf.HiveConf;
3131
import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
32+
import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
3233
import org.apache.hadoop.hive.metastore.api.MetaException;
3334
import org.apache.hadoop.hive.metastore.api.Table;
3435
import org.apache.thrift.TException;
@@ -131,7 +132,11 @@ public void addPartitions(
131132
@NonNull String dbName, @NonNull String tableName, List<String> partitions)
132133
throws TException {
133134
for (String partition : partitions) {
134-
hiveMetaStoreClient.appendPartition(dbName, tableName, partition);
135+
try {
136+
hiveMetaStoreClient.appendPartition(dbName, tableName, partition);
137+
} catch (AlreadyExistsException e) {
138+
log.warn("The partition {} are already exists", partition);
139+
}
135140
}
136141
}
137142

0 commit comments

Comments
 (0)