Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.7.0
    • Labels:
      None
    • # Replies:
      8
    • Last comment by Customer:
      true

      Description

      There are some customers that have their own file systems where they really need full pre-allocation. So they have asked if there is a way for fallocate to not set the FALLOC_FL_KEEP_SIZE mode flag.

        Activity

        Hide
        keith.bostic Keith Bostic added a comment -

        Sue LoVerso, if this is their own filesystem, can they ignore the FALLOC_FL_KEEP_SIZE flag?

        Regardless, a simpler solution might be for WiredTiger to remove the FALLOC_FL_KEEP_SIZE flag.

        WiredTiger won't break in that case (it changes fallocate to have the same semantics as posix_fallocate, which we optionally use), and assuming there's no performance problem associated with dropping the flag, it might be the easiest change to make. I doubt there's a performance problem with dropping the flag, it's just a change to the exported file size, so it's an update of the metadata, which is probably happening anyway.

        Looking back through revision history, the flag was added with fallocate support in https://github.com/wiredtiger/wiredtiger/commit/072052808bfbf42bb19006815716c4ad9f67f49a; I don't see anything that makes me think FALLOC_FL_KEEP_SIZE was chosen for any specific reason, I may have assumed having a smaller terminating log file would make recovery marginally faster.

        Show
        keith.bostic Keith Bostic added a comment - Sue LoVerso , if this is their own filesystem, can they ignore the FALLOC_FL_KEEP_SIZE flag? Regardless, a simpler solution might be for WiredTiger to remove the FALLOC_FL_KEEP_SIZE flag. WiredTiger won't break in that case (it changes fallocate to have the same semantics as posix_fallocate , which we optionally use), and assuming there's no performance problem associated with dropping the flag, it might be the easiest change to make. I doubt there's a performance problem with dropping the flag, it's just a change to the exported file size, so it's an update of the metadata, which is probably happening anyway. Looking back through revision history, the flag was added with fallocate support in https://github.com/wiredtiger/wiredtiger/commit/072052808bfbf42bb19006815716c4ad9f67f49a ; I don't see anything that makes me think FALLOC_FL_KEEP_SIZE was chosen for any specific reason, I may have assumed having a smaller terminating log file would make recovery marginally faster.
        Hide
        sue.loverso Sue LoVerso added a comment -

        I asked if there was something we could ifdef on at least. But certainly less ifdef and just removing that flag would be simpler. I reviewed the change you referenced and agree I don't see a reason for the flag.

        Show
        sue.loverso Sue LoVerso added a comment - I asked if there was something we could ifdef on at least. But certainly less ifdef and just removing that flag would be simpler. I reviewed the change you referenced and agree I don't see a reason for the flag.
        Hide
        keith.bostic Keith Bostic added a comment -

        Michael Cahill, should we remove the FALLOC_FL_KEEP_SIZE flag and then wait for a performance complaint, or is there a better way to performance check the change?

        Show
        keith.bostic Keith Bostic added a comment - Michael Cahill , should we remove the FALLOC_FL_KEEP_SIZE flag and then wait for a performance complaint, or is there a better way to performance check the change?
        Hide
        sue.loverso Sue LoVerso added a comment -

        The customer is using the provided binaries so there is no path via ifdef for them. They don't plan to build their own binaries from source. I think our best path at the moment would be Keith Bostic's suggestion of removing the flag.

        Show
        sue.loverso Sue LoVerso added a comment - The customer is using the provided binaries so there is no path via ifdef for them. They don't plan to build their own binaries from source. I think our best path at the moment would be Keith Bostic 's suggestion of removing the flag.
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'sueloverso', u'name': u'Susan LoVerso', u'email': u'sue@wiredtiger.com'}

        Message: WT-2165 Remove FALLOC_FL_KEEP_SIZE flag.
        Branch: develop
        https://github.com/wiredtiger/wiredtiger/commit/f134d1dd75cb1b0ebb1a26639a5fa3beeebc0cd4

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'sueloverso', u'name': u'Susan LoVerso', u'email': u'sue@wiredtiger.com'} Message: WT-2165 Remove FALLOC_FL_KEEP_SIZE flag. Branch: develop https://github.com/wiredtiger/wiredtiger/commit/f134d1dd75cb1b0ebb1a26639a5fa3beeebc0cd4
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith.bostic@mongodb.com'}

        Message: Merge pull request #2252 from wiredtiger/fallocate-2165

        WT-2165 Remove FALLOC_FL_KEEP_SIZE flag.
        Branch: develop
        https://github.com/wiredtiger/wiredtiger/commit/a81aae8648ce2e74a44b01071320ee9307f221b6

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith.bostic@mongodb.com'} Message: Merge pull request #2252 from wiredtiger/fallocate-2165 WT-2165 Remove FALLOC_FL_KEEP_SIZE flag. Branch: develop https://github.com/wiredtiger/wiredtiger/commit/a81aae8648ce2e74a44b01071320ee9307f221b6
        Hide
        sue.loverso Sue LoVerso added a comment -

        Michael Cahill does this need to go into 3.0? It does not seem like it to me, but I'll let you decide.

        Show
        sue.loverso Sue LoVerso added a comment - Michael Cahill does this need to go into 3.0? It does not seem like it to me, but I'll let you decide.
        Hide
        sue.loverso Sue LoVerso added a comment -

        Per the original request this does not need to go into 3.0. Closing.

        Show
        sue.loverso Sue LoVerso added a comment - Per the original request this does not need to go into 3.0. Closing.

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Days since reply:
              1 year, 35 weeks, 2 days ago
              Date of 1st Reply: