aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap
Glue Iceberg Table: Table is broken after any update
- Dominant language
- No language data
- Stars
- 1.1k
- Forks
- 62
- PR merge metrics
- No merged PRs in 30d
Description
### Name of the resource
AWS::Glue::Table
### Resource Name
_No response_
### Issue Description
Hi there!
When I try to update something on my iceberg table, the update causes the table to break and the table format to disappear. Basically, it's no longer an iceberg table and no operations on the table are possible.
### Expected Behavior
When I update the table, the update does not remove the table input and I can work with the iceberg table as I should.
### Observed Behavior
Before the update (after initial deployment):
After any update:
Notice the table format prop. Table management prop is also away.
Athena before update:

Athena after update:


### Test Cases
Simple CDK Stack to reproduce this behavior (uncomment one column to update, or do any other update):
```typescript
export class CdkTestingStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const myTestDatabase = new CfnDatabase(this, 'myTestDatabase', {
catalogId: Aws.ACCOUNT_ID,
databaseInput: {
name: 'mytestdatabase'
}
})
const myLocationBucket = new Bucket(this, 'myLocationBucket', {
removalPolicy: RemovalPolicy.DESTROY,
autoDeleteObjects: true
})
const myTestTable = new CfnTable(this, 'myTestTable', {
databaseName: 'mytestdatabase',
catalogId: Aws.ACCOUNT_ID,
tableInput: {
name: 'mytesttable',
storageDescriptor: {
columns: [
{
name: 'name',
type: 'string'
},
// {
// name: 'ts',
// type: 'timestamp'
// }
],
location: `s3://${myLocationBucket.bucketName}/mytesttable/`,
},
tableType: 'EXTERNAL_TABLE',
},
openTableFormatInput: {
icebergInput: {
metadataOperation: 'CREATE',
version: '2'
}
}
})
}
}
```
### Other Details
_No response_
Contributor guide
Research direction
Start with the TypeScript CDK reproduction in the issue, focusing on AWS::Glue::Table's tableInput and openTableFormatInput during an update. Deploy the example, make the shown column change, and inspect the Glue and Athena table state before and after; done means updates preserve the Iceberg table format and table-management properties.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100