Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-17458

Filesystem attachments versioning should store patches for older versions instead of full content

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 12.5-rc-1
    • Fix Version/s: None
    • Component/s: Attachments
    • Labels:
      None
    • Difficulty:
      Unknown
    • Similar issues:

      Description

      As you can clearly see from the image below, with attachment versioning enabled on filesystem attachments storage, each attachment version ends up to taking the entire space of the file, even in the case when exactly the same file was reuploaded:

      • fv1.1.png <-- 498 K (should be 0, compared to 1.2)
      • fv1.2.png <-- 498 K (should be 0, compared to 1.3)
      • fv1.3.png <-- 498 K (latest version)

      Instead, only the latest version should be a complete version of the file contents, while older versions should just be patches holding just the difference.

      Now, binary files do risk to end up with very large differences even for small changes, as it is not guaranteed that they are built equally and that similar content produces similar binary result (thus, a small diff content), but it would still be a huge impact for identical versions (0 diff) and for binary files that really are incremental.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              enygma Eduard Moraru
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: