Dear all,
I faced the exception 
java.util.ConcurrentModificationException
Immediately I started thinking ..., since two different functions{A() and B()} are executing parallel, some critical section variable might be accessed at the same time by both functions A() and B().
So to solve the issue, I used java function 'synchronized() {  } ' blocks inside both the functions A() and B().  But surprisingly the error was not solved.
Thanks to the link
http://stackoverflow.com/questions/8189466/java-util-concurrentmodificationexception
which told me that, the concurrent exception happens because of the Iterator I used in one of the function A().
Consider the program
 ------------------------------------------------------------------------------
set= myhashmap.entrySet();
i=set.Iterator();
while (i.hasNext())
      {
       myhashmap.remove(datanode);//This causes problem
        }
 
--------------------------------------------------------------------------------------------------
 
'i' has already Iterator set values and pointers/ memory locations assigned to it.  But when you remove an item from hashmap, the 'i' is not getting updated(i =set.Iterator() is not called inside while).  So when while(i.hasNext () ) is checking for datanode location, it finds that somebody else has already removed/modified the data in that location.  So it thinks that Some body(some other program) is accessing the memory(critical section) alloted to it.  Hence shouts ConcurrentModificationException