Database transaction flushing cleanups
authorAaron Schulz <aschulz@wikimedia.org>
Sat, 13 Aug 2016 01:56:41 +0000 (18:56 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Tue, 16 Aug 2016 20:34:54 +0000 (20:34 +0000)
commit4bcfe7d0ad73fc75b7131425479f2b337b0df28d
treede4a9c7efce2828818891b079cb4eae35f220dee
parent1d277b7c971ccb3857404e2db6131d0e3cf36d18
Database transaction flushing cleanups

* Do not commit() inside masterPosWait(). This could happen
  inside JobRunner::commitMasterChanges, resulting in
  one DB committing while the others may or may not later commit.
* Migrate some commit() callers to commitMasterChanges().
* Removed unsafe upload class commit() which could break
  outer transactions.
* Also cleaned up the "flush" flag to make it harder to misuse.

Change-Id: I75193baaed979100c5338abe0c0899abba3444cb
includes/WatchedItemStore.php
includes/db/Database.php
includes/db/DatabaseMysqlBase.php
includes/db/IDatabase.php
includes/db/loadbalancer/LoadBalancer.php
includes/deferred/LinksDeletionUpdate.php
includes/deferred/LinksUpdate.php
includes/jobqueue/jobs/CategoryMembershipChangeJob.php
includes/jobqueue/jobs/HTMLCacheUpdateJob.php
includes/jobqueue/jobs/RecentChangesUpdateJob.php
includes/upload/UploadFromChunks.php