-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data race between mysqlConn.cleanup() and writeHandshakeResponsePacket #1567
Comments
bobvawter
added a commit
to cockroachdb/replicator
that referenced
this issue
Mar 20, 2024
Revert when go-sql-driver/mysql#1567 is closed
github-merge-queue bot
pushed a commit
to cockroachdb/replicator
that referenced
this issue
Mar 20, 2024
Revert when go-sql-driver/mysql#1567 is closed
shogo82148
added a commit
to shogo82148/mysql
that referenced
this issue
Mar 22, 2024
shogo82148
added a commit
that referenced
this issue
Mar 22, 2024
### Description closes #1567 When TLS is enabled, `mc.netConn` is rewritten after the TLS handshak as detailed here: https://github.com/go-sql-driver/mysql/blob/d86c4527bae98ccd4e5060f72887520ce30eda5e/packets.go#L355 Therefore, `mc.netConn` should not be accessed within the watcher goroutine. Instead, `mc.rawConn` should be initialized prior to invoking `mc.startWatcher`, and `mc.rawConn` should be used in lieu of `mc.netConn`. ### Checklist - [x] Code compiles correctly - [x] Created tests which fail without the change (if possible) - [x] All tests passing - [x] Extended the README / documentation, if necessary - [x] Added myself / the copyright holder to the AUTHORS file <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved variable naming for better code readability and maintenance. - Enhanced network connection handling logic. - **New Features** - Updated TCP connection handling to better support TCP Keepalives. - **Tests** - Added a new test to address and verify the fix for a specific issue related to TLS, connection pooling, and round trip time estimation. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Could you try 7eeaba6 ? |
The 7eeaba6 commit looks stable in our CI environment. Thanks. |
5 tasks
shogo82148
added a commit
that referenced
this issue
Mar 26, 2024
### Description #1559 and #1567 are fixed. Let's release a new version v1.8.1. ### Checklist - [x] Code compiles correctly - [x] Created tests which fail without the change (if possible) - [x] All tests passing - [x] Extended the README / documentation, if necessary - [x] Added myself / the copyright holder to the AUTHORS file <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Addressed race condition issues for enhanced stability. - **New Features** - Improved database compatibility with charset and collation adjustments. - Enhanced security and flexibility through the introduction of new configuration options. - **Major Changes** - Dropped support for older versions of Go (1.13-1.17) to leverage newer language features. - Improved number parsing for efficiency and accuracy. - Added configurable logging per connection for better diagnostics. - **Enhancements** - Fixed issues with ColumnType.DatabaseTypeName to improve data handling. - Introduced connection attributes for more detailed connection information. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
shogo82148
added a commit
to shogo82148/mysql
that referenced
this issue
Mar 26, 2024
### Description go-sql-driver#1559 and go-sql-driver#1567 are fixed. Let's release a new version v1.8.1. ### Checklist - [x] Code compiles correctly - [x] Created tests which fail without the change (if possible) - [x] All tests passing - [x] Extended the README / documentation, if necessary - [x] Added myself / the copyright holder to the AUTHORS file <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Addressed race condition issues for enhanced stability. - **New Features** - Improved database compatibility with charset and collation adjustments. - Enhanced security and flexibility through the introduction of new configuration options. - **Major Changes** - Dropped support for older versions of Go (1.13-1.17) to leverage newer language features. - Improved number parsing for efficiency and accuracy. - Added configurable logging per connection for better diagnostics. - **Enhancements** - Fixed issues with ColumnType.DatabaseTypeName to improve data handling. - Introduced connection attributes for more detailed connection information. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Issue description
This is a follow-on from #1559 that popped out of our CI system running the 1.8.1 pre-release.
Error log
Configuration
Driver version (or git SHA): v1.8.1-0.20240317050433-65395d853d2c
Go version: go 1.20.14
Server version: MySQL v8
Server OS: GitHub
ubuntu-latest
runner.The text was updated successfully, but these errors were encountered: