Openbravo Issue Tracking System - Openbravo ERP | |||||||||||||||||||||||||||||||||
View Issue Details | |||||||||||||||||||||||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||||||||||||||||||||||
0020623 | Openbravo ERP | A. Platform | public | 2012-05-28 12:37 | 2013-08-06 11:34 | ||||||||||||||||||||||||||||
Reporter | alostale | ||||||||||||||||||||||||||||||||
Assigned To | shankarb | ||||||||||||||||||||||||||||||||
Priority | low | Severity | major | Reproducibility | have not tried | ||||||||||||||||||||||||||||
Status | closed | Resolution | fixed | ||||||||||||||||||||||||||||||
Platform | OS | 5 | OS Version | ||||||||||||||||||||||||||||||
Product Version | |||||||||||||||||||||||||||||||||
Target Version | 3.0MP25 | Fixed in Version | 3.0MP26 | ||||||||||||||||||||||||||||||
Merge Request Status | |||||||||||||||||||||||||||||||||
Review Assigned To | alostale | ||||||||||||||||||||||||||||||||
OBNetwork customer | No | ||||||||||||||||||||||||||||||||
Web browser | |||||||||||||||||||||||||||||||||
Modules | Core | ||||||||||||||||||||||||||||||||
Support ticket | |||||||||||||||||||||||||||||||||
Regression level | |||||||||||||||||||||||||||||||||
Regression date | |||||||||||||||||||||||||||||||||
Regression introduced in release | |||||||||||||||||||||||||||||||||
Regression introduced by commit | |||||||||||||||||||||||||||||||||
Triggers an Emergency Pack | No | ||||||||||||||||||||||||||||||||
Summary | 0020623: 32K limit for attachments | ||||||||||||||||||||||||||||||||
Description | In a linux with ext3 file system it is not possible to create attachments for more than 32K records. This problem is caused by 2 facts: *File system limitation: ext3 allows to create up to 32K subdirectories within a directory. *The way OB manages attachments: it creates a subdirectory within attachments directory for each record with attachments. | ||||||||||||||||||||||||||||||||
Steps To Reproduce | -Try to created more than attachments for more than 32K records. | ||||||||||||||||||||||||||||||||
Proposed Solution | Current structure is: - Table1-record1 |-- Attachment 1 |-- Attachment 2 |-- ... - Table1-record2 |-- Attachment 1 |-- Attachment 2 |-- ... - Table2-record1 |-- Attachment 1 |-- Attachment 2 |-- ... -... Proposed solution is to split subdirectories in tables + have a limit of 32K within each of them: *Alternative 1: Use the same approach squid does: http://serverfault.com/a/46386 [^] It is the same approach as proposed in issue 0012488 Splitting file name based on its record UUID. If this alternative is chosen, it would require to decide how the actual split would be done. *Alternative 2: - Table1 |-- Group 1 | |-- Record 1 | | |-- Attachment 1 | | |-- ... | |-- Record 2 | | |-- Attachment 1 | | |-- ... | |-- ... | |-- Record 31999 |-- Group 2 | |-- Record 1 | | |-- Attachment 1 | | |-- ... | |-- Record 2 | | |-- Attachment 1 | | |-- ... | |-- ... | |-- Record 31999 |--... - Table 2 - ... This way it would support attachments for 1.024M (32^2K) records on each table, 32K attachment for record. Note that currently, c_file stores just name of attachment without path as it is calculated based on table + record id. To maintain backwards compatibility: -If implementing solution 1. Add a new boolean to c_file, this is defaulted to N. When N the old approach is used, for new attachments value is Y and file name is splitted. -If implementing solution 2. A new "path" field should be added to c_file. This path is relative to attachments directory and only would be used for new attachements. Old attachments (identified by this field being null) would still work in the old way. -Prepare a migration tool. This tool to be optionally executed would move attachments from existent structure to new one. -Create a new system level preference (by default not set), when set, save attachments in old way **Regression risk** New attachments would follow a different approach to determine their location. This would make to fail modules trying to read new attachments in the old way. | ||||||||||||||||||||||||||||||||
Additional Information | |||||||||||||||||||||||||||||||||
Tags | No tags attached. | ||||||||||||||||||||||||||||||||
Relationships |
| ||||||||||||||||||||||||||||||||
Attached Files | |||||||||||||||||||||||||||||||||
Issue History | |||||||||||||||||||||||||||||||||
Date Modified | Username | Field | Change | ||||||||||||||||||||||||||||||
2012-05-28 12:37 | alostale | New Issue | |||||||||||||||||||||||||||||||
2012-05-28 12:37 | alostale | Assigned To | => alostale | ||||||||||||||||||||||||||||||
2012-05-28 12:37 | alostale | Modules | => Core | ||||||||||||||||||||||||||||||
2012-05-28 12:37 | alostale | OBNetwork customer | => No | ||||||||||||||||||||||||||||||
2012-05-28 12:54 | iperdomo | Relationship added | has duplicate 0012488 | ||||||||||||||||||||||||||||||
2012-05-28 13:35 | alostale | Proposed Solution updated | |||||||||||||||||||||||||||||||
2012-05-28 13:36 | alostale | Proposed Solution updated | |||||||||||||||||||||||||||||||
2012-09-24 12:47 | AugustoMauch | Note Added: 0052328 | |||||||||||||||||||||||||||||||
2012-09-24 12:47 | AugustoMauch | Priority | normal => low | ||||||||||||||||||||||||||||||
2012-09-24 12:47 | AugustoMauch | Status | new => scheduled | ||||||||||||||||||||||||||||||
2013-05-21 11:48 | jonalegriaesarte | Triggers an Emergency Pack | => No | ||||||||||||||||||||||||||||||
2013-05-21 11:48 | jonalegriaesarte | Target Version | => 3.0MP25 | ||||||||||||||||||||||||||||||
2013-06-12 09:59 | alostale | Note Added: 0059378 | |||||||||||||||||||||||||||||||
2013-06-19 12:05 | alostale | Proposed Solution updated | |||||||||||||||||||||||||||||||
2013-06-19 12:16 | alostale | Assigned To | alostale => shankarb | ||||||||||||||||||||||||||||||
2013-07-09 08:50 | shankarb | Note Added: 0059933 | |||||||||||||||||||||||||||||||
2013-07-13 09:11 | shankarb | Relationship added | related to 0024289 | ||||||||||||||||||||||||||||||
2013-07-13 09:16 | hgbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-13 09:16 | hgbot | Note Added: 0059961 | |||||||||||||||||||||||||||||||
2013-07-13 09:16 | hgbot | Status | scheduled => resolved | ||||||||||||||||||||||||||||||
2013-07-13 09:16 | hgbot | Resolution | open => fixed | ||||||||||||||||||||||||||||||
2013-07-13 09:16 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/devel/pi/rev/bed326b6ddf6f08b10cf22cd7403aff84c0e3750 [^] | ||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | Note Added: 0059964 | |||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | Status | resolved => new | ||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | Resolution | fixed => open | ||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | Review Assigned To | => alostale | ||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | Status | new => scheduled | ||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | fix_in_branch | => pi | ||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | Status | scheduled => resolved | ||||||||||||||||||||||||||||||
2013-07-13 09:22 | shankarb | Resolution | open => fixed | ||||||||||||||||||||||||||||||
2013-07-13 09:23 | shankarb | Issue Monitored: alostale | |||||||||||||||||||||||||||||||
2013-07-15 06:52 | hgbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-15 06:52 | hgbot | Note Added: 0059966 | |||||||||||||||||||||||||||||||
2013-07-15 08:53 | hgbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-15 08:53 | hgbot | Note Added: 0059967 | |||||||||||||||||||||||||||||||
2013-07-16 14:26 | hudsonbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-16 14:26 | hudsonbot | Note Added: 0060039 | |||||||||||||||||||||||||||||||
2013-07-16 14:27 | hudsonbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-16 14:27 | hudsonbot | Note Added: 0060042 | |||||||||||||||||||||||||||||||
2013-07-16 14:27 | hudsonbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-16 14:27 | hudsonbot | Note Added: 0060043 | |||||||||||||||||||||||||||||||
2013-07-18 13:53 | alostale | Note Added: 0060094 | |||||||||||||||||||||||||||||||
2013-07-18 13:53 | alostale | Status | resolved => new | ||||||||||||||||||||||||||||||
2013-07-18 13:53 | alostale | Resolution | fixed => open | ||||||||||||||||||||||||||||||
2013-07-18 15:18 | hgbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-18 15:18 | hgbot | Note Added: 0060095 | |||||||||||||||||||||||||||||||
2013-07-18 15:18 | hgbot | Status | new => resolved | ||||||||||||||||||||||||||||||
2013-07-18 15:18 | hgbot | Resolution | open => fixed | ||||||||||||||||||||||||||||||
2013-07-18 15:18 | hgbot | Fixed in SCM revision | http://code.openbravo.com/erp/devel/pi/rev/bed326b6ddf6f08b10cf22cd7403aff84c0e3750 [^] => http://code.openbravo.com/erp/devel/pi/rev/091b2c16deaf05748b09c64c6c70831ab432a478 [^] | ||||||||||||||||||||||||||||||
2013-07-18 16:07 | alostale | Note Added: 0060096 | |||||||||||||||||||||||||||||||
2013-07-18 16:09 | alostale | Note Added: 0060097 | |||||||||||||||||||||||||||||||
2013-07-18 16:09 | alostale | Status | resolved => closed | ||||||||||||||||||||||||||||||
2013-07-18 16:09 | alostale | Fixed in Version | => 3.0MP26 | ||||||||||||||||||||||||||||||
2013-07-18 16:27 | alostale | Relationship added | related to 0024373 | ||||||||||||||||||||||||||||||
2013-07-19 18:00 | hudsonbot | Checkin | |||||||||||||||||||||||||||||||
2013-07-19 18:00 | hudsonbot | Note Added: 0060131 | |||||||||||||||||||||||||||||||
2013-08-06 11:34 | alostale | Note Added: 0060511 | |||||||||||||||||||||||||||||||
2015-03-18 08:53 | alostale | Relationship added | causes 0029313 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|