John, i submitted my patch to https://issues.apache.org/jira/browse/TS-745, thank for your help.
On Thu, Apr 21, 2011 at 5:29 AM, John Plevyak <[email protected]> wrote: > Looking at that web page, I can't see the code. If you post it I can > take a look. The problem is complicated by the fact that deletion > on sata is implicit to some extent because documents are lost > as the write pointer crosses over them. However because they > are scavenged from the directory, it is possible to recover some of > the CacheKey for deleted sata Dir entries. If your SSD directory > is strictly smaller it may be possible to recover enough of the necessary > bits > of the sata dir key to conservatively delete the 'head' Dir entries on the > SSD which are > deleted on the sata drives. > > In any case, seeing the code would be helpful. > > john > > > On Tue, Apr 19, 2011 at 8:08 AM, 张练 <[email protected]> wrote: > > > Hello, recently i have written a patch for supporting ssd, see > > https://cwiki.apache.org/TS/ssdsupport.html. > > My logic is like following: > > (1) If not hit in cache, then request from os, and write the response > to > > sata > > (2) If hit in sata, and need to write content to ram_cache, then write > > it to ssd also > > (3) When CacheProcessor::open_read, it first read in ssd, and if not > > probe hit in ssd, then read in sata > > I surround my codes with > > #ifdef CACHE_SSD > > .... > > #endif > > and to ease the coding work, the patch support only for following > > situation: one ssd plus several sata. > > Now we are testing this patch, first step is to test it works as > expect. > > We write a script to infinite send lots of request for urls, and then > send > > purge command, and then again requests and so on. The result > > shows that it works as we expect. Next step we will test the performance > of > > this patch. > > Now i have encounter a problem, when ./configure --enable-debug, it > will > > crash after some minutes, the error message is fail assert, in function > > CacheVC::handleReadDone of iocore/cache/Cache.cc, line "ink_assert(((Doc > *) > > buf->data())->magic == DOC_MAGIC);" I am tracing the bug, and i want to > > reproduce this scene again. I am thinking if my following logic is right > or > > wrong: > > When the object is stored in both ssd and sata, but staled, ts will > get > > the object from os and write it to sata. In this situation, i delete the > > Dir > > in ssd related with that staled object. I don't know when staled in > current > > cache, if or not ts delete the staled object? > > I will be appreciated for your advices. If you think i need to submit > my > > patch right now and you help me to review the codes, then tell me(I think > > the codes is ugly to simplify the coding load:( ) > > > > > > -- > > Best regards, > > Lian Zhang(mohan_zl) > > > -- Best regards, Lian Zhang
