Invision Community 4: SEO, prepare for v5 and dormant account notifications By Matt November 11, 2024
PanSevence Posted Saturday at 11:35 AM Posted Saturday at 11:35 AM In IC4, we have a maximum limit for attachment transfers of just under 2GB, which is due to the range of the table storing the file size. What is the actual maximum limit for file transfers in IC5?
Code Name Jessica Posted Saturday at 11:40 AM Posted Saturday at 11:40 AM (edited) In IC4, the file size limit was constrained by the int(11) field in the database, which has a maximum value of 2,147,483,647 bytes (~2GB). This is because the int type is a 32-bit signed integer. In IC5, Invision upgraded the relevant database fields to bigint(20), allowing for a maximum file size of 9,223,372,036,854,775,807 bytes (~8EB). This change means the file size limit on the database side is no longer a bottleneck. (At least that is what I understand) Edited Saturday at 11:41 AM by Code Name Jessica
PanSevence Posted Saturday at 11:50 AM Author Posted Saturday at 11:50 AM Thats great news, thank you, Invision team!
Code Name Jessica Posted Saturday at 11:51 AM Posted Saturday at 11:51 AM I wanted to prove what I was saying, but when I: SHOW COLUMNS FROM core_attachments; +--------------------------+--------------------------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+--------------------------------------+------+-----+---------+----------------+ | attach_id | int(11) | NO | PRI | NULL | auto_increment | | attach_ext | varchar(250) | NO | | | | | attach_file | varchar(250) | NO | | | | | attach_location | varchar(250) | NO | MUL | | | | attach_thumb_location | varchar(250) | NO | MUL | | | | attach_thumb_width | smallint(6) | NO | | 0 | | | attach_thumb_height | smallint(6) | NO | | 0 | | | attach_is_image | tinyint(4) | NO | | 0 | | | attach_hits | int(11) | NO | | 0 | | | attach_date | int(11) | NO | | 0 | | | attach_post_key | varchar(32) | NO | MUL | 0 | | | attach_member_id | bigint(20) unsigned | NO | MUL | 0 | | | attach_filesize | int(11) | NO | | 0 | | | attach_img_width | int(11) | NO | | 0 | | | attach_img_height | int(11) | NO | | 0 | | | attach_is_archived | int(11) | NO | | 0 | | | attach_moderation_status | enum('skipped','approved','pending') | NO | | skipped | | | attach_security_key | varchar(255) | YES | | NULL | | | attach_labels | text | YES | | NULL | | | attach_img_rotate | smallint(6) | YES | | 0 | | +--------------------------+--------------------------------------+------+-----+---------+----------------+ attach_filesize is still int(11). That has the 2GB limit... Let me dig into this a little more
PanSevence Posted Saturday at 11:52 AM Author Posted Saturday at 11:52 AM Ahh, so we still have the 2GB limit, huh? Well... that's a shame.
Code Name Jessica Posted Saturday at 11:54 AM Posted Saturday at 11:54 AM (edited) I have a dev site... I am going to run: ALTER TABLE core_attachments MODIFY COLUMN attach_filesize BIGINT(20) NOT NULL; I'll let you know what happens. Edited Saturday at 11:54 AM by Code Name Jessica
PanSevence Posted Saturday at 11:56 AM Author Posted Saturday at 11:56 AM (edited) I remember trying to do this in IC4 I changed the value of that field, but I ended up getting a critical database error in the ACP under the support tab. I mentioned this before, hoping it would be updated in subsequent maintenance releases, but I see that nothing has changed in this regard for IC4. The worse news is that IC5 still has this limit. I don’t want to tamper with the table fields again because I’ll just end up with another critical error. Edited Saturday at 11:56 AM by PanSevence
Code Name Jessica Posted Saturday at 11:59 AM Posted Saturday at 11:59 AM You are correct, once I made the changes, I get the Database problems error in the Get Support of the admin. That is a shame, I thought they would have changed that.
PanSevence Posted Saturday at 12:02 PM Author Posted Saturday at 12:02 PM I don’t understand this limitation some people need to upload attachments larger than 2GB. A 10GB or even 20GB limit would be much more reasonable. It’s also misleading because setting “no limit” in the ACP still actually enforces a limit due to the table constraints. While it’s understandable that there will always be some limit, this one is particularly small. There should be clear information stating the maximum allowed size. Maybe the team will comment on this, but considering Beta 10 is one of the last releases before the stable version, I doubt anything will change before the final release. I reported this issue months ago for IC4, and they’ve released many maintenance updates since then, but I never saw any fixes addressing this problem.
Code Name Jessica Posted Saturday at 12:04 PM Posted Saturday at 12:04 PM I was refencing this topic: and this topic (Mark's comment at the end of that topic):
PanSevence Posted Saturday at 12:06 PM Author Posted Saturday at 12:06 PM Unfortunately, nothing has changed in this regard in either version, and we still have this limitation due to the field size constraint in the table.
Code Name Jessica Posted Saturday at 12:07 PM Posted Saturday at 12:07 PM Yeah, I am not one of the developers, I completely understand, that is frustrating when the ACP says no limit, but it is limited in SQL. Curious... I am in the middle of an application currently, but I am wondering if... Let me think about this, maybe another application can be made to create a new table for images, videos, large files, etc. Then call that when uploading or viewing that in community. Let me finish my current project, and I will get back to you if I create something like that.
PanSevence Posted Saturday at 12:11 PM Author Posted Saturday at 12:11 PM (edited) No, there’s no dedicated application for this, nor official support for larger files. I don’t understand what the problem is with updating this field to a larger data type, seriously. @Matt @Marc Edited Saturday at 12:12 PM by PanSevence
Marc Posted Monday at 10:44 AM Posted Monday at 10:44 AM Please feel free to post this up as a bug in the beta bug tracker PanSevence 1
Recommended Posts