question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Character string causes a command timeout when `usecompression=true` in connection string

See original GitHub issue

Steps to reproduce

  1. Create a sample ASP.NET 6 Core MVC Web App using the “Create a new project” wizard in Visual Studio 2022
  2. Add the following NuGet packages: Microsoft.EntityFrameworkCore.Tools (6.0.1), Pomelo.EntityFrameworkCore.MySql (6.0.1)
  3. Create a MariaDB database called “testdb”
  4. Use the DatabaseContext.cs code I’m including in this post for the DBContext class (make sure “usecompression=true” is present in the connection string, this is important)
  5. Use the Program.cs code I’m including in this post for the Program class
  6. Use the TestModel.cs code I’m including in this post for the TestModel class
  7. Use the Index.cshtml code I’m including in this post in the Razor view that demonstrates the issue
  8. Do an “add-migration” command in the NuGet Package Manager Console to create the table described in DatabaseContext
  9. Build and run the web application, and you will get MySqlException: The Command Timeout expired before the operation completed.
Sample code

DatabaseContext.cs

using System.Data.Common;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using MySqlConnector;

public sealed class DatabaseContext : DbContext
{
    private static readonly string connString = "server=localhost;sslmode=preferred;usecompression=true;pooling=true;database=dbtest;uid=**********;pwd=**********";
    public readonly DbConnection Connection;
    private static readonly Lazy<string> DatabaseVersionLoader = new(delegate ()
    {
        string Result;
        using (var TempConnection = new MySqlConnection(connString))
        {
            TempConnection.Open();
            Result = TempConnection.ServerVersion;
        }
        return Result;
    });
    public DatabaseContext()
    {
        Connection = new MySqlConnection(connString);
        Database.OpenConnection();
    }
    protected override void OnConfiguring(DbContextOptionsBuilder Builder)
    {
        var Version = ServerVersion.Parse(DatabaseVersionLoader.Value);
        Builder.UseMySql(Connection, Version, delegate (MySqlDbContextOptionsBuilder MySqlOptions) { MySqlOptions.CommandTimeout(10); });
    }
    public DbSet<TestModel> TestModels { get; set; } = default!;
}

Program.cs

using Microsoft.EntityFrameworkCore;
public class Program
{
    public static void Main(string[] args)
    {
        var builder = WebApplication.CreateBuilder(args);
        // Add services to the container.
        builder.Services.AddControllersWithViews();
        //#############################################
        using (var DB = new DatabaseContext()) { DB.Database.Migrate(); }
        //#############################################
        var app = builder.Build();
        // Configure the HTTP request pipeline.
        if (!app.Environment.IsDevelopment())
        {
            app.UseExceptionHandler("/Home/Error");
        }
        app.UseStaticFiles();
        app.UseRouting();
        app.UseAuthorization();
        app.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
        app.Run();
    }
}

TestModel.cs

public class TestModel
{
    public long ID { get; set; }
    public string? Text { get; set; }
}

Index.cshtml

