Page MenuHomePhabricator

Change the only place with MYISAM to InnoDB
AbandonedPublic

Authored by sowedance on Dec 4 2013, 11:12 PM.
Tags
None
Referenced Files
F14417116: D7701.diff
Wed, Dec 25, 12:10 AM
Unknown Object (File)
Fri, Dec 13, 9:32 PM
Unknown Object (File)
Thu, Dec 12, 11:34 PM
Unknown Object (File)
Mon, Dec 9, 4:21 AM
Unknown Object (File)
Thu, Dec 5, 7:53 AM
Unknown Object (File)
Thu, Dec 5, 7:52 AM
Unknown Object (File)
Sun, Dec 1, 7:58 AM
Unknown Object (File)
Thu, Nov 28, 4:17 PM

Details

Summary

Everything in our database is on innodb except the search_documentfield table, which is still on MYISAM since it needs fulltext search. It needs to be changed for mysql upgrading (see task 2559259). The current innodb version should support fulltext already and I believe we actually do not really need the search database anymore since we are already using elastic search and this database was not updated for a long time.
For the production database, we can just do an alter table query, but we do have some tests that are initializing the databases. I am changing the sql scripts in release branch so that we will not cause errors in the database tier while pushing. Not quite sure if that's the right way to do though - let me know if you have any suggestions.

Test Plan

Not tested.

Diff Detail

Branch
innodb
Lint
Lint Errors
SeverityLocationCodeMessage
Errorresources/sql/quickstart.sql:980TXT2Tab Literal
Errorsrc/aphront/configuration/AphrontDefaultApplicationConfiguration.php:88PHL1Unknown Symbol
Errorsrc/applications/auth/controller/PhabricatorEmailTokenController.php:54PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProvider.php:382PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderLDAP.php:33PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuth1.php:67PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuth1JIRA.php:53PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuth1Twitter.php:28PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuthAmazon.php:39PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuthAsana.php:31PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuthDisqus.php:29PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuthFacebook.php:40PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuthGitHub.php:32PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuthGoogle.php:32PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderOAuthTwitch.php:29PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderPassword.php:25PHL1Unknown Symbol
Errorsrc/applications/auth/provider/PhabricatorAuthProviderPersona.php:19PHL1Unknown Symbol
Errorsrc/applications/calendar/view/AphrontCalendarMonthView.php:90PHL1Unknown Symbol
Errorsrc/applications/conpherence/controller/ConpherenceNotificationPanelController.php:75PHL1Unknown Symbol
Errorsrc/applications/differential/landing/DifferentialLandingToGitHub.php:85PHL1Unknown Symbol
Errorsrc/applications/differential/render/DifferentialChangesetHTMLRenderer.php:253PHL1Unknown Symbol
Errorsrc/applications/differential/view/DifferentialAddCommentView.php:189PHL1Unknown Symbol
Errorsrc/applications/differential/view/DifferentialInlineCommentView.php:233PHL1Unknown Symbol
Errorsrc/applications/differential/view/DifferentialLocalCommitsView.php:131PHL1Unknown Symbol
Errorsrc/applications/differential/view/DifferentialRevisionCommentView.php:90PHL1Unknown Symbol
Unit
No Test Coverage

Event Timeline

I don't want to put this in the upstream, but this looks correct for Facebook.

(You can clear those lint warnings by updating libphutil/. You can identify which copy of libphutil/ to update by examining the first few lines of output from any arc command with the --trace flag.)

epriestley added a subscriber: Unknown Object (MLST).Dec 10 2013, 3:54 PM

Someone at Facebook needs to look at this, as it's a local patch for Facebook's codebase only. @sowedance and I have talked about the issue and I'm in agreement that this is probably the best fix, given the context I have. Facebook does not use these tables, since it uses ElasticSearch instead.

(@sowedance, you could try using arc diff --conduit-uri=https://phabricator.fb.com/ to upload Facebook-only patches to Facebook's internal Phabricator, instead of the default public install. Not sure if you'll have better luck that way or not.)

Also, you can clear those lint warnings by updating libphutil/, as the error recommends:

Make sure libphutil and other libraries are up to date.

If you have several copies of libphutil/, you can identify which copy you need to update by examining the first few lines of output from arc <any command> --trace.

D7752 improves the error message for this lint warning to include more specific resolution steps.

Error  (PHL1) Unknown Symbol
 Use of unknown class 'BlerpBarp'. Common causes are:

   - Your libphutil/ is out of date.
     This is the most common cause.
     Update this copy of libphutil: /INSECURE/devtools/libphutil

   - Some other library is out of date.
     Update the library this symbol appears in.

   - This symbol is misspelled.
     Spell the symbol name correctly.
     Symbol name spelling is case-sensitive.

   - This symbol was added recently.
     Run `arc liberate` on the library it was added to.

   - This symbol is external. Use `@phutil-external-symbol`.
     Use `grep` to find usage examples of this directive.

 *** ALTHOUGH USUALLY EASY TO FIX, THIS IS A SERIOUS ERROR.
 *** THIS ERROR IS YOUR FAULT. YOU MUST RESOLVE IT.
sowedance updated this revision to Unknown Object (????).Jan 7 2014, 6:37 PM

Please take a quick look. Every time we do a push, we are generating some unittest databases breaking the replication.