Hanging testsuite / bug in TestNG?
by Sanne Grinovero
Hi all,
the testsuite on master is regularly hanging for me, and I get all
threads waiting while this one is spinning on the put() operation.
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.put(HashMap.java:374)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:320)
at org.testng.SuiteRunner.access$000(SuiteRunner.java:34)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:351)
at org.testng.internal.thread.ThreadUtil$CountDownLatchedRunnable.run(ThreadUtil.java:147)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Clearly the parallel testsuite is not synchronizing properly on the
HashMap, this looks like a TestNG bug.
So I've tried to update to latest 6.5.2; from the Changelog this looks
like fixed, as is a very long list of other issues; not least
"Fixed: Skipped tests were not always counted"
which might address the strange numbers we had noticed on Jenkins.
But I'm still unable to run the full testsuite; what follows are the
reasons from several different attempts:
testng-SyncBasicSingleLockOptimisticTest) Exiting because
lock.singlelock.SyncBasicSingleLockOptimisticTest has NOT shut down
all the cache managers it has started !!!!!!!
testng-SyncBasicSingleLockOptimisticTest) Exiting because
lock.singlelock.SyncBasicSingleLockOptimisticTest has NOT shut down
all the cache managers it has started !!!!!
(testng-BasicSingleLockOptimisticTest) Exiting because
lock.singlelock.BasicSingleLockOptimisticTest has NOT shut down all
the cache managers it has started !!!!!!!
(testng-BasicSingleLockOptimisticTest) Exiting because
lock.singlelock.BasicSingleLockOptimisticTest has NOT shut down all
the cache managers it has started !!!!!!!
(testng-SyncBasicSingleLockOptimisticTest) Exiting because
lock.singlelock.SyncBasicSingleLockOptimisticTest has NOT shut down
all the cache managers it has started !!!!!!!
Looking into the BasicSingleLockOptimisticTest I'm not seeing how this
could be possible, so I'm wondering if this could be a problem related
to the TestNG update? Any thoughts?
Cheers,
Sanne
12 years, 6 months
Infinispan/JGroups consultants
by Rusk, Patrick
What is the best way to go about finding an Infinispan/JGroups consultant that could be hired for a couple of days to give some expert advice on configuration issues?
Pat
12 years, 6 months
Configuring a Loader by Instance
by Sanne Grinovero
I'm needing to pass an instance of a CacheLoader and other services
directly to a ConfigurationBuilder, or have any way to start an
EmbeddedCacheManager using my existing instances.
There is this comment in the code, which seems to promise it will be
possible in 5.2 :
https://github.com/infinispan/infinispan/blob/master/core/src/main/java/o...
Who's working on it? Any progress? Sorry I couldn't find the issue,
nor I remember any discussion about this.. still this would be very
useful.
Actually configuring a CacheLoader is just the first step of the
flexibility I need, I eventually will need to be able to wire-up more
"internal" component type from provided instances, but the CacheLoader
would be a good start.
Cheers,
Sanne
12 years, 6 months
on optimistic locking semnatics
by Mircea Markus
Hi guys,
I've come around a JIRA[1] about optimistic locking and write skew check, and wondering what's the expected behavior in the following scenario:
tx1.begin()
read(a);
// tx2 modifies 'a' and commits changes
write(b);
tx1.commit() - shall I get a write skew (version changed) exception here as a was modified between read and commit?
In other words, shall I also perform write skew check for the entries that were read during a tx? We currently don't, but I can totally see situations in which this would be needed: if the decision to write to 'b' is made on the value of 'a' and there's an invariant containing both a and b.
[1]https://issues.jboss.org/browse/ISPN-1841
Cheers
Mircea
--
Mircea Markus
twitter.com/mirceamarkus
Sr. Software Engineer, Infinispan
http://www.infinispan.org
12 years, 6 months
Disabling BuildHive...
by Galder Zamarreño
We're now getting quite a few OOMEs for perm gen, which we cannot control.
I'm disabling build hive.
Cheers,
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
12 years, 6 months
Externalizer in AtomicHashMap needed?
by Martin Gencur
Hi,
I'm playing with partial object's state transfer, similar to how
AtomicHashMap/AtomicHashMapDelta works. The purpose of these classes is,
among other things, to show that for objects large in size we can
transfer just the updated part of them, not whole objects.
I tried to implement DeltaAware and Delta interfaces and my tests showed
that only methods of the delta object's externalizer were called. Not
methods of the externalizer of the actual object holding the data.
To be precise - I have two classes:
Bicycle implements DeltaAware (similar to AtomicHashMap)
BicycleDelta implements Delta (similar to AtomicHashMapDelta)
...and only BicycleDelta's externalizer's methods were called. Not those
of Bicycle's externalizer.
This brings me to AtomicHashMap... is the externalizer for this class
ever used/needed?
Thanks in advance
--
Martin Gencur
--
QA Engineer, JBoss Data Grid
Desk phone: +420 532 294 192, ext. 62192
12 years, 6 months
Misleading cache store, and average write time, stats
by Galder Zamarreño
Hi all,
Running some tests for Infinispan stats for next week's conference and I'm seeing something funny:
1. In a sync replicated cache, average write time is 1ms and average repl time is 3ms (wtf?)
2. Linked to 1, replication count is 260.249 and store count 520.307!! We're counting the number of stores twice, when someone calls put(), and we get a put call replicated to the node. The latter should not be count. That explains 1.
Thoughts?
Cheers,
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
12 years, 6 months
inverted distributed query
by Ales Justin
@Sanne, Vladimir: a think-task for you two :)
With CapeDwarf we need the following feature -- just the opposite from query results.
A user has a document, and a set of pre-defined queries.
Now we need to see which queries match the given document.
A dummy impl is to iterate over queries and find the ones that match.
But, this is of course not scalable.
Any idea / suggestion on how to prepare Infinispan Query together with Distributed Execution framework to handle such feature?
-Ales
12 years, 6 months
Finding unused dependecies in infinispan distribution zip
by Adrian Nistor
Hi,
I'm trying to reduce the size of the distribution archives by removing
jar duplication. I noticed that we can already shave off 40MB of 160MB
by removing duplication.
Another option is to remove dependencies which are not actually needed
(if there are any). Can I get some help from module authors to detect them?
Thanks,
Adrian
12 years, 6 months