Граф коммитов

16217 Коммитов

Автор SHA1 Сообщение Дата
Mark Solters 9e982ea3af Fix Percona 8.0 docker build process
Signed-off-by: Mark Solters <msolters@gmail.com>
2019-04-25 16:17:35 -04:00
Mark Solters 1f0718d026 Fix docker build issues for MySQL 8
Signed-off-by: Mark Solters <msolters@gmail.com>
2019-04-25 16:15:57 -04:00
Sugu Sougoumarane eda3e15b21
Merge pull request #4833 from planetscale/ss-vrepl
query routing: multi-table plan options
2019-04-25 09:30:55 -07:00
Michael Demmer 1a909eda98
Merge pull request #4827 from tinyspeck/vttablet-autocommit-no-misleading-logs
properly suppress begin...commit in autocommit logs
2019-04-25 06:38:02 -07:00
Sugu Sougoumarane 7a08ada1f7
Merge pull request #4836 from SataQiu/fix-20190424
Fix some spelling mistakes
2019-04-24 20:28:35 -07:00
Sugu Sougoumarane 7fc5662745 vreplication: address review comments
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-24 20:26:18 -07:00
SataQiu b50f57c707 fix some spelling mistakes
Signed-off-by: SataQiu <qiushida@beyondcent.com>
2019-04-25 09:55:30 +08:00
Sugu Sougoumarane 363878ada0
Merge pull request #4816 from xichengliudui/update-go-const
Using const() defines constants together (part:1)
2019-04-24 15:53:08 -07:00
Sugu Sougoumarane c46ddcc32a
Merge pull request #4820 from xichengliudui/update-const-patr3
Using const() defines constants together (part:2)
2019-04-24 15:52:17 -07:00
Sugu Sougoumarane 46b769c063
Merge pull request #4832 from dweitzman/check_last_healthy_time_streaming
tabletmanager: only report healthy if a health check has succeeded re…
2019-04-24 15:49:10 -07:00
Sugu Sougoumarane 8479bbd82f
Merge pull request #4837 from planetscale/ss-vfix
vstreamer: bug fix on mysql connection
2019-04-24 11:55:39 -07:00
David Weitzman c4c5712479 tabletmanager: only report healthy if a health check has succeeded recently
This logic already existed in go/cmd/vttablet/healthz.go for /healthz, but
did not exist for broadcastHealth() and did not exist for deciding whether
to return a cached health value to a newly-connected streaming health client.

Signed-off-by: David Weitzman <dweitzman@pinterest.com>
2019-04-24 11:26:43 -07:00
Sugu Sougoumarane f04b785891 vstreamer: bug fix on mysql connection
The row streamer needed to refresh credentials before connecting
to mysql.

Also fixed some flaky tests.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-24 08:33:59 -07:00
Sugu Sougoumarane a92a0a7f55
Merge pull request #4830 from planetscale/ds-vtdb
default value for db_name
2019-04-24 07:39:32 -07:00
deepthi 75e082258e rename flaky test
Signed-off-by: deepthi <deepthi@planetscale.com>
2019-04-23 12:58:17 -07:00
Sugu Sougoumarane 6c55f2783e
Merge pull request #4785 from mcuadros/show-schemas
sqlparser: support for SHOW SCHEMAS
2019-04-23 09:47:49 -07:00
Sugu Sougoumarane 11ed1a1e23 query routing: tests
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-22 20:03:40 -07:00
Sugu Sougoumarane 3c45413151 query routing: vschema and DML tests
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-22 20:03:38 -07:00
Sugu Sougoumarane 80bd0c2d6d query routing: add table substitutions
The code has also been refactored and cleaned up
for improved readability.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-22 20:03:00 -07:00
Sugu Sougoumarane e0f79ce5cf query routing: multi-table plan options
In this change the query routing takes the possibility that
there could be multiple target options for a given table. The
design for this is explained in #4790.

At a high level:
* VSchema.FindTableOrVindex function can return a list of
  tables instead of a single one.
* The route planbuilder creates multiple routeOptions, one
  for each table returned.
* All actions that affected the plan of a route are changed
  to update all routeOptions.
* If a particular routeOption cannot accommodate a pushed
  down construct, it's removed from the list. Previously,
  this was an error case. But if no options are left, then
  we return an error.
* If two routeOptions qualify for a merge of routes, then
  all other combinations that don't qualify are discarded.
  This is the case for joins, subqueries and unions.

More details:
vindexTable was renamed to the more appropriate vschemaTable.

In order to achieve this, a new routeOption data type was
introduced, and route was changed to contain a list of
routeOptions.

In symtab, tables used to point at the vschema table that
was used to build them. Since a table can now represent
multiple target tables, this field has been moved into
routeOption.

In symtab, columns used to contain a vindex member. Since
this can change depending on the target table, the routeOption
now contains a map of column to vindexes instead.

The routeOption also contains the vschemaTable. DMLs use
this information. Since DMLs have to be more deterministic
about the table they write to, they always choose the
first option.

At the beginning of the Wireup phase, we evaluate all existing
options and decide on the best available.

To be done:
When a table has multiple targets, the targets can have different
names than the original table. If so, the queries have to be
rewritten to address the new target tables. In order to do this,
each routeOption will contain a list of substitutions that will
be made during the Wireup phase.

