qingleng01 commented on issue #39084:
URL: 
https://github.com/apache/shardingsphere/issues/39084#issuecomment-5090086161

   [Thank](url) you very much for your detailed analysis and suggestions.
   
   We have collected as much information as we can for this incident. Please 
see below.
   
   Environment
   
   - ShardingSphere-JDBC: 5.5.2
   - Mode: Standalone
   - JDK: 21
   - Spring Boot: 3.3.5
   - MySQL Server: 8.0.31-baidu-3.2.3.1
   - MySQL Connector/J: 8.0.33
   - HikariCP: 5.1.0
   
   The actual JDBC driver used by our application is 
com.mysql:mysql-connector-j:8.0.33.
   
   JDBC URL (redacted)
   
jdbc:mysql://<host>:<port>/risk_agent?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
   Maven dependencies
   
   The complete Maven dependency tree is attached.
   
[dependency-tree.txt](https://github.com/user-attachments/files/30401675/dependency-tree.txt)
   
   The relevant dependencies are:
   
   org.apache.shardingsphere:shardingsphere-jdbc:5.5.2
   com.mysql:mysql-connector-j:8.0.33
   com.zaxxer:HikariCP:5.1.0
   Exception stack trace
   
   **We have attached the preserved exception stack trace from the incident. 
Unfortunately, the original application logs are no longer available because 
the affected production instance was later migrated to another machine. 
Therefore, we can only provide the exception information that was preserved at 
that time.**
   
   
[exception.md](https://github.com/user-attachments/files/30409038/exception.md)
   
   During this incident we observed the same TableNotFoundException on multiple 
SINGLE tables, for example:
   
   risk_feed_data
   risk_feed_result_record
   
   The failures occurred during SQL binding before the SQL was sent to MySQL.
   
   Both exceptions originated from:
   
   
org.apache.shardingsphere.infra.binder.engine.segment.dml.from.type.SimpleTableSegmentBinder.checkTableExists(SimpleTableSegmentBinder.java:178)
   
   One failure occurred while preparing an INSERT statement, and another 
occurred while preparing a SELECT statement.
   
   Physical tables
   
   The physical tables definitely existed in MySQL during the incident.
   
   For example, we have attached the DDL of 
risk_feed_result_record.[ddl.sql](https://github.com/user-attachments/files/30408938/ddl.sql)
   
   During the failure, SHOW TABLES also confirmed that both risk_feed_data and 
risk_feed_result_record existed in the database, together with many other 
SINGLE tables.
   
   Startup logs
   
   Unfortunately, we are unable to provide the startup logs for the affected 
instance.
   
   The incident occurred on a production instance that was later migrated to 
another machine, and the original startup logs are no longer available.
   
   Connection#getCatalog(), Connection#getSchema(), and 
DatabaseMetaData#getTables()
   
   Unfortunately, we cannot provide these results for this incident.
   
   At the time of the failure, we did not have diagnostic code to capture 
Connection#getCatalog(), Connection#getSchema(), or 
DatabaseMetaData#getTables() before restarting the affected instance.
   
   
   If this issue occurs again, we will collect these JDBC metadata results 
before restarting the application and update this issue.
   
   Table existence before startup
   
   The affected tables already existed before the application was started.
   
   After restarting the affected application instance, without any database 
changes, configuration changes, or table creation operations, the same 
application immediately worked correctly.
   
   This suggests that the physical tables themselves were not missing.
   
   If we encounter this issue again, we will collect the JDBC metadata 
information you requested before restarting the application and update this 
issue accordingly.
   


-- 
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