GoodBoyCoder opened a new pull request, #6678: URL: https://github.com/apache/incubator-seata/pull/6678
<!-- Please make sure you have read and understood the contributing guidelines --> - [ ] I have registered the PR [changes](../changes). ### Ⅰ. Describe what this PR did When the database is case-insensitive, if different services use table names with different case to query the same record, the lock RowKey will be inconsistent, causing the same global transaction lock to fail to re-enter. This PR unifies the record table name of TableMetaCache with the actual converted table name to avoid this situation. ### Ⅱ. Does this pull request fix one issue? <!-- If that, add "fixes #xxx" below in the next line, for example, fixes #97. --> fixes #6612 ### Ⅲ. Why don't you add test cases (unit test/integration test)? ### Ⅳ. Describe how to verify it Seata Version: 2.0.0 Database: oracle-xe-11g with JDBC ojdbc6:11.2.0.4.0 How to reproduce? using Oracle database as an example. In a GlobalTransactional Service A: Use SQL1 - update stock_tbl set count = count - ? where id= "1" Service B: Use SQL2 - update stock_TBL set count = count - ? where id = "1" The RowKey generated by service A is resourceId^^^stock_tbl^^^1, while service B is resourceId^^^stock_TBL^^^1 The result is that Service A cannot acquire global lock. Using the same case, the transaction can be committed normally after modification ### Ⅴ. Special notes for reviews It should be noted that after upgrading, if there are uncleared locks in the old version, there may be lock conflicts, causing transactions to roll back. -- 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: notifications-unsubscr...@seata.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org For additional commands, e-mail: notifications-h...@seata.apache.org