zhongqishang opened a new issue, #3062:
URL: https://github.com/apache/amoro/issues/3062

   ### What happened?
   
   Table `table_runtime` write failed.
   
   ### Affects Versions
   
   0.6.1
   
   ### What table formats are you seeing the problem on?
   
   Iceberg
   
   ### What engines are you seeing the problem on?
   
   AMS
   
   ### How to reproduce
   
   - Drop table
   - Create table with same name
   - Restart AMS
   
   
   ### Relevant log output
   
   ```shell
   2024-07-23 18:19:15,252 ERROR [table-explorer-executor-2] 
[com.netease.arctic.server.table.DefaultTableService] [] - TableExplorer sync 
table TableIdentity{database=ods_iceberg_manage_industry_db, tableName=xxx} 
error
   com.netease.arctic.server.exception.PersistenceException: 
org.apache.ibatis.exceptions.PersistenceException: 
   ### Error updating database.  Cause: 
java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 
'iceberg-ods_iceberg_manage_industry_db-comp_product_industry_sta' for key 
'table_runtime.table_index'
   ### The error may exist in 
com/netease/arctic/server/persistence/mapper/TableMetaMapper.java (best guess)
   ### The error may involve 
com.netease.arctic.server.persistence.mapper.TableMetaMapper.insertTableRuntime-Inline
   ### The error occurred while setting parameters
   ### SQL: INSERT INTO table_runtime (table_id, catalog_name, db_name, 
table_name, current_snapshot_id, current_change_snapshotId, 
last_optimized_snapshotId, last_optimized_change_snapshotId, 
last_major_optimizing_time, last_minor_optimizing_time, 
last_full_optimizing_time, optimizing_status, optimizing_status_start_time, 
optimizing_process_id, optimizer_group, table_config, pending_input) VALUES (?, 
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
   ### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate 
entry 'iceberg-ods_iceberg_manage_industry_db-comp_product_industry_sta' for 
key 'table_runtime.table_index'
        at 
com.netease.arctic.server.exception.ArcticRuntimeException.wrap(ArcticRuntimeException.java:122)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.persistence.PersistentBase.doAs(PersistentBase.java:52)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.table.TableRuntime.persistTableRuntime(TableRuntime.java:319)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.table.TableRuntime.<init>(TableRuntime.java:104) 
~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.table.DefaultTableService.handleTableRuntimeAdded(DefaultTableService.java:600)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.table.DefaultTableService.lambda$syncTable$23(DefaultTableService.java:586)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.persistence.PersistentBase.doAsTransaction(PersistentBase.java:61)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.table.DefaultTableService.syncTable(DefaultTableService.java:580)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.table.DefaultTableService.lambda$null$18(DefaultTableService.java:473)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640)
 [?:1.8.0_402]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_402]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_402]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_402]
   Caused by: org.apache.ibatis.exceptions.PersistenceException: 
   ### Error updating database.  Cause: 
java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 
'iceberg-ods_iceberg_manage_industry_db-comp_product_industry_sta' for key 
'table_runtime.table_index'
   ### The error may exist in 
com/netease/arctic/server/persistence/mapper/TableMetaMapper.java (best guess)
   ### The error may involve 
com.netease.arctic.server.persistence.mapper.TableMetaMapper.insertTableRuntime-Inline
   ### The error occurred while setting parameters
   ### SQL: INSERT INTO table_runtime (table_id, catalog_name, db_name, 
table_name, current_snapshot_id, current_change_snapshotId, 
last_optimized_snapshotId, last_optimized_change_snapshotId, 
last_major_optimizing_time, last_minor_optimizing_time, 
last_full_optimizing_time, optimizing_status, optimizing_status_start_time, 
optimizing_process_id, optimizer_group, table_config, pending_input) VALUES (?, 
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
   ### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate 
entry 'iceberg-ods_iceberg_manage_industry_db-comp_product_industry_sta' for 
key 'table_runtime.table_index'
        at 
org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
 ~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:199)
 ~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
 ~[mybatis-3.5.6.jar:3.5.6]
        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) 
~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
 ~[mybatis-3.5.6.jar:3.5.6]
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) 
~[mybatis-3.5.6.jar:3.5.6]
        at com.sun.proxy.$Proxy40.insertTableRuntime(Unknown Source) ~[?:?]
        at 
com.netease.arctic.server.table.TableRuntime.lambda$persistTableRuntime$14(TableRuntime.java:319)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.persistence.PersistentBase.doAs(PersistentBase.java:48)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        ... 11 more
   Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate 
entry 'iceberg-ods_iceberg_manage_industry_db-comp_product_industry_sta' for 
key 'table_runtime.table_index'
        at 
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) 
~[mysql-connector-java-8.0.30.jar:8.0.30]
        at 
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
 ~[mysql-connector-java-8.0.30.jar:8.0.30]
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
 ~[mysql-connector-java-8.0.30.jar:8.0.30]
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354)
 ~[mysql-connector-java-8.0.30.jar:8.0.30]
        at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:94)
 ~[commons-dbcp2-2.9.0.jar:2.9.0]
        at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:94)
 ~[commons-dbcp2-2.9.0.jar:2.9.0]
        at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_402]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_402]
        at 
org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
 ~[mybatis-3.5.6.jar:3.5.6]
        at com.sun.proxy.$Proxy35.execute(Unknown Source) ~[?:?]
        at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)
 ~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
 ~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) 
~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) 
~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) 
~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
 ~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
 ~[mybatis-3.5.6.jar:3.5.6]
        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62) 
~[mybatis-3.5.6.jar:3.5.6]
        at 
org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
 ~[mybatis-3.5.6.jar:3.5.6]
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) 
~[mybatis-3.5.6.jar:3.5.6]
        at com.sun.proxy.$Proxy40.insertTableRuntime(Unknown Source) ~[?:?]
        at 
com.netease.arctic.server.table.TableRuntime.lambda$persistTableRuntime$14(TableRuntime.java:319)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        at 
com.netease.arctic.server.persistence.PersistentBase.doAs(PersistentBase.java:48)
 ~[amoro-ams-server-0.6.1-SNAPSHOT.jar:?]
        ... 11 more
   ```
   ```
   
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's Code of Conduct


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to