Bug #109118 | mysql router connect error | ||
---|---|---|---|
Submitted: | 17 Nov 2022 2:00 | Modified: | 18 Dec 2022 15:20 |
Reporter: | WANG FENG | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Router | Severity: | S2 (Serious) |
Version: | 8.0.29 | OS: | CentOS (7.7.1908) |
Assigned to: | MySQL Verification Team | CPU Architecture: | x86 (x86_64) |
[17 Nov 2022 2:00]
WANG FENG
[17 Nov 2022 2:12]
WANG FENG
Mysql router version 8.0.29 Mysql version 8.0.26 Centos 7.7.1908 x86_64 client use Connector/NET
[17 Nov 2022 9:28]
WANG FENG
tcpdump data analized by wireshark
Attachment: tcpdump.PNG (image/png, text), 67.86 KiB.
[17 Nov 2022 12:42]
MySQL Verification Team
Hi, I cannot reproduce this. Do you have any actual issues with your application other then errors in the log? Please try to reproduce this using MySQL Server 8.0.31 MySQL Router 8.0.31 and .net connector 8.0.31 Thanks
[18 Nov 2022 9:36]
WANG FENG
Do you have any actual issues with your application other then errors in the log? The answer is: yes, application has connection error occasionally. I got the tcp packet using tcpdump, and i found that after tcp connection handshake finish between client and router as well as router and mysql server, the client nevel send any packets to router ,which difference than normal, at the end, mysql server will send a 'Got timeout reading communication packets' message to router.
[18 Nov 2022 9:38]
WANG FENG
the error messages like this "longdate": "2022-11-18 11:34:21.3175", "level": "ERROR", "logger": "Grpc.AspNetCore.Server.ServerCallHandler", "message": "Error when executing service method 'ClearTimeout'.", "exception": "System.Exception: Unable to connect to any of the specified MySQL hosts. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts. at MySql.Data.Failover.FailoverManager.AttemptConnection(MySqlConnection connection, String originalConnectionString, String& connectionString, Boolean mySqlPoolManager) at MySql.Data.MySqlClient.MySqlConnection.Open() at System.Data.Common.DbConnection.OpenAsync(CancellationToken cancellationToken) --- End of stack trace from previous location --- at FreeSql.MySql.MySqlConnectionPoolPolicy.OnGetAsync(Object`1 obj) at FreeSql.Internal.ObjectPool.ObjectPool`1.GetAsync() at FreeSql.Internal.CommonProvider.AdoProvider.ExecuteNonQueryAsync(DbConnection connection, DbTransaction transaction, CommandType cmdType, String cmdText, Int32 cmdTimeout, DbParameter[] cmdParms, CancellationToken cancellationToken) --- End of inner exception stack trace --- at FreeSql.Internal.CommonProvider.AdoProvider.LoggerException(IObjectPool`1 pool, PrepareCommandResult pc, Exception ex, DateTime dt, StringBuilder logtxt, Boolean isThrowException) at FreeSql.Internal.CommonProvider.AdoProvider.ExecuteNonQueryAsync(DbConnection connection, DbTransaction transaction, CommandType cmdType, String cmdText, Int32 cmdTimeout, DbParameter[] cmdParms, CancellationToken cancellationToken) at FreeSql.Internal.CommonProvider.UpdateProvider`1.<>c__DisplayClass60_0.<<RawExecuteAffrowsAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at FreeSql.Internal.CommonProvider.UpdateProvider`1.ToSqlFetchAsync(Func`2 fetchAsync) at FreeSql.Internal.CommonProvider.UpdateProvider`1.RawExecuteAffrowsAsync(CancellationToken cancellationToken) at FreeSql.Internal.CommonProvider.UpdateProvider`1.SplitExecuteAffrowsAsync(Int32 valuesLimit, Int32 parameterLimit, CancellationToken cancellationToken) at Laiye.EntCmd.Service.CoreModule.Repositories.WorkerRepository.ClearTimeout(Int64 databaseId) in \/src\/Laiye.EntCmd.Service.CoreModule\/Repositories\/WorkerRepository.cs:line 1173 at Laiye.EntCmd.Service.CoreModule.Services.WorkerService.ClearTimeout(ClearTimeoutRequest request, ServerCallContext context) in \/src\/Laiye.EntCmd.Service.CoreModule\/Services\/WorkerService.cs:line 830 at Grpc.Shared.Server.UnaryServerMethodInvoker`3.ResolvedInterceptorInvoker(TRequest resolvedRequest, ServerCallContext resolvedContext) at Grpc.Shared.Server.UnaryServerMethodInvoker`3.ResolvedInterceptorInvoker(TRequest resolvedRequest, ServerCallContext resolvedContext) at Laiye.EntUC.Core.Common.LaiyeExceptionInterceptor.UnaryServerHandler[TRequest,TResponse](TRequest request, ServerCallContext context, UnaryServerMethod`2 continuation) at Grpc.Shared.Server.InterceptorPipelineBuilder`2.<>c__DisplayClass5_0.<<UnaryPipeline>b__1>d.MoveNext() --- End of stack trace from previous location --- at Grpc.Shared.Server.InterceptorPipelineBuilder`2.<>c__DisplayClass5_0.<<UnaryPipeline>b__1>d.MoveNext() --- End of stack trace from previous location --- at Grpc.AspNetCore.Server.Internal.CallHandlers.UnaryServerCallHandler`3.HandleCallAsyncCore(HttpContext httpContext, HttpContextServerCallContext serverCallContext) at Grpc.AspNetCore.Server.Internal.CallHandlers.ServerCallHandlerBase`3.<HandleCallAsync>g__AwaitHandleCall|8_0(HttpContextServerCallContext serverCallContext, Method`2 method, Task handleCall)"
[18 Nov 2022 9:42]
WANG FENG
I'm testing using MySQL Server 8.0.31 MySQL Router 8.0.31 and .net connector 8.0.31 The answer will soon;
[18 Nov 2022 10:46]
WANG FENG
Hi, I'm testing using 8.0.31 (MySQL Server, Connect/NET,Mysql Router) and the problem still there.
[18 Nov 2022 15:20]
MySQL Verification Team
Hi, I cannot reproduce this. Please supply a minimal project I can compile to try to reproduce this.
[19 Dec 2022 1:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".