Updated: Comment #34
D7 backport patch #34
https://drupal.org/files/2062399-add-percona-34.patch
Problem/Motivation
Add Percona Server to list of suggested databases - it's increasingly the choice for high performance / high availability environments.
User interface changes
In D8 - it adds "Percona Server" to Database type. (already committed)
In D7 - no changes to avoid Translation issues.
Original report by @kattekrab
Percona Server is a backwards-compatible replacement for MySQL. It is becoming more popular and it should be listed amongst our supported databases.
This patch adds Percona Server to the MySQL install task and readme.txt. It modifies strings only and does not add or modify any functionality.
Comment | File | Size | Author |
---|---|---|---|
#34 | 2062399-add-percona-34.patch | 576 bytes | kattekrab |
#25 | 2062399-add-percona-25.patch | 1.06 KB | cafuego |
#18 | 2062399-add-percona-1.patch | 1.16 KB | kattekrab |
#1 | add-percona.png | 20.52 KB | kattekrab |
add-percona.patch | 1.16 KB | kattekrab | |
Comments
Comment #1
kattekrab CreditAttribution: kattekrab commentedThanks to Simplytest.Me a quick manual test shows this patch in action.
Comment #2
cweagans-1
We should not continue this trend of adding every MySQL-compatible database to this list. I realize it's only one more in this patch, but if we're going to change it, let's change it to something like, "MySQL or MySQL compatible" (or revert to the old wording of "MySQL or equivalent"). This pretty much covers everything, and we don't have to keep tacking on new databases to the end of this list.
Comment #3
cweagans(Leaving at needs review, as my opinion is only one - I'm glad to hear what others will say)
Comment #4
kattekrab CreditAttribution: kattekrab commentedThanks for the review @cweagans :-)
However, re #2 - to the best of my knowledge the only drop in replacement options available for MySQL are MariaDB and Percona Server. At this point the danger of this becoming a long list is entirely hypothetical. I don't agree that's a strong reason for voting down the patch.
cheers
Donna
Comment #5
cweagansGoogle Cloud SQL and Amazon RDS are two other services that are "MySQL compatible" (Amazon RDS can use MySQL under the hood). Anyways, my point is, we ship with a .htaccess file because we assume that Drupal is going to be used with Apache. This doesn't actively prevent anyone from running Drupal under nginx or the like, but we do expect that if somebody is going to use an alternate service, they are going to know what they're doing.
To me, this is the same. We could just as easily say "MySQL" (with no qualifying text) and just expect that if somebody is going to use something else, they'll know what they're doing enough to recognize that it just has to be mysql compatible.
I agree it's not really a strong reason for voting down the patch, but on principle, I disagree with this direction.
That said, the code looks fine and if this is the direction we decide we want to go, I'm fine with it. Just voicing my disagreement :)
Comment #6
webchickIt's worth pointing out that MariaDB was added to that string in #861192: Document that MariaDB works, too. This was specifically done because Oracle bought MySQL and the community felt it was very important to highlight the open source community alternative right there in peoples' faces.
I do not know where Percona fits into the MySQL ecosystem, but we would need to come up with a similar "special" reasoning for adding Percona here, or else it will indeed sprawl into a never-ending list of compatible DBs.
Comment #7
webchickAlso, Dries was keen to see this happen, so assigning to him.
Comment #8
cweagansOne other thing to note here: if we add Percona to this list, and there's some customization in Percona that works slightly different than MySQL, who's responsible for fixing it? I can see situations like this where there's a bug/"feature" in Percona causing an issue with a site, but Drupal is incorrectly blamed for it (note that this is just speculation - I avoid Percona and prefer MariaDB when possible, so I don't have a strong background on what customizations are in Percona).
So I guess my question is, is there a difference between which databases will probably work and which databases we officially support?
Comment #9
kattekrab CreditAttribution: kattekrab commentedDiscussion in IRC suggests we may need more compelling reasons to add this... so I did a bit of a search to see what I could find! It would largely seem to be that Percona Server is more conservative than MariaDB which can be a better choice for high performance / high availability environments. But I'll admit I'm now a bit out of my depth.
This is from the Percona FAQ so it probably isn't entirely objective. It at least describes where it fits in the "alternative MySQL ecosystem".
The FAQ also links to benchmarks and a list of users.
So - more objective sources?
Hope that helps?
Comment #10
webchickCool, that's helpful. I will also say that whenever I've heard of Percona, it's been in relation to high-performance installations, so that may be the big differentiator that warrants its inclusion in the list.
Comment #11
kattekrab CreditAttribution: kattekrab commented@cweagans asks
This patch came about after I had a chat with Stewart Smith, a developer at Percona.
Percona is in the process of replicating our Drupal testing framework for ongoing regression testing of Percona Server. During that discussion Stewart said
which I take to mean that it becomes Percona's problem ;-)
I've pointed Stewart to this thread, so hopefully he'll be able to provide better insight.
Comment #12
cweagansIf that's the case, then I'm good with this :)
Comment #13
stewartsmith CreditAttribution: stewartsmith commentedYep, as mentioned before, any differing behaviour that would cause Drupal to break we'd consider a bug (either that, or it's a bug in how Drupal uses the database and would mean that it could likely break on any subsequent MySQL version too - but i'd still argue that it'd be a PS bug)
Comment #14
Dries CreditAttribution: Dries commentedI think it makes sense to list Percona. Percona is a great alternative that has proven to work well. For many, using Percona is a best practice actually. It is something that we want to encourage.
Comment #15
Anonymous (not verified) CreditAttribution: Anonymous commentedwell then, this looks RTBC.
Comment #16
Anonymous (not verified) CreditAttribution: Anonymous commentedwell. this is embarrassing. we should prolly add a '/' at the end of www.percona.com, because all the other urls have that.
Comment #17
Damien Tournoud CreditAttribution: Damien Tournoud commentedIs it me, or those version numbers start looking more and more random?
Comment #18
kattekrab CreditAttribution: kattekrab commentedGood question - they may well be random. I chose 5.1.70 just because it's the most recent release for that version...
Er... yes! New patch attached!
Thanks :)
Comment #19
kattekrab CreditAttribution: kattekrab commented@Damien Tournoud
Given this is a D8 patch - should we be updating the versions for MySQL and MariaDB anyway?
Perhaps set them all to 5.1 or later? Or even 5.5?
EDIT: Anyway - that should be a follow up issue.
- D.
Comment #20
Anonymous (not verified) CreditAttribution: Anonymous commentedok, RTBC i think.
Comment #21
effulgentsia CreditAttribution: effulgentsia commentedDries answered in #14, so I think this is fair game for any core maintainer to commit.
Comment #22
kattekrab CreditAttribution: kattekrab commentedThanks @effulgentsia.
As this is largely docs and a text string - I'm shifting from database system to documentation.
Comment #23
webchickOops. Thought this went in a long time ago.
Committed and pushed to 8.x. Thanks!
I guess we should maybe backport to D7 as well?
Comment #24
kattekrab CreditAttribution: kattekrab commentedAah thanks @webchick! :-)
yes, backporting makes sense. Now, I have no idea how to do that, so I will get some advice, and have "a red hot go"
- D.
Comment #25
cafuego CreditAttribution: cafuego commentedStraight backport, patch attached.
Comment #26
effulgentsia CreditAttribution: effulgentsia commentedComment #27
jhodgdonI am not sure we want to change the translated text in the UI for Drupal 7. That has implications for translating Drupal.
Comment #28
kattekrab CreditAttribution: kattekrab commentedHmmm.
The change in the UI is
from
MySQL, MariaDB, or equivalent
to
MySQL, MariaDB, Percona Server, or equivalent
Are those names generally translated? [probably gross ignorance on my part - sorry for dumb question]
Comment #29
webchickYeah, anything wrapped in st()/t() gets translated. The impact would be that all translators would have to update their translations, else people would see that english string in amongst their french/hungarian/etc.
Comment #30
kattekrab CreditAttribution: kattekrab commentedaaaah gotcha. The "or equivalent" would still need to be translated.
Do the doc comments get translated too?
These bits?
Comment #31
jhodgdonDoc comments do not get translated. Like most international software projects, we write all code comments in English and hope/expect that all our core developers can read them enough to get the gist.
Text inside t() gets translated, and in D7, also in functions st() or get_t() -- that is text meant for end users of the software (just the first parameter to these functions gets translated, however -- the rest is substitutions like URLs). So the text "MySQL, MariaDB, or equivalent" is translated, and it's already in the language database files that you can download for many languages. If we change it to read "MySQL, MariaDB, Percona Server, or equivalent", then when someone tries to make, for instance, a Chinese site, the new text wouldn't match what is already in the language database when Drupal tried to look up the translation, so they'd see this English text in the middle of their screen. Oops!
So our policy after a release has been made is that unless there is a blatantly incorrect piece of translated text, we try not to modify it for minor issues like typos or slight improvements. And I think adding Percona would not qualify as something important enough to need to consider modifying translated text.
Comment #32
kattekrab CreditAttribution: kattekrab commentedmakes sense to me.
So... do we take out the UI string, and just commit the doc change to D7 - or just not back port this one at all?
Comment #33
jhodgdonWe can make the INSTALL.txt change. Accordingly.. the patch needs work.
Comment #34
kattekrab CreditAttribution: kattekrab commentedOk D7 INSTALL.txt patch attached.
Sorry it took a bit longer to get back to this than I anticipated.
@jhodgdon thanks for your review and explanation! :)
cheers
- Donna
Comment #34.0
kattekrab CreditAttribution: kattekrab commentedUpdated issue summary.
Comment #35
KartagisThe latest patch looks fine.
Regards,
K.
Comment #36
jhodgdonThanks! Committed to 7.x.
Comment #37
kattekrab CreditAttribution: kattekrab commentedW00T!! :)
Thanks @jhodgdon
Comment #38.0
(not verified) CreditAttribution: commentedUpdated issue summary. minor update