Skip to content

Conversation

@jablko
Copy link
Contributor

@jablko jablko commented Feb 23, 2014

No description provided.

@jpeach
Copy link
Contributor

jpeach commented Apr 2, 2014

I'm not confident that this change is correct. The root cause of the assertion seems to be that cache_info.transform_store is not handled the same way as cache_info.object_store. In HttpTransact::handle_transform_ready, we know that the transform_response is valid, so that might be a reasonable place to set the response into cache_info.transform_store.

I would also like to understand why HttpTransact::set_headers_for_cache_write cares about caching a negative response at all. I think that this is all about setting up a special response to write to cache when caching a negative response and being careful not to trash that with a different response header.

Finally, it sounds like it should be simple to write a test for this in the ci/tsqa harness using the null transform example plugin and curl.

@jpeach
Copy link
Contributor

jpeach commented Apr 2, 2014

@SolidWallOfCode should review this.

@SolidWallOfCode
Copy link
Member

I will get to this this week.

@SolidWallOfCode
Copy link
Member

It seems to me there are two effecrive changes for this. The first minor one is that the response can be set earlier in the method. The more concerning one is that whether the response is set at all for negative caching. If the info is valid on entry then it won't be, but if the entry isn't set then it will be. Presumably the difference is that the transform is never valid on entry. The big question is whether setting the response can be a problem.

@zwoop
Copy link
Contributor

zwoop commented Sep 25, 2014

Can this be closed ?

@asfgit asfgit closed this in a655af5 Jun 17, 2015
hnakamur pushed a commit to hnakamur/trafficserver that referenced this pull request Jan 1, 2016
…irGet

Doc: Translate reference/api/TSInstallDirGet
iake123 added a commit to iake123/trafficserver that referenced this pull request Mar 8, 2017
(gdb) bt
#0  0x000000000058e4db in _acquire_session (bucket=0x11c0, ip=0x2ae24f9006d0, hostname_hash=..., sm=0x2ae24f900000) at HttpSessionManager.cc:234
apache#1  0x000000000058e97b in HttpSessionManager::acquire_session (this=0xc77b60 <httpSessionManager>, cont=0x2ae24f900000, ip=0x2ae24f9006d0, hostname=0x2ae24fa80019 "127.0.0.1", ua_session=0x2ae243e60000, sm=0x2ae24f900000)
    at HttpSessionManager.cc:317
apache#2  0x000000000059d960 in HttpSM::do_http_server_open (this=0x2ae24f900000, raw=false) at HttpSM.cc:4587
apache#3  0x00000000005a5421 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7091
apache#4  0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#5  0x00000000005969f3 in HttpSM::state_cache_open_write (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at HttpSM.cc:2564
apache#6  0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at HttpSM.cc:2683
apache#7  0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at ../iocore/eventsystem/I_Continuation.h:146
apache#8  0x000000000057f7e6 in HttpCacheSM::state_cache_open_write (this=0x2ae24f901808, event=1108, data=0x2ae243ee0000) at HttpCacheSM.cc:180
apache#9  0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f901808, event=1108, data=0x2ae243ee0000) at ../iocore/eventsystem/I_Continuation.h:146
apache#10 0x00000000006fdf28 in CacheVC::callcont (this=0x2ae243ee0000, event=1108) at P_CacheInternal.h:837
apache#11 0x00000000007058b3 in Cache::open_write (this=0x835e160, cont=0x2ae24f901808, key=0x2ae1bf337ea0, info=0x0, apin_in_cache=0, key1=0x0, type=CACHE_FRAG_TYPE_HTTP,
    hostname=0x2ae24f88000b "127.0.0.1:57890/synthetic.txt HTTP/1.0\r\n\r\n", host_len=9) at CacheWrite.cc:1823
apache#12 0x00000000006df28a in Cache::open_write (this=0x835e160, cont=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1281
apache#13 0x00000000006db86c in CacheProcessor::open_write (this=0x11b56e0 <cacheProcessor>, cont=0x2ae24f901808, expected_size=0, url=0x2ae24f900750, cluster_cache_local=true, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0,
    type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3991
