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

167 Коммитов

Автор SHA1 Сообщение Дата
Michael Berlin d4d9d3ee25 Makefile: Let each integration test run fail after a 5 minutes timeout.
Currently, the worker tests are hanging from time to time.

Travis kills these tests automatically after 10 minutes (of not
receiving any output). We can be more aggressive about it and kill them
ourselves after 5 minutes.
2015-08-18 14:43:50 -07:00
Michael Berlin e878386bcb Revert "Makefile: Enable debug logging for worker.py."
This reverts commit 24348ab625.

The intent of the commit was to find out why worker tests sometimes do
not complete.

We know the cause now: The worker command is hanging in State: finding
target instances

Here's an example log:
https://s3.amazonaws.com/archive.travis-ci.org/jobs/75359822/log.txt
2015-08-18 14:39:03 -07:00
Alain Jobart 81571296b8 Making vertical_split.py always and only work with vtgate. 2015-08-18 08:09:56 -07:00
Alain Jobart ca77d9a5d2 Retiring zkclient2. toposerver API is going away. 2015-08-17 08:34:18 -07:00
Michael Berlin 615e002385 Makefile: Target "unit_test_goveralls", run by Travis, outputs top 10 packages with
worst coverage at the end.
2015-08-12 16:32:37 -07:00
Michael Berlin 6f9458ced2 travis: Run coveralls without specifying the repotoken.
This enables coverage reports on pull requests from Github forks.
2015-08-12 15:48:12 -07:00
Anthony Yeh c66c0b81ed go1.5: Use new syntax for ldflags -X variables. 2015-07-31 13:40:44 -07:00
Shengzhe Yao 982e1e2acf refactor java client pom structure
1. move common dependencies into parent pom.
2. upgrade com.google.guava to 18.0.
3. rename java build target to java_client_test.
4. fix makefile so java client test will run tests from each sub package.
2015-07-29 14:35:49 -07:00
Alain Jobart 1240ab94c0 Merge branch 'master' into resharding 2015-07-27 15:37:29 -07:00
Alain Jobart d4a91c59bd Adding vtgateclienttest, and using it for python client.
A lot more work will happen there over the next few weeks.
2015-07-27 15:36:30 -07:00
dumbunny a0bbdd36ee Merge pull request #904 from dumbunny/feature1
Refactor sql_builder.py
2015-07-27 12:30:23 -07:00
Michael Berlin 9b908f8085 Merge pull request #931 from michael-berlin/travis_enable_debug_logging_worker_py
Makefile: Enable debug logging for worker.py.
2015-07-27 11:35:48 -07:00
Michael Berlin 24348ab625 Makefile: Enable debug logging for worker.py.
We sporadically see that the worker.py test times out on Travis CI after 10 minutes. Enabling logging will give us better visibility to debug the problem.
2015-07-27 11:09:55 -07:00
Shengzhe Yao 2c42db70cc allow user to plugin a customized TestEnv implementation
1. Get rid of SetupCommand.java and move its logic to TestEnv.
2. Add getRpcClientFactory method in TestEnv.
3. Use setters & getters in TestEnv.
4. define vtgate.test.env and vtgate.rpcclient.factory properties in vtgate-client/pom.xml.
2015-07-26 18:47:19 -07:00
Dean Yasuda d4ec6220dc Modify sql_builder.py, add test/sql_builder_test.py. 2015-07-24 11:22:05 -07:00
sougou 65f9935095 Merge pull request #918 from youtube/suguwork
vtgate api: delete tests in client_test.py
2015-07-23 23:03:25 -07:00
Sugu Sougoumarane 42b9509636 vtgate api: delete tests in client_test.py
I removed functions from client.py because they need
to be rethought in light of the new API, but missed
removing them from client_test.py.
I've now added client_test to our integration tests
to make sure it doesn't get missed.
I'll submit this right away because it breaks import.
2015-07-23 22:54:29 -07:00
Michael Berlin 300242059c Makefile: unit_test_goveralls: Mask internal goveralls errors. 2015-07-23 15:00:20 -07:00
Michael Berlin 8a4d29b5f9 Travis: Shuffle tests around to better even out the test durations.
Moved tests out of the "ci_skip_integration_test" target because they don't seem to be so flaky.

Included "ci_skip_integration_test" target in Travis because the tests in there don't seem to be so flaky and we want maximum coverage.
2015-07-23 00:32:03 -07:00
Michael Berlin 876ce6fe21 Travis: build and test 4 Go packages simultaneously with -p flag.
Between 1, 2 and 4, 4 resulted in the shortest total duration. 4 was also better than 2 which is the capped number of availble cores in a Travis CI container.

I suspect that the default is 32 (the number of cores) and by setting it explicitly we effectively reduce the value - but reduce the stress on the system and therefore everything goes faster.
2015-07-23 00:13:29 -07:00
Michael Berlin 4d0a05134c Travis: Work-around MariaDB installation by extracting *.deb packages.
With this change, the following dependencies are no longer installed as well:
- New Relic monitoring (is no longer necessary)
- Java dependencies (no more necessary since we killed most of the old Java code)
2015-07-23 00:07:47 -07:00
Michael Berlin 51cf3301d5 Use "run_integration_tests" function to run queryservice_test. 2015-07-22 23:55:43 -07:00
Alain Jobart 0f5c7562bb Moving all python proto-generated files into py/vtproto. 2015-07-16 14:07:11 -07:00
Shengzhe Yao d4ce73af03 simplify proto generate command.
Use single line shell command to generate proto file instead of
hard coding command for each proto.

