10 publicaciones se fusionaron en un tema existente: Errores 502 al dividir un tema, mover o renombrar categorías
Este molesto error sigue aquí. ¿Podrías darme instrucciones para resolver el problema?
Desafortunadamente, seguimos encontrándonos con este problema de vez en cuando. Logré recopilar algunos datos sobre un problema reciente en el que falló el movimiento de 27 publicaciones a un tema existente (con 2013 publicaciones):
Beginning move at 2021-05-25 20:54:57 +0000
create_temp_table
0.000134 0.000027 0.000161 ( 0.002810)
delete_invalid_post_timings
0.000317 0.000065 0.000382 ( 0.306869)
move_incoming_emails
0.000056 0.000006 0.000062 ( 0.000478)
move_notifications
0.000074 0.000008 0.000082 ( 0.005584)
update_reply_counts
0.000088 0.000010 0.000098 ( 0.001058)
update_quotes
0.000079 0.000008 0.000087 ( 0.002426)
move_first_post_replies
0.000071 0.000008 0.000079 ( 0.000695)
delete_post_replies
0.000062 0.000006 0.000068 ( 0.000834)
copy_first_post_timings
0.000064 0.000007 0.000071 ( 0.002660)
move_post_timings
0.000082 0.000009 0.000091 ( 0.008195)
copy_topic_users
0.000398 0.000043 0.000441 ( 0.043640)
move_each_post
4.345220 0.132652 4.477872 ( 3.447047)
create_moderator_post_in_original_topic
0.163962 0.000253 0.164215 ( 0.207101)
update_statistics
0.217266 0.051660 0.268926 ( 45.258070)
update_user_actions
0.000934 0.000101 0.001035 ( 0.178894)
update_last_post_stats
0.001589 0.000171 0.001760 ( 0.003156)
update_upload_security_status
0.000030 0.000003 0.000033 ( 0.000034)
update_bookmarks
0.000492 0.000054 0.000546 ( 0.003832)
Finished move at 2021-05-25 20:55:47 +0000
La mayoría de los métodos terminan muy rápido, pero update_statistics tardó más de 45 segundos en este caso. Todo ese tiempo se gastó en la siguiente llamada a método:
¿Tal vez podríamos diferir el trabajo de update_statistics a Sidekiq?
Sí, probablemente. Pero voy a analizar en profundidad lo complicado que sería mover todo el proceso a un trabajo de Sidekiq y hacer que la interfaz de usuario espere hasta que termine. Estamos jugando a “golpea al topo” al ir moviendo siempre fragmentos a trabajos.
¡Gracias por tu arduo trabajo!
También obtengo este error 502 al intentar fusionar temas. No todas las veces, pero con mucha frecuencia.
Lo hago cuando alguien ha iniciado un tema sobre un asunto que ya existe, así que normalmente solo intento mover un número muy pequeño de publicaciones (no más de cinco).
No he leído todo este tema, pero entiendo que se trata de un problema conocido en el que están trabajando y que no hay nada que yo pueda hacer por mi cuenta.
Yo también estoy experimentando este problema en nuestro foro. Varios de nosotros no podemos editar y/o crear nuevos mensajes. Estamos recibiendo el siguiente mensaje de error:
También estamos experimentando errores 502 al mover publicaciones.
Solía ocurrir solo ocasionalmente e insistir generalmente funcionaba. Pero ahora tenemos un caso en el que falla constantemente al intentar mover una sola publicación a un tema largo (2k publicaciones), agotando el tiempo de espera después de ~30 segundos.
El servidor no está particularmente ocupado cuando esto sucede y se las arregla bien con el resto de la actividad. Intentar mover la publicación cuando la actividad es baja da el mismo resultado. No hay diferencia con el modo seguro.
Aparte de mejorar la instancia (¿suponiendo que esa sea una solución para esto?), ¿hay algo más que podamos intentar? Estaré encantado de proporcionar más información si es útil. Vale la pena mencionar que estoy en la última versión estable; consideraría cambiar a la última beta si hay cambios recientes para esto.
Durante el fin de semana (nuestro período más lento) triplicamos temporalmente nuestro almacenamiento máximo de IOPS y luego también triplicamos el rendimiento máximo y aún así no podemos mover una sola publicación al tema existente con 2k de publicaciones.
Dejar una nueva respuesta en el tema en sí no parece ser un problema, así que supongo que debe haber mucho más trabajo adicional involucrado cuando la publicación se mueve desde algún lugar, en lugar de crearse de nuevo. Si no se puede hacer en menos de 30 segundos, ¿tal vez debería hacerse en un trabajo en segundo plano en lugar de fallar con un mensaje de ‘error 502’?
Sí, me pasa lo mismo con temas antiguos y largos de más de 3000 publicaciones.
Sigue siendo un dolor.
Hola
Tengo un problema similar en el que no puedo fusionar un tema con todas sus respuestas en otra publicación de tema. El tema al que estoy fusionando tiene 23 publicaciones y el tema que estoy moviendo solo tiene 4 publicaciones.
|Registro de errores
Message (4 copies reported)
Failed to process hijacked response correctly : PG::UniqueViolation : ERROR: duplicate key value violates unique constraint "post_timings_unique"
DETAIL: Key (topic_id, post_number, user_id)=(62975, 19, 538) already exists.
Backtrace
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-3.3.1/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-3.3.1/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:217:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/lib/mini_sql_multisite_connection.rb:109:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:196:in `exec'
/var/www/discourse/app/models/post_mover.rb:517:in `move_post_timings'
/var/www/discourse/app/models/post_mover.rb:142:in `handle_moved_references'
/var/www/discourse/app/models/post_mover.rb:112:in `move_posts_to'
/var/www/discourse/app/models/post_mover.rb:35:in `block in to_topic'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:415:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/app/models/post_mover.rb:35:in `to_topic'
/var/www/discourse/app/models/topic.rb:1308:in `move_posts'
/var/www/discourse/app/controllers/topics_controller.rb:883:in `block in merge_topic'
/var/www/discourse/lib/hijack.rb:64:in `instance_eval'
/var/www/discourse/lib/hijack.rb:64:in `block in hijack'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/promises.rb:911:in `callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/promises.rb:797:in `call_callback'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/promises.rb:803:in `call_callbacks'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/promises.rb:692:in `resolve_with'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/promises.rb:1325:in `resolve'
/var/www/discourse/lib/scheduler/defer.rb:125:in `block in do_work'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:119:in `do_work'
/var/www/discourse/lib/scheduler/defer.rb:105:in `block (2 levels) in start_thread'
nota: Noté que el error dice ya existe pero en realidad son temas separados. No sé si está relacionado, pero antes de que apareciera este error, moví varios temas y sus publicaciones al tema con las 23 publicaciones en las que estoy intentando fusionar este (como hice con los otros temas).
¡Gracias!
¿Actualizaste en los últimos días? Hubo una corrección reciente relacionada con la reubicación de publicaciones


