Bug 56841

Summary: New configuration element: DNS Cache Manager to improve the testing of CDN
Product: JMeter - Now in Github Reporter: Dzmitry Kashlach <dzmitry.kashlach>
Component: HTTPAssignee: JMeter issues mailing list <issues>
Status: RESOLVED FIXED    
Severity: normal CC: apc4, dzmitry.kashlach, sonam.chauhan
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Attachments: DNS Cache Manager sources
icon for component_reference.xml
Update patch v2
http-cache-manager.png
Final patch before commit
New screenshot
NotSerializableException

Description Dzmitry Kashlach 2014-08-12 14:54:42 UTC
Created attachment 31907 [details]
DNS Cache Manager sources

As was proposed by Milamber, creating separate issue for discussion in DEV-list:

http://jmeter.512774.n5.nabble.com/DNS-Cache-Manager-improvement-for-testing-CDN-td5720797.html

This config element help to get more realistic load while testing web-applications, which're using CDN.

Attaching two files: dns-cache-manager.patch and dns-cache-manager.png(an icon for component_reference.xml)
Comment 1 Dzmitry Kashlach 2014-08-12 14:55:35 UTC
Created attachment 31908 [details]
icon for component_reference.xml
Comment 2 Milamber 2014-08-12 21:42:21 UTC
Created attachment 31911 [details]
Update patch v2

Fix some alphabetical orders
Add some missing I18N strings
Add French translation
Formatting the code


Some issues remain (I think) between DNSCacheManager and DNSCachePanel on configure/modifyTestElement methods. (no time tonight to fix them)


Why use a PoolingClientConnectionManager in HTTPHC4Impl.java? BasicClientConnectionManager don't sufficient? The JMeter(httpclient) default client connection manger is change with Pooling?

+            PoolingClientConnectionManager poolingClientConnectionManager=
+                    new PoolingClientConnectionManager(SchemeRegistryFactory.createDefault(),resolver);
+

Screenshot must be refresh.
Comment 3 Dzmitry Kashlach 2014-08-13 10:06:14 UTC
Created attachment 31912 [details]
http-cache-manager.png
Comment 4 Dzmitry Kashlach 2014-08-13 10:12:24 UTC
(In reply to Milamber from comment #2)
> Some issues remain (I think) between DNSCacheManager and DNSCachePanel on
> configure/modifyTestElement methods. (no time tonight to fix them)
Can you show logs/description?

 
> Why use a PoolingClientConnectionManager in HTTPHC4Impl.java?
> BasicClientConnectionManager don't sufficient? The JMeter(httpclient)
> default client connection manger is change with Pooling?
> 
> +            PoolingClientConnectionManager poolingClientConnectionManager=
> +                    new
> PoolingClientConnectionManager(SchemeRegistryFactory.createDefault(),
> resolver);
> +

PoolingClientConnectionManager is extended BasicClientConnectionManager, it has constructor, which allows to pass instance of DnsResolver to httpclient to get flexibility. BasicClientConnectionManager does not allow to do that.

PoolingClientConnectionManager.java

    public PoolingClientConnectionManager(final SchemeRegistry schreg,final DnsResolver dnsResolver) {
        this(schreg, -1, TimeUnit.MILLISECONDS,dnsResolver);
    }

Added screenshot
Comment 5 Milamber 2014-08-14 20:34:58 UTC
Created attachment 31917 [details]
Final patch before commit
Comment 6 Milamber 2014-08-14 20:36:06 UTC
Created attachment 31918 [details]
New screenshot
Comment 7 Milamber 2014-08-14 20:46:13 UTC
In the final patch, I have fixed the usage of radio buttons to allow to restore the good config when you load a jmx file with a DNS cache manager.

Update docs

Thanks for your initial work.

Please test the nightly build to see if all is work fine with a CDN load test.

Milamber

==

URL: http://svn.apache.org/r1618048
Log:
New configuration element: DNS Cache Manager to improve the testing of CDN
Bugzilla Id: 56841

Added:
    jmeter/trunk/docs/images/screenshots/dns-cache-manager.png   (with props)
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java   (with props)
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java   (with props)
    jmeter/trunk/xdocs/images/screenshots/dns-cache-manager.png   (with props)
Modified:
    jmeter/trunk/bin/saveservice.properties
    jmeter/trunk/build.properties
    jmeter/trunk/build.xml
    jmeter/trunk/eclipse.classpath
    jmeter/trunk/res/maven/ApacheJMeter_parent.pom
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml


URL: http://svn.apache.org/r1618049
Log:
Add dnsjava to ignore
Bugzilla Id: 56841

Modified:
    jmeter/trunk/lib/   (props changed)
Comment 8 Milamber 2014-08-14 21:47:17 UTC
URL: http://svn.apache.org/r1618067
Log:
synchronize the revision with saveservice.properties
Bugzilla Id: 56841

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java
Comment 9 Dzmitry Kashlach 2014-09-19 13:01:57 UTC
I've have faced with NotSerializableException while running distributed tests with DNS Cache Manager. Attaching a patch for it.
Comment 10 Dzmitry Kashlach 2014-09-19 13:03:07 UTC
Created attachment 32033 [details]
NotSerializableException
Comment 11 Milamber 2014-09-21 09:41:39 UTC
Fixed. Thanks.

URL: http://svn.apache.org/r1626548
Log:
Fix a NotSerializableException issue with distributed tests
Bugzilla Id: 56841

Modified:
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java


===


URL: http://svn.apache.org/r1626549
Log:
Add dnsjava into binary packages
Bugzilla Id: 56841

Modified:
    jmeter/trunk/build.xml
Comment 12 Philippe Mouawad 2016-02-21 21:34:18 UTC
*** Bug 43730 has been marked as a duplicate of this bug. ***
Comment 13 The ASF infrastructure team 2022-09-24 20:37:57 UTC
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/3414