@{
    ViewData["Title"] = "Home Page";
}
@{
    var SB = new System.Text.StringBuilder();
    SB.Append("data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEAyADIAAD/wAARCACAAG");
    SB.Append("MDAREAAhEBAxEB/9sAhAAHBQUGBQQHBgYGCAgHCQsTDAsKCgsYERIOExwZHh0");
    SB.Append("cGRsbHyMtJh8hKyIbGyc2KCsvMDMzMx4mODw3MTstMjMxAQgICAsKCxcMDBcx");
    SB.Append("IBsgIDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExM");
    SB.Append("TExMTExMTH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAw");
    SB.Append("MCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDN");
    SB.Append("icoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp");
    SB.Append("anN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw");
    SB.Append("8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQ");
    SB.Append("EBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITE");
    SB.Append("GEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3");
    SB.Append("ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk");
    SB.Append("5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+");
    SB.Append("Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APIdG81oLlr2WGTYPP2SAtk");
    SB.Append("/KeV44AJ49+Ae/oUYuL0N6VpaSOm12y0+PwSfmgkR2M52kNk7gAiHOQMHIAGc");
    SB.Append("YPygkB4mV42NKqUVY47RdRjtNUCwu6lyAXSU7XOQdpyvzdBgfzPXgi7HKnYW8");
    SB.Append("1SG61KSWzxHDblZYYinDKFGA3zEHBC8nn1HYJ6kzXMmi7q+uLq2oOotTEsICp");
    SB.Append("bzOMu5UBucEnooJz06nBIqUrGNGiqZiy6jJqFsIiUR1kG0s5zgnIBBPzAN3Oe");
    SB.Append("DnFaSm3obJWKyu1w00rRqDJnEjyf6tfTH5jp16YxUDN2ys7UWc8r6iqzAFkh2");
    SB.Append("kBSdwUgc/KATkg7fmHPGTqnDl13Al8I+IpfDeo+Zdp/aELhg9sxJByAFJGcMC");
    SB.Append("AOucHA4JzWYPU7e/wDFnhWLRBLHEzX0ju0RgyqxFgOMEgIFJx1BBCnpSuyXE5");
    SB.Append("Xwf4ml07xdJeyCCcXMmZYw6jOWB2k5G5cAZ69Oh6NrTnyu4pQ5lY9omutM8Sa");
    SB.Append("FLerPFeSSKsotXjIyQcK2CSBjIBUHnGMkV30cQ7nFOjY5CbQ0MpZp7bcwBJOr");
    SB.Append("NFnI67QMDPXHH0HSvRVVGHKzgTDFFDHOArO6SAo1yNrckqxwMZJzxnB4A44ri");
    SB.Append("UfZxuz1I1Y30C88ROxgW4JNrGxSIoy/vE3nOS5JI+7jngMTzg159aq5s1cm9x");
    SB.Append("NO1TRotQt51gaSBBHva864G0KxGcYDE9Bn5Qc8885J0Elt4VdUtpbmKOK2XZb");
    SB.Append("vE25sMD88jAsFBwOeuOwGMAFDWLTQ2vrYWbTypMw3yXGGBV/mUDaSqluhJGRk");
    SB.Append("fgAas8XgU39u0CwMVjKkuRww2nleNvRuSoxtAIUHgAyry10D+x4iRayTXMyrh");
    SB.Append("2CkKAhK7RjYcZHAJ5AzwKAJrYeDLqIW1ndi3SKPzd5yWLYOHP8AugjjBzyGB6");
    SB.Append("0ASWGieFFjVLm5ga1JUxTTMp2gqvzEADkAoCCTk5OABkNK4Gra2PgizV7YyxC");
    SB.Append("GJTI04yC+FfJAU+pUjPBVSRyMhWsBzl7L4VTStQWz23V1PGPLdG+dXLMc4AwF");
    SB.Append("C5yOcDjvijYuEJTdokWg293HopW2a6srpHA83nMaZAbDccZyT05JweCK7cLOK");
    SB.Append("vczq0ZLSRUuNL1OadmMkCEfJiYSRsdvGSvOM4z+PbpXYpRZj7IoT6tf30k1vf");
    SB.Append("OBDLHnDyDao4AIznB4bknHIHAxXnTrznoy4UlHYs6TpFpeTQSvDseJwzFgcsC");
    SB.Append("2VYbch8kN7Y4yNuTthsN7XVkVavIaHiXw2bLTzf20U6wAEyw3DMrtg7Ccjgr2");
    SB.Append("zn+H0znPE0FSegUavPuY2q2NlHbLKNRfc6l8FgM4TAwMADJxjBIYc9hXLY1pt");
    SB.Append("tvmKdzdNcvFFdL5atne3JfI55GOvT2BycYxQUUglx5m4yMWwRkSBQoBGAD0GD");
    SB.Append("jgeooAFkLCGXzJM7gIyF3bQOdoz1OSKAHzSuIUiUuhkOXQAJ8ueMtgcHI9hjp");
    SB.Append("jGAC34d1KHTb6G9ukEhQjy0DhQRtZTnPA6LnjnjPBOWhMv6qo8RX93qdpAkMK");
    SB.Append("ZQDcFSHaCF5wRg9gMAfLk8g0qk1F6kOajozoPBP9lwW8wmuDagMRHNubEgwCw");
    SB.Append("2gE9MADI5Bz14mXkengKsYS1KutqfD/APx53EbSOEZjJhw0RUAE9AAWKjsRg/");
    SB.Append("eFOF46o2x7hZco23+IL2NulvLCkcij5kjt4yFJ5x83PGe/PuetdHtmeSc7v8l");
    SB.Append("5Y5YfLKJlCA+0rwNw74woBYdhnB6jnkm2bwkoJpo2NBmW31O2E0kcxkYzzCWT");
    SB.Append("jaQVwwB4GDnkDAJ6gkV34bFKkrM469By2Og8TeLbXXLS2sEWVoIgJHklbdh8E");
    SB.Append("BxkHdk4AAJHC/e7ZVantJXFSpcu5xdpDaXd7Ck1zItrLk+ZyQoUEEghc7uA+M");
    SB.Append("c8A+tZJczsbN2Rq2XhG41C/ktrSRUXy1bzEmBKLuXGc46ZB6jAHYcnGtUjS3M");
    SB.Append("p1lFanZaf4M0eza0S8tjdSx7Z5mAUB8Kw3ZPzc5HXA6EDLAHhqYuT+E5JYtt6");
    SB.Append("HTX/AIN8Py2xmSzV/MiMaOqbiM5BLZYtjAOCOm1uDgAcscVU5tw+sNHPal8M9");
    SB.Append("LkuHSK5uIJlRVjMMKsA6k/Kqht3LMuOeenHbqjjmviRpDE3OG8TeFL7wlceXz");
    SB.Append("Ogd0RljYFQGVhznP8AEoPQjOK7KVaNRXidUZqRkq0t0txY6dHsE52+Upf94Bn");
    SB.Append("AAY9sMecAHPfbi5JbsrlTLsPh7U9Ps5L3TixELeXIyR5kY79pG3n1HGedvsaz");
    SB.Append("deCly3BysyfTvDeoaxtngVjaRoygywhijnJ27QGwAOSQMAD14p1KygrmsIuo7");
    SB.Append("GPd6K6XciyWlzI2c7vPQfgeOo6fh0HSpjXi1ct0GnYlhnWXUGiu5riaAxjMca");
    SB.Append("7Aw6HHXHPUcc59MHVuxWHiqk7TNy6tUmu4rnTXijCRB0SFhI6MAHA5yXwyng4");
    SB.Append("5U9gaqVrFYmmoy90uxyaPqel6xPcJCt9KzSR+VMXO/G4leMDnHcYySRxzbjZJ");
    SB.Append("ROK+upneCPDY8SXEkM8BaC3RnDxZIYfICMKpOfmBzzjcePTDE1HRhzGVWqoo7");
    SB.Append("06hbaW1vbWCyGOYFZbeTAVUDqu4465K4CgEEHGeBnyoxlUfPI81uVRmc3iqOz");
    SB.Append("to78RxOixl4o3zI7OrAhcnk4Dt06Lj0IGqp82hUaMtrD7vxLfz210i3jBH2l2");
    SB.Append("LMSjkjgZLFf48AjcNwxuOBURw6TH7Gd9Spd+IdW3NJdBxI6+XiHKu8pIOMYI6");
    SB.Append("KvTOcDpnI09mmjT6nUtextg2Xi2wu0vJftUvKuzgxDkZV9u7GCVzg8nHGMCoh");
    SB.Append("elK6M4VZQlZnnKaDdLb+csjxXMR8xtuCSc4VuByvDe/XGR19hx5op9z1KcuZX");
    SB.Append("O9m8S+Gx4NtbG4ml+0Kp3JG6iOTaFG3CruzwBjAPftx4M8HVVZyIqpy2PPbXX");
    SB.Append("b7SLFre1jCpOXLR+YGMhJODgEkjAGDjGSD2yfWdLmgkzalJ0zTtPHZ06D7KYr");
    SB.Append("dfLdsKXbKgsSB9xugOOpqVRsbe2M0eH/APR5I7dVlkDZVioIjI3FhkNkYwOvJ");
    SB.Append("Hbqa9ueWy+yeXDGpasksPDus21u4O+BjHGqqTj5X3DvwpyxB9MsSKzWXTe5cs");
    SB.Append("bFbGjZeHljn36haNFJKViZJELAZOCq4wOmSORgDpjDHsp4BRV5HLVxjfwnR2u");
    SB.Append("nTaVdrc2dtdS2yRtLuUbljxuwRyckkoc5J57CjE4OnVhyyMvauS1L15o1nG81");
    SB.Append("xeFxKTuaTyNvmh0ZipwOg2ljkZwexAz8/Uy+tTdoq6HCq4bFC68KLKUd5Li5t");
    SB.Append("lZRIJASJGEnzbSACSAeCMHqO+2uWrSrUlzNWPcy7ERrPkmtRLbS7X+ztPubqW");
    SB.Append("4glgcopZMJGBnJyd2cEYGf7wHHUcXtpXsj2vYUraonuNMt7mBzFttbdRvV3j+");
    SB.Append("82RgrtONg8tie3A6nGPSw+Bry17nz+ZY33vZw0SLulXGk26PaR286tLbOrswK");
    SB.Append("pIeTjb1HAAByTg898+rh8qfNzVTw3LW5zF1psq3b+VHJHMibpS0ZR9sYGSwGd");
    SB.Append("oxjJ44ZgN54r2nQhy2SNI1mjnZNFvrS+nLrMsmCMKu1XxnYQMZP3WJ4+nPFeb");
    SB.Append("WwbTujtp4lNJFSDT38gx3E7lXh37cfdC7gvBU4wAeQe5xkAmuGVKUdz0sLCFZ");
    SB.Append("2bKsFvd+QvlQMY/4SqykEfgMVnyvsTOKUmjs2jDyYt7hvKb52ZeTsUEuflypJ");
    SB.Append("DDlsff8Afj60+ftpdm4dDjlENvFb3D3GGZZIiMlg7ksvCqcZJxjneAOu4Rczc");
    SB.Append("i5qXhl7LfbXF/MhcM5RWHzrnIzhduTluTggsBzxQpJk3Ov8GTWdlp/lT/JdcF");
    SB.Append("pQ5CBix3DcrqpyVyBkEdATggctaDkXCdjpptJ03X0+0raz29s2IpvKRFU9cxs");
    SB.Append("qneDk4PT2HIJ5XUlT0uax94j8V6Lo2jWJtEVlu59jCEEbU24JIb5QB97rzk8D");
    SB.Append("GK8jMa050Xc9rLaSjVTORzFbRoVdZl894/LUYHLEHDjGSNwbgdh6KV+Xg7SPp");
    SB.Append("Z7HZaXoOn3Xhsw2rqDMo+znYGEThfl5AIIC4bdk8DnrX2WDxUoQR8jjKF5s5D");
    SB.Append("UvD+paRe4tWvCTEHADMjIu1QTtVGBHDYB7kgDODXtU68ZnlTpuJyt8b+3vUdE");
    SB.Append("gthIWZclvKCvtIG4DGCVz7lSOVPO90R6lI29jcXEtzcJBHEz+WFWMZiYjLAEJ");
    SB.Append("kFcjBx1IHOTQ4pjTa2KN9oUaIsm5kUSFGlZQjSNtkAc5JI25XnPr36ZTpRkbU");
    SB.Append("68obEUPg3R/JU3enapPO3zPIoOGJ5yOuRz1yfqa5vqi6HT9buVLNzbNHId04t");
    SB.Append("5TIhkYrsXJIZe4JI7nqRkHivQa0OV67Hex3yXElvLpcFqvn7o90SKpkGcD5dw");
    SB.Append("YANkHIxk45OCc3oYNMt2cdpJE1rcyxR2vmMIZZf3yrg5UKvAKhc8Hj5gcYYZz");
    SB.Append("btsFjrdC020vI76aOYuLhpAiQOVGFOdoI6ZBJwM5BOcnpzTqNblqNylrOuroy");
    SB.Append("2kNu4+1qEa5jGWBXK4yV4fljg56dTk5rixGJhShzSPYy7L5V5Xexl6boOo6lr");
    SB.Append("Lz6peGTy32rDLBI6sGz99WIKjJ4yfzr5PF5nOt7sVofU0qeHpv2cNWal5aRXN");
    SB.Append("lD9tigtdysFNspYAE7curYwFGeucdMDgHzk29Tp5Nyj9k1nTD5mnXFxHb7GOJ");
    SB.Append("IRsZWUfKdzckhO3y52g4wRXr4TM3SahVWhw1aWGxN4x0kdTYX41LRvJlicXMj");
    SB.Append("SwmNlY+YzAggEADaDvPHXJIANfTUpRkuaL0Pl8bhZ0JcrMPxFpVrE1xe2tqhl");
    SB.Append("luBG6MzbjKSchQrYbGc54HOeor0KUm9GeXLQ5PVdOkvoovsljuMWC0qS7ijqq");
    SB.Append("sSpPQ8c8kEgZ5ya6lJLclSMTWrC4gXzLWe2ihRAUKyMTu3d24J6tg887ugztp");
    SB.Append("NMat1K1trOvW1rFFa2tmYAoKF7hUODz03D17gE9TzRYvlj3OpsPB1pGbq4MMU");
    SB.Append("0cDFGDzuEVVIZQcAkjBH97lR0C1DmRzMtXfhuK2SNGVliDBpEjk8skbcfIM/c");
    SB.Append("w3fnH3jgkiVUQtSbRoUS7DXduzJKI4VjZi25lUZJIbJI+bGAN27PQgmZsSuzs");
    SB.Append("tPEUPnRzuJsLvSZnKs0ZwoQlTwGJ6c9e3UcNZ2Wp00I80rFibSkh1KO6luTHa");
    SB.Append("wugMdwol24TJHAOBt3dwMq3GGJHymZSlWqKF9D62FVUaHJDdmJr3iBX3CK6Fw");
    SB.Append("2WCQOu7agGCHY5xzs+bdg4z1rirKLtCB0YCg6a557sxtIv4LyRJIhJcXURZQ+");
    SB.Append("E8tMcgsC3Xlck8jkDkcZ0qTU0d9WonB2PQ9TtrVlSXToY41dP3tw6sfJGTk/e");
    SB.Append("I4LE49wOa9jE4WFWn5nycpShPnRz7Q3ema++oMrwRFN7KyLuIZtpxyWTn+HOM");
    SB.Append("j+EnNRlGInGTozPWxSjicNzPdB4isj5sybZ5XkXaPMjH7sDLHLZA2sdxJwAQj");
    SB.Append("cc7q+rpS0ufHVI2lYyNSuVsEkmEkEb/ACusvmDaJGzgA8EcoRxwQxIIHFdEI8");
    SB.Append("yuZN2KUF3b38ENncWQkS5SSYrggRrk7cBxg4yeOnAPPFXy21QJklp4VN3bCc3");
    SB.Append("ksZcklGmJK8njKtg/hT9oy9DW07w5JbXYnswCQuFWSVEONzEDbjrtbJGBjgc4");
    SB.Append("OcHWXUbh2L0MNw9vJDvS3YFFjlhmzhMcBjk9QFHH93JPABycle6Fa2hM2gGSY");
    SB.Append("qzReUUeISSrlLYhQqAknBO0nOB1OemDWf1hJe8aexk9i/p2o/2U32eQSyzMqo");
    SB.Append("Ukztba2wsTwDgY4IzjHcV4+Px0UrI7cNTcXY8/1rxeNS1ae2shKykvukmkKty");
    SB.Append("GB4JxyqrkjGMg9MAeDOcqnvSPWnXjhrXV2UdV8u8iktzFthbcd4YyAYIKt0Iw");
    SB.Append("DubAI77gMVjBtPQ7qWOVam1sytb3EVhdvFYyJbyRYDRRgtJuC4JEf3TkZU8gc");
    SB.Append("nueejllLVHHSzB0ny1djqtL8fTwW8MtzbWs1vdxF3dMKmOc55+8AcHHGTjI5J");
    SB.Append("3ji5rQ6ZUKMvevubNjrljNox1P7En7tNil/vKpYAbgeCcNnpgbRjIIx1UuS/t");
    SB.Append("epyTn7O8IvQ0jbLeyxXtneHq7Rjo7uGGSR2BROWPGeQOcV7WHxMJLRnh1qd25");
    SB.Append("I5vU9Da7kaJQhmiQpNGcsD8wJChuDz6gnOMYyGr0oVVY4ZRZj6to2qaW4urm2");
    SB.Append("SaSFCQ5bKN3wMnKMpIICkEgcH02jUi0RZnPT6cWnYojSjP35CAxPfOXBz26Cn");
    SB.Append("ZDuz2eGG1triNltN0zoGW5wVA3byuQMg/MAAOT06k4ryXUk1qd3s7PQq39rae");
    SB.Append("HprWW6YFJPmhjjQ784OUTIBxlgPXG0dqyqYlRjqaRw92ZWp69LbalDYwQsHZD");
    SB.Append("swwkCAjBBTH3cA5wWwFHGWyfFxmKlOOh3Ploxslqcvq9/KLm3t5YILI3blDAk");
    SB.Append("QUyghQOozkB8EE/rmuDR6swjiFTldrcyzqOn+bYJG8vlCUqzTKWErjOGWPAJy");
    SB.Append("BjPqw7/NSephOrJsI/Ne4a8jugs7S4iDb1K53tgLt5JJZtp5HHXNEVboV7aa2");
    SB.Append("LL3WnyKkqtviuZQZVjZgwAClsNnmQqMAKO7D6km1sZurJ/EQ+VpjXr24ZWguI");
    SB.Append("zMkCRLxkKQPlxk5K89CACT1xm3Kx0xxlRPXYtW8S2lnBDZAfaiixMvmbSSMbt");
    SB.Append("pJwR8xG5Om7pnlW6krWM5Ym0+YuwQ6jZ6R5FsreYOfLkcON3zNjaMEglmXOBg");
    SB.Append("4IzgGuujU5VcXPd3toaGn+MZNbTyZbcG0CJbQhkIVWyONyk5OP4WI5CkKe3VH");
    SB.Append("MHTkle4/Zcyuzr9MWC70JZlSRInXzJFjQFhuG0KVbg5U988AdC1epSxcaqumQ");
    SB.Append("6NkZd5o9+LyQRW2qzRg4WS0kZY2H+yAK7PrC6sz+rt7Itatrmn6RbyXiSxrIU");
    SB.Append("fMLFlzwGT5WwfvDj1BGccCvNrYpQ06nVGN9jy3WvE174n1FBpV7kSzEQtgEKr");
    SB.Append("ZY7hj5ScAqMdx3JI8286srs6oU3oy3YSTpDbNJcQxzFNgdTlkLYLEDO0D5MnO");
    SB.Append("QRnA4OeuFFSjeohVoOU00V7aYag7P56GIL5RlJQgk5IY8Flw2TgnIJG0ZzXnY");
    SB.Append("ihGOzJq4S7ve7MeaRTOfsk6Wa7ysw/iTk8tkjufu8jLHByABlTScTgrU3TdmV");
    SB.Append("pru7N/In2VYlglcuqxiRQTzgle/3QAQfurwDjNez0ITbRDNeyrcW0UsIjuto2");
    SB.Append("yAbHKkhVDRsGDEYBABGNuOCKPZq4r2di7ol80X2mK7dmYxNBtuc5jLfL3654P");
    SB.Append("bk4O3jMSpXY1Kz1N8W0UogjeGSG4mlaFgiFS7DcSSIyu4YK8gDpyOflw5VGVm");
    SB.Append("dVPBVKsb20INSupYg8cVgmMFWmklVRJx8gZW4ZSQT+OQQqhj6FKg5K62OlUJp");
    SB.Append("Wtsc2l4ryJPcgNNCpmn2L8jk7i248EEfLhifvZGDzWbw3cdVp2sdJZ+JnjFmk");
    SB.Append("N8RFAxW3bcmZGAwuRj5myF4z2PA6AdOVOScTKbgl5nXW/xjt7aHyLi5uPMjZk");
    SB.Append("+UADaCQvTjpiutYmVtUJT0PJ21K71WMi9vLMzBfLjhJyDIM7crkBQcZweMkfK");
    SB.Append("M5rmbtK7Jg2tSRNbt5lisIYTstm3y72JeYADHICnG5n2jP3mAAA6EJThJyua1");
    SB.Append("K6cUkA1mT+1GvIrcR3cjNBJAQxBJHBznkYwME4JJwQMkaQqzWjYPGNP3ENXV5");
    SB.Append("44vtsSqrySD7PI46OyoSSMbTgc5wPu8DptdW042Y6WMlTlzNDm8SwXFzHPfSR");
    SB.Append("CdnW4VYVUHbuYjLY64PGSOD0HfKjDkfkZV8TKrLmaIj4kjkhnY3BiguGRpDKc");
    SB.Append("zK2TwoUAK2VHCg5HJx0rvfLLVI7MFUoQd5ode+LLeKyVrS2ilkXMsMysAZME/");
    SB.Append("M4VhjA24XGACeBzjNxSdznxEqbq80EOg8Qw/a5Uks1geJSxjSIKkqFc5+RAdx");
    SB.Append("BfHdQCDnLGoSsrjqVKbirRNTVPGyxyTaXuuhIdtt5zO4ZhgqpbcNoJIB3Dr82");
    SB.Append("O1c8MKlLmkdSx1qfLY5+91vbrEMjSySCR0klRUK4Vs/JtByRtUA9OADg5yO6L");
    SB.Append("UF7hzLFSvdbFxdZk1Cy2pa+YYt27dO5KbwCVyvzcDtxySOpxSqzjUhynPGs41");
    SB.Append("HJLQpw3z+VA8cscLW2WkFvtCLIw4BI/h7ngjAf0xXNy8ugpzvqSW0GoR2kS29");
    SB.Append("lHJHsHzC2jGTjnjzRjnPYVV4sd0ZdtEUlkMEdxMhk3B5ZHkSbnD8BcknkHI/n");
    SB.Append("ih67i3EvnktLyW8ECkgJIEQPsyDyQBgMO5B2n0J6kUU9B8lyjNq6SXAaN3vJw");
    SB.Append("pKyG43fKQMhiwyMYPJxg4OADxoqXc1hRM+W7jWEsiXKPNh2Ek0bqwA+Xkjgc/");
    SB.Append("TjHbI0VPozf2S6li7uXvb3ZFGbi1klTyS5CgNznOeSTg9epB64oUYopUNdEVY");
    SB.Append("ZJIdIzGsc+d4L4YCNSACMYGMlsemR61TauCoSeqQ/fMkWAWjfJkCIAAoYFtue");
    SB.Append("dynA4I9PXkvEp4eS6EkUk+ntsd0uEMTLteXaQg/g5HQ89PU4xjIVlJ3CVJrRo");
    SB.Append("bNO91Yw8LcRRqsYAj2nLMWID/wAOPlHB/KnyJGbp6aDJJtqySXsUcsvmgu3mk");
    SB.Append("gHGCp9GGBz1IB54OVKLtZGUoNKxqtdGy063+zM8sjoDuZ1/d/Ku3JI+UZwR7L");
    SB.Append("g9OMOXXUwce5ana5+wuYllkiBYlZYtxAUfd5IJGd2TjPDZBHWLa6iSIJoNRu5");
    SB.Append("3ngMDxsfveY/Xoehx1z6fQdKEorcehEmp+bcXKeWjGUmEBYwoZgSMsDlgfnXk");
    SB.Append("9sgg1s4dyuRld9WaaWfBeG3bEoXeCqvnBIbb13BRnkAB8dBVxpqxtCncoxJvI");
    SB.Append("aZ5IfNwVdGK7Y+M9QN3bA54HoBmnJRR20qDk1Y6TQvB/wBtGZpG8hEyFwFb7x");
    SB.Append("B4JxgH0yAW5ONxbz6+PUdInqUMsbd5HQW+n2F3aRx2EDuDKUjabCFWOdy71JZ");
    SB.Append("OAO5JGB3ridacXeTPVhh47JGtoWgwQCJ1t4pyDncr4cEEgkhjtB+YgAEcvnB5");
    SB.Append("xxV8XOWl7HXGhGHQsHTNNmZLpNOgWC2tzzE6hi2DyN/AwM9c8L1IFYQxFW9ru");
    SB.Append("9wVON2mjNXT9BlWWO9kRJ458Fo0ZkCseg2jLHdkDp04PBB7I1a61QqmGg+hj6");
    SB.Append("t4Si3hNHlPklWcJ5RLKRknk9Rt2556445466GYy+2eZicvjb3TjU017S8hFzB");
    SB.Append("GVZj5gcKikfNhh04xnkgfdPPSvYjWjNXieFLDSg/eK6zeTqVpsaIyh03IECLu");
    SB.Append("Hy9QDjI5B4I5OBxV6NHPOlZ26mmJYrJUJRBOpPmzID5WAMqCWByflHTGDjHNZ");
    SB.Append("OD6HJOm07GnDrGowQRxtdbWVRkG6TOcdTuRjn8TWdomdkc3OZkMkk8zeZGSi4");
    SB.Append("2swVun1JDMcH0Pds10nSlccLaOeIzyJAJHAw7LtRVwAcAkc854B9uaiU3sj0a");
    SB.Append("dCKV2dJodtDbW0l7I7SQhnMarzjGNzbepbA5PAGR1BwPPxM23yI93B0VGPOzq");
    SB.Append("fMvbZIDMwaHy1gk2pgtjJxk7dmFbIGAMjrwK89qLOyOrsLAzyW1pHFAwn8xlX");
    SB.Append("c7HyHwCS+ehBXd0weeOtJno0aC3Z0OhWcl2glsC8luj4OfnKjauRnIAX5uWDD");
    SB.Append("OevU15uLqxpuzM8ZXjRVjelsGaeS1STzoDKS0TvIzyAqCuM5wcd8jIz0xXDGp");
    SB.Append("ze8edGtqpHnutWRS/ulkP2ozB3ZI0yxXdgEKQTuAPXPAyDnb830GHqJxR7Spq");
    SB.Append("UNStb3jaf9hglvpxazRlIgV4CFl27geDzwcHoo4wTnWpTU02lqc1Sjy6Mpa5p");
    SB.Append("cFnCJpGkt7qKLf5qt8zStu4PJ4IQcjruOT2q8NVex52IwykrnLXVo6xxuYZXL");
    SB.Append("KPKDN8oJ4IOeh+8AMcbF65r1Kc09DxK1FwdzNe9S3uZRA5KpKrrLGnIxx/EPl");
    SB.Append("ByePYDpknoS0PMqxUpMZFr99Yxi2S4l2p08uQBeeeABx16UOmnqc8qauf/9k=");
    using (var DB = new DatabaseContext())
    {
        var TheTestModel = new TestModel();
        TheTestModel.Text = SB.ToString(); //the string is only 10,919 characters
        DB.Add(TheTestModel);
        DB.SaveChanges();
    }
    using (var DB = new DatabaseContext())
    {
        var TheTestModel = DB.TestModels.First(); // <-- the error will occur here
        var TheString = TheTestModel.Text;
        Console.WriteLine(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> success");
    }
}

The String

data:image/jpeg;base64,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

The issue

When the following image (an 8kb thumbnail) is converted into a base64 string (only 10,919 characters, located at the bottom of this post), and the string is saved to the database, and this string is attempted to be fetched from the database while usecompression=true is present in the connection string, the command will time out. The error does not occur when usecompression=false. I tested this with the timeout at 10 seconds. I don’t think it should take that long.

image

Note 1: Trim off a hundred characters from the string, and retry the test. It will load without error very quickly. Note 2: I used to experiment with usecompression=true in the Core 3.1 versions of Pomelo.EntityFrameworkCore.MySql, and never got this error. Maybe it has something to do with ASP.NET 6?

The error message details are:

MySqlConnector.MySqlException (0x80004005): The Command Timeout expired before the operation completed.
   at MySqlConnector.Protocol.Serialization.BufferedByteReader.ReadBytesAsync(IByteHandler byteHandler, ArraySegment`1 buffer, Int32 totalBytesToRead, IOBehavior ioBehavior) in /_/src/MySqlConnector/Protocol/Serialization/BufferedByteReader.cs:line 34
   at MySqlConnector.Utilities.ValueTaskExtensions.ContinueWith[T,TResult](ValueTask`1 valueTask, Func`2 continuation) in /_/src/MySqlConnector/Utilities/ValueTaskExtensions.cs:line 5
   at MySqlConnector.Protocol.Serialization.BufferedByteReader.ReadBytesAsync(IByteHandler byteHandler, ArraySegment`1 buffer, Int32 totalBytesToRead, IOBehavior ioBehavior) in /_/src/MySqlConnector/Protocol/Serialization/BufferedByteReader.cs:line 34
   at MySqlConnector.Protocol.Serialization.ProtocolUtility.<ReadPacketAfterHeader>g__AddContinuation|2_0(ValueTask`1 payloadBytesTask, Int32 payloadLength, ProtocolErrorBehavior protocolErrorBehavior, Exception packetOutOfOrderException) in /_/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs:line 434
   at MySqlConnector.Protocol.Serialization.ProtocolUtility.<DoReadPayloadAsync>g__AddContinuation|5_0(ValueTask`1 readPacketTask, BufferedByteReader bufferedByteReader, IByteHandler byteHandler, Func`1 getNextSequenceNumber, ArraySegmentHolder`1 previousPayloads, ProtocolErrorBehavior protocolErrorBehavior, IOBehavior ioBehavior) in /_/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs:line 476
   at MySqlConnector.Core.ServerSession.ReceiveReplyAsyncAwaited(ValueTask`1 task) in /_/src/MySqlConnector/Core/ServerSession.cs:line 943
   at MySqlConnector.Core.ResultSet.<ScanRowAsync>g__ScanRowAsyncAwaited|9_0(ResultSet resultSet, Task`1 payloadTask, Row row, CancellationToken token) in /_/src/MySqlConnector/Core/ResultSet.cs:line 240
   at MySqlConnector.Core.ResultSet.ReadAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ResultSet.cs:line 195
   at MySqlConnector.Core.ResultSet.Read() in /_/src/MySqlConnector/Core/ResultSet.cs:line 187
   at MySqlConnector.MySqlDataReader.Read() in /_/src/MySqlConnector/MySqlDataReader.cs:line 27
   at Microsoft.EntityFrameworkCore.Storage.RelationalDataReader.Read()
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method42(Closure , QueryContext )
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
   at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute[TResult](Expression expression)
   at System.Linq.Queryable.First[TSource](IQueryable`1 source)
   at AspNetCoreGeneratedDocument.Views_Home_Index.ExecuteAsync() in C:\********\Web\Views\Home\Index.cshtml:line 194
   at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
   at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts)
   at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, String contentType, Nullable`1 statusCode)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(ActionContext context, ViewResult result)
   at Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(ActionContext context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

Technical details

Visual Studio version: Community 2022 x64 17.0.1 MySQL version: 10.5.8-MariaDB Operating system: Windows 10 Home Pomelo.EntityFrameworkCore.MySql version: 6.0.1 Microsoft.AspNetCore.App version: .NET 6.0

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:7

github_iconTop GitHub Comments

3reactions
bgraingercommented, Jan 25, 2022

@rambouillet You should be able to resolve the problem by updating the MySqlConnector package to 2.1.3 2.1.4.

2reactions
mguinnesscommented, Jan 24, 2022
Read more comments on GitHub >

github_iconTop Results From Across the Web

What is "Connect Timeout" in sql server connection string?
CommandTimeout specifies the timeout value of a specific query running on SQL Server, however this is set via the SqlConnection object/setting ( ...
Read more >
Fails to read all compressed data in .NET 6.0 · Issue #1120
Character string causes a command timeout when usecompression=true in connection string PomeloFoundation/Pomelo.EntityFrameworkCore.
Read more >
SqlConnection.CommandTimeout Property
Gets the default wait time (in seconds) before terminating the attempt to execute a command and generating an error. The default is 30...
Read more >
MySQL connection strings - ConnectionStrings.com
Use this one to specify a default command timeout for the connection. Please note that the property in the connection string does not...
Read more >
Timeout issue in using SQL in function app
I tried but get the error: "ERROR: Exception setting "ConnectionString": "The keyword 'context connection' is not supported on this platform." ".
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found