You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "sandynz (via GitHub)" <gi...@apache.org> on 2023/03/02 11:46:12 UTC

[GitHub] [shardingsphere] sandynz opened a new pull request, #24426: Compatible with BINARY/VARBINARY column type in MySQL binlog parsing

sandynz opened a new pull request, #24426:
URL: https://github.com/apache/shardingsphere/pull/24426

   
   Changes proposed in this pull request:
     - Compatible with BINARY/VARBINARY column type in MySQL binlog parsing
   
   ---
   
   Before committing this PR, I'm sure that I have checked the following options:
   - [ ] My code follows the [code of conduct](https://shardingsphere.apache.org/community/en/involved/conduct/code/) of this project.
   - [ ] I have self-reviewed the commit code.
   - [ ] I have (or in comment I request) added corresponding labels for the pull request.
   - [ ] I have passed maven check locally : `./mvnw clean install -B -T1C -Dmaven.javadoc.skip -Dmaven.jacoco.skip -e`.
   - [ ] I have made corresponding changes to the documentation.
   - [ ] I have added corresponding unit tests for my changes.
   


-- 
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-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] sandynz commented on pull request #24426: Compatible with BINARY/VARBINARY column type in MySQL binlog parsing

Posted by "sandynz (via GitHub)" <gi...@apache.org>.
sandynz commented on PR #24426:
URL: https://github.com/apache/shardingsphere/pull/24426#issuecomment-1451750433

   
   MySQL replication protocol handles BINARY/VARBINARY column as MYSQL_TYPE_VARCHAR(15) in TableMap columnDef, so binary string might be changed after `new String(byte[], charset)`. It cause pipeline incremental task failed on UDPATE.
   
   Example operation:
   ```
   mysql> update variants set title=now() where hex(id)='00003B0B29C6430ABB6D977D16AF5716';
   Query OK, 1 row affected (0.04 sec)
   
   In proxy log:
   [ShardingSphere-pipeline-Incremental-j01010d6b5c310ae6e051841392fc2ae02872-1] o.a.s.d.p.c.i.DataSourceImporter - executeUpdate failed, updateCount=0, updateSql=UPDATE variants SET title = ? WHERE id = ?, updatedColumns=[title=[B@2d1567f2], conditionColumns=[id=;)�C
   �m�}�W]
   ```
   
   VARBINARY column is MYSQL_TYPE_VARCHAR type:
   ![图片](https://user-images.githubusercontent.com/42492540/222421445-03813271-6df7-4ea0-80fb-17c78d2a4710.png)
   
   VARBINARY column value changed in String.bytes:
   ![图片](https://user-images.githubusercontent.com/42492540/222421852-37f03419-3164-4f00-b263-025cf21b7e8c.png)
   
   


-- 
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-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] sandynz commented on pull request #24426: Compatible with VARBINARY column type in MySQL binlog parsing

Posted by "sandynz (via GitHub)" <gi...@apache.org>.
sandynz commented on PR #24426:
URL: https://github.com/apache/shardingsphere/pull/24426#issuecomment-1463055063

   
   In `MySQLBinlogProtocolValueFactory`:
   ```
       private static void registerStringTypeValue() {
           BINLOG_PROTOCOL_VALUES.put(MySQLBinaryColumnType.MYSQL_TYPE_STRING, new MySQLStringBinlogProtocolValue());
           BINLOG_PROTOCOL_VALUES.put(MySQLBinaryColumnType.MYSQL_TYPE_VARCHAR, new MySQLVarcharBinlogProtocolValue());
           BINLOG_PROTOCOL_VALUES.put(MySQLBinaryColumnType.MYSQL_TYPE_VAR_STRING, new MySQLVarcharBinlogProtocolValue());
           BINLOG_PROTOCOL_VALUES.put(MySQLBinaryColumnType.MySQL_TYPE_JSON, new MySQLJsonBinlogProtocolValue());
       }
   ```
   
   `MySQLStringBinlogProtocolValue` is not updated this time, BINARY column will be handled as MYSQL_TYPE_STRING in TableMap columnDef.
   It's already updated in master branch by #24485.
   


-- 
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-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] azexcy merged pull request #24426: Compatible with BINARY/VARBINARY column type in MySQL binlog parsing

Posted by "azexcy (via GitHub)" <gi...@apache.org>.
azexcy merged PR #24426:
URL: https://github.com/apache/shardingsphere/pull/24426


