Estou vendo este novo erro nos logs ao fazer o upgrade para a 2026.9.0
Mensagem (2 cópias relatadas)
'hijack discourse_ai/embeddings/embeddings search ' ainda está em execução após 90 segundos no db default, este processo pode precisar ser reiniciado!
Backtrace
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:218:in 'block in ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:217:in 'Array#map'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:217:in 'ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:129:in 'ActiveSupport::BroadcastLogger#error'
/var/www/discourse/lib/scheduler/defer.rb:133:in 'block (2 levels) in Scheduler::Deferrable#do_work'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/message_bus-5.0.0/lib/message_bus/timer_thread.rb:117:in 'MessageBus::TimerThread#do_work'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/message_bus-5.0.0/lib/message_bus/timer_thread.rb:95:in 'block (2 levels) in MessageBus::TimerThread#queue'
Este é o config, com o embedding padrão do gemini OOB. Configurei isso anos atrás e não toquei nele desde então. Esta é a primeira vez que vejo algum erro relacionado a embeddings. Precisa de algo específico da configuração?
@RBoy Obrigado, a configuração parece padrão. Você pode confirmar se o HyDE está habilitado e compartilhar os logs do PostgreSQL ou as consultas ativas quando o aviso ocorre? Como isso começou após a atualização para a versão 2026.9.0, pode ser uma regressão ou uma consulta lenta ao banco de dados.
Sim, o HyDE está habilitado (e sempre esteve, pelo menos desde que eu me lembro). Me avise de onde posso obter os logs para você. Acabei de olhar nos logs de erro do Discourse, notei isso e o reportei.
Message (4 copies reported)
'hijack discourse_ai/embeddings/embeddings search ' is still running after 90 seconds on db default, this process may need to be restarted!
Backtrace
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:218:in 'block in ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:217:in 'Array#map'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:217:in 'ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3.1/lib/active_support/broadcast_logger.rb:129:in 'ActiveSupport::BroadcastLogger#error'
/var/www/discourse/lib/scheduler/defer.rb:133:in 'block (2 levels) in Scheduler::Deferrable#do_work'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/message_bus-5.0.0/lib/message_bus/timer_thread.rb:117:in 'MessageBus::TimerThread#do_work'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/message_bus-5.0.0/lib/message_bus/timer_thread.rb:95:in 'block (2 levels) in MessageBus::TimerThread#queue'
Me diz o que eu posso te passar pra ajudar a debugar isso melhor e de onde vem. Fica à vontade pra me chamar no MP se precisar de acesso direto pra discutir mais.
Para constar, quando vejo esse erro, ele sempre é precedido por um erro do Gemini dizendo que o modelo está sobrecarregado e para tentar novamente mais tarde.
Message (13 copies reported)
DiscourseAi::Completions::Endpoints::GeminiInteractions: status: 503 - body: {"error":{"message":"gemini-3.8-flash is currently experiencing high demand, spikes in demand are usually temporary. Please try again later.","code":"service_unavailable"}}
Backtrace
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:218:in 'block in ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:217:in 'Array#map'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:217:in 'ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:129:in 'ActiveSupport::BroadcastLogger#warn'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:756:in 'Kernel#public_send'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:756:in 'DiscourseAi::Completions::Endpoints::Base#failed_response_retry_status_and_delay'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:527:in 'block (3 levels) in DiscourseAi::Completions::Endpoints::Base#perform_completion_request_with_retries'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/net-http-0.10.0/lib/net/http.rb:2520:in 'block in Net::HTTP#transport_request'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/net-http-0.10.0/lib/net/http/response.rb:341:in 'Net::HTTPResponse#reading_body'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/net-http-0.10.0/lib/net/http.rb:2517:in 'Net::HTTP#transport_request'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/net-http-0.10.0/lib/net/http.rb:2463:in 'Net::HTTP#request'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/rack-mini-profiler-5.0.0/lib/patches/net_patches.rb:19:in 'block in Net::HTTP#request_with_mini_profiler'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/rack-mini-profiler-5.0.0/lib/mini_profiler/profiling_methods.rb:51:in 'Rack::MiniProfiler::ProfilingMethods#step'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/rack-mini-profiler-5.0.0/lib/patches/net_patches.rb:18:in 'Net::HTTP#request_with_mini_profiler'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:522:in 'block (2 levels) in DiscourseAi::Completions::Endpoints::Base#perform_completion_request_with_retries'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/net-http-0.10.0/lib/net/http.rb:1634:in 'Net::HTTP#start'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/net-http-0.10.0/lib/net/http.rb:1068:in 'Net::HTTP.start'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:503:in 'block in DiscourseAi::Completions::Endpoints::Base#perform_completion_request_with_retries'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:477:in 'Kernel#loop'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:477:in 'DiscourseAi::Completions::Endpoints::Base#perform_completion_request_with_retries'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:171:in 'DiscourseAi::Completions::Endpoints::Base#perform_completion!'
/var/www/discourse/plugins/discourse-ai/lib/completions/llm.rb:386:in 'DiscourseAi::Completions::Llm#generate'
/var/www/discourse/plugins/discourse-ai/lib/agents/bot.rb:366:in 'DiscourseAi::Agents::Bot#reply'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:196:in 'DiscourseAi::Embeddings::SemanticSearch#hypothetical_post_from'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:45:in 'block in DiscourseAi::Embeddings::SemanticSearch#hyde_embedding'
/var/www/discourse/lib/cache.rb:93:in 'Cache#fetch'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:45:in 'DiscourseAi::Embeddings::SemanticSearch#hyde_embedding'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:80:in 'DiscourseAi::Embeddings::SemanticSearch#search_for_topics'
/var/www/discourse/plugins/discourse-ai/app/controllers/discourse_ai/embeddings/embeddings_controller.rb:70:in 'block in DiscourseAi::Embeddings::EmbeddingsController#search'
/var/www/discourse/lib/hijack.rb:68:in 'BasicObject#instance_eval'
/var/www/discourse/lib/hijack.rb:68:in 'block (2 levels) in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/var/www/discourse/lib/hijack.rb:68:in 'block in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:911:in 'Concurrent::Promises::Event#callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:797:in 'Concurrent::Promises::AbstractEventFuture#call_callback'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:803:in 'Concurrent::Promises::AbstractEventFuture#call_callbacks'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:692:in 'Concurrent::Promises::AbstractEventFuture#resolve_with'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:1331:in 'Concurrent::Promises::ResolvableEvent#resolve'
/var/www/discourse/lib/scheduler/defer.rb:135:in 'block in Scheduler::Deferrable#do_work'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/rails_multisite-9.0.0/lib/rails_multisite/connection_management/null_instance.rb:54:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/rails_multisite-9.0.0/lib/rails_multisite/connection_management.rb:23:in 'RailsMultisite::ConnectionManagement.with_connection'
/var/www/discourse/lib/scheduler/defer.rb:130:in 'Scheduler::Deferrable#do_work'
/var/www/discourse/lib/scheduler/defer.rb:116:in 'block (2 levels) in Scheduler::Deferrable#start_thread'
Também estou vendo este erro, logo após os erros de sobrecarga do modelo. Acho que o Discourse precisa tratar a sobrecarga do modelo — o que é bastante comum em alguns planos.
Mensagem
Error ERROR: invalid input syntax for type halfvec: "[NULL]"
LINE 10: ...antize(embeddings)::bit(3072) <~> binary_quantize('[NULL]'::...
^
consultando embeddings para o modelo gemini
Rastreamento de pilha
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4.1/lib/active_support/broadcast_logger.rb:218:in 'block in ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4.1/lib/active_support/broadcast_logger.rb:217:in 'Array#map'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4.1/lib/active_support/broadcast_logger.rb:217:in 'ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4.1/lib/active_support/broadcast_logger.rb:129:in 'ActiveSupport::BroadcastLogger#error'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/schema.rb:188:in 'DiscourseAi::Embeddings::Schema#asymmetric_similarity_search'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:91:in 'DiscourseAi::Embeddings::SemanticSearch#search_for_topics'
/var/www/discourse/plugins/discourse-ai/app/controllers/discourse_ai/embeddings/embeddings_controller.rb:70:in 'block in DiscourseAi::Embeddings::EmbeddingsController#search'
/var/www/discourse/lib/hijack.rb:68:in 'BasicObject#instance_eval'
/var/www/discourse/lib/hijack.rb:68:in 'block (2 levels) in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/var/www/discourse/lib/hijack.rb:68:in 'block in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:911:in 'Concurrent::Promises::Event#callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:797:in 'Concurrent::Promises::AbstractEventFuture#call_callback'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:803:in 'Concurrent::Promises::AbstractEventFuture#call_callbacks'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:692:in 'Concurrent::Promises::AbstractEventFuture#resolve_with'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/promises.rb:1331:in 'Concurrent::Promises::ResolvableEvent#resolve'
/var/www/discourse/lib/scheduler/defer.rb:135:in 'block in Scheduler::Deferrable#do_work'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/rails_multisite-9.0.0/lib/rails_multisite/connection_management/null_instance.rb:54:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/rails_multisite-9.0.0/lib/rails_multisite/connection_management.rb:23:in 'RailsMultisite::ConnectionManagement.with_connection'
/var/www/discourse/lib/scheduler/defer.rb:130:in 'Scheduler::Deferrable#do_work'
/var/www/discourse/lib/scheduler/defer.rb:116:in 'block (2 levels) in Scheduler::Deferrable#start_thread'