[
https://issues.apache.org/jira/browse/TS-3985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003381#comment-15003381
]
song commented on TS-3985:
--------------------------
I've fixed this problem by adding a flag in HttpSM .It will skip the
pending_work checking in how_to_open_connection method .
Thanks
inline static HttpTransact::StateMachineAction_t
how_to_open_connection(HttpTransact::State *s)
{
//add by scw
if (s->force_flag == 1) {
ink_assert(s->pending_work == NULL);
}
// Originally we returned which type of server to open
// Now, however, we may want to issue a cache
// operation first in order to lock the cache
// entry to prevent multiple origin server requests
// for the same document.
// The cache operation that we actually issue, of
// course, depends on the specified "cache_action".
// If there is no cache-action to be issued, just
// connect to the server.
switch (s->cache_info.action) {
case HttpTransact::CACHE_PREPARE_TO_DELETE:
case HttpTransact::CACHE_PREPARE_TO_UPDATE:
case HttpTransact::CACHE_PREPARE_TO_WRITE:
s->transact_return_point = HttpTransact::handle_cache_write_lock;
return HttpTransact::SM_ACTION_CACHE_ISSUE_WRITE;
default:
// This covers:
// CACHE_DO_UNDEFINED, CACHE_DO_NO_ACTION, CACHE_DO_DELETE,
// CACHE_DO_LOOKUP, CACHE_DO_REPLACE, CACHE_DO_SERVE,
// CACHE_DO_SERVE_AND_DELETE, CACHE_DO_SERVE_AND_UPDATE,
// CACHE_DO_UPDATE, CACHE_DO_WRITE, TOTAL_CACHE_ACTION_TYPES
break;
}
> TSHttpTxnCacheLookupStatusSet(HIT_STALE) calls cause a crash
> ------------------------------------------------------------
>
> Key: TS-3985
> URL: https://issues.apache.org/jira/browse/TS-3985
> Project: Traffic Server
> Issue Type: Bug
> Components: Cache, DNS
> Reporter: song
> Fix For: 6.1.0
>
>
> Dear
> ATS cause a crash in how_to_open_connection while using
> TSHttpTxnCacheLookupStatusSet . In Function
> HttpTransact::HandleCacheOpenReadHit, the hook pending_work was set to
> issue_revalidate function and the variable " s->current.request_to =
> ORIGIN_SERVER". But the hook only be released while talking to a parent
> proxy in PPDNSLookup function. How to fix it.
> thanks
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)