GitHub user kirklund opened a pull request:

    https://github.com/apache/geode/pull/450

    GEODE-2632: create ClientCachePutBench

    * add jmh to geode-core
    * prevent dunit launching due to static Rule
    * define ClientCachePutBench to measure throughput of puts from a cache 
client to a loner server
    
    Notes: this is a macro benchmark which uses a Client (in the JMH JVM) and a 
Server JVM. The intention of this benchmark is to verify that the later changes 
I make for GEODE-2632 (including refactoring of classes in 
org.apache.geode.internal.cache.tier.sockets) do not adversely affect 
performance. Following this commit will be changes to the constructors of some 
cache client classes and introduction a micro benchmark that directly measures 
Put65 for improving performance involving its interaction with SecurityService.
    
    I added jmh to geode-core because I want to introduce creation of micro 
benchmarks in the same module and same package(s) as the class(es) being 
measured.
    
    The change to LocatorServerStartupRule.java was necessary because locators 
and servers scan the org.apache.geode.management.internal.cli.commands package 
for Spring Shell commands at start-up which forces static initialization of 
every class in that package. There is at least one dunit test in that same 
package with a static instance of LocatorServerStartupRule. Because jmh creates 
its own jar and puts all of the geode-core classes, including tests, in that 
jar, the constructor of LocatorServerStartupRule will currently cause dunit to 
launch. Jared is working on an additional change to prevent test classes from 
being class loaded as potential command classes.
    
    I'd like to have this PR reviewed by @bschuchardt @galen-pivotal 
@kohlmu-pivotal @hiteshk25 @metatype.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kirklund/geode 
feature/GEODE-2632-ClientCachePutBench

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/geode/pull/450.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #450
    
----
commit c80daa9aef14503ba10ebacb730e2cd334947c31
Author: Kirk Lund <kl...@apache.org>
Date:   2017-04-11T22:58:26Z

    GEODE-2632: create ClientCachePutBench
    
    * add jmh to geode-core
    * prevent dunit launching due to static Rule

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to