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

Stefania edited comment on CASSANDRA-12024 at 6/22/16 8:36 AM:
---------------------------------------------------------------

No child process exited. Either child processes could not read the 
{{CQLSH_COPY_TEST_FAILURES}} environment variable, or no child process received 
a sub-range of {{0 - 5000000000000000000}}, which is probably what happened. 

So it looks like a test problem to me but to know for sure we need to get this 
test to fail with [this 
patch|https://github.com/stef1927/cassandra/tree/12024-2.1] applied, which will 
print out the value of the environment variable as well as the token ranges 
processed by child processes.

Feel free to take a different approach that does not depend on token ranges if 
you can come up with a better idea; we basically need to select at least one 
child process and tell it to exit after having processed a few token ranges. 
The second part is easy, but to select a specific child process, the only 
alternative I could think of is to change the parent process to pass an index 
to each child process. So far we haven't gone down this route because it is a 
bit invasive but if you think it is necessary and don't have any better idea, 
we can alter the code to do this.


was (Author: stefania):
No child process exited. Either child processes could not read the 
{{CQLSH_COPY_TEST_FAILURES}} environment variable, or no child process received 
a sub-range of {{0 - 5000000000000000000}}, which is probably what happened. 

So it looks like a test problem to me but to know for sure we need to get this 
test to fail with [this 
patch|https://github.com/stef1927/cassandra/tree/12024-2.1] applied, which will 
print out the value of the environment variable as well as the token ranges 
processed by child processes.

Feel free to take a different approach that does not depend on token ranges if 
you can come up with an idea, we basically need to select at least one child 
process and tell it to exist after having processed a few token ranges. The 
second part is easy, but to select a specific child process we would need to 
change the parent process to pass an index to each child process, so far we 
haven't gone down this route but if you think it is necessary I can alter the 
code to do this or you can submit a patch yourself.

> dtest failure in 
> cqlsh_tests.cqlsh_copy_tests.CqlshCopyTest.test_copy_to_with_child_process_crashing
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12024
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12024
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sean McCarthy
>            Assignee: Stefania
>              Labels: dtest
>         Attachments: node1.log
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-2.1_offheap_dtest/360/testReport/cqlsh_tests.cqlsh_copy_tests/CqlshCopyTest/test_copy_to_with_child_process_crashing
> Failed on CassCI build cassandra-2.1_offheap_dtest #360
> {code}
> Stacktrace
>   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
>     testMethod()
>   File "/home/automaton/cassandra-dtest/dtest.py", line 889, in wrapped
>     f(obj)
>   File "/home/automaton/cassandra-dtest/cqlsh_tests/cqlsh_copy_tests.py", 
> line 2701, in test_copy_to_with_child_process_crashing
>     self.assertIn('some records might be missing', err)
>   File "/usr/lib/python2.7/unittest/case.py", line 803, in assertIn
>     self.fail(self._formatMessage(msg, standardMsg))
>   File "/usr/lib/python2.7/unittest/case.py", line 410, in fail
>     raise self.failureException(msg)
> Error Message
> 'some records might be missing' not found in ''
> {code}
> Logs are attached.



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

Reply via email to