private void MarkDirty(ulong txnId, INode node, BrightstarProfiler profiler) { using (profiler.Step("MarkDirty")) { if (!node.IsDirty) { //_nodeCache.Remove(node.PageId); _nodeCache.Remove(node); if (!_pageStore.IsWriteable(node.PageId)) { node.PageId = _pageStore.Create(); } node.IsDirty = true; _modifiedNodes[node.PageId] = node; } _pageStore.Write(txnId, node.PageId, node.GetData(), profiler: profiler); //Task.Factory.StartNew(() => _pageStore.Write(txnId, node.PageId, node.GetData(), profiler:null)); // Not passing through the profiler because it is not thread-safe } }