Commit Graph

28 Commits

Author SHA1 Message Date
Brett Hazen
3ec9ef3d81 Merge pull request #1117 from basho/feature_gg_group_by_updowngrade
Rejig of updown test suite to add group_by tests
2016-08-17 16:20:57 -06:00
andytill
42435eb967 Convert the configuration to 1.3 for the repl object reformat test. 2016-08-17 15:16:24 +00:00
andytill
33dae21bc7 Comments on why riak.conf is being modified. 2016-08-17 09:36:25 +00:00
andytill
2165dcad19 Convert riak.conf to use the 1.3 schema, since configuration created under 1.4 cannot be read. 2016-08-16 21:23:44 +00:00
Gordon Guthrie
94ae0c38ee Merge with upstream 2016-08-03 15:13:53 +00:00
Gordon Guthrie
c20e1f9cba Rejigged updown test suite that tests write and query across a full set of
upgrade/downgrades between a 1.3 and a 1.4 cluster
2016-08-03 14:46:46 +00:00
Gordon Guthrie
3d5e661f42 Errant logging command left in - removed 2016-07-29 15:47:27 +00:00
Gordon Guthrie
6c4a19bc75 First cut of upgrade/downgrade tests for GROUP BY
The way that we were naming tables was not that useful so there are
some small changes to how we generate table names
2016-07-29 13:24:30 +00:00
Andrei Zavada
e0075ba5e8 whitespace cleanup and reindent 2016-07-29 12:10:23 +03:00
Gordon Guthrie
56873effc9 Refactoring of the updown/tests
At the moment a typical upgrade/downgrade test consists of:
* table creation
* data insertion
* a selection of data

This end-to-end actions are now called a test set

For a given configuration of a ring with capabilities a test set may have
to terminate after the table creation stage, or the data insertion one

The purpose of this refactoring is to:
* make it possible to have tests that implment as little or as much
  of a full test set as required
* make the test set exendable for other tests like deletion/list keys

In addition the upgrade/downgrade runner has been seperated out into a
part file.

The purpose of this is to make it explicit to the writer of a new test
exactly what they have to do to write a successful up/down test
2016-07-29 08:19:15 +00:00
Andrei Zavada
02cc6deba5 ts_updown_util: also provide for expected table creation failure 2016-07-27 00:30:41 +03:00
Andrei Zavada
ba73dcae4c trivial style touchup 2016-07-26 23:46:47 +03:00
Andrei Zavada
43e045ab6e ts_updown_agg: generate scenario-unique table names directly (not via ?LET) 2016-07-26 02:30:30 +03:00
Andrei Zavada
c789faf841 rename some functions and modules 2016-07-21 17:02:48 +03:00
Andrei Zavada
8b0d8e5f00 fix a spec 2016-07-21 14:02:50 +03:00
Andrei Zavada
a86d937429 properly arrange for failing queries to be logged and printed 2016-07-21 14:02:50 +03:00
Andrei Zavada
1be8505125 more logging to track scenario setup and execution 2016-07-21 14:02:50 +03:00
Andrei Zavada
ea16af358c be consistent in boolean calculations wrt function names 2016-07-21 14:02:50 +03:00
Andrei Zavada
30ff1a89ac ts_updown_util: describe #scenario{} fields; more details in ct:log 2016-07-21 14:02:50 +03:00
Andrei Zavada
25dfc2e533 eqc-enable ts_updowngrade_agg_SUITE and adapt ts_updown_util
some loose ends need to be tucked in (proper fail collection and reporting)
2016-07-21 14:02:50 +03:00
Andrei Zavada
768651087c ts_updown_util:run_scenarios ready, with a static example 2016-07-21 14:02:50 +03:00
Andrei Zavada
70a4607508 print failing test cases with ct:fail (not ct:print) 2016-07-21 14:02:50 +03:00
Andrei Zavada
2f6e1dd9b0 rework up-/downgrade test and util to allow more ts_updowngrade_select_xxx
Tuck the node up-/downgrade, table creation and query checking conveniences
into ts_updown_util, to be used from actual CT modules, such as
ts_updowngrade_select_aggregation_SUITE (included).
2016-07-21 14:02:50 +03:00
Andrei Zavada
5b4b0b2434 expand ts_downgrade_upgrade to cover u/d tables vs u/d querying nodes
Iterate over all possible combinations of tables created on upgraded or
downgraded nodes, queried from up-/downgraded nodes, in progression
[uuu, uud, udd, ddd, ddu, duu, uuu].
2016-07-21 14:02:50 +03:00
Andrei Zavada
71f14cdb3b use (a fixed version of) ct_slave node for queries via previous client
with some renaming and code prettification.

The rt_slave.erl is a derivative work of OTP/common_test/ct_slave.erl,
which needed to be fixed wrt handling of host names. In particular, it
proved annoyingly problematic to create a slave node with a simple
ct_slave:start(fafa).

See http://erlang.org/pipermail/erlang-questions/2016-February/087632.html
2016-07-21 14:02:50 +03:00
Andrei Zavada
db66b09a15 try reading data from all nodes during up/downgrade process 2016-07-21 14:02:50 +03:00
Andrei Zavada
23df390183 use riakc_ts:query/2 to create & activate table
it's less noisy and a bit faster than doing it with two riak-admin
commands (which ts_util:create_and_activate_bucket_type uses).

I wonder if the ts_util function could be migrated to use direct query
as well.
2016-07-21 14:02:50 +03:00
Andrei Zavada
ee7985d4d1 a rolling upgrade/downgrade test for TS
A squash of the following commits:

* First cut of upgrade/downgrade

  Also includes a spelling fix for 'aggregration'

* Experimental branch of riak_test that includes the capability to force downgrade and upgrade the client

* whitespace cleanup, copyright year update

* ensure ts_util:assert brings a ct test down

* This is the 5th commit message:

  take care to fuzzy-compare those floats in returned rows

* don't bother reloading protobuff, but do reload riak_pb mods & apps

* always dumbly drop 'ok' from query returned tuple

* trivial code touchups

* remove client up/downgrade code, extra io:format's; use 3 nodes not 5
2016-07-21 14:02:50 +03:00