Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEAT-#2013: Improved merge_asof implementation #2178

Closed
wants to merge 17 commits into from

Conversation

itamarst
Copy link
Contributor

@itamarst itamarst commented Sep 30, 2020

What do these changes do?

This is a sketch of an approach to merge_asof that is more efficient than the current approach, hopefully.

@devin-petersohn would appreciate some feedback on e.g. which bits are potentially inefficient.

…oach.

Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
@codecov
Copy link

codecov bot commented Sep 30, 2020

Codecov Report

Merging #2178 (7ce40e7) into master (c2e7f9e) will decrease coverage by 19.31%.
The diff coverage is 93.87%.

Impacted file tree graph

@@             Coverage Diff             @@
##           master    #2178       +/-   ##
===========================================
- Coverage   83.99%   64.67%   -19.32%     
===========================================
  Files         119      113        -6     
  Lines       13063    12844      -219     
===========================================
- Hits        10972     8307     -2665     
- Misses       2091     4537     +2446     
Impacted Files Coverage Δ
modin/pandas/general.py 94.63% <93.87%> (-0.34%) ⬇️
modin/experimental/pandas/io_exp.py 0.00% <0.00%> (-100.00%) ⬇️
modin/experimental/pandas/__init__.py 0.00% <0.00%> (-100.00%) ⬇️
...engines/omnisci_on_ray/frame/calcite_serializer.py 0.00% <0.00%> (-98.69%) ⬇️
...al/engines/omnisci_on_ray/frame/calcite_builder.py 0.00% <0.00%> (-95.28%) ⬇️
modin/experimental/engines/omnisci_on_ray/io.py 0.00% <0.00%> (-92.46%) ⬇️
...al/engines/omnisci_on_ray/frame/calcite_algebra.py 0.00% <0.00%> (-92.43%) ⬇️
...rimental/engines/omnisci_on_ray/frame/partition.py 0.00% <0.00%> (-92.31%) ⬇️
...in/experimental/backends/omnisci/query_compiler.py 0.00% <0.00%> (-91.70%) ⬇️
.../experimental/engines/omnisci_on_ray/frame/data.py 0.00% <0.00%> (-89.29%) ⬇️
... and 70 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c2e7f9e...c9fd6cb. Read the comment docs.

@modin-bot
Copy link

modin-bot commented Sep 30, 2020

TeamCity Python test results bot

Tests FAILed

Tests Logs
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
collected 1400 items

