Author: adrian.chadd
Date: Sun Jul  5 03:26:00 2009
New Revision: 14117

Modified:
    wiki/ProjectStoreRebuildChanges.wiki

Log:
Edited wiki page through web user interface.

Modified: wiki/ProjectStoreRebuildChanges.wiki
==============================================================================
--- wiki/ProjectStoreRebuildChanges.wiki        (original)
+++ wiki/ProjectStoreRebuildChanges.wiki        Sun Jul  5 03:26:00 2009
@@ -12,10 +12,19 @@
    * Make the logfile writing and reading be async (ie, non blocking)  
rather than the current blocking IO methods used.
    * Think about how to possibly "fix" COSS rebuilding by combining both  
this new async logfile writing and a "rebuild helper" which can (ab)use  
written out logs for rebuild instead of the current highly dirty method.

+The eventual goal is to dramatically improve the startup, shutdown, rotate  
and general runtime performance of the store logging code.
+
+In the AUFS case, parallelising the rebuilds and using async IO for  
reading large swaplogs will make the restart process take seconds or  
minutes instead of potentially hours/days on a large cache. Rebuilding from  
disk will occur completely transparently in the background without  
affecting the main process - lusca can then start immediately  
returning "HITs" where possible.
+
+
  = Specific Bits =

  Implement a reliable and asynchronous clean "swaplog" writing method; even  
if that is a separate command. This way "rotate" can occur once an hour,  
but "write clean logs" can occur daily.

  Modify the AUFS swaplog writing code to use asynchronous IO somehow. This  
can either be using the existing aiops code, or a "writer helper" (akin to  
the logfile daemon code at the moment), or maybe a helper thread if there's  
sufficient motivation.

-Modify the AUFS swaplog reading code to use an external helper. External  
helper programs already exist which implement "cat swaplog" and "generate a  
swaplog from the directory contents".
\ No newline at end of file
+Modify the AUFS swaplog reading code to use an external helper. External  
helper programs already exist which implement "cat swaplog" and "generate a  
swaplog from the directory contents".
+
+= Future work =
+
+One idea I've had is to change the "rebuild from disk" logic into two  
parts - one to populate the file number bitmap, and then one to rebuild the  
item indexes. This way the proxy can immediately start serving hits -and-  
storing new items without overwriting existing items in the cache.
\ No newline at end of file

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"lusca-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/lusca-commit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to