Discourse KI verursacht Fehlschlag beim Neubau

Mit dem neuesten Build schlägt das Rebuild auf meiner Website fehl. Die einzige Möglichkeit, es erfolgreich neu zu erstellen, besteht darin, das KI-Plugin zu entfernen. Haben Sie Ideen?

Fehler

Verursacht durch:

PG::InsufficientPrivilege: ERROR: muss Besitzer der Erweiterung vector sein (PG::InsufficientPrivilege)
/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.1.4/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/plugins/discourse-ai/db/migrate/20240611170904_upgrade_pgvector_070.rb:10:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:989:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:989:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:970:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:969:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:227:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:968:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1178:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1529:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1580:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1528:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1503:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1503:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1448:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1600:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1448:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1274:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1249:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/tasks/database_tasks.rb:251:in `migrate'
/var/www/discourse/lib/tasks/db.rake:259:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:234:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
I, [2024-09-26T02:33:15.511637 #1] INFO -- : gem install tokenizers -v 0.4.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed tokenizers-0.4.4-x86_64-linux
1 gem installed
gem install tiktoken_ruby -v 0.0.9 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed tiktoken_ruby-0.0.9-x86_64-linux
1 gem installed
gem install multipart-post -v 2.4.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed multipart-post-2.4.0
1 gem installed
gem install faraday-multipart -v 1.0.4 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed faraday-multipart-1.0.4
1 gem installed
gem install event_stream_parser -v 1.0.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed event_stream_parser-1.0.0
1 gem installed
gem install ruby-openai -v 7.0.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed ruby-openai-7.0.0
1 gem installed
gem install google_search_results -v 2.2.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed google_search_results-2.2.0
1 gem installed
gem install wikipedia-client -v 1.17.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed wikipedia-client-1.17.0
1 gem installed
gem install childprocess -v 5.0.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed childprocess-5.0.0
1 gem installed
gem install liquid -v 5.5.0 -i /var/www/discourse/plugins/discourse-custom-wizard/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed liquid-5.5.0
1 gem installed
gem install discourse_subscription_client -v 0.1.2 -i /var/www/discourse/plugins/discourse-custom-wizard/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed discourse_subscription_client-0.1.2
1 gem installed
gem install discourse_plugin_statistics -v 0.1.0.pre7 -i /var/www/discourse/plugins/discourse-custom-wizard/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed discourse_plugin_statistics-0.1.0.pre7
1 gem installed
gem install geocoder -v 1.8.2 -i /var/www/discourse/plugins/discourse-locations/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed geocoder-1.8.2
1 gem installed
gem install aws-sdk-translate -v 1.35.0 -i /var/www/discourse/plugins/discourse-translator/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
Successfully installed aws-sdk-translate-1.35.0
1 gem installed
== 20240611170904 UpgradePgvector070: migrating ===============================


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #&lt;Process::Status: pid 1936 exit 1&gt;
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
981f5a5797fa920052c5f2e33e4a36d4e515a053d5e922ca91882d0712379d3b
x86_64 arch detected.
881912b282ea
Nothing to do, your container has already started!

Der Fehler erinnert mich an Broken update: ERROR: must be owner of extension vector (PG::InsufficientPrivilege)

3 „Gefällt mir“

Interessant, danke! Es ist ein Zwei-Container-Setup. @pfaffman Ich werde wahrscheinlich irgendwann deine Hilfe brauchen, aber es hat sehr geringe Priorität.

Hallo David.

Ich bin ziemlich sicher, dass das Problem darin besteht, dass der Datencontainer neu erstellt werden muss. Wenn Sie ihn von https://dashboard.literatecomputing.com/ neu erstellen, sollte dies mit einem einzigen Klick für Sie erledigt werden. Ich habe kürzlich Prüfungen hinzugefügt, um den Datencontainer neu zu erstellen, wenn pgvector nicht die erforderliche Version hat.

Ihre Docker-Version ist auf dem neuesten Stand, sodass sie problemlos funktionieren sollte.

Oder lassen Sie es mich wissen, und ich klicke für Sie auf diese Schaltfläche.

4 „Gefällt mir“

Danke Jay! Eines dieser Tage werde ich es mir abgewöhnen, die Kommandozeile zu benutzen und deiner Schaltfläche zu vertrauen :wink::man_facepalming:t3:

2 „Gefällt mir“

Nun, ich bin so sehr Kommandozeile, wie man nur sein kann, und das Schöne am Dashboard ist, dass es ein Ansible-Skript ausführt, das eine ganze Menge Dinge tut, die Leute wahrscheinlich vergessen würden, wie z. B. eine Bereinigung, wenn die Festplatte knapp wird, oder die Erkenntnis, dass es Zeit für ein PostgreSQL-Upgrade ist (oder in diesem Fall, einfach einen einfachen Rebuild durchzuführen, anstatt einen vollständigen Versions-Rebuild, der ein paar Rebuilds dauert). Es fährt sogar den Web-Container herunter, baut die Daten neu auf und startet dann den Web-Container, bevor es mit dem Bootstrap fortfährt.

Oh! Und es kennt einige Plugins, die veraltet sind oder in den Core verschoben wurden, und entfernt diese automatisch.

Aber wenn Sie wirklich gerne zusätzliche Arbeit leisten und nur gedankenlos zusehen, wie Computer Dinge tun (wie ich es tue), können Sie sich während des Upgrades über die Kommandozeile anmelden und Folgendes tun:

docker logs -f container-name

um zuzusehen, wie der Bootstrap durchgeführt wird. Wenn Sie zweimal auf die Tab-Taste für den Containernamen drücken, sehen Sie den albernen zufälligen Namen, den Docker zuweist.

Prost

2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.