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

Slack vitess upstream sync 2018 09 06.r0#109

Merged
zmagg merged 172 commits intomasterfrom
slack-vitess-2018-09-06.r0
Sep 11, 2018
Merged

Slack vitess upstream sync 2018 09 06.r0#109
zmagg merged 172 commits intomasterfrom
slack-vitess-2018-09-06.r0

Conversation

@zmagg
Copy link
Copy Markdown

@zmagg zmagg commented Sep 6, 2018

Slack changes:

Split workflow changes by rafael

Other changes

Allow planned reparenting to work without master/avoid master flags

not-Slack changes:

⚠️Changes to have caution about

Upgrade of packages (goyacc and protobuf)

⬆️ commit 6fe8fa8, PR vitessio#4106 from sougou/rebuild

build: update for latest goyacc

⬆️ commit 22669e9, PR vitessio#4010 from dweitzman/protobuf_v1.1.0

Upgrade golang protobuf to v1.1.0

Other changes

commit 153cb28

 PR #4097 from jvaidya/parser_fixes

Parser fixes for mysql.connector preamble queries

zmagg and others added 30 commits July 18, 2018 17:46
… so that it doesn't get

LRU evicted as part of the TabletPlanCache.

Signed-off-by: Maggie Zhou <mzhou@slack-corp.com>
Signed-off-by: Maggie Zhou <mzhou@slack-corp.com>
Instead of logging a warning for the stats types which are known
to be incompatible with prometheus (e.g. String, Rates, etc), just
silently skip them in the publish phase.

At the same time remove the throttled logger and replace with a
warning log in case new metric types are created which aren't
covered as part of the backend.

Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Also minor comment changes as suggested in PR feedback.

Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Signed-off-by: Greg Bird <greg.bird@joltup.com>
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
After passing off the information needed from a read buffer, we recycle
it with recycleReadPacket().  We don't do the same with writes, which
means we hang out to allocated memory (in the case of
ephemeralWriteSingleBuffer and ephemeralWriteBigBuffer) until the next
write on the connection needs to allocate a new buffer (i.e. not using
the global buffer). In steady state, this means we will gradually
accumulate large buffers without ever letting them be GCed. This is
wasteful, so add an analagous recycleWritePacket().

Signed-off-by: Daniel Tahara <tahara@dropbox.com>
Fix a regression where the dbname flags were removed as part of the
earlier cleanup and refactor. This is against policy since we want
to keep the flags for now.

Unlike the other user-specific db connection flags, this one does
not actually do anything at runtime except set a "DeprecatedDBName"
field in the DBConfig.

Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Extract the common functionality for formatting bind variables
out from both vtgate and vttablet's query logging modules into
a sqltypes.FormatBindVariables helper.

Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Change the internal interface for query logging so that it passes an
io.Writer into the formatter function as opposed to producing a
temporary string and calling io.WriteBytes.

This should reduce some GC pressure and enable more efficient buffer
management under heavy workloads.

Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
Replace the output section with the more up-to-date format and add some explanatory text for how to interpret it.

Signed-off-by: Michael Demmer <mdemmer@slack-corp.com>
Signed-off-by: Michael Demmer <mdemmer@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>
Per vitessio#4127, SET TRANSACTION ...
has different semantics in absence of {SESSION,GLOBAL} than does SET
tx_isolation or SET tx_readonly. Modify the data structures to reflect
that difference.

Signed-off-by: Daniel Tahara <tahara@dropbox.com>
* Also fixes cleanup bug. It should revert to tabletType provided, not RDONLY.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
the server doesn't preemptively close connections due to our client
keepalive being more aggressive than the allowed server policy.

Signed-off-by: Maggie Zhou <mzhou@slack-corp.com>
Signed-off-by: Maggie Zhou <mzhou@slack-corp.com>
Signed-off-by: Maggie Zhou <mzhou@slack-corp.com>
[MySQL][Conn] Recyle write buffers if allocated
…name-flag

restore the deprecated user-specific "dbname" flags
…-efficiency

improve query logging efficiency by passing io.Writer along
sougou and others added 26 commits September 1, 2018 08:12
add a SIGHUP handler for reloading vttablet's table ACL file
[go/mysql] refactor query benchmark to use RunParallel
In some cases (versions?) mysqldump appears to emit default expressions with the parens in the CURRENT_TIMESTAMP call.
This normalizes to no parens either way in the AST.

Signed-off-by: David Taylor <tinystatemachine@gmail.com>
MySQL accepts index definitions without explicit names, e.g. 'UNIQUE KEY (a, b)'.

Signed-off-by: David Taylor <tinystatemachine@gmail.com>
sqlparser: allow () following CURRENT_TIMESTAMP in column defs
sqlparser: make index names optional
Signed-off-by: Shlomi Noach <shlomi-noach@github.com>
Signed-off-by: Shlomi Noach <shlomi-noach@github.com>
For a high QPS application, the sqlparser generates a ton of garbage.
```
622GB    26.33% 60.87%   880.50GB 37.28% vitess.io/vitess/go/vt/sqlparser.yyParse
212.57GB  9.00% 69.87%   258.49GB 10.94% vitess.io/vitess/go/vt/sqlparser.(*yyParserImpl).Parse
```

Most of this, per the heap profile is allocations of new `yyParserImpl`
objects for every call to `yyParse`. This diff uses `sync.Pool` to
mitigate the total allocation overhead.

Modifies sql.y to fix a place where we took a reference to a stack
variable rather than making an intermediate copy.

Resolves vitessio#4174

Signed-off-by: Daniel Tahara <tahara@dropbox.com>
Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
We already use such strategy for read buffers, so it makes sense to
do the same for writes.

Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: Aaron Young <young@squareup.com>
This should be indicative for changing ephemeral packets allocation strategies

Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
[go/mysql] use sync.Pool for write buffers
…t-v3

Flush binary logs while reparenting
…tion-bit-type

Handle bit types properly so that UPDATE and DELETE work as expected during replication
Fixing PID file creation and deletion
…l_lookup

Allow the option of using null values in vindex fields
[go/mysql] add benchmark for random query sizes
update docs to use new proxy url in k8s example
Signed-off-by: deepthi <deepthi@planetscale.com>
@ameetkotian
Copy link
Copy Markdown

👍

1 similar comment
@rafael
Copy link
Copy Markdown

rafael commented Sep 11, 2018

👍

@zmagg zmagg merged commit aa65baf into master Sep 11, 2018
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.