Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[BUG] `/channels/<id>/messages/_search` fails intermittently on postgres after metadata change

Aberta
#458 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
java, postgresql
Domínio
api, backend, databases

Direção de pesquisa

Start from the channel message search path that hits /channels/<id>/messages/_search and the SQL against D_MCM1 (MESSAGE_ID / METADATA_ID). Trace how Postgres prepared statements or JDBC statement caches are created and reused after a metadata type change. Done when the same pid can search after the type change without HTTP 500 or cached plan must not change result type. No source files or tests are named in the issue.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

Repro:

  1. Deploy channel on pg mirthdb
  2. Make at least 5 calls to /channels/<id>/messages/_search to get the plan cached
  3. Change the type of the metadata
  4. Make the call to /channels/<id>/messages/_search again (repeatedly since it might be from a different pid)

Expected:

  • the call succeeds

Actual:

  • When the same pid is reused, the cache fails with HTTP 500
  • PG Server records this error:
2026-09-21 04:51:50.195 UTC [79] ERROR:  cached plan must not change result type
2026-09-21 04:51:50.195 UTC [79] STATEMENT:  SELECT *
                        FROM D_MCM1
                        WHERE MESSAGE_ID = $1
                        AND METADATA_ID = $2
Linguagem predominante
Java
Estrelas
227
Forks
81
Merge médio
3d 6h
PRs com merge (30d)
15

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de OpenIntegrationEngine/engine

Todas as issues de OpenIntegrationEngine/engine

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.