-- 
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-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] codecov-commenter commented on pull request #24426: Compatible with BINARY/VARBINARY column type in MySQL binlog parsing

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #24426:
URL: https://github.com/apache/shardingsphere/pull/24426#issuecomment-1452950138

   # [Codecov](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#24426](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (0acba24) into [master](https://codecov.io/gh/apache/shardingsphere/commit/ffeb4206a1a1d41e12fcbff9af91da25d93a8878?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (ffeb420) will **decrease** coverage by `0.02%`.
   > The diff coverage is `25.00%`.
   
   > :exclamation: Current head 0acba24 differs from pull request most recent head 198d1f6. Consider uploading reports for the commit 198d1f6 to get more accurate results
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #24426      +/-   ##
   ============================================
   - Coverage     49.94%   49.92%   -0.02%     
   - Complexity     1583     1584       +1     
   ============================================
     Files          3254     3257       +3     
     Lines         53556    53576      +20     
     Branches       9863     9868       +5     
   ============================================
   + Hits          26748    26749       +1     
   - Misses        24418    24430      +12     
   - Partials       2390     2397       +7     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...ite/context/EncryptSQLRewriteContextDecorator.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZmVhdHVyZXMvZW5jcnlwdC9jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9lbmNyeXB0L3Jld3JpdGUvY29udGV4dC9FbmNyeXB0U1FMUmV3cml0ZUNvbnRleHREZWNvcmF0b3IuamF2YQ==) | `12.90% <0.00%> (ø)` | |
   | [...r/segment/strategy/KeyGenerateStrategySegment.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZmVhdHVyZXMvc2hhcmRpbmcvZGlzdHNxbC9zdGF0ZW1lbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoYXJkaW5nc3BoZXJlL3NoYXJkaW5nL2Rpc3RzcWwvcGFyc2VyL3NlZ21lbnQvc3RyYXRlZ3kvS2V5R2VuZXJhdGVTdHJhdGVneVNlZ21lbnQuamF2YQ==) | `0.00% <ø> (ø)` | |
   | [...ra/binder/statement/CommonSQLStatementContext.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-aW5mcmEvYmluZGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9pbmZyYS9iaW5kZXIvc3RhdGVtZW50L0NvbW1vblNRTFN0YXRlbWVudENvbnRleHQuamF2YQ==) | `77.27% <0.00%> (-3.68%)` | :arrow_down: |
   | [...he/shardingsphere/infra/hint/HintValueContext.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-aW5mcmEvY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9pbmZyYS9oaW50L0hpbnRWYWx1ZUNvbnRleHQuamF2YQ==) | `100.00% <ø> (ø)` | |
   | [.../shardingsphere/infra/rewrite/SQLRewriteEntry.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-aW5mcmEvcmV3cml0ZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hhcmRpbmdzcGhlcmUvaW5mcmEvcmV3cml0ZS9TUUxSZXdyaXRlRW50cnkuamF2YQ==) | `78.26% <0.00%> (-7.46%)` | :arrow_down: |
   | [...hardingsphere/data/pipeline/api/job/JobStatus.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-a2VybmVsL2RhdGEtcGlwZWxpbmUvYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9kYXRhL3BpcGVsaW5lL2FwaS9qb2IvSm9iU3RhdHVzLmphdmE=) | `0.00% <ø> (ø)` | |
   | [...ngsphere/data/pipeline/cdc/api/impl/CDCJobAPI.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-a2VybmVsL2RhdGEtcGlwZWxpbmUvY2RjL2NvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoYXJkaW5nc3BoZXJlL2RhdGEvcGlwZWxpbmUvY2RjL2FwaS9pbXBsL0NEQ0pvYkFQSS5qYXZh) | `0.00% <ø> (ø)` | |
   | [...rdingsphere/data/pipeline/cdc/core/job/CDCJob.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-a2VybmVsL2RhdGEtcGlwZWxpbmUvY2RjL2NvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoYXJkaW5nc3BoZXJlL2RhdGEvcGlwZWxpbmUvY2RjL2NvcmUvam9iL0NEQ0pvYi5qYXZh) | `0.00% <0.00%> (ø)` | |
   | [...data/pipeline/cdc/core/prepare/CDCJobPreparer.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-a2VybmVsL2RhdGEtcGlwZWxpbmUvY2RjL2NvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoYXJkaW5nc3BoZXJlL2RhdGEvcGlwZWxpbmUvY2RjL2NvcmUvcHJlcGFyZS9DRENKb2JQcmVwYXJlci5qYXZh) | `0.00% <ø> (ø)` | |
   | [...i/impl/AbstractInventoryIncrementalJobAPIImpl.java](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-a2VybmVsL2RhdGEtcGlwZWxpbmUvY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hhcmRpbmdzcGhlcmUvZGF0YS9waXBlbGluZS9jb3JlL2FwaS9pbXBsL0Fic3RyYWN0SW52ZW50b3J5SW5jcmVtZW50YWxKb2JBUElJbXBsLmphdmE=) | `0.00% <0.00%> (ø)` | |
   | ... and [17 more](https://codecov.io/gh/apache/shardingsphere/pull/24426?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   


-- 
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-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org