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.

Comments

damien tournoud’s picture

damien tournoud’s picture

I 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)

david strauss’s picture

We still need "fixes for reverse proxy setup." The built-in D6 reverse proxy support is limited.

jeremy’s picture

I 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.

killes@www.drop.org’s picture

the revers proxy stuff is quite useful as it also cached static files.

jeremy’s picture

Caching 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.

david strauss’s picture

Assigned: Unassigned » david strauss
Status: Active » Postponed (maintainer needs more info)

I have a few patches I'll need Gerhard's input on.

david strauss’s picture

StatusFileSize
new3.83 KB

Here's what I need Gerhard to review.

killes@www.drop.org’s picture

There 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.

dries’s picture

Assigned: david strauss » dries
david strauss’s picture

(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.

gerhard killesreiter’s picture

The cron script for aggregator is in htdocs/cron-aggregator.php

drumm’s picture

Cron-related things are moving to #363415: Run cron from CLI

dries’s picture

The 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.

dries’s picture

I created a new issue for adding more contact form permissions in Drupal 7: see #371621: Create permission to use personal contact form.

david strauss’s picture

@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

drumm’s picture

StatusFileSize
new902 bytes
new857 bytes

To 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_cron

dave reid’s picture

Anonymous users cannot use the personal contact forms in 6.x's contact.module, so you don't need to port the 6.x patch.

dww’s picture

Re: - comment form location (do we really need this?)
For the record: no. This is in D6 core now.

david strauss’s picture

I've fully integrated the Drupal core changes from #17. Changes to the drupalorg module may need to be handled by a drupalorg maintainer.

david strauss’s picture

Nevermind, I'm taking care of the drupalorg module.

gábor hojtsy’s picture

Status: Postponed (maintainer needs more info) » Fixed

Looks like #11 and #20, #21 solved this issue.

david strauss’s picture

Status: Fixed » Postponed (maintainer needs more info)

All done. :-)

david strauss’s picture

Status: Postponed (maintainer needs more info) » Fixed

Whoops. Crosspost.

Status: Fixed » Closed (fixed)
Issue tags: -drupal.org upgrade

Automatically closed -- issue fixed for 2 weeks with no activity.