powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / play+slick+postgres
11 сообщений из 11, страница 1 из 1
play+slick+postgres
    #39977875
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дикая дичь ) есть два эндпойнта - один кладет другой берет.
один положил сказал клиенту я в базу положил - вот айди.
второй идет следом с этим айди - а ему ой по этому айди в базе ниче нет ))
второй дернул еще раз через время - ой появилось.


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

ощущение что оно куда то в кэш записало и думает что записало. а на самом деле нет.

есть идеи? может просто шлик не делает флюш в базу? может какие то особенности постгри о которых я не знаю?

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

ну костылина.

постгрес гори огнем.
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977876
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже думаю прокладку вкарячивать в виде редиса. ну или очередь вообще городить. бред.
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977884
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

постгрес гори огнем.
да причем тут постгрес-то? ты либо пишешь в одну базу, а читаешь с реплики, либо отправляешь инфу до коммита транзакции
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977885
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
postgres - последнее место, где надо искать ошибку. Или какая-нибудь асинхронщина или транзакция заканчивается не тогда, когда ты думаешь
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977893
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT

постгрес гори огнем.
да причем тут постгрес-то? ты либо пишешь в одну базу, а читаешь с реплики, либо отправляешь инфу до коммита транзакции

отправляю данные точно после транзакции.
в слике db.run { ...doWhateverYouNeed } вот что в скобках то в транзакции. что после - то после транзакции. оно возвращает стопудово после транзакции. это только если сам слик не гонит.
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977894
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
postgres - последнее место, где надо искать ошибку. Или какая-нибудь асинхронщина или транзакция заканчивается не тогда, когда ты думаешь

она же не может по 10 секунд закрываться после того как айдишник отдан.

если я в том же самом потоке читаю - то оно находится. в параллельном - нет. вообще в другом приложении - нет.
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977895
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

если я в том же самом потоке читаю - то оно находится. в параллельном - нет. вообще в другом приложении - нет.
бгг, это какбы и есть что транзакцию кто-то не закоммитил
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977940
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
копаю дальше. кто-то обновляет запись )) вот она и не находится. смешно что во всем коде только один единственный метод это делает. я включил логгинг на этот метод. и вижу в логах инфы нет. а в базе запись обновлена. бред какой то. метод исполнился его результаты в базе, а в логах чисто. ))

пока копаю
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977942
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT, ты нас тут всех обманываешь.
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977944
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все же постгрес. убрал фром из апдейта и поехало как надо. почему то когда было много запросов оно обновляло одними данными две записи. просто запрос кривой. который стрелял в многопоточке. т.е. когда было создано в один момент времени одна характерная запись на всю бд )) оно и обновляло только ее. когда так вышло что 3 записи, оно обновляло все три. итого один поток отрабатывал как надо а два других запись не могли найти ура. прибить надо программиста. все как обычно. )
...
Рейтинг: 0 / 0
play+slick+postgres
    #39977949
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читай внимательно что я пишу. просто кривой запрос который делал апдейт не только той записи что предполагалось, а еще нескольких. когда в базе под условия запроса подпадала одна запись все было хорошо. когда стало подпадать 2-3-4 (несколько потоков создают несколько записей) -- код стал падать. вот и всё. вернее, стали падать те потоки которые не ожидали что их записи может поменять кто-то другой.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / play+slick+postgres
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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