trafficserver
trafficserver copied to clipboard
MgmtConverter is called from doRemap
Some overridable configs are running special MgmtConverter when ATS does remap. It'd be great if they're converted when configs are loaded.
- e.g.
HttpTransact::HOST_RES_CONVforproxy.config.hostdb.ip_resolve
Process 2881 stopped
* thread #12, name = '[ET_NET 9]', stop reason = breakpoint 1.1
frame #0: 0x000000010013e0e0 traffic_server`HttpTransact::$_1::operator()(this=0x0000000105291917, data=0x00000001053c83a8, src="ipv4") const at HttpTransact.cc:92:81
89 },
90 [](void *data, std::string_view src) -> void {
91 HostResData *res_data = static_cast<HostResData *>(data);
-> 92 parse_host_res_preference(src.data(), res_data->order);
93 }};
94
95 static char range_type[] = "multipart/byteranges; boundary=RANGE_SEPARATOR";
Target 0: (traffic_server) stopped.
(lldb) bt
* thread #12, name = '[ET_NET 9]', stop reason = breakpoint 1.1
* frame #0: 0x000000010013e0e0 traffic_server`HttpTransact::$_1::operator()(this=0x0000000105291917, data=0x00000001053c83a8, src="ipv4") const at HttpTransact.cc:92:81
frame #1: 0x000000010013e0a8 traffic_server`HttpTransact::$_1::__invoke(data=0x00000001053c83a8, src="ipv4") at HttpTransact.cc:90:49
frame #2: 0x000000010154ee80 libtsapi.dylib`TSHttpTxnConfigStringSet(txnp=0x00000001053c7000, conf=TS_CONFIG_HTTP_HOST_RESOLUTION_PREFERENCE, value="ipv4", length=4) at InkAPI.cc:7668:9
frame #3: 0x000000010b146a44 conf_remap.so`TSRemapDoRemap(ih=0x000000010ada0000, rh=0x00000001053c7000, (null)=0x0000000105291fc8) at conf_remap.cc:346:9
frame #4: 0x00000001001ab778 traffic_server`RemapPluginInfo::doRemap(this=0x0000000101f46920, ih=0x000000010ada0000, rh=0x00000001053c7000, rri=0x0000000105291fc8) at RemapPluginInfo.cc:229:14
frame #5: 0x00000001001b0d34 traffic_server`RemapPluginInst::doRemap(this=0x00000001025c8d40, rh=0x00000001053c7000, rri=0x0000000105291fc8) at PluginFactory.cc:78:18
frame #6: 0x00000001001b84f4 traffic_server`RemapPlugins::run_plugin(this=0x00000001052920d0, plugin=0x00000001025c8d40) at RemapPlugins.cc:63:28
frame #7: 0x00000001001b87f0 traffic_server`RemapPlugins::run_single_remap(this=0x00000001052920d0) at RemapPlugins.cc:109:22
frame #8: 0x00000001001ba9d4 traffic_server`RemapProcessor::perform_remap(this=0x0000000100631308, cont=0x00000001053c7000, s=0x00000001053c7108) at RemapProcessor.cc:301:19
frame #9: 0x00000001000eae44 traffic_server`HttpSM::do_remap_request(this=0x00000001053c7000, run_inline=true) at HttpSM.cc:4491:35
In the OverridableHttpConfigParams, below config params are running special converters. And I'm trying to add two more for negative_caching_list and negative_revalidating_list.
HttpForwarded::OptionBitSet insert_forwarded;
ts_seconds down_server_timeout{300};
ConnectionTracker::TxnConfig connection_tracker_config;
HostResData host_res_data;
(for ts_seconds, it's just a static_cast, so it's not problem.)
https://github.com/apache/trafficserver/blob/aaa32afab7d3777fdcf14fa17e4ddc682348d2c6/include/proxy/http/HttpConfig.h#L440