* Fixed bogus var in LSLockManager.
authorAaron Schulz <aaron@users.mediawiki.org>
Sat, 14 Jan 2012 03:16:18 +0000 (03:16 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Sat, 14 Jan 2012 03:16:18 +0000 (03:16 +0000)
* Made DBLockManager constructor a bit more convenient to use with just 'localDBMaster' in the db buckets.
* Documentation tweaks.

includes/filerepo/backend/SwiftFileBackend.php
includes/filerepo/backend/lockmanager/DBLockManager.php
includes/filerepo/backend/lockmanager/LSLockManager.php

index a067d5f..4140f89 100644 (file)
@@ -16,6 +16,7 @@
  * All of the library classes must be registed in $wgAutoloadClasses.
  *
  * @ingroup FileBackend
+ * @since 1.19
  */
 class SwiftFileBackend extends FileBackend {
        /** @var CF_Authentication */
@@ -650,6 +651,7 @@ class SwiftFileBackend extends FileBackend {
 /**
  * SwiftFileBackend helper class to page through object listings.
  * Swift also has a listing limit of 10,000 objects for sanity.
+ * Do not use this class from places outside SwiftFileBackend.
  *
  * @ingroup FileBackend
  */
index 900a639..045056e 100644 (file)
@@ -55,7 +55,9 @@ class DBLockManager extends LockManager {
         * @param Array $config 
         */
        public function __construct( array $config ) {
-               $this->dbServers = $config['dbServers'];
+               $this->dbServers = isset( $config['dbServers'] )
+                       ? $config['dbServers']
+                       : array(); // likely just using 'localDBMaster'
                // Sanitize dbsByBucket config to prevent PHP errors
                $this->dbsByBucket = array_filter( $config['dbsByBucket'], 'is_array' );
                $this->dbsByBucket = array_values( $this->dbsByBucket ); // consecutive
index 58fb8f3..8b59009 100644 (file)
@@ -278,7 +278,7 @@ class LSLockManager extends LockManager {
         */
        protected function getBucketFromKey( $path ) {
                $prefix = substr( sha1( $path ), 0, 2 ); // first 2 hex chars (8 bits)
-               return intval( base_convert( $prefix, 16, 10 ) ) % count( $this->dbsByBucket );
+               return intval( base_convert( $prefix, 16, 10 ) ) % count( $this->srvsByBucket );
        }
 
        /**