apache#14 0x000000000057fc9b in HttpCacheSM::open_write (this=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0, retry=true, allow_multiple=false) at HttpCacheSM.cc:335
apache#15 0x000000000059d2d9 in HttpSM::do_cache_prepare_action (this=0x2ae24f900000, c_sm=0x2ae24f901808, object_read_info=0x0, retry=true, allow_multiple=false) at HttpSM.cc:4490
apache#16 0x00000000005ab9da in HttpSM::do_cache_prepare_write (this=0x2ae24f900000) at HttpSM.cc:4404
apache#17 0x00000000005a57d5 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7179
apache#18 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#19 0x0000000000593e8f in HttpSM::handle_api_return (this=0x2ae24f900000) at HttpSM.cc:1611
apache#20 0x000000000059e298 in HttpSM::do_api_callout_internal (this=0x2ae24f900000) at HttpSM.cc:4783
apache#21 0x00000000005ab93c in HttpSM::do_api_callout (this=0x2ae24f900000) at HttpSM.cc:576
apache#22 0x00000000005ab97e in HttpSM::setup_cache_lookup_complete_api (this=0x2ae24f900000) at HttpSM.cc:2573
apache#23 0x0000000000596e95 in HttpSM::state_cache_open_read (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2630
apache#24 0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2683
apache#25 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at ../iocore/eventsystem/I_Continuation.h:146
apache#26 0x000000000057f61d in HttpCacheSM::state_cache_open_read (this=0x2ae24f901808, event=1103, data=0xffffffffffffb050) at HttpCacheSM.cc:145
apache#27 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f901808, event=1103, data=0xffffffffffffb050) at ../iocore/eventsystem/I_Continuation.h:146
apache#28 0x00000000006f8415 in Cache::open_read (this=0x835e160, cont=0x2ae24f901808, key=0x2ae1bf3385b0, request=0x2ae24f900738, params=0x2ae24f900108, type=CACHE_FRAG_TYPE_HTTP,
    hostname=0x2ae24f88000b "127.0.0.1:57890/synthetic.txt HTTP/1.0\r\n\r\n", host_len=9) at CacheRead.cc:162
apache#29 0x00000000006df1f9 in Cache::open_read (this=0x835e160, cont=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, params=0x2ae24f900108, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1262
apache#30 0x00000000006db738 in CacheProcessor::open_read (this=0x11b56e0 <cacheProcessor>, cont=0x2ae24f901808, url=0x2ae24f900750, cluster_cache_local=1, request=0x2ae24f900738, params=0x2ae24f900108, pin_in_cache=0,
    type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3967
apache#31 0x000000000057f969 in HttpCacheSM::do_cache_open_read (this=0x2ae24f901808) at HttpCacheSM.cc:233
apache#32 0x000000000057fa55 in HttpCacheSM::open_read (this=0x2ae24f901808, url=0x2ae24f900750, hdr=0x2ae24f900738, params=0x2ae24f900108, pin_in_cache=0) at HttpCacheSM.cc:265
apache#33 0x000000000059ccf2 in HttpSM::do_cache_lookup_and_read (this=0x2ae24f900000) at HttpSM.cc:4349
apache#34 0x00000000005a5264 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7055
apache#35 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#36 0x0000000000593e8f in HttpSM::handle_api_return (this=0x2ae24f900000) at HttpSM.cc:1611
apache#37 0x000000000059e298 in HttpSM::do_api_callout_internal (this=0x2ae24f900000) at HttpSM.cc:4783
apache#38 0x00000000005ab93c in HttpSM::do_api_callout (this=0x2ae24f900000) at HttpSM.cc:576
apache#39 0x00000000005a49b0 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:6959
apache#40 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925
apache#41 0x0000000000595ff6 in HttpSM::state_hostdb_reverse_lookup (this=0x2ae24f900000, event=500, data=0x0) at HttpSM.cc:2313
apache#42 0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=500, data=0x0) at HttpSM.cc:2683
apache#43 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=500, data=0x0) at ../iocore/eventsystem/I_Continuation.h:146
apache#44 0x000000000067399e in HostDBContinuation::probeEvent (this=0x2ae24fb48000, event=1, e=0x2ae1bff5bf60) at HostDB.cc:2018
apache#45 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24fb48000, event=1, data=0x2ae1bff5bf60) at ../iocore/eventsystem/I_Continuation.h:146
apache#46 0x000000000074758d in EThread::process_event (this=0x2ae1bf13a010, e=0x2ae1bff5bf60, calling_code=1) at UnixEThread.cc:142
apache#47 0x000000000074775e in EThread::execute (this=0x2ae1bf13a010) at UnixEThread.cc:193
apache#48 0x0000000000746820 in spawn_thread_internal (a=0x2a168d0) at Thread.cc:88
apache#49 0x00002ae1a6ab7df5 in start_thread () from /lib64/libpthread.so.0
apache#50 0x00002ae1a96d71ad in clone () from /lib64/libc.so.6
SolidWallOfCode pushed a commit to SolidWallOfCode/trafficserver that referenced this pull request Sep 7, 2019
Add API and fix logic for TS_SSL_VERIFY_*_HOOK.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants