From acddbc862afceead7cd3cce1dc1cc55c265e0ca1 Mon Sep 17 00:00:00 2001 From: Reedy Date: Tue, 10 Apr 2012 18:27:59 +0000 Subject: [PATCH] Commit of various live hacks 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 Original revision Change-Id I42c4f859e55eb198f6c6841e582b3552aad7b31f https://gerrit.wikimedia.org/r/#/c/7606 Change-Id: I5ec8dd53188e9e4128f99ceaff38ebf9dcf570bb --- includes/DefaultSettings.php | 6 ++++-- includes/MessageBlobStore.php | 3 +++ includes/cache/SquidUpdate.php | 17 ++++++++++++++++- includes/db/DatabaseMysql.php | 4 ++-- includes/job/jobs/HTMLCacheUpdateJob.php | 8 +++++++- maintenance/tables.sql | 6 +++--- 6 files changed, 35 insertions(+), 9 deletions(-) diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index e12b3be3fe..c2f7ea6d08 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -184,7 +184,8 @@ $wgLoadScript = false; * Defaults to "{$wgScriptPath}/skins". */ $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. @@ -4089,10 +4090,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 ), - ), + ), */ ); /** diff --git a/includes/MessageBlobStore.php b/includes/MessageBlobStore.php index 09561bd78a..5251643754 100644 --- a/includes/MessageBlobStore.php +++ b/includes/MessageBlobStore.php @@ -231,6 +231,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 ); diff --git a/includes/cache/SquidUpdate.php b/includes/cache/SquidUpdate.php index 6b48fa4d14..897397e41f 100644 --- a/includes/cache/SquidUpdate.php +++ b/includes/cache/SquidUpdate.php @@ -202,10 +202,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, diff --git a/includes/db/DatabaseMysql.php b/includes/db/DatabaseMysql.php index 36a1126ca2..5e385aa4e6 100644 --- a/includes/db/DatabaseMysql.php +++ b/includes/db/DatabaseMysql.php @@ -152,11 +152,11 @@ class DatabaseMysql extends DatabaseBase { // Tell the server we're communicating with it in UTF-8. // This may engage various charset conversions. - if( $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 if ( is_string( $wgSQLMode ) ) { $mode = $this->addQuotes( $wgSQLMode ); diff --git a/includes/job/jobs/HTMLCacheUpdateJob.php b/includes/job/jobs/HTMLCacheUpdateJob.php index 20245b3212..55c9f991d9 100644 --- a/includes/job/jobs/HTMLCacheUpdateJob.php +++ b/includes/job/jobs/HTMLCacheUpdateJob.php @@ -236,13 +236,19 @@ class HTMLCacheUpdateJob extends Job { array( 'page_id' => $batch ) + $touchedCond, __METHOD__ ); + # WM patch: throttle to avoid apache CPU exhaustion -- TS + if ( php_sapi_name() == 'cli' ) { + sleep( 1 ); + } } + # Disable this as a temporary measure per private-l post -- TS # Update squid + /* if ( $wgUseSquid ) { $u = SquidUpdate::newFromTitles( $titleArray ); $u->doUpdate(); - } + } */ # Update file cache if ( $wgUseFileCache ) { diff --git a/maintenance/tables.sql b/maintenance/tables.sql index c9a188bd60..ca301aeff3 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -1141,9 +1141,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); -- -- 2.20.1