Drupal.org runs on Drupal 5 with some core patches for performance, such as forum block caching (not needed in Drupal 6) and master-slave replication (will be needed in Drupal 6). Also, some memcache related modifications are used (but not the module itself).
https://infrastructure.drupal.org/node/12 (only accessible to infrastructure site members) has a list of the patches in question.
| Comment | File | Size | Author |
|---|---|---|---|
| #17 | drupalorg.diff | 857 bytes | drumm |
| #17 | aggregator.patch | 902 bytes | drumm |
| #8 | ask_gerhard.patch.php_.txt | 3.83 KB | david strauss |
Comments
Comment #1
damien tournoud commentedMy exported work area is:
http://dev.drupalfr.org/drupalorg/patches/
Comment #2
damien tournoud commentedI posted two patches:
- the "remove all LOWER" patch (those are useless on MySQL and prevent MySQL from using indexes)
- some custom additions to robots.txt
What is still missing:
- master/slave set up
- path optimizations (whitelisting)
- CDN hacks (do we really need those?)
- comment form location (do we really need this?)
What we don't need anymore:
- fixes for reverse proxy setup
- memcache hacks
- xapian hacks
- debug stuff
- access table optimizations (D6 only update those once every 180 seconds now)
Comment #3
david straussWe still need "fixes for reverse proxy setup." The built-in D6 reverse proxy support is limited.
Comment #4
jeremy commentedI would personally be interested in replacing the reverse proxy effort with improved caching in memcache. I have seen very impressive results by pushing the page cache into memcache and modifying the bootstrap. This gives us greater control over the caches and allows us to effectively solve cache stampedes. The linked patch is deployed on some high traffic6.x sites with very good results.
Comment #5
killes@www.drop.org commentedthe revers proxy stuff is quite useful as it also cached static files.
Comment #6
jeremy commentedCaching static files in a CDN instead of a reverse proxy will give us a much larger performance benefit, as it moves the content closer to the end user. This will also simplify our infrastructure, outsourcing something we really don't need to solve ourselves.
Comment #7
david straussI have a few patches I'll need Gerhard's input on.
Comment #8
david straussHere's what I need Gerhard to review.
Comment #9
killes@www.drop.org commentedThere are three logically distinct parts in there:
1) the aggegator stuff. This should stay in. Maybe the script which is run needs to be ported.
2) The contact hack by Dries. I don't feel we want anon users contact us, but maybe there is now a permission for this?
3) My outfactoring of the access column into its own users_access table. I believe this part may be incomplete, see http://drupal.org/node/109037
There are reasons for reverting this: Easier maintenance, Views might require this column (and not know it does nto exist).
There are reason for keeping it: The current "solution" in core still sucks.
Comment #10
dries commentedComment #11
david strauss(1) This was ported: [see changes] and [see changes].
(2) This is included nearly verbatim: [see changes]
(3) The users_access refactoring is 100% complete: [see changes]
And I ported many other patches. Not all of them are applied in current-patched. You can see which ones I applied.
All of these patches have been applied to the "current-patched" vendor branch in infrastructure's Subversion repository.
Comment #12
gerhard killesreiter commentedThe cron script for aggregator is in htdocs/cron-aggregator.php
Comment #13
drummCron-related things are moving to #363415: Run cron from CLI
Comment #14
dries commentedThe contact module in Drupal 5 has one permission:
array('access site-wide contact form').The contact module in Drupal 6 has two permissions:
array('access site-wide contact form', 'administer site-wide contact form');.In other words, we do need to keep the contact module hack, IMO. I don't feel really strong about it, but it seems nice to have. It looks like David move it to Pressflow already.
Comment #15
dries commentedI created a new issue for adding more contact form permissions in Drupal 7: see #371621: Create permission to use personal contact form.
Comment #16
david strauss@Dries That particular hack isn't in Pressflow. I just collected all the patches there because I had done a bunch of patch porting work for Pressflow 6, and I didn't want to stash patches in two places.
Only in Pressflow:
* pressflow-branding
* simpletest
* shell-based-test-execution (depends on simpletest)
Only in 6-patched for Drupal.org:
* disable-aggregator-feed-block-listing
* disable-anonymous-contact
* first-path-argument-whitelist (but targeted for Pressflow)
* log-book-upgrade-anomaly
* move-user-access-timestamps (but targeted for Pressflow, if I can make a nice upgrade path)
* separate-aggregator-cron
* separate-node-and-user-search (but targeted for Pressflow, if I can make a nice upgrade/compatibility path)
* svn-vendor-tools
In neither (pending further testing/bugfixing):
* external-page-cache
Comment #17
drummTo cleanly move aggregator to a separate crontab command, without writing a lot of extra code, we can use drupal.sh. Attached are the patches for a clean aggregator.module and drupalorg.module.
The command to make this go is
/var/www/d6.drupal.org/htdocs/scripts/drupal.sh --root /var/www/d6.drupal.org/htdocs http://d6.drupal.org/aggregator_cronComment #18
dave reidAnonymous users cannot use the personal contact forms in 6.x's contact.module, so you don't need to port the 6.x patch.
Comment #19
dwwRe: - comment form location (do we really need this?)
For the record: no. This is in D6 core now.
Comment #20
david straussI've fully integrated the Drupal core changes from #17. Changes to the drupalorg module may need to be handled by a drupalorg maintainer.
Comment #21
david straussNevermind, I'm taking care of the drupalorg module.
Comment #22
gábor hojtsyLooks like #11 and #20, #21 solved this issue.
Comment #23
david straussAll done. :-)
Comment #24
david straussWhoops. Crosspost.