Size: a a a

2020 September 21

VP

Vladimir Petrakovich in pro.jvm
Tolegen Izbassar
слушайте, а в спринг-буте реально нельзя сделать отдельный тредпул для БД независимый от пула netty?
https://stackoverflow.com/questions/63991963/how-to-specify-thread-pool-for-hikaricp-datasource-in-spring-boot-2?noredirect=1#comment113157500_63991963
Не очень понятно, что за пул потоков для БД. Вы запросы в спринг буте как обрабатываете, в блокирующем стиле, без реактора?
источник

TI

Tolegen Izbassar in pro.jvm
Ну в БД - блокирующий драйвер. Хочется его вынести в отдельный пул, который будет unbounded. А для всего остального неблокирующего кода использовать фиксированный
источник

TI

Tolegen Izbassar in pro.jvm
Запросы от пользюка идут в eventLoop thread netty
источник

N

Nikolay in pro.jvm
Tolegen Izbassar
Ну в БД - блокирующий драйвер. Хочется его вынести в отдельный пул, который будет unbounded. А для всего остального неблокирующего кода использовать фиксированный
Это как. Количество запросов к базе одновременных неограниченное может быть ? ... Это странно.
источник

VP

Vladimir Petrakovich in pro.jvm
Tolegen Izbassar
Запросы от пользюка идут в eventLoop thread netty
То есть, видимо, реактор (Mono/Flux), так?
От этого зависит, как запускать часть кода в другом тредпуле.
Или вопрос в том, есть ли что-то на эту тему в spring boot из коробки?
источник

TI

Tolegen Izbassar in pro.jvm
Вопрос в том, как настроить datasource в spring-boot так, чтобы он исполнял запросы в тредпуле
источник

TI

Tolegen Izbassar in pro.jvm
Запускать часть кода руками в другом пуле - тут проблем нет.
источник

VT

Vadzim Tsitarenka in pro.jvm
есть проект на spring-boot. БД обновляется через liquibase. При сборке падает с ошибкой Caused by: liquibase.exception.LockException: Could not acquire change log lock.  Currently locked by ...название проекта. Соответственно обновление не накатывается.Обновление простое, увеличить varchar до 1000 символов
Подскажите можно ли как-то узнать по подробнее в чем может быть ошибка
источник

д

даня in pro.jvm
Vadzim Tsitarenka
есть проект на spring-boot. БД обновляется через liquibase. При сборке падает с ошибкой Caused by: liquibase.exception.LockException: Could not acquire change log lock.  Currently locked by ...название проекта. Соответственно обновление не накатывается.Обновление простое, увеличить varchar до 1000 символов
Подскажите можно ли как-то узнать по подробнее в чем может быть ошибка
в базе в таблице changelocklock измени столбец locked с 1 на 0 и запусти
источник

VT

Vadzim Tsitarenka in pro.jvm
даня
в базе в таблице changelocklock измени столбец locked с 1 на 0 и запусти
спасибо, я обычно удалял строку. Только что тоже нашел на просторах инета
источник

D

Dima in pro.jvm
Tolegen Izbassar
Ну в БД - блокирующий драйвер. Хочется его вынести в отдельный пул, который будет unbounded. А для всего остального неблокирующего кода использовать фиксированный
у хикари свой пул
источник

D

Dima in pro.jvm
у тебя свой blocking I/O пул будет
источник

D

Dima in pro.jvm
только все-таки сделай его ограниченным на всякий случай
источник

VP

Vladimir Petrakovich in pro.jvm
Tolegen Izbassar
Запускать часть кода руками в другом пуле - тут проблем нет.
Так все запросы к БД разве не выполняются вами вручную в своём коде?
Пул соединений точно не может взять и что-то исполнить на netty event loop сам по себе.
источник

R

Rushan in pro.jvm
Как у кого устроено дев окружение, например если есть несколько разных бд?
или же сервисная архитектура? Держите ли основные сервисы или бд локально, или все на тестовом контуре каком-нибудь?
Как думаете, имеет ли смысл поднимать minikub (на проде все в кубере) для иммитации продовского окружения?
источник

D

Dima in pro.jvm
Tolegen Izbassar
Вопрос в том, как настроить datasource в spring-boot так, чтобы он исполнял запросы в тредпуле
из любопытства посмотрел
источник

D

Dima in pro.jvm
в хикари можно передать свою ThreadFactory
источник

D

Dima in pro.jvm
пул явно не передается
источник

D

Dima in pro.jvm
источник

VP

Vladislav Plakhov in pro.jvm
Rushan
Как у кого устроено дев окружение, например если есть несколько разных бд?
или же сервисная архитектура? Держите ли основные сервисы или бд локально, или все на тестовом контуре каком-нибудь?
Как думаете, имеет ли смысл поднимать minikub (на проде все в кубере) для иммитации продовского окружения?
Хочешь как на проде - поднимай как на проде
Все зависит от желания вашего
источник