Hi,
ConcurrentModificationException might be thrown in
TestHCM.testConnectionUniqueness.
See
https://builds.apache.org/view/G-L/view/HBase/job/HBase-TRUNK/2357/testReport/junit/org.apache.hadoop.hbase.client/TestHCM/testConnectionUniqueness

363     Entry<K,V> nextEntry() {
364         if (modCount != expectedModCount)
365         throw new
ConcurrentModificationException<http://kickjava.com/src/java/util/ConcurrentModificationException.java.htm>
[image:
JavaDoc] <http://kickjava.com/2487.htm>();

Read more:
http://kickjava.com/src/java/util/LinkedHashMap.java.htm#ixzz1bbCC0gaT

HCM uses proper synchronization when accessing HBASE_INSTANCES.

Looking at TestHCM.getValidKeyCount(), it puts values of HBASE_INSTANCES in
a Set and returns the size of the Set.

However, post HBASE-3777, the values (HConnectionImplementation's) in
HBASE_INSTANCES would be unique.

I simplified TestHCM.getValidKeyCount() by returning cache.size() directly
where ConcurrentModificationException isn't thrown.
The test passed.

Please comment on proposed simplification.

Reply via email to