← Back to team overview

mahara-contributors team mailing list archive

[Bug 1850786] Re: Upgrade script to 19.10 from 19.04.1 fails when converting artefact audio - elasticsearch triggers

 

** Summary changed:

- Upgrade script to 19.10 from 19.04.1 fails when converting artifact audio - elasticsearch triggers
+ Upgrade script to 19.10 from 19.04.1 fails when converting artefact audio - elasticsearch triggers

** Description changed:

  My upgrade script for 19.10 fails and leaves mahara in a unusable state.
  The upgrade from cli stops with the following message(s) (see below).
- *Update*: I managed to let the script finish and got my site up again by adding 
+ *Update*: I managed to let the script finish and got my site up again by adding
  
-             drop_elasticsearch_triggers();
-             $funname($data);
-             create_elasticsearch_triggers();
+             drop_elasticsearch_triggers();
+             $funname($data);
+             create_elasticsearch_triggers();
  
  around Line 274 in lib/mahara.php. Now the output of my console reads
  
  [INF] 5a (admin/cli/upgrade.php:70) Upgrading Mahara
  [INF] 5a (lib/mahara.php:240) artefact.file wird aktualisiert
  [DBG] 5a (lib/mahara.php:5625) Dropping elasticsearch triggers
  [DBG] 5a (artefact/file/db/upgrade.php:514) Update m4a, m4b, m4p and m4r file types to be audio/mp4 mimetype
  [INF] 5a (artefact/file/lib.php:236) Synced filetype list with filetypes.xml
  [DBG] 5a (lib/mahara.php:5640) Adding elasticsearch triggers back in
  [INF] 5a (lib/mahara.php:240) artefact.plans wird aktualisiert
  [DBG] 5a (lib/mahara.php:5625) Dropping elasticsearch triggers
  [DBG] 5a (lib/mahara.php:5640) Adding elasticsearch triggers back in
  [INF] 5a (lib/mahara.php:240) auth.saml wird aktualisiert
  [DBG] 5a (lib/mahara.php:5625) Dropping elasticsearch triggers
  [DBG] 5a (lib/mahara.php:5640) Adding elasticsearch triggers back in
  
  and everything seems to be ok.
  
  Previous failure of script gave this output:
  --------------------------------------------------- start of console
  root@server:/var/www/mahara/htdocs/admin# sudo -u www-data php cli/upgrade.php -f
  [INF] 96 (admin/cli/upgrade.php:70) Upgrading Mahara
  [INF] 96 (lib/mahara.php:240) artefact.file wird aktualisiert
  [DBG] 96 (artefact/file/db/upgrade.php:514) Update m4a, m4b, m4p and m4r file types to be audio/mp4 mimetype
  [DBG] 96 (lib/dml.php:180) mysqli error: [1305: PROCEDURE u57370db5nd.search_elasticsearch_queue_artefact_trigger does not exist] in EXECUTE("UPDATE "artefact"
  [DBG] 96 (lib/dml.php:180)                     SET artefacttype = 'audio'
  [DBG] 96 (lib/dml.php:180)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [DBG] 96 (lib/dml.php:180)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [DBG] 96 (lib/dml.php:180)                     ")Command was: UPDATE "artefact"
  [DBG] 96 (lib/dml.php:180)                     SET artefacttype = 'audio'
  [DBG] 96 (lib/dml.php:180)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [DBG] 96 (lib/dml.php:180)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [DBG] 96 (lib/dml.php:180)
  [WAR] 96 (lib/errors.php:859) Could not execute command: UPDATE "artefact"
  [WAR] 96 (lib/errors.php:859)                     SET artefacttype = 'audio'
  [WAR] 96 (lib/errors.php:859)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [WAR] 96 (lib/errors.php:859)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [WAR] 96 (lib/errors.php:859)
  Call stack (most recent first):
    * log_message(string(size 261), integer, true, true) at /var/www/mahara-19.10.0/htdocs/lib/errors.php:95
    * log_warn(string(size 261)) at /var/www/mahara-19.10.0/htdocs/lib/errors.php:859
    * SQLException->__construct(string(size 261)) at /var/www/mahara-19.10.0/htdocs/lib/dml.php:181
    * execute_sql(string(size 234)) at /var/www/mahara-19.10.0/htdocs/artefact/file/db/upgrade.php:516
    * xmldb_artefact_file_upgrade(string(size 10)) at /var/www/mahara-19.10.0/htdocs/lib/upgrade.php:453
    * upgrade_plugin(object(stdClass)) at /var/www/mahara-19.10.0/htdocs/lib/mahara.php:274
    * upgrade_mahara(array(size 1)) at /var/www/mahara-19.10.0/htdocs/admin/cli/upgrade.php:74
  
  [WAR] 96 (lib/dml.php:181) Could not execute command: UPDATE "artefact"
  [WAR] 96 (lib/dml.php:181)                     SET artefacttype = 'audio'
  [WAR] 96 (lib/dml.php:181)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [WAR] 96 (lib/dml.php:181)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [WAR] 96 (lib/dml.php:181)
  Call stack (most recent first):
    * execute_sql(string(size 234)) at /var/www/mahara-19.10.0/htdocs/artefact/file/db/upgrade.php:516
    * xmldb_artefact_file_upgrade(string(size 10)) at /var/www/mahara-19.10.0/htdocs/lib/upgrade.php:453
    * upgrade_plugin(object(stdClass)) at /var/www/mahara-19.10.0/htdocs/lib/mahara.php:274
    * upgrade_mahara(array(size 1)) at /var/www/mahara-19.10.0/htdocs/admin/cli/upgrade.php:74
  
  A nonrecoverable error occurred. This probably means you have encountered a bug in the systemroot@server:/var/www/mahara/htdoc
  --------------------------------------------------- end of console
  
  I am using:
  PHP 7.3.11-1+ubuntu16.04.1
  Mysql 10.1.41-MariaDB-1
  Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-159-generic x86_64)
  
  A short introspection into my database shows that there are three rows
  with old extension 'm4a' set to filetype 'video/mp4' which are selected
