Yibo Cai created ARROW-12241:
--------------------------------

             Summary: [Python] Parallel csv reader test failed
                 Key: ARROW-12241
                 URL: https://issues.apache.org/jira/browse/ARROW-12241
             Project: Apache Arrow
          Issue Type: Bug
          Components: Python
            Reporter: Yibo Cai


CI job is okay, but it failed from my side. Tested on x86 skylake server with 
32 cores, and Apple M1 with 8 cores.

Maybe I missed something?

Test steps:
{code:bash}
$ cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DARROW_COMPUTE=ON 
-DARROW_PARQUET=ON -DARROW_BUILD_TESTS=ON 
-DCMAKE_INSTALL_PREFIX=$(pwd)/_install -DCMAKE_INSTALL_LIBDIR=lib 
-DARROW_PYTHON=ON -DCMAKE_CXX_COMPILER=/usr/bin/clang++-9 
-DCMAKE_C_COMPILER=/usr/bin/clang-9 ..
$ ninja install
$ cd ~/arrow/python
# set LD_LIBRARY_PATH, ARROW_HOME to newly built binaries
$ python setup.py build_ext --inplace
$ pytest pyarrow
{code}

Error log:
{code:bash}
=======================================================================================
 test session starts 
========================================================================================
platform linux -- Python 3.6.9, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: /home/cyb/arrow/python, configfile: setup.cfg
plugins: lazy-fixture-0.6.3, hypothesis-5.41.2
collected 3802 items / 3 skipped / 3799 selected                                
                                                                                
                                   

pyarrow/tests/test_adhoc_memory_leak.py s                                       
                                                                                
                             [  0%]
pyarrow/tests/test_array.py 
......................s...........................................................................................s.............................................
 [  4%]
............................ss.........                                         
                                                                                
                             [  5%]
pyarrow/tests/test_builder.py ....                                              
                                                                                
                             [  5%]
pyarrow/tests/test_cffi.py ......                                               
                                                                                
                             [  5%]
pyarrow/tests/test_compute.py 
....................................................................................................................................................
           [  9%]
pyarrow/tests/test_convert_builtin.py 
......................................................................................................................................................
 [ 13%]
................................................................................................................................x..................................................x........
 [ 18%]
...............ssssss.....................................................................................................sssssss
                                                            [ 21%]
pyarrow/tests/test_csv.py 
....................................F.......................

=============================================================================================
 FAILURES 
=============================================================================================
______________________________________________________________________________ 
TestParallelCSVRead.test_cancellation 
_______________________________________________________________________________

self = <pyarrow.tests.test_csv.TestParallelCSVRead testMethod=test_cancellation>

    def test_cancellation(self):
        if (threading.current_thread().ident !=
                threading.main_thread().ident):
            pytest.skip("test only works from main Python thread")

        if sys.version_info >= (3, 8):
            raise_signal = signal.raise_signal
        elif os.name == 'nt':
            # On Windows, os.kill() doesn't actually send a signal,
            # it just terminates the process with the given exit code.
            pytest.skip("test requires Python 3.8+ on Windows")
        else:
            # On Unix, emulate raise_signal() with os.kill().
            def raise_signal(signum):
                os.kill(os.getpid(), signum)

        large_csv = b"a,b,c\n" + b"1,2,3\n" * 30000000

        def signal_from_thread():
            time.sleep(0.2)
            raise_signal(signal.SIGINT)

        t1 = time.time()
        with pytest.raises(KeyboardInterrupt) as exc_info:
            threading.Thread(target=signal_from_thread).start()
>           self.read_bytes(large_csv)
E           Failed: DID NOT RAISE <class 'KeyboardInterrupt'>

pyarrow/tests/test_csv.py:927: Failed
=========================================================================================
 warnings summary 
=========================================================================================
../../archery/lib/python3.6/distutils/__init__.py:4
  /home/cyb/archery/lib/python3.6/distutils/__init__.py:4: DeprecationWarning: 
the imp module is deprecated in favour of importlib; see the module's 
documentation for alternative uses
    import imp

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=====================================================================================
 short test summary info 
======================================================================================
FAILED pyarrow/tests/test_csv.py::TestParallelCSVRead::test_cancellation - 
Failed: DID NOT RAISE <class 'KeyboardInterrupt'>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 KeyboardInterrupt 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
pyarrow/error.pxi:221: KeyboardInterrupt
(to show a full traceback on KeyboardInterrupt use --full-trace)
================================================================= 1 failed, 864 
passed, 21 skipped, 2 xfailed, 1 warning in 4.19s 
==================================================================
{code}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to