Bug Description
What happened:
Failure in Glue sync, constructor not found.
The constructor in AwsGlueCatalogSyncTool needs 3 arguments, the last one being an optional of metaClient.
public AwsGlueCatalogSyncTool(Properties props, Configuration hadoopConf, Option<HoodieTableMetaClient> metaClient) {
super(props, hadoopConf, metaClient);
}
But in HiveSyncContext when the AwsGlueCatalogSyncTool is constructed with reflection, the metaClient argument is not provided.
public HiveSyncTool hiveSyncTool() {
HiveSyncMode syncMode = HiveSyncMode.of(props.getProperty(HIVE_SYNC_MODE.key()));
if (syncMode == HiveSyncMode.GLUE) {
return ((HiveSyncTool) ReflectionUtils.loadClass(AWS_GLUE_CATALOG_SYNC_TOOL_CLASS,
new Class<?>[] {Properties.class, org.apache.hadoop.conf.Configuration.class},
props, hiveConf));
}
return new HiveSyncTool(props, hiveConf);
}
What you expected:
Glue Sync works with Flink.
Steps to reproduce:
- Deploy Hudi with Flink bundle as uber jar
- Create a table with 'hive_sync.mode' = 'GLUE'
Environment
Hudi version: 1.1.1 (flink bundle in uber jar)
Query engine: Flink 1.20 on AWS Managed Flink
Relevant configs: 'hive_sync.mode' = 'GLUE'
Logs and Stack Trace
No response
Bug Description
What happened:
Failure in Glue sync, constructor not found.
The constructor in AwsGlueCatalogSyncTool needs 3 arguments, the last one being an optional of metaClient.
But in HiveSyncContext when the AwsGlueCatalogSyncTool is constructed with reflection, the metaClient argument is not provided.
What you expected:
Glue Sync works with Flink.
Steps to reproduce:
Environment
Hudi version: 1.1.1 (flink bundle in uber jar)
Query engine: Flink 1.20 on AWS Managed Flink
Relevant configs: 'hive_sync.mode' = 'GLUE'
Logs and Stack Trace
No response