ВИДИМАЯ ЗАМКА !!!Создание аварийных потоков для неназначенных отложенных задач - PullRequest
0 голосов
/ 20 сентября 2018

В основном мой код потребляет некоторые файлы из какого-либо другого продукта и исправляет файл в одном потоке. После исправления 2000 файлов я получаю исключение

async.ThreadPoolAsynchronousRunner com.mchange.v2.async.ThreadPoolAsynchronousRunner $ DeadlockDetector @ 4dc94cb - ЯВЛЯЕТСЯ ОТКЛЮЧЕНИЕМ ЗАМЕРКИ !!!Создание аварийных потоков для неназначенных отложенных задач!FINEST | 1396/0 | Служба yajsw | 18-09-12 14: 10: 01 | [INFO] util.ServiceProcessOutputReceiver для идентификатора задания :: [3448] и taskId :: [00000165c894c1e97bf8db8900c000a800040039] FINEST | 1396/0 | Служба yajsw |18-09-12 14: 10: 36 | [INFO] FINEST | 1396/0 | Служба yajsw | 18-09-12 14: 11: 29 | [INFO] util.UploadFileUtil Загрузка файла завершена, удаление исправленных файлов из рабочей области.FINEST | 1396/0 | Сервис yajsw | 18-09-12 14: 12: 34 | [INFO] util.UploadFileUtil Удалено с возвращаемым значением :: true INFO | 1396/0 | Сервис yajsw | 18-09-12 14:17: 08 | Отсутствует эхо-запрос оболочки в течение тайм-аута 120000 ВНИМАНИЕ | 1396/0 | Сервис yajsw | 18-09-12 14: 19: 48 | Тайм-аут запроса между приложением java и программой-оболочкой.если это связано с перегрузкой сервера, рассмотрите возможность увеличения wrapper.ping.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 20: 59 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 21: 10 | перезапустить внутреннюю ИНФОРМАЦИЮ О ЗАПУСКЕ | wrapper | Service yajsw | 18-09-12 14: 21: 29 | процесс остановки с pid / timeout 1396 45000 INFO | 1396/0 | Service yajsw | 18-09-12 14: 24: 26 | закрытие сеанса контроллера INFO | wrapper | Service yajsw | 18-09-12 14: 33: 53 | Ошибка в Process.waitFor ОС, результат # 258 Тайм-аут операции ожидания.ИНФОРМАЦИЯ | Оболочка | Сервис yajsw | 18-09-12 14: 34: 08 | Процесс не остановился через 45000 сек.-> hard kill INFO | wrapper | Сервис yajsw | 18-09-12 14: 38: 04 | Код выхода процесса: 999 INFO | wrapper | Сервис yajsw | 18-09-12 14: 38: 51 | рабочий каталог C: \Программные файлы \ Baton Content Corrector \ база данных INFO | wrapper | Сервис yajsw | 18-09-12 14: 39: 12 | Предупреждение: возвращен WaitForInputIdle 258 INFO | wrapper | Сервис yajsw | 18-09-12 14: 39: 13 | запущенпроцесс с pid 3540 ПРЕДУПРЕЖДЕНИЕ | обертка | Сервис yajsw | 18-09-12 14: 39: 27 | истекло время ожидания запуска приложения Java.если это происходит из-за перегрузки сервера, рассмотрите возможность увеличения wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 39: 34 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 39: 34 | перезапустить внутреннюю БЕЗОПАСНУЮ ИНФОРМАЦИЮ | wrapper | Service yajsw | 18-09-12 14: 39: 34 | остановка процесса с pid / timeout 3540 45000 INFO | wrapper | Service yajsw | 18-09-12 14: 40: 22 | Ошибка в Process.waitFor ОС, результат # 258 Тайм-аут операции ожидания.ИНФОРМАЦИЯ | обертка | Сервис yajsw | 18-09-12 14: 40: 25 | Процесс не остановился через 45000 сек.-> hard kill INFO | wrapper | Сервис yajsw | 18-09-12 14: 41: 36 | Код выхода процесса: 999 INFO | wrapper | Сервис yajsw | 18-09-12 14: 42: 27 | рабочий каталог C: \Программные файлы \ Baton Content Corrector \ база данных INFO | wrapper | Сервис yajsw | 18-09-12 14: 42: 37 | Предупреждение: возвращен WaitForInputIdle 258 INFO | wrapper | Сервис yajsw | 18-09-12 14: 42: 38 | запущенпроцесс с pid 8064 ПРЕДУПРЕЖДЕНИЕ | обертка | Сервис yajsw | 18-09-12 14: 42: 57 | истекло время ожидания запуска приложения Java.если это связано с перегрузкой сервера, рассмотрите возможность увеличения wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 42: 58 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 42: 58 | перезапустить внутреннюю БЕЗОПАСНУЮ ИНФОРМАЦИЮ | wrapper | Service yajsw | 18-09-12 14: 42: 58 | остановка процесса с pid / timeout 8064 45000 INFO | wrapper | Service yajsw | 18-09-12 14: 43: 49 | Ошибка в Process.waitFor ОС, результат # 258 Время ожидания операции истекло.ИНФОРМАЦИЯ | Оболочка | Сервис yajsw | 18-09-12 14: 43: 52 | Процесс не остановился через 45000 сек.-> hard kill INFO | wrapper | Сервис yajsw | 18-09-12 14: 45: 37 | Код выхода процесса: 999 INFO | wrapper | Сервис yajsw | 18-09-12 14: 46: 19 | рабочий каталог C: \Программные файлы \ Baton Content Corrector \ база данных INFO | wrapper | Service yajsw | 18-09-12 14: 46: 52 | Предупреждение: возвращен WaitForInputIdle 258 INFO | wrapper | Service yajsw | 18-09-12 14: 46: 53 | запущенпроцесс с пид 7276ВНИМАНИЕ | обертка | Служба yajsw | 18-09-12 14: 47: 07 | истекло время ожидания запуска приложения Java.если это вызвано перегрузкой сервера, рассмотрите возможность увеличения wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 47: 09 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 47: 09 | перезапустить внутреннюю ИНФОРМАЦИЮ О ЗАПУСКЕ | wrapper | Service yajsw | 18-09-12 14: 47: 09 | остановить процесс с помощью pid / timeout 7276 45000 INFO | wrapper | Service yajsw | 18-09-12 14: 47: 54 | Ошибка в Process.waitFor ОС, результат # 258 Тайм-аут операции ожидания.ИНФОРМАЦИЯ | Оболочка | Сервис yajsw | 18-09-12 14: 47: 54 | Процесс не остановился через 45000 сек.-> hard kill INFO | wrapper | Сервис yajsw | 18-09-12 14: 48: 39 | Код выхода процесса: 999 INFO | wrapper | Сервис yajsw | 18-09-12 14: 49: 01 | рабочий каталог C: \Программные файлы \ Baton Content Corrector \ база данных INFO | wrapper | Сервис yajsw | 18-09-12 14: 49: 06 | Предупреждение: возвращен WaitForInputIdle 258 INFO | wrapper | Сервис yajsw | 18-09-12 14: 49: 07 | запущенпроцесс с pid 2632 ПРЕДУПРЕЖДЕНИЕ | обертка | Сервис yajsw | 18-09-12 14: 49: 33 | истекло время ожидания запуска приложения Java.если это вызвано перегрузкой сервера, рассмотрите возможность увеличения wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 49: 49 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 49: 49 | перезапустить внутреннюю ИНФОРМАЦИЮ О ЗАПУСКЕ | wrapper | Service yajsw | 18-09-12 14: 49: 49 | остановить процесс с помощью pid / timeout 2632 45000 INFO | wrapper | Service yajsw | 18-09-12 14: 50: 34 | Ошибка в Process.waitFor ОС, результат # 258 Тайм-аут операции ожидания.ИНФОРМАЦИЯ | обертка | Сервис yajsw | 18-09-12 14: 50: 34 | Процесс не остановился через 45000 сек.-> hard kill INFO | wrapper | Сервис yajsw | 18-09-12 14: 51: 24 | Код выхода процесса: 999 INFO | wrapper | Сервис yajsw | 18-09-12 14: 51: 56 | рабочий каталог C: \Программные файлы \ Baton Content Corrector \ база данных INFO | wrapper | Сервис yajsw | 18-09-12 14: 52: 07 | Предупреждение: возвращен WaitForInputIdle 258 INFO | wrapper | Сервис yajsw | 18-09-12 14: 52: 10 | запущенпроцесс с pid 5852 ПРЕДУПРЕЖДЕНИЕ | wrapper | Service yajsw | 18-09-12 14: 52: 27 | Время ожидания запуска Java-приложения истекло.если это происходит из-за перегрузки сервера, рассмотрите возможность увеличения wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 52: 27 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 52: 27 | перезапустить внутреннюю ИНФОРМАЦИЮ О ЗАПУСКЕ | wrapper | Service yajsw | 18-09-12 14: 52: 27 | процесс остановки с pid / timeout 5852 45000 INFO | wrapper | Service yajsw | 18-09-12 14: 53: 12 | Ошибка в Process.waitFor ОС, результат # 258 Тайм-аут операции ожидания.ИНФОРМАЦИЯ | Оболочка | Сервис yajsw | 18-09-12 14: 53: 13 | Процесс не остановился через 45000 сек.-> hard kill INFO | wrapper | Сервис yajsw | 18-09-12 14: 54: 42 | Код выхода процесса: 999 INFO | wrapper | Сервис yajsw | 18-09-12 14: 55: 50 | рабочий каталог C: \Программные файлы \ Baton Content Corrector \ база данных INFO | wrapper | Service yajsw | 18-09-12 14: 56: 10 | Предупреждение: возвращен WaitForInputIdle 258 INFO | wrapper | Service yajsw | 18-09-12 14: 56: 11 | стартовалпроцесс с pid 6448 ПРЕДУПРЕЖДЕНИЕ | обертка | Сервис yajsw | 18-09-12 14: 56: 21 | истекло время ожидания запуска приложения Java.если это происходит из-за перегрузки сервера, рассмотрите возможность увеличения wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 56: 22 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 56: 22 | перезапустить внутреннюю ИНФОРМАЦИЮ О ЗАПУСКЕ | wrapper | Service yajsw | 18-09-12 14: 56: 22 | процесс остановки с pid / timeout 6448 45000 INFO | wrapper | Service yajsw | 18-09-12 14: 57: 07 | Ошибка в Process.waitFor ОС, результат # 258 Время ожидания операции истекло.ИНФОРМАЦИЯ | Оболочка | Сервис yajsw | 18-09-12 14: 57: 07 | Процесс не остановился через 45000 сек.-> hard kill INFO | wrapper | Сервис yajsw | 18-09-12 14: 58: 00 | Код выхода процесса: 999 INFO | wrapper | Сервис yajsw | 18-09-12 14: 58: 20 | рабочий каталог C: \Программные файлы \ Baton Content Corrector \ база данных INFO | wrapper | Service yajsw | 18-09-12 14: 58: 23 | Предупреждение: возвращен WaitForInputIdle 258 INFO | wrapper | Service yajsw | 18-09-12 14: 58: 23 | запущенпроцесс с пидом 5496ПРЕДУПРЕЖДЕНИЕ | обертка | Сервис yajsw | 18-09-12 14: 58: 51 | Время ожидания запуска приложения Java истекло.если это связано с перегрузкой сервера, рассмотрите возможность увеличения wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14: 58: 51 | перезапустите процесс из-за правила кода выхода по умолчанию INFO | wrapper | Service yajsw | 18-09-12 14: 58: 51 | перезапустить внутреннюю ИНФОРМАЦИЮ О ЗАПУСКЕ | wrapper | Service yajsw | 18-09-12 14: 58: 51 | процесс остановки с pid / timeout 5496 45000 INFO | 5496/7 | Service yajsw | 18-09-12 14: 59: 01 | java.io.IOException: дескриптор недействителен INFO | 5496/7 | Сервис yajsw | 18-09-12 14: 59: 01 |at java.io.FileInputStream.readBytes (собственный метод) INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 01 |at java.io.FileInputStream.read (Неизвестный источник) INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 01 |at java.io.BufferedInputStream.fill (Неизвестный источник) INFO | 5496/7 | Сервис yajsw | 18-09-12 14: 59: 01 |at java.io.BufferedInputStream.read (Неизвестный источник) INFO | 5496/7 | Сервис yajsw | 18-09-12 14: 59: 01 |at org.rzo.yajsw.io.TeeInputStream $ Source.run (TeeInputStream.java:221) INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 01 |at java.util.concurrent.ThreadPoolExecutor.runWorker (неизвестный источник) INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 01 |at java.util.concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник) INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 01 |at java.lang.Thread.run (Неизвестный источник) INFO | 5496/7 | Сервис yajsw | 18-09-12 14: 59: 07 | [INFO] StandardFileSystemManager - Использование «C: \ Windows \ TEMP \ vfs_cache» в качестве временногохранилище файлов.INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 10 | Невозможно классифицировать GarbageCollectorMXBean [G1 Young Generation] ИНФО | 5496/7 | Служба yajsw | 18-09-12 14: 59: 10 | Невозможноклассифицировать GarbageCollectorMXBean [G1 Old Generation] INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 10 | !!ВНИМАНИЕ !!Windows JDK7 должен установить -Djava.net.preferIPv4Stack = true (см. Ошибку Java 7179799) INFO | 5496/7 | Служба yajsw | 18-09-12 14: 59: 12 | Менеджер оболочки получил команду остановки INFO | Оболочка | Служба yajsw |18-09-12 14: 59: 13 | Контроллер закрывает сеанс INFO | Оболочка | Сервис yajsw | 18-09-12 14: 59: 13 | Код завершения процесса: 0 INFO | Оболочка | Сервис yajsw | 18-09-12 14: 59: 33 | рабочий каталог C: \ Program Files \ Baton Content Corrector \ база данных INFO | wrapper | Сервис yajsw | 18-09-12 14: 59: 36 | Предупреждение: WaitForInputIdle вернул 258 INFO | wrapper | Сервис yajsw | 18-09-12 14: 59: 36 | запущен процесс с pid 8728 INFO | 8728/8 | Service yajsw | 18-09-12 14: 59: 36 | java.io.IOException: недопустимый дескриптор INFO | 8728/8 |Служба yajsw | 18-09-12 14: 59: 36 | !!ВНИМАНИЕ !!Windows JDK7 должен установить -Djava.net.preferIPv4Stack = true (см. Ошибку Java 7179799) INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 |at java.io.FileInputStream.readBytes (собственный метод) INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 | Менеджер оболочки получил команду остановки INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 |at java.io.FileInputStream.read (Неизвестный источник) INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 |at java.io.BufferedInputStream.fill (Неизвестный источник) INFO | 8728/8 | Сервис yajsw | 18-09-12 14: 59: 36 |at java.io.BufferedInputStream.read (Неизвестный источник) INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 |at org.rzo.yajsw.io.TeeInputStream $ Source.run (TeeInputStream.java:221) INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 |at java.util.concurrent.ThreadPoolExecutor.runWorker (неизвестный источник) INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 |at java.util.concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник) INFO | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 |at java.lang.Thread.run (Неизвестный источник) INFO | 8728/8 | Сервис yajsw | 18-09-12 14: 59: 36 | [INFO] StandardFileSystemManager - Использование «C: \ Windows \ TEMP \ vfs_cache» в качестве временногохранилище файлов.ИНФОРМАЦИЯ | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 | Невозможно классифицировать GarbageCollectorMXBean [G1 Young Generation] ИНФО | 8728/8 | Служба yajsw | 18-09-12 14: 59: 36 | Невозможноклассифицировать GarbageCollectorMXBean [G1 Old Generation] INFO | 8728/8 | Сервис yajsw | 18-09-12 14: 59: 36 | 2018-09-12 14: 59: 35.518: INFO: oejs.Server: jetty-7.xy-snapshotINFO | wrapper | Сервис yajsw | 18-09-12 14: 59: 36 | перезапустить процесс из-за правила кода выхода по умолчанию INFO | wrapper | Сервис yajsw | 18-09-12 14: 59: 36 | отключить оболочку из-за кода выходаправило INFO | wrapper | Сервис yajsw | 18-09-12 14: 59: 36 | процесс не находится в состоянии RUNNING -> Задержка остановки INFO | wrapper | Сервис yajsw | 18-09-12 14: 59: 36 | отключение оболочки из-заправило кода выхода INFO | Оболочка | Служба yajsw | 18-09-12 14: 59: 36 | Вызов onStop INFO | Оболочка | Служба yajsw | 18-09-12 14: 59: 36 | Останов службы Win - тайм-аут: 30000 ИНФО |wrapper | Service yajsw | 18-09-12 14: 59: 36 | Win service wrapper.control -> остановка приложения INFO | wrapper | Service yajsw | 18-09-12 14: 59: 36 | процесс не в состоянии RUNNING ->Задержка остановки INFO | Оболочка | Служба yajsw | 18-09-12 14: 59: 36 | Выиграть остановку службы - после выключения INFO | Оболочка | Служба yajsw | 18-09-12 14: 59: 36 | Выиграть остановку службы - до уведомленияИНФОРМАЦИЯ | обертка | Сервис yajsw | 18-09-12 14: 59: 36 | Сервис Win прекращен

Я прочитал много статей, и многие из них предложили сохранить hibernate.c3p0.idle_test_period меньше тайм-аута c3p0, что также имеет смысл.

Также я полагаю, что тупик может быть из-за кэширования операторов, для которых установлено значение 50, а сохранение их в 0 может разрешить ситуацию тупиковой ситуации

Вот моя конфигурация c3p0

<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
        <property name="hibernate.c3p0.min_size">10</property>
        <property name="hibernate.c3p0.max_size">75</property>
        <property name="hibernate.c3p0.timeout">300</property>
        <property name="hibernate.c3p0.max_statements">50</property>
        <property name="hibernate.c3p0.idle_test_period">3000</property>

Пожалуйста, руководство !!

...