The proposed patch works by skipping CSVDataSet when merging in the configuration elements.
ConfigTestElements have to be merged into samplers, in order that the samplers can pick up the configuration elements that apply to them. This means that all samplers are provided with all the data from every config element in scope. This was perhaps OK initially, when there weren't many samplers, but now there are lots of samplers and lots of config elements. Duplication of names is now more difficult to avoid, and there is more wasted space; each sampler only needs the settings from some of the config elements. It would be nice if there were a method on the config element that specified which samplers it applied to - or equally, if samplers had a method to determine if a config element applied to them. However, I don't know if there is an easy way to determine which config elements apply to which samplers. Some specific configs are obvious, such as CSVDataSet, which is not directly associated with any Sampler. The same probably applies to RandomVariableConfig. AuthManager, CookieManager etc only apply to HTTP samplers. But there are a lot of sampler configurations that use the basic ConfigTestElement; I suppose it might be possible to use the TestElement.gui_class String property. This needs a bit more thought...