[infinispan-dev] A tip: Using a random word generator to generate uncommon test data

Mircea Markus mircea.markus at jboss.com
Tue Sep 15 03:20:12 EDT 2009


On Sep 11, 2009, at 5:44 PM, Galder Zamarreno wrote:

>
>
> On 09/11/2009 02:23 PM, Mircea Markus wrote:
>> Another thing that helps is using the thread name. It's true that
>> there are some threads created within jgroups, and these won't match
>> but generally it helps.
>> Before starting a test, a log message is being output - this contains
>> the name of the test that is to be executed. Same after the test is
>> finished. Logs look like:
>> "Starting test..."
>> and
>> "Test Xyz failed"/"Test Xyz skipped"/"Test Xyz succeeded"
>
> True, those tips help as well. The easier is to determine the log
> associated with a failing test, the easier debugging will be.
>
> I've also been thinking of a way to improve logging based on the
> Hibernate 2nd level cache work I did. It'd be interesting that any
> instance of a class that is specific to a cache instanc, i.e.  
> "galder",
> had the cache name appended.
I think that's can be done given the fact that we are using our own  
logging layer.
we can either pass the cache name as an argument to the logging  
methods, or pass it to the logger factory when creating a logger.  
Later implies having a logger per instance (the current practice is to  
have one per class, as an static member).
>
> In environments where there're several cache instances deployed, i.e.
> AS, this would help greatly. Example:
>
> Instead of:
> 2009-09-11 16:41:05,635 591   TRACE
> [org.infinispan.interceptors.InvocationContextInterceptor] (main:)
> Invoked with command PutKeyValueCommand{key=key, value=value,
> putIfAbsent=false, lifespanMillis=-1, maxIdleTimeMillis=-1} and
> InvocationContext [NonTxInvocationContext{flags=null}]
> ...
> 2009-09-11 16:41:05,635 591   TRACE
> [org.infinispan.interceptors.CallInterceptor] (main:) Executing  
> command:
> PutKeyValueCommand{key=key, value=value, putIfAbsent=false,
> lifespanMillis=-1, maxIdleTimeMillis=-1}.
>
> Something like:
> 2009-09-11 16:41:05,635 591   TRACE
> [org.infinispan.interceptors.InvocationContextInterceptor.galder]
> (main:) Invoked with command PutKeyValueCommand{key=key, value=value,
> putIfAbsent=false, lifespanMillis=-1, maxIdleTimeMillis=-1} and
> InvocationContext [NonTxInvocationContext{flags=null}]
> ...
> 2009-09-11 16:41:05,635 591   TRACE
> [org.infinispan.interceptors.CallInterceptor.galder] (main:) Executing
> command: PutKeyValueCommand{key=key, value=value, putIfAbsent=false,
> lifespanMillis=-1, maxIdleTimeMillis=-1}.
>
> Remember that by default, in Hibernate we create a cache instance per
> entity, so imagine the number of diff caches you might have to deal  
> with
> in an app server env.
>
>>
>> On Sep 11, 2009, at 1:13 PM, Galder Zamarreno wrote:
>>
>>> p.s. I'm currently using
>>> http://watchout4snakes.com/creativitytools/RandomWord/RandomWordPlus.aspx
>>>  as
>>> random word generator.
>>>
>>> On 09/11/2009 12:12 PM, Galder Zamarreno wrote:
>>>> Guys,
>>>>
>>>> Looking at the Infinispan tests, I've seen plenty same keys/values
>>>> repeated in loads of tests, i.e. k1, k2, v1, v2....etc, so  
>>>> sometimes,
>>>> when you're debugging a specific tests, particularly when running  
>>>> the
>>>> whole testsuite, it's hard to pint point the data related to your
>>>> test
>>>> since same key/values are used by several tests.
>>>>
>>>> So, to try to help with finding the data related to my tests, I'm
>>>> trying
>>>> to use random word generator to generate uncommon or obscure words
>>>> that
>>>> I can use in the tests. Doing this allows me to quickly find my
>>>> data in
>>>> the logs, i.e. "key-isoprene"
>>>>
>>>> I don't know whether other people are interesting in using a  
>>>> similar
>>>> method but at least for me, it helps.
>>>>
>>>> Cheers,
>>>
>>> --
>>> Galder Zamarreño
>>> Sr. Software Engineer
>>> Infinispan, JBoss Cache
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>
>>
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
> -- 
> Galder Zamarreño
> Sr. Software Engineer
> Infinispan, JBoss Cache
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev





More information about the infinispan-dev mailing list