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

REFACTOR-#2642: Refactor partition API #2643

Merged
merged 15 commits into from Mar 4, 2021

Conversation

YarShev
Copy link
Collaborator

@YarShev YarShev commented Jan 25, 2021

Signed-off-by: Igoshev, Yaroslav yaroslav.igoshev@intel.com

What do these changes do?

  • commit message follows format outlined here
  • passes flake8 modin
  • passes black --check modin
  • signed commit with git commit -s
  • Resolves Refactor partition API #2642
  • tests passing

@modin-bot
Copy link

modin-bot commented Jan 25, 2021

TeamCity Python test results bot

Tests PASSed

Tests Logs
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
collected 1773 items

modin/pandas/test/test_io.py ........................................... [  2%]
........................................................................ [  6%]
........................................................................ [ 10%]
........................................................................ [ 14%]
........................................................................ [ 18%]
........................................................................ [ 22%]
........................................................................ [ 26%]
........................................................................ [ 30%]
.....................................................................xxx [ 34%]
xxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxx [ 38%]
xxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx....xx [ 43%]
X....................................................................... [ 47%]
........................................................................ [ 51%]
........................................................................ [ 55%]
........................................................................ [ 59%]
........................................................................ [ 63%]
........................................................................ [ 67%]
........................................................................ [ 71%]
........................................................................ [ 75%]
........................................................................ [ 79%]
........................................................................ [ 83%]
........................................................................ [ 87%]
........................................................................ [ 91%]
.....xxxxxxxxxxxx............s.......................................... [ 95%]
........s...........X...X..........X.......x...............ss....ss..... [ 99%]
..                                                                       [100%]

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


= 1652 passed, 6 skipped, 111 xfailed, 4 xpassed, 1896 warnings in 82.57s (0:01:22) =
Closing remaining open files:/modin/modin/pandas/test/io_tests_data/2791e2e87c2611ebab3b0242ac110002.hdf...done/modin/modin/pandas/test/io_tests_data/2791e14e7c2611ebab3b0242ac110002.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
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 [5706] / gw1 [5706] / gw2 [5706] / gw3 [5706] / gw4 [5706] / gw5 [5706] / gw6 [5706] / gw7 [5706] / gw8 [5706] / gw9 [5706] / gw10 [5706] / gw11 [5706] / gw12 [5706] / gw13 [5706] / gw14 [5706] / gw15 [5706] / gw16 [5706] / gw17 [5706] / gw18 [5706] / gw19 [5706] / gw20 [5706] / gw21 [5706] / gw22 [5706] / gw23 [5706] / gw24 [5706] / gw25 [5706] / gw26 [5706] / gw27 [5706] / gw28 [5706] / gw29 [5706] / gw30 [5706] / gw31 [5706] / gw32 [5706] / gw33 [5706] / gw34 [5706] / gw35 [5706] / gw36 [5706] / gw37 [5706] / gw38 [5706] / gw39 [5706] / gw40 [5706] / gw41 [5706] / gw42 [5706] / gw43 [5706] / gw44 [5706] / gw45 [5706] / gw46 [5706] / gw47 [5706]

