Я использую. net основное рабочее приложение (3.1) с MySQL & Dapper.
Это не новая проблема, и я испытывал ее в течение> 1 года, никогда не вызывал большой проблемы, как всегда, задача будет повторена.
Однако сейчас я разрабатываю новую функцию, которая должна обрабатывать> 300-600k строк в течение нескольких секунд, подключаясь сотни раз к базе данных.
Проблема заключается в что случайно в журналах я вижу MySQL .Data.MySqlClient.MySqlExceptions (получать записи с помощью команды Dapper или выполнять команду SQL).
Все они являются обобщенными c, без чего-либо, кроме потока не удалось и операция был отменен.
Самая странная проблема заключается в том, что это происходит ТОЛЬКО в среде Linux (тогда клиент является локальным для экземпляра MySQL). Когда я запускаю его на Windows (через образ VS или Docker), он отлично работает для> 30-кратных тестовых нагрузок.
При развертывании на linux (тот же docker образ, использующий 3.1 как pnet (изображение от Microsoft). Сбой.
Я немного протестировал его непосредственно, опубликовав sh для Ubuntu и сделав tnet, запустил dll и работал нормально, но я пробовал это только ~ 10 раз. .
Так что не большой тест.
Есть идеи, куда мне обратиться? Я пытался убедиться, что Dapper запрос EXE c будет использовать открытое соединение, но это не так. Есть также повторная попытка, но иногда она работает нормально с первой попытки, иногда она будет повторяться 2 раза, а иногда она будет терпеть неудачу 20 раз пять раз подряд.
Не могу точно определить эту проблему, не уверен, что это это Dapper или, может быть, образ Microsoft не рок solid для запуска на Linux ....