cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefania (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-9160) Migrate CQL dtests to unit tests
Date Fri, 12 Jun 2015 07:45:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-9160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14583107#comment-14583107
] 

Stefania edited comment on CASSANDRA-9160 at 6/12/15 7:44 AM:
--------------------------------------------------------------

The dtests are ready for review, I've already created a pull request: https://github.com/riptano/cassandra-dtest/pull/321.

The problem with the cas unit tests failure was because of the CAS ballot time uuid, which
I had incorrectly set to request.now in ModificationStatement.casInternal(). I fixed it so
that it should always be bigger than the timestamp returned by QueryState. SP.beginAndRepairPaxos()
does something similar, but it doesn't look 100% correct to me. It might still fail under
heavy load, what do you think?

In order to rearrange tests, I had to move {{CQLTester}} based tests into a separate folder,
_validation_, to distinguish the CQL tests from the following:
- tests based on {{SchemaLoader}}, occupying file names that we needed, such as BatchTests
or DeleteTest
- unit tests for Java classes (e.g. cql3/statements/SelectStatementTest in 2.1)  

Inside this new folder I created these sub-folders: 
- _operations_, for statements
- _entities_, for collections, secondary index, various types 
- _util_, to host CQLTester
- _miscellaneous_, for everything else.

I am not too happy with the _validation_ folder so if you can think of something else do tell,
we could perhaps move them somewhere else entirely.



was (Author: stefania):
The dtests are ready for review, I've already created a pull request: https://github.com/riptano/cassandra-dtest/pull/321.

The problem with the cas unit tests failure was because of the CAS ballot time uuid, which
I had incorrectly set to request.now in ModificationStatement.casInternal(). I fixed it so
that it should always be bigger than the timestamp returned by QueryState. SP.beginAndRepairPaxos()
does something similar, but it doesn't look 100% correct to me. It might still fail under
heavy load, what do you think?

A tentative rearrangement, pending CI:

I had to move all {{CQLTester}} based tests into a separate folder, _validation_, to distinguish
the CQL tests from the following:
- tests based on {{SchemaLoader}}, occupying file names that we needed, such as BatchTests
or DeleteTest
- unit tests for Java classes (e.g. cql3/statements/SelectStatementTest in 2.1)  

Inside this new folder I created these sub-folders: 
- _operations_, for statements
- _entities_, for collections, secondary index, various types 
- _util_, to host CQLTester
- _miscellaneous_, for everything else.

I am not too happy with the _validation_ folder so if you can think of something else do tell,
we could perhaps move them somewhere else entirely.


> Migrate CQL dtests to unit tests
> --------------------------------
>
>                 Key: CASSANDRA-9160
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9160
>             Project: Cassandra
>          Issue Type: Test
>            Reporter: Sylvain Lebresne
>            Assignee: Stefania
>
> We have CQL tests in 2 places: dtests and unit tests. The unit tests are actually somewhat
better in the sense that they have the ability to test both prepared and unprepared statements
at the flip of a switch. It's also better to have all those tests in the same place so we
can improve the test framework in only one place (CASSANDRA-7959, CASSANDRA-9159, etc...).
So we should move the CQL dtests to the unit tests (which will be a good occasion to organize
them better).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message