Wicket
  1. Wicket
  2. WICKET-4478

DiskDataStore to use multi-level directory structure to avoid slowness when thousands of sessions are active.

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.5
    • Fix Version/s: 1.5.6, 6.0.0-beta2
    • Component/s: wicket
    • Labels:
      None
    • Environment:
      ext3, NTFS, and common FSs in general.

      Description

      If the number of sessions opened rises to thousands, DiskDataStore, which is default, doesn't scale, because it creates one dir for each session, and most filesystems don't perform well with large number of records in a dir. More, there's a hard limit e.g. for ext3 it's 31998.

      So I suggest to make it multi-level - simply, instead of "tmp/abcdef" it would be "tmp/a/b/cdef", where number of levels added would be configurable.

        Issue Links

          Activity

          Martin Grigorov made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 1.5.6 [ 12319053 ]
          Fix Version/s 6.0.0-RC1 [ 12320343 ]
          Resolution Fixed [ 1 ]
          Hide
          Martin Grigorov added a comment -

          Improved by re-applying the patch from WICKET-1837.

          It uses the hashcode of the sessionId string to make it better distributed.

          Show
          Martin Grigorov added a comment - Improved by re-applying the patch from WICKET-1837 . It uses the hashcode of the sessionId string to make it better distributed.
          Martin Grigorov made changes -
          Link This issue duplicates WICKET-1837 [ WICKET-1837 ]
          Martin Grigorov made changes -
          Assignee Martin Grigorov [ mgrigorov ]
          Ondra Žižka made changes -
          Field Original Value New Value
          Attachment fix-WICKET-4478.patch [ 12520147 ]
          Hide
          Ondra Žižka added a comment -

          Something like this.
          It's a 2-level dir, using first char.

          Show
          Ondra Žižka added a comment - Something like this. It's a 2-level dir, using first char.
          Ondra Žižka created issue -

            People

            • Assignee:
              Martin Grigorov
              Reporter:
              Ondra Žižka
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development