You have to manually do "nodetool flush && nodetool flush system" before
shutdown, otherwise Cassandra might break. With that it is working nicely.

On Sun, Oct 23, 2016 at 3:40 PM, Ali Akhtar <ali.rac...@gmail.com> wrote:

> I'm using https://github.com/jsevellec/cassandra-unit and haven't come
> across any race issues or problems. Cassandra-unit takes care of creating
> the schema before it runs the tests.
>
> On Sun, Oct 23, 2016 at 6:17 PM, DuyHai Doan <doanduy...@gmail.com> wrote:
>
>> Ok I have added -Dcassandra.unsafesystem=true and my tests are broken.
>>
>> The reason is that I create some schemas before executing tests.
>>
>> When unable unsafesystem, Cassandra does not block for schema flush so
>> you man run into race conditions where the test start using the created
>> schema but it has not been fully flushed yet to disk:
>>
>> See C* source code here: https://github.com/apach
>> e/cassandra/blob/trunk/src/java/org/apache/cassandra/sche
>> ma/SchemaKeyspace.java#L278-L282
>>
>>     static void flush()
>>     {
>>         if (!DatabaseDescriptor.isUnsafeSystem())
>>             ALL.forEach(table -> FBUtilities.waitOnFuture(getSc
>> hemaCFS(table).forceFlush()));
>>     }
>>
>> I don't know how it worked out for you but it didn't for me...
>>
>> On Wed, Oct 19, 2016 at 9:45 AM, DuyHai Doan <doanduy...@gmail.com>
>> wrote:
>>
>>> Ohh didn't know such system property exist, nice idea!
>>>
>>> On Wed, Oct 19, 2016 at 9:40 AM, horschi <hors...@gmail.com> wrote:
>>>
>>>> Have you tried starting Cassandra with -Dcassandra.unsafesystem=true ?
>>>>
>>>>
>>>> On Wed, Oct 19, 2016 at 9:31 AM, DuyHai Doan <doanduy...@gmail.com>
>>>> wrote:
>>>>
>>>>> As I said, when I bootstrap the server and create some keyspace,
>>>>> sometimes the schema is not fully initialized and when the test code tried
>>>>> to insert data, it fails.
>>>>>
>>>>> I did not have time to dig into the source code to find the root
>>>>> cause, maybe it's something really stupid and simple to fix. If you want 
>>>>> to
>>>>> investigate and try out my CassandraDaemon server, I'd be happy to get
>>>>> feedbacks
>>>>>
>>>>> On Wed, Oct 19, 2016 at 9:22 AM, Ali Akhtar <ali.rac...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Thanks. I've disabled durable writes but this is still pretty slow
>>>>>> (about 10 seconds).
>>>>>>
>>>>>> What issues did you run into with your impl?
>>>>>>
>>>>>> On Wed, Oct 19, 2016 at 12:15 PM, DuyHai Doan <doanduy...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> There is a lot of pre-flight checks when starting the cassandra
>>>>>>> server and they took time.
>>>>>>>
>>>>>>> For integration testing, I have developped a modified
>>>>>>> CassandraDeamon here that remove pretty most of those checks:
>>>>>>>
>>>>>>> https://github.com/doanduyhai/Achilles/blob/master/achilles-
>>>>>>> embedded/src/main/java/info/archinnov/achilles/embedded/Achi
>>>>>>> llesCassandraDaemon.java
>>>>>>>
>>>>>>> The problem is that I felt into weird scenarios where creating a
>>>>>>> keyspace wasn't created in timely manner so I just stop using this impl 
>>>>>>> for
>>>>>>> the moment, just look at it and do whatever you want.
>>>>>>>
>>>>>>> Another idea for testing is to disable durable write to speed up
>>>>>>> mutation (CREATE KEYSPACE ... WITH durable_write=false)
>>>>>>>
>>>>>>> On Wed, Oct 19, 2016 at 3:24 AM, Ali Akhtar <ali.rac...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Is there a way to speed up the creation of keyspace + tables during
>>>>>>>> integration tests? I am using an RF of 1, with SimpleStrategy, but it 
>>>>>>>> still
>>>>>>>> takes upto 10-15 seconds.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to