منذ تحديث 3.1.0 الخاص بنا اليوم، لم تعد وظيفة البحث لدينا تعمل.
حدد فريق مسؤول النظام لدينا مشكلة وقدم لنا هذا السجل الذي يشير إلى أن هذا خطأ في التطبيق.
هل واجه أي شخص آخر هذه المشكلة وما هي الأدلة التي يمكن أن تساعدنا في حل المشكلة بأنفسنا؟ أرى أن البحث يعمل بشكل مثالي في Discourse Meta.
بدأ GET "/search?q=37%20%20realm&page=1" لـ [IP_REDACTED] في 2023-01-13 11:19:36 +0000
معالجة بواسطة SearchController#show بصيغة JSON
المعلمات: {"q"=>"37 realm", "page"=>"1"}
اكتمل خطأ الخادم الداخلي 500 في 4 مللي ثانية (ActiveRecord: 0.0 مللي ثانية | التخصيصات: 1555)
ArgumentError (عدد خاطئ من الوسائط (معطى 1، متوقع 0))
lib/search.rb:285:in `execute'
app/controllers/search_controller.rb:73:in `show'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/008-rack-cors.rb:24:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'
فشل في معالجة الاستثناء في تطبيق الوسيط للاستثناء: ArgumentError: عدد خاطئ من الوسائط (معطى 1، متوقع 0)
نرى متطلب “Postgres 13+” هنا. هل يمكن أن أكون مخطئًا في اقتراح فريقي بإضافة ملاحظة تفيد بأن Discourse يدعم إصدارات 13.X فقط؟ ربما، قد يكون الإشعار الصريح بأن إصدارات 14/15/… غير مدعومة مفيدًا أيضًا في حالات مثل حالتنا.
كما ترى، كان لدينا الإصدار 14 منذ ديسمبر على الأقل، وكان لدينا الإصدار المستقر من Discourse مثبتًا منذ أشهر. مؤخرًا، عدنا إلى إصدار tests-passed، وعمل البحث كما هو متوقع. اليوم، قمنا بالتحديث من 2.9.0.beta14 إلى 3.1.0.beta1 وتعطل الآن.
غير واضح، ولكن هذه كانت المشكلة في حالتي (نفس الأعراض - على الرغم من أنها مع PostgreSQL13)
أنا متأكد من أن ريتشارد سيقوم بإصلاحها قريبًا، وفي غضون ذلك، يعد الانقسام والتعديل البسيط حلاً.
الوضع الآمن يؤثر فقط على جانب العميل. هذا الخطأ يحدث على الخادم. للتحقق مما إذا كان الخطأ متعلقًا بمكون الإضافات الخاص بالردود الخاصة، ستحتاج إلى إلغاء تثبيت هذا المكون الإضافي بالكامل.
يبدو أن هذا الخطأ مرتبط بعدم توافق المكون الإضافي Ruby 3.1.