Sugu Sougoumarane
04325bae34
Formatting tweaks
2014-02-18 20:42:19 -08:00
Sugu Sougoumarane
836aa3174e
querylogz
2014-02-18 20:25:55 -08:00
Sugu Sougoumarane
dcc7900c92
txlogz first cut.
2014-02-16 21:54:08 -08:00
Sugu Sougoumarane
763a1dd8ee
Improved streamlogger.
...
Simplified the streamlogger code.
Extended it to allow for local non-http subscribers.
Added tests.
The non-http subscription will be used for additional
monitoring and status reporting.
2014-02-16 11:02:54 -08:00
Sugu Sougoumarane
aa53bd3164
query_rules can now filter by table names.
2014-02-15 15:01:09 -08:00
Sugu Sougoumarane
7c13251cc5
Check dbname in rowcache invalidator.
2014-02-15 13:39:42 -08:00
Sugu Sougoumarane
37d457c2b6
Minor tweaks to the query service API.
2014-02-14 21:14:52 -08:00
Sugu Sougoumarane
3e7db5bc00
Rowcache invalidator launch revamp
...
- Rowcache invalidator is now launched as part of query service
- vtocc can also launch rowcache invalidator, with new flag binlog-path
- Explicit flags: enable-rowcache, enable-invalidator
- vtocc also needs dba credentials for invalidator
- New sync2.ServiceManager for managing goroutine start & stop
2014-02-14 15:14:33 -08:00
Sugu Sougoumarane
efa816f87b
Better cleanup and improved readability.
...
If query_engine fails to start, it doesn't cleanup properly.
Somehow, this hasn't bitten us yet. Fixed now.
Methods checking for nil is not a common code pattern.
To prevent confusion, I've moved the nil checks one level up,
which is what people usually do.
2014-02-10 16:06:22 -08:00
Sugu Sougoumarane
7c7b770eba
Ignore cross-db transactions in rowcache invalidator
2014-02-09 14:10:04 -08:00
Alain Jobart
5dd0582c22
Merge branch 'replication'
2014-02-07 10:23:51 -08:00
Alain Jobart
28ec8c76c7
Closing RPC connection in case of failure.
2014-02-07 10:17:29 -08:00
Sugu Sougoumarane
97487eb575
More resilient Rowcache invalidator
...
Changed rowcache invalidator to:
1. Keep retrying on unexpected errors.
2. Not to stop query service. This is done by the tablet manager.
2014-02-05 17:00:16 -08:00
Alain Jobart
6b580d1ab1
Refactoring mysql passwords for CredentialServer.
...
We now ask the CredentialsServer everytime we connect for
an up to date password. Refactor code everywhere to use that
feature, and not duplicate mysql.ConnectionParams everywhere.
2014-01-31 13:21:33 -08:00
Alain Jobart
42ec640375
Now forwarding the context through vtgate.
2014-01-29 12:45:38 -08:00
Alain Jobart
47346a81e0
Simplifying registration glue.
2014-01-29 11:42:05 -08:00
Alain Jobart
443b8859c8
Merge branch 'master' of github.com:youtube/vitess
2014-01-29 10:42:04 -08:00
Alain Jobart
9ab7218b62
Fixing package name.
2014-01-29 10:41:36 -08:00
Sugu Sougoumarane
ccb7c11732
Merge branch 'rowcache'
2014-01-29 09:12:12 -08:00
Sugu Sougoumarane
b4a7090051
Disallow PASS_DML plan
...
PASS_DML doesn't play well with rowcache, update stream,
and filtered replication. Blacklisting it for now.
We'll need to later clean up the code paths that lead to
it once things stabilize.
2014-01-29 07:30:54 -08:00
Alain Jobart
c71c5a1b33
Moving client side of queryservice to its own lib.
2014-01-28 16:26:45 -08:00
Alain Jobart
428e929fdb
Adding context, removing unused params.
2014-01-28 15:48:40 -08:00
Alain Jobart
99dad4d1ff
Gorpc service is now a plugin for vttablet/vtocc
2014-01-28 15:30:22 -08:00
Sugu Sougoumarane
50b5cf6bd2
Handle unrecognized DDLs as non-fatal.
...
Stopping query service for unrecognized DDLs is too abrupt.
Instead, increment the InternalErrors.Invalidation counter
so we can tie that variable to an alert.
2014-01-27 15:30:49 -08:00
Alain Jobart
3616ccf727
Typing the UpdateStream replies.
2014-01-27 11:29:43 -08:00
Alain Jobart
8aa9dca8cf
Moving binlog into its own package.
2014-01-27 09:49:54 -08:00
Sugu Sougoumarane
2c4ad6c923
Add .9 precision for nanosecond accuracy.
2014-01-03 12:17:25 -08:00
Sugu Sougoumarane
4c691db695
Change streamlogs to not use scientific notation.
2014-01-03 11:56:10 -08:00
Sugu Sougoumarane
db9747fa21
Merge branch 'vtgate'
2013-12-24 15:25:43 -08:00
Sugu Sougoumarane
064d69300d
go vet cleanup
2013-12-24 15:24:45 -08:00
Liang Guo
9eccebf797
Rename rowcache parameter names
2013-12-18 16:23:44 -08:00
Alain Jobart
a272a5b993
Group id is now always an int64.
2013-12-18 09:43:13 -08:00
Sugu Sougoumarane
90591f9ce7
vttablet error stats recategorization.
...
InfoErrors: Expected failures from normal app flows, like dup key.
Errors: Errors that cause actual failures in the app. A high rate here
should generate a page.
InternalErrors: Unexpected internal errors, that should generate an
alert (not a page), which need to be escalated to the corresponding
developers.
2013-12-07 20:16:52 -08:00
Sugu Sougoumarane
9f6b283fc2
Stats & logging for UpdateStream
...
UpdateStream now reports:
- Number of streams it's running
- Number of errors it's encountered
- Number of statements or events parsed
- Number of transactions
Also took care of some misc TODOs.
2013-12-06 11:50:39 -08:00
Sugu Sougoumarane
e8cbdc2ce6
Undo some ineffective optimizations.
...
Allow streaming queries to complete on shutdown.
Don't throttle streaming queries till first row return. It doesn't
help.
2013-12-05 21:16:49 -08:00
Sugu Sougoumarane
6b2a922189
Delete reserved connections (deprecated).
2013-12-04 14:50:29 -08:00
Sugu Sougoumarane
3d3d08f87f
Custom bson for updatestream protos.
2013-12-02 21:31:51 -08:00
Sugu Sougoumarane
35746ec3fd
Move rpc types to proto.
2013-12-01 15:53:16 -08:00
Ryszard Szopa
35f95d31bd
Export QPS rates from the query engine.
2013-11-27 16:50:33 -08:00
Ryszard Szopa
7c86a042bd
Expose SqlQuery state.
2013-11-27 14:12:35 -08:00
Sugu Sougoumarane
9e4e320cee
Merge branch 'master' into new-binlog-streamer
2013-11-26 21:46:38 -08:00
Sugu Sougoumarane
d25a430ebc
Fix tests after state var name change.
...
Submitting ric's change.
2013-11-26 21:45:32 -08:00
Sugu Sougoumarane
502f884e55
The grand purge: delete old binlog code
2013-11-26 20:49:57 -08:00
Sugu Sougoumarane
4eb40cc6de
fix merge error: delete states
2013-11-26 18:55:43 -08:00
Sugu Sougoumarane
88fe17a2bc
Merge branch 'new-binlog-streamer'
...
Conflicts:
go/vt/tabletserver/rowcache_invalidator.go
2013-11-26 18:50:05 -08:00
Sugu Sougoumarane
b01386add9
Standardize GroupId type and usage
2013-11-26 10:23:04 -08:00
Ryszard Szopa
a3d4b44461
Stop using stats.States in most cases.
2013-11-25 12:19:15 -08:00
Sugu Sougoumarane
92c745a798
Fix data race in conn_pool
2013-11-20 00:40:27 -08:00
Sugu Sougoumarane
78c880dcad
Big leap: update_stream uses binlog_streamer
...
The update stream API also changes. It accepts a group id
based BinlogPosition as input, and streams events one at a
time. The position is also a separate event at the end of
each transaction.
2013-11-18 00:41:05 -08:00
Sugu Sougoumarane
402b9dad0b
unify return type for EventStreamer
2013-11-17 01:27:03 -08:00
Sugu Sougoumarane
4745bacd33
updatestreamctl uses event_streamer (WIP)
2013-11-17 00:54:55 -08:00
Sugu Sougoumarane
5d1f5238da
Suppress tx_pool_full logging, too spammy.
2013-11-06 08:12:42 -08:00
Sugu Sougoumarane
6627763690
improved "in use" error, drop vttopo
...
Numbered pool now accepts a purpose when locking resources,
and reports it as part of the error if it's in use.
Also dropping vttopo from Makefile and .gitignore.
2013-11-04 07:38:53 -08:00
Sugu Sougoumarane
38e6cc5bac
Merge branch 'barnacle'
2013-10-25 21:29:07 -07:00
Sugu Sougoumarane
672d706e71
Tests for ExecuteBatch structs.
2013-10-25 21:26:47 -07:00
Liang Guo
254286caf6
Remove false warnings in vttablet
2013-10-24 14:15:56 -07:00
Liang Guo
f08c07c171
fix vttablet uncaught panic on commit
2013-10-24 11:04:22 -07:00
Sugu Sougoumarane
9685d740f6
vttablet protocol changes
...
Client stops transmitting ConnectionId so we can drop
support for reserved connections (obsolete). Also changed
ExecuteBatch API to separate out session info from query list.
2013-10-23 07:45:43 -07:00
Sugu Sougoumarane
d379561f66
Merge branch 'barnacle'
2013-10-22 21:01:52 -07:00
Sugu Sougoumarane
5c590cbc33
tests for tabletserver bson types
2013-10-22 08:46:54 -07:00
Liang Guo
2bee15f6b3
Merge branch 'master' into config
...
Conflicts:
go/vt/tabletserver/cache_pool.go
2013-10-21 14:33:40 -07:00
Sugu Sougoumarane
e59ea49f58
Merge branch 'master' into barnacle
2013-10-19 09:19:48 -07:00
sougou
7c5168df6a
Merge pull request #31 from dgryski/go-vet-lint-fixes
...
Some trivial fixes from "go vet" and "golint"
2013-10-19 09:17:44 -07:00
Damian Gryski
9fe8e50c32
all: for foo, _ := range ... -> for foo := range ...
2013-10-19 14:35:39 +02:00
Damian Gryski
276daeef9b
all: format string fixes
2013-10-19 14:32:06 +02:00
Sugu Sougoumarane
dd01dafbd8
Simplify bson encode API.
2013-10-18 15:43:26 -07:00
Liang Guo
9b7beac056
Merge branch 'master' into config
2013-10-17 16:59:36 -07:00
Liang Guo
b99f367070
Fix memcache stats variable reference
2013-10-17 16:55:38 -07:00
Liang Guo
1223ccd9c9
Merge branch 'master' into config
...
Conflicts:
go/vt/tabletserver/queryctl.go
test/connection_test.py
2013-10-17 15:46:30 -07:00
Liang Guo
3b0d0c540e
Update config parameter code
2013-10-17 14:04:40 -07:00
Sugu Sougoumarane
12966797ae
Merge branch 'master' into barnacle
2013-10-14 21:57:35 -07:00
Sugu Sougoumarane
3f0fd5620b
minor tweaks.
2013-10-12 22:54:18 -07:00
Sugu Sougoumarane
42c6dd56eb
update stream standardized error handling
2013-10-12 17:07:29 -07:00
Sugu Sougoumarane
d173b90335
more tweaks to throttler & commit vars.
2013-10-11 10:22:18 -07:00
Sugu Sougoumarane
2504714061
Track commit time, and further simplified throttler.
2013-10-11 09:54:28 -07:00
Ryszard Szopa
3a94c86870
Fix typo in streamlogger.
2013-10-10 12:51:34 -07:00
Sugu Sougoumarane
da5c050d5e
Custom bson encoding for rpc objets.
2013-10-04 00:50:15 -07:00
Sugu Sougoumarane
c82bc9ce87
Mild improvement in GetSessionId check.
2013-10-03 10:25:36 -07:00
Sugu Sougoumarane
c756f9ca57
stats tx -> transaction
2013-10-02 21:00:01 -07:00
Sugu Sougoumarane
3f0652d9b5
Rename Cache related vars more consistently.
2013-10-02 20:29:12 -07:00
Sugu Sougoumarane
31d8e6697e
Use better suffixes for new stats vars.
2013-10-02 17:04:50 -07:00
Sugu Sougoumarane
3809d76bc2
Move error constants into mysql package.
2013-09-30 09:35:29 -07:00
Sugu Sougoumarane
ee8a454e2d
Report deadlocks as separate error stats.
2013-09-29 13:36:05 -07:00
Sugu Sougoumarane
badea14914
Better error messages.
2013-09-27 18:40:12 -07:00
Sugu Sougoumarane
2d46d9a7d2
Throttle for streaming queries.
...
Also includes changes to semaphore to support timeouts.
2013-09-27 01:18:37 -07:00
Sugu Sougoumarane
a09a30c310
Simplified query service state machine.
...
Got rid of CLOSED state, renamed OPEN to SERVING to mirror the
NOT_SERVING state. Also, DisallowQueries does not take a forRestart
flag any more. Query service always returns RETRY during (and after)
shutdown.
2013-09-21 13:55:44 -07:00
Sugu Sougoumarane
89449e4d1d
Improved transaction error handling.
2013-09-20 22:21:30 -07:00
Sugu Sougoumarane
4a046112d4
Add idle timeout tracking to Numbered.
2013-09-19 11:43:06 -07:00
Liang Guo
95844e4d4d
Change vttablet and tools to accept dbconfig and queryserver configs in command line
2013-09-17 16:06:43 -07:00
Liang Guo
f0e2e5643f
Update vttablet vars
2013-09-12 17:13:43 -07:00
Liang Guo
4b597e9597
Replace MySQL vars to Mysql to enable tidy stats
2013-09-10 15:40:18 -07:00
Liang Guo
d0092b04f0
Export memcache stats, table stats and query stats through stats package.
2013-09-08 22:22:52 -07:00
Liang Guo
84cada73a2
Merge branch 'master' into liguo
2013-09-05 14:22:44 -07:00
Liang Guo
d14606511e
Export memcache stats, table level stats, and query level stats through stats package
2013-09-05 14:21:13 -07:00
Sugu Sougoumarane
8562d88484
Stricter check on GetSessionId
2013-09-04 19:46:37 -07:00
Liang Guo
2ed2a83699
Export Memcache internal stats through stats package.
2013-09-03 17:00:43 -07:00
Alain Jobart
ed32fa48db
Removing unused SessionParams attributes.
...
The python code only uses Keyspace and Shard.
That also allows me to remove KeyRange from dbconfigs,
was only used to validate against the connection params.
(the other one, Dbname, is used in other places).
2013-09-02 22:44:15 -07:00
Sugu Sougoumarane
ceb2052c44
revamped rowcache. Drop support for anything that requires nested
...
lookups. Use consolidated IN clauses for tables that have simple
primary keys.
2013-09-02 17:17:23 -07:00
Sugu Sougoumarane
3bdeedf1b4
fix race condition on spot check
2013-08-29 22:42:57 -07:00
Sugu Sougoumarane
e59c7de895
abort streaming queries on shut down.
2013-08-26 00:51:21 -07:00
Sugu Sougoumarane
eee9608a80
increase grace period for spot checks to 10s
2013-08-25 10:16:11 -07:00
Sugu Sougoumarane
dd57b0cce4
improved rocache spot check
...
knob for spot-checking
wait longer for memcache & fail fatally on failure
don't store rows with long keys in rowcache
2013-08-25 00:44:19 -07:00
Sugu Sougoumarane
6cefee5765
special prefix for tx pool error
2013-08-20 14:00:00 -07:00
Sugu Sougoumarane
ef506f5c93
rowcache: verifyMode support
2013-08-19 22:21:26 -07:00
Sugu Sougoumarane
1a635578bc
expvar -> stats phase 2
2013-08-14 15:26:49 -07:00
Sugu Sougoumarane
cfb38ce17a
bug fix: typo on pool check.
2013-08-12 11:31:08 -07:00
Sugu Sougoumarane
075a6c2069
Remove VT prefix from exported vars
2013-08-12 10:21:52 -07:00
Sugu Sougoumarane
b89eeaefc4
Voltron expvar exported as individual vars
2013-08-12 01:47:35 -07:00
Sugu Sougoumarane
217b2e3061
stats: change states to int64
2013-08-11 18:37:28 -07:00
Sugu Sougoumarane
0fac9bf44a
stats: Add support for func based export vars.
2013-08-11 17:49:24 -07:00
Ryszard Szopa
2b414a7d03
Reorganize functionality that's common for servers and query servers.
2013-08-09 20:28:57 -07:00
Ryszard Szopa
59c2fe3bf4
Do not write the debug querylog when the streaming query log is available.
2013-08-09 16:52:47 -07:00
Ryszard Szopa
2ccb58696e
tabletserver.IsHealthy.
2013-08-08 23:45:39 -07:00
Ryszard Szopa
66cf2567c4
Convert commands to use glog.
...
Conflicts:
go/cmd/vtocc/vtocc.go
go/cmd/vttablet/vttablet.go
2013-08-06 14:58:10 -07:00
Ryszard Szopa
cead93c364
Automatic rewrite of relog import paths and calls to use glog.
...
Commands run:
find go -name "*.go" | xargs sed --in-place -r 's,"github.com/youtube/vitess/go/relog",log "github.com/golang/glog",g; s,relog.Info,log.Infof,g; s,relog.Warning,log.Warningf,g; s,relog.Error,log.Errorf,g; s,relog.Fatal,log.Fatalf,g; s,relog.Debug,log.V(6).Infof,g'
find . -name '*.go' -exec gofmt -w {} \;
2013-08-06 14:56:00 -07:00
Sugu Sougoumarane
79fb4f179f
Prep work for alternate ways to export variables, and more comments and
...
tests.
2013-08-05 11:50:01 -07:00
Alain Jobart
d93747081a
Now moving BinlogPosition into mysqlctl/proto.
...
And unifying it with BlPosition.
2013-08-01 18:08:10 -07:00
Sugu Sougoumarane
b00275025a
rowcache: bug fix on closing of CachePool
2013-07-24 13:33:14 -07:00
Sugu Sougoumarane
4ec7191503
rowcache: change to a simplified prefix scheme
2013-07-23 17:27:03 -07:00
Sugu Sougoumarane
0c3e481e8f
rowcache as child, a few fixes
2013-07-22 22:29:43 -07:00
Sugu Sougoumarane
38e639d96b
rowcache as child, phase 2
2013-07-22 22:24:17 -07:00
Sugu Sougoumarane
caa0aa30f9
memcache as child of vttablet, phase 1.
2013-07-22 22:24:17 -07:00
shrutip
bf31119e76
Fix for update stream test.
2013-07-19 18:38:13 -07:00
Sugu Sougoumarane
043a1633bb
bug fix: Use cachePool.IsClosed to check if rowcache is enabled
2013-07-19 15:17:50 -07:00
Ryszard Szopa
0d046a5984
Replace code.google.com with github.com/youtube/vitess.
2013-07-18 18:18:20 -07:00
Alain Jobart
bbc923036c
Fixing debug/vars for invalidator.
2013-07-15 11:38:13 -07:00
Sugu Sougoumarane
3ac32cae1a
improved compareRow, handles some race conditions
2013-07-14 09:13:58 -07:00
Sugu Sougoumarane
c7c2a291d5
Use memcache multi-gets for higher rowcache efficiency
2013-07-14 01:23:53 -07:00
Shruti Patil
c9fb5d8aaa
Custom bson codec and error report cleanup.
2013-07-12 16:41:41 -07:00
Shruti Patil
e9955bf3dd
Simplified error types for invalidator.
2013-07-12 00:14:08 -07:00
Shruti Patil
bc1ccfac22
Config changes and debug statements.
2013-07-11 17:46:43 -07:00
Shruti Patil
90c2d3e06e
Rowcache invalidator and update stream improvements.
2013-07-11 15:09:27 -07:00
Sugu Sougoumarane
8bd9e4d597
support for schema overrides
2013-06-04 14:15:15 -07:00
Sugu Sougoumarane
029eaf8612
match RoundRobin API with ResourcePool and start using ResourcePool
2013-05-14 16:04:23 -07:00
Sugu Sougoumarane
44a999e098
return transaction id in a struct for rpc calls
2013-05-09 14:25:40 -07:00
Sugu Sougoumarane
edeec1a84f
change mysql API to accept string instead of []byte for queries
2013-04-30 13:00:43 -07:00
Sugu Sougoumarane
c7fda52899
add more variables for GetSessionId validation
2013-04-25 13:41:44 -07:00
Sugu Sougoumarane
a3c2ce4fd7
bson spot optimizations & test fixes
2013-04-24 12:54:55 -07:00
Sugu Sougoumarane
6fc32af99f
new feature: transaction log, and simplified stats urls
2013-04-18 10:34:04 -07:00
Sugu Sougoumarane
85fd9dff0f
selflessness and atomic normalization
2013-04-10 15:43:10 -07:00
Sugu Sougoumarane
65b1fd7f94
tweak APIs to make them more robust
2013-04-05 17:19:06 -07:00
Sugu Sougoumarane
32781e4c6c
query rules phase 3: feature complete
2013-04-05 13:17:04 -07:00
Sugu Sougoumarane
e544e8997a
query rules phase 3: rules engine core functionality
2013-04-02 11:55:33 -07:00
Sugu Sougoumarane
085aa919aa
query rules phase 1: data structures & convenience functions
2013-03-15 13:15:06 -07:00
Mike Solomon
105e9ee395
break out traceback into its own package
...
fix data race on flags
2013-03-14 12:16:32 -07:00
Alain Jobart
b3e7fa6da6
Adding KeyRange to GetSessionId, and enforcing correct values on
...
the tabletserver side.
LGTM Mike & Sugu.
2013-03-11 11:53:08 -07:00
Mike Solomon
81e550ad3e
move handy atomic macros to sync2
2013-03-07 19:18:45 -08:00
Sugu Sougoumarane
3e00995696
delete dead code
2013-03-07 14:09:55 -08:00
Shruti Patil
f0412f06f4
vt_binlog_server, its api and improvements in update_stream - memory improvements, bug fixes.
2013-02-28 14:52:27 -08:00
Alain Jobart
753b4af2ea
Logging query engine state transitions, and using new atomic class.
...
LGTM Sugu.
2013-02-25 16:35:00 -08:00
Sugu Sougoumarane
2ded9d13be
more logging and diagnostics for schema reloads
2013-02-22 17:03:49 -08:00
Alain Jobart
f571f4ffb1
More efficient memory usage in streaming.
...
LGTM Mike, Ric, Sugu.
2013-02-21 15:59:33 -08:00
Sugu Sougoumarane
806e757605
Record queries executed during transaction for better diagnostics
2013-02-21 10:04:44 -08:00
Sugu Sougoumarane
929c1be6f5
tabletserver bug fix: fast fail on tx pool full. Otherwise, it causes domino effects under high stress.
2013-02-20 21:50:47 -08:00
Sugu Sougoumarane
08f55259f4
More graceful handling of connection error during qfetch
2013-02-01 14:25:31 -08:00
Sugu Sougoumarane
351ee8bb3a
tabletserver: qFetch should handle conn pool errors, and guarantee broadcast for consolidation.
2013-01-29 23:34:09 -08:00
Sugu Sougoumarane
3c030c757d
stats & diagnostics: query_stats and health checks
2013-01-28 13:33:04 -08:00
Shruti Patil
136063d078
Changes for rowcache_invalidator and the corresponding integration test and some related fixes to tabletserver.
2013-01-25 17:09:32 -08:00
Ric Szopa
bcaa39d322
Decouple streamlogger registration from serving logs.
2013-01-09 12:49:24 -08:00
Ric Szopa
86332ed4bb
Use fractional seconds uniformly in the stream log.
2013-01-09 12:49:20 -08:00
Ric Szopa
cc3c447603
Make streamlog publish unfiltered data.
2013-01-09 12:49:16 -08:00
Alain Jobart
d3feb974e8
Adding a simple way to report States to debug/vars, using it for
...
sql engine status, zk conn in vttablet, zkocc->zk conns.
LGTM Mike.
2012-12-26 15:41:42 -08:00
Sugu Sougoumarane
ac403f00aa
improved error handling, reload catches panics, fix test
2012-12-19 17:48:02 -08:00
Shruti Patil
580a0e2fa1
Changed dbconfigs to tabletserver dependency.
2012-12-12 15:21:25 -08:00
Alain Jobart
fc280695ea
Making max table count a constant, consistent to 10000.
...
LGTM Sugu.
2012-12-11 15:04:40 -08:00
Sugu Sougoumarane
f17182be7a
allow bind vars in select list, but log a warning
2012-12-10 21:14:21 -08:00
Alain Jobart
5ed0d42a60
Using time.Second more extensivily.
...
LGTM Sugu.
2012-12-10 12:04:42 -08:00
Sugu Sougoumarane
5c26bf56ae
improved state and panic reporting
2012-12-05 16:57:03 -08:00
Sugu Sougoumarane
4dab186aca
use a more predictable scheme of obtaining field info for selects
2012-12-05 15:22:24 -08:00
Alain Jobart
3d57d98fb4
Tests now wait for tablets to be serving when required.
...
(and various test fixes).
LGTM Mike.
2012-12-03 12:25:19 -08:00
Ric Szopa
303d6b6065
occ_test runs vttablet
2012-11-28 16:41:43 -08:00
Sugu Sougoumarane
dbfde3d6e2
simplify logstats boilerplate code
2012-11-19 16:24:03 -08:00
Sugu Sougoumarane
cbffce38d5
prepwork for VM. split SqlQuery into two classes.
2012-11-15 13:47:39 -08:00
Ric Szopa
bdb65c58b8
JSON in sensitive data string representation.
2012-11-14 12:53:34 -08:00
Ric Szopa
ece66e050e
Redact away dbconfig password.
2012-11-14 12:53:32 -08:00
Sugu Sougoumarane
a306a055f8
end to end tests for type system & some bug fixes
2012-11-12 11:53:19 -08:00
Sugu Sougoumarane
169f86c653
enforce strict mode & other misc fixes
2012-11-09 11:54:43 -08:00
Alain Jobart
f4ef9d3714
Adding a PreflightSchema operation. Using it in ApplySchema on a tablet.
...
LGTM Mike / Sugu.
2012-11-08 11:05:26 -08:00
Sugu Sougoumarane
fb806cf4dc
tabletserver: introduce a more formal type system
2012-11-05 14:28:37 -08:00
Sugu Sougoumarane
31f5be368a
add error stats for unexpected panics so they can be tracked
2012-10-30 14:57:32 -07:00
Sugu Sougoumarane
d04ec84572
catch all panics so we don't crash and burn on bugs
2012-10-30 14:27:28 -07:00
Sugu Sougoumarane
a037491508
tx pool: if full, wait for connections instead of failing
...
disallow queries: accept shutdown reason to return different error categories to clients
2012-10-26 10:54:02 -07:00
Ric Szopa
f4024cdfa5
RPC methods take a context argument.
...
* * *
The context object is passed around.
* * *
the context is passed as interface{}
* * *
Bring back old function signatures.
* * *
Context-taking RPC method can declare their arguments using the real context type.
* * *
Use inteface{} for context in rpcplus.
2012-10-24 12:49:59 -07:00
Alain Jobart
957bd40234
Moving sqlquery API to proto.
...
LGTM: Sugu.
2012-10-15 15:29:42 -07:00
Sugu Sougoumarane
de06fdca10
revamped timer
2012-09-27 17:31:19 -07:00
Alain Jobart
912b05e16d
Moving three more structs into proto, removing an unused one.
...
LGTM Sugu.
2012-09-24 16:57:23 -07:00
Alain Jobart
1485664c43
Splitting the data structures used in mysql-related RPC into proto submodules.
...
LGTM Sugu and Mike.
2012-09-24 15:14:48 -07:00
Sugu Sougoumarane
1feba3990e
tabletserver: allowQueries now retries indefinitely until it can connect to a db.
...
tabletserver: removed race conditions & deadlocks around allow & disallowQueries.
2012-09-20 17:46:35 -07:00
Ric Szopa
b24920ae86
Log SqlQuery events using streamlog.
2012-09-19 12:58:50 -07:00
Mike Solomon
8bac1b1f06
add tablet change callback to bridge tablet server and tablet manager
2012-09-19 01:06:46 -07:00
Sugu Sougoumarane
8d927b230b
cleaner & more efficient mysql.go
2012-09-17 13:14:17 -07:00
Sugu Sougoumarane
9ac3572bba
strip multiple trailing comments instead of just last one for query uniqueness
2012-09-12 11:33:44 -07:00
Alain Jobart
2a115de197
Not putting streaming connections into the active pool,
...
so they don't inherit the timeout.
LGTM Sugu.
2012-09-11 15:58:05 -07:00
Alain Jobart
fb70af1311
Renaming a few more 'self' to more meaningfull names.
...
LGTM Sugu.
2012-09-04 16:58:16 -07:00
Alain Jobart
00f740bfa7
Using a different connection pool for streaming SQL queries.
...
And making the streaming response size a config variable while
I'm at it.
LGTM Sugu.
2012-08-31 15:27:42 -07:00
Alain Jobart
e4aec22b63
Streaming SQL queries now return multiple responses in one RPC response.
...
So we don't use StreamQueryResult, but just QueryResult (simpler
and faster).
Also fixing a bug if using cbson, where the decode_next method
returns -1 instead of the offset at the end of the decode.
LGTMike.
2012-08-29 17:05:14 -07:00
Alain Jobart
90e0a63589
Code clean-up: renaming a few 'self' into variable names,
...
to follow newer code conventions.
LGTM: Sugu
2012-08-28 16:05:34 -07:00
Alain Jobart
1138c656aa
Now using rpcplus package everywhere, and adding support for streaming
...
mysql queries using a streaming RPC API. Only the go client side is
in here, the python client code will be next.
LGTM by Mike and Sugu over the last couple weeks.
2012-08-27 16:26:06 -07:00
Alain Jobart
d567446f6a
Go-formatting that file.
2012-08-27 14:04:32 -07:00
Sugu Sougoumarane
526a3d7a6b
report memcache stats.
2012-08-26 21:33:00 -07:00
Sugu Sougoumarane
f42fac26e6
Protocol changes: Change most rpc APIs to use structs.
2012-08-23 16:05:41 -07:00
Alain Jobart
dc08f7958f
Fixing tabletserver unit test to pass.
...
LGTM from Sugu.
2012-08-17 11:23:59 -07:00
Sugu Sougoumarane
3ff4f463c3
report all time stats in nanoseconds
2012-08-15 14:10:53 -07:00
Sugu Sougoumarane
e448f50dcf
config revamp: convert dbconfig maps to actual structs
2012-08-08 16:11:15 -07:00
Mike Solomon
dc267d8b0c
merge
2012-08-02 00:02:03 -07:00
Mike Solomon
5866f155cd
gofmt
2012-08-01 23:51:05 -07:00
Ric Szopa
aac30617e9
Merge Sugu's changes.
2012-07-31 15:07:54 -07:00
Ric Szopa
5107b7aeff
Separate authenticated rpc server.
2012-07-31 14:42:18 -07:00
Sugu Sougoumarane
1440c2fc22
Moving config & dbconfig parsing back to vtocc.go
2012-07-31 14:37:19 -07:00
Sugu Sougoumarane
f1843c18c5
New protocol for handling multi-dml updates
2012-06-21 18:28:58 -07:00
Sugu Sougoumarane
ad9c110c79
flags reorg: moved some flag initializations to their respective packages.
...
port is now specified in the command line instead of config file.
2012-06-21 16:21:45 -07:00
Sugu Sougoumarane
93669dff3b
bug fix in base64 decode
2012-06-13 12:49:51 -07:00
Shruti Patil
cb08a7a9a2
Protocol change for control commands to remove the 'Database' field from it, since mysql cannot supply it for 'COMMIT'.
2012-06-11 14:14:12 -07:00
Sugu Sougoumarane
a66124fe7c
Support for db name verification for row cache invalidation messages.
...
Also, changed DDL invalidation to expect base64 encoded strings to avoid binary snafus.
2012-06-07 14:30:41 -07:00
Ric Szopa
02115e7048
Change the license notice to be shorter and refer to the license file.
2012-06-07 11:55:06 -07:00
Sugu Sougoumarane
97e4e35b64
fix typo in error msg in table_info
...
InvalidateForDDL should allow processingin shutdown mode
2012-06-06 13:49:51 -07:00
Sugu Sougoumarane
3aee0efca2
bug fix: active pool was using the wrong time out value to poll for long running queries.
2012-05-31 15:38:39 -07:00
Sugu Sougoumarane
ba7248ed40
bug fix: honor invalidation commits while in shutdown mode.
2012-05-22 16:44:28 -07:00
Mike Solomon
5d11f23016
fix whitespace trimming
2012-05-14 23:01:56 -07:00
Mike Solomon
269bded836
gofmt
2012-05-08 10:34:22 -07:00
Sugu Sougoumarane
30f0fa8f15
tabletserver: ExecuteBatch now returns a QueryResult list
2012-05-14 12:13:26 -07:00
Sugu Sougoumarane
f7bb1261bb
bug fix: pk column validation for row cache was incorrect.
2012-05-08 16:14:43 -07:00
Sugu Sougoumarane
6e7de66f2e
added transaction support for invalidation API.
...
changed invalidation API to validate that strings are base64 encoded.
fixed minor dbug/vars reporting problem if vtocc could not initialize correctly.
2012-05-03 15:11:24 -07:00
Sugu Sougoumarane
16249b4972
bson marshal: Don't use Reserve for string & bytes data, they may be too long.
...
resurrected schema reloader. it's still needed.
readable query info error message.
remove ever-changing auto_increment info before hashing table info.
2012-05-02 23:15:49 -07:00
Sugu Sougoumarane
34e59e452f
minor reporting bug fix in query cache.
2012-04-27 15:48:09 -07:00
Sugu Sougoumarane
e71dcfe7c8
optimization stagte2: chunked writer for bson
2012-04-25 13:40:45 -07:00
Sugu Sougoumarane
11eb137452
optimzation stage1:
...
- Cache & reuse field info for selects
- Optimization in QueryBson for reading
- Move the defer closure out of Execute into its own function
- Delete unused execCacheResult
2012-04-24 11:22:23 -07:00
Sugu Sougoumarane
929765a059
bug fix: Handle the case of cardinality being NULL.
2012-04-17 14:52:10 -07:00
Sugu Sougoumarane
2cfad8fddf
rowcache: change encoding from bson to a custom packed binary format.
2012-04-16 14:47:05 -07:00
Sugu Sougoumarane
7e1a1e4ff7
roundrobin: Revamped to handle deadlocks & race conditions.
...
snitch: fix panic creator.
token: Handle error of just ':' as bind var name.
sqlquery: trap random panics to log the query that caused them.
2012-04-07 16:25:47 -07:00
Sugu Sougoumarane
3d02c8ad78
support for auto-increment & default value columns in pk
2012-04-03 00:51:50 -07:00
Sugu Sougoumarane
e205ecfd09
track invalidations by table
2012-04-02 21:46:00 -07:00
Sugu Sougoumarane
e2e3e0ef00
copyright deviolation
2012-04-01 21:58:56 -07:00
Sugu Sougoumarane
1f39441929
rowcache: simpler, more robust, and less chatty invalidation scheme.
2012-04-01 21:56:48 -07:00
Sugu Sougoumarane
15c1443004
schema: handle case where cardinality==0
...
tabletserver: copy read-only subquery results before normalizing
tabletserver: add function to validate the invalidation keys
tablet_server: bug fix. was not disabling cache if pk types were invalid
2012-04-01 17:14:58 -07:00
Sugu Sougoumarane
cc4d3d2878
tabletserver: InvalidateForDDL
...
memcache: export stats
2012-03-29 16:31:10 -07:00
Sugu Sougoumarane
5c5695e7ec
use fnv hash to generate unique prefixes for row cache
...
fix some tests that were failing on slow dbs
2012-03-28 14:23:04 -07:00
Sugu Sougoumarane
35229bf0c1
shorten the life of invalidation objects in memcache
2012-03-27 15:59:19 -07:00
Sugu Sougoumarane
db2be9f119
skip pk row cache optimization if there's an order by clause
...
display query plans for query_cache stats
rowcache: limit size to 4k
2012-03-27 12:19:39 -07:00
Sugu Sougoumarane
be11a853c0
sqlquery: change invalidation function to use new key encoding scheme.
2012-03-26 13:18:37 -07:00
Sugu Sougoumarane
893b05f289
execution: include pk columns to indexes for covering index queries.
2012-03-26 00:04:47 -07:00
Sugu Sougoumarane
82e589636b
schema: track cardinality of index columns
...
parser: added support for USE INDEX syntax
execution: Improved plan printing
execution: Use cardinality for more accurate index selection
execution: Add use index to subqueries
tests: More readable exec_cases.txt
2012-03-25 22:20:08 -07:00
Sugu Sougoumarane
bd24342935
memcache: bug fix on large gets
...
schema: disallow caching for tables with fixed length binary columns
update_stream: allow char columns in primary key
inserts: allow inserts with unspecified columns lists
more reliable ddl throttle scheme
stats: track row not found separately from misses
2012-03-24 12:57:06 -07:00
Sugu Sougoumarane
db4497300d
row cache: unit tests done.
2012-03-22 01:01:44 -07:00
Sugu Sougoumarane
6831be96fa
rowcache: almost done!
2012-03-20 17:33:11 -07:00
Sugu Sougoumarane
69b96741f9
refactor: created new reusable pools package by pulling code out of connection pools.
2012-03-16 17:07:27 -07:00
Sugu Sougoumarane
a082e88409
updated to go's new build system and weekly.2012-03-04
2012-03-11 17:53:40 -07:00
Sugu Sougoumarane
2899c45aea
tabletserver: big change. Fix all unprotected reads, standardize APIs and naming conventions.
2012-03-08 15:13:53 -08:00
Sugu Sougoumarane
412916748b
Remove generated files _testmain.go, and undo manual changes of test files.
2012-02-29 14:10:06 -08:00
Sugu Sougoumarane
72a862e6b3
initial source code check-in.
2012-02-24 23:30:03 -08:00