Tests have to be written for the new flows.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-22 20:02:21 -07:00
Sugu Sougoumarane 3f8848a945 vschema: routing rules in vindexes.VSchema
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-22 20:00:00 -07:00
Sugu Sougoumarane 08791180dc vschema: routing rules proto changes
This is the first part of the changes to implement #4790.
This part implements all the management functionality for
routing rules.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-22 20:00:00 -07:00
Sugu Sougoumarane c585c8f310
Merge pull request #4829 from planetscale/ss-vcopy
vreplication: SplitClone & VerticalSplitClone
2019-04-22 19:54:09 -07:00
deepthi b827ab19d3 default value for db_name to allow rolling deployment of multi-schema changes
Signed-off-by: deepthi <deepthi@planetscale.com>
2019-04-22 14:40:36 -07:00
Sugu Sougoumarane 78058b8c33 vreplication: refresh masters at end of splitclone
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-22 14:35:27 -07:00
Sugu Sougoumarane eb85db266f
Merge pull request #4822 from HubSpot/order-by-column-position
normalizer: do not normalize in order by
2019-04-22 08:38:13 -07:00
Sugu Sougoumarane 21167f148e
Merge pull request #4824 from tinyspeck/adds-timeouts-for-all-queries
Adds timeouts for all kinds of statements. Power to the clients!
2019-04-22 08:37:00 -07:00
Sugu Sougoumarane ba7aad0e61
Merge pull request #4825 from SataQiu/fix-20190419
Fix spelling mistakes of doc
2019-04-22 08:28:42 -07:00
xichengliudui f0a9bc71a0 Using const() defines constants together
Signed-off-by: xichengliudui <liuduidui@beyondcent.com>

update pull request
Signed-off-by: xichengliudui <liuduidui@beyondcent.com>

update pull request
Signed-off-by: xichengliudui <liuduidui@beyondcent.com>
2019-04-21 13:24:19 -04:00
xichengliudui cf1e37d4c6 Using const() defines constants together (part:2)
Signed-off-by: xichengliudui <liuduidui@beyondcent.com>

update pull request
Signed-off-by: xichengliudui <liuduidui@beyondcent.com>

update pull request
Signed-off-by: xichengliudui <liuduidui@beyondcent.com>
2019-04-21 06:41:12 -04:00
Sugu Sougoumarane 1ab972b229 vreplication: SplitClone & VerticalSplitClone
This is an alternate and experimental version where we replace
the vtworker SplitClone and VerticalSplitClone with a vreplication
based approach.

I want to get this submitted so people can try this and provide
feedback. If the performance is acceptable, then we can solidify
this with more checks and tests.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-20 17:09:07 -07:00
Sugu Sougoumarane 6b34d20e1f
Merge pull request #4791 from planetscale/ss-vrepl
vreplication: copy functionality
2019-04-20 17:02:57 -07:00
Sugu Sougoumarane 8e63c8143c vreplication: address review comments
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-19 19:10:50 -07:00
Michael Demmer bc37021eac
Merge pull request #4826 from tinyspeck/log-error-stacks-optional
make the logging of stacks in errors an opt-in behavior
2019-04-19 15:05:41 -07:00
Michael Demmer 575395cdf5 remove misleading BEGIN / COMMIT QueryStats entries as well
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
2019-04-19 14:04:49 -07:00
Michael Demmer 5472930040 fix tests to handle the opt-in stack logging behavior
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
2019-04-19 13:58:03 -07:00
Michael Demmer 6576d18ece properly suppress begin...commit in autocommit logs
The previous (untested) implementation turned out to be in the wrong
place in the TabletServer execution tier and did not properly log
the actual statements being executed.

Implement this the right way by returning the statements that were
really executed out from the TxPool, then using those to determine
whether or not to log the statement.

Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
2019-04-19 10:38:44 -07:00
Michael Demmer 07f7fab535 make the logging of stacks in errors an opt-in behavior
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
2019-04-19 10:03:47 -07:00
SataQiu 228eec4acd fix spelling mistakes of doc
Signed-off-by: SataQiu <qiushida@beyondcent.com>
2019-04-19 12:52:20 +08:00
Rafael Chacon fffea26be3 Adds timeouts for all kinds of statements. Power to the clients!
Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
2019-04-18 16:41:54 -07:00
Alex Charis e9917406ec normalizer: do not normalize in group by
Signed-off-by: Alex Charis <acharis@hubspot.com>
2019-04-18 14:16:11 -04:00
Alex Charis 1a62d2ce61 normalizer: do not normalize in order by
Signed-off-by: Alex Charis <acharis@hubspot.com>
2019-04-17 22:59:26 -04:00
Máximo Cuadros 788434ff5f sqlparser: support for SHOW SCHEMAS
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
2019-04-18 01:24:54 +02:00
Sugu Sougoumarane b808777b0e vreplication: fix after rebase
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:28:02 -07:00
Sugu Sougoumarane 1fba59e6dd vreplication: address more review comments
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:09:54 -07:00
Sugu Sougoumarane 1b8c5962bd vreplication: address review comments
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:09:54 -07:00
Sugu Sougoumarane 4636888483 vstreamer: delete obsolete test
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:09:54 -07:00
Sugu Sougoumarane 11a8b306d9 vcopier: more tests and a few tweaks
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:09:54 -07:00
Sugu Sougoumarane e7e2b5fc07 vplayer: test copy and fix bugs
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:09:54 -07:00
Sugu Sougoumarane 9c15bbeafd vplayer: copier player dance
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:09:54 -07:00