Size: a a a

2021 January 15

ВШ

Виктор Шиян... in pro.jvm
Версия плагина 0.14.0
источник

VS

Vit Sh in pro.jvm
Виктор Шиян
Из файлов
Да там могут быть проблемы с вложенными схемами тогда их вроде как нужно директорией вкладывать с маской, а сервис разве схему не отдаёт?
источник

СХ

Сергей Хвостюк... in pro.jvm
Cargeh
кроме шуток, если у тебя простой круд (типа предлагаемого spring data rest) или приложение, где нет сложной бизнес логики с базой, то это нормально работает. Другое дело - повышается требования уровеня знания хибы

внешние ключи если что можно переименовывать и задавать самому, насколько я помню

а почему вдруг локально и на проде схема отлисаться будет? При условии, что девелопер делал ветку от той, которая задеплоена на инстансе
Потому что при удалении поля из сущности на проде останется столбец, а на чистой базе его уже не будет. Локальная база будет отличаться от прода.
источник

ВШ

Виктор Шиян... in pro.jvm
Vit Sh
Да там могут быть проблемы с вложенными схемами тогда их вроде как нужно директорией вкладывать с маской, а сервис разве схему не отдаёт?
Не с нуля пишу , в проекте реализовано уже было с файлами я продолжил. До этого е было проблем а тут что то пошло не так )))
источник

C

Cargeh in pro.jvm
Сергей Хвостюк
Потому что при удалении поля из сущности на проде останется столбец, а на чистой базе его уже не будет. Локальная база будет отличаться от прода.
логично
источник

C

Cargeh in pro.jvm
Сергей Хвостюк
Потому что при удалении поля из сущности на проде останется столбец, а на чистой базе его уже не будет. Локальная база будет отличаться от прода.
но конкретно данный кейс также актуален для ликвибейза, где девелоперы тестируют миграции, которые потом либо не заливаются в прод, либо заливаются в другом виде

поэтому базы на дев инстансах хорошо бы вообще перекатывать, тогда проблем не будет
источник

А

Антон in pro.jvm
запускаю для тестов монгу через testcontainers, локально все работает, а в дженкинсе падает по таймауту(если верить логам, то база запущена).  Единственное в логах появляется дамп потока https://pastebin.com/N54t8zzA
но я там ничего не понимаю :)
что может быть не так? до этого использовался Flapdoodle, запускающиеся на том же самом порту. так что не думаю, что в портах проблема. Проблема может быть с моей стороны или идти пинать опсов?
источник

AG

Alexey Genus in pro.jvm
Вот это
  java.lang.Thread.State: WAITING (on object monitor)
   at java.lang.Object.wait(Native Method)
   - waiting on <0x000000069a198da8> (a java.lang.UNIXProcess)
   at java.lang.Object.wait(Object.java:502)
   at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395)
   - locked <0x000000069a198da8> (a java.lang.UNIXProcess)
   at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.CommandLineUtils$1.call(CommandLineUtils.java:260)
говорит о том, что shade-plugin запустил какой-то отдельный процесс и ждёт его. Кажется, что до тестов дело вообще не доходит
источник

СХ

Сергей Хвостюк... in pro.jvm
Cargeh
но конкретно данный кейс также актуален для ликвибейза, где девелоперы тестируют миграции, которые потом либо не заливаются в прод, либо заливаются в другом виде

поэтому базы на дев инстансах хорошо бы вообще перекатывать, тогда проблем не будет
Сломанный дев на совести ломавших, я говорил скорее про развертывание на чистой базе.
источник

А

Антон in pro.jvm
Alexey Genus
Вот это
  java.lang.Thread.State: WAITING (on object monitor)
   at java.lang.Object.wait(Native Method)
   - waiting on <0x000000069a198da8> (a java.lang.UNIXProcess)
   at java.lang.Object.wait(Object.java:502)
   at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395)
   - locked <0x000000069a198da8> (a java.lang.UNIXProcess)
   at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.CommandLineUtils$1.call(CommandLineUtils.java:260)