modin/pandas/test/test_io.py ........................................... [  3%]
........................................................................ [  8%]
........................................................................ [ 13%]
........................................................................ [ 18%]
........................................................................ [ 23%]
........................................................................ [ 28%]
........................................................................ [ 33%]
........................................................................ [ 39%]
.....................................xxxxxx...xxxxxx...xxxxxx...xxxxxx.. [ 44%]
.xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx.. [ 49%]
.xxxxxx...xxxxxx...xxxxxx...xxxxxx....xxX............................... [ 54%]
........................................................................ [ 59%]
........................................................................ [ 64%]
........................................................................ [ 69%]
........................................................................ [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
........................................................................ [ 90%]
..................................sX...................s.........ss..... [ 95%]
.......................s..s.X.....s..................ss......            [100%]

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml


==== 1290 passed, 9 skipped, 98 xfailed, 3 xpassed, 1414 warnings in 38.10s ====
Closing remaining open files:test_write_modin.hdf...donetest_write_pandas.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I / gw32 I / gw33 I / gw34 I / gw35 I / gw36 I / gw37 I / gw38 I / gw39 I / gw40 I / gw41 I / gw42 I / gw43 I / gw44 I / gw45 I / gw46 I / gw47 I
gw0 [5558] / gw1 [5558] / gw2 [5558] / gw3 [5558] / gw4 [5558] / gw5 [5558] / gw6 [5558] / gw7 [5558] / gw8 [5558] / gw9 [5558] / gw10 [5558] / gw11 [5558] / gw12 [5558] / gw13 [5558] / gw14 [5558] / gw15 [5558] / gw16 [5558] / gw17 [5558] / gw18 [5558] / gw19 [5558] / gw20 [5558] / gw21 [5558] / gw22 [5558] / gw23 [5558] / gw24 [5558] / gw25 [5558] / gw26 [5558] / gw27 [5558] / gw28 [5558] / gw29 [5558] / gw30 [5558] / gw31 [5558] / gw32 [5558] / gw33 [5558] / gw34 [5558] / gw35 [5558] / gw36 [5558] / gw37 [5558] / gw38 [5558] / gw39 [5558] / gw40 [5558] / gw41 [5558] / gw42 [5558] / gw43 [5558] / gw44 [5558] / gw45 [5558] / gw46 [5558] / gw47 [5558]

........................................................................ [  1%]
......................................................................... [  2%]
........................................................................ [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  7%]
..........................s............................................. [  9%]
.s...................................................................... [ 10%]
...................................X.........x.......................... [ 11%]
.....x..x...XXx...X..X..X..xX...X.X..X.......X.....X....X.....X......... [ 12%]
.....x........X..XX.......X.....X....Xx.X........XxX...xX............... [ 14%]
..X.X.............X.......X............x....X.........XxXxx...........X. [ 15%]
X......X....X...X.X...X..................x...................x.......... [ 16%]
............X..........X.x...x..X.............X...X.................xX.. [ 18%]
.X.x.......X....Xx.X....X.......X...X..x.........X.......X...X...xX..... [ 19%]
..X..X.X..X..................X.........X....x...............X.....xX.... [ 20%]
..x.....X........X....X.................X.....X......x....X.......X..... [ 22%]
....X.X...............X.x.Xx..X......X...x.x.....X...................... [ 23%]
...........X...X..X..s...........................X............X......... [ 24%]
......................X.....X...X...x..X.x............x................. [ 25%]
.....x...X..X.........x............x......X...xX.......x........x....... [ 27%]
.....X.........x.x...X..X...x....s...........X.............X..xx........ [ 28%]
.......x.........X.X...X...x........x.x.X.....X......X.........XX....... [ 29%]
...x....................X..........x.....x...................x.x.....x.. [ 31%]
...X..X.........x..X..x....X....................................x...x... [ 32%]
.X........X....................................x..............x.X....... [ 33%]
...............x.x................................X..X...........X.....X [ 34%]
................................X...X.........XX..........X.........X... [ 36%]
x...........................X..X..x..................X..............X... [ 37%]
................X.....X.......x..........x....XX........................ [ 38%]
...X....................x...........................................X... [ 40%]
.......X..............x........................x........................ [ 41%]
................x..................x.........x.......................... [ 42%]
x....................x.............x.............x...................... [ 44%]
....................X..........................x.......................x [ 45%]
............xX...........................x........X..................... [ 46%]
......................X.xx............X..........................x...... [ 47%]
...x..X..xx......sssss...............xx........................s........ [ 49%]
......ssssssssssss.s..sssssssssssss..................................... [ 50%]
.........................s.......x.....................X................ [ 51%]
.......x......................................................X......... [ 53%]
....x..........sssss.................................................... [ 54%]
..x............................................x........................ [ 55%]
...................................X.........x.......................... [ 57%]
..X...ss.X............................................X................. [ 58%]
...........................................X........................x... [ 59%]
X......................xX........................................X.....X. [ 60%]
..................s...........................X......................... [ 62%]
.............X.....................X.......................X............ [ 63%]
...........XX.............................x......................x...X.. [ 64%]
...................x....................x....x.........x..............x. [ 66%]
x...........X..............X.............X.........X..........X.......... [ 67%]
........................................................................ [ 68%]
........................................................................ [ 69%]
........................................................................ [ 71%]
......................................................................... [ 72%]
........................................................................ [ 73%]
........................................................................ [ 75%]
..........................................................s............s [ 76%]
.........s.......s.......s..s.s.................s......s................ [ 77%]
......s........ss.s..............s.....s.............s.............s..... [ 79%]
..............s............s.....s............XX.........s.............. [ 80%]
.....X..X...s.X...X.......X.....X.X..X...XX.......XX.X..X....X...XX..... [ 81%]
..s.X.X..XX..XXX.....X......X..XXX..X..X....X.sXX.XX.......XX..........s [ 82%]
.X.X..........X..X..s..............s.................................... [ 84%]
..................X...................X.............X................... [ 85%]
....X....................X..........X.......X...........X............... [ 86%]
................X......X...............X..............X................. [ 88%]
............X................X.X.X........X.X.....XX.......X..X...X..... [ 89%]
X.....X.............X...........X...X................X....X......X...... [ 90%]
...X.................................................X.........X........ [ 92%]
......................................................................x.x [ 93%]
xxx.................x......x...........x.xx.....X...........x.x.xx...... [ 94%]
........x.........................................................x...... [ 95%]
...F.....s..........s...s.s...s.....ss................................... [ 97%]
........................................................................ [ 98%]
............................................X.X.x.x..................... [ 99%]
......                                                                   [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD

=================================== FAILURES ===================================
________________________ test_merge_asof_on_variations _________________________
[gw5] linux -- Python 3.8.6 /root/anaconda3/envs/modin/bin/python
Traceback (most recent call last):
  File "/modin/modin/pandas/test/test_general.py", line 241, in test_merge_asof_on_variations
    modin_merged = pd.merge_asof(modin_left, modin_right, **on_arguments)
  File "/modin/modin/pandas/general.py", line 292, in merge_asof
    result.columns.get_indexer_for(left_on + suffixes[0])[0],
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 4713, in get_indexer_for
    return self.get_indexer(target, **kwargs)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2962, in get_indexer
    target = ensure_index(target)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5620, in ensure_index
    return Index(index_like)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 415, in __new__
    raise cls._scalar_data_error(data)
TypeError: Index(...) must be called with a collection of some kind, 'a_x' was passed

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml

=========================== short test summary info ============================
FAILED modin/pandas/test/test_general.py::test_merge_asof_on_variations - Typ...
= 1 failed, 5114 passed, 79 skipped, 122 xfailed, 242 xpassed, 11422 warnings in 59.10s =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
collected 1400 items

modin/pandas/test/test_io.py ........................................... [  3%]
........................................................................ [  8%]
........................................................................ [ 13%]
........................................................................ [ 18%]
........................................................................ [ 23%]
........................................................................ [ 28%]
........................................................................ [ 33%]
........................................................................ [ 39%]
.....................................xxxxxx...xxxxxx...xxxxxx...xxxxxx.. [ 44%]
.xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx.. [ 49%]
.xxxxxx...xxxxxx...xxxxxx...xxxxxx....xxX............................... [ 54%]
........................................................................ [ 59%]
........................................................................ [ 64%]
........................................................................ [ 69%]
........................................................................ [ 75%]
........................................................................ [ 80%]
........................................................................ [ 85%]
........................................................................ [ 90%]
..................................sX...................s.........ss..... [ 95%]
.......................s..s.X.....s..................ss......            [100%]

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml


==== 1290 passed, 9 skipped, 98 xfailed, 3 xpassed, 1414 warnings in 38.10s ====
Closing remaining open files:test_write_modin.hdf...donetest_write_pandas.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I / gw32 I / gw33 I / gw34 I / gw35 I / gw36 I / gw37 I / gw38 I / gw39 I / gw40 I / gw41 I / gw42 I / gw43 I / gw44 I / gw45 I / gw46 I / gw47 I
gw0 [5558] / gw1 [5558] / gw2 [5558] / gw3 [5558] / gw4 [5558] / gw5 [5558] / gw6 [5558] / gw7 [5558] / gw8 [5558] / gw9 [5558] / gw10 [5558] / gw11 [5558] / gw12 [5558] / gw13 [5558] / gw14 [5558] / gw15 [5558] / gw16 [5558] / gw17 [5558] / gw18 [5558] / gw19 [5558] / gw20 [5558] / gw21 [5558] / gw22 [5558] / gw23 [5558] / gw24 [5558] / gw25 [5558] / gw26 [5558] / gw27 [5558] / gw28 [5558] / gw29 [5558] / gw30 [5558] / gw31 [5558] / gw32 [5558] / gw33 [5558] / gw34 [5558] / gw35 [5558] / gw36 [5558] / gw37 [5558] / gw38 [5558] / gw39 [5558] / gw40 [5558] / gw41 [5558] / gw42 [5558] / gw43 [5558] / gw44 [5558] / gw45 [5558] / gw46 [5558] / gw47 [5558]

........................................................................ [  1%]
......................................................................... [  2%]
........................................................................ [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  7%]
..........................s............................................. [  9%]
.s...................................................................... [ 10%]
...................................X.........x.......................... [ 11%]
.....x..x...XXx...X..X..X..xX...X.X..X.......X.....X....X.....X......... [ 12%]
.....x........X..XX.......X.....X....Xx.X........XxX...xX............... [ 14%]
..X.X.............X.......X............x....X.........XxXxx...........X. [ 15%]
X......X....X...X.X...X..................x...................x.......... [ 16%]
............X..........X.x...x..X.............X...X.................xX.. [ 18%]
.X.x.......X....Xx.X....X.......X...X..x.........X.......X...X...xX..... [ 19%]
..X..X.X..X..................X.........X....x...............X.....xX.... [ 20%]
..x.....X........X....X.................X.....X......x....X.......X..... [ 22%]
....X.X...............X.x.Xx..X......X...x.x.....X...................... [ 23%]
...........X...X..X..s...........................X............X......... [ 24%]
......................X.....X...X...x..X.x............x................. [ 25%]
.....x...X..X.........x............x......X...xX.......x........x....... [ 27%]
.....X.........x.x...X..X...x....s...........X.............X..xx........ [ 28%]
.......x.........X.X...X...x........x.x.X.....X......X.........XX....... [ 29%]
...x....................X..........x.....x...................x.x.....x.. [ 31%]
...X..X.........x..X..x....X....................................x...x... [ 32%]
.X........X....................................x..............x.X....... [ 33%]
...............x.x................................X..X...........X.....X [ 34%]
................................X...X.........XX..........X.........X... [ 36%]
x...........................X..X..x..................X..............X... [ 37%]
................X.....X.......x..........x....XX........................ [ 38%]
...X....................x...........................................X... [ 40%]
.......X..............x........................x........................ [ 41%]
................x..................x.........x.......................... [ 42%]
x....................x.............x.............x...................... [ 44%]
....................X..........................x.......................x [ 45%]
............xX...........................x........X..................... [ 46%]
......................X.xx............X..........................x...... [ 47%]
...x..X..xx......sssss...............xx........................s........ [ 49%]
......ssssssssssss.s..sssssssssssss..................................... [ 50%]
.........................s.......x.....................X................ [ 51%]
.......x......................................................X......... [ 53%]
....x..........sssss.................................................... [ 54%]
..x............................................x........................ [ 55%]
...................................X.........x.......................... [ 57%]
..X...ss.X............................................X................. [ 58%]
...........................................X........................x... [ 59%]
X......................xX........................................X.....X. [ 60%]
..................s...........................X......................... [ 62%]
.............X.....................X.......................X............ [ 63%]
...........XX.............................x......................x...X.. [ 64%]
...................x....................x....x.........x..............x. [ 66%]
x...........X..............X.............X.........X..........X.......... [ 67%]
........................................................................ [ 68%]
........................................................................ [ 69%]
........................................................................ [ 71%]
......................................................................... [ 72%]
........................................................................ [ 73%]
........................................................................ [ 75%]
..........................................................s............s [ 76%]
.........s.......s.......s..s.s.................s......s................ [ 77%]
......s........ss.s..............s.....s.............s.............s..... [ 79%]
..............s............s.....s............XX.........s.............. [ 80%]
.....X..X...s.X...X.......X.....X.X..X...XX.......XX.X..X....X...XX..... [ 81%]
..s.X.X..XX..XXX.....X......X..XXX..X..X....X.sXX.XX.......XX..........s [ 82%]
.X.X..........X..X..s..............s.................................... [ 84%]
..................X...................X.............X................... [ 85%]
....X....................X..........X.......X...........X............... [ 86%]
................X......X...............X..............X................. [ 88%]
............X................X.X.X........X.X.....XX.......X..X...X..... [ 89%]
X.....X.............X...........X...X................X....X......X...... [ 90%]
...X.................................................X.........X........ [ 92%]
......................................................................x.x [ 93%]
xxx.................x......x...........x.xx.....X...........x.x.xx...... [ 94%]
........x.........................................................x...... [ 95%]
...F.....s..........s...s.s...s.....ss................................... [ 97%]
........................................................................ [ 98%]
............................................X.X.x.x..................... [ 99%]
......                                                                   [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD

=================================== FAILURES ===================================
________________________ test_merge_asof_on_variations _________________________
[gw5] linux -- Python 3.8.6 /root/anaconda3/envs/modin/bin/python
Traceback (most recent call last):
  File "/modin/modin/pandas/test/test_general.py", line 241, in test_merge_asof_on_variations
    modin_merged = pd.merge_asof(modin_left, modin_right, **on_arguments)
  File "/modin/modin/pandas/general.py", line 292, in merge_asof
    result.columns.get_indexer_for(left_on + suffixes[0])[0],
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 4713, in get_indexer_for
    return self.get_indexer(target, **kwargs)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2962, in get_indexer
    target = ensure_index(target)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5620, in ensure_index
    return Index(index_like)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 415, in __new__
    raise cls._scalar_data_error(data)
TypeError: Index(...) must be called with a collection of some kind, 'a_x' was passed

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml

=========================== short test summary info ============================
FAILED modin/pandas/test/test_general.py::test_merge_asof_on_variations - Typ...
= 1 failed, 5114 passed, 79 skipped, 122 xfailed, 242 xpassed, 11422 warnings in 59.10s =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.

@modin-bot
Copy link

modin-bot commented Sep 30, 2020

TeamCity Ray test results bot

Tests FAILed

Tests Logs
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
collected 1400 items

modin/pandas/test/test_io.py ........................................... [  3%]
........................................................................ [  8%]
.............sssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 23%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 33%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 39%]
sssssssssssss........................xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 44%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 49%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xxX...................�[2m�[36m(pid=169)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.42 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.39 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
....�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.49 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.43 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.46 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.40 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
........ [ 54%]
.......x.....x.....X.....X.....X.....X.....X.....X.....x.....x.....X.... [ 59%]
.X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.....X.... [ 64%]
.X.....x.....x.....X.....X.....X.....X.....X.....X...................... [ 69%]
........................................................................ [ 75%]
.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 80%]
xxxxxxxxxxxxx........xxxxxxxx........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 85%]
xxxxxxxxxxxxx........................................................... [ 90%]
.............xxxx.................sx...................s................ [ 95%]
.......................s..s.X.....s..................ss......            [100%]

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml


= 664 passed, 439 skipped, 271 xfailed, 26 xpassed, 172 warnings in 86.65s (0:01:26) =
Closing remaining open files:test_write_modin.hdf...donetest_write_pandas.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I / gw32 I / gw33 I / gw34 I / gw35 I / gw36 I / gw37 I / gw38 I / gw39 I / gw40 I / gw41 I / gw42 I / gw43 I / gw44 I / gw45 I / gw46 I / gw47 I
gw0 [5558] / gw1 [5558] / gw2 [5558] / gw3 [5558] / gw4 [5558] / gw5 [5558] / gw6 [5558] / gw7 [5558] / gw8 [5558] / gw9 [5558] / gw10 [5558] / gw11 [5558] / gw12 [5558] / gw13 [5558] / gw14 [5558] / gw15 [5558] / gw16 [5558] / gw17 [5558] / gw18 [5558] / gw19 [5558] / gw20 [5558] / gw21 [5558] / gw22 [5558] / gw23 [5558] / gw24 [5558] / gw25 [5558] / gw26 [5558] / gw27 [5558] / gw28 [5558] / gw29 [5558] / gw30 [5558] / gw31 [5558] / gw32 [5558] / gw33 [5558] / gw34 [5558] / gw35 [5558] / gw36 [5558] / gw37 [5558] / gw38 [5558] / gw39 [5558] / gw40 [5558] / gw41 [5558] / gw42 [5558] / gw43 [5558] / gw44 [5558] / gw45 [5558] / gw46 [5558] / gw47 [5558]

........................................................................ [  1%]
........................................................................ [  2%]
......................................................................... [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  7%]
..............................................X........x...............s. [  9%]
.....................X..........................X.......X............... [ 10%]
.........................X.........................X...X.x..X.......X.... [ 11%]
X....s.........x............X..X.....X............X.........x.....x..... [ 13%]
X.......X..X................X.x.....X...X.X...............x.X........... [ 14%]
...Xx.x.X.X.X...x..X..Xx.X.x....X.X.X...XX....X.X...X.........x......... [ 15%]
...x..x.X......xXx...X.x..........x...x.....XX.X...X...X.X.xX.........Xx [ 16%]
....X.......x........X.X............x................................x.. [ 18%]
.............X.X..........xX....XX.......x..................x.X.......x. [ 19%]
......X.....X..x.................x......�[2m�[36m(pid=6409)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=6409)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m becomes:
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=6409)�[0m 
......x..x.x................X.X. [ 20%]
....xx.�[2m�[36m(pid=5351)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5351)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5351)�[0m 
�[2m�[36m(pid=5351)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5351)�[0m 
�[2m�[36m(pid=5351)�[0m becomes:
�[2m�[36m(pid=5351)�[0m 
�[2m�[36m(pid=5351)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5351)�[0m 
.....X.............x.....XX....X......X.......X...X.............. [ 22%]
.......x.....X.....................Xx..........X....................x... [ 23%]
...x.X.......X.......XX.....X.......X..�[2m�[36m(pid=7107)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7107)�[0m fatal: bad object HEAD
.�[2m�[36m(pid=7113)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7113)�[0m fatal: bad object HEAD
..�[2m�[36m(pid=7121)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7121)�[0m fatal: bad object HEAD
....�[2m�[36m(pid=7141)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7141)�[0m fatal: bad object HEAD
�[2m�[36m(pid=7149)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7149)�[0m fatal: bad object HEAD
.X...X...................X [ 24%]
..............X...x...s................................................. [ 25%]
.......................................................................X.... [ 27%]
.......x....x.............................xX........................XX... [ 28%]
..........X......Xx.x..............X.....X......................X....... [ 29%]
.....X...............X.....x.X....x.X........X....x.........X........... [ 31%]
......x................x................................................... [ 32%]
...........X...............................x.....X.....X..............xX [ 33%]
.X.....X............x.......................x...........X.....X.X.....x. [ 34%]
.................x....X..................XX......X.....s.xX...........X.... [ 36%]
...................X......X.........xX................X..............x....... [ 37%]
........x...................x.............x..�[2m�[36m(pid=7330)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7330)�[0m fatal: bad object HEAD
..........x.........x........ [ 39%]
..X..........X.......X.........X...........................X............ [ 40%]
.......................X.....X.......................................... [ 41%]
........................................................................ [ 43%]
............................................x........................... [ 44%]
..................................................................x..... [ 45%]
.................................X...................................... [ 46%]
....................X.............sss.s..s�[2m�[36m(pid=6409)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=6409)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m becomes:
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=6409)�[0m 
ssss......s.ssss.s.sss..ssssss [ 48%]
s...............x.....................................X................. [ 49%]
...................sX..............s...............ss.sss.s.......ssX... [ 50%]
........�[2m�[36m(pid=5639)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
.�[2m�[36m(pid=5639)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m becomes:
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5639)�[0m 
.....X.s......x�[2m�[36m(pid=5403)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5403)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m becomes:
.
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5403)�[0m 
....�[2m�[36m(pid=5639)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5639)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m becomes:
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5639)�[0m 
.................x..x......�[2m�[36m(pid=5403)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5403)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m becomes:
�[2m�[36m(pid=5403)�[0m 
...........�[2m�[36m(pid=3051)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.�[2m�[36m(pid=3051)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m becomes:
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=3051)�[0m 
...X. [ 52%]
.x�[2m�[36m(pid=5403)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5403)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m becomes:
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5403)�[0m 
....X...................�[2m�[36m(pid=3051)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=3051)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m becomes:
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=3051)�[0m 
..........x..x.............�[2m�[36m(pid=5639)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5639)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=3051)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=3051)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m becomes:
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", offset="2s")

�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m becomes:
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=3051)�[0m 
.........x..x.X... [ 53%]
........................................................................ [ 54%]
........x.................x...............................xX........x... [ 56%]
.........X...........X...........x.........x............................x [ 57%]
.................X.......x.XX............................ss............. [ 58%]
........................................................................ [ 60%]
......................................................x..s............... [ 61%]
x....................................................................... [ 62%]
.......................................................X.............X.. [ 63%]
.................................................................s...... [ 65%]
.......................................................................s [ 66%]
.........................X...............X...............X.............. [ 67%]
............................�[2m�[36m(pid=8248)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=8248)�[0m fatal: bad object HEAD
.................................x......x... [ 69%]
x..........x.........................x......x.X.X...X.X...X.X.....x..... [ 70%]
.............X.........X..X..........x......x.......x...X............... [ 71%]
.x...............x............xX..X.X..X.X..X..........x..........x..... [ 72%]
...x...........x.X.....X..X....x.......x...X..X....X..................... [ 74%]
........................................................................ [ 75%]
....................s...........s............s....s....�[2m�[36m(pid=9109)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9109)�[0m fatal: bad object HEAD
...........s..s.s [ 76%]
....ss.................s.�[2m�[36m(pid=9155)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9155)�[0m fatal: bad object HEAD
.s.........s...s.....................s.s....... [ 78%]
.................s.s..........s....s...s...............s...........�[2m�[36m(pid=9378)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9378)�[0m fatal: bad object HEAD
..... [ 79%]
...s.s.........................s.................s.s.s.................. [ 80%]
..........X..................XX.X.X....X....X.X.X...X.X.XX.......X....X. [ 82%]
.XX....X.X...X..X..X...X.....X..X.XXX..X..X.X..........X..XX.X.X.....XX. [ 83%]
..X................X..X.X.XX..............X.X..............X............ [ 84%]
X...............................................X.....�[2m�[36m(pid=9876)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9876)�[0m fatal: bad object HEAD
.........XX....... [ 85%]
....................X................................................... [ 87%]
X.X................XX................X.....................X............ [ 88%]
.............................X.X........X...X..X.....X.X.X.X...XX......X [ 89%]
X.........X...........X................................X................ [ 91%]
.X.........................X............................................ [ 92%]
.............................................................xx....x...x [ 93%]
...............x.......................xx..xx...�[2m�[36m(pid=10597)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=10597)�[0m fatal: bad object HEAD
..�[2m�[36m(pid=9673)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..............�[2m�[36m(pid=9653)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
...x�[2m�[36m(pid=9876)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=9876)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.x.�[2m�[36m(pid=9980)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=9980)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
. [ 95%]
.x....�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..�[2m�[36m(pid=6159)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.�[2m�[36m(pid=10189)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10189)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.........x..x...........x...............�[2m�[36m(pid=10775)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.....�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.................. [ 96%]
...s�[2m�[36m(pid=10107)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
......sssss..s..F......�[2m�[36m(pid=10627)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
....�[2m�[36m(pid=10412)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
....�[2m�[36m(pid=9653)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..........�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
......�[2m�[36m(pid=10107)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
...�[2m�[36m(pid=9141)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..................�[2m�[36m(pid=11167)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
 [ 97%]
.........�[2m�[36m(pid=9673)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=9673)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
...........�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.�[2m�[36m(pid=11083)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=11083)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..........�[2m�[36m(pid=11251)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=11251)�[0m fatal: bad object HEAD
..................�[2m�[36m(pid=11165)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=11165)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..............�[2m�[36m(pid=10887)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
......... [ 98%]
............................................X.X...........x.�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
            [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD
�[2m�[36m(pid=387)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=387)�[0m fatal: bad object HEAD

=================================== FAILURES ===================================
________________________ test_merge_asof_on_variations _________________________
[gw18] linux -- Python 3.8.6 /root/anaconda3/envs/modin/bin/python
Traceback (most recent call last):
  File "/modin/modin/pandas/test/test_general.py", line 241, in test_merge_asof_on_variations
    modin_merged = pd.merge_asof(modin_left, modin_right, **on_arguments)
  File "/modin/modin/pandas/general.py", line 292, in merge_asof
    result.columns.get_indexer_for(left_on + suffixes[0])[0],
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 4713, in get_indexer_for
    return self.get_indexer(target, **kwargs)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2962, in get_indexer
    target = ensure_index(target)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5620, in ensure_index
    return Index(index_like)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 415, in __new__
    raise cls._scalar_data_error(data)
TypeError: Index(...) must be called with a collection of some kind, 'a_x' was passed

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml

=========================== short test summary info ============================
FAILED modin/pandas/test/test_general.py::test_merge_asof_on_variations - Typ...
= 1 failed, 5114 passed, 79 skipped, 122 xfailed, 242 xpassed, 10619 warnings in 93.41s (0:01:33) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
collected 1400 items

modin/pandas/test/test_io.py ........................................... [  3%]
........................................................................ [  8%]
.............sssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 23%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 33%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 39%]
sssssssssssss........................xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 44%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 49%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xxX...................�[2m�[36m(pid=169)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.42 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.39 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
....�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.49 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.43 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.46 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=169)�[0m Tokenization took: 0.01 ms
�[2m�[36m(pid=169)�[0m Type conversion took: 0.40 ms
�[2m�[36m(pid=169)�[0m Parser memory cleanup took: 0.00 ms
........ [ 54%]
.......x.....x.....X.....X.....X.....X.....X.....X.....x.....x.....X.... [ 59%]
.X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.....X.... [ 64%]
.X.....x.....x.....X.....X.....X.....X.....X.....X...................... [ 69%]
........................................................................ [ 75%]
.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 80%]
xxxxxxxxxxxxx........xxxxxxxx........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 85%]
xxxxxxxxxxxxx........................................................... [ 90%]
.............xxxx.................sx...................s................ [ 95%]
.......................s..s.X.....s..................ss......            [100%]

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml


= 664 passed, 439 skipped, 271 xfailed, 26 xpassed, 172 warnings in 86.65s (0:01:26) =
Closing remaining open files:test_write_modin.hdf...donetest_write_pandas.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I / gw32 I / gw33 I / gw34 I / gw35 I / gw36 I / gw37 I / gw38 I / gw39 I / gw40 I / gw41 I / gw42 I / gw43 I / gw44 I / gw45 I / gw46 I / gw47 I
gw0 [5558] / gw1 [5558] / gw2 [5558] / gw3 [5558] / gw4 [5558] / gw5 [5558] / gw6 [5558] / gw7 [5558] / gw8 [5558] / gw9 [5558] / gw10 [5558] / gw11 [5558] / gw12 [5558] / gw13 [5558] / gw14 [5558] / gw15 [5558] / gw16 [5558] / gw17 [5558] / gw18 [5558] / gw19 [5558] / gw20 [5558] / gw21 [5558] / gw22 [5558] / gw23 [5558] / gw24 [5558] / gw25 [5558] / gw26 [5558] / gw27 [5558] / gw28 [5558] / gw29 [5558] / gw30 [5558] / gw31 [5558] / gw32 [5558] / gw33 [5558] / gw34 [5558] / gw35 [5558] / gw36 [5558] / gw37 [5558] / gw38 [5558] / gw39 [5558] / gw40 [5558] / gw41 [5558] / gw42 [5558] / gw43 [5558] / gw44 [5558] / gw45 [5558] / gw46 [5558] / gw47 [5558]

........................................................................ [  1%]
........................................................................ [  2%]
......................................................................... [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  7%]
..............................................X........x...............s. [  9%]
.....................X..........................X.......X............... [ 10%]
.........................X.........................X...X.x..X.......X.... [ 11%]
X....s.........x............X..X.....X............X.........x.....x..... [ 13%]
X.......X..X................X.x.....X...X.X...............x.X........... [ 14%]
...Xx.x.X.X.X...x..X..Xx.X.x....X.X.X...XX....X.X...X.........x......... [ 15%]
...x..x.X......xXx...X.x..........x...x.....XX.X...X...X.X.xX.........Xx [ 16%]
....X.......x........X.X............x................................x.. [ 18%]
.............X.X..........xX....XX.......x..................x.X.......x. [ 19%]
......X.....X..x.................x......�[2m�[36m(pid=6409)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=6409)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m becomes:
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=6409)�[0m 
......x..x.x................X.X. [ 20%]
....xx.�[2m�[36m(pid=5351)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5351)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5351)�[0m 
�[2m�[36m(pid=5351)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5351)�[0m 
�[2m�[36m(pid=5351)�[0m becomes:
�[2m�[36m(pid=5351)�[0m 
�[2m�[36m(pid=5351)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5351)�[0m 
.....X.............x.....XX....X......X.......X...X.............. [ 22%]
.......x.....X.....................Xx..........X....................x... [ 23%]
...x.X.......X.......XX.....X.......X..�[2m�[36m(pid=7107)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7107)�[0m fatal: bad object HEAD
.�[2m�[36m(pid=7113)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7113)�[0m fatal: bad object HEAD
..�[2m�[36m(pid=7121)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7121)�[0m fatal: bad object HEAD
....�[2m�[36m(pid=7141)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7141)�[0m fatal: bad object HEAD
�[2m�[36m(pid=7149)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7149)�[0m fatal: bad object HEAD
.X...X...................X [ 24%]
..............X...x...s................................................. [ 25%]
.......................................................................X.... [ 27%]
.......x....x.............................xX........................XX... [ 28%]
..........X......Xx.x..............X.....X......................X....... [ 29%]
.....X...............X.....x.X....x.X........X....x.........X........... [ 31%]
......x................x................................................... [ 32%]
...........X...............................x.....X.....X..............xX [ 33%]
.X.....X............x.......................x...........X.....X.X.....x. [ 34%]
.................x....X..................XX......X.....s.xX...........X.... [ 36%]
...................X......X.........xX................X..............x....... [ 37%]
........x...................x.............x..�[2m�[36m(pid=7330)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=7330)�[0m fatal: bad object HEAD
..........x.........x........ [ 39%]
..X..........X.......X.........X...........................X............ [ 40%]
.......................X.....X.......................................... [ 41%]
........................................................................ [ 43%]
............................................x........................... [ 44%]
..................................................................x..... [ 45%]
.................................X...................................... [ 46%]
....................X.............sss.s..s�[2m�[36m(pid=6409)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=6409)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m becomes:
�[2m�[36m(pid=6409)�[0m 
�[2m�[36m(pid=6409)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=6409)�[0m 
ssss......s.ssss.s.sss..ssssss [ 48%]
s...............x.....................................X................. [ 49%]
...................sX..............s...............ss.sss.s.......ssX... [ 50%]
........�[2m�[36m(pid=5639)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
.�[2m�[36m(pid=5639)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m becomes:
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5639)�[0m 
.....X.s......x�[2m�[36m(pid=5403)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5403)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m becomes:
.
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5403)�[0m 
....�[2m�[36m(pid=5639)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5639)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m becomes:
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5639)�[0m 
.................x..x......�[2m�[36m(pid=5403)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5403)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m becomes:
�[2m�[36m(pid=5403)�[0m 
...........�[2m�[36m(pid=3051)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.�[2m�[36m(pid=3051)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m becomes:
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=3051)�[0m 
...X. [ 52%]
.x�[2m�[36m(pid=5403)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5403)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m becomes:
�[2m�[36m(pid=5403)�[0m 
�[2m�[36m(pid=5403)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5403)�[0m 
....X...................�[2m�[36m(pid=3051)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=3051)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m becomes:
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=3051)�[0m 
..........x..x.............�[2m�[36m(pid=5639)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5639)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=3051)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=3051)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m becomes:
�[2m�[36m(pid=3051)�[0m 
�[2m�[36m(pid=3051)�[0m >>> df.resample(freq="3s", offset="2s")

�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m becomes:
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=5639)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5639)�[0m 
�[2m�[36m(pid=3051)�[0m 
.........x..x.X... [ 53%]
........................................................................ [ 54%]
........x.................x...............................xX........x... [ 56%]
.........X...........X...........x.........x............................x [ 57%]
.................X.......x.XX............................ss............. [ 58%]
........................................................................ [ 60%]
......................................................x..s............... [ 61%]
x....................................................................... [ 62%]
.......................................................X.............X.. [ 63%]
.................................................................s...... [ 65%]
.......................................................................s [ 66%]
.........................X...............X...............X.............. [ 67%]
............................�[2m�[36m(pid=8248)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=8248)�[0m fatal: bad object HEAD
.................................x......x... [ 69%]
x..........x.........................x......x.X.X...X.X...X.X.....x..... [ 70%]
.............X.........X..X..........x......x.......x...X............... [ 71%]
.x...............x............xX..X.X..X.X..X..........x..........x..... [ 72%]
...x...........x.X.....X..X....x.......x...X..X....X..................... [ 74%]
........................................................................ [ 75%]
....................s...........s............s....s....�[2m�[36m(pid=9109)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9109)�[0m fatal: bad object HEAD
...........s..s.s [ 76%]
....ss.................s.�[2m�[36m(pid=9155)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9155)�[0m fatal: bad object HEAD
.s.........s...s.....................s.s....... [ 78%]
.................s.s..........s....s...s...............s...........�[2m�[36m(pid=9378)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9378)�[0m fatal: bad object HEAD
..... [ 79%]
...s.s.........................s.................s.s.s.................. [ 80%]
..........X..................XX.X.X....X....X.X.X...X.X.XX.......X....X. [ 82%]
.XX....X.X...X..X..X...X.....X..X.XXX..X..X.X..........X..XX.X.X.....XX. [ 83%]
..X................X..X.X.XX..............X.X..............X............ [ 84%]
X...............................................X.....�[2m�[36m(pid=9876)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=9876)�[0m fatal: bad object HEAD
.........XX....... [ 85%]
....................X................................................... [ 87%]
X.X................XX................X.....................X............ [ 88%]
.............................X.X........X...X..X.....X.X.X.X...XX......X [ 89%]
X.........X...........X................................X................ [ 91%]
.X.........................X............................................ [ 92%]
.............................................................xx....x...x [ 93%]
...............x.......................xx..xx...�[2m�[36m(pid=10597)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=10597)�[0m fatal: bad object HEAD
..�[2m�[36m(pid=9673)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..............�[2m�[36m(pid=9653)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
...x�[2m�[36m(pid=9876)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=9876)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.x.�[2m�[36m(pid=9980)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=9980)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
. [ 95%]
.x....�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..�[2m�[36m(pid=6159)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.�[2m�[36m(pid=10189)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10189)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.........x..x...........x...............�[2m�[36m(pid=10775)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.....�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.................. [ 96%]
...s�[2m�[36m(pid=10107)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
......sssss..s..F......�[2m�[36m(pid=10627)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
....�[2m�[36m(pid=10412)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
....�[2m�[36m(pid=9653)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..........�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10204)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
......�[2m�[36m(pid=10107)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
...�[2m�[36m(pid=9141)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..................�[2m�[36m(pid=11167)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
 [ 97%]
.........�[2m�[36m(pid=9673)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=9673)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
...........�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10322)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.�[2m�[36m(pid=11083)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=11083)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..........�[2m�[36m(pid=11251)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=11251)�[0m fatal: bad object HEAD
..................�[2m�[36m(pid=11165)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=11165)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
..............�[2m�[36m(pid=10887)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
......... [ 98%]
............................................X.X...........x.�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
.�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
�[2m�[36m(pid=10896)�[0m FutureWarning: The `squeeze` parameter is deprecated and will be removed in a future version.
            [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD
�[2m�[36m(pid=387)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=387)�[0m fatal: bad object HEAD

=================================== FAILURES ===================================
________________________ test_merge_asof_on_variations _________________________
[gw18] linux -- Python 3.8.6 /root/anaconda3/envs/modin/bin/python
Traceback (most recent call last):
  File "/modin/modin/pandas/test/test_general.py", line 241, in test_merge_asof_on_variations
    modin_merged = pd.merge_asof(modin_left, modin_right, **on_arguments)
  File "/modin/modin/pandas/general.py", line 292, in merge_asof
    result.columns.get_indexer_for(left_on + suffixes[0])[0],
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 4713, in get_indexer_for
    return self.get_indexer(target, **kwargs)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2962, in get_indexer
    target = ensure_index(target)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5620, in ensure_index
    return Index(index_like)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 415, in __new__
    raise cls._scalar_data_error(data)
TypeError: Index(...) must be called with a collection of some kind, 'a_x' was passed

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml

=========================== short test summary info ============================
FAILED modin/pandas/test/test_general.py::test_merge_asof_on_variations - Typ...
= 1 failed, 5114 passed, 79 skipped, 122 xfailed, 242 xpassed, 10619 warnings in 93.41s (0:01:33) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.

@modin-bot
Copy link

modin-bot commented Sep 30, 2020

TeamCity Dask test results bot

Tests FAILed

Tests Logs
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
collected 1400 items

modin/pandas/test/test_io.py ........................................... [  3%]
........................................................................ [  8%]
.............sssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 23%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 33%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 39%]
sssssssssssss........................xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 44%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 49%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xxX............................... [ 54%]
.......x.....x.....X.....X.....X.....X.....X.....X.....x.....x.....X.... [ 59%]
.X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.....X.... [ 64%]
.X.....x.....x.....X.....X.....X.....X.....X.....X...................... [ 69%]
........................................................................ [ 75%]
.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 80%]
xxxxxxxxxxxxx........xxxxxxxx........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 85%]
xxxxxxxxxxxxx........................................................... [ 90%]
.............xxxx.................sx...................s................ [ 95%]
.......................s..s.X.....s..................ss......            [100%]

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml


= 664 passed, 439 skipped, 271 xfailed, 26 xpassed, 135 warnings in 139.73s (0:02:19) =
Closing remaining open files:test_write_pandas.hdf...donetest_write_modin.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I / gw32 I / gw33 I / gw34 I / gw35 I / gw36 I / gw37 I / gw38 I / gw39 I / gw40 I / gw41 I / gw42 I / gw43 I / gw44 I / gw45 I / gw46 I / gw47 I
gw0 [5558] / gw1 [5558] / gw2 [5558] / gw3 [5558] / gw4 [5558] / gw5 [5558] / gw6 [5558] / gw7 [5558] / gw8 [5558] / gw9 [5558] / gw10 [5558] / gw11 [5558] / gw12 [5558] / gw13 [5558] / gw14 [5558] / gw15 [5558] / gw16 [5558] / gw17 [5558] / gw18 [5558] / gw19 [5558] / gw20 [5558] / gw21 [5558] / gw22 [5558] / gw23 [5558] / gw24 [5558] / gw25 [5558] / gw26 [5558] / gw27 [5558] / gw28 [5558] / gw29 [5558] / gw30 [5558] / gw31 [5558] / gw32 [5558] / gw33 [5558] / gw34 [5558] / gw35 [5558] / gw36 [5558] / gw37 [5558] / gw38 [5558] / gw39 [5558] / gw40 [5558] / gw41 [5558] / gw42 [5558] / gw43 [5558] / gw44 [5558] / gw45 [5558] / gw46 [5558] / gw47 [5558]

........................................................................ [  1%]
........................................................................ [  2%]
........................................................................ [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  7%]
............................sx...............................X.......... [  9%]
.............................X.......................................X.X. [ 10%]
.....................X.......x................X.............X.X........X [ 11%]
X...s.....XX..............X.........................X..........XX..X.x.. [ 12%]
..........X....X.....x..........X.........x....X......X...........x..... [ 14%]
.............X...............Xx.X...x.X...XX...X..XX...X.....XXX....X... [ 15%]
...X.X...X....x..x.....X....X.Xx.x...X...x..................X..x........ [ 16%]
X.....x...xx...x......X....X..XXX......x.X....X.....X......Xx........X... [ 18%]
...........X..............X...X...X.............................xX....... [ 19%]
..........X....X............................X....................x....x. [ 20%]
.......X......................................X......x...............X.. [ 22%]
.X........X..........................X.X..........................X.X... [ 23%]
.......................X................................................ [ 24%]
......................................................................... [ 25%]
........................................................X.X.......x...... [ 27%]
............................X.............................x.............. [ 28%]
...........................................................x.......X.... [ 29%]
........s..........X............X................................X...... [ 31%]
...................X..................................x....X................. [ 32%]
........................................................................ [ 33%]
.........................X.............................X...............X [ 35%]
........x..XX.........X...................x................X.....x....... [ 36%]
...........x.x.....Xx...x....................x.x..xx......x....x......... [ 37%]
..x.....x..xX..........X...xX.............XX..............X.X....X..x... [ 39%]
..xxX.......X.X.XX....X...X....XX.........x.....Xxx........X...........X [ 40%]
....X.......x.....X....X...X.....X.xXx....X....X..............x......... [ 41%]
....X....x.x...x........X....ss.ss.ss.ss.ss.x.ss.ss.....x.....x....X.... [ 42%]
..x...x..x...............x.....x.....x....X.......X.x..X.......X.X.X...X [ 44%]
........X..X..X........X....X.X....s............x....................x... [ 45%]
x......X..........X.s.....X.sssssss.s.ss..ss...x..x..................... [ 46%]
....x.x...x.........................x.....xx.......ss.ss.ss.sss......... [ 48%]
.....x........x..x................x..x.................................. [ 49%]
................x....................................................... [ 50%]
........................................................................ [ 52%]
.............................................X..........X.........x..... [ 53%]
....................................x................................... [ 54%]
........X...........x............X.............x......X................. [ 55%]
....X...X...................................................X...s...x..X [ 57%]
.x...........x.x.......x....X.....X....x.x.............x......x..XX.X... [ 58%]
.xX..X.....Xx.X.Xx.XX...........x......................................x [ 59%]
........X................x.............................................. [ 61%]
........................................................................ [ 62%]
..............x..................x..............ss............X......X.. [ 63%]
........................................................................ [ 65%]
........................................................................ [ 66%]
....................................................X...s............... [ 67%]
.................................s..................X..................X [ 68%]
........................................................................ [ 70%]
..................................................................X..... [ 71%]
........................................................................ [ 72%]
.............................................X.......................... [ 74%]
......................................................................... [ 75%]
....................s......s..........s.................s............s.. [ 76%]
.s...........s........s...s......s..s.............s.........s......s.... [ 77%]
.....s.s.................s...................s.........s.........s....... [ 79%]
.............................s............s.....s.s....s................. [ 80%]
..............s............X....X..............s...XX.X..X.X..X...X...X. [ 81%]
......X..X.......X.....X..X...XX..X.X..XXX..X......XX.....XX...X..XX...X [ 83%]
.XX.........X.X.....X.X.X....X.....X..X....X.......X..X...X..XX..X...... [ 84%]
......................X...............................................X. [ 85%]
.........X......................X...........................X............ [ 87%]
......X....X.........................X.............X.................... [ 88%]
X...........X.....X.......X.....................XX.....X.......X.X...... [ 89%]
..XX.X........X........X..........X.......X.......X............X.......X [ 91%]
........................................................................ [ 92%]
........................................................................ [ 93%]
x...........x.......x.x..x.x...x...............x.......x..x...x......... [ 94%]
..............x.............x.........x................x.....x.......... [ 96%]
..............ssss.s...s......................s......................... [ 97%]
..................................................F..................... [ 98%]
....................................................................     [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD

=================================== FAILURES ===================================
________________________ test_merge_asof_on_variations _________________________
[gw0] linux -- Python 3.8.6 /root/anaconda3/envs/modin/bin/python
Traceback (most recent call last):
  File "/modin/modin/pandas/test/test_general.py", line 241, in test_merge_asof_on_variations
    modin_merged = pd.merge_asof(modin_left, modin_right, **on_arguments)
  File "/modin/modin/pandas/general.py", line 292, in merge_asof
    result.columns.get_indexer_for(left_on + suffixes[0])[0],
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 4713, in get_indexer_for
    return self.get_indexer(target, **kwargs)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2962, in get_indexer
    target = ensure_index(target)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5620, in ensure_index
    return Index(index_like)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 415, in __new__
    raise cls._scalar_data_error(data)
TypeError: Index(...) must be called with a collection of some kind, 'a_x' was passed

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml

=========================== short test summary info ============================
FAILED modin/pandas/test/test_general.py::test_merge_asof_on_variations - Typ...
= 1 failed, 5114 passed, 79 skipped, 122 xfailed, 242 xpassed, 10554 warnings in 119.82s (0:01:59) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
collected 1400 items

modin/pandas/test/test_io.py ........................................... [  3%]
........................................................................ [  8%]
.............sssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 23%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 33%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 39%]
sssssssssssss........................xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 44%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx [ 49%]
.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xxX............................... [ 54%]
.......x.....x.....X.....X.....X.....X.....X.....X.....x.....x.....X.... [ 59%]
.X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.....X.... [ 64%]
.X.....x.....x.....X.....X.....X.....X.....X.....X...................... [ 69%]
........................................................................ [ 75%]
.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 80%]
xxxxxxxxxxxxx........xxxxxxxx........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 85%]
xxxxxxxxxxxxx........................................................... [ 90%]
.............xxxx.................sx...................s................ [ 95%]
.......................s..s.X.....s..................ss......            [100%]

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml


= 664 passed, 439 skipped, 271 xfailed, 26 xpassed, 135 warnings in 139.73s (0:02:19) =
Closing remaining open files:test_write_pandas.hdf...donetest_write_modin.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I / gw32 I / gw33 I / gw34 I / gw35 I / gw36 I / gw37 I / gw38 I / gw39 I / gw40 I / gw41 I / gw42 I / gw43 I / gw44 I / gw45 I / gw46 I / gw47 I
gw0 [5558] / gw1 [5558] / gw2 [5558] / gw3 [5558] / gw4 [5558] / gw5 [5558] / gw6 [5558] / gw7 [5558] / gw8 [5558] / gw9 [5558] / gw10 [5558] / gw11 [5558] / gw12 [5558] / gw13 [5558] / gw14 [5558] / gw15 [5558] / gw16 [5558] / gw17 [5558] / gw18 [5558] / gw19 [5558] / gw20 [5558] / gw21 [5558] / gw22 [5558] / gw23 [5558] / gw24 [5558] / gw25 [5558] / gw26 [5558] / gw27 [5558] / gw28 [5558] / gw29 [5558] / gw30 [5558] / gw31 [5558] / gw32 [5558] / gw33 [5558] / gw34 [5558] / gw35 [5558] / gw36 [5558] / gw37 [5558] / gw38 [5558] / gw39 [5558] / gw40 [5558] / gw41 [5558] / gw42 [5558] / gw43 [5558] / gw44 [5558] / gw45 [5558] / gw46 [5558] / gw47 [5558]

........................................................................ [  1%]
........................................................................ [  2%]
........................................................................ [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  7%]
............................sx...............................X.......... [  9%]
.............................X.......................................X.X. [ 10%]
.....................X.......x................X.............X.X........X [ 11%]
X...s.....XX..............X.........................X..........XX..X.x.. [ 12%]
..........X....X.....x..........X.........x....X......X...........x..... [ 14%]
.............X...............Xx.X...x.X...XX...X..XX...X.....XXX....X... [ 15%]
...X.X...X....x..x.....X....X.Xx.x...X...x..................X..x........ [ 16%]
X.....x...xx...x......X....X..XXX......x.X....X.....X......Xx........X... [ 18%]
...........X..............X...X...X.............................xX....... [ 19%]
..........X....X............................X....................x....x. [ 20%]
.......X......................................X......x...............X.. [ 22%]
.X........X..........................X.X..........................X.X... [ 23%]
.......................X................................................ [ 24%]
......................................................................... [ 25%]
........................................................X.X.......x...... [ 27%]
............................X.............................x.............. [ 28%]
...........................................................x.......X.... [ 29%]
........s..........X............X................................X...... [ 31%]
...................X..................................x....X................. [ 32%]
........................................................................ [ 33%]
.........................X.............................X...............X [ 35%]
........x..XX.........X...................x................X.....x....... [ 36%]
...........x.x.....Xx...x....................x.x..xx......x....x......... [ 37%]
..x.....x..xX..........X...xX.............XX..............X.X....X..x... [ 39%]
..xxX.......X.X.XX....X...X....XX.........x.....Xxx........X...........X [ 40%]
....X.......x.....X....X...X.....X.xXx....X....X..............x......... [ 41%]
....X....x.x...x........X....ss.ss.ss.ss.ss.x.ss.ss.....x.....x....X.... [ 42%]
..x...x..x...............x.....x.....x....X.......X.x..X.......X.X.X...X [ 44%]
........X..X..X........X....X.X....s............x....................x... [ 45%]
x......X..........X.s.....X.sssssss.s.ss..ss...x..x..................... [ 46%]
....x.x...x.........................x.....xx.......ss.ss.ss.sss......... [ 48%]
.....x........x..x................x..x.................................. [ 49%]
................x....................................................... [ 50%]
........................................................................ [ 52%]
.............................................X..........X.........x..... [ 53%]
....................................x................................... [ 54%]
........X...........x............X.............x......X................. [ 55%]
....X...X...................................................X...s...x..X [ 57%]
.x...........x.x.......x....X.....X....x.x.............x......x..XX.X... [ 58%]
.xX..X.....Xx.X.Xx.XX...........x......................................x [ 59%]
........X................x.............................................. [ 61%]
........................................................................ [ 62%]
..............x..................x..............ss............X......X.. [ 63%]
........................................................................ [ 65%]
........................................................................ [ 66%]
....................................................X...s............... [ 67%]
.................................s..................X..................X [ 68%]
........................................................................ [ 70%]
..................................................................X..... [ 71%]
........................................................................ [ 72%]
.............................................X.......................... [ 74%]
......................................................................... [ 75%]
....................s......s..........s.................s............s.. [ 76%]
.s...........s........s...s......s..s.............s.........s......s.... [ 77%]
.....s.s.................s...................s.........s.........s....... [ 79%]
.............................s............s.....s.s....s................. [ 80%]
..............s............X....X..............s...XX.X..X.X..X...X...X. [ 81%]
......X..X.......X.....X..X...XX..X.X..XXX..X......XX.....XX...X..XX...X [ 83%]
.XX.........X.X.....X.X.X....X.....X..X....X.......X..X...X..XX..X...... [ 84%]
......................X...............................................X. [ 85%]
.........X......................X...........................X............ [ 87%]
......X....X.........................X.............X.................... [ 88%]
X...........X.....X.......X.....................XX.....X.......X.X...... [ 89%]
..XX.X........X........X..........X.......X.......X............X.......X [ 91%]
........................................................................ [ 92%]
........................................................................ [ 93%]
x...........x.......x.x..x.x...x...............x.......x..x...x......... [ 94%]
..............x.............x.........x................x.....x.......... [ 96%]
..............ssss.s...s......................s......................... [ 97%]
..................................................F..................... [ 98%]
....................................................................     [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD

=================================== FAILURES ===================================
________________________ test_merge_asof_on_variations _________________________
[gw0] linux -- Python 3.8.6 /root/anaconda3/envs/modin/bin/python
Traceback (most recent call last):
  File "/modin/modin/pandas/test/test_general.py", line 241, in test_merge_asof_on_variations
    modin_merged = pd.merge_asof(modin_left, modin_right, **on_arguments)
  File "/modin/modin/pandas/general.py", line 292, in merge_asof
    result.columns.get_indexer_for(left_on + suffixes[0])[0],
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 4713, in get_indexer_for
    return self.get_indexer(target, **kwargs)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2962, in get_indexer
    target = ensure_index(target)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 5620, in ensure_index
    return Index(index_like)
  File "/root/anaconda3/envs/modin/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 415, in __new__
    raise cls._scalar_data_error(data)
TypeError: Index(...) must be called with a collection of some kind, 'a_x' was passed

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Coverage XML written to file coverage.xml

=========================== short test summary info ============================
FAILED modin/pandas/test/test_general.py::test_merge_asof_on_variations - Typ...
= 1 failed, 5114 passed, 79 skipped, 122 xfailed, 242 xpassed, 10554 warnings in 119.82s (0:01:59) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.

@itamarst
Copy link
Contributor Author

itamarst commented Oct 6, 2020

@devin-petersohn ping—if you have a chance, would love some feedback on this sketch before proceeding.

Copy link
Collaborator

@devin-petersohn devin-petersohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay in response, I took some vacation to rest. I'm still getting caught up.

The implementation here, while not super efficient, will be better than the current default behavior. We should still probably throw the warning for defaulting to pandas because we are collecting whole column(s) to the driver to compute the merge.

Otherwise it looks good until we can have a better internal way of joins with conditionals.

…r' into merge_asof/2013

Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
1. Move test to correct location.
2. Test with more interesting indexes.
3. Start setting up infrastructure for testing different on variations.

Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
@itamarst itamarst closed this Nov 2, 2020
@itamarst
Copy link
Contributor Author

itamarst commented Nov 2, 2020

Will re-open when it's ready for review.

Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
@itamarst itamarst reopened this Nov 5, 2020
@itamarst
Copy link
Contributor Author

itamarst commented Nov 5, 2020

@devin-petersohn probably still needs testing of some of the fallback edge cases, but this is a lot closer to done, and so could use another passthrough.

So many edge cases... and I feel like I'm handling them in super-hacky ways.

@itamarst itamarst changed the title FEAT-#2013: Sketch of improved merge_asof implementation FEAT-#2013: Mostly working implementation of improved merge_asof implementation Nov 5, 2020
@itamarst
Copy link
Contributor Author

@devin-petersohn any thoughts?

Copy link
Collaborator

@devin-petersohn devin-petersohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a good approach given the current internals. Eventually, I would like to implement a non-equi join internally, which would fit this operator better.

modin/pandas/general.py Outdated Show resolved Hide resolved
@itamarst
Copy link
Contributor Author

itamarst commented Nov 24, 2020

Looks like:

  1. Someone fixed the argument handling in merge_asof 17 days ago, so it'll be in Pandas 1.2.0.
  2. There's a PR for one of the weird seeming argument combos: merge_asof(left_index=True, right_on=...) overwrites left index with right index pandas-dev/pandas#33463, so it's not just me being confused 😁

…in Pandas.

Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
@itamarst
Copy link
Contributor Author

@devin-petersohn I guess this is ready for review now? Main caveat I have is that example dataframes for tests were taken from Pandas docs, so potentially licensing issue that would need to fixed, not sure whether that's a problem or not.

@itamarst itamarst marked this pull request as ready for review November 24, 2020 21:42
@itamarst itamarst changed the title FEAT-#2013: Mostly working implementation of improved merge_asof implementation FEAT-#2013: Improved merge_asof implementation Nov 24, 2020
Copy link
Collaborator

@devin-petersohn devin-petersohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, a couple of minor points. Would you be able to fix the failing commitlint test?

modin/pandas/general.py Outdated Show resolved Hide resolved
modin/pandas/general.py Outdated Show resolved Hide resolved
modin/pandas/general.py Outdated Show resolved Hide resolved
Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>

Co-authored-by: Devin Petersohn <devin-petersohn@users.noreply.github.com>
@itamarst
Copy link
Contributor Author

I can fix the commit by squash merging, my attempts at rebases have failed due to limits of my Git knowledge. So I can do that, or if you know you can do that. Perhaps the 70 character limit could be removed? It doesn't seem lack it adds much... 😁

@devin-petersohn
Copy link
Collaborator

Part of the 70 limit is a github thing, messages longer than that are chopped. I increased it to 88 in #2489.

…r' into merge_asof/2013

Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
@itamarst
Copy link
Contributor Author

itamarst commented Dec 1, 2020

OK, merged forward, hopefully everything will pass (once GitHub Actions gets unbroken for the day, I guess? Seems like they're having issues).

…r' into merge_asof/2013

Signed-off-by: Itamar Turner-Trauring <itamar@itamarst.org>
@itamarst
Copy link
Contributor Author

itamarst commented Dec 4, 2020

@devin-petersohn another frustrating git commit lint failure. I'm going to just turn this into a patch, and create a completely new PR with a new branch :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement distributed merge_asof
3 participants