* Introduce new db connectivity flags.
* Mark old flags as deprecated.
* If new flags are set, they supersede legacy flags.
* Provide defaults to existing flags so one doesn't
have to specify them for normal cases.
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
We previously redirected vtcombo's output to a a file. This was
probably to prevent a spammy output on the test. But troubleshooting
becomes hard if the vtcombo crashes on Travis (or docker).
So, it may be better to live with the spam.
And using it in vtcombo local usages, so unit tests only bind to
'localhost', and don't provide an open MySQL port with no user/password
required.
BUG=63407520
Please refer to #2694 and #2670 for motivation and reasoning for
this change.
I've tried to follow best practice in inserting the copyright
headers. In other open source projects, not all files carry
the notice. For example documentation doesn't. I've followed
similar ground rules.
I did not change the php because there is a separate LICENSE
file there by Pixel Federation. We'll first need to notify
them our intent before changing anything there.
As for the presubmit check, it's going to be non-trivial
because of the number of exceptions, like file types,
directories and generated code. So, it will have to be
a separate project.
The authServerNone config lets you connect using no username & password
which is convenient for testing and demos. The example demo has been
changed to use this feature. This will allow people to just connect
to vtcombo using mysql and run ad-hoc queries.
This helps for testing efforts that require restoring from a snapshot. Also, setting charset is already allowed via start_vt_processes, so this PR just exposes it through run_local_database.
Plumbing UpdateStream through for vtcombo. Adding a test for it in
vttest_smaple_test.py.
Fixing the db name for vtcombo databases: it should not include the
cell. Not in practice vtgate is only connecting to the master cell, so
it didn't matter much, but this is more correct.
Changing Shard's db_name to db_name_override.
Rewording a bunch of comments in proto.
Factoring out tablet creation code in vtcombo.
Rebuilding keyspace graph for redirected keyspaces too,
and also setting ShardingColumn{Name,Type} for them.
This gets rid of the opaque mysql-db-dir.tbz archive, replacing it with
a .sql file. The .sql file approach makes it clear what state the DB is
initialized with, and also makes it easy to customize.
It's been changed to use vttest, and there is a script
that brings up everything, and tears down at the end.
The one problem with the new scheme is that the querylog
doesn't tell you which tablet the query came frome. Something
to think about in the future.