- from artifact_file_files.
+ from artefact_file_files.

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1850786

Title:
  Upgrade script to 19.10 from 19.04.1 fails when converting artefact
  audio - elasticsearch triggers

Status in Mahara:
  Confirmed
Status in Mahara 19.10 series:
  Confirmed
Status in Mahara 20.04 series:
  Confirmed

Bug description:
  My upgrade script for 19.10 fails and leaves mahara in a unusable state.
  The upgrade from cli stops with the following message(s) (see below).
  *Update*: I managed to let the script finish and got my site up again by adding

              drop_elasticsearch_triggers();
              $funname($data);
              create_elasticsearch_triggers();

  around Line 274 in lib/mahara.php. Now the output of my console reads

  [INF] 5a (admin/cli/upgrade.php:70) Upgrading Mahara
  [INF] 5a (lib/mahara.php:240) artefact.file wird aktualisiert
  [DBG] 5a (lib/mahara.php:5625) Dropping elasticsearch triggers
  [DBG] 5a (artefact/file/db/upgrade.php:514) Update m4a, m4b, m4p and m4r file types to be audio/mp4 mimetype
  [INF] 5a (artefact/file/lib.php:236) Synced filetype list with filetypes.xml
  [DBG] 5a (lib/mahara.php:5640) Adding elasticsearch triggers back in
  [INF] 5a (lib/mahara.php:240) artefact.plans wird aktualisiert
  [DBG] 5a (lib/mahara.php:5625) Dropping elasticsearch triggers
  [DBG] 5a (lib/mahara.php:5640) Adding elasticsearch triggers back in
  [INF] 5a (lib/mahara.php:240) auth.saml wird aktualisiert
  [DBG] 5a (lib/mahara.php:5625) Dropping elasticsearch triggers
  [DBG] 5a (lib/mahara.php:5640) Adding elasticsearch triggers back in

  and everything seems to be ok.

  Previous failure of script gave this output:
  --------------------------------------------------- start of console
  root@server:/var/www/mahara/htdocs/admin# sudo -u www-data php cli/upgrade.php -f
  [INF] 96 (admin/cli/upgrade.php:70) Upgrading Mahara
  [INF] 96 (lib/mahara.php:240) artefact.file wird aktualisiert
  [DBG] 96 (artefact/file/db/upgrade.php:514) Update m4a, m4b, m4p and m4r file types to be audio/mp4 mimetype
  [DBG] 96 (lib/dml.php:180) mysqli error: [1305: PROCEDURE u57370db5nd.search_elasticsearch_queue_artefact_trigger does not exist] in EXECUTE("UPDATE "artefact"
  [DBG] 96 (lib/dml.php:180)                     SET artefacttype = 'audio'
  [DBG] 96 (lib/dml.php:180)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [DBG] 96 (lib/dml.php:180)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [DBG] 96 (lib/dml.php:180)                     ")Command was: UPDATE "artefact"
  [DBG] 96 (lib/dml.php:180)                     SET artefacttype = 'audio'
  [DBG] 96 (lib/dml.php:180)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [DBG] 96 (lib/dml.php:180)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [DBG] 96 (lib/dml.php:180)
  [WAR] 96 (lib/errors.php:859) Could not execute command: UPDATE "artefact"
  [WAR] 96 (lib/errors.php:859)                     SET artefacttype = 'audio'
  [WAR] 96 (lib/errors.php:859)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [WAR] 96 (lib/errors.php:859)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [WAR] 96 (lib/errors.php:859)
  Call stack (most recent first):
    * log_message(string(size 261), integer, true, true) at /var/www/mahara-19.10.0/htdocs/lib/errors.php:95
    * log_warn(string(size 261)) at /var/www/mahara-19.10.0/htdocs/lib/errors.php:859
    * SQLException->__construct(string(size 261)) at /var/www/mahara-19.10.0/htdocs/lib/dml.php:181
    * execute_sql(string(size 234)) at /var/www/mahara-19.10.0/htdocs/artefact/file/db/upgrade.php:516
    * xmldb_artefact_file_upgrade(string(size 10)) at /var/www/mahara-19.10.0/htdocs/lib/upgrade.php:453
    * upgrade_plugin(object(stdClass)) at /var/www/mahara-19.10.0/htdocs/lib/mahara.php:274
    * upgrade_mahara(array(size 1)) at /var/www/mahara-19.10.0/htdocs/admin/cli/upgrade.php:74

  [WAR] 96 (lib/dml.php:181) Could not execute command: UPDATE "artefact"
  [WAR] 96 (lib/dml.php:181)                     SET artefacttype = 'audio'
  [WAR] 96 (lib/dml.php:181)                     WHERE id IN (SELECT artefact FROM "artefact_file_files"
  [WAR] 96 (lib/dml.php:181)                     WHERE oldextension IN ('m4a', 'm4b', 'm4p', 'm4r'));
  [WAR] 96 (lib/dml.php:181)
  Call stack (most recent first):
    * execute_sql(string(size 234)) at /var/www/mahara-19.10.0/htdocs/artefact/file/db/upgrade.php:516
    * xmldb_artefact_file_upgrade(string(size 10)) at /var/www/mahara-19.10.0/htdocs/lib/upgrade.php:453
    * upgrade_plugin(object(stdClass)) at /var/www/mahara-19.10.0/htdocs/lib/mahara.php:274
    * upgrade_mahara(array(size 1)) at /var/www/mahara-19.10.0/htdocs/admin/cli/upgrade.php:74

  A nonrecoverable error occurred. This probably means you have encountered a bug in the systemroot@server:/var/www/mahara/htdoc
  --------------------------------------------------- end of console

  I am using:
  PHP 7.3.11-1+ubuntu16.04.1
  Mysql 10.1.41-MariaDB-1
  Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-159-generic x86_64)

  A short introspection into my database shows that there are three rows
  with old extension 'm4a' set to filetype 'video/mp4' which are
  selected from artefact_file_files.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1850786/+subscriptions


References