← Back to team overview

mahara-contributors team mailing list archive

[Bug 1499568] Re: Mahara 15.04.3 upgrade issues

 

I believe the limit of 200 was added for sites running MySql db as the
transactions would build up and stress out the upgrade if the artefact
table had many (250000+) rows.

This was compounded further if the site was using Elasticsearch as the
adjusting of the artefact table automatically triggered an adding of a
row to the elasticsearch queue table if it didn't already exist - and
the more rows in there the longer it took as the check had to deal with
more rows over time.

But since then we added a step to drop the Elasticsearch trigger before
updating the artefact table and then adding back in the trigger after
the update.

So the limit may not be needed anymore - it would mean testing an
upgrade with a large database on mysql both with and without
elasticsearch being in play.

-- 
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/1499568

Title:
  Mahara 15.04.3 upgrade issues

Status in Mahara:
  In Progress
Status in Mahara 15.04 series:
  In Progress
Status in Mahara 15.10 series:
  In Progress

Bug description:
  Red Hat 6.6
  Apache 2.2.15
  MySQL 5.5.39
  PHP 5.4.40

  We found three issues while upgrading from Mahara 1.9.8 to 15.04.3.
  We have attached the tar file which contains the patch and various
  error logs for further help.

  Upgrade Issue 1 - Add path and update records :

  This adds a field 'path' to artefact table and thereafter runs a
  update query to add data. We have around 500K rows and this takes
  around 94 minutes to upgrade! This can be done in one go without the
  limit of 200 and it works very well taking around 2-3 minutes!

  Few times the upgrade failed due to "mysqli error: [1205: Lock wait
  timeout exceeded; try restarting transaction]".

  Upgrade Issue 2 - TinyMCE emoticon changes :

          $replacements = array('view' => 'description',
                                'artefact' => 'title',
                                'artefact' => 'description',
                                'group' => 'description',
                                'interaction_forum_post' => 'body',
                                'notification_internal_activity' => 'message',
                                'blocktype_wall_post' => 'text',
                                'site_content' => 'content');

  The artefact key is defined twice in the array so as soon it reaches
  'artefact' => 'description', it replaces the previous one which ends
  up skipping the title column to be updated.

  Upgrade Issue 3 - TinyMCE emoticon changes - Typo!  :

                      $configdata[$key] =
  preg_replace('/\/emotions\/img/', '/emotions/img', $value);

  emotions are replaced emotions

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


References