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

Reply via email to