View Issue Details

IDProjectCategoryView StatusLast Update
0005745SOGoBackend Calendarpublic2023-04-19 14:23
Reporterarisd Assigned Tosebastien  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platform[Client] MicrosoftOSWindowsOS Version10, 11
Product Version5.8.2 
Summary0005745: MySQL4Exception: ExecutionFailed REASON:Data too long for column 'c_description' at row 1
Description

Found problem happening upon calendar syncing of CalDavSynchronizer and Sogo.

Seems Oulook adds a lot of data (all the replies) to some quick_appointments so then upon writing to sogo_quick_appointment.c_description data is to large.

Our environment:
RHEL-8
10.3.35-MariaDB
Sogo 5.8.2 (Also happens in Sogo 5.7.1)
Client: Microsoft Outlook 365 (installed CalDavSynchronizer - latest version 4.4.1)

It would be great if you could perhaps not throw MySQL4Exception (if limit size of received data is to big) but delete excess data that can not fit in "c_description"?

DEBUG from LOG:
2023-04-17 07:04:49.227 sogod[127121:127121] <MySQL4Channel[0x0x555c4f8ec220] connection=0x0x555c4f8ee090> SQL: INSERT INTO sogo_quick_appointment (c_iscycle, c_orgmail, c_uid, c_nextalarm, c_name, c_category, c_priority, c_cycleinfo, c_sequence, c_folder_id, c_isallday, c_title, c_cycleenddate, c_description, c_status, c_classification, c_startdate, c_participants, c_partmails, c_partstates, c_component, c_location, c_isopaque, c_enddate) VALUES (0, '****', '0f0a1218-2f8b-48b9-8f0d-e4edf95aa41c', 0, '0f0a1218-2f8b-48b9-8f0d-e4edf95aa41c.ics', null, 5, null, 0, 14, 0, 'FW: migration **', null, 'Zdravo,
...
Posredujem povezavo za sestanek jutri ob 12.30 s ** na temo ** in implementacijskim Ĩasom.
...
-----Original Appointment-----
From: G** <*****>
Sent: Thursday, **, 2022 4:10 PM
...
... LOTS-AND-LOTS-OF-LINES...
...
2023-04-17 07:04:49.230 sogod[127121:127121] <MySQL4Channel[0x0x555c4f8ec220] connection=0x0x555c4f8ee090> ERROR: Data too long for column 'c_description' at row 1
2023-04-17 07:04:49.230 sogod[127121:127121] <MySQL4Channel[0x0x555c4f9984f0] connection=0x0x555c4ffc6d90> SQL: ROLLBACK;
2023-04-17 07:04:49.231 sogod[127121:127121] <MySQL4Channel[0x0x555c4f9984f0] connection=0x0x555c4ffc6d90> query has no results.
2023-04-17 07:04:49.231 sogod[127121:127121] <MySQL4Channel[0x0x555c4f8ec220] connection=0x0x555c4f8ee090> SQL: ROLLBACK;
2023-04-17 07:04:49.231 sogod[127121:127121] <MySQL4Channel[0x0x555c4f8ec220] connection=0x0x555c4f8ee090> query has no results.
Apr 17 07:04:49 sogod [127121]: <0x0x555c4fcdb670[GCSFolder]> ERROR(-[GCSFolder writeContent:fromComponent:container:toName:baseVersion:]): cannot insert content : <MySQL4Exception: 0x555c504d4110> NAME:ExecutionFailed REASON:Data too long for column 'c_description' at row 1
Apr 17 07:04:49 sogod [127121]: [ERROR] <0x555c50073400[SOGoAppointmentObject]:0f0a1218-2f8b-48b9-8f0d-e4edf95aa41c.ics> write failed: <MySQL4Exception: 0x555c504d4110> NAME:ExecutionFailed REASON:Data too long for column 'c_description' at row 1

Thanks for any help or upgrades...

Steps To Reproduce

Happens every time Outlook-CalDavSynchronizer tries to synchronize to sogo.

Tagsc_description, caldavsynchronizer, MySQL4Exception

Activities

sebastien

sebastien

2023-04-17 12:32

administrator   ~0016830

Hi there, this would be strange to replace current exception with a delete. What is the c_description length in your database ?

Sebastien

arisd

arisd

2023-04-17 13:35

reporter   ~0016832

+------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+---------------+------+-----+---------+-------+
| c_description | text | YES | | NULL | |
+------------------+---------------+------+-----+---------+-------+

I can confirm there is huge amount of data in description and probably exceeds MYSQL-TEXT size (65535 bytes).

I have checked if there is CalDavSynchronizer option to limit description size - but for now haven't found one - will contact them also to verify if there is any advanced options for this purpose...

But still would be great to truncate size of description to let's say 65000 bytes if in origin exceedes 65535 - would solve MySQL-Exception.

Thank you very much for your fast response,
Aris Dizdarevic

sebastien

sebastien

2023-04-17 13:41

administrator   ~0016834

Hi Aris,

If this is a test instance, can you try to change the column type to MEDIUMTEXT ?

Sebastien

arisd

arisd

2023-04-19 13:43

reporter   ~0016854

Hi,

@Sebastien Thanks for help (for the second time)...

I really don't know how, but the error is no longer present.

Only thing we changed on our server is change utf8 -> utf8mb4 in another mySQL problem - this ticket:
https://bugs.sogo.nu/view.php?id=5744

...don't know if this ticket is related or not - but now it is working, "MySQL4Exception: ExecutionFailed REASON:Data too long for column" is gone...

So thanks again, please mark as resolved and if we get the same problem in future will reopen and try "MEDIUMTEXT".

Br,
Aris.

Issue History

Date Modified Username Field Change
2023-04-17 11:52 arisd New Issue
2023-04-17 11:52 arisd Tag Attached: c_description
2023-04-17 11:52 arisd Tag Attached: caldavsynchronizer
2023-04-17 11:52 arisd Tag Attached: MySQL4Exception
2023-04-17 12:32 sebastien Note Added: 0016830
2023-04-17 13:35 arisd Note Added: 0016832
2023-04-17 13:41 sebastien Note Added: 0016834
2023-04-17 13:48 sebastien Assigned To => sebastien
2023-04-17 13:48 sebastien Status new => feedback
2023-04-19 13:43 arisd Note Added: 0016854
2023-04-19 13:43 arisd Status feedback => assigned
2023-04-19 14:23 sebastien Status assigned => resolved
2023-04-19 14:23 sebastien Resolution open => fixed