Class DelayedDirtyPageStoreWrite

    • Constructor Detail

      • DelayedDirtyPageStoreWrite

        public DelayedDirtyPageStoreWrite​(PageStoreWriter flushDirtyPage,
                                          ThreadLocal<ByteBuffer> byteBufThreadLoc,
                                          int pageSize,
                                          DelayedPageReplacementTracker tracker)
        Parameters:
        flushDirtyPage - real writer to save page to store.
        byteBufThreadLoc - thread local buffers to use for pages copying.
        pageSize - page size.
        tracker - tracker to lock/unlock page reads.
    • Method Detail

      • writePage

        public void writePage​(FullPageId fullPageId,
                              ByteBuffer byteBuf,
                              int tag)
        Callback for write page. PageMemoryEx will copy page content to buffer before call.
        Specified by:
        writePage in interface PageStoreWriter
        Parameters:
        fullPageId - Page ID to get byte buffer for. The page ID must be present in the collection returned by the PageMemoryEx.beginCheckpoint(IgniteInternalFuture) method call.
        byteBuf - Temporary buffer to write changes into.
        tag - Partition generation if data was read, null otherwise (data already saved to storage).
      • finishReplacement

        public void finishReplacement()
                               throws IgniteCheckedException
        Runs actual write if required. Method is 'no op' if there was no page selected for replacement.
        Throws:
        IgniteCheckedException - if write failed.