PG::StringDataRightTruncation (ERROR: valor demasiado largo para el tipo character varying(500) )

Cuando intento editar el primer mensaje de este tema, obtengo un código de error HTTP 500. Los registros de errores indican que se produjo este error fatal:

Mensaje (7 copias reportadas)

PG::StringDataRightTruncation (ERROR: el valor es demasiado largo para el tipo character varying(500)
)
app/models/topic_link.rb:240:in `safe_create_topic_link'
app/models/topic_link.rb:334:in `ensure_entry_for'
app/models/topic_link.rb:128:in `block (2 levels) in extract_from'
app/models/topic_link.rb:126:in `block in extract_from'
app/models/topic_link.rb:124:in `each'
app/models/topic_link.rb:124:in `extract_from'
lib/post_revisor.rb:224:in `revise!'
app/controllers/topics_controller.rb:379:in `update'
app/controllers/application_controller.rb:358:in `block in with_resolved_locale'
app/controllers/application_controller.rb:358:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'

Rastreo

rack-mini-profiler (2.3.1) lib/patches/db/pg.rb:113:in `exec'
rack-mini-profiler (2.3.1) lib/patches/db/pg.rb:113:in `async_exec'
mini_sql (1.0.1) lib/mini_sql/postgres/connection.rb:201:in `run'
mini_sql (1.0.1) lib/mini_sql/postgres/connection.rb:56:in `query_single'
app/models/topic_link.rb:240:in `safe_create_topic_link'
app/models/topic_link.rb:334:in `ensure_entry_for'
app/models/topic_link.rb:128:in `block (2 levels) in extract_from'
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'

Entorno

HTTP HOSTS: rembetiko.gr
2 Me gusta

Parece que tiene que ver con la URL, ya que supera los 500 caracteres.

Definitivamente deberíamos truncarla y, posiblemente, omitirla, en lugar de generar un error 500.

¿Cuál es la URL más larga en la publicación?

4 Me gusta

Gracias @sam,

la única URL que tiene el post es de una cita. La URL es esta:

https://rembetiko.gr/t/%CE%BC%CE%B1%CE%BA%CE%AC%CE%BC-%CE%B2%CF%85%CE%B6%CE%B1%CE%BD%CF%84%CE%B9%CE%BD%CE%BF%CE%AF-%CE%B4%CF%81%CF%8C%CE%BC%CE%BF%CE%B9/6034/30

2 Me gusta

Solo son 159 caracteres… veamos qué pasa aquí:

Μακάμ - Βυζαντινοί Δρόμοι - #30 από kwstas_ferris - Παραδοσιακή μουσική - Ρεμπέτικο Φόρουμ

Qué extraño… no logro reproducirlo con esa URL.

¿Quizás tenga algo que ver con ser la primera publicación?

2 Me gusta

Tiene que ver con el título del tema. Cuando edité el título del tema para hacerlo más corto, los errores desaparecieron. Al intentar restaurarlo a su longitud original, se mostró un error 500 mientras se actualizaba el título. Después del error 500, refresqué la página y el título se actualizó.

3 Me gusta

Lo investigué un poco más:

Esto ocurre al actualizar la publicación “vinculada” (la que está citada) para incluir un enlace a la cita. El enlace (debido al título largo) termina superando los 500 caracteres, lo que desencadena este problema.

El enlace real en la publicación vinculada nunca se actualiza si el título es muy largo.

4 Me gusta

@Osama ¿puedes añadir a tu lista investigar una truncación más indulgente en el núcleo? Idealmente, podrías reproducirlo en un caso de prueba.

Ciertamente no es urgente, cuando tengas oportunidad.

3 Me gusta

Lo siento por molestar con esto, pero ¿se abordó este error? Hoy encontré una segunda ocurrencia de esto en nuestro foro…

¡Gracias por todo su arduo trabajo! :smiley:

1 me gusta

Lamentablemente, estamos un poco ocupados; esto está en la lista de @Osama. Esperamos poder atenderlo en algún momento durante las próximas 4 semanas.

4 Me gusta

@chrispanag el problema ya está resuelto:

Como dijiste, el error ocurría al generar un enlace de retroceso desde la publicación vinculada hacia la publicación original cuando esta tenía un título largo.

3 Me gusta

¡Muchas gracias por tu solución! :smiley:

1 me gusta

Este tema se cerró automáticamente después de 2 días. Ya no se permiten nuevas respuestas.