Hi all, Plan: I'll try to land "Store raw responseBody and decompress when needed" (PR6389) for 6.0 on its own, and keep the modified-gutter / unset UI work for a later release.
On the deferral: the gutter plus the "is this set here or inherited" indicator only pays off once config inheritance is modelled properly. Config merge (AbstractTestElement.addProperty / mergeIn) treats an absent property and an empty value the same way: both inherit. So "explicitly empty, overriding an inherited value" can't be expressed, and a "differs from default" indicator can't answer whether a field inherits from HTTP Request Defaults. Fixing that means changing merge semantics that have been stable since 2003 and that third-party plugins rely on. I'd rather design it carefully after 6.0 than rush it. Looks like responseProcessingMode doesn't need that. It's an enum, so its value is never an empty string, and "use the default / inherit" is one entry in the dropdown rather than a blank field. So I'll wire it with a plain combo on the sampler and on HTTP Request Defaults: - a "Default" entry that leaves the property unset (inherit, or fall back to STORE_COMPRESSED); - the concrete modes, which store an explicit value and override the defaults. I'll keep the schema default STORE_COMPRESSED, so lazy decompression is the behaviour when nothing is set anywhere, and getResponseProcessingMode() never returns null. Thoughts welcome. Thanks, Vladimir
