Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Database Core
    • Labels:
      None

      Description

      This change updates the file module so that it can do
      asynchronous writes. Basically it replies immediately
      to process asking to write something to the file, with
      the position where the chunks will be written to the
      file, while a dedicated child process keeps collecting
      chunks and write them to the file (and batching them
      when possible). After issuing a series of write request
      to the file module, the caller can call its 'flush'
      function which will block the caller until all the
      chunks it requested to write are effectively written
      to the file.

      This maximizes the IO subsystem, as for example, while
      the updater is traversing and modifying the btrees and
      doing CPU bound tasks, the writes are happening in
      parallel.

      Originally described at http://s.apache.org/TVu

      Github Commit: https://github.com/fdmanana/couchdb/commit/e82a673f119b82dddf674ac2e6233cd78c123554

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            Jan Lehnardt
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development