Falcon handles small and large blobs differentially. Small blobs are
handled about the same way as records, which is to say that they are
written to the serial log and flushed to disk post commit. However, it
doesn't make sense to write large blobs to the serial log since they can
be written directly to disk (blobs never overwrite anything, so this is
safe).
The "earlyWrite" flag on Section::storeRecord is set for large blobs.
Large blobs are initially stored like ordinary large records -- tail
first -- as data overflow pages, except the pages are also posted the
page writer so they can be written prior to commit. The pages
themselves are not written to serial log, just the page numbers. The
difference comes on the handling of the first data page. For blobs with
the earlyWrite option, the first data page is logged with SRLBlobUpdate.
In other words, large blob page numbers, but not the blobs themselves,
are written to the serial log. The pages themselves are written by the
page write. A commit, in turn, will wait for confirmation from page
written that the pages are safely on disk.
--
Jim Starkey
President, NimbusDB, Inc.
978 526-1376
| Thread |
|---|
| • Blobs, earlyWrite, and All That | Jim Starkey | 9 Apr |
| • Recovery bugs, classified by me | Vladislav Vaintroub | 9 Apr |
| • PAGE IO bugs, classified by me | Vladislav Vaintroub | 9 Apr |
| • Recovery and Page IO bugs classified by Vlad | Christopher Powers | 11 Apr |
| • Re: Recovery bugs, classified by me | Philip Stoev | 9 Apr |
| • RE: Recovery bugs, classified by me | Vladislav Vaintroub | 9 Apr |
| • Re: Recovery bugs, classified by me | James Day | 13 Apr |
| • Re: Recovery bugs, classified by me | Kevin Lewis | 13 Apr |
| • RE: Recovery bugs, classified by me | Vladislav Vaintroub | 9 Apr |
| • Re: Recovery bugs, classified by me | Christopher Powers | 11 Apr |
| • Re: Recovery bugs, classified by me | James Day | 13 Apr |
| • Re: Recovery bugs, classified by me | Philip Stoev | 9 Apr |
| • RE: Recovery bugs, classified by me | Vladislav Vaintroub | 9 Apr |
| • Re: Recovery bugs, classified by me | Philip Stoev | 9 Apr |
| • Re: Recovery bugs, classified by me | Philip Stoev | 11 Apr |