
dbmail at tech
Nov 10, 2008, 3:03 AM
Post #9 of 10
(1486 views)
Permalink
|
> > Ok, nothing to worry about. The \Recent flag on messages will be > incorrect, but no information is lost. > > The culprit: > > Nov 6 14:38:58 mail4-core-2 dbmail/imap4d[15280]: Debug:[sql] > dbmysql.c,db_query(+287): query [UPDATE dbmail_messages SET recent_flag > = 0 WHERE message_idnr IN > (111121490,111119585,111119583,111118476,111115033,111114577,111114513,111114435,111113252,111110017,111109091,111108924,111108856,111107547,111104702,111098668,111096873,111095754,111093348,111092274,111090584,111089386,111088908,111088902,111088896,111088358,111085966,111074995,111074979,111068531,111065104,111065075,111058877,111056716,111051771,111046856,111043290,111042377,111040034,111039521,111039373,111037608,111034241,111007526,111006402,111006400,110997376,110997368,110997362,110994745,110994430,110992837,110991077,110990770,110989845,110987452,110954508,110946557,110945055,110942293,110941632,110940259,110938366,110932182,110931854,110928380,110927388,110926762,110924874,110923621,110923571,110923160,110922104,110920849,110920621,110919293,110918052,110917877,110917392,110916931,110916283,110915045,110913165,110909253,110908379,110907732,110907730 > > > > Apparently the line is too long for mysql to handle. > > Try tweaking dbmail-imapsession.c, line 2088: > > topslices = g_list_slices(recent,100); > > setting it to someting like > > topslices = g_list_slices(recent,50); > > because that determines the number of message_idnrs in the IN(...) part > of the query. > > But you may want to verify this by using TRACE_STDERR=5 rather than > syslog. For stderr logging the query will not be truncated so you can > capture it, and test it manually. Perhaps your max_allowed_packet in > my.cnf is too small. Check that first. > We're also occasionally receiving the same: Error:[imap] imap4.c,IMAPClientHandler(+307): command return with error [idle] We're on 2.2.11-rc2 installed via source on mysql 5.0.51a (deb) with 40gig dbmail db. The default packet is 16mb, I doubt 100 items would exceed 1mb let alone 16 - on our other web reporting platform we have people doing where in on thousands of rows with a16meg default packet - its probably another strange mysql bug :o( I'll change to 2.2.11.rc-3, trace_stderr=5 and topslices = g_list_slices(recent,50); as suggested during our next maintenance window and let you know. S
|