Lines Matching full:item
166 existing log item dirty region tracking) is that when it comes to writing the
181 Put simply, the current logging code formats the changes to each item into an
182 vector array that points to the changed regions in the item. The log write code
184 transaction commit while the item is locked in the transaction. Instead of
191 that does not require us to lock the item to access. This formatting and
194 without needing to lock the owning item.
234 are in the item, so we'd need a new encapsulation method for regions in the log
254 log item is the natural place to store this vector and buffer, and also makes sense
258 The log item is already used to track the log items that have been written to
260 and as such are stored in the Active Item List (AIL) which is a LSN-ordered
267 Essentially, this shows that an item that is in the AIL can still be modified
271 committed item tracking needs it's own locks, lists and state fields in the log
272 item.
275 called the Committed Item List (CIL). The list tracks log items that have been
342 To ensure that we can be writing an item into a checkpoint transaction at
343 the same time another transaction modifies the item and inserts the log item
348 buffer and log vector attached to each log item needs to be attached to the
349 checkpoint context so that the log item can be released. In diagrammatic form,
355 Log Item <-> log vector 1 -> memory buffer
358 Log Item <-> log vector 2 -> memory buffer
364 Log Item <-> log vector N-1 -> memory buffer
367 Log Item <-> log vector N -> memory buffer
378 | -> Log Item
382 | -> Log Item
389 | -> Log Item
393 -> Log Item
406 Discussion Point: I am uncertain as to whether the log item is the most
409 vectors and break the link between the log item and the log vector means that
410 we take a cache line hit for the log item list modification, then another for
412 break the link between the log item and the log vector, which means we should
413 dirty only the log item cachelines. Normally I wouldn't be concerned about one
490 amount of log space required as we add items to the commit item list, but we
575 Delayed Logging: Log Item Pinning
584 transactions is completed, they will unpin the item once. As a result, the item
586 pending transactions. Thus the pinning and unpinning of a log item is symmetric
587 as there is a 1:1 relationship with transaction commit and log item completion.
593 log item completion. The result of this is that pinning and unpinning of the
607 for the pin count means that the pinning of an item must take place under the
610 the fact pinning the item is dependent on whether the item is present in the
630 2. Adding items to the CIL and updating item space accounting
698 The existing log item life cycle is as follows::
702 3. Lock item
703 4. Join item to transaction
705 Allocate log item
706 Attach log item to owner item
707 Attach log item to transaction
708 5. Modify item
709 Record modifications in log item
711 Pin item in memory
712 Format item into log buffer
714 Unlock item
721 Mark log item committed
722 Insert log item into AIL
723 Write commit LSN into log item
724 Unpin log item
726 Lock item
727 Mark log item clean
728 Flush item to disk
730 <item IO completion>
732 9. Log item removed from AIL
734 Item unlocked
737 independent of steps 8-9. An item can be locked in steps 1-6 or steps 8-9
739 at the same time. If the log item is in the AIL or between steps 6 and 7
740 and steps 1-6 are re-entered, then the item is relogged. Only when steps 8-9
747 3. Lock item
748 4. Join item to transaction
750 Allocate log item
751 Attach log item to owner item
752 Attach log item to transaction
753 5. Modify item
754 Record modifications in log item
756 Pin item in memory if not pinned in CIL
757 Format item into log vector + buffer
758 Attach log vector and buffer to log item
759 Insert log item into CIL
761 Unlock item
778 Mark log item committed
779 Insert item into AIL
780 Write commit LSN into log item
781 Unpin log item
783 Lock item
784 Mark log item clean
785 Flush item to disk
786 <item IO completion>
787 10. Log item removed from AIL
789 Item unlocked
795 Hence delayed logging should not introduce any constraints on log item