zsero
(Zsolt Ero)
3. Dezember 2019 um 11:06
1
I have a long running system, never had any problems before. I always upgrade using a full rebuild, never using the built-in upgrade.
I recently did an apt-get upgrade, docker upgrade to 19.03.5 and tried a rebuild but it’s now broken. System is Ubuntu 16.04.6.
Here is my rebuild snippet:
cd /var/discourse || exit
sudo git pull
sudo docker stop maphub_forum
sudo docker rm maphub_forum
sudo ./launcher rebuild maphub_forum
Here is the full log:
diag.txt (518.9 KB)
zsero
(Zsolt Ero)
3. Dezember 2019 um 11:14
2
I downgraded to Docker 18.09.9 and the problem is the same.
gerhard
(Gerhard Schlager)
3. Dezember 2019 um 11:49
3
@j.jaffeux Should Discourse.redis be backported to stable and beta? I guess that would be easier than adding code for backwards compatibility to multiple plugins.
j.jaffeux
(Joffrey Jaffeux)
3. Dezember 2019 um 11:52
4
Yes I was hoping it wouldnt cause too much issues , but yes probably. It’s multiple commits though.
j.jaffeux
(Joffrey Jaffeux)
3. Dezember 2019 um 13:30
5
I backported to beta and stable, let me know if you encounter any issue.
hosna
(hosna)
3. Dezember 2019 um 15:30
7
@j.jaffeux Now I cant update from dashboard:
/var/www/discourse/plugins/docker_manager/lib/docker_manager/git_repo.rb:23:in `upgrade_version'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/git_repo.rb:27:in `upgrading?'
/var/www/discourse/plugins/docker_manager/app/controllers/docker_manager/admin_controller.rb:42:in `block in repos'
/var/www/discourse/plugins/docker_manager/app/controllers/docker_manager/admin_controller.rb:29:in `map!'
/var/www/discourse/plugins/docker_manager/app/controllers/docker_manager/admin_controller.rb:29:in `repos'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/base.rb:196:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications.rb:180:in `block in instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications.rb:180:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/base.rb:136:in `process'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.1/lib/action_view/rendering.rb:39:in `process'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.3/lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal.rb:191:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal.rb:252:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/route_set.rb:51:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/route_set.rb:33:in `serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/mapper.rb:48:in `serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/journey/router.rb:49:in `block in serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/journey/router.rb:32:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/journey/router.rb:32:in `serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/route_set.rb:837:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/engine.rb:526:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `public_send'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `method_missing'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/mapper.rb:48:in `serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/journey/router.rb:49:in `block in serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/journey/router.rb:32:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/journey/router.rb:32:in `serve'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/routing/route_set.rb:837:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.7/lib/rack/protection/frame_options.rb:31:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/conditional_get.rb:25:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/head.rb:12:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:274:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:232:in `context'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:226:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/cookies.rb:648:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:101:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/logster-2.4.1/lib/logster/middleware/reporter.rb:43:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/rack/logger.rb:38:in `call_app'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/rack/logger.rb:28:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:18:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:31:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:17:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/sendfile.rb:111:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_dispatch/middleware/host_authorization.rb:77:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.3/lib/mini_profiler/profiler.rb:296:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/message_bus-2.2.3/lib/message_bus/rack/middleware.rb:57:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:176:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/engine.rb:526:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `public_send'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `method_missing'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/urlmap.rb:68:in `block in call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/urlmap.rb:53:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.7/lib/rack/urlmap.rb:53:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:605:in `process_client'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:700:in `worker_loop'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:548:in `spawn_missing_workers'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:144:in `start'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/unicorn-5.5.1/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'
zsero
(Zsolt Ero)
3. Dezember 2019 um 17:20
9
Thanks, it works perfect now!
hosna
(hosna)
3. Dezember 2019 um 20:24
10
Is this problem even related to the new update?
gerhard
(Gerhard Schlager)
3. Dezember 2019 um 21:15
11
You need to rebuild the container.
cd /var/discourse
git pull
./launcher rebuild app
I’m quite sure the latest changes break docker_manager as it gets updated before Discourse and thus doesn’t find Discourse.redis.
pfaffman
(Jay Pfaffman)
3. Dezember 2019 um 21:23
12
But git pull; ./launcher rebuild app does the trick, right?
I have a set of clients that I do upgrades for when a new container image is released . I usually do those upgrades soon after (1) a new container is required and (2) a new beta has been released.
I know that your ability to reliably predict the future is somewhat limited, but do you anticipate that there will be a new beta release soon?
j.jaffeux
(Joffrey Jaffeux)
5. Dezember 2019 um 10:45
13
We expect to have a beta release today or beginning next week
zsero
(Zsolt Ero)
26. Dezember 2019 um 00:44
14
Es ist wieder abgestürzt. Vollständiges Protokoll nach git pull + Neuaufbau:
discourse.txt (24,4 KB)
Falco
(Falco)
26. Dezember 2019 um 02:00
15
Der Branch “stable” ist derzeit defekt.
zsero
(Zsolt Ero)
26. Dezember 2019 um 21:29
16
Kurze Zusammenfassung: „tests-passed
pfaffman
(Jay Pfaffman)
26. Dezember 2019 um 22:35
17
Wie sich herausstellt, ist tests-passed die Version, die discourse.org auf ihren Servern einsetzt. Sie ist besser getestet und zuverlässiger als stable. Wenn Sie bei tests-passed bleiben, haben Sie weniger Probleme. Wenn Sie stable betreiben möchten, müssen Sie verstehen, dass dies mehr Aufwand erfordert als tests-passed, beispielsweise das Einrichten eines Staging-Servers, um Upgrades vor dem Einsatz in der Produktion zu testen.
zsero
(Zsolt Ero)
26. Dezember 2019 um 23:05
18
Ich möchte einfach etwas, das stabil und zuverlässig ist und auf
tests-passed basiert. Das ist das, was discourse.org auf ihren Servern einsetzt, und es ist besser getestet und zuverlässiger als stable.
Ich bleibe dabei. Zwei Dinge sind immer noch sehr seltsam:
Warum heißt das dann test-passed und nicht stable, wenn es tatsächlich stabil ist? „stable
RGJ
(Richard - Communiteq)
26. Dezember 2019 um 23:06
19
pfaffman:
Es ist besser getestet und zuverlässiger als stable. Wenn du bei tests-passed bleibst, wirst du weniger Probleme haben. Wenn du stable verwenden möchtest, musst du verstehen, dass dies mehr Aufwand erfordert als tests-passed, beispielsweise das Betreiben eines Staging-Servers, um Updates zu testen, bevor du sie in der Produktion ausführst.
Mit aller gebotenen Achtung, aber ich stimme dem nicht zu. Stable ist sehr zuverlässig und nun mal stabil. Rubygems hat eine Abhängigkeit aktualisiert, die sowohl tests-passed als auch stable zum Absturz gebracht hat. Die Lösung bestand lediglich darin, einen Fix zu backporten .
BTW: Dies hätte vermieden werden können, indem man Rubygems im Befehl gem update auf eine bestimmte Version festgelegt hätte. gem update --system 3.0.6 wäre sicher gewesen.
Die Tatsache, dass stable länger ausgefallen war als tests-passed, ist nur ein Zufall und – soweit ich mich erinnere – ein Novum.
Wir machen das (Stable als Standard zu verwenden) seit über sechs Jahren mit vielen hundert Discourse-Instanzen ohne größere Probleme.
zsero
(Zsolt Ero)
26. Dezember 2019 um 23:55
20
Gerade in diesem Thread gibt es mehrere Fälle, in denen Stable links in einem defekten Zustand neu aufgebaut wurde – das ist definitiv nicht das erste Mal. Wenn die kommerziellen Instanzen von discourse.org als „Test bestanden
pfaffman
(Jay Pfaffman)
27. Dezember 2019 um 00:59
21
Ich weiß, dass das stimmt, aber du bist nun mal kein durchschnittlicher Discourse-Admin. Du hast mich schon oft gerettet, und als Faustregel lese ich alles, was du schreibst, zweimal durch, um sicherzugehen, dass ich es richtig verstanden habe. Trotzdem bin ich der Meinung, dass es für die meisten normalen Anwender am sichersten ist, bei „tests-passed
zsero
(Zsolt Ero)
27. Dezember 2019 um 01:19
22
Aber selbst wenn ich das tue, wird es mich in einer Situation, in der die stabile Version defekt ist, nicht retten, oder? In beiden Fällen lag das Problem an einem fehlenden Backport, und dieser würde meiner Meinung nach ebenso in jeder Git-Commit-ID fehlen.
Daher gibt es kein „Release