Страница 1 из 1

JBoss - опыт и впечатления

Добавлено: 20 апр 2007, 15:36
DeeJayC
Итак, более-менее разобрались с завалом. Написали мы прогу под JBoss AS 4.0.4, EJB3 в полный рост. Прога протестирована, супер всё работает.

В продукции сервер стал в позу прачки. Я перерыл весь свой код. Везде, где надо и не надо добавил synchronized ( у меня до сих пор все ConcurrentHashMap в synchronized запиханы )

Ошибка была найдена, но пришлось срочно мигрировать на 4.0.5.

Ошибка следующая - EJB3 в JBoss 4.0.4 - дырявый. И в многопроцессорных тачках наблюдается следующий эффект. Один из классов модифицирует HashMap. Можно создать ситуацию, при которой не synchronized HashMap модификация улетает в бесконечный цикл...

Вся эта херня стоила мне дикого количества нервов, и я начинаю сурово разочаровываться в java. Если в плюсах происходит что-то подобное, то происходит - правильно - ACCESS VIOLATION и или core dump. Это нормально, это правильно... Но если прога просто продолжает работать в бесконечном цикле - это БАЙДА!

Re: JBoss - опыт и впечатления

Добавлено: 20 апр 2007, 17:01
Absurd
Так все же дурь в кривой работе JVM в многопроцессорной среде из-за которой ConcurrentHashMap не обеспечивает атомарность как обещано, или в JBoss? Я не понял.

Re: JBoss - опыт и впечатления

Добавлено: 20 апр 2007, 17:15
DeeJayC
imho, и то, и другое. если бы hashmap вываливало ConcurrentModificationException - то и проблема бы не возникла.

Re: JBoss - опыт и впечатления

Добавлено: 20 апр 2007, 17:30
Absurd
DeeJayC писал(а):imho, и то, и другое. если бы hashmap вываливало ConcurrentModificationException - то и проблема бы не возникла.
А каким способом использовалась ConcurrentHashMap? Я так понял, она не позволяет себя изменять пока все треды не закончили ее читать, и позволяет себя изменять она только одному треду в один момент.

Re: JBoss - опыт и впечатления

Добавлено: 30 апр 2007, 12:24
DeeJayC
Да так же, как и hashMap. Дело не в том, что использовать. Можно же synchronized написать. Просто если сервер внутри содержит подобные ошибки - это бардак. Сказал бы покруче.

Re: JBoss - опыт и впечатления

Добавлено: 03 апр 2008, 16:34
evg
Пропало сообщение. Или это на проверке?

Re: JBoss - опыт и впечатления

Добавлено: 03 апр 2008, 16:52
evg
Дело не jboss, а в HIbernate (jboss использует их реализацию ejb). В jboss 4.0.5 своих граблей хватает с параллельной модификацией. Мы обошли это ввведением локов в своих кодах. Можно посмотреть здесь.
А что касается сравнения java и c++ ситуация известная: "Знакомая кривая короче незнакомой кривой"