db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oystein.Grov...@Sun.COM (Øystein Grøvlen)
Subject Re: [jira] Commented: (DERBY-733) Starvation in RAFContainer.readPage()
Date Mon, 19 Dec 2005 16:13:32 GMT
>>>>> "ST" == Suresh Thalamati <suresh.thalamati@gmail.com> writes:

    ST> This  might  be  obvious, thought  I  would  mention  it any  way.  My
    ST> understanding is  one can  not just enable  "RWD" (direct io)  for the
    ST> checkpoint. It  has to  be enabled  for all the  writes from  the page
    ST> cache, otherwise  a file  sync is required  before doing  "rwd" writes
    ST> because I  am not sure If  a file is opened  in "rw" mode  and then in
    ST> "rws" mode , writes  to first open will also get synced  to the disk ,
    ST> when file is opened in "rwd" mode , I doubt that.


    ST> If  files are  opened  in direct  io  mode always  ,  then page  cache
    ST> cleaning can possible  get slow and also user query  request for a new
    ST> page in buffer pool can become slow  if a cache is full and a page has
    ST> to be thrown out to get a  free page. Another thing to note is buffer
    ST> cleaning is done  on Rawstore daemon thread, which  is overloaded with
    ST> some post commit  work also , so page cache may  not get cleaned often
    ST> in some cases.

I think the solution to this is to use multiple threads for writing
pages to disk.  In order not to slow down user threads, one can copy
the page to another buffer and let it be written asynchronusly by
another thread using direct i/o (emulates a file system buffer).

-- 
Øystein


Mime
View raw message