mirror of
https://github.com/SuiteCRM/SuiteCRM.git
synced 2026-03-02 19:16:58 -05:00
Error updating table: vcals: Query Failed - vcals 'content' too big for field type TEXT #4743
Labels
No labels
Area: API
Area: Campaigns
Area: Cases
Area: Clean Up
Area: Clean Up: Performance
Area: Dashlets
Area: Databases
Area: Developer Tools
Area: Elasticsearch
Area: Elasticsearch
Area: Emails
Area: Emails:Campaigns
Area: Emails:Cases
Area: Emails:Compose
Area: Emails:Config
Area: Emails:Templates
Area: Environment
Area: Installation
Area: Language
Area: Mobile
Area: Module
Area: PDFs
Area: PHP8
Area: Reports
Area: Studio
Area: Styling
Area: Upgrading
Area: Workflow
Area:Activity Stream
Area:Calls
Area:Import
Area:Projects
Area:Search
Area:Surveys
Area:Themes
Area:Users
Branch:Hotfix
Good First Issue
Hacktoberfest
Help Wanted
PR:Community Contribution
PR:Type:Enhancement
Priority:Critical
Priority:Important
Priority:Moderate
Severity: Major
Severity: Minor
Severity: Moderate
Status: Requires Code Review
Status: Requires Updates
Status: Stale
Status: Team Investigating
Status:Assessed
Status:Fix Proposed
Status:Needs Assessed
Status:Requires Automated Tests
Type: Bug
Type:Deprecated
Type:Discussion
Type:Duplicate
Type:Invalid
Type:Question
Type:Suggestion
Type:Suggestion
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/SuiteCRM-SuiteCRM#4743
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @vaudoin on GitHub (Mar 3, 2022).
Issue
For some users who have a lot of meetings on there calendar, a database error is raised each time they want to add a meeting.
vcals content seems too big for column type TEXT.
Notice that : vCals periodicity is configured to 3 months sync.
For some users, indeed, the content is greater than 65000 caracters ('content' field TEXT limit).
Expected Behavior
There shouldn't be any error while saving vcals content.
Actual Behavior
Each time a user (who have a lot of meetings) tries to add a meeting he got a "Error while saving".
The meeting is recorded anyway. On the logs, we can see the database error while saving vcals.
Extract of SQL that raised the error :
Possible Fix
As a quick fix (non upgrade safe), I moved content field from TEXT to LONGTEXT.
modules/vCals/vardefs.php
Steps to Reproduce
No that easy to reproduce, as you need a lot of data on meetings.
For instance, for a specific user, he has 810 meetings lines of meetings during the same period retrieved in vcals. (684 are recurring ones).
vcals, content field is 98151 caracters:
Context
The question could also be : how come we have so many content for vcals for only 3 months ? Even if there is a lot of meetings, we have for some users with vcals content that reaches arround 100000 caracters... Could this be related to recurring meeting (we use them a lot)?
Your Environment
@samus-aran commented on GitHub (Jul 6, 2022):
Interesting problem. Need to investigate more on the structure of vcal and confirm if the structure is causing this issue.
@pgorod commented on GitHub (Jul 6, 2022):
Since these strings should be highly repeated, and thus highly compressable, maybe we could try a simple PHP gzdeflate before saving the field, and then a gzinflate when reading from the DB, this could make some difference.
Although probably the key point is whether the recurring meetings are getting split into individual instances, and whether that makes sense for some reason.