[development] drupal on postgresql benchmark

Larry Garfield larry at garfieldtech.com
Tue Nov 27 05:06:50 UTC 2007


On Monday 26 November 2007, Earnie Boyd wrote:

> >> Incidentally, there are lots of places where Drupal could use
> >> transactions when they're available.  user_add and node_save would
> >> both be a lot more DB-crash-resistant, for starters.
> >>
> >> jh
> >
> > The problem is that transaction support is not universal.  In MySQL,
> > for example, if you roll back a transaction it will roll back but
> > throw a warning on any MyISAM tables that were affected, so unless
> > you're using no MyISAM tables the rollback is not actually complete
> > or atomic.  If you're on shared hosting, 95% chance you're on MyISAM.
>
> If the choice is to use InnoDB then the port should default to InnoDB.
> Another port can be used for a MyISAM default.

I have no idea what you're talking about. :-)  MySQL can be run quite happily 
with some tables InnoDB, some MyISAM.  You can also run a Master/slave 
configuration with the Master InnoDB and the slaves MyISAM (or vice versa, 
although why you'd want to I have no idea).  That means sometimes a 
transaction may not rollback properly, and other times it will.  We can't 
have "two Drupals", one that uses transactions and one that doesn't (if 
that's what you mean by port, since TCP port wouldn't make any sense in this 
context).

Our choices are:

1) Don't use transactions.

2) Use transactions and silently ignore it when a rollback doesn't actually 
roll back, and/or file a watchdog entry but otherwise don't do anything.

3) Allow the user to explicitly flag if a connection should use transactions, 
defaulting no, and if not then starting a transaction has no effect and 
neither does rolling back or committing.

4) Don't support database configurations that don't fully support 
transactions.

#4 is not an option, naturally.  #1 seems like a waste, but it is what we do 
now.  That leaves #2 and #3 as alternatives.  I am not entirely sure which 
route is least lame at the moment. :-)

-- 
Larry Garfield			AIM: LOLG42
larry at garfieldtech.com		ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson


More information about the development mailing list