........................................................................ [  1%]
........................................................................ [  2%]
........................................................................ [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
................................s....................................... [  7%]
.............................s.......................................... [  8%]
............................s....................................X...... [ 10%]
...x.................................................................... [ 11%]
.............xx..x.XXXXXX.X..........X.......X.........X.........X..x... [ 12%]
.XX....X...........x.....x.XX.X......X.X..X........XxxX........X........ [ 13%]
......X.X.X....x.....................................X...x.....X........ [ 15%]
....X..X.X.X............X...X..X.....X...X....X....X..X........X........ [ 16%]
....X......x......x....x.......X.........X..X.....X.....x.....X.......X. [ 17%]
......x.X.....X..xx...XXXXXX.x......X...xx..X...XX...Xxx....xx.......... [ 18%]
x..X.XX...X.........x...........X.xX.X.xxxX....X.XXX.XXXXXxx..x.xxXX...x [ 19%]
..X.Xx..xx........Xx..Xx.........Xx..X.Xx.......X..x...XX....x..XX.x...XX [ 21%]
..X...xX.Xx.X...XX.....XX..x....XX....X.X..Xxx....X.x..X..xx.......x.X...x [ 22%]
.x.x......x...X...x.X......X..XX.XXX........X...x...X.........X.....x..X. [ 23%]
........X...x...X.x....X..x..XXx.x....X..x...X..x.......x...Xx.xx....... [ 25%]
X......x......X...........X.X.........X.....s....X......X........x...... [ 26%]
.xx.......x.....x....................................................... [ 27%]
..................................................................X..... [ 29%]
..................................................................X..... [ 30%]
..........X..........................................................X...... [ 31%]
................x...X......................X.................X.X......... [ 32%]
.................X.....X....................x......X....x.......x....... [ 34%]
x........................X...........................x.................. [ 35%]
..x..........................X.............x............................ [ 36%]
...................................x........................................ [ 37%]
.....................................x.................................. [ 39%]
....X........X............x........................X.................... [ 40%]
....................................................x.......x............ [ 41%]
........................................................................ [ 43%]
........................................................................... [ 44%]
........................................................................ [ 45%]
.....x....................x..........xx................................. [ 46%]
..........................s.................X............................ [ 48%]
........................................................................ [ 49%]
................................sssss......X..sssss..................sss [ 50%]
.................s..Xs...s..............s......X.........sssssssss....ss [ 52%]
s...................................................X...............xx.. [ 53%]
.........................................................x.sssss.......... [ 54%]
........................................................................ [ 55%]
........x..............................................................x [ 57%]
.......s...........................................s.................... [ 58%]
..s...................................................................... [ 59%]
..s..................................................................... [ 60%]
...........s.......s..................................................... [ 62%]
........................................................................ [ 63%]
........................................................................ [ 64%]
........................................................................ [ 66%]
........................................................................ [ 67%]
........................................................................ [ 68%]
.......x................................................................. [ 69%]
........................................................................ [ 71%]
........................................................................ [ 72%]
......................................................s................. [ 73%]
........s.......X............................s......................s.... [ 74%]
...s.......s.s..s.s.......s......s.......ss.s.....s......s.............. [ 76%]
s...........s..s........s.......s......s................s............... [ 77%]
..s..................................................................... [ 78%]
.....X.........X...X.....X...X...X.....XX...X.X..X...XX........XX....... [ 79%]
..XX......XX.......X.....X.....XX......X..X......XX..........X..X....... [ 81%]
....X..X.....X...........X............X...........X...............X..... [ 82%]
.X........................X.......X..X..X................X.............. [ 83%]
..X..................X....................XX..........X.XX.............. [ 84%]
..................XX....................X......................X....X... [ 86%]
..................X.......................X..X.X.....X......X.X....X.X.. [ 87%]
.X.X......X........X...X..........X.......X...XX.....XX.................X [ 88%]
.......................X................................................ [ 90%]
.............................................................x...x....x..x [ 91%]
...x...x..x.....x.x...........................x........x..x............. [ 92%]
...........x....s...................xxss.............x................s. [ 93%]
ss.ssss.s.s..sssssssssssssssss.ss.s.s..s..s....s.ss........s......s..s... [ 95%]
s..ss..s....s..................ss..............................s......ss [ 96%]
....s..s...................................s............................. [ 97%]
...................s.................................................... [ 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


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

= 5227 passed, 124 skipped, 119 xfailed, 236 xpassed, 10403 warnings in 88.78s (0:01:28) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
collected 1773 items

modin/pandas/test/test_io.py ........................................... [  2%]
........................................................................ [  6%]
........................................................................ [ 10%]
........................................................................ [ 14%]
........................................................................ [ 18%]
........................................................................ [ 22%]
........................................................................ [ 26%]
........................................................................ [ 30%]
.....................................................................xxx [ 34%]
xxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxx [ 38%]
xxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx...xxxxxx....xx [ 43%]
X....................................................................... [ 47%]
........................................................................ [ 51%]
........................................................................ [ 55%]
........................................................................ [ 59%]
........................................................................ [ 63%]
........................................................................ [ 67%]
........................................................................ [ 71%]
........................................................................ [ 75%]
........................................................................ [ 79%]
........................................................................ [ 83%]
........................................................................ [ 87%]
........................................................................ [ 91%]
.....xxxxxxxxxxxx............s.......................................... [ 95%]
........s...........X...X..........X.......x...............ss....ss..... [ 99%]
..                                                                       [100%]

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


= 1652 passed, 6 skipped, 111 xfailed, 4 xpassed, 1896 warnings in 82.57s (0:01:22) =
Closing remaining open files:/modin/modin/pandas/test/io_tests_data/2791e2e87c2611ebab3b0242ac110002.hdf...done/modin/modin/pandas/test/io_tests_data/2791e14e7c2611ebab3b0242ac110002.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
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 [5706] / gw1 [5706] / gw2 [5706] / gw3 [5706] / gw4 [5706] / gw5 [5706] / gw6 [5706] / gw7 [5706] / gw8 [5706] / gw9 [5706] / gw10 [5706] / gw11 [5706] / gw12 [5706] / gw13 [5706] / gw14 [5706] / gw15 [5706] / gw16 [5706] / gw17 [5706] / gw18 [5706] / gw19 [5706] / gw20 [5706] / gw21 [5706] / gw22 [5706] / gw23 [5706] / gw24 [5706] / gw25 [5706] / gw26 [5706] / gw27 [5706] / gw28 [5706] / gw29 [5706] / gw30 [5706] / gw31 [5706] / gw32 [5706] / gw33 [5706] / gw34 [5706] / gw35 [5706] / gw36 [5706] / gw37 [5706] / gw38 [5706] / gw39 [5706] / gw40 [5706] / gw41 [5706] / gw42 [5706] / gw43 [5706] / gw44 [5706] / gw45 [5706] / gw46 [5706] / gw47 [5706]

........................................................................ [  1%]
........................................................................ [  2%]
........................................................................ [  3%]
........................................................................ [  5%]
........................................................................ [  6%]
................................s....................................... [  7%]
.............................s.......................................... [  8%]
............................s....................................X...... [ 10%]
...x.................................................................... [ 11%]
.............xx..x.XXXXXX.X..........X.......X.........X.........X..x... [ 12%]
.XX....X...........x.....x.XX.X......X.X..X........XxxX........X........ [ 13%]
......X.X.X....x.....................................X...x.....X........ [ 15%]
....X..X.X.X............X...X..X.....X...X....X....X..X........X........ [ 16%]
....X......x......x....x.......X.........X..X.....X.....x.....X.......X. [ 17%]
......x.X.....X..xx...XXXXXX.x......X...xx..X...XX...Xxx....xx.......... [ 18%]
x..X.XX...X.........x...........X.xX.X.xxxX....X.XXX.XXXXXxx..x.xxXX...x [ 19%]
..X.Xx..xx........Xx..Xx.........Xx..X.Xx.......X..x...XX....x..XX.x...XX [ 21%]
..X...xX.Xx.X...XX.....XX..x....XX....X.X..Xxx....X.x..X..xx.......x.X...x [ 22%]
.x.x......x...X...x.X......X..XX.XXX........X...x...X.........X.....x..X. [ 23%]
........X...x...X.x....X..x..XXx.x....X..x...X..x.......x...Xx.xx....... [ 25%]
X......x......X...........X.X.........X.....s....X......X........x...... [ 26%]
.xx.......x.....x....................................................... [ 27%]
..................................................................X..... [ 29%]
..................................................................X..... [ 30%]
..........X..........................................................X...... [ 31%]
................x...X......................X.................X.X......... [ 32%]
.................X.....X....................x......X....x.......x....... [ 34%]
x........................X...........................x.................. [ 35%]
..x..........................X.............x............................ [ 36%]
...................................x........................................ [ 37%]
.....................................x.................................. [ 39%]
....X........X............x........................X.................... [ 40%]
....................................................x.......x............ [ 41%]
........................................................................ [ 43%]
........................................................................... [ 44%]
........................................................................ [ 45%]
.....x....................x..........xx................................. [ 46%]
..........................s.................X............................ [ 48%]
........................................................................ [ 49%]
................................sssss......X..sssss..................sss [ 50%]
.................s..Xs...s..............s......X.........sssssssss....ss [ 52%]
s...................................................X...............xx.. [ 53%]
.........................................................x.sssss.......... [ 54%]
........................................................................ [ 55%]
........x..............................................................x [ 57%]
.......s...........................................s.................... [ 58%]
..s...................................................................... [ 59%]
..s..................................................................... [ 60%]
...........s.......s..................................................... [ 62%]
........................................................................ [ 63%]
........................................................................ [ 64%]
........................................................................ [ 66%]
........................................................................ [ 67%]
........................................................................ [ 68%]
.......x................................................................. [ 69%]
........................................................................ [ 71%]
........................................................................ [ 72%]
......................................................s................. [ 73%]
........s.......X............................s......................s.... [ 74%]
...s.......s.s..s.s.......s......s.......ss.s.....s......s.............. [ 76%]
s...........s..s........s.......s......s................s............... [ 77%]
..s..................................................................... [ 78%]
.....X.........X...X.....X...X...X.....XX...X.X..X...XX........XX....... [ 79%]
..XX......XX.......X.....X.....XX......X..X......XX..........X..X....... [ 81%]
....X..X.....X...........X............X...........X...............X..... [ 82%]
.X........................X.......X..X..X................X.............. [ 83%]
..X..................X....................XX..........X.XX.............. [ 84%]
..................XX....................X......................X....X... [ 86%]
..................X.......................X..X.X.....X......X.X....X.X.. [ 87%]
.X.X......X........X...X..........X.......X...XX.....XX.................X [ 88%]
.......................X................................................ [ 90%]
.............................................................x...x....x..x [ 91%]
...x...x..x.....x.x...........................x........x..x............. [ 92%]
...........x....s...................xxss.............x................s. [ 93%]
ss.ssss.s.s..sssssssssssssssss.ss.s.s..s..s....s.ss........s......s..s... [ 95%]
s..ss..s....s..................ss..............................s......ss [ 96%]
....s..s...................................s............................. [ 97%]
...................s.................................................... [ 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


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

= 5227 passed, 124 skipped, 119 xfailed, 236 xpassed, 10403 warnings in 88.78s (0:01:28) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful

@codecov
Copy link

codecov bot commented Jan 25, 2021

Codecov Report

Merging #2643 (3371f03) into master (057eb61) will decrease coverage by 1.94%.
The diff coverage is 79.77%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2643      +/-   ##
==========================================
- Coverage   82.85%   80.91%   -1.95%     
==========================================
  Files         127      127              
  Lines       14212    14275      +63     
==========================================
- Hits        11776    11550     -226     
- Misses       2436     2725     +289     
Impacted Files Coverage Δ
modin/engines/base/frame/axis_partition.py 87.75% <ø> (ø)
.../engines/ray/pandas_on_ray/frame/axis_partition.py 0.00% <0.00%> (-96.43%) ⬇️
modin/engines/ray/pandas_on_ray/frame/partition.py 0.00% <0.00%> (-94.69%) ⬇️
modin/experimental/xgboost/xgboost_ray.py 0.00% <0.00%> (ø)
...din/engines/dask/pandas_on_dask/frame/partition.py 84.78% <58.33%> (-4.63%) ⬇️
...ngines/dask/pandas_on_dask/frame/axis_partition.py 82.92% <66.66%> (ø)
modin/pandas/base.py 94.89% <66.66%> (-0.15%) ⬇️
modin/pandas/series.py 93.75% <66.66%> (-0.23%) ⬇️
modin/pandas/dataframe.py 90.39% <83.33%> (-0.07%) ⬇️
...ngines/base/io/column_stores/parquet_dispatcher.py 89.65% <90.00%> (+0.56%) ⬆️
... and 38 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 057eb61...bee1738. Read the comment docs.

@modin-bot
Copy link

modin-bot commented Jan 25, 2021

TeamCity Dask test results bot

Tests PASSed

Tests Logs
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
collected 1773 items

modin/pandas/test/test_io.py ........................................... [  2%]
........................................................................ [  6%]
.............................................sssssssssssssssssssssssssss [ 10%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 14%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
sssssssssssssssssssssssssssssssssssssssssssss........................xxx [ 34%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxx [ 38%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xx [ 43%]
X......................................x.....x.....X.....X.....X.....X.. [ 47%]
...X.....X.....x.....x.....X.....X.....X.....X.....X.....X.....x.....x.. [ 51%]
...X.....X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.. [ 55%]
...X.....X.............................................................. [ 59%]
..............................................xxxxxxxxxxxxxxxxxxxxxxxxxx [ 63%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........xxxxxxxx........xx [ 67%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......................... [ 71%]
..............................................xxxx......xxxxxx......xxxx [ 75%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 79%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 83%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 87%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx...................... [ 91%]
.....xxxxxxxxxxxx....................................................... [ 95%]
....................X...x..........X.......x...............ss....ss..... [ 99%]
..                                                                       [100%]

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


= 882 passed, 436 skipped, 428 xfailed, 27 xpassed, 269 warnings in 208.35s (0:03:28) =
Closing remaining open files:/modin/modin/pandas/test/io_tests_data/6a73c8747c2611ebb0140242ac110006.hdf...done/modin/modin/pandas/test/io_tests_data/6a73c6d07c2611ebb0140242ac110006.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
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 [5706] / gw1 [5706] / gw2 [5706] / gw3 [5706] / gw4 [5706] / gw5 [5706] / gw6 [5706] / gw7 [5706] / gw8 [5706] / gw9 [5706] / gw10 [5706] / gw11 [5706] / gw12 [5706] / gw13 [5706] / gw14 [5706] / gw15 [5706] / gw16 [5706] / gw17 [5706] / gw18 [5706] / gw19 [5706] / gw20 [5706] / gw21 [5706] / gw22 [5706] / gw23 [5706] / gw24 [5706] / gw25 [5706] / gw26 [5706] / gw27 [5706] / gw28 [5706] / gw29 [5706] / gw30 [5706] / gw31 [5706] / gw32 [5706] / gw33 [5706] / gw34 [5706] / gw35 [5706] / gw36 [5706] / gw37 [5706] / gw38 [5706] / gw39 [5706] / gw40 [5706] / gw41 [5706] / gw42 [5706] / gw43 [5706] / gw44 [5706] / gw45 [5706] / gw46 [5706] / gw47 [5706]

........................................................................ [  1%]
........................................................................ [  2%]
................................s........................................ [  3%]
........................................................................ [  5%]
......................................................X...x............. [  6%]
...............................X................X...x..................X [  7%]
.......s.............................X.................................. [  8%]
X.X....................X.......x..............X.....X.......X........... [ 10%]
.......X......x.x.............X...x..X...x............X..x.........X..x.. [ 11%]
..x.X....X....X.X....X.....X.XX..........x.....x....X........x...x...... [ 12%]
......X.x.x......x........X.X....X...X......x......x.X.x......X.X..XX... [ 13%]
X.X..x..X.X..X..X.x..XX....s.......x......x.....xx..x............x.x..xx [ 15%]
.....x............x..x...............xx..x.xX.X.x...X.X.XX....xX......X. [ 16%]
.......x..........XX......X.x.xX......X..X......X....X.X.x.............. [ 17%]
X...x.....x...............X.......x....X...x..X...X.....x...X...X.X..x.. [ 18%]
X.x...X......XX......X...X..................x....x.............x........ [ 20%]
X....x...............x..x.X.......................x.....x.....X.X....... [ 21%]
......................................................X................. [ 22%]
.......XX.............X.....XX...................X.......X......X.X..... [ 24%]
X.....X.....X....X........XxX.........................x...........X.x... [ 25%]
........X.......X...........X.........X.....X..X....X.................... [ 26%]
........................x..................................X.....x....... [ 27%]
..........................x........X..................................... [ 29%]
...x...............................................................x.... [ 30%]
......................................x................X.............X.. [ 31%]
.....X.........X.....X.........X................X......X................ [ 32%]
................x.x..................x........X................X......... [ 34%]
......x........x................x...................................x.... [ 35%]
.............x....................x...x..........X........xx....X...X... [ 36%]
..................................X..................................... [ 37%]
..................x.........X................X.....................x.... [ 39%]
..X...........X..........X.......X....................x..............X.. [ 40%]
.....................X.................................................. [ 41%]
............X...X......X..X........X.......X...X.....X........XX........ [ 43%]
......................X...X.......X....................x................ [ 44%]
........................................................................ [ 45%]
.....X...............X.............X......X.........Xs.................. [ 46%]
........................................................................ [ 48%]
...............ss.ss.ssssssss.ss......x..........................x.x.... [ 49%]
......................................................x.x............... [ 50%]
................................................s.sssssss.ss............ [ 51%]
........................................................................ [ 53%]
...........................................x............................ [ 54%]
...............................x.............X..............x........... [ 55%]
..............................ss........................................ [ 56%]
........X..........X....................X......X...x..............x..... [ 58%]
....x.......X...........x.x...............x......................X...... [ 59%]
......................................................................X. [ 60%]
.......................................................................X [ 61%]
........ssss.ssssssss.......x....X....................x................x [ 63%]
............x........................................................... [ 64%]
............s........................................................... [ 65%]
........................................................................ [ 66%]
......................................................................... [ 68%]
................................X...........s........................... [ 69%]
......X..........X..........................................X........... [ 70%]
........s............................................................... [ 72%]
....x...........................................X..............X........ [ 73%]
........................s.......s....................s........s......... [ 74%]
.....s.................s....s.....s..s.......s........s..........s...s.. [ 75%]
.......s...........s..........s...s........................s...s....s... [ 77%]
.....s............s..............................s................s..... [ 78%]
...................X...................X...........X.......X......X....X [ 79%]
.....X.......X........X...XX....XX....X...X............XXXX..X.......XXX [ 80%]
....XX........X.X....X....X..X.....XX........X..X.X........XX..X....X.X. [ 82%]
X......X..X..X....................................X..........X..X....... [ 83%]
.........X....X......................................................... [ 84%]
.................X.........XX..........X...........................X.... [ 85%]
.X..........X.X........X...........X........X......XX...........XX...... [ 87%]
..X...X..X.......X....X.......X.X.X............X..X.......X............. [ 88%]
..............................X......................................... [ 89%]
........................................................................ [ 90%]
...................................................x.....x.....x..x..... [ 92%]
x...x....x....xx........................................xx..xx.......... [ 93%]
..x...s.............x.x.......s............................sssss.sssssssss [ 94%]
sss.sss.ssssssssssss..ss.......s..........s....s......ss..........s.s... [ 96%]
.........................s...............s.sss.s........................ [ 97%]
.s......................s.................s..s.......................... [ 98%]
......s.......................................s......................... [ 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


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

= 5227 passed, 124 skipped, 119 xfailed, 236 xpassed, 10292 warnings in 156.88s (0:02:36) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
collected 1773 items

modin/pandas/test/test_io.py ........................................... [  2%]
........................................................................ [  6%]
.............................................sssssssssssssssssssssssssss [ 10%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 14%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
sssssssssssssssssssssssssssssssssssssssssssss........................xxx [ 34%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxx [ 38%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xx [ 43%]
X......................................x.....x.....X.....X.....X.....X.. [ 47%]
...X.....X.....x.....x.....X.....X.....X.....X.....X.....X.....x.....x.. [ 51%]
...X.....X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.. [ 55%]
...X.....X.............................................................. [ 59%]
..............................................xxxxxxxxxxxxxxxxxxxxxxxxxx [ 63%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........xxxxxxxx........xx [ 67%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......................... [ 71%]
..............................................xxxx......xxxxxx......xxxx [ 75%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 79%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 83%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 87%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx...................... [ 91%]
.....xxxxxxxxxxxx....................................................... [ 95%]
....................X...x..........X.......x...............ss....ss..... [ 99%]
..                                                                       [100%]

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


= 882 passed, 436 skipped, 428 xfailed, 27 xpassed, 269 warnings in 208.35s (0:03:28) =
Closing remaining open files:/modin/modin/pandas/test/io_tests_data/6a73c8747c2611ebb0140242ac110006.hdf...done/modin/modin/pandas/test/io_tests_data/6a73c6d07c2611ebb0140242ac110006.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
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 [5706] / gw1 [5706] / gw2 [5706] / gw3 [5706] / gw4 [5706] / gw5 [5706] / gw6 [5706] / gw7 [5706] / gw8 [5706] / gw9 [5706] / gw10 [5706] / gw11 [5706] / gw12 [5706] / gw13 [5706] / gw14 [5706] / gw15 [5706] / gw16 [5706] / gw17 [5706] / gw18 [5706] / gw19 [5706] / gw20 [5706] / gw21 [5706] / gw22 [5706] / gw23 [5706] / gw24 [5706] / gw25 [5706] / gw26 [5706] / gw27 [5706] / gw28 [5706] / gw29 [5706] / gw30 [5706] / gw31 [5706] / gw32 [5706] / gw33 [5706] / gw34 [5706] / gw35 [5706] / gw36 [5706] / gw37 [5706] / gw38 [5706] / gw39 [5706] / gw40 [5706] / gw41 [5706] / gw42 [5706] / gw43 [5706] / gw44 [5706] / gw45 [5706] / gw46 [5706] / gw47 [5706]

........................................................................ [  1%]
........................................................................ [  2%]
................................s........................................ [  3%]
........................................................................ [  5%]
......................................................X...x............. [  6%]
...............................X................X...x..................X [  7%]
.......s.............................X.................................. [  8%]
X.X....................X.......x..............X.....X.......X........... [ 10%]
.......X......x.x.............X...x..X...x............X..x.........X..x.. [ 11%]
..x.X....X....X.X....X.....X.XX..........x.....x....X........x...x...... [ 12%]
......X.x.x......x........X.X....X...X......x......x.X.x......X.X..XX... [ 13%]
X.X..x..X.X..X..X.x..XX....s.......x......x.....xx..x............x.x..xx [ 15%]
.....x............x..x...............xx..x.xX.X.x...X.X.XX....xX......X. [ 16%]
.......x..........XX......X.x.xX......X..X......X....X.X.x.............. [ 17%]
X...x.....x...............X.......x....X...x..X...X.....x...X...X.X..x.. [ 18%]
X.x...X......XX......X...X..................x....x.............x........ [ 20%]
X....x...............x..x.X.......................x.....x.....X.X....... [ 21%]
......................................................X................. [ 22%]
.......XX.............X.....XX...................X.......X......X.X..... [ 24%]
X.....X.....X....X........XxX.........................x...........X.x... [ 25%]
........X.......X...........X.........X.....X..X....X.................... [ 26%]
........................x..................................X.....x....... [ 27%]
..........................x........X..................................... [ 29%]
...x...............................................................x.... [ 30%]
......................................x................X.............X.. [ 31%]
.....X.........X.....X.........X................X......X................ [ 32%]
................x.x..................x........X................X......... [ 34%]
......x........x................x...................................x.... [ 35%]
.............x....................x...x..........X........xx....X...X... [ 36%]
..................................X..................................... [ 37%]
..................x.........X................X.....................x.... [ 39%]
..X...........X..........X.......X....................x..............X.. [ 40%]
.....................X.................................................. [ 41%]
............X...X......X..X........X.......X...X.....X........XX........ [ 43%]
......................X...X.......X....................x................ [ 44%]
........................................................................ [ 45%]
.....X...............X.............X......X.........Xs.................. [ 46%]
........................................................................ [ 48%]
...............ss.ss.ssssssss.ss......x..........................x.x.... [ 49%]
......................................................x.x............... [ 50%]
................................................s.sssssss.ss............ [ 51%]
........................................................................ [ 53%]
...........................................x............................ [ 54%]
...............................x.............X..............x........... [ 55%]
..............................ss........................................ [ 56%]
........X..........X....................X......X...x..............x..... [ 58%]
....x.......X...........x.x...............x......................X...... [ 59%]
......................................................................X. [ 60%]
.......................................................................X [ 61%]
........ssss.ssssssss.......x....X....................x................x [ 63%]
............x........................................................... [ 64%]
............s........................................................... [ 65%]
........................................................................ [ 66%]
......................................................................... [ 68%]
................................X...........s........................... [ 69%]
......X..........X..........................................X........... [ 70%]
........s............................................................... [ 72%]
....x...........................................X..............X........ [ 73%]
........................s.......s....................s........s......... [ 74%]
.....s.................s....s.....s..s.......s........s..........s...s.. [ 75%]
.......s...........s..........s...s........................s...s....s... [ 77%]
.....s............s..............................s................s..... [ 78%]
...................X...................X...........X.......X......X....X [ 79%]
.....X.......X........X...XX....XX....X...X............XXXX..X.......XXX [ 80%]
....XX........X.X....X....X..X.....XX........X..X.X........XX..X....X.X. [ 82%]
X......X..X..X....................................X..........X..X....... [ 83%]
.........X....X......................................................... [ 84%]
.................X.........XX..........X...........................X.... [ 85%]
.X..........X.X........X...........X........X......XX...........XX...... [ 87%]
..X...X..X.......X....X.......X.X.X............X..X.......X............. [ 88%]
..............................X......................................... [ 89%]
........................................................................ [ 90%]
...................................................x.....x.....x..x..... [ 92%]
x...x....x....xx........................................xx..xx.......... [ 93%]
..x...s.............x.x.......s............................sssss.sssssssss [ 94%]
sss.sss.ssssssssssss..ss.......s..........s....s......ss..........s.s... [ 96%]
.........................s...............s.sss.s........................ [ 97%]
.s......................s.................s..s.......................... [ 98%]
......s.......................................s......................... [ 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


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

= 5227 passed, 124 skipped, 119 xfailed, 236 xpassed, 10292 warnings in 156.88s (0:02:36) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful

@modin-bot
Copy link

modin-bot commented Jan 25, 2021

TeamCity Ray test results bot

Tests PASSed

Tests Logs
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
collected 1773 items

modin/pandas/test/test_io.py ........................................... [  2%]
........................................................................ [  6%]
.............................................sssssssssssssssssssssssssss [ 10%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 14%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
sssssssssssssssssssssssssssssssssssssssssssss........................xxx [ 34%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxx [ 38%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xx [ 43%]
X...................�[2m�[36m(pid=172)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=172)�[0m Type conversion took: 0.46 ms
�[2m�[36m(pid=172)�[0m Parser memory cleanup took: 0.00 ms
....�[2m�[36m(pid=172)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=172)�[0m Type conversion took: 0.45 ms
�[2m�[36m(pid=172)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=172)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=172)�[0m Type conversion took: 0.47 ms
�[2m�[36m(pid=172)�[0m Parser memory cleanup took: 0.00 ms
...............x.....x.....X.....X.....X.....X.. [ 47%]
...X.....X.....x.....x.....X.....X.....X.....X.....X.....X.....x.....x.. [ 51%]
...X.....X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.. [ 55%]
...X.....X.............................................................. [ 59%]
..............................................xxxxxxxxxxxxxxxxxxxxxxxxxx [ 63%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........xxxxxxxx........xx [ 67%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......................... [ 71%]
..............................................xxxx......xxxxxx......xxxx [ 75%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 79%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 83%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 87%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx...................... [ 91%]
.....xxxxxxxxxxxx....................................................... [ 95%]
....................X...x..........X.......x...............ss....ss..... [ 99%]
..                                                                       [100%]

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


= 882 passed, 436 skipped, 428 xfailed, 27 xpassed, 252 warnings in 115.42s (0:01:55) =
�[2m�[36m(pid=350)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=350)�[0m fatal: bad object HEAD
Closing remaining open files:/modin/modin/pandas/test/io_tests_data/2f5a29687c2611eb84a70242ac110008.hdf...done/modin/modin/pandas/test/io_tests_data/2f5a2b207c2611eb84a70242ac110008.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
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
[gw30] node down: Not properly terminated

replacing crashed worker gw30
gw0 [5706] / gw1 [5706] / gw2 [5706] / gw3 [5706] / gw4 [5706] / gw5 [5706] / gw6 [5706] / gw7 [5706] / gw8 [5706] / gw9 [5706] / gw10 [5706] / gw11 [5706] / gw12 [5706] / gw13 [5706] / gw14 [5706] / gw15 [5706] / gw16 [5706] / gw17 [5706] / gw18 [5706] / gw19 [5706] / gw20 [5706] / gw21 [5706] / gw22 [5706] / gw23 [5706] / gw24 [5706] / gw25 [5706] / gw26 [5706] / gw27 [5706] / gw28 [5706] / gw29 [5706] / gw48 [5706] / gw31 [5706] / gw32 [5706] / gw33 [5706] / gw34 [5706] / gw35 [5706] / gw36 [5706] / gw37 [5706] / gw38 [5706] / gw39 [5706] / gw40 [5706] / gw41 [5706] / gw42 [5706] / gw43 [5706] / gw44 [5706] / gw45 [5706] / gw46 [5706] / gw47 [5706]

........................................................................ [  1%]
........................................................................ [  2%]
.....................................................s.................. [  3%]
..............................................................X......... [  5%]
......x...................................................X........X.... [  6%]
.X............................X......................................... [  7%]
...........................................x........X...............X... [  8%]
...............x.........................x...XX...X.............x....... [ 10%]
..s....x.XX........X..X....x.......X.............x.............X..XX...x [ 11%]
x.................x......X........................X.X...............X... [ 12%]
.......X...X.................................Xs...........X...........X. [ 13%]
.........X.........x.X......x.X...XX.....X......x...........x.xX..xX.... [ 15%]
X.....X..........X.Xx.............X..x...X.X.......X......X.....X....... [ 16%]
..XX........XXxX.....x...xx..X.........X..x......X.x.....x..x....X...X.X. [ 17%]
..x........�[2m�[36m(pid=5857)�[0m RuntimeWarning: overflow encountered in reduce
.....x..XX.Xx...x...x.....X..x...XX..x..X..XX....x.....x....X [ 18%]
X..X.XX....x......X.....xX...........X..X.....x.....X...x...x.X......... [ 20%]
X.........XxX........X.........X.xX........X....XX..XX...............XXX [ 21%]
.X......x................X...x.........X.............x.X............x... [ 22%]
.x......�[2m�[36m(pid=1819)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=1819)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=1819)�[0m 
�[2m�[36m(pid=1819)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=1819)�[0m 
�[2m�[36m(pid=1819)�[0m becomes:
�[2m�[36m(pid=1819)�[0m 
�[2m�[36m(pid=1819)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=1819)�[0m 
....X......x..............x.....X.....x.X...............x......x [ 23%]
....x.........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2).
.
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
..............x...x.......X............x.............X.. [ 25%]
...x....x..........x......X.........x.........................x..XX...X.. [ 26%]
.....X............x..............x.....XX......x...........X.......x.... [ 27%]
................................x.x...X..........X......................�[2m�[36m(pid=6741)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=6741)�[0m fatal: bad object HEAD
 [ 29%]
.....X...............X..x...........................X.......X...X....... [ 30%]
....X....X.X..................X.X....................X...........X...... [ 31%]
....................................X................................... [ 32%]
........X............................................................... [ 34%]
........................................................................ [ 35%]
......................X............................X.................... [ 36%]
...............................................X.......X.....x.......... [ 37%]
..............................X.........x............................... [ 39%]
.....................X..............X...........xx...................... [ 40%]
........................s..sss.sss.s..ssss.s..ssss.ss.s.s..s.sss.ss..sss. [ 41%]
s....s...xx............................................................. [ 42%]
........................................................................ [ 44%]
.................................x.............................x........ [ 45%]
..............................�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5932)�[0m .
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
.x�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
x.�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m ..
�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
.x.........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
..�[2m�[36m(pid=5932)�[0m 
.................... [ 46%]
.....x........�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
...........................x.........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
.......�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
.............. [ 48%]
...........x.........�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
.............�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
......X....X..................XX...�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
.. [ 49%]
...................�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
..X...........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
..X...X.............................X.. [ 50%]
.......x....................X......�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'..�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
......s.........�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
........x..X..x...ss [ 51%]
sss............x..............x..................x....�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
............x.X... [ 53%]
.........x.................X.............X.........................X.... [ 54%]
.....x............X..........................x.......................... [ 55%]
.......x.................x...........................................x.. [ 56%]
.X................x.X................................................... [ 58%]
x.x.......................�[2m�[36m(pid=6620)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=6620)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=6620)�[0m 
�[2m�[36m(pid=6620)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=6620)�[0m 
�[2m�[36m(pid=6620)�[0m becomes:
.�[2m�[36m(pid=6620)�[0m 
�[2m�[36m(pid=6620)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=6620)�[0m 
.........................................X... [ 59%]
........................................................................ [ 60%]
..........x............x...............s................................ [ 61%]
....................................................X................... [ 63%]
........................................................................ [ 64%]
........................s......................................s........ [ 65%]
.............X.......................................................... [ 66%]
.................................................X.........X............ [ 68%]
.X.x..................................................................... [ 69%]
........................................................................ [ 70%]
................X.X....X.X.X.X.X........................................ [ 71%]
......................................................................... [ 73%]
..............................................................s.....s... [ 74%]
.....s......s....s....s..................s.................ss........... [ 75%]
..........s..............x..s........................s...........s...... [ 77%]
............................s.........s........s......................... [ 78%]
......s......s....X..............X............X..s.....s......X......... [ 79%]
XX......XX......XX....s.X....s...X.X....XXX.X.X.X...s....X.....X.s...... [ 80%]
.X...X...X.....X....X....X.......X.X..........XX...X.....X........X...X. [ 82%]
............X..............X.....X.............................X.......X [ 83%]
........................................X................X......XX....... [ 84%]
.................X.........X.......X..........X..........X.............. [ 85%]
............X..X...............X.................X...X.................. [ 87%]
..X...X.......X...X.X......X..X..X..XX..............X............X...... [ 88%]
..X.....X........X.X.........X.X..X..................................... [ 89%]
....X................................................................... [ 90%]
...X............x............x.....X.x.x............x.....x.....x....... [ 92%]
.............xx.x.xx.........x...............x.x..x..................... [ 93%]
........................s....s.........s.ssss.s.sssss..ss..ssssssssss.ss [ 94%]
ssssss..ss..ss.s.s.sss...............s.......s...............s.......... [ 96%]
.s.........................s....s.......................ss....s......... [ 97%]
..............s...........s...................s......................... [ 98%]
...........s...........s................................................ [ 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


----------- coverage: platform linux, python 3.8.8-final-0 -----------
---------------------- coverage: failed workers ----------------------
The following workers failed to return coverage data, ensure that pytest-cov is installed on these workers.
gw30
Coverage XML written to file coverage.xml

= 5227 passed, 124 skipped, 119 xfailed, 236 xpassed, 10246 warnings in 136.06s (0:02:16) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
collected 1773 items

modin/pandas/test/test_io.py ........................................... [  2%]
........................................................................ [  6%]
.............................................sssssssssssssssssssssssssss [ 10%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 14%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
sssssssssssssssssssssssssssssssssssssssssssss........................xxx [ 34%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxx [ 38%]
xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx..xx [ 43%]
X...................�[2m�[36m(pid=172)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=172)�[0m Type conversion took: 0.46 ms
�[2m�[36m(pid=172)�[0m Parser memory cleanup took: 0.00 ms
....�[2m�[36m(pid=172)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=172)�[0m Type conversion took: 0.45 ms
�[2m�[36m(pid=172)�[0m Parser memory cleanup took: 0.00 ms
�[2m�[36m(pid=172)�[0m Tokenization took: 0.03 ms
�[2m�[36m(pid=172)�[0m Type conversion took: 0.47 ms
�[2m�[36m(pid=172)�[0m Parser memory cleanup took: 0.00 ms
...............x.....x.....X.....X.....X.....X.. [ 47%]
...X.....X.....x.....x.....X.....X.....X.....X.....X.....X.....x.....x.. [ 51%]
...X.....X.....X.....X.....X.....X.....x.....x.....X.....X.....X.....X.. [ 55%]
...X.....X.............................................................. [ 59%]
..............................................xxxxxxxxxxxxxxxxxxxxxxxxxx [ 63%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx........xxxxxxxx........xx [ 67%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......................... [ 71%]
..............................................xxxx......xxxxxx......xxxx [ 75%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 79%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 83%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxxxx......xxxx [ 87%]
xx......xxxxxx......xxxxxx......xxxxxx......xxxxxx...................... [ 91%]
.....xxxxxxxxxxxx....................................................... [ 95%]
....................X...x..........X.......x...............ss....ss..... [ 99%]
..                                                                       [100%]

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


= 882 passed, 436 skipped, 428 xfailed, 27 xpassed, 252 warnings in 115.42s (0:01:55) =
�[2m�[36m(pid=350)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=350)�[0m fatal: bad object HEAD
Closing remaining open files:/modin/modin/pandas/test/io_tests_data/2f5a29687c2611eb84a70242ac110008.hdf...done/modin/modin/pandas/test/io_tests_data/2f5a2b207c2611eb84a70242ac110008.hdf...done
============================= test session starts ==============================
platform linux -- Python 3.8.8, pytest-6.2.2, py-1.10.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.11.0, forked-1.3.0, xdist-2.2.1
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
[gw30] node down: Not properly terminated

replacing crashed worker gw30
gw0 [5706] / gw1 [5706] / gw2 [5706] / gw3 [5706] / gw4 [5706] / gw5 [5706] / gw6 [5706] / gw7 [5706] / gw8 [5706] / gw9 [5706] / gw10 [5706] / gw11 [5706] / gw12 [5706] / gw13 [5706] / gw14 [5706] / gw15 [5706] / gw16 [5706] / gw17 [5706] / gw18 [5706] / gw19 [5706] / gw20 [5706] / gw21 [5706] / gw22 [5706] / gw23 [5706] / gw24 [5706] / gw25 [5706] / gw26 [5706] / gw27 [5706] / gw28 [5706] / gw29 [5706] / gw48 [5706] / gw31 [5706] / gw32 [5706] / gw33 [5706] / gw34 [5706] / gw35 [5706] / gw36 [5706] / gw37 [5706] / gw38 [5706] / gw39 [5706] / gw40 [5706] / gw41 [5706] / gw42 [5706] / gw43 [5706] / gw44 [5706] / gw45 [5706] / gw46 [5706] / gw47 [5706]

........................................................................ [  1%]
........................................................................ [  2%]
.....................................................s.................. [  3%]
..............................................................X......... [  5%]
......x...................................................X........X.... [  6%]
.X............................X......................................... [  7%]
...........................................x........X...............X... [  8%]
...............x.........................x...XX...X.............x....... [ 10%]
..s....x.XX........X..X....x.......X.............x.............X..XX...x [ 11%]
x.................x......X........................X.X...............X... [ 12%]
.......X...X.................................Xs...........X...........X. [ 13%]
.........X.........x.X......x.X...XX.....X......x...........x.xX..xX.... [ 15%]
X.....X..........X.Xx.............X..x...X.X.......X......X.....X....... [ 16%]
..XX........XXxX.....x...xx..X.........X..x......X.x.....x..x....X...X.X. [ 17%]
..x........�[2m�[36m(pid=5857)�[0m RuntimeWarning: overflow encountered in reduce
.....x..XX.Xx...x...x.....X..x...XX..x..X..XX....x.....x....X [ 18%]
X..X.XX....x......X.....xX...........X..X.....x.....X...x...x.X......... [ 20%]
X.........XxX........X.........X.xX........X....XX..XX...............XXX [ 21%]
.X......x................X...x.........X.............x.X............x... [ 22%]
.x......�[2m�[36m(pid=1819)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=1819)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=1819)�[0m 
�[2m�[36m(pid=1819)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=1819)�[0m 
�[2m�[36m(pid=1819)�[0m becomes:
�[2m�[36m(pid=1819)�[0m 
�[2m�[36m(pid=1819)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=1819)�[0m 
....X......x..............x.....X.....x.X...............x......x [ 23%]
....x.........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2).
.
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
..............x...x.......X............x.............X.. [ 25%]
...x....x..........x......X.........x.........................x..XX...X.. [ 26%]
.....X............x..............x.....XX......x...........X.......x.... [ 27%]
................................x.x...X..........X......................�[2m�[36m(pid=6741)�[0m error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
�[2m�[36m(pid=6741)�[0m fatal: bad object HEAD
 [ 29%]
.....X...............X..x...........................X.......X...X....... [ 30%]
....X....X.X..................X.X....................X...........X...... [ 31%]
....................................X................................... [ 32%]
........X............................................................... [ 34%]
........................................................................ [ 35%]
......................X............................X.................... [ 36%]
...............................................X.......X.....x.......... [ 37%]
..............................X.........x............................... [ 39%]
.....................X..............X...........xx...................... [ 40%]
........................s..sss.sss.s..ssss.s..ssss.ss.s.s..s.sss.ss..sss. [ 41%]
s....s...xx............................................................. [ 42%]
........................................................................ [ 44%]
.................................x.............................x........ [ 45%]
..............................�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5932)�[0m .
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
.x�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
x.�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m ..
�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
.x.........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
.�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
..�[2m�[36m(pid=5932)�[0m 
.................... [ 46%]
.....x........�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
...........................x.........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
.......�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
.............. [ 48%]
...........x.........�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
.............�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
......X....X..................XX...�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
.. [ 49%]
...................�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
..X...........�[2m�[36m(pid=5932)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5932)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m becomes:
�[2m�[36m(pid=5932)�[0m 
�[2m�[36m(pid=5932)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5932)�[0m 
..X...X.............................X.. [ 50%]
.......x....................X......�[2m�[36m(pid=5838)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5838)�[0m The new arguments that you should use are 'offset' or 'origin'..�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m becomes:
�[2m�[36m(pid=5838)�[0m 
�[2m�[36m(pid=5838)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5838)�[0m 
......s.........�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
........x..X..x...ss [ 51%]
sss............x..............x..................x....�[2m�[36m(pid=5269)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=5269)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m becomes:
�[2m�[36m(pid=5269)�[0m 
�[2m�[36m(pid=5269)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=5269)�[0m 
............x.X... [ 53%]
.........x.................X.............X.........................X.... [ 54%]
.....x............X..........................x.......................... [ 55%]
.......x.................x...........................................x.. [ 56%]
.X................x.X................................................... [ 58%]
x.x.......................�[2m�[36m(pid=6620)�[0m FutureWarning: 'base' in .resample() and in Grouper() is deprecated.
�[2m�[36m(pid=6620)�[0m The new arguments that you should use are 'offset' or 'origin'.
�[2m�[36m(pid=6620)�[0m 
�[2m�[36m(pid=6620)�[0m >>> df.resample(freq="3s", base=2)
�[2m�[36m(pid=6620)�[0m 
�[2m�[36m(pid=6620)�[0m becomes:
.�[2m�[36m(pid=6620)�[0m 
�[2m�[36m(pid=6620)�[0m >>> df.resample(freq="3s", offset="2s")
�[2m�[36m(pid=6620)�[0m 
.........................................X... [ 59%]
........................................................................ [ 60%]
..........x............x...............s................................ [ 61%]
....................................................X................... [ 63%]
........................................................................ [ 64%]
........................s......................................s........ [ 65%]
.............X.......................................................... [ 66%]
.................................................X.........X............ [ 68%]
.X.x..................................................................... [ 69%]
........................................................................ [ 70%]
................X.X....X.X.X.X.X........................................ [ 71%]
......................................................................... [ 73%]
..............................................................s.....s... [ 74%]
.....s......s....s....s..................s.................ss........... [ 75%]
..........s..............x..s........................s...........s...... [ 77%]
............................s.........s........s......................... [ 78%]
......s......s....X..............X............X..s.....s......X......... [ 79%]
XX......XX......XX....s.X....s...X.X....XXX.X.X.X...s....X.....X.s...... [ 80%]
.X...X...X.....X....X....X.......X.X..........XX...X.....X........X...X. [ 82%]
............X..............X.....X.............................X.......X [ 83%]
........................................X................X......XX....... [ 84%]
.................X.........X.......X..........X..........X.............. [ 85%]
............X..X...............X.................X...X.................. [ 87%]
..X...X.......X...X.X......X..X..X..XX..............X............X...... [ 88%]
..X.....X........X.X.........X.X..X..................................... [ 89%]
....X................................................................... [ 90%]
...X............x............x.....X.x.x............x.....x.....x....... [ 92%]
.............xx.x.xx.........x...............x.x..x..................... [ 93%]
........................s....s.........s.ssss.s.sssss..ss..ssssssssss.ss [ 94%]
ssssss..ss..ss.s.s.sss...............s.......s...............s.......... [ 96%]
.s.........................s....s.......................ss....s......... [ 97%]
..............s...........s...................s......................... [ 98%]
...........s...........s................................................ [ 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


----------- coverage: platform linux, python 3.8.8-final-0 -----------
---------------------- coverage: failed workers ----------------------
The following workers failed to return coverage data, ensure that pytest-cov is installed on these workers.
gw30
Coverage XML written to file coverage.xml

= 5227 passed, 124 skipped, 119 xfailed, 236 xpassed, 10246 warnings in 136.06s (0:02:16) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful

docs/partition_ips.rst Outdated Show resolved Hide resolved
docs/partition_ips.rst Outdated Show resolved Hide resolved
docs/partition_ips.rst Outdated Show resolved Hide resolved
docs/partition_ips.rst Outdated Show resolved Hide resolved
docs/partition_ips.rst Outdated Show resolved Hide resolved
modin/engines/dask/pandas_on_dask/frame/axis_partition.py Outdated Show resolved Hide resolved
modin/engines/ray/pandas_on_ray/frame/axis_partition.py Outdated Show resolved Hide resolved
modin/engines/ray/pandas_on_ray/frame/axis_partition.py Outdated Show resolved Hide resolved
modin/engines/ray/pandas_on_ray/frame/partition.py Outdated Show resolved Hide resolved
modin/engines/ray/pandas_on_ray/frame/partition.py Outdated Show resolved Hide resolved
@YarShev YarShev force-pushed the dev/yigoshev-issue2642 branch 2 times, most recently from 730ea02 to 8282dd1 Compare January 25, 2021 13:59
vnlitvinov
vnlitvinov previously approved these changes Jan 25, 2021
@YarShev
Copy link
Collaborator Author

YarShev commented Jan 25, 2021

I would merge #2606 firstly, and then this PR. @devin-petersohn , @vnlitvinov , what do you think?

@vnlitvinov
Copy link
Collaborator

They seem to overlap, so we should merge in most logical order. I personally am fine with any one you as author thinks reasonable :)

@YarShev
Copy link
Collaborator Author

YarShev commented Jan 25, 2021

So, let's consider #2606 to merge firstly.

@gshimansky
Copy link
Collaborator

Are you planning to run CI tests in two modes now, one with disabled API and one with enabled? I see that currently blocks of code with API enabled are not tested at all.

@YarShev
Copy link
Collaborator Author

YarShev commented Jan 27, 2021

Yes, I am going to do it after we merge #2606 .

@devin-petersohn
Copy link
Collaborator

@YarShev Will you ping me when #2606 is merged?

@vnlitvinov
Copy link
Collaborator

@devin-petersohn I've merged the PR closing #2606

@YarShev
Copy link
Collaborator Author

YarShev commented Jan 28, 2021

@devin-petersohn , @vnlitvinov , I will ping you after I make necessary changes for this PR.

@devin-petersohn
Copy link
Collaborator

I see, perhaps it would be better to provide an OrderedDict object in the dictionary case. The order is important likely for all implementations, it is a part of the assumptions for a dataframe.

@YarShev
Copy link
Collaborator Author

YarShev commented Feb 24, 2021

That doesn't make sense because several partitions can fit to one ip but have different places in a dataframe.

Signed-off-by: Igoshev, Yaroslav <yaroslav.igoshev@intel.com>
@YarShev YarShev requested a review from a team as a code owner February 25, 2021 06:19
…issue2642

Signed-off-by: Igoshev, Yaroslav <yaroslav.igoshev@intel.com>
@YarShev
Copy link
Collaborator Author

YarShev commented Feb 25, 2021

@devin-petersohn , the changes were reverted. Please, look at them.

@prutskov prutskov self-requested a review February 26, 2021 19:07
Copy link
Contributor

@prutskov prutskov left a comment

Choose a reason for hiding this comment

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

Need to add changes to Modin XGBoost related using unwrap_partiitons function. Current implementation uses [(ip_ObjectRef, part_ObjectRef),..] output style of this function. Also, could you please give performance numbers of getting IP this implementation VS previous implementation with materialization of IP's on user-side.

@prutskov prutskov self-requested a review February 26, 2021 19:26
@prutskov prutskov dismissed their stale review February 26, 2021 19:32

The requested changes are no longer valid.

@williamma12
Copy link
Collaborator

This pr looks really good! It was both a good catch on finding that subtle ray issue that originally led to this pr and everyone has wonderful ideas on clear, user-friendly, performant API for partitions!

However, I think this PR has slowly grown beyond the scope of its initial and intended purpose of fixing the bug described in #2642. For the sake of being able to make progress on the PR and make it easier to review, it would be helpful if we could split this into multiple PRs?

It looks like that there is a bug fix for #2642, refactoring of the existing partitions API, and addition of a new partitions API. I'd be happy to clear out time in my schedule to help push the PR in, but we might be able to get through with these issues faster and move on to the bigger problems like the ones discussed here.

@YarShev
Copy link
Collaborator Author

YarShev commented Mar 1, 2021

@williamma12 , thanks for your attention to this PR! We would like to merge it as soon as possible too. I agree the PR has grown beyond the scope of its initial and intended purpose described in #2642. The goal was to add a doc page containing a note regarding ray in-process store issue (it is that what was added in #2721) and partition API declaring and also make some refactor. I suggest removing a new API (map_partitions_to_ips) from the PR, leave the changes related to refactor and add the doc page, which is in #2721, to here as well. Regarding performance measurements, I got the following numbers:

time n_parts = 16 n_parts = 32 n_parts = 64 n_parts = 112
unwrap_partitions_master 0.0321981377071804 0.0597010718451605 0.0962678591410319 0.2718964682685
getting_ip_master 0.00045331319173177 0.000844796498616536 0.00155636999342176 0.00207601653205023
unwrap_partitions_pr2643 1.51400627030266 1.12596117125617 1.12180537647671 1.0700610478719
getting_ip_pr2643 2.72856818305121E-06 4.42398918999566E-06 8.00026787651909E-06 0.0000138547685411241
from time import time
import ray
import modin.pandas as pd
from modin.distributed.dataframe.pandas import unwrap_partitions


def time_unwrap_partitions(df):
    partitions = df._query_compiler._modin_frame._partitions
    partitions = [part.oid for row in partitions for part in row]
    while partitions:
        _, partitions = ray.wait(partitions)

    common_time = 0.0
    n = 10
    for i in range(n):
        if i == 0:
            partitions = unwrap_partitions(df, axis=0, get_ip=True)
        else:
            t0 = time()
            partitions = unwrap_partitions(df, axis=0, get_ip=True)
            common_time += (time() - t0)
    common_time /= (n - 1)
    print('time_unwrap_partitions =', common_time)
    _partitions = [part[1] for part in partitions]
    while _partitions:
        _, _partitions = ray.wait(_partitions)
    return partitions


def time_getting_ip_master(partitions):
    common_time = 0.0
    n = 10
    for i in range(n):
        if i == 0:
            ips = ray.get([part[0] for part in partitions])
            # ips = [ray.get(part[0]) for part in partitions]
        else:
            t0 = time()
            ips = ray.get([part[0] for part in partitions])
            # ips = [ray.get(part[0]) for part in partitions]
            common_time += (time() - t0)
    common_time /= (n - 1)
    print('time_getting_ip_master =', common_time)
    return ips

def time_getting_ip_pr2643(partitions):
    common_time = 0.0
    n = 10
    for i in range(n):
        if i == 0:
            ips = [part[0] for part in partitions]
        else:
            t0 = time()
            ips = [part[0] for part in partitions]
            common_time += (time() - t0)
    common_time /= (n - 1)
    print('time_getting_ip_pr2643 =', common_time)
    return ips

df = pd.read_csv("/my/file")
print('df.shape =', df.shape)
df.shape = (2260668, 145)
partitions = time_unwrap_partitions(df)
# ips = time_getting_ip_master(partitions)
ips = time_getting_ip_pr2643(partitions)

As we can see, unwrap_partitions_master and getting_ip_master shows better performance than unwrap_partitions_pr2643 and getting_ip_pr2643. So, I also suggest keeping a list of tuples of ObjRefs as a return value from unwrap_partitions. Then a user can materialize IPs himself and create more appropriate container for IPs and partitions for his goals on his side. @williamma12 , please, let me know what you think so I can start to make the changes.

Copy link
Collaborator

@williamma12 williamma12 left a comment

Choose a reason for hiding this comment

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

@YarShev That sounds like a great plan! I can see arguments for having us or the user to materialize since this is a developer API. If we decide on only having one, we can always add in the other later if people want it.

This is a great refactor! It is a lot more readable! I just have some questions about a few things (I think they are staying in this PR)

@YarShev
Copy link
Collaborator Author

YarShev commented Mar 1, 2021

@YarShev That sounds like a great plan! I can see arguments for having us or the user to materialize since this is a developer API. If we decide on only having one, we can always add in the other later if people want it.

@williamma12 , I fully agree with you. So, we continue using a list of tuple of ObjRefs as a return value from unwrap_partitions as it is now in master. I am starting making the changes and moving the doc page, which is in #2721, to here.

@YarShev YarShev requested a review from williamma12 March 1, 2021 18:24
Signed-off-by: Igoshev, Yaroslav <yaroslav.igoshev@intel.com>
@YarShev
Copy link
Collaborator Author

YarShev commented Mar 2, 2021

@williamma12 , just a friendly reminder to review.

Signed-off-by: Igoshev, Yaroslav <yaroslav.igoshev@intel.com>
@YarShev
Copy link
Collaborator Author

YarShev commented Mar 4, 2021

@devin-petersohn , @williamma12 , let's converge to merge the PR because it has been hanging for over a month.

Copy link
Collaborator

@williamma12 williamma12 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 good!

However, I was wrong and I think for future PRs it might have been better if we did the refactor and docs separately. That way, the PRs would be smaller and more closely follow the one PR, one change rule of thumb, which will make things easier to review (aka faster to get PRs in). But this is already basically done so I don’t think its worth the extra effort of separating it into PRs after merging them into one.

Regardless, this is a great pr that improves performance, actually document the partitions API, and reduces technical debt!

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.

Thanks @YarShev, glad we can converge!

@devin-petersohn devin-petersohn merged commit 659645c into modin-project:master Mar 4, 2021
@YarShev YarShev deleted the dev/yigoshev-issue2642 branch August 9, 2021 07:27
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.

Refactor partition API
7 participants