Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.

Slack vitess 2018 12 3.r0 #118

Merged
merged 172 commits into from
Dec 3, 2018
Merged

Slack vitess 2018 12 3.r0 #118

merged 172 commits into from
Dec 3, 2018

Conversation

rafael
Copy link

@rafael rafael commented Dec 3, 2018

Slack changes:

Risky/Important community PR's

Other Changes

sougou and others added 30 commits September 22, 2018 16:43
Instead of looping through every stream, this change
makes every stream goroutine perform its own timeout check.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
This change gets rid of all locks in hcc. Instead we use the approach
of "sharing by communicating". Whenever there is a change in state,
hcc communicates the change to hc, which then performs the necessary
updates and handling.

Also, now that hc updates are trivial, the lock has been changed to
a simple Mutex, which is more efficient that RWMutex.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
It turns out that moving the serving assignment within the
goroutine introduces a data race. I've moved it back out.

Also found another incidental data race: did you know that
functions like t.Fatalf should not be called from goroutines?

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Also found a race between Close and other calls that modify state.
That case is also fixed.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: avaidyanatha <avaidyanatha@ucsb.edu>
The force_eof rule used in the parser allowed for arbitrary
statements to be appended to a DDL after a ';', which gets
passed through to mysql without any validation.

This basically means that someone could append a statement
that bypasses the ACL checks in vttablets. This is not a big
deal because people that are allowed to execute DDLs generally
have all privileges. But it's better to play this safe.

Also, the skip to end was looking for ';' characters instead
of an actual ';' token, which could also lead to exploitation.

I had to refactor the code a bit because we also ignore all
errors on partial DDL parse. We have to make sure there are
no new tokens past the ';' before accepting partial ddls.

In the process, I've renamed 'force eof' -> 'skip to end'.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Javi Fontan <jfontan@gmail.com>
chooses the most up to date tablet to run the backup on

Signed-off-by: Derek Perkins <derek@derekperkins.com>
We should only warn when the creds file is provided and a cred is not found.
Before this change it was going to warn even when the file was not provided.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
Signed-off-by: Derek Perkins <derek@derekperkins.com>
…bose

Improve warning so it's not that verbose.
based on feedback by @demmer in PR 4200

For reference, the docs for Config.Endpoint:
https://github.com/aws/aws-sdk-go/blob/8d83316e1e48/aws/config.go#L44
say "Set this to `""` to use the default generated endpoint."

Signed-off-by: Scott Lanning <scott.lanning@booking.com>
rename and drop allow multiple tables in the DDL.
This change adds support for them.

* Introduced two new members to DDL: 'from' and 'to' table lists.
* NewName is deprecated.
* For single table DDLs, only Table is set.
* For multi-table DDLs, 'from' and 'to' tables are set as needed.
* The vttablet ddl plan had unused fields. They've been deleted.
* The permissions code has been updated to use the new table names.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
This implementation follows the design from doc/VTGateSubqueries.md.

A new PulloutSubquery primitive has been created. Its action is to
execute a subquery, save the resulting value(s) in a bind variable,
and pass that down to the underlying primitive.

The type of value set depends on whether the subquery occurred in
an IN clause, etc. In the case of IN and NOT IN clauses, if the
list returned is empty, a guard variable is set to work around
the inability for IN clauses to handle an empty list syntax.

Subqueries can only be pulled out if they are not correlated.
Correlated subqueries will be handled when we add the
ability to execute expressions in VTGate.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Andres Taylor <antaylor@squareup.com>
Signed-off-by: kuba-- <kuba@sourced.tech>
There is a race condition where PMM can come up before the `mysql.sock` file is ready.  PMM will fail to start and then permanently crash.  Instead, wait for the sock file to be available and then proceed with PMM initialization.

Also, latest fix to the `vitess/pmm-client` image means we no longer need the `|| true` fix for `pmm-admin add`.

Signed-off-by: Mark Solters <msolters@gmail.com>
Installing `procps` in the `vitess/pmm-client` image resolves issue https://jira.percona.com/projects/PMM/issues/PMM-1985

Signed-off-by: Mark Solters <msolters@gmail.com>
Signed-off-by: avaidyanatha <avaidyanatha@ucsb.edu>
Signed-off-by: Derek Perkins <derek@derekperkins.com>
Signed-off-by: Derek Perkins <derek@derekperkins.com>
Signed-off-by: Derek Perkins <derek@derekperkins.com>
sougou and others added 26 commits November 24, 2018 15:31
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Since jobs are one-time non-updateable processes, we need
a way to allow evolution. This change allows you to name
the schema and vschema specs, thereby allowing you to
add new schema changes, and expire completed jobs.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
ApplySchema was too restrictive. This is an interim change to
allow for DMLs if the keyspace is unsharded. Longer term,
we should allow statements to sharded keyspaces also, but
that requires either shard targeting or a way to forward
requests to vtgate.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
helm: multiple schema and vschema jobs
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Adds wrapper to topo conn that emits stats in all operations.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
… Without this change, the project doesn't even compile in IntelliJ.

Signed-off-by: Yuichi Sasaki <ysasaki@astro-inc.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
helm: include default-fast.cnf for tests and demos
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
@rafael rafael requested a review from demmer December 3, 2018 20:47
@rafael rafael merged commit b0bbbdb into master Dec 3, 2018
@rafael rafael deleted the slack-vitess-2018-12-3.r0 branch December 3, 2018 20:51
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.