Commit of various live hacks
authorReedy <reedy@formey.wikimedia.org>
Tue, 10 Apr 2012 18:27:59 +0000 (18:27 +0000)
committerReedy <reedy@wikimedia.org>
Mon, 30 Apr 2012 19:10:13 +0000 (20:10 +0100)
Disable of MessageBlobStore clear

Reset $wgAutopromote (should be moved to a config change!!)

Disable setting of wgStyleSheetPath

Disable squid updates in HTMLCacaheUpdate invalidateTitles

Throttle page_touched

Add apc htcp packet numbers to SquidUpdate

Disable set names binary/utf8

Commment out searchindex table indexes

Was c532e81d583d3d0439fe76eea4d105d675461b56

Change-Id: I42c4f859e55eb198f6c6841e582b3552aad7b31f

includes/DefaultSettings.php
includes/MessageBlobStore.php
includes/cache/HTMLCacheUpdate.php
includes/cache/SquidUpdate.php
includes/db/DatabaseMysql.php
maintenance/tables.sql

index 9801e04..bfac389 100644 (file)
@@ -157,7 +157,8 @@ $wgLoadScript = false;
  * The URL path of the skins directory. Will default to "{$wgScriptPath}/skins" in Setup.php
  */
 $wgStylePath = false;
-$wgStyleSheetPath = &$wgStylePath;
+# Broken PHP, canary mismatch -- TS
+#$wgStyleSheetPath = &$wgStylePath;
 
 /**
  * The URL path of the skins directory. Should not point to an external domain.
@@ -3733,10 +3734,11 @@ $wgAutoConfirmCount = 0;
  * user who has provided an e-mail address.
  */
 $wgAutopromote = array(
+       /* test patch -- TS
        'autoconfirmed' => array( '&',
                array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
                array( APCOND_AGE, &$wgAutoConfirmAge ),
-       ),
+       ), */
 );
 
 /**
index be6b27c..255e9a7 100644 (file)
@@ -228,6 +228,9 @@ class MessageBlobStore {
        }
 
        public static function clear() {
+               // HACK: disable clear() on WMF servers
+               return;
+
                // TODO: Give this some more thought
                // TODO: Is TRUNCATE better?
                $dbw = wfGetDB( DB_MASTER );
index 11e2ae7..029f67a 100644 (file)
@@ -191,13 +191,19 @@ class HTMLCacheUpdate implements DeferrableUpdate {
                                array( 'page_id' => $batch ),
                                __METHOD__
                        );
+                       # WM patch: throttle to avoid apache CPU exhaustion -- TS
+                       if ( php_sapi_name() == 'cli' ) {
+                               sleep( 1 );
+                       }
                }
 
                # Update squid
+               # Disable this as a temporary measure per private-l post -- TS
+               /*
                if ( $wgUseSquid ) {
                        $u = SquidUpdate::newFromTitles( $titleArray );
                        $u->doUpdate();
-               }
+               } */
 
                # Update file cache
                if  ( $wgUseFileCache ) {
index e560e0e..b343b0a 100644 (file)
@@ -185,10 +185,25 @@ class SquidUpdate {
                                        throw new MWException( "Invalid HTCP rule for URL $url\n" );
                                }
 
+                               // Try and incremement value in APC cache
+                               $id = apc_inc( 'squidhtcppurge' );
+                               if ( $id === false ) {
+                                       // If false, means it didn't work
+                                       // Chances are that means it isn't in the cache
+                                       // Start saving a cached value
+                                       $add = apc_add( 'squidhtcppurge', 1 );
+                                       if ( $add === false ) {
+                                               wfDebugLog( 'htcp', 'Unable to set value to APC cache' );
+                                               $id = 0;
+                                       } else {
+                                               $id = $add;
+                                       }
+                               }
+
                                // Construct a minimal HTCP request diagram
                                // as per RFC 2756
                                // Opcode 'CLR', no response desired, no auth
-                               $htcpTransID = rand();
+                               $htcpTransID = $id;
 
                                $htcpSpecifier = pack( 'na4na*na8n',
                                        4, 'HEAD', strlen( $url ), $url,
index c334c38..e7c7368 100644 (file)
@@ -143,12 +143,12 @@ class DatabaseMysql extends DatabaseBase {
                if ( $success ) {
                        // Tell the server we're communicating with it in UTF-8.
                        // This may engage various charset conversions.
-                       global $wgDBmysql5;
+                       /*global $wgDBmysql5;
                        if( $wgDBmysql5 ) {
                                $this->query( 'SET NAMES utf8', __METHOD__ );
                        } else {
                                $this->query( 'SET NAMES binary', __METHOD__ );
-                       }
+                       }*/
                        // Set SQL mode, default is turning them all off, can be overridden or skipped with null
                        global $wgSQLMode;
                        if ( is_string( $wgSQLMode ) ) {
index a848bf5..34eba56 100644 (file)
@@ -1121,9 +1121,9 @@ CREATE TABLE /*_*/searchindex (
   si_text mediumtext NOT NULL
 ) ENGINE=MyISAM;
 
-CREATE UNIQUE INDEX /*i*/si_page ON /*_*/searchindex (si_page);
-CREATE FULLTEXT INDEX /*i*/si_title ON /*_*/searchindex (si_title);
-CREATE FULLTEXT INDEX /*i*/si_text ON /*_*/searchindex (si_text);
+-- CREATE UNIQUE INDEX /*i*/si_page ON /*_*/searchindex (si_page);
+-- CREATE FULLTEXT INDEX /*i*/si_title ON /*_*/searchindex (si_title);
+-- CREATE FULLTEXT INDEX /*i*/si_text ON /*_*/searchindex (si_text);
 
 
 --