Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-630

simplify col/row-modify serialization functions

    • Type: Icon: Task Task
    • Resolution: Done
    • WT1.6.5
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      @michaelcahill, based on reviewing c514aefa3f77eb9d060064c790754c64f4463d25 and b0e30498baa8684e04f03c5cb6925181b9fc7972, I'd like to consider pulling out the initialization of the insert and update arrays and headers out of the serialization function and into the modify functions. Basically, col/row-modify could allocate and atomically swap them into place, and then the serialization functions could assume they exist.

      The only thing that worries me, of course, is the comment:

               * NOTE: it is important to do this after publishing that the update is
               * set.  Code can assume that if the array is set, it is non-empty.
      

      which appears twice in *wt_insert_serial_func and once in *wt_update_serial_func.

      But, I think we could check for that problem pretty quickly (there aren't that many places the lists are read, and, if we miss one, I would expect to get a core dump, not some subtle error.

      Thoughts?

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: