powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Блокировка потоков
25 сообщений из 114, страница 4 из 5
Блокировка потоков
    #40063680
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Андрей Панфилов
asv79,

а нет, с таким кодом (раз карты не шарятся) больше похоже что в e.getStep() приходит 0 и оно в бесконечный цикл уходит.

очень похоже на бесконечный цикл
залез в бд есть 4 записи с step=0
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063681
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
asv79,

да кто же знает какая там у тебя логика, написал 100.0 - оно вместо java.lang.ArithmeticException стало Infinity отдавать, а может там вообще отрицательные значения

думаю ты прав- все на это и указывает что система на какой то момент уходит в бесконечный цикл
в базе имеется 4 таких записи с нулевым step видимо я на них и напарывался - и появились они недавно,так как раньше просто не было такой проблемы
сейчас закинул тернарник если 0,то ставим 1,посмотрим что будет
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063688
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
А в отладчике нажать кнопку Стоп и увидеть что код "в бесконечном цикле" не работает что ли?
Ну или то что вызов myFunctionWhile() занимает 100 процентов времени
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063689
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>"в базе имеется 4 таких записи с нулевым step"
= как неожиданно то. Не утечка памяти. И не блокировка потоков.
А просто БД виновато.))
...
Если причина в этом, то в нормальных фирмах не может в бд появится ноль из за ограничений модели.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063702
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это к моему комментарию о том что надо искать простое объяснение бага.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063713
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
>"в базе имеется 4 таких записи с нулевым step"
= как неожиданно то. Не утечка памяти. И не блокировка потоков.
А просто БД виновато.))
...
Если причина в этом, то в нормальных фирмах не может в бд появится ноль из за ограничений модели.

это побочный эфект миграции из монго в постгрес.Тут надо задать вопрос деятелем ,отвечающим за монго данные,почему в монго в step лежит 0 ну и хороший пример того,что лучше итерацию - если вы используете какие то переменные для нее - проверить на 0.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063717
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79,
А в отладчике нажать кнопку Стоп и увидеть что код "в бесконечном цикле" не работает что ли?
Ну или то что вызов myFunctionWhile() занимает 100 процентов времени

про бесконечный цикл ты конечно загнул - сейчас то легко говорить - когда нашли причину.
Собственно ты там выше что нам пел как соловей- БАЗА БАЗА БАЗА
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063718
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Модель странная само собой.
Но почему ты полностью игнорируешь в топиках работу с бд, и влияние бд на проект, это вопрос лично к тебе.
Ведь второй уже топик где у тебя отвращение к субд.
Не было ответов на вопрос
- как вырубить из юз кейса влияние обоих бд
- как найти самую часто вызываемую или самую длительную функцию (зацикливание)
- почему не нажал кнопку Стоп выполнения в отладке
- почему в проекте нед логирования (мы не видели)
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063719
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
PetroNotC Sharp
asv79,
А в отладчике нажать кнопку Стоп и увидеть что код "в бесконечном цикле" не работает что ли?
Ну или то что вызов myFunctionWhile() занимает 100 процентов времени

про бесконечный цикл ты конечно загнул - сейчас то легко говорить - когда нашли причину.
Собственно ты там выше что нам пел как соловей- БАЗА БАЗА БАЗА
я тебя спрашивал чтобы ты дал самую тяжелую процедуру.
Ты и сейчас не знаешь как это сделать.
Готовь грабли на след раз
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063722
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут совершенно идиотский ответ ТС на просьбу дать самую тяжелую функцию.
22310274
https://ru.m.wikipedia.org/wiki/Профилирование_(информатика)
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063724
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79,
Модель странная само собой.
Но почему ты полностью игнорируешь в топиках работу с бд, и влияние бд на проект, это вопрос лично к тебе.
Ведь второй уже топик где у тебя отвращение к субд.
Не было ответов на вопрос
- как вырубить из юз кейса влияние обоих бд
- как найти самую часто вызываемую или самую длительную функцию (зацикливание)
- почему не нажал кнопку Стоп выполнения в отладке
- почему в проекте нед логирования (мы не видели)

про модель понятно - там все делалось на коленке
как найти самую частую и длительную функцию я не знаю - было бы неплохо если бы рассказал ( без сарказма)
логирования есть ,но минимальное
почему не нажал стоп? потому что я думал что проблема вообще в не этом - сначала думал на память,потом на дедлок и тд,но только не на замкнутый цикл - ну и собственно там настолько сложная вложенность - что я сомневаюсь смог бы я увидеть это
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063727
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
>как найти самую частую и длительную функцию я не знаю - было бы неплохо если бы рассказал ( без сарказма)
= я знаю как в шарпе и постгре. Тут не знаю. Профи подскажут.
>почему не нажал стоп? потому что я думал что проблема вообще в не этом
==)))))))))))))))
Я так и думал. Тебе некогда было. Ты за петро гонялся.
Я эту кнопу очень часто нажимаю. Как без них то.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063728
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
>настолько сложная вложенность - что я сомневаюсь смог бы я увидеть это
= показывай.... Вместе со стеком. Чем занят комп.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063730
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не верю что тут никто не профилировал java по тяжести методов вызовов.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063741
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF/2
Что касается профилировки в шарпе и посгри

Постгри
- выставить флаг log_min_duration_statement=3000
В логах бут все тяжелые запросы более 3сек

Шарп
- IDE - Analyze - Perfofmance Profiler - указать проект.
Получем ДЕРЕВООБРАЗНЫЙ вид всех вызываемых методов с тяжестью-временем.

Java
-?
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063757
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Постгри
- выставить флаг log_min_duration_statement=3000
В логах бут все тяжелые запросы более 3сек

А какой смысл вкладывается в duration? В SQL-Запросах есть фаза execution когда данные сортируются джойнятся
и группируются. И есть фаза fetch когда курсор уже начинает выдавать в сеть строки row-by-row.

У Стаса КМК - имеет место второй тип нагрузки когда execution очень быстрый. Но долго занимает fetch.
Он же там всю базу куда-то переливает.

Тоесть если фильтровать по log_min_duration_statement то там может быть ничего и не будет. Т.к. фаза исполнения
курсора (ожидание его до выдачи первой строки) будет быстрой.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063760
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Выше было Офф пополам.
Это значит вопрос не стаса а Профилирование "чем занят комп".
Вопрос как это сделать в java?))
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063763
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

А какой смысл вкладывается в duration? ... И есть фаза fetch когда курсор уже начинает выдавать в сеть строки row-by-row.

AFAIK постгрес не Oracle, он все одним куском шлет.

p.s. могу заблуждаться
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063765
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Не вникая в тонкости можно представить что в бесконечном цикле идет запрос select 1 from dual
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063767
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mayton

А какой смысл вкладывается в duration? ... И есть фаза fetch когда курсор уже начинает выдавать в сеть строки row-by-row.

AFAIK постгрес не Oracle, он все одним куском шлет.

p.s. могу заблуждаться

По разному. Там кажется зависит от опций ResultSet. У меня даже был баг когда jdbc драйвер PG
вызывал OOM Exception.
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063781
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаемся к профилированию тяжелых процедур.
Вариант1
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public static void main(String[] args) {
    List<Object> items = new ArrayList<>(1);
    try {
    while (true){
            items.add(new Object());
        }
    } catch (OutOfMemoryError e){
        System.out.println(e.getMessage());
    }
    assert items.size() > 0;
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        System.out.println(e.getMessage());
    }
}


Инструмент - JFR
https://www.baeldung.com/java-flight-recorder-monitoring
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063793
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думал, что проблема не там(с) - давно так не смеялся,до слез фактически. Фраза просто в меморис. Действительно - зачем дебажить, взглянул разок на код и понятно как он работает)
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063880
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Не верю что тут никто не профилировал java по тяжести методов вызовов.


в бою это нафиг не уперлось:
- для знакомого кода достаточно пары-тройки дампов потоков, чтобы "угадать" что там происходит
- для новичков какой-нить flamegraph подойдет
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063882
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
Что то неверится.
Чем плохо тут
...
Рейтинг: 0 / 0
Блокировка потоков
    #40063891
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Что то неверится.
Чем плохо тут


даже если повезет найти продуктовую среду, к которой удастся подключиться этой хренью (давно видели врубленный JMX-то?) через пачку VPN и джамп-хосты, то оно жаву завалит еще до отображения первых картинок, поэтому для прода основной инструмент - это дампы потоков и памяти (нужно только Operations научить их делать), а профайлер разве что для разработки подходит.
...
Рейтинг: 0 / 0
25 сообщений из 114, страница 4 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / Блокировка потоков
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]