Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-1342

Asynchronous file writes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • Database Core
    • 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

      Attachments

        1. COUCHDB-1342.patch
          45 kB
          Jan Lehnardt

        Activity

          People

            Unassigned Unassigned
            jan Jan Lehnardt
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: