Hey,

Thanks for the debug!.

I do not know the exact reason but I can say for sure that it's not the NetAPP or any other OS level issue since the AUFS\UFS cache_dir works fine in the same system and in a similar situation.
I will try to replicate it locally.
I do understand the issue and I will try my best to see what can be done from my side.

For now I will try to replicate the issue on a RAM only system(OS,CACHE,DISK,env..). I think the right way now is to file a BUG in the bugzilla and continue following here and there since it's a major bug when comparing UFS\AUFS to ROCK.

If you understand that a patch\fix for such an issue is not a tiny task then I and you are on the same ship.

(I will try to test today but I cannot promise I will find it in such a hurry)

All The Bests,
Eliezer

* http://bugs.squid-cache.org/enter_bug.cgi

On 11/03/2016 18:25, Heiler Bemerguy wrote:

I managed to track down with GDB one of these swapfails...

Breakpoint 1, clientReplyContext::cacheHit (this=0x33bff58, result=...)
at client_side_reply.cc:471
471             http->logType = LOG_TCP_SWAPFAIL_MISS;
(gdb) l
466             debugs(88, 3, "clientCacheHit: request aborted");
467             return;
468         } else if (result.flags.error) {
469             /* swap in failure */
470             debugs(88, 3, "clientCacheHit: swapin failure for " <<
http->uri);
471             http->logType = LOG_TCP_SWAPFAIL_MISS;
472             removeClientStoreReference(&sc, http);
473             processMiss();
474             return;
475         }

(gdb) p *this
$2 = {<Lock> = {_vptr.Lock = 0x84e668, count_ = 1}, <StoreClient> =
{_vptr.StoreClient = 0x84e638}, purgeStatus = Http::scNone,
   lookingforstore = 5, http = 0x1eadb398, headers_sz = 0, sc =
0x3034028, tempBuffer = {flags = {error = 0}, length = 0, offset = 0,
     data = 0x0}, old_reqsize = 0, reqsize = 210, reqofs = 0, tempbuf =
'\000' <repeats 4095 times>, flags = {storelogiccomplete = 0,
     complete = 0, headersSent = false}, ourNode = 0xaa32198,
holdingBuffer = {flags = {error = 0}, length = 0, offset = 0, data = 0x0},
   reply = 0x0, old_entry = 0x0, old_sc = 0x0, deleting = false, static
CBDATA_clientReplyContext = 24}
(gdb) p result
$3 = {flags = {error = 1}, length = 0, offset = 0,
   data = 0x9ef18d8 "HTTP/1.1 200 Internal marker object\r\nServer:
squid\r\nMime-Version: 1.0\r\nDate: Fri, 11 Mar 2016 15:57:32
GMT\r\nContent-Type: x-squid-internal/vary\r\nExpires: Sat, 12 Mar 2016
19:44:12 GMT\r\nVary: Accept-En"...}

It already came to client_side_reply.cc with "ERROR" set to 1...

(gdb) bt
#0  clientReplyContext::cacheHit (this=0x33bff58, result=...) at
client_side_reply.cc:471
#1  0x000000000064dcbd in store_client::callback (this=0x3034028,
sz=<optimized out>, error=<optimized out>) at store_client.cc:130
#2  0x000000000064e6c1 in store_client::startSwapin
(this=this@entry=0x3034028) at store_client.cc:382
#3  0x00000000006501d3 in store_client::doCopy
(this=this@entry=0x3034028, anEntry=anEntry@entry=0xab07eb0) at
store_client.cc:359
#4  0x000000000065033c in storeClientCopy2 (e=0xab07eb0,
sc=sc@entry=0x3034028) at store_client.cc:315
#5  0x0000000000650db9 in storeClientCopy2 (sc=0x3034028, e=<optimized
out>) at store_client.cc:281
#6  store_client::copy (this=0x3034028, anEntry=0xab07eb0, copyRequest=...,
     callback_fn=0x55b250 <clientReplyContext::CacheHit(void*,
StoreIOBuffer)>, data=0x33bff58) at store_client.cc:232
#7  0x0000000000558111 in clientReplyContext::doGetMoreData
(this=this@entry=0x33bff58) at client_side_reply.cc:1799
#8  0x0000000000558422 in clientReplyContext::identifyFoundObject
(this=0x33bff58, newEntry=<optimized out>) at client_side_reply.cc:1649
#9  0x000000000055a8b8 in clientReplyContext::cacheHit (this=0x33bff58,
result=...) at client_side_reply.cc:525
#10 0x000000000064dcbd in store_client::callback (this=0x51d5b08,
sz=<optimized out>, error=<optimized out>) at store_client.cc:130
#11 0x000000000064e1ba in store_client::readBody
(this=this@entry=0x51d5b08, buf=<optimized out>, len=len@entry=210) at
store_client.cc:497
#12 0x000000000064f76b in store_client::readHeader (this=0x51d5b08,
buf=<optimized out>, len=<optimized out>) at store_client.cc:611
#13 0x0000000000732790 in Rock::IoState::callReaderBack (this=<optimized
out>,
     buf=0x9ef18d8 "HTTP/1.1 200 Internal marker object\r\nServer:
squid\r\nMime-Version: 1.0\r\nDate: Fri, 11 Mar 2016 15:57:32
GMT\r\nContent-Type: x-squid-internal/vary\r\nExpires: Sat, 12 Mar 2016
19:44:12 GMT\r\nVary: Accept-En"..., rlen=428) at rock/RockIoState.cc:143
#14 0x0000000000726ec1 in Rock::SwapDir::readCompleted (this=<optimized
out>, buf=<optimized out>, rlen=428, errflag=0, r=...)
     at rock/RockSwapDir.cc:822
#15 0x00000000006f22c0 in IpcIoFile::readCompleted (this=<optimized
out>, readRequest=0x5417008, response=<optimized out>)
     at DiskIO/IpcIo/IpcIoFile.cc:255
#16 0x00000000006f6bcc in IpcIoFile::handleResponse (this=<optimized
out>, ipcIo=...) at DiskIO/IpcIo/IpcIoFile.cc:462
#17 0x00000000006f6fde in IpcIoFile::HandleResponses
(when=when@entry=0x851324 "after notification") at
DiskIO/IpcIo/IpcIoFile.cc:449

...help!



_______________________________________________
squid-users mailing list
squid-users@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-users

Reply via email to