Вы разорвали атомарность блокировки - одна блокировка на getDiffCount, вторая - на собственно коммит. Между ними может произойти всякое.