говорит о том, что shade-plugin запустил какой-то отдельный процесс и ждёт его. Кажется, что до тестов дело вообще не доходит
но они запускаются. сначала пишут Cluster description not yet available. Waiting for 30000 ms before timing out, и потом падают. Локально такое сообщение тоже есть, но через секунду коннект уже появляется.
Кажется нашел возможную причину, testcontainers в дженкинсе пишет что "Docker host IP address is "какой-то другой ip", хотя локально у меня "Docker host IP address is localhost"
источник

AG

Alexey Genus in pro.jvm
Возможно агент в jenkins’е работает в docker’е, поэтому IP не localhost?
Может быть ещё, сборка просто не успевает скачать контейнер с mongo, поэтому падает (или интернета нет)
источник

AG

Alexey Genus in pro.jvm
Я и правда нагнал, нет никакого shade-плагина, я перепутал со словом shared
источник

VP

Vladimir Petrakovich in pro.jvm
Alexey Genus
Вот это
  java.lang.Thread.State: WAITING (on object monitor)
   at java.lang.Object.wait(Native Method)
   - waiting on <0x000000069a198da8> (a java.lang.UNIXProcess)
   at java.lang.Object.wait(Object.java:502)
   at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395)
   - locked <0x000000069a198da8> (a java.lang.UNIXProcess)
   at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.CommandLineUtils$1.call(CommandLineUtils.java:260)
говорит о том, что shade-plugin запустил какой-то отдельный процесс и ждёт его. Кажется, что до тестов дело вообще не доходит
Это не shade, это и есть тесты
источник

А

Антон in pro.jvm
Alexey Genus
Возможно агент в jenkins’е работает в docker’е, поэтому IP не localhost?
Может быть ещё, сборка просто не успевает скачать контейнер с mongo, поэтому падает (или интернета нет)
может быть и в докере, таких деталей я не знаю. В таком случае придется в рантайме узнавать этот ип и использовать его для доступа к бд?
но образ точно скачивается и запускается
источник

AG

Alexey Genus in pro.jvm
testcontainers умеет сама изворачиваться и находить IP docker’а. Возможно, просто не хватает каких-то разрешений, например, сетевых. Попробуйте включить info или debug-логи в testcontainers и включите логи контейнера mongo в общие логи тестов. Думаю, там попадётся что-то интересное
источник

А

Антон in pro.jvm
сейчас попробую
источник

NR

Nikolaj Rudakov in pro.jvm
всем привет. с наступившими!
спринг + томкат + флюкс + вебсокеты (подписки graphql). у томката по умолчанию минимально 10 потоков, максимально 200. больше 10 их не становится если клиентов веб-сокетов становится больше 10. часть подписок перестаёт приходить. в логах видно, что сообщение обрабатывается и отдаётся в сокет. но в логах браузера ничего не приходит.
почему так может происходить? как это можно настроить?
источник

HH

Human Human in pro.jvm
Alexandr Emelyanov
Вообще если делать по фен-шую, то должно быть 4 валидации.
1. Фронт
2. API (DTO,, которые валидирует spring mvc)
3. Entity, их провалидирует jpa перед отправкой в бд (те же аннотации javax validation). Проверка что не накосячил при маппинге и в бизнес логике
4. Констрейнты в бд
Жаль конечно, что типы не принято использовать в Java для валидации. Так бы был инстанс email и мы бы точно понимали, что он валиден.
источник

HH

Human Human in pro.jvm
Это из темы “parse, don’t validate”
источник

NG

Nikita Gryzlov in pro.jvm
Alexey Genus
Да нет, просто this - это и есть объект без обёртки, так что он кладётся в лист без проксирования. Можно пофиксить через
return List.of(getThis());
> Можно пофиксить через return List.of(getThis());

не отработало, кстати. все равно внутри листа оригинальный объект
источник