Steps:
  1. list all proto files.
  2. remove 'proto/' prefix and '.proto' suffix.
  3. run protoc for each proto and put in go/vt/proto/${proto_file_name}
2015-07-15 17:42:21 -07:00
Michael Berlin b6c924463e test: Add end-to-end test for automated horizontal resharding. 2015-07-09 23:13:17 -07:00
Alain Jobart df32088737 Switching mysqlctl command protocol from bsonrpc to gRPC. 2015-07-06 15:17:41 -07:00
Michael Berlin 6feb668dfd Merge branch 'master' into vtworker_rpc_interface_review1 2015-07-06 12:17:05 -07:00
Anthony Yeh 3ffb17ce7e Build all flavors in make docker_bootstrap. 2015-06-26 17:12:04 -07:00
Ammar Aijazi 493bfb15f1 Merge remote-tracking branch 'origin/master' into fix_tablet_clients 2015-06-26 11:59:40 -07:00
Ammar Aijazi 9b5b06c899 Added unit tests for vtdb.tablet 2015-06-25 22:52:09 -07:00
Alain Jobart 197a06d851 Splitting up time and logger event to logutil proto3. 2015-06-25 07:37:19 -07:00
Michael Berlin f49ed484a3 vtworker: Add gRPC server interface. 2015-06-22 21:04:32 +02:00
Alain Jobart eac090cd50 Renaming a few proto files. Turns out the proto we use in google3
cannot have the same <package name>.<data type> as these, or we cannot
load them at the same time. So to fix this:
- renaming the conflicting ones from xxx.proto to xxxdata.proto.
- renaming vtgateservice.VTGate to vtgateservice.Vitess

Note we can still change the names I chose here, just not back to
conflicting ones. If anyone has better ideas, we can implement
in subsequent changes. This is to get the import to google3 unstuck.
2015-06-19 08:20:58 -07:00
Alain Jobart 2337af3820 Now splitting automation proto. 2015-06-10 11:35:58 -07:00
Alain Jobart 337e97c341 Now splitting vtctl service. 2015-06-10 10:39:23 -07:00
Alain Jobart 14b82b06db Now splitting binlog. 2015-06-10 10:11:40 -07:00
Alain Jobart c47fc6ca94 Now splitting tabletmanager. 2015-06-10 09:32:15 -07:00
Alain Jobart 0f667475ec Now splitting queryservice into types and RPCs. 2015-06-10 09:26:39 -07:00
Alain Jobart 229f252570 Splitting vtgateservice into structures and services. 2015-06-10 09:22:08 -07:00
Alain Jobart 3d31196dec Fixing import override in make proto rule. 2015-06-09 10:58:01 -07:00
Alain Jobart 0d708af66f Adding binlog and replication protos. 2015-06-09 10:53:27 -07:00
Alain Jobart c2742b3a3d Adding vtgateservice proto. 2015-06-09 10:32:25 -07:00
Alain Jobart 31891be3fa Adding topo.proto, reworking queryservice.proto. 2015-06-09 07:57:47 -07:00
Alain Jobart c7ca1099ac Adding custom_sharding.py to automated tests. 2015-06-01 14:11:54 -07:00
Alain Jobart e15f38cd39 Removing clone.py & primecache.py, adding backup.py. 2015-05-20 09:00:23 -07:00
Michael Berlin 1b8cbb90f1 Initial version of automation framework.
The automation framework allows to automate cluster operations which
require a series of manual steps e.g. resharding.

A Cluster Operation has a list of task containers which are processed
sequentially. Each task container can contain one or more tasks which
will be executed in parallel.

Here's an example of a cluster operation with two task containers. The
second task container has two tasks:
- step 1
- step 2a | step 2b

If the task container contains one task, the task can emit new task
containers which will be inserted after the current task container. This
mechanism is used to fully expand Cluster Operations by special tasks
which emit new task containers e.g. "ReshardingTask".

This patchset implements the minimal steps to automate "resharding"
whereas task implementations for "vtctl" and "vtworker" are missing.
These will be added in later, separate commits.
2015-05-19 18:03:59 -07:00
Ammar Aijazi 383e2c52e4 Added worker.py to cover worker integration tests 2015-05-18 16:29:47 -07:00
Michael Berlin 02ef7cb722 Makefile: Disable parallel make because integration tests would race with each other for the same ports. 2015-05-07 15:27:47 -07:00
Michael Berlin 6a7eb9844e Makefile: Add Java tests to "test" target.
With this change, developers must have "mvn" installed or "make test"
will fail.

Travis CI did already run the test. Now "make test" and Travis CI config are both in sync again.
2015-05-06 11:42:45 -07:00
Alain Jobart d855c85c5c Adding queryservice proto definition for grpc.
(in order for this to compile, need to get the latest grpc, with this:
go get -u google.golang.org/grpc
)
2015-05-05 08:45:18 -07:00