У проектов Apache возникли проблемы с работой в Java 7

В анонсе релиза Java 7, компания Oracle гарантировала сохранение полной обратной совместимости со всеми ранее выпущенными продуктами. На деле все оказалось не так радужно. Разработчики Java-проектов Apache Lucene и Apache Solr уведомили пользователей о возникновении ряда серьезных проблем, при попытке запуска кода под управлением Java 7. При этом наблюдаются не только крахи в процессе работы, но и более серьезные проблемы, такие как повреждения содержимого поисковых индексов.

После анализа ситуации, разработчики пришли к выводу, что проблемы возникли из-за некорректной работы некоторых режимов оптимизации в новой версии компилятора в виртуальной машине Hotspot. Проблемы могут проявляться не только в виде крахов, но и приводить к некорректным результатам вычислений. Разработчики посоветовали пользователям отложить переход на использование Java 7 для запуска кода проектов Apache, как минимум до первого корректирующего обновления Java 7 (jdk7 update 2).

В качестве временного обходного пути предлагается отключить оптимизацию циклов, используя опцию "-XX:-UseLoopPredicat". Пользователи Java6 также подвержены указанным проблемам, в случае если они используют в JVM неактивные по умолчанию опции "-XX:+OptimizeStringConcat" и "-XX:+AggressiveOpts". Интересно, что об ошибках было известно за 7 дней до выхода релиза, но компания Oracle выпустила финальную версию Java 7 точно в срок, отложив на потом устранение серьезных недоработок.

©  OpenNet