Repository: NVIDIA-Merlin/NVTabular (language: python)

Issue:
Rename `ColumnGroup` to `WorkflowNode` and move to sub-package
Now that the column tracking functionality that used to be in `ColumnGroup` has moved to `ColumnSelector`, the class functions primarily as a node in the `Workflow` graph. This commit changes the class name to `WorkflowNode` to reflect that shift in emphasis.
Column tagging API 
<!--

Thank you for contributing to NVTabular :)

Here are some guidelines to help the review process go smoothly.

1. Please write a description in this text box of the changes that are being
   made.

2. Please ensure that you have written units tests for the changes made/features
   added.

3. If you are closing an issue please use one of the automatic closing words as
   noted here: https://help.github.com/articles/closing-issues-using-keywords/

4. If your pull request is not ready for review but you want to make use of the
   continuous integration testing facilities please label it with `[WIP]`.

5. If your pull request is ready to be reviewed without requiring additional
   work on top of it, then remove the `[WIP]` label (if present) and replace
   it with `[REVIEW]`. If assistance is required to complete the functionality,
   for example when the C/C++ code of a feature is complete but Python bindings
   are still required, then add the label `[HELP-REQ]` so that others can triage
   and assist. The additional changes then can be implemented on top of the
   same PR. If the assistance is done by members of the rapidsAI team, then no
   additional actions are required by the creator of the original PR for this,
   otherwise the original author of the PR needs to give permission to the
   person(s) assisting to commit to their personal fork of the project. If that
   doesn't happen then a new PR based on the code of the original PR can be
   opened by the person assisting, which then will be the PR that will be
   merged.

6. Once all work has been done and review has taken place please do not add
   features or make changes out of the scope of those requested by the reviewer
   (doing this just add delays as already reviewed code ends up having to be
   re-reviewed/it is hard to tell what is new etc!). Further, please do not
   rebase your branch on master/force push/rewrite history, doing any of these
   causes the context of any comments made by reviewers to be lost. If
   conflicts occur against master they should be resolved by merging master
   into the branch used for making the pull request.

Many thanks in advance for your cooperation!

-->



Discussion / hints:
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 5a870366794e2dd77161e875973f95645ee88acd, no merge conflicts.
Running as SYSTEM
Setting status of 5a870366794e2dd77161e875973f95645ee88acd to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3085/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 5a870366794e2dd77161e875973f95645ee88acd^{commit} # timeout=10
Checking out Revision 5a870366794e2dd77161e875973f95645ee88acd (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 5a870366794e2dd77161e875973f95645ee88acd # timeout=10
Commit message: "Move `Workflow` and `WorkflowNode` into a sub-package together"
 > git rev-list --no-walk 7542e90359af77063468b9588f82c67000ef480f # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins4825033419954202513.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.2)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g5a87036 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g5a87036 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g5a87036 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g5a87036 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+23.g5a87036 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+23.g5a87036
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+23.g5a87036
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-04 15:24:42.521128: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 15:24:43.904971: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-04 15:24:43.906247: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 15:24:43.907414: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 15:24:43.907449: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 15:24:43.907507: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-04 15:24:43.907545: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-04 15:24:43.907584: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-04 15:24:43.907620: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-04 15:24:43.907671: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-04 15:24:43.907704: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-04 15:24:43.907748: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-04 15:24:43.912278: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import module 'column_group' from module 'nvtabular'; the following exception was raised:
No module named 'nvtabular.column_group'
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins7534428739885027872.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 0c8cf9b17c9345513724252b1e00ebc368df8b0c, no merge conflicts.
Running as SYSTEM
Setting status of 0c8cf9b17c9345513724252b1e00ebc368df8b0c to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3086/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 0c8cf9b17c9345513724252b1e00ebc368df8b0c^{commit} # timeout=10
Checking out Revision 0c8cf9b17c9345513724252b1e00ebc368df8b0c (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 0c8cf9b17c9345513724252b1e00ebc368df8b0c # timeout=10
Commit message: "Adjust CPU CI test file names"
 > git rev-list --no-walk 5a870366794e2dd77161e875973f95645ee88acd # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins2504551516653980776.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.2)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+26.g0c8cf9b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+26.g0c8cf9b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+26.g0c8cf9b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+26.g0c8cf9b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+26.g0c8cf9b is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+26.g0c8cf9b
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+26.g0c8cf9b
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-04 15:37:00.539809: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 15:37:01.918237: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-04 15:37:01.919318: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 15:37:01.920313: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 15:37:01.920343: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 15:37:01.920390: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-04 15:37:01.920423: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-04 15:37:01.920457: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-04 15:37:01.920488: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-04 15:37:01.920533: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-04 15:37:01.920563: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-04 15:37:01.920599: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-04 15:37:01.924312: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs/source/api/index.rst:4:toctree contains reference to nonexisting document 'api/workflow'
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins2510263592807354457.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 5708e8637c8c05f5ecfcb2ea018ea2b0d6220d18, no merge conflicts.
Running as SYSTEM
Setting status of 5708e8637c8c05f5ecfcb2ea018ea2b0d6220d18 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3087/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 5708e8637c8c05f5ecfcb2ea018ea2b0d6220d18^{commit} # timeout=10
Checking out Revision 5708e8637c8c05f5ecfcb2ea018ea2b0d6220d18 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 5708e8637c8c05f5ecfcb2ea018ea2b0d6220d18 # timeout=10
Commit message: "Merge branch 'main' into refactor/rename-column-group"
 > git rev-list --no-walk 0c8cf9b17c9345513724252b1e00ebc368df8b0c # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins1449943695611746117.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.2)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+28.g5708e86 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+28.g5708e86 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+28.g5708e86 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+28.g5708e86 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+28.g5708e86 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+28.g5708e86
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+28.g5708e86
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-04 15:39:32.646938: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 15:39:34.038221: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-04 15:39:34.039707: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 15:39:34.041044: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 15:39:34.041078: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 15:39:34.041136: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-04 15:39:34.041174: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-04 15:39:34.041212: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-04 15:39:34.041249: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-04 15:39:34.041301: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-04 15:39:34.041335: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-04 15:39:34.041378: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-04 15:39:34.046730: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs/source/api/index.rst:4:toctree contains reference to nonexisting document 'api/workflow'
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins6606055823454007987.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 49f0c66d96322320bd6c01a652b0d14bd5282e5b, no merge conflicts.
Running as SYSTEM
Setting status of 49f0c66d96322320bd6c01a652b0d14bd5282e5b to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3095/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 49f0c66d96322320bd6c01a652b0d14bd5282e5b^{commit} # timeout=10
Checking out Revision 49f0c66d96322320bd6c01a652b0d14bd5282e5b (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 49f0c66d96322320bd6c01a652b0d14bd5282e5b # timeout=10
Commit message: "Rename the `Workflow.workflow_node` property to `output_node`"
 > git rev-list --no-walk 78c8ae4b8bce3aa4e0d6bec2002c367938701ecc # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins6715943757330049900.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.2)
Collecting pip
  Downloading pip-21.2.3-py3-none-any.whl (1.6 MB)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.2
    Uninstalling pip-21.2.2:
      Successfully uninstalled pip-21.2.2
  WARNING: The scripts pip, pip3 and pip3.8 are installed in '/var/jenkins_home/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
fastai 2.1.9 requires spacy, which is not installed.
fastai 2.1.9 requires torchvision>=0.8, which is not installed.
Successfully installed pip-21.2.3
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+29.g49f0c66 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+29.g49f0c66 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+29.g49f0c66 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+29.g49f0c66 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+29.g49f0c66 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+29.g49f0c66
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+29.g49f0c66
Running black --check
would reformat /var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_ops.py
Oh no! 💥 💔 💥
1 file would be reformatted, 112 files would be left unchanged.
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins6244909434362419664.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 0f2d790d1785b663a4aee2b278b58ad1982925c8, no merge conflicts.
Running as SYSTEM
Setting status of 0f2d790d1785b663a4aee2b278b58ad1982925c8 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3096/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 0f2d790d1785b663a4aee2b278b58ad1982925c8^{commit} # timeout=10
Checking out Revision 0f2d790d1785b663a4aee2b278b58ad1982925c8 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 0f2d790d1785b663a4aee2b278b58ad1982925c8 # timeout=10
Commit message: "Rename `WorkflowNode.columns` property to `selector`"
 > git rev-list --no-walk 49f0c66d96322320bd6c01a652b0d14bd5282e5b # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins3888742714723046293.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g0f2d790 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g0f2d790 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g0f2d790 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g0f2d790 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+30.g0f2d790 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+30.g0f2d790
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+30.g0f2d790
Running black --check
would reformat /var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_ops.py
Oh no! 💥 💔 💥
1 file would be reformatted, 112 files would be left unchanged.
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins3583627645129957728.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 998cb216fba4c4aa5dd02a2857e5ef1eb9761ceb, no merge conflicts.
Running as SYSTEM
Setting status of 998cb216fba4c4aa5dd02a2857e5ef1eb9761ceb to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3098/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 998cb216fba4c4aa5dd02a2857e5ef1eb9761ceb^{commit} # timeout=10
Checking out Revision 998cb216fba4c4aa5dd02a2857e5ef1eb9761ceb (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 998cb216fba4c4aa5dd02a2857e5ef1eb9761ceb # timeout=10
Commit message: "Rename `WorkflowNode.columns` property to `selector`"
 > git rev-list --no-walk fe106a142124201ca11e2b22bbc95edfecf6c6b2 # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins7621970865841625511.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g998cb21 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g998cb21 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g998cb21 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.g998cb21 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+30.g998cb21 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+30.g998cb21
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+30.g998cb21
Running black --check
would reformat /var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_ops.py
Oh no! 💥 💔 💥
1 file would be reformatted, 112 files would be left unchanged.
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins1455916521258299669.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit c87db4c67946950086aaea83ef69210e5783c171, no merge conflicts.
Running as SYSTEM
Setting status of c87db4c67946950086aaea83ef69210e5783c171 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3100/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse c87db4c67946950086aaea83ef69210e5783c171^{commit} # timeout=10
Checking out Revision c87db4c67946950086aaea83ef69210e5783c171 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f c87db4c67946950086aaea83ef69210e5783c171 # timeout=10
Commit message: "Rename `WorkflowNode.columns` property to `selector`"
 > git rev-list --no-walk a5f8c32b0c53d0cb84bed1f3a427e5c22bef23c9 # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins2653588898043402793.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.gc87db4c -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.gc87db4c -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.gc87db4c -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+30.gc87db4c -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+30.gc87db4c is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+30.gc87db4c
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+30.gc87db4c
Running black --check
would reformat /var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_ops.py
Oh no! 💥 💔 💥
1 file would be reformatted, 112 files would be left unchanged.
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins5658626440556295137.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 4e252047f0d562984c770c60cd74f01e2df0673d, no merge conflicts.
Running as SYSTEM
Setting status of 4e252047f0d562984c770c60cd74f01e2df0673d to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3124/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 4e252047f0d562984c770c60cd74f01e2df0673d^{commit} # timeout=10
Checking out Revision 4e252047f0d562984c770c60cd74f01e2df0673d (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 4e252047f0d562984c770c60cd74f01e2df0673d # timeout=10
Commit message: "Make `ColumnGroup` an alias of `ColumnSelector`"
 > git rev-list --no-walk 1d182b20c5aa4a34f02e85bd950280f8102f1972 # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins7739669669598550121.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+49.g4e25204 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+49.g4e25204 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+49.g4e25204 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+49.g4e25204 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+49.g4e25204 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+49.g4e25204
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+49.g4e25204
Running black --check
would reformat /var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_ops.py
Oh no! 💥 💔 💥
1 file would be reformatted, 112 files would be left unchanged.
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins1915610159931737517.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit f93dca37ff923ccecea17ad2b55b3c868e85d84a, no merge conflicts.
Running as SYSTEM
Setting status of f93dca37ff923ccecea17ad2b55b3c868e85d84a to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3131/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse f93dca37ff923ccecea17ad2b55b3c868e85d84a^{commit} # timeout=10
Checking out Revision f93dca37ff923ccecea17ad2b55b3c868e85d84a (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f f93dca37ff923ccecea17ad2b55b3c868e85d84a # timeout=10
Commit message: "Make `ColumnGroup` an alias of `ColumnSelector`"
 > git rev-list --no-walk 600c04b1d49f6000c42bfd0ab8ccc3cc08c42181 # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins2458436641367200987.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+16.gf93dca3 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+16.gf93dca3 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+16.gf93dca3 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+16.gf93dca3 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+16.gf93dca3 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+16.gf93dca3
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+16.gf93dca3
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-11 17:00:33.503960: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:00:34.880265: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 17:00:34.881404: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:00:34.882447: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:00:34.882480: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:00:34.882529: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 17:00:34.882564: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 17:00:34.882600: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 17:00:34.882634: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 17:00:34.882679: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 17:00:34.882714: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 17:00:34.882753: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 17:00:34.886633: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs/source/api/workflow/workflow_node.rst:2:Title underline too short.

WorkflowNode
===========
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins2445100752387289642.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 0326753c60727780d591f641fc08b74868f6d6d8, no merge conflicts.
Running as SYSTEM
Setting status of 0326753c60727780d591f641fc08b74868f6d6d8 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3132/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 0326753c60727780d591f641fc08b74868f6d6d8^{commit} # timeout=10
Checking out Revision 0326753c60727780d591f641fc08b74868f6d6d8 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 0326753c60727780d591f641fc08b74868f6d6d8 # timeout=10
Commit message: "Fix underline length in `WorkflowNode` docs"
 > git rev-list --no-walk f93dca37ff923ccecea17ad2b55b3c868e85d84a # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins6012184457832542491.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+17.g0326753 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+17.g0326753 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+17.g0326753 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+17.g0326753 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+17.g0326753 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+17.g0326753
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+17.g0326753
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-11 17:06:26.045520: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:06:27.424601: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 17:06:27.425683: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:06:27.426712: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:06:27.426743: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:06:27.426791: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 17:06:27.426824: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 17:06:27.426857: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 17:06:27.426889: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 17:06:27.426933: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 17:06:27.426963: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 17:06:27.427000: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 17:06:27.430968: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1176 items

tests/unit/test_column_selector.py ............                          [  1%]
tests/unit/test_column_similarity.py ........................            [  3%]
tests/unit/test_cpu_workflow.py ......                                   [  3%]
tests/unit/test_dask_nvt.py ............................................ [  7%]
.....................................................................    [ 13%]
tests/unit/test_dataloader_backend.py .                                  [ 13%]
tests/unit/test_io.py .................................................. [ 17%]
........................................................................ [ 23%]
........ssssssss..................................................       [ 29%]
tests/unit/test_notebooks.py ...F..                                      [ 29%]
tests/unit/test_ops.py ................................................. [ 33%]
........................................................................ [ 40%]
........................................................................ [ 46%]
........................................................................ [ 52%]
........................................................................ [ 58%]
........................................................................ [ 64%]
.................................                                        [ 67%]
tests/unit/test_s3.py ..                                                 [ 67%]
tests/unit/test_tf_dataloader.py ....................................... [ 70%]
.................................s                                       [ 73%]
tests/unit/test_tf_feature_columns.py .                                  [ 73%]
tests/unit/test_tf_layers.py ........................................... [ 77%]
...................................                                      [ 80%]
tests/unit/test_tools.py ......................                          [ 82%]
tests/unit/test_torch_dataloader.py .................................... [ 85%]
..............................................                           [ 89%]
tests/unit/test_torch_layers.py .                                        [ 89%]
tests/unit/test_triton_inference.py FFFFFFFFF...................FF       [ 91%]
tests/unit/test_workflow.py ............................................ [ 95%]
................................................                         [ 99%]
tests/unit/test_workflow_node.py ..F                                     [100%]

=================================== FAILURES ===================================
____________________________ test_movielens_example ____________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_movielens_example0')

    def test_movielens_example(tmpdir):
        _get_random_movielens_data(tmpdir, 10000, dataset="movie")
        _get_random_movielens_data(tmpdir, 10000, dataset="ratings")
        _get_random_movielens_data(tmpdir, 5000, dataset="ratings", valid=True)
    
        triton_model_path = os.path.join(tmpdir, "models")
        os.environ["INPUT_DATA_DIR"] = str(tmpdir)
        os.environ["MODEL_PATH"] = triton_model_path
    
        notebook_path = os.path.join(
            dirname(TEST_PATH),
            "examples/getting-started-movielens/",
            "02-ETL-with-NVTabular.ipynb",
        )
        _run_notebook(tmpdir, notebook_path)
    
        def _modify_tf_nb(line):
            return line.replace(
                # don't require graphviz/pydot
                "tf.keras.utils.plot_model(model)",
                "# tf.keras.utils.plot_model(model)",
            )
    
        def _modify_tf_triton(line):
            # models are already preloaded
            line = line.replace("triton_client.load_model", "# triton_client.load_model")
            line = line.replace("triton_client.unload_model", "# triton_client.unload_model")
            return line
    
        notebooks = []
        try:
            import torch  # noqa
    
            notebooks.append("03-Training-with-PyTorch.ipynb")
        except Exception:
            pass
        try:
            import nvtabular.inference.triton  # noqa
            import nvtabular.loader.tensorflow  # noqa
    
            notebooks.append("03-Training-with-TF.ipynb")
            has_tf = True
    
        except Exception:
            has_tf = False
    
        for notebook in notebooks:
            notebook_path = os.path.join(
                dirname(TEST_PATH),
                "examples/getting-started-movielens/",
                notebook,
            )
            if notebook == "03-Training-with-TF.ipynb":
                _run_notebook(tmpdir, notebook_path, transform=_modify_tf_nb)
            else:
                _run_notebook(tmpdir, notebook_path)
    
        # test out the TF inference movielens notebook if appropiate
        if has_tf and TRITON_SERVER_PATH:
            notebook = "04-Triton-Inference-with-TF.ipynb"
            notebook_path = os.path.join(
                dirname(TEST_PATH),
                "examples/getting-started-movielens/",
                notebook,
            )
>           with run_triton_server(triton_model_path):

tests/unit/test_notebooks.py:221: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = '/tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models'

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
2021-08-11 17:12:45.688867: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:12:47.445649: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 17:12:47.446714: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:12:47.447717: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:12:47.447748: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:12:47.447798: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 17:12:47.447834: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 17:12:47.447869: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 17:12:47.447903: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 17:12:47.447950: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 17:12:47.447983: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 17:12:47.448022: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 17:12:47.452048: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
2021-08-11 17:12:48.414204: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2021-08-11 17:12:48.525940: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:12:48.526958: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:12:48.530246: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
2021-08-11 17:12:48.530317: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:12:49.423677: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1258] Device interconnect StreamExecutor with strength 1 edge matrix:
2021-08-11 17:12:49.423723: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1264]      0 1 
2021-08-11 17:12:49.423733: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1277] 0:   N Y 
2021-08-11 17:12:49.423740: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1277] 1:   Y N 
2021-08-11 17:12:49.428615: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 11394 MB memory) -> physical GPU (device: 0, name: Tesla P100-DGXS-16GB, pci bus id: 0000:07:00.0, compute capability: 6.0)
2021-08-11 17:12:49.429903: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 15171 MB memory) -> physical GPU (device: 1, name: Tesla P100-DGXS-16GB, pci bus id: 0000:08:00.0, compute capability: 6.0)
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
WARNING:tensorflow:From /usr/local/lib/python3.8/dist-packages/tensorflow/python/ops/array_ops.py:5043: calling gather (from tensorflow.python.ops.array_ops) with validate_indices is deprecated and will be removed in a future version.
Instructions for updating:
The `validate_indices` argument has no effect. Indices are always validated on CPU and never validated on GPU.
2021-08-11 17:12:50.107184: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:176] None of the MLIR Optimization Passes are enabled (registered 2)
2021-08-11 17:12:50.126028: I tensorflow/core/platform/profile_utils/cpu_utils.cc:114] CPU Frequency: 3198080000 Hz
2021-08-11 17:12:51.119683: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 17:12:51.405150: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 17:12:52.317939: W tensorflow/python/util/util.cc:348] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.
WARNING:absl:Function `_wrapped_model` contains input name(s) movieId, userId with unsupported characters which will be renamed to movieid, userid in the SavedModel.
WARNING:absl:Function `_wrapped_model` contains input name(s) movieId, userId with unsupported characters which will be renamed to movieid, userid in the SavedModel.
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:12:58.822035 12640 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:12:59.076813 12640 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:12:59.076846 12640 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:12:59.076852 12640 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:12:59.215694: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:12:59.254351 12640 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:12:59.254385 12640 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:12:59.254392 12640 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:12:59.254397 12640 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:12:59.255509 12640 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:12:59.255526 12640 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:12:59.255532 12640 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:12:59.284073 12640 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:12:59.284094 12640 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:12:59.284100 12640 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:12:59.451435 12640 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f05d8000000' with size 268435456
I0811 17:12:59.452152 12640 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:12:59.455732 12640 model_repository_manager.cc:1045] loading: movielens_tf:1
I0811 17:12:59.555945 12640 model_repository_manager.cc:1045] loading: movielens_nvt:1
I0811 17:12:59.556804 12640 tensorflow.cc:2269] TRITONBACKEND_ModelInitialize: movielens_tf (version 1)
I0811 17:12:59.563018 12640 tensorflow.cc:2318] TRITONBACKEND_ModelInstanceInitialize: movielens_tf (GPU device 0)
2021-08-11 17:12:59.567226: I tensorflow/cc/saved_model/reader.cc:38] Reading SavedModel from: /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_tf/1/model.savedmodel
2021-08-11 17:12:59.574036: I tensorflow/cc/saved_model/reader.cc:90] Reading meta graph with tags { serve }
2021-08-11 17:12:59.574066: I tensorflow/cc/saved_model/reader.cc:132] Reading SavedModel debug info (if present) from: /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_tf/1/model.savedmodel
2021-08-11 17:12:59.575686: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 17:12:59.578185: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1734] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:12:59.578244: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:12:59.578305: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 17:12:59.578347: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 17:12:59.578398: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 17:12:59.578442: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 17:12:59.578501: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 17:12:59.578546: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 17:12:59.578590: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 17:12:59.583170: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1872] Adding visible gpu devices: 0
2021-08-11 17:13:03.413473: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1258] Device interconnect StreamExecutor with strength 1 edge matrix:
2021-08-11 17:13:03.413520: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1264]      0 
2021-08-11 17:13:03.413529: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1277] 0:   N 
2021-08-11 17:13:03.416360: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14011 MB memory) -> physical GPU (device: 0, name: Tesla P100-DGXS-16GB, pci bus id: 0000:07:00.0, compute capability: 6.0)
2021-08-11 17:13:03.456234: I tensorflow/cc/saved_model/loader.cc:208] Restoring SavedModel bundle.
2021-08-11 17:13:03.478046: I tensorflow/core/platform/profile_utils/cpu_utils.cc:114] CPU Frequency: 3198080000 Hz
2021-08-11 17:13:03.513707: I tensorflow/cc/saved_model/loader.cc:192] Running initialization op on SavedModel bundle at path: /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_tf/1/model.savedmodel
2021-08-11 17:13:03.525743: I tensorflow/cc/saved_model/loader.cc:297] SavedModel load for tags { serve }; Status: success: OK. Took 3958528 microseconds.
I0811 17:13:03.525914 12640 model_repository_manager.cc:1212] successfully loaded 'movielens_tf' version 1
I0811 17:13:03.534773 12640 python.cc:1497] TRITONBACKEND_ModelInstanceInitialize: movielens_nvt (GPU device 0)
0811 17:13:06.610749 12693 pb_stub.cc:639] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(62): _initialize_ops
  /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(82): _initialize_ops
  /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(99): initialize

E0811 17:13:06.613107 12640 model_repository_manager.cc:1215] failed to load 'movielens_nvt' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(62): _initialize_ops
  /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(82): _initialize_ops
  /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(99): initialize

E0811 17:13:06.614348 12640 model_repository_manager.cc:1404] Invalid argument: ensemble 'movielens' depends on 'movielens_nvt' which has no loaded version
I0811 17:13:06.614484 12640 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:13:06.615489 12640 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:13:06.615623 12640 server.cc:586] 
+---------------+---------+-----------------------------------------------------------------------------------------------------------------+
| Model         | Version | Status                                                                                                          |
+---------------+---------+-----------------------------------------------------------------------------------------------------------------+
| movielens_nvt | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                         |
|               |         |                                                                                                                 |
|               |         | At:                                                                                                             |
|               |         |   /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(62): _initialize_ops |
|               |         |   /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(82): _initialize_ops |
|               |         |   /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models/movielens_nvt/1/model.py(99): initialize      |
| movielens_tf  | 1       | READY                                                                                                           |
+---------------+---------+-----------------------------------------------------------------------------------------------------------------+

I0811 17:13:06.615790 12640 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_movielens_example0/models                                                                                                                        |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:13:06.615845 12640 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:13:06.615861 12640 model_repository_manager.cc:1078] unloading: movielens_tf:1
I0811 17:13:06.615974 12640 server.cc:249] Timeout 30: Found 1 live models and 0 in-flight non-inference requests
I0811 17:13:06.616107 12640 tensorflow.cc:2356] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:13:06.616269 12640 tensorflow.cc:2295] TRITONBACKEND_ModelFinalize: delete model state
I0811 17:13:06.633638 12640 model_repository_manager.cc:1195] successfully unloaded 'movielens_tf' version 1
I0811 17:13:07.616071 12640 server.cc:249] Timeout 29: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
_____________________________ test_error_handling ______________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_error_handling0')

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    def test_error_handling(tmpdir):
        df = _make_df({"x": np.arange(10), "y": np.arange(10)})
    
        def custom_transform(col):
            if len(col) == 2:
                raise ValueError("Lets cause some problems")
            return col
    
        features = ["x", "y"] >> ops.FillMissing() >> ops.Normalize() >> custom_transform
        workflow = nvt.Workflow(features)
        workflow.fit(nvt.Dataset(df))
    
        model_name = "test_error_handling"
        triton.generate_nvtabular_model(
            workflow, model_name, tmpdir + f"/{model_name}", backend=BACKEND
        )
    
>       with run_triton_server(tmpdir) as client:

tests/unit/test_triton_inference.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_error_handling0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:19:40.965562 14108 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:19:41.224063 14108 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:19:41.224095 14108 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:19:41.224101 14108 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:19:41.373028: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:19:41.411718 14108 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:19:41.411753 14108 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:19:41.411760 14108 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:19:41.411766 14108 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:19:41.412877 14108 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:19:41.412894 14108 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:19:41.412901 14108 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:19:41.431331 14108 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:19:41.431346 14108 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:19:41.431352 14108 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:19:41.593101 14108 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f6630000000' with size 268435456
I0811 17:19:41.593810 14108 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:19:41.596282 14108 model_repository_manager.cc:1045] loading: test_error_handling:1
I0811 17:19:41.699797 14108 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:19:41.699843 14108 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:19:41.699860 14108 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:19:41.700094 14108 backend.cc:76] Loaded libpython successfully
I0811 17:19:41.948562 14108 backend.cc:89] Python interpreter is initialized
I0811 17:19:41.952030 14108 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:19:44.045093 14108 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:19:44.045143 14108 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:19:44.045202 14108 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:19:44.266495 14108 model_repository_manager.cc:1215] failed to load 'test_error_handling' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:19:44.266766 14108 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:19:44.266915 14108 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:19:44.267056 14108 server.cc:586] 
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model               | Version | Status                                                                                                           |
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_error_handling | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                     |         |                                                                                                                  |
|                     |         | At:                                                                                                              |
|                     |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                     |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:19:44.267244 14108 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_error_handling0                                                                                                                                  |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:19:44.267289 14108 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:19:44.267311 14108 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
________________ test_tritonserver_inference_string[tensorflow] ________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_tritonserver_inference_st0')
output_model = 'tensorflow'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_tritonserver_inference_string(tmpdir, output_model):
        df = _make_df({"user": ["aaaa", "bbbb", "cccc", "aaaa", "bbbb", "aaaa"]})
        features = ["user"] >> ops.Categorify()
        workflow = nvt.Workflow(features)
    
        if output_model == "pytorch":
            model_info = {"user": {"columns": ["user"], "dtype": "int64"}}
        else:
            model_info = None
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_inference_string", output_model, model_info
        )

tests/unit/test_triton_inference.py:137: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_tritonserver_inference_st0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:19:47.354737 14158 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:19:47.602319 14158 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:19:47.602350 14158 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:19:47.602357 14158 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:19:47.743702: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:19:47.781804 14158 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:19:47.781836 14158 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:19:47.781845 14158 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:19:47.781851 14158 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:19:47.782976 14158 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:19:47.782995 14158 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:19:47.783001 14158 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:19:47.801533 14158 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:19:47.801548 14158 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:19:47.801554 14158 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:19:47.962538 14158 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f70f2000000' with size 268435456
I0811 17:19:47.963244 14158 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:19:47.965780 14158 model_repository_manager.cc:1045] loading: test_inference_string:1
I0811 17:19:48.069394 14158 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:19:48.069451 14158 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:19:48.069477 14158 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:19:48.069784 14158 backend.cc:76] Loaded libpython successfully
I0811 17:19:48.309744 14158 backend.cc:89] Python interpreter is initialized
I0811 17:19:48.313074 14158 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:19:50.429622 14158 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:19:50.429675 14158 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:19:50.429727 14158 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:19:50.653976 14158 model_repository_manager.cc:1215] failed to load 'test_inference_string' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:19:50.654190 14158 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:19:50.654342 14158 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:19:50.654483 14158 server.cc:586] 
+-----------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model                 | Version | Status                                                                                                           |
+-----------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_inference_string | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                       |         |                                                                                                                  |
|                       |         | At:                                                                                                              |
|                       |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                       |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+-----------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:19:50.654676 14158 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_tritonserver_inference_st0                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:19:50.654721 14158 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:19:50.654743 14158 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
_________________ test_tritonserver_inference_string[pytorch] __________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_tritonserver_inference_st1')
output_model = 'pytorch'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_tritonserver_inference_string(tmpdir, output_model):
        df = _make_df({"user": ["aaaa", "bbbb", "cccc", "aaaa", "bbbb", "aaaa"]})
        features = ["user"] >> ops.Categorify()
        workflow = nvt.Workflow(features)
    
        if output_model == "pytorch":
            model_info = {"user": {"columns": ["user"], "dtype": "int64"}}
        else:
            model_info = None
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_inference_string", output_model, model_info
        )

tests/unit/test_triton_inference.py:137: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_tritonserver_inference_st1')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:19:53.738089 14212 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:19:53.996352 14212 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:19:53.996383 14212 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:19:53.996389 14212 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:19:54.135944: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:19:54.173617 14212 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:19:54.173652 14212 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:19:54.173659 14212 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:19:54.173665 14212 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:19:54.174791 14212 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:19:54.174809 14212 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:19:54.174816 14212 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:19:54.203687 14212 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:19:54.203710 14212 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:19:54.203716 14212 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:19:54.369918 14212 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f4f8c000000' with size 268435456
I0811 17:19:54.370655 14212 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:19:54.373168 14212 model_repository_manager.cc:1045] loading: test_inference_string:1
I0811 17:19:54.476667 14212 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:19:54.476711 14212 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:19:54.476728 14212 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:19:54.476989 14212 backend.cc:76] Loaded libpython successfully
I0811 17:19:54.719067 14212 backend.cc:89] Python interpreter is initialized
I0811 17:19:54.722333 14212 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:19:56.799553 14212 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:19:56.799605 14212 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:19:56.799658 14212 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:19:57.021870 14212 model_repository_manager.cc:1215] failed to load 'test_inference_string' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:19:57.022101 14212 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:19:57.022260 14212 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:19:57.022406 14212 server.cc:586] 
+-----------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model                 | Version | Status                                                                                                           |
+-----------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_inference_string | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                       |         |                                                                                                                  |
|                       |         | At:                                                                                                              |
|                       |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                       |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+-----------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:19:57.022593 14212 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_tritonserver_inference_st1                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:19:57.022638 14212 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:19:57.022661 14212 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
________________________ test_large_strings[tensorflow] ________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_large_strings_tensorflow_0')
output_model = 'tensorflow'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_large_strings(tmpdir, output_model):
        strings = ["a" * (2 ** exp) for exp in range(1, 17)]
        df = _make_df({"description": strings})
        features = ["description"] >> ops.Categorify()
        workflow = nvt.Workflow(features)
    
        if output_model == "pytorch":
            model_info = {"description": {"columns": ["description"], "dtype": "int64"}}
        else:
            model_info = None
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_large_string", output_model, model_info
        )

tests/unit/test_triton_inference.py:154: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_large_strings_tensorflow_0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:00.469364 14262 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:00.721907 14262 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:00.721946 14262 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:00.721953 14262 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:00.861510: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:00.900338 14262 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:00.900373 14262 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:00.900380 14262 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:00.900385 14262 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:00.901489 14262 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:00.901506 14262 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:00.901513 14262 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:00.919604 14262 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:00.919619 14262 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:00.919626 14262 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:01.080687 14262 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7fd128000000' with size 268435456
I0811 17:20:01.081396 14262 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:01.083932 14262 model_repository_manager.cc:1045] loading: test_large_string:1
I0811 17:20:01.187501 14262 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:01.187544 14262 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:01.187562 14262 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:01.187792 14262 backend.cc:76] Loaded libpython successfully
I0811 17:20:01.430298 14262 backend.cc:89] Python interpreter is initialized
I0811 17:20:01.433477 14262 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:03.529348 14262 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:03.529399 14262 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:03.529459 14262 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:03.751557 14262 model_repository_manager.cc:1215] failed to load 'test_large_string' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:03.751813 14262 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:03.751945 14262 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:03.752078 14262 server.cc:586] 
+-------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model             | Version | Status                                                                                                           |
+-------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_large_string | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                   |         |                                                                                                                  |
|                   |         | At:                                                                                                              |
|                   |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                   |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+-------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:03.752248 14262 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_large_strings_tensorflow_0                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:03.752287 14262 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:03.752308 14262 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
_________________________ test_large_strings[pytorch] __________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_large_strings_pytorch_0')
output_model = 'pytorch'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_large_strings(tmpdir, output_model):
        strings = ["a" * (2 ** exp) for exp in range(1, 17)]
        df = _make_df({"description": strings})
        features = ["description"] >> ops.Categorify()
        workflow = nvt.Workflow(features)
    
        if output_model == "pytorch":
            model_info = {"description": {"columns": ["description"], "dtype": "int64"}}
        else:
            model_info = None
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_large_string", output_model, model_info
        )

tests/unit/test_triton_inference.py:154: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_large_strings_pytorch_0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:07.216572 14312 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:07.477990 14312 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:07.478024 14312 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:07.478031 14312 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:07.622310: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:07.660416 14312 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:07.660449 14312 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:07.660456 14312 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:07.660462 14312 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:07.661572 14312 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:07.661589 14312 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:07.661596 14312 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:07.679731 14312 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:07.679747 14312 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:07.679754 14312 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:07.840610 14312 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f8fb8000000' with size 268435456
I0811 17:20:07.841353 14312 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:07.843905 14312 model_repository_manager.cc:1045] loading: test_large_string:1
I0811 17:20:07.947463 14312 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:07.947506 14312 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:07.947529 14312 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:07.947758 14312 backend.cc:76] Loaded libpython successfully
I0811 17:20:08.190315 14312 backend.cc:89] Python interpreter is initialized
I0811 17:20:08.193474 14312 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:10.302502 14312 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:10.302557 14312 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:10.302618 14312 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:10.532810 14312 model_repository_manager.cc:1215] failed to load 'test_large_string' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:10.533080 14312 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:10.533203 14312 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:10.533322 14312 server.cc:586] 
+-------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model             | Version | Status                                                                                                           |
+-------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_large_string | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                   |         |                                                                                                                  |
|                   |         | At:                                                                                                              |
|                   |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                   |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+-------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:10.533489 14312 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_large_strings_pytorch_0                                                                                                                          |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:10.533527 14312 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:10.533546 14312 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
____________________ test_concatenate_dataframe[tensorflow] ____________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_concatenate_dataframe_ten0')
output_model = 'tensorflow'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_concatenate_dataframe(tmpdir, output_model):
        # we were seeing an issue in the rossmann workflow where we dropped certain columns,
        # https://github.com/NVIDIA/NVTabular/issues/961
        df = _make_df(
            {
                "cat": ["aaaa", "bbbb", "cccc", "aaaa", "bbbb", "aaaa"],
                "cont": [0.0, 1.0, 2.0, 3.0, 4.0, 5],
            }
        )
        # this bug only happened with a dataframe representation: force this by using a lambda
        cats = ["cat"] >> ops.LambdaOp(lambda col: _hash_series(col) % 1000)
        conts = ["cont"] >> ops.Normalize() >> ops.FillMissing() >> ops.LogOp()
        workflow = nvt.Workflow(cats + conts)
    
        if output_model == "pytorch":
            model_info = {
                "cat": {"columns": ["cat"], "dtype": "int32"},
                "cont": {"columns": ["cont"], "dtype": "float32"},
            }
        else:
            model_info = None
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_concatenate_dataframe", output_model, model_info
        )

tests/unit/test_triton_inference.py:182: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_concatenate_dataframe_ten0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:13.533322 14362 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:13.786989 14362 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:13.787016 14362 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:13.787023 14362 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:13.927152: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:13.965311 14362 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:13.965345 14362 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:13.965352 14362 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:13.965358 14362 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:13.966493 14362 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:13.966511 14362 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:13.966517 14362 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:13.984944 14362 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:13.984960 14362 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:13.984966 14362 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:14.146585 14362 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7fb2dc000000' with size 268435456
I0811 17:20:14.147291 14362 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:14.149739 14362 model_repository_manager.cc:1045] loading: test_concatenate_dataframe:1
I0811 17:20:14.253254 14362 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:14.253294 14362 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:14.253312 14362 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:14.253535 14362 backend.cc:76] Loaded libpython successfully
I0811 17:20:14.501141 14362 backend.cc:89] Python interpreter is initialized
I0811 17:20:14.504402 14362 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:16.566747 14362 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(82): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:16.566801 14362 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:16.566859 14362 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:16.801147 14362 model_repository_manager.cc:1215] failed to load 'test_concatenate_dataframe' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(82): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:16.801326 14362 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:16.801479 14362 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:16.801608 14362 server.cc:586] 
+----------------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model                      | Version | Status                                                                                                           |
+----------------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_concatenate_dataframe | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                            |         |                                                                                                                  |
|                            |         | At:                                                                                                              |
|                            |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                            |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(82): _initialize_ops |
|                            |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+----------------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:16.801771 14362 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_concatenate_dataframe_ten0                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:16.801809 14362 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:16.801828 14362 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
_____________________ test_concatenate_dataframe[pytorch] ______________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_concatenate_dataframe_pyt0')
output_model = 'pytorch'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_concatenate_dataframe(tmpdir, output_model):
        # we were seeing an issue in the rossmann workflow where we dropped certain columns,
        # https://github.com/NVIDIA/NVTabular/issues/961
        df = _make_df(
            {
                "cat": ["aaaa", "bbbb", "cccc", "aaaa", "bbbb", "aaaa"],
                "cont": [0.0, 1.0, 2.0, 3.0, 4.0, 5],
            }
        )
        # this bug only happened with a dataframe representation: force this by using a lambda
        cats = ["cat"] >> ops.LambdaOp(lambda col: _hash_series(col) % 1000)
        conts = ["cont"] >> ops.Normalize() >> ops.FillMissing() >> ops.LogOp()
        workflow = nvt.Workflow(cats + conts)
    
        if output_model == "pytorch":
            model_info = {
                "cat": {"columns": ["cat"], "dtype": "int32"},
                "cont": {"columns": ["cont"], "dtype": "float32"},
            }
        else:
            model_info = None
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_concatenate_dataframe", output_model, model_info
        )

tests/unit/test_triton_inference.py:182: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_concatenate_dataframe_pyt0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:19.870521 14412 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:20.127735 14412 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:20.127767 14412 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:20.127773 14412 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:20.266440: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:20.306074 14412 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:20.306103 14412 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:20.306110 14412 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:20.306116 14412 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:20.307237 14412 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:20.307255 14412 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:20.307261 14412 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:20.325580 14412 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:20.325598 14412 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:20.325604 14412 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:20.487183 14412 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7fddec000000' with size 268435456
I0811 17:20:20.487924 14412 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:20.490457 14412 model_repository_manager.cc:1045] loading: test_concatenate_dataframe:1
I0811 17:20:20.593997 14412 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:20.594040 14412 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:20.594056 14412 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:20.594286 14412 backend.cc:76] Loaded libpython successfully
I0811 17:20:20.852735 14412 backend.cc:89] Python interpreter is initialized
I0811 17:20:20.856091 14412 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:22.974772 14412 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(82): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:22.974826 14412 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:22.974883 14412 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:23.201645 14412 model_repository_manager.cc:1215] failed to load 'test_concatenate_dataframe' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(82): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:23.201852 14412 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:23.202016 14412 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:23.202178 14412 server.cc:586] 
+----------------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model                      | Version | Status                                                                                                           |
+----------------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_concatenate_dataframe | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                            |         |                                                                                                                  |
|                            |         | At:                                                                                                              |
|                            |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                            |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(82): _initialize_ops |
|                            |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+----------------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:23.202378 14412 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_concatenate_dataframe_pyt0                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:23.202422 14412 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:23.202442 14412 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
_______________________ test_numeric_dtypes[tensorflow] ________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_numeric_dtypes_tensorflow0')
output_model = 'tensorflow'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_numeric_dtypes(tmpdir, output_model):
        if output_model == "pytorch":
            model_info = dict()
        else:
            model_info = None
    
        dtypes = []
        for width in [8, 16, 32, 64]:
            dtype = f"int{width}"
            dtypes.append((dtype, np.iinfo(dtype)))
            if output_model == "pytorch":
                model_info[dtype] = {"columns": [dtype], "dtype": dtype}
    
            dtype = f"uint{width}"
            dtypes.append((dtype, np.iinfo(dtype)))
            if output_model == "pytorch":
                model_info[dtype] = {"columns": [dtype], "dtype": dtype}
    
        for width in [32, 64]:
            dtype = f"float{width}"
            dtypes.append((dtype, np.finfo(dtype)))
            if output_model == "pytorch":
                model_info[dtype] = {"columns": [dtype], "dtype": dtype}
    
        def check_dtypes(col):
            assert str(col.dtype) == col.name
            return col
    
        # simple transform to make sure we can round-trip the min/max values for each dtype,
        # through triton, with the 'transform' here just checking that the dtypes are correct
        df = _make_df(
            {dtype: np.array([limits.max, 0, limits.min], dtype=dtype) for dtype, limits in dtypes}
        )
        features = nvt.ColumnSelector(df.columns) >> check_dtypes
        workflow = nvt.Workflow(features)
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_numeric_dtypes", output_model, model_info
        )

tests/unit/test_triton_inference.py:224: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_numeric_dtypes_tensorflow0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:26.152548 14463 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:26.410895 14463 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:26.410928 14463 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:26.410935 14463 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:26.551705: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:26.589910 14463 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:26.589953 14463 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:26.589960 14463 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:26.589965 14463 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:26.591076 14463 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:26.591093 14463 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:26.591099 14463 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:26.609340 14463 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:26.609356 14463 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:26.609362 14463 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:26.770678 14463 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f52c4000000' with size 268435456
I0811 17:20:26.771403 14463 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:26.774058 14463 model_repository_manager.cc:1045] loading: test_numeric_dtypes:1
I0811 17:20:26.877546 14463 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:26.877586 14463 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:26.877603 14463 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:26.877834 14463 backend.cc:76] Loaded libpython successfully
I0811 17:20:27.128721 14463 backend.cc:89] Python interpreter is initialized
I0811 17:20:27.132274 14463 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:29.225667 14463 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:29.225724 14463 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:29.225777 14463 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:29.447858 14463 model_repository_manager.cc:1215] failed to load 'test_numeric_dtypes' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:29.448035 14463 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:29.448162 14463 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:29.448278 14463 server.cc:586] 
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model               | Version | Status                                                                                                           |
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_numeric_dtypes | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                     |         |                                                                                                                  |
|                     |         | At:                                                                                                              |
|                     |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                     |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:29.448434 14463 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_numeric_dtypes_tensorflow0                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:29.448467 14463 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:29.448485 14463 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
_________________________ test_numeric_dtypes[pytorch] _________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_numeric_dtypes_pytorch_0')
output_model = 'pytorch'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_numeric_dtypes(tmpdir, output_model):
        if output_model == "pytorch":
            model_info = dict()
        else:
            model_info = None
    
        dtypes = []
        for width in [8, 16, 32, 64]:
            dtype = f"int{width}"
            dtypes.append((dtype, np.iinfo(dtype)))
            if output_model == "pytorch":
                model_info[dtype] = {"columns": [dtype], "dtype": dtype}
    
            dtype = f"uint{width}"
            dtypes.append((dtype, np.iinfo(dtype)))
            if output_model == "pytorch":
                model_info[dtype] = {"columns": [dtype], "dtype": dtype}
    
        for width in [32, 64]:
            dtype = f"float{width}"
            dtypes.append((dtype, np.finfo(dtype)))
            if output_model == "pytorch":
                model_info[dtype] = {"columns": [dtype], "dtype": dtype}
    
        def check_dtypes(col):
            assert str(col.dtype) == col.name
            return col
    
        # simple transform to make sure we can round-trip the min/max values for each dtype,
        # through triton, with the 'transform' here just checking that the dtypes are correct
        df = _make_df(
            {dtype: np.array([limits.max, 0, limits.min], dtype=dtype) for dtype, limits in dtypes}
        )
        features = nvt.ColumnSelector(df.columns) >> check_dtypes
        workflow = nvt.Workflow(features)
>       _verify_workflow_on_tritonserver(
            tmpdir, workflow, df, "test_numeric_dtypes", output_model, model_info
        )

tests/unit/test_triton_inference.py:224: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_numeric_dtypes_pytorch_0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:32.445998 14513 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:32.705025 14513 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:32.705057 14513 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:32.705063 14513 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:32.847055: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:32.886189 14513 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:32.886225 14513 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:32.886232 14513 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:32.886237 14513 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:32.887348 14513 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:32.887366 14513 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:32.887372 14513 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:32.905998 14513 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:32.906014 14513 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:32.906020 14513 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:33.066915 14513 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f932c000000' with size 268435456
I0811 17:20:33.067634 14513 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:33.070270 14513 model_repository_manager.cc:1045] loading: test_numeric_dtypes:1
I0811 17:20:33.173805 14513 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:33.173843 14513 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:33.173860 14513 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:33.174117 14513 backend.cc:76] Loaded libpython successfully
I0811 17:20:33.425011 14513 backend.cc:89] Python interpreter is initialized
I0811 17:20:33.428489 14513 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:35.560089 14513 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:35.560140 14513 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:35.560198 14513 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:35.788233 14513 model_repository_manager.cc:1215] failed to load 'test_numeric_dtypes' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:35.788513 14513 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:35.788651 14513 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:35.788788 14513 server.cc:586] 
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+
| Model               | Version | Status                                                                                                           |
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+
| test_numeric_dtypes | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|                     |         |                                                                                                                  |
|                     |         | At:                                                                                                              |
|                     |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|                     |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+---------------------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:35.788979 14513 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_numeric_dtypes_pytorch_0                                                                                                                         |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:35.789019 14513 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:35.789040 14513 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
________________________ test_groupby_model[tensorflow] ________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_groupby_model_tensorflow_0')
output_model = 'tensorflow'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_groupby_model(tmpdir, output_model):
        size = 20
        df = _make_df(
            {
                "id": np.random.choice([0, 1], size=size),
                "ts": np.linspace(0.0, 10.0, num=size),
                "x": np.arange(size),
                "y": np.linspace(0.0, 10.0, num=size),
            }
        )
    
        groupby_features = ColumnSelector(["id", "ts", "x", "y"]) >> ops.Groupby(
            groupby_cols=["id"],
            sort_cols=["ts"],
            aggs={
                "x": ["sum"],
                "y": ["first"],
            },
            name_sep="-",
        )
        workflow = nvt.Workflow(groupby_features)
    
        if output_model == "pytorch":
            model_info = {
                "x-sum": {"columns": ["x-sum"], "dtype": "int64"},
                "y-first": {"columns": ["y-first"], "dtype": "float64"},
                "id": {"columns": ["id"], "dtype": "int64"},
            }
        else:
            model_info = None
    
>       _verify_workflow_on_tritonserver(tmpdir, workflow, df, "groupby", output_model, model_info)

tests/unit/test_triton_inference.py:360: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_groupby_model_tensorflow_0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:40.228890 14563 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:40.492422 14563 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:40.492454 14563 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:40.492460 14563 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:40.636746: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:40.675523 14563 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:40.675556 14563 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:40.675563 14563 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:40.675569 14563 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:40.676675 14563 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:40.676692 14563 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:40.676698 14563 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:40.694759 14563 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:40.694775 14563 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:40.694781 14563 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:40.856278 14563 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f71e0000000' with size 268435456
I0811 17:20:40.857019 14563 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:40.859569 14563 model_repository_manager.cc:1045] loading: groupby:1
I0811 17:20:40.963028 14563 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:40.963070 14563 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:40.963087 14563 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:40.963315 14563 backend.cc:76] Loaded libpython successfully
I0811 17:20:41.207446 14563 backend.cc:89] Python interpreter is initialized
I0811 17:20:41.210800 14563 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:43.303051 14563 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:43.303107 14563 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:43.303160 14563 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:43.523729 14563 model_repository_manager.cc:1215] failed to load 'groupby' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:43.523984 14563 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:43.524127 14563 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:43.524264 14563 server.cc:586] 
+---------+---------+------------------------------------------------------------------------------------------------------------------+
| Model   | Version | Status                                                                                                           |
+---------+---------+------------------------------------------------------------------------------------------------------------------+
| groupby | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|         |         |                                                                                                                  |
|         |         | At:                                                                                                              |
|         |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|         |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+---------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:43.524453 14563 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_groupby_model_tensorflow_0                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:43.524495 14563 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:43.524516 14563 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
_________________________ test_groupby_model[pytorch] __________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-28/test_groupby_model_pytorch_0')
output_model = 'pytorch'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_groupby_model(tmpdir, output_model):
        size = 20
        df = _make_df(
            {
                "id": np.random.choice([0, 1], size=size),
                "ts": np.linspace(0.0, 10.0, num=size),
                "x": np.arange(size),
                "y": np.linspace(0.0, 10.0, num=size),
            }
        )
    
        groupby_features = ColumnSelector(["id", "ts", "x", "y"]) >> ops.Groupby(
            groupby_cols=["id"],
            sort_cols=["ts"],
            aggs={
                "x": ["sum"],
                "y": ["first"],
            },
            name_sep="-",
        )
        workflow = nvt.Workflow(groupby_features)
    
        if output_model == "pytorch":
            model_info = {
                "x-sum": {"columns": ["x-sum"], "dtype": "int64"},
                "y-first": {"columns": ["y-first"], "dtype": "float64"},
                "id": {"columns": ["id"], "dtype": "int64"},
            }
        else:
            model_info = None
    
>       _verify_workflow_on_tritonserver(tmpdir, workflow, df, "groupby", output_model, model_info)

tests/unit/test_triton_inference.py:360: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:91: in _verify_workflow_on_tritonserver
    with run_triton_server(tmpdir) as client:
/usr/lib/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

modelpath = local('/tmp/pytest-of-jenkins/pytest-28/test_groupby_model_pytorch_0')

    @contextlib.contextmanager
    def run_triton_server(modelpath):
        cmdline = [
            TRITON_SERVER_PATH,
            "--model-repository",
            modelpath,
            "--backend-config=tensorflow,version=2",
        ]
        env = os.environ.copy()
        env["CUDA_VISIBLE_DEVICES"] = "0"
        with subprocess.Popen(cmdline, env=env) as process:
            try:
                with grpcclient.InferenceServerClient("localhost:8001") as client:
                    # wait until server is ready
                    for _ in range(60):
                        if process.poll() is not None:
                            retcode = process.returncode
>                           raise RuntimeError(f"Tritonserver failed to start (ret={retcode})")
E                           RuntimeError: Tritonserver failed to start (ret=1)

tests/unit/test_triton_inference.py:50: RuntimeError
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:20:46.513384 14613 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:20:46.769209 14613 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:20:46.769241 14613 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:20:46.769247 14613 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:20:46.923152: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:20:46.963838 14613 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:20:46.963870 14613 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:20:46.963877 14613 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:20:46.963884 14613 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:20:46.964991 14613 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:20:46.965009 14613 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:20:46.965016 14613 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:20:46.983097 14613 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:20:46.983114 14613 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:20:46.983120 14613 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:20:47.144074 14613 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7f5aa0000000' with size 268435456
I0811 17:20:47.144780 14613 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:20:47.147305 14613 model_repository_manager.cc:1045] loading: groupby:1
I0811 17:20:47.250747 14613 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:20:47.250786 14613 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:20:47.250804 14613 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:20:47.251027 14613 backend.cc:76] Loaded libpython successfully
I0811 17:20:47.492211 14613 backend.cc:89] Python interpreter is initialized
I0811 17:20:47.495511 14613 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
E0811 17:20:49.568523 14613 backend.cc:153] AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:49.568576 14613 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
I0811 17:20:49.568627 14613 backend.cc:136] TRITONBACKEND_ModelFinalize: delete model state
E0811 17:20:49.794345 14613 model_repository_manager.cc:1215] failed to load 'groupby' version 1: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize

I0811 17:20:49.794548 14613 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:20:49.794701 14613 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:20:49.794833 14613 server.cc:586] 
+---------+---------+------------------------------------------------------------------------------------------------------------------+
| Model   | Version | Status                                                                                                           |
+---------+---------+------------------------------------------------------------------------------------------------------------------+
| groupby | 1       | UNAVAILABLE: Internal: AttributeError: 'WorkflowNode' object has no attribute 'columns'                          |
|         |         |                                                                                                                  |
|         |         | At:                                                                                                              |
|         |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(62): _initialize_ops |
|         |         |   /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(99): initialize      |
+---------+---------+------------------------------------------------------------------------------------------------------------------+

I0811 17:20:49.795022 14613 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-28/test_groupby_model_pytorch_0                                                                                                                          |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:20:49.795062 14613 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:20:49.795085 14613 server.cc:249] Timeout 30: Found 0 live models and 0 in-flight non-inference requests
error: creating server: Internal - failed to load all models
______________________ test_workflow_node_converts_lists _______________________

    def test_workflow_node_converts_lists():
        node = WorkflowNode([])
>       assert node.columns == ColumnSelector([])
E       AttributeError: 'WorkflowNode' object has no attribute 'columns'

tests/unit/test_workflow_node.py:69: AttributeError
--------------------------- Captured stdout teardown ---------------------------
Received signal 15
=============================== warnings summary ===============================
tests/unit/test_io.py: 24 warnings
tests/unit/test_torch_dataloader.py: 54 warnings
tests/unit/test_workflow_node.py: 1 warning
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/node.py:45: FutureWarning: The `["a", "b", "c"] >> ops.Operator` syntax for creating a `ColumnGroup` has been deprecated in NVTabular 21.09 and will be removed in a future version.
    warnings.warn(

tests/unit/test_io.py: 36 warnings
tests/unit/test_workflow.py: 44 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/workflow.py:87: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for execution. Please use the `client` argument to initialize a `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 52 warnings
tests/unit/test_workflow.py: 35 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dask.py:372: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for this write operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 20 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dataset.py:476: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler is being used for this shuffle operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_ops.py::test_fill_missing[True-True-parquet]
tests/unit/test_ops.py::test_fill_missing[True-False-parquet]
tests/unit/test_ops.py::test_filter[parquet-0.1-True]
  /usr/local/lib/python3.8/dist-packages/pandas/core/indexing.py:670: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    iloc._setitem_with_indexer(indexer, value)

tests/unit/test_ops.py::test_join_external[True-True-left-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-left-device-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-device-pandas-parquet]
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/ops/join_external.py:171: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    _ext.drop_duplicates(ignore_index=True, inplace=True)

tests/unit/test_ops.py::test_filter[parquet-0.1-True]
tests/unit/test_ops.py::test_filter[parquet-0.1-False]
tests/unit/test_ops.py::test_groupby_op[id-True]
tests/unit/test_ops.py::test_groupby_op[id-False]
  /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg/dask/dataframe/core.py:6610: UserWarning: Insufficient elements for `head`. 1 elements requested, only 0 elements available. Try passing larger `npartitions` to `head`.
    warnings.warn(msg.format(n, len(r)))

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
examples/multi-gpu-movielens/torch_trainer.py                     65      0      6      1    99%   32->36
nvtabular/__init__.py                                             14      0      0      0   100%
nvtabular/column_selector.py                                      62      1     28      0    99%   103
nvtabular/dispatch.py                                            253     45    124     22    81%   35-38, 43-45, 51-61, 68-69, 86, 93, 101, 112, 118, 123->125, 136, 159-162, 201, 204, 210, 226, 233, 264->269, 267, 270, 273->277, 310, 321-324, 351-354, 384, 388, 429, 453, 455, 462
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     133     78     88     15    38%   30, 99, 103, 114-130, 140, 143-158, 162, 166-167, 173-198, 207-217, 220-227, 229->234, 235, 240-280, 283
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153     12     85      6    91%   60, 68->49, 122, 179, 231-239, 335->343, 357->360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     25     20      1    43%   49, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              32      1     14      1    96%   50
nvtabular/framework_utils/torch/models.py                         45      0     28      0   100%
nvtabular/framework_utils/torch/utils.py                          75      4     30      2    94%   64, 118-120
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    135    128     11    56%   80-84, 138-188, 233-277, 308, 334-342, 350-357, 376, 398-414, 455-459, 497-507, 531-553, 557-624, 633->636, 636->632, 665-675, 694, 715, 722, 727-733
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87      3     58      4    95%   32-33, 84
nvtabular/inference/triton/model.py                              160    115     80      3    22%   64-77, 79->exit, 80->79, 96, 101-118, 121-122, 128-159, 163-179, 182-191, 194-222, 227-228, 233-235, 240-243, 247-256, 260-297, 301-307
nvtabular/inference/triton/model_config_pb2.py                   299      0      2      0   100%
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57      6     20      5    86%   22-23, 99, 103->107, 108, 110, 124
nvtabular/io/dask.py                                             183      8     72     11    93%   111, 114, 150, 398, 408, 425->428, 436, 440->442, 442->438, 447, 449
nvtabular/io/dataframe_engine.py                                  61      5     28      6    88%   19-20, 50, 69, 88->92, 92->97, 94->97, 97->116, 125
nvtabular/io/dataset.py                                          320     43    150     28    84%   44-45, 246, 248, 261, 270, 288-302, 405->475, 410-413, 418->428, 423-424, 435->433, 449->453, 464, 475->484, 534->538, 581, 703, 705, 707, 713, 717-719, 721, 781-782, 809, 816-817, 823, 829, 924-925, 1041-1046, 1052, 1117
nvtabular/io/dataset_engine.py                                    23      1      0      0    96%   45
nvtabular/io/hugectr.py                                           45      2     24      2    91%   34, 74->97, 101
nvtabular/io/parquet.py                                          492     23    156     14    94%   33-34, 92-100, 124->126, 213-215, 338-343, 381-386, 502->509, 570->575, 576-577, 697, 701, 705, 711, 743, 760, 764, 771->773, 881->exit, 891->896, 901->911, 916, 938
nvtabular/io/shuffle.py                                           31      6     16      5    77%   42, 44-45, 49, 59, 63
nvtabular/io/writer.py                                           175     13     68      5    92%   24-25, 51, 79, 125, 128, 212, 221, 224, 267, 288-290
nvtabular/io/writer_factory.py                                    18      2      8      2    85%   35, 60
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327     12    138      9    95%   142-143, 233->235, 245-249, 295-296, 335->339, 410, 414-415, 445, 550, 558
nvtabular/loader/tensorflow.py                                   155     22     50      7    85%   57, 65-68, 78, 88, 296, 332, 347-349, 378-380, 390-398, 401-404
nvtabular/loader/tf_utils.py                                      55     10     20      5    80%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70
nvtabular/loader/torch.py                                         81     13     16      2    78%   25-27, 30-36, 111, 149-150
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        32     10     18      3    62%   52-54, 58, 61-64, 83-86
nvtabular/ops/categorify.py                                      579     70    323     46    85%   230, 232, 247, 251, 259, 267, 269, 296, 315-316, 334, 345->350, 353-360, 441-442, 461-466, 539->541, 635, 653, 687, 750->753, 754-756, 763-764, 779-783, 784->748, 802, 810, 817->exit, 840, 843->846, 878, 883, 899->903, 910-913, 924, 928, 930, 937, 942-945, 1023, 1025, 1054->1077, 1060->1077, 1078-1083, 1120, 1138->1143, 1142, 1152->1149, 1157->1149, 1165, 1173-1183
nvtabular/ops/clip.py                                             18      2      6      3    79%   43, 51->53, 54
nvtabular/ops/column_similarity.py                               103     24     36      5    72%   19-20, 76->exit, 106, 178-179, 188-190, 198-214, 231->234, 235, 245
nvtabular/ops/data_stats.py                                       56      2     22      3    94%   91->93, 95, 97->87, 102
nvtabular/ops/difference_lag.py                                   25      0      8      1    97%   66->68
nvtabular/ops/dropna.py                                            8      0      0      0   100%
nvtabular/ops/fill.py                                             63      6     22      1    89%   62-66, 101, 127
nvtabular/ops/filter.py                                           20      1      6      1    92%   49
nvtabular/ops/groupby.py                                          92      4     56      6    92%   71, 80, 82, 92->94, 104->109, 180
nvtabular/ops/hash_bucket.py                                      29      2     18      2    87%   69, 99
nvtabular/ops/hashed_cross.py                                     28      3     13      3    85%   50, 63, 80
nvtabular/ops/join_external.py                                    89      7     38      6    90%   20-21, 113, 115, 117, 159, 176->178, 212
nvtabular/ops/join_groupby.py                                     87      6     32      3    92%   93, 110, 114->113, 198-199, 202-203
nvtabular/ops/lambdaop.py                                         39      6     18      6    79%   59, 63, 77, 89, 94, 103
nvtabular/ops/list_slice.py                                       63     24     26      1    56%   21-22, 52-53, 100-114, 122-133
nvtabular/ops/logop.py                                             8      0      0      0   100%
nvtabular/ops/moments.py                                          65      0     20      0   100%
nvtabular/ops/normalize.py                                        71      8     14      1    87%   69, 77-78, 111-112, 134-135, 139
nvtabular/ops/operator.py                                         27      2      0      0    93%   99, 106
nvtabular/ops/rename.py                                           23      3     14      3    84%   45, 66-68
nvtabular/ops/stat_operator.py                                     8      0      0      0   100%
nvtabular/ops/target_encoding.py                                 146     11     64      5    90%   147, 167->171, 175->184, 229-230, 233-234, 243-249, 340->343
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236      1     62      1    99%   323
nvtabular/tools/dataset_inspector.py                              50      7     18      1    79%   32-39
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     43     46      8    52%   31-32, 36-37, 50, 61-62, 64-66, 69, 72, 78, 84, 90-126, 145, 149->153
nvtabular/worker.py                                               82      5     38      7    90%   24-25, 82->99, 91, 92->99, 99->102, 108, 110, 111->113
nvtabular/workflow/__init__.py                                     2      0      0      0   100%
nvtabular/workflow/node.py                                       171     23     80      5    84%   53, 87, 106, 146, 170-183, 234, 316-321
nvtabular/workflow/workflow.py                                   164     13     77      5    92%   28-29, 46, 142, 157-159, 263, 278-279, 297-298, 387
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6480   1078   2582    293    81%
Coverage XML written to file coverage.xml

Required test coverage of 70% reached. Total coverage: 81.06%
=========================== short test summary info ============================
SKIPPED [8] tests/unit/test_io.py:500: could not import 'uavro': No module named 'uavro'
SKIPPED [1] tests/unit/test_tf_dataloader.py:521: not working correctly in ci environment
===== 13 failed, 1154 passed, 9 skipped, 277 warnings in 958.05s (0:15:58) =====
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins4468590884979731080.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit d2189537da7cdb9200dc1fa56c18b816bf7b91c1, no merge conflicts.
Running as SYSTEM
Setting status of d2189537da7cdb9200dc1fa56c18b816bf7b91c1 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3134/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse d2189537da7cdb9200dc1fa56c18b816bf7b91c1^{commit} # timeout=10
Checking out Revision d2189537da7cdb9200dc1fa56c18b816bf7b91c1 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f d2189537da7cdb9200dc1fa56c18b816bf7b91c1 # timeout=10
Commit message: "Fix `WorkflowNode.columns` references in Triton code"
 > git rev-list --no-walk eade30b6e36b442f2ddc5e5c68ad0d842cc03fb7 # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins8798703063991528929.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gd218953 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gd218953 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gd218953 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gd218953 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+18.gd218953 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+18.gd218953
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+18.gd218953
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-11 17:44:30.735337: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:44:32.114828: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 17:44:32.115909: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:44:32.116908: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 17:44:32.116938: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 17:44:32.116986: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 17:44:32.117019: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 17:44:32.117052: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 17:44:32.117084: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 17:44:32.117128: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 17:44:32.117161: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 17:44:32.117199: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 17:44:32.121276: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1176 items

tests/unit/test_column_selector.py ............                          [  1%]
tests/unit/test_column_similarity.py ........................            [  3%]
tests/unit/test_cpu_workflow.py ......                                   [  3%]
tests/unit/test_dask_nvt.py ............................................ [  7%]
.....................................................................    [ 13%]
tests/unit/test_dataloader_backend.py .                                  [ 13%]
tests/unit/test_io.py .................................................. [ 17%]
........................................................................ [ 23%]
........ssssssss..................................................       [ 29%]
tests/unit/test_notebooks.py ......                                      [ 29%]
tests/unit/test_ops.py ................................................. [ 33%]
........................................................................ [ 40%]
........................................................................ [ 46%]
........................................................................ [ 52%]
........................................................................ [ 58%]
........................................................................ [ 64%]
.................................                                        [ 67%]
tests/unit/test_s3.py ..                                                 [ 67%]
tests/unit/test_tf_dataloader.py ....................................... [ 70%]
.................................s                                       [ 73%]
tests/unit/test_tf_feature_columns.py .                                  [ 73%]
tests/unit/test_tf_layers.py ........................................... [ 77%]
...................................                                      [ 80%]
tests/unit/test_tools.py ......................                          [ 82%]
tests/unit/test_torch_dataloader.py .................................... [ 85%]
..............................................                           [ 89%]
tests/unit/test_torch_layers.py .                                        [ 89%]
tests/unit/test_triton_inference.py ............................FF       [ 91%]
tests/unit/test_workflow.py ............................................ [ 95%]
................................................                         [ 99%]
tests/unit/test_workflow_node.py ..F                                     [100%]

=================================== FAILURES ===================================
________________________ test_groupby_model[tensorflow] ________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-30/test_groupby_model_tensorflow_0')
output_model = 'tensorflow'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_groupby_model(tmpdir, output_model):
        size = 20
        df = _make_df(
            {
                "id": np.random.choice([0, 1], size=size),
                "ts": np.linspace(0.0, 10.0, num=size),
                "x": np.arange(size),
                "y": np.linspace(0.0, 10.0, num=size),
            }
        )
    
        groupby_features = ColumnSelector(["id", "ts", "x", "y"]) >> ops.Groupby(
            groupby_cols=["id"],
            sort_cols=["ts"],
            aggs={
                "x": ["sum"],
                "y": ["first"],
            },
            name_sep="-",
        )
        workflow = nvt.Workflow(groupby_features)
    
        if output_model == "pytorch":
            model_info = {
                "x-sum": {"columns": ["x-sum"], "dtype": "int64"},
                "y-first": {"columns": ["y-first"], "dtype": "float64"},
                "id": {"columns": ["id"], "dtype": "int64"},
            }
        else:
            model_info = None
    
>       _verify_workflow_on_tritonserver(tmpdir, workflow, df, "groupby", output_model, model_info)

tests/unit/test_triton_inference.py:360: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:92: in _verify_workflow_on_tritonserver
    response = client.infer(model_name, inputs, outputs=outputs)
/usr/local/lib/python3.8/dist-packages/tritonclient/grpc/__init__.py:1086: in infer
    raise_error_grpc(rpc_error)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

rpc_error = <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.INTERNAL
	details = "KeyError: ('i-d',)

At:
  /v...kins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(156): execute\n","grpc_status":13}"
>

    def raise_error_grpc(rpc_error):
>       raise get_error_grpc(rpc_error) from None
E       tritonclient.utils.InferenceServerException: [StatusCode.INTERNAL] KeyError: ('i-d',)
E       
E       At:
E         /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(176): _transform_outputs
E         /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(156): execute

/usr/local/lib/python3.8/dist-packages/tritonclient/grpc/__init__.py:61: InferenceServerException
----------------------------- Captured stdout call -----------------------------
Signal (2) received.
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:59:20.129390 30977 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:59:20.385382 30977 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:59:20.385413 30977 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:59:20.385419 30977 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:59:20.534935: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:59:20.575864 30977 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:59:20.575901 30977 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:59:20.575908 30977 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:59:20.575915 30977 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:59:20.577063 30977 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:59:20.577081 30977 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:59:20.577087 30977 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:59:20.596159 30977 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:59:20.596175 30977 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:59:20.596182 30977 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:59:20.760382 30977 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7fdd30000000' with size 268435456
I0811 17:59:20.761092 30977 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:59:20.763563 30977 model_repository_manager.cc:1045] loading: groupby:1
I0811 17:59:20.867077 30977 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:59:20.867116 30977 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:59:20.867133 30977 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:59:20.867359 30977 backend.cc:76] Loaded libpython successfully
I0811 17:59:21.116925 30977 backend.cc:89] Python interpreter is initialized
I0811 17:59:21.120208 30977 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
I0811 17:59:23.199611 30977 model_repository_manager.cc:1212] successfully loaded 'groupby' version 1
I0811 17:59:23.199777 30977 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:59:23.199946 30977 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| nvtabular   | /opt/tritonserver/backends/nvtabular/libtriton_nvtabular.so     | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:59:23.200005 30977 server.cc:586] 
+---------+---------+--------+
| Model   | Version | Status |
+---------+---------+--------+
| groupby | 1       | READY  |
+---------+---------+--------+

I0811 17:59:23.200197 30977 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-30/test_groupby_model_tensorflow_0                                                                                                                       |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:59:23.202006 30977 grpc_server.cc:4072] Started GRPCInferenceService at 0.0.0.0:8001
I0811 17:59:23.202512 30977 http_server.cc:2795] Started HTTPService at 0.0.0.0:8000
I0811 17:59:23.244444 30977 sagemaker_server.cc:134] Started Sagemaker HTTPService at 0.0.0.0:8080
I0811 17:59:23.286085 30977 http_server.cc:162] Started Metrics Service at 0.0.0.0:8002
E0811 17:59:30.700944 30977 backend.cc:186] Exception during transform_requests 'KeyError: ('i-d',)

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(176): _transform_outputs
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(156): execute
'
I0811 17:59:30.702188 30977 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:59:30.702200 30977 model_repository_manager.cc:1078] unloading: groupby:1
I0811 17:59:30.702276 30977 server.cc:249] Timeout 30: Found 1 live models and 0 in-flight non-inference requests
I0811 17:59:30.702378 30977 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
_________________________ test_groupby_model[pytorch] __________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-30/test_groupby_model_pytorch_0')
output_model = 'pytorch'

    @pytest.mark.skipif(TRITON_SERVER_PATH is None, reason="Requires tritonserver on the path")
    @pytest.mark.parametrize("output_model", ["tensorflow", "pytorch"])
    def test_groupby_model(tmpdir, output_model):
        size = 20
        df = _make_df(
            {
                "id": np.random.choice([0, 1], size=size),
                "ts": np.linspace(0.0, 10.0, num=size),
                "x": np.arange(size),
                "y": np.linspace(0.0, 10.0, num=size),
            }
        )
    
        groupby_features = ColumnSelector(["id", "ts", "x", "y"]) >> ops.Groupby(
            groupby_cols=["id"],
            sort_cols=["ts"],
            aggs={
                "x": ["sum"],
                "y": ["first"],
            },
            name_sep="-",
        )
        workflow = nvt.Workflow(groupby_features)
    
        if output_model == "pytorch":
            model_info = {
                "x-sum": {"columns": ["x-sum"], "dtype": "int64"},
                "y-first": {"columns": ["y-first"], "dtype": "float64"},
                "id": {"columns": ["id"], "dtype": "int64"},
            }
        else:
            model_info = None
    
>       _verify_workflow_on_tritonserver(tmpdir, workflow, df, "groupby", output_model, model_info)

tests/unit/test_triton_inference.py:360: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/unit/test_triton_inference.py:92: in _verify_workflow_on_tritonserver
    response = client.infer(model_name, inputs, outputs=outputs)
/usr/local/lib/python3.8/dist-packages/tritonclient/grpc/__init__.py:1086: in infer
    raise_error_grpc(rpc_error)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

rpc_error = <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.INTERNAL
	details = "KeyError: ('x-sum',)

At:
  ...ns_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(227): <genexpr>\n","grpc_status":13}"
>

    def raise_error_grpc(rpc_error):
>       raise get_error_grpc(rpc_error) from None
E       tritonclient.utils.InferenceServerException: [StatusCode.INTERNAL] KeyError: ('x-sum',)
E       
E       At:
E         /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(227): <genexpr>

/usr/local/lib/python3.8/dist-packages/tritonclient/grpc/__init__.py:61: InferenceServerException
----------------------------- Captured stdout call -----------------------------
Signal (2) received.
----------------------------- Captured stderr call -----------------------------
Numba: Attempted to fork from a non-main thread, the TBB library may be in an invalid state in the child process.
I0811 17:59:31.801095 31056 metrics.cc:290] Collecting metrics for GPU 0: Tesla P100-DGXS-16GB
I0811 17:59:32.059496 31056 libtorch.cc:998] TRITONBACKEND_Initialize: pytorch
I0811 17:59:32.059531 31056 libtorch.cc:1008] Triton TRITONBACKEND API version: 1.4
I0811 17:59:32.059537 31056 libtorch.cc:1014] 'pytorch' TRITONBACKEND API version: 1.4
2021-08-11 17:59:32.199872: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I0811 17:59:32.238300 31056 tensorflow.cc:2169] TRITONBACKEND_Initialize: tensorflow
I0811 17:59:32.238333 31056 tensorflow.cc:2179] Triton TRITONBACKEND API version: 1.4
I0811 17:59:32.238339 31056 tensorflow.cc:2185] 'tensorflow' TRITONBACKEND API version: 1.4
I0811 17:59:32.238345 31056 tensorflow.cc:2209] backend configuration:
{"cmdline":{"version":"2"}}
I0811 17:59:32.239456 31056 onnxruntime.cc:1970] TRITONBACKEND_Initialize: onnxruntime
I0811 17:59:32.239474 31056 onnxruntime.cc:1980] Triton TRITONBACKEND API version: 1.4
I0811 17:59:32.239481 31056 onnxruntime.cc:1986] 'onnxruntime' TRITONBACKEND API version: 1.4
I0811 17:59:32.257914 31056 openvino.cc:1193] TRITONBACKEND_Initialize: openvino
I0811 17:59:32.257930 31056 openvino.cc:1203] Triton TRITONBACKEND API version: 1.4
I0811 17:59:32.257943 31056 openvino.cc:1209] 'openvino' TRITONBACKEND API version: 1.4
I0811 17:59:32.419694 31056 pinned_memory_manager.cc:240] Pinned memory pool is created at '0x7fc5cc000000' with size 268435456
I0811 17:59:32.420403 31056 cuda_memory_manager.cc:105] CUDA memory pool is created on device 0 with size 67108864
I0811 17:59:32.422907 31056 model_repository_manager.cc:1045] loading: groupby:1
I0811 17:59:32.526511 31056 backend.cc:46] TRITONBACKEND_Initialize: nvtabular
I0811 17:59:32.526556 31056 backend.cc:53] Triton TRITONBACKEND API version: 1.4
I0811 17:59:32.526573 31056 backend.cc:56] 'nvtabular' TRITONBACKEND API version: 1.4
I0811 17:59:32.526806 31056 backend.cc:76] Loaded libpython successfully
I0811 17:59:32.777173 31056 backend.cc:89] Python interpreter is initialized
I0811 17:59:32.780567 31056 model_inst_state.hpp:58] Loading TritonPythonModel from module 'nvtabular.inference.triton.model'
I0811 17:59:34.887041 31056 model_repository_manager.cc:1212] successfully loaded 'groupby' version 1
I0811 17:59:34.887211 31056 server.cc:504] 
+------------------+------+
| Repository Agent | Path |
+------------------+------+
+------------------+------+

I0811 17:59:34.887380 31056 server.cc:543] 
+-------------+-----------------------------------------------------------------+-----------------------------+
| Backend     | Path                                                            | Config                      |
+-------------+-----------------------------------------------------------------+-----------------------------+
| tensorrt    | <built-in>                                                      | {}                          |
| pytorch     | /opt/tritonserver/backends/pytorch/libtriton_pytorch.so         | {}                          |
| tensorflow  | /opt/tritonserver/backends/tensorflow2/libtriton_tensorflow2.so | {"cmdline":{"version":"2"}} |
| onnxruntime | /opt/tritonserver/backends/onnxruntime/libtriton_onnxruntime.so | {}                          |
| nvtabular   | /opt/tritonserver/backends/nvtabular/libtriton_nvtabular.so     | {}                          |
| openvino    | /opt/tritonserver/backends/openvino/libtriton_openvino.so       | {}                          |
+-------------+-----------------------------------------------------------------+-----------------------------+

I0811 17:59:34.887439 31056 server.cc:586] 
+---------+---------+--------+
| Model   | Version | Status |
+---------+---------+--------+
| groupby | 1       | READY  |
+---------+---------+--------+

I0811 17:59:34.887641 31056 tritonserver.cc:1718] 
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                           | Value                                                                                                                                                                                  |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| server_id                        | triton                                                                                                                                                                                 |
| server_version                   | 2.12.0                                                                                                                                                                                 |
| server_extensions                | classification sequence model_repository model_repository(unload_dependents) schedule_policy model_configuration system_shared_memory cuda_shared_memory binary_tensor_data statistics |
| model_repository_path[0]         | /tmp/pytest-of-jenkins/pytest-30/test_groupby_model_pytorch_0                                                                                                                          |
| model_control_mode               | MODE_NONE                                                                                                                                                                              |
| strict_model_config              | 1                                                                                                                                                                                      |
| pinned_memory_pool_byte_size     | 268435456                                                                                                                                                                              |
| cuda_memory_pool_byte_size{0}    | 67108864                                                                                                                                                                               |
| min_supported_compute_capability | 6.0                                                                                                                                                                                    |
| strict_readiness                 | 1                                                                                                                                                                                      |
| exit_timeout                     | 30                                                                                                                                                                                     |
+----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

I0811 17:59:34.889439 31056 grpc_server.cc:4072] Started GRPCInferenceService at 0.0.0.0:8001
I0811 17:59:34.889967 31056 http_server.cc:2795] Started HTTPService at 0.0.0.0:8000
I0811 17:59:34.931898 31056 sagemaker_server.cc:134] Started Sagemaker HTTPService at 0.0.0.0:8080
I0811 17:59:34.973488 31056 http_server.cc:162] Started Metrics Service at 0.0.0.0:8002
E0811 17:59:42.384513 31056 backend.cc:186] Exception during transform_requests 'KeyError: ('x-sum',)

At:
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/inference/triton/model.py(227): <genexpr>
'
I0811 17:59:42.385775 31056 server.cc:234] Waiting for in-flight requests to complete.
I0811 17:59:42.385803 31056 model_repository_manager.cc:1078] unloading: groupby:1
I0811 17:59:42.386008 31056 server.cc:249] Timeout 30: Found 1 live models and 0 in-flight non-inference requests
I0811 17:59:42.386087 31056 backend.cc:160] TRITONBACKEND_ModelInstanceFinalize: delete instance state
______________________ test_workflow_node_converts_lists _______________________

    def test_workflow_node_converts_lists():
        node = WorkflowNode([])
>       assert node.columns == ColumnSelector([])
E       AttributeError: 'WorkflowNode' object has no attribute 'columns'

tests/unit/test_workflow_node.py:69: AttributeError
--------------------------- Captured stdout teardown ---------------------------
Received signal 15
=============================== warnings summary ===============================
tests/unit/test_io.py: 24 warnings
tests/unit/test_torch_dataloader.py: 54 warnings
tests/unit/test_workflow_node.py: 1 warning
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/node.py:45: FutureWarning: The `["a", "b", "c"] >> ops.Operator` syntax for creating a `ColumnGroup` has been deprecated in NVTabular 21.09 and will be removed in a future version.
    warnings.warn(

tests/unit/test_io.py: 36 warnings
tests/unit/test_workflow.py: 44 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/workflow.py:87: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for execution. Please use the `client` argument to initialize a `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 52 warnings
tests/unit/test_workflow.py: 35 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dask.py:372: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for this write operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 20 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dataset.py:476: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler is being used for this shuffle operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_ops.py::test_fill_missing[True-True-parquet]
tests/unit/test_ops.py::test_fill_missing[True-False-parquet]
tests/unit/test_ops.py::test_filter[parquet-0.1-True]
  /usr/local/lib/python3.8/dist-packages/pandas/core/indexing.py:670: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    iloc._setitem_with_indexer(indexer, value)

tests/unit/test_ops.py::test_join_external[True-True-left-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-left-device-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-device-pandas-parquet]
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/ops/join_external.py:171: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    _ext.drop_duplicates(ignore_index=True, inplace=True)

tests/unit/test_ops.py::test_filter[parquet-0.1-True]
tests/unit/test_ops.py::test_filter[parquet-0.1-False]
tests/unit/test_ops.py::test_groupby_op[id-True]
tests/unit/test_ops.py::test_groupby_op[id-False]
  /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg/dask/dataframe/core.py:6610: UserWarning: Insufficient elements for `head`. 1 elements requested, only 0 elements available. Try passing larger `npartitions` to `head`.
    warnings.warn(msg.format(n, len(r)))

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
examples/multi-gpu-movielens/torch_trainer.py                     65      0      6      1    99%   32->36
nvtabular/__init__.py                                             14      0      0      0   100%
nvtabular/column_selector.py                                      62      1     28      0    99%   103
nvtabular/dispatch.py                                            253     45    124     22    81%   35-38, 43-45, 51-61, 68-69, 86, 93, 101, 112, 118, 123->125, 136, 159-162, 201, 204, 210, 226, 233, 264->269, 267, 270, 273->277, 310, 321-324, 351-354, 384, 388, 429, 453, 455, 462
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     133     78     88     15    38%   30, 99, 103, 114-130, 140, 143-158, 162, 166-167, 173-198, 207-217, 220-227, 229->234, 235, 240-280, 283
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153     12     85      6    91%   60, 68->49, 122, 179, 231-239, 335->343, 357->360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     25     20      1    43%   49, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              32      1     14      1    96%   50
nvtabular/framework_utils/torch/models.py                         45      0     28      0   100%
nvtabular/framework_utils/torch/utils.py                          75      4     30      2    94%   64, 118-120
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    131    128     13    57%   80-84, 138-188, 233-277, 308, 334-342, 350-357, 376, 398-414, 455-459, 497-507, 531-553, 557-624, 633->636, 636->632, 665-675, 684, 694, 715, 722, 728->731, 732
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87      3     58      4    95%   32-33, 84
nvtabular/inference/triton/model.py                              160    160     80      0     0%   27-307
nvtabular/inference/triton/model_config_pb2.py                   299      0      2      0   100%
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57      6     20      5    86%   22-23, 99, 103->107, 108, 110, 124
nvtabular/io/dask.py                                             183      8     72     11    93%   111, 114, 150, 398, 408, 425->428, 436, 440->442, 442->438, 447, 449
nvtabular/io/dataframe_engine.py                                  61      5     28      6    88%   19-20, 50, 69, 88->92, 92->97, 94->97, 97->116, 125
nvtabular/io/dataset.py                                          320     43    150     28    84%   44-45, 246, 248, 261, 270, 288-302, 405->475, 410-413, 418->428, 423-424, 435->433, 449->453, 464, 475->484, 534->538, 581, 703, 705, 707, 713, 717-719, 721, 781-782, 809, 816-817, 823, 829, 924-925, 1041-1046, 1052, 1117
nvtabular/io/dataset_engine.py                                    23      1      0      0    96%   45
nvtabular/io/hugectr.py                                           45      2     24      2    91%   34, 74->97, 101
nvtabular/io/parquet.py                                          492     23    156     14    94%   33-34, 92-100, 124->126, 213-215, 338-343, 381-386, 502->509, 570->575, 576-577, 697, 701, 705, 711, 743, 760, 764, 771->773, 881->exit, 891->896, 901->911, 916, 938
nvtabular/io/shuffle.py                                           31      6     16      5    77%   42, 44-45, 49, 59, 63
nvtabular/io/writer.py                                           175     13     68      5    92%   24-25, 51, 79, 125, 128, 212, 221, 224, 267, 288-290
nvtabular/io/writer_factory.py                                    18      2      8      2    85%   35, 60
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327     12    138      9    95%   142-143, 233->235, 245-249, 295-296, 335->339, 410, 414-415, 445, 550, 558
nvtabular/loader/tensorflow.py                                   155     22     50      7    85%   57, 65-68, 78, 88, 296, 332, 347-349, 378-380, 390-398, 401-404
nvtabular/loader/tf_utils.py                                      55     10     20      5    80%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70
nvtabular/loader/torch.py                                         81     13     16      2    78%   25-27, 30-36, 111, 149-150
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        32     10     18      3    62%   52-54, 58, 61-64, 83-86
nvtabular/ops/categorify.py                                      579     67    323     47    85%   230, 232, 247, 251, 259, 267, 269, 296, 315-316, 334, 345->350, 353-360, 441-442, 462-463, 539->541, 635, 653, 687, 750->753, 754-756, 763-764, 779-783, 784->748, 802, 810, 817->exit, 840, 843->846, 878, 883, 899->903, 910-913, 924, 928, 930, 937, 942-945, 1023, 1025, 1054->1077, 1060->1077, 1078-1083, 1120, 1138->1143, 1142, 1152->1149, 1157->1149, 1165, 1173-1183
nvtabular/ops/clip.py                                             18      2      6      3    79%   43, 51->53, 54
nvtabular/ops/column_similarity.py                               103     24     36      5    72%   19-20, 76->exit, 106, 178-179, 188-190, 198-214, 231->234, 235, 245
nvtabular/ops/data_stats.py                                       56      2     22      3    94%   91->93, 95, 97->87, 102
nvtabular/ops/difference_lag.py                                   25      0      8      1    97%   66->68
nvtabular/ops/dropna.py                                            8      0      0      0   100%
nvtabular/ops/fill.py                                             63      6     22      1    89%   62-66, 101, 127
nvtabular/ops/filter.py                                           20      1      6      1    92%   49
nvtabular/ops/groupby.py                                          92      4     56      6    92%   71, 80, 82, 92->94, 104->109, 180
nvtabular/ops/hash_bucket.py                                      29      2     18      2    87%   69, 99
nvtabular/ops/hashed_cross.py                                     28      3     13      3    85%   50, 63, 80
nvtabular/ops/join_external.py                                    89      7     38      6    90%   20-21, 113, 115, 117, 159, 176->178, 212
nvtabular/ops/join_groupby.py                                     87      6     32      3    92%   93, 110, 114->113, 198-199, 202-203
nvtabular/ops/lambdaop.py                                         39      6     18      6    79%   59, 63, 77, 89, 94, 103
nvtabular/ops/list_slice.py                                       63     24     26      1    56%   21-22, 52-53, 100-114, 122-133
nvtabular/ops/logop.py                                             8      0      0      0   100%
nvtabular/ops/moments.py                                          65      0     20      0   100%
nvtabular/ops/normalize.py                                        71      8     14      1    87%   69, 77-78, 111-112, 134-135, 139
nvtabular/ops/operator.py                                         27      0      0      0   100%
nvtabular/ops/rename.py                                           23      3     14      3    84%   45, 66-68
nvtabular/ops/stat_operator.py                                     8      0      0      0   100%
nvtabular/ops/target_encoding.py                                 146     11     64      5    90%   147, 167->171, 175->184, 229-230, 233-234, 243-249, 340->343
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236      1     62      1    99%   323
nvtabular/tools/dataset_inspector.py                              50      7     18      1    79%   32-39
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     43     46      8    52%   31-32, 36-37, 50, 61-62, 64-66, 69, 72, 78, 84, 90-126, 145, 149->153
nvtabular/worker.py                                               82      5     38      7    90%   24-25, 82->99, 91, 92->99, 99->102, 108, 110, 111->113
nvtabular/workflow/__init__.py                                     2      0      0      0   100%
nvtabular/workflow/node.py                                       171     23     80      5    84%   53, 87, 106, 146, 170-183, 234, 316-321
nvtabular/workflow/workflow.py                                   164     13     77      5    92%   28-29, 46, 142, 157-159, 263, 278-279, 297-298, 387
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6480   1114   2582    293    81%
Coverage XML written to file coverage.xml

Required test coverage of 70% reached. Total coverage: 80.60%
=========================== short test summary info ============================
SKIPPED [8] tests/unit/test_io.py:500: could not import 'uavro': No module named 'uavro'
SKIPPED [1] tests/unit/test_tf_dataloader.py:521: not working correctly in ci environment
===== 3 failed, 1164 passed, 9 skipped, 277 warnings in 1006.23s (0:16:46) =====
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins8702903667057755492.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit de23c93a834b31cbf22a9cbf5c96cc90a7c0ed07, no merge conflicts.
Running as SYSTEM
Setting status of de23c93a834b31cbf22a9cbf5c96cc90a7c0ed07 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3139/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse de23c93a834b31cbf22a9cbf5c96cc90a7c0ed07^{commit} # timeout=10
Checking out Revision de23c93a834b31cbf22a9cbf5c96cc90a7c0ed07 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f de23c93a834b31cbf22a9cbf5c96cc90a7c0ed07 # timeout=10
Commit message: "Fix `WorkflowNode.columns` references in Triton code"
 > git rev-list --no-walk 3b53a154946fd4a222c57a6ef53eff8d14fd696e # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins6083616096327026972.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gde23c93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gde23c93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gde23c93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+18.gde23c93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+18.gde23c93 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+18.gde23c93
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+18.gde23c93
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-11 18:55:04.817720: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 18:55:06.190104: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 18:55:06.191180: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 18:55:06.192172: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 18:55:06.192201: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 18:55:06.192248: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 18:55:06.192280: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 18:55:06.192313: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 18:55:06.192344: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 18:55:06.192387: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 18:55:06.192418: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 18:55:06.192454: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 18:55:06.196456: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1176 items

tests/unit/test_column_selector.py ............                          [  1%]
tests/unit/test_column_similarity.py ........................            [  3%]
tests/unit/test_cpu_workflow.py ......                                   [  3%]
tests/unit/test_dask_nvt.py ............................................ [  7%]
.....................................................................    [ 13%]
tests/unit/test_dataloader_backend.py .                                  [ 13%]
tests/unit/test_io.py .................................................. [ 17%]
........................................................................ [ 23%]
........ssssssss..................................................       [ 29%]
tests/unit/test_notebooks.py ......                                      [ 29%]
tests/unit/test_ops.py ................................................. [ 33%]
........................................................................ [ 40%]
........................................................................ [ 46%]
........................................................................ [ 52%]
........................................................................ [ 58%]
........................................................................ [ 64%]
.................................                                        [ 67%]
tests/unit/test_s3.py ..                                                 [ 67%]
tests/unit/test_tf_dataloader.py ....................................... [ 70%]
.................................s                                       [ 73%]
tests/unit/test_tf_feature_columns.py .                                  [ 73%]
tests/unit/test_tf_layers.py ........................................... [ 77%]
...................................                                      [ 80%]
tests/unit/test_tools.py ......................                          [ 82%]
tests/unit/test_torch_dataloader.py .................................... [ 85%]
..............................................                           [ 89%]
tests/unit/test_torch_layers.py .                                        [ 89%]
tests/unit/test_triton_inference.py ..............................       [ 91%]
tests/unit/test_workflow.py ............................................ [ 95%]
................................................                         [ 99%]
tests/unit/test_workflow_node.py ..F                                     [100%]

=================================== FAILURES ===================================
______________________ test_workflow_node_converts_lists _______________________

    def test_workflow_node_converts_lists():
        node = WorkflowNode([])
>       assert node.columns == ColumnSelector([])
E       AttributeError: 'WorkflowNode' object has no attribute 'columns'

tests/unit/test_workflow_node.py:69: AttributeError
--------------------------- Captured stdout teardown ---------------------------
Received signal 15
=============================== warnings summary ===============================
tests/unit/test_io.py: 24 warnings
tests/unit/test_torch_dataloader.py: 54 warnings
tests/unit/test_workflow_node.py: 1 warning
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/node.py:45: FutureWarning: The `["a", "b", "c"] >> ops.Operator` syntax for creating a `ColumnGroup` has been deprecated in NVTabular 21.09 and will be removed in a future version.
    warnings.warn(

tests/unit/test_io.py: 36 warnings
tests/unit/test_workflow.py: 44 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/workflow.py:87: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for execution. Please use the `client` argument to initialize a `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 52 warnings
tests/unit/test_workflow.py: 35 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dask.py:372: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for this write operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 20 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dataset.py:476: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler is being used for this shuffle operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_ops.py::test_fill_missing[True-True-parquet]
tests/unit/test_ops.py::test_fill_missing[True-False-parquet]
tests/unit/test_ops.py::test_filter[parquet-0.1-True]
  /usr/local/lib/python3.8/dist-packages/pandas/core/indexing.py:670: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    iloc._setitem_with_indexer(indexer, value)

tests/unit/test_ops.py::test_join_external[True-True-left-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-left-device-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-device-pandas-parquet]
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/ops/join_external.py:171: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    _ext.drop_duplicates(ignore_index=True, inplace=True)

tests/unit/test_ops.py::test_filter[parquet-0.1-True]
tests/unit/test_ops.py::test_filter[parquet-0.1-False]
tests/unit/test_ops.py::test_groupby_op[id-True]
tests/unit/test_ops.py::test_groupby_op[id-False]
  /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg/dask/dataframe/core.py:6610: UserWarning: Insufficient elements for `head`. 1 elements requested, only 0 elements available. Try passing larger `npartitions` to `head`.
    warnings.warn(msg.format(n, len(r)))

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
examples/multi-gpu-movielens/torch_trainer.py                     65      0      6      1    99%   32->36
nvtabular/__init__.py                                             14      0      0      0   100%
nvtabular/column_selector.py                                      62      1     28      0    99%   103
nvtabular/dispatch.py                                            253     45    124     22    81%   35-38, 43-45, 51-61, 68-69, 86, 93, 101, 112, 118, 123->125, 136, 159-162, 201, 204, 210, 226, 233, 264->269, 267, 270, 273->277, 310, 321-324, 351-354, 384, 388, 429, 453, 455, 462
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     133     78     88     15    38%   30, 99, 103, 114-130, 140, 143-158, 162, 166-167, 173-198, 207-217, 220-227, 229->234, 235, 240-280, 283
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153     12     85      6    91%   60, 68->49, 122, 179, 231-239, 335->343, 357->360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     25     20      1    43%   49, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              32      1     14      1    96%   50
nvtabular/framework_utils/torch/models.py                         45      0     28      0   100%
nvtabular/framework_utils/torch/utils.py                          75      4     30      2    94%   64, 118-120
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    131    128     13    57%   80-84, 138-188, 233-277, 308, 334-342, 350-357, 376, 398-414, 455-459, 497-507, 531-553, 557-624, 633->636, 636->632, 665-675, 684, 694, 715, 722, 728->731, 732
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87      3     58      4    95%   32-33, 84
nvtabular/inference/triton/model.py                              161    161     80      0     0%   27-311
nvtabular/inference/triton/model_config_pb2.py                   299      0      2      0   100%
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57      6     20      5    86%   22-23, 99, 103->107, 108, 110, 124
nvtabular/io/dask.py                                             183      8     72     11    93%   111, 114, 150, 398, 408, 425->428, 436, 440->442, 442->438, 447, 449
nvtabular/io/dataframe_engine.py                                  61      5     28      6    88%   19-20, 50, 69, 88->92, 92->97, 94->97, 97->116, 125
nvtabular/io/dataset.py                                          320     43    150     28    84%   44-45, 246, 248, 261, 270, 288-302, 405->475, 410-413, 418->428, 423-424, 435->433, 449->453, 464, 475->484, 534->538, 581, 703, 705, 707, 713, 717-719, 721, 781-782, 809, 816-817, 823, 829, 924-925, 1041-1046, 1052, 1117
nvtabular/io/dataset_engine.py                                    23      1      0      0    96%   45
nvtabular/io/hugectr.py                                           45      2     24      2    91%   34, 74->97, 101
nvtabular/io/parquet.py                                          492     23    156     14    94%   33-34, 92-100, 124->126, 213-215, 338-343, 381-386, 502->509, 570->575, 576-577, 697, 701, 705, 711, 743, 760, 764, 771->773, 881->exit, 891->896, 901->911, 916, 938
nvtabular/io/shuffle.py                                           31      6     16      5    77%   42, 44-45, 49, 59, 63
nvtabular/io/writer.py                                           175     13     68      5    92%   24-25, 51, 79, 125, 128, 212, 221, 224, 267, 288-290
nvtabular/io/writer_factory.py                                    18      2      8      2    85%   35, 60
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327     12    138      9    95%   142-143, 233->235, 245-249, 295-296, 335->339, 410, 414-415, 445, 550, 558
nvtabular/loader/tensorflow.py                                   155     22     50      7    85%   57, 65-68, 78, 88, 296, 332, 347-349, 378-380, 390-398, 401-404
nvtabular/loader/tf_utils.py                                      55     10     20      5    80%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70
nvtabular/loader/torch.py                                         81     13     16      2    78%   25-27, 30-36, 111, 149-150
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        32     10     18      3    62%   52-54, 58, 61-64, 83-86
nvtabular/ops/categorify.py                                      579     67    323     47    85%   230, 232, 247, 251, 259, 267, 269, 296, 315-316, 334, 345->350, 353-360, 441-442, 462-463, 539->541, 635, 653, 687, 750->753, 754-756, 763-764, 779-783, 784->748, 802, 810, 817->exit, 840, 843->846, 878, 883, 899->903, 910-913, 924, 928, 930, 937, 942-945, 1023, 1025, 1054->1077, 1060->1077, 1078-1083, 1120, 1138->1143, 1142, 1152->1149, 1157->1149, 1165, 1173-1183
nvtabular/ops/clip.py                                             18      2      6      3    79%   43, 51->53, 54
nvtabular/ops/column_similarity.py                               103     24     36      5    72%   19-20, 76->exit, 106, 178-179, 188-190, 198-214, 231->234, 235, 245
nvtabular/ops/data_stats.py                                       56      2     22      3    94%   91->93, 95, 97->87, 102
nvtabular/ops/difference_lag.py                                   25      0      8      1    97%   66->68
nvtabular/ops/dropna.py                                            8      0      0      0   100%
nvtabular/ops/fill.py                                             63      6     22      1    89%   62-66, 101, 127
nvtabular/ops/filter.py                                           20      1      6      1    92%   49
nvtabular/ops/groupby.py                                          92      4     56      6    92%   71, 80, 82, 92->94, 104->109, 180
nvtabular/ops/hash_bucket.py                                      29      2     18      2    87%   69, 99
nvtabular/ops/hashed_cross.py                                     28      3     13      3    85%   50, 63, 80
nvtabular/ops/join_external.py                                    89      7     38      6    90%   20-21, 113, 115, 117, 159, 176->178, 212
nvtabular/ops/join_groupby.py                                     87      6     32      3    92%   93, 110, 114->113, 198-199, 202-203
nvtabular/ops/lambdaop.py                                         39      6     18      6    79%   59, 63, 77, 89, 94, 103
nvtabular/ops/list_slice.py                                       63     24     26      1    56%   21-22, 52-53, 100-114, 122-133
nvtabular/ops/logop.py                                             8      0      0      0   100%
nvtabular/ops/moments.py                                          65      0     20      0   100%
nvtabular/ops/normalize.py                                        71      8     14      1    87%   69, 77-78, 111-112, 134-135, 139
nvtabular/ops/operator.py                                         27      0      0      0   100%
nvtabular/ops/rename.py                                           23      3     14      3    84%   45, 66-68
nvtabular/ops/stat_operator.py                                     8      0      0      0   100%
nvtabular/ops/target_encoding.py                                 146     11     64      5    90%   147, 167->171, 175->184, 229-230, 233-234, 243-249, 340->343
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236      1     62      1    99%   323
nvtabular/tools/dataset_inspector.py                              50      7     18      1    79%   32-39
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     43     46      8    52%   31-32, 36-37, 50, 61-62, 64-66, 69, 72, 78, 84, 90-126, 145, 149->153
nvtabular/worker.py                                               82      5     38      7    90%   24-25, 82->99, 91, 92->99, 99->102, 108, 110, 111->113
nvtabular/workflow/__init__.py                                     2      0      0      0   100%
nvtabular/workflow/node.py                                       171     23     80      5    84%   53, 87, 106, 146, 170-183, 234, 316-321
nvtabular/workflow/workflow.py                                   164     13     77      5    92%   28-29, 46, 142, 157-159, 263, 278-279, 297-298, 387
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6481   1115   2582    293    81%
Coverage XML written to file coverage.xml

Required test coverage of 70% reached. Total coverage: 80.59%
=========================== short test summary info ============================
SKIPPED [8] tests/unit/test_io.py:500: could not import 'uavro': No module named 'uavro'
SKIPPED [1] tests/unit/test_tf_dataloader.py:521: not working correctly in ci environment
===== 1 failed, 1166 passed, 9 skipped, 277 warnings in 1001.70s (0:16:41) =====
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins4820158142741680673.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 22ab5ef5eb3dc60421ea35e4449af11c8c54dc09, no merge conflicts.
Running as SYSTEM
Setting status of 22ab5ef5eb3dc60421ea35e4449af11c8c54dc09 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3140/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 22ab5ef5eb3dc60421ea35e4449af11c8c54dc09^{commit} # timeout=10
Checking out Revision 22ab5ef5eb3dc60421ea35e4449af11c8c54dc09 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 22ab5ef5eb3dc60421ea35e4449af11c8c54dc09 # timeout=10
Commit message: "Merge branch 'main' into refactor/rename-column-group"
 > git rev-list --no-walk de23c93a834b31cbf22a9cbf5c96cc90a7c0ed07 # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins2247627500050071397.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+22.g22ab5ef -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+22.g22ab5ef -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+22.g22ab5ef -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+22.g22ab5ef -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+22.g22ab5ef is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+22.g22ab5ef
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+22.g22ab5ef
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-11 19:14:27.018787: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 19:14:28.392975: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 19:14:28.394069: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 19:14:28.395060: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 19:14:28.395090: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 19:14:28.395139: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 19:14:28.395173: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 19:14:28.395206: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 19:14:28.395239: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 19:14:28.395285: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 19:14:28.395315: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 19:14:28.395353: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 19:14:28.399176: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1176 items

tests/unit/test_column_selector.py ............                          [  1%]
tests/unit/test_column_similarity.py ........................            [  3%]
tests/unit/test_cpu_workflow.py ......                                   [  3%]
tests/unit/test_dask_nvt.py ............................................ [  7%]
.....................................................................    [ 13%]
tests/unit/test_dataloader_backend.py .                                  [ 13%]
tests/unit/test_io.py .................................................. [ 17%]
........................................................................ [ 23%]
........ssssssss..................................................       [ 29%]
tests/unit/test_notebooks.py ......                                      [ 29%]
tests/unit/test_ops.py ................................................. [ 33%]
........................................................................ [ 40%]
........................................................................ [ 46%]
........................................................................ [ 52%]
........................................................................ [ 58%]
........................................................................ [ 64%]
.................................                                        [ 67%]
tests/unit/test_s3.py ..                                                 [ 67%]
tests/unit/test_tf_dataloader.py ....................................... [ 70%]
.................................s                                       [ 73%]
tests/unit/test_tf_feature_columns.py .                                  [ 73%]
tests/unit/test_tf_layers.py ........................................... [ 77%]
...................................                                      [ 80%]
tests/unit/test_tools.py ......................                          [ 82%]
tests/unit/test_torch_dataloader.py .................................... [ 85%]
..............................................                           [ 89%]
tests/unit/test_torch_layers.py .                                        [ 89%]
tests/unit/test_triton_inference.py ..............................       [ 91%]
tests/unit/test_workflow.py ............................................ [ 95%]
................................................                         [ 99%]
tests/unit/test_workflow_node.py ..F                                     [100%]

=================================== FAILURES ===================================
______________________ test_workflow_node_converts_lists _______________________

    def test_workflow_node_converts_lists():
        node = WorkflowNode([])
>       assert node.columns == ColumnSelector([])
E       AttributeError: 'WorkflowNode' object has no attribute 'columns'

tests/unit/test_workflow_node.py:69: AttributeError
--------------------------- Captured stdout teardown ---------------------------
Received signal 15
=============================== warnings summary ===============================
tests/unit/test_io.py: 24 warnings
tests/unit/test_torch_dataloader.py: 54 warnings
tests/unit/test_workflow_node.py: 1 warning
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/node.py:45: FutureWarning: The `["a", "b", "c"] >> ops.Operator` syntax for creating a `ColumnGroup` has been deprecated in NVTabular 21.09 and will be removed in a future version.
    warnings.warn(

tests/unit/test_io.py: 36 warnings
tests/unit/test_workflow.py: 44 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/workflow.py:87: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for execution. Please use the `client` argument to initialize a `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 52 warnings
tests/unit/test_workflow.py: 35 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dask.py:372: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for this write operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 20 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dataset.py:476: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler is being used for this shuffle operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_ops.py::test_fill_missing[True-True-parquet]
tests/unit/test_ops.py::test_fill_missing[True-False-parquet]
tests/unit/test_ops.py::test_filter[parquet-0.1-True]
  /usr/local/lib/python3.8/dist-packages/pandas/core/indexing.py:670: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    iloc._setitem_with_indexer(indexer, value)

tests/unit/test_ops.py::test_join_external[True-True-left-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-left-device-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-device-pandas-parquet]
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/ops/join_external.py:171: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    _ext.drop_duplicates(ignore_index=True, inplace=True)

tests/unit/test_ops.py::test_filter[parquet-0.1-True]
tests/unit/test_ops.py::test_filter[parquet-0.1-False]
tests/unit/test_ops.py::test_groupby_op[id-True]
tests/unit/test_ops.py::test_groupby_op[id-False]
  /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg/dask/dataframe/core.py:6610: UserWarning: Insufficient elements for `head`. 1 elements requested, only 0 elements available. Try passing larger `npartitions` to `head`.
    warnings.warn(msg.format(n, len(r)))

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
examples/multi-gpu-movielens/torch_trainer.py                     65      0      6      1    99%   32->36
nvtabular/__init__.py                                             14      0      0      0   100%
nvtabular/column_selector.py                                      62      1     28      0    99%   103
nvtabular/dispatch.py                                            253     45    124     22    81%   35-38, 43-45, 51-61, 68-69, 86, 93, 101, 112, 118, 123->125, 136, 159-162, 201, 204, 210, 226, 233, 264->269, 267, 270, 273->277, 310, 321-324, 351-354, 384, 388, 429, 453, 455, 462
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     133     78     88     15    38%   30, 99, 103, 114-130, 140, 143-158, 162, 166-167, 173-198, 207-217, 220-227, 229->234, 235, 240-280, 283
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153     12     85      6    91%   60, 68->49, 122, 179, 231-239, 335->343, 357->360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     25     20      1    43%   49, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              32      1     14      1    96%   50
nvtabular/framework_utils/torch/models.py                         45      0     28      0   100%
nvtabular/framework_utils/torch/utils.py                          75      4     30      2    94%   64, 118-120
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    131    128     13    57%   80-84, 138-188, 233-277, 308, 334-342, 350-357, 376, 398-414, 455-459, 497-507, 531-553, 557-624, 633->636, 636->632, 665-675, 684, 694, 715, 722, 728->731, 732
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87      3     58      4    95%   32-33, 84
nvtabular/inference/triton/model.py                              161    161     80      0     0%   27-311
nvtabular/inference/triton/model_config_pb2.py                   299      0      2      0   100%
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57      6     20      5    86%   22-23, 99, 103->107, 108, 110, 124
nvtabular/io/dask.py                                             183      8     72     11    93%   111, 114, 150, 398, 408, 425->428, 436, 440->442, 442->438, 447, 449
nvtabular/io/dataframe_engine.py                                  61      5     28      6    88%   19-20, 50, 69, 88->92, 92->97, 94->97, 97->116, 125
nvtabular/io/dataset.py                                          320     43    150     28    84%   44-45, 246, 248, 261, 270, 288-302, 405->475, 410-413, 418->428, 423-424, 435->433, 449->453, 464, 475->484, 534->538, 581, 703, 705, 707, 713, 717-719, 721, 781-782, 809, 816-817, 823, 829, 924-925, 1041-1046, 1052, 1117
nvtabular/io/dataset_engine.py                                    23      1      0      0    96%   45
nvtabular/io/hugectr.py                                           45      2     24      2    91%   34, 74->97, 101
nvtabular/io/parquet.py                                          492     23    156     14    94%   33-34, 92-100, 124->126, 213-215, 338-343, 381-386, 502->509, 570->575, 576-577, 697, 701, 705, 711, 743, 760, 764, 771->773, 881->exit, 891->896, 901->911, 916, 938
nvtabular/io/shuffle.py                                           31      6     16      5    77%   42, 44-45, 49, 59, 63
nvtabular/io/writer.py                                           175     13     68      5    92%   24-25, 51, 79, 125, 128, 212, 221, 224, 267, 288-290
nvtabular/io/writer_factory.py                                    18      2      8      2    85%   35, 60
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327     12    138      9    95%   142-143, 233->235, 245-249, 295-296, 335->339, 410, 414-415, 445, 550, 558
nvtabular/loader/tensorflow.py                                   155     22     50      7    85%   57, 65-68, 78, 88, 296, 332, 347-349, 378-380, 390-398, 401-404
nvtabular/loader/tf_utils.py                                      55     10     20      5    80%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70
nvtabular/loader/torch.py                                         81     13     16      2    78%   25-27, 30-36, 111, 149-150
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        32     10     18      3    62%   52-54, 58, 61-64, 83-86
nvtabular/ops/categorify.py                                      579     67    323     47    85%   230, 232, 247, 251, 259, 267, 269, 296, 315-316, 334, 345->350, 353-360, 441-442, 462-463, 539->541, 635, 653, 687, 750->753, 754-756, 763-764, 779-783, 784->748, 802, 810, 817->exit, 840, 843->846, 878, 883, 899->903, 910-913, 924, 928, 930, 937, 942-945, 1023, 1025, 1054->1077, 1060->1077, 1078-1083, 1120, 1138->1143, 1142, 1152->1149, 1157->1149, 1165, 1173-1183
nvtabular/ops/clip.py                                             18      2      6      3    79%   43, 51->53, 54
nvtabular/ops/column_similarity.py                               103     24     36      5    72%   19-20, 76->exit, 106, 178-179, 188-190, 198-214, 231->234, 235, 245
nvtabular/ops/data_stats.py                                       56      2     22      3    94%   91->93, 95, 97->87, 102
nvtabular/ops/difference_lag.py                                   25      0      8      1    97%   66->68
nvtabular/ops/dropna.py                                            8      0      0      0   100%
nvtabular/ops/fill.py                                             63      6     22      1    89%   62-66, 101, 127
nvtabular/ops/filter.py                                           20      1      6      1    92%   49
nvtabular/ops/groupby.py                                          92      4     56      6    92%   71, 80, 82, 92->94, 104->109, 180
nvtabular/ops/hash_bucket.py                                      29      2     18      2    87%   69, 99
nvtabular/ops/hashed_cross.py                                     28      3     13      3    85%   50, 63, 80
nvtabular/ops/join_external.py                                    89      7     38      6    90%   20-21, 113, 115, 117, 159, 176->178, 212
nvtabular/ops/join_groupby.py                                     87      6     32      3    92%   93, 110, 114->113, 198-199, 202-203
nvtabular/ops/lambdaop.py                                         39      6     18      6    79%   59, 63, 77, 89, 94, 103
nvtabular/ops/list_slice.py                                       63     24     26      1    56%   21-22, 52-53, 100-114, 122-133
nvtabular/ops/logop.py                                             8      0      0      0   100%
nvtabular/ops/moments.py                                          65      0     20      0   100%
nvtabular/ops/normalize.py                                        71      8     14      1    87%   69, 77-78, 111-112, 134-135, 139
nvtabular/ops/operator.py                                         27      0      0      0   100%
nvtabular/ops/rename.py                                           23      3     14      3    84%   45, 66-68
nvtabular/ops/stat_operator.py                                     8      0      0      0   100%
nvtabular/ops/target_encoding.py                                 146     11     64      5    90%   147, 167->171, 175->184, 229-230, 233-234, 243-249, 340->343
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236      1     62      1    99%   323
nvtabular/tools/dataset_inspector.py                              50      7     18      1    79%   32-39
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     43     46      8    52%   31-32, 36-37, 50, 61-62, 64-66, 69, 72, 78, 84, 90-126, 145, 149->153
nvtabular/worker.py                                               82      5     38      7    90%   24-25, 82->99, 91, 92->99, 99->102, 108, 110, 111->113
nvtabular/workflow/__init__.py                                     2      0      0      0   100%
nvtabular/workflow/node.py                                       171     23     80      5    84%   53, 87, 106, 146, 170-183, 234, 316-321
nvtabular/workflow/workflow.py                                   164     13     77      5    92%   28-29, 46, 142, 157-159, 263, 278-279, 297-298, 387
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6481   1115   2582    293    81%
Coverage XML written to file coverage.xml

Required test coverage of 70% reached. Total coverage: 80.59%
=========================== short test summary info ============================
SKIPPED [8] tests/unit/test_io.py:500: could not import 'uavro': No module named 'uavro'
SKIPPED [1] tests/unit/test_tf_dataloader.py:521: not working correctly in ci environment
===== 1 failed, 1166 passed, 9 skipped, 277 warnings in 999.18s (0:16:39) ======
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins8874604682593557782.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 8a292fb6ae9b6696fd2b8bb2c643dc9a1f1f06b6, no merge conflicts.
Running as SYSTEM
Setting status of 8a292fb6ae9b6696fd2b8bb2c643dc9a1f1f06b6 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3142/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 8a292fb6ae9b6696fd2b8bb2c643dc9a1f1f06b6^{commit} # timeout=10
Checking out Revision 8a292fb6ae9b6696fd2b8bb2c643dc9a1f1f06b6 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 8a292fb6ae9b6696fd2b8bb2c643dc9a1f1f06b6 # timeout=10
Commit message: "Fix reference to `columns` in `WorkflowNode` tests"
 > git rev-list --no-walk 586db8a0066556c5dba1e84125bbc436c10dab00 # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins166566389850828330.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g8a292fb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g8a292fb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g8a292fb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+23.g8a292fb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+23.g8a292fb is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+23.g8a292fb
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+23.g8a292fb
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-11 20:33:55.897839: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 20:33:57.272798: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 20:33:57.274121: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 20:33:57.275353: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 20:33:57.275393: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 20:33:57.275458: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 20:33:57.275507: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 20:33:57.275558: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 20:33:57.275611: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 20:33:57.275680: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 20:33:57.275728: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 20:33:57.275783: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 20:33:57.280515: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1176 items

tests/unit/test_column_selector.py ............                          [  1%]
tests/unit/test_column_similarity.py ........................            [  3%]
tests/unit/test_cpu_workflow.py ......                                   [  3%]
tests/unit/test_dask_nvt.py ............................................ [  7%]
.....................................................................    [ 13%]
tests/unit/test_dataloader_backend.py .                                  [ 13%]
tests/unit/test_io.py .................................................. [ 17%]
........................................................................ [ 23%]
........ssssssss..................................................       [ 29%]
tests/unit/test_notebooks.py ......                                      [ 29%]
tests/unit/test_ops.py ................................................. [ 33%]
........................................................................ [ 40%]
........................................................................ [ 46%]
........................................................................ [ 52%]
........................................................................ [ 58%]
........................................................................ [ 64%]
.................................                                        [ 67%]
tests/unit/test_s3.py ..                                                 [ 67%]
tests/unit/test_tf_dataloader.py ....................................... [ 70%]
.................................s                                       [ 73%]
tests/unit/test_tf_feature_columns.py .                                  [ 73%]
tests/unit/test_tf_layers.py ........................................... [ 77%]
...................................                                      [ 80%]
tests/unit/test_tools.py ......................                          [ 82%]
tests/unit/test_torch_dataloader.py .................................... [ 85%]
..............................................                           [ 89%]
tests/unit/test_torch_layers.py .                                        [ 89%]
tests/unit/test_triton_inference.py ..............................       [ 91%]
tests/unit/test_workflow.py ............................................ [ 95%]
................................................                         [ 99%]
tests/unit/test_workflow_node.py ...                                     [100%]

=============================== warnings summary ===============================
tests/unit/test_io.py: 24 warnings
tests/unit/test_torch_dataloader.py: 54 warnings
tests/unit/test_workflow_node.py: 1 warning
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/node.py:45: FutureWarning: The `["a", "b", "c"] >> ops.Operator` syntax for creating a `ColumnGroup` has been deprecated in NVTabular 21.09 and will be removed in a future version.
    warnings.warn(

tests/unit/test_io.py: 36 warnings
tests/unit/test_workflow.py: 44 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/workflow.py:87: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for execution. Please use the `client` argument to initialize a `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 52 warnings
tests/unit/test_workflow.py: 35 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dask.py:372: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for this write operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 20 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dataset.py:476: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler is being used for this shuffle operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_ops.py::test_fill_missing[True-True-parquet]
tests/unit/test_ops.py::test_fill_missing[True-False-parquet]
tests/unit/test_ops.py::test_filter[parquet-0.1-True]
  /usr/local/lib/python3.8/dist-packages/pandas/core/indexing.py:670: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    iloc._setitem_with_indexer(indexer, value)

tests/unit/test_ops.py::test_join_external[True-True-left-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-left-device-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-device-pandas-parquet]
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/ops/join_external.py:171: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    _ext.drop_duplicates(ignore_index=True, inplace=True)

tests/unit/test_ops.py::test_filter[parquet-0.1-True]
tests/unit/test_ops.py::test_filter[parquet-0.1-False]
tests/unit/test_ops.py::test_groupby_op[id-True]
tests/unit/test_ops.py::test_groupby_op[id-False]
  /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg/dask/dataframe/core.py:6610: UserWarning: Insufficient elements for `head`. 1 elements requested, only 0 elements available. Try passing larger `npartitions` to `head`.
    warnings.warn(msg.format(n, len(r)))

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
examples/multi-gpu-movielens/torch_trainer.py                     65      0      6      1    99%   32->36
nvtabular/__init__.py                                             14      0      0      0   100%
nvtabular/column_selector.py                                      62      1     28      0    99%   103
nvtabular/dispatch.py                                            253     45    124     22    81%   35-38, 43-45, 51-61, 68-69, 86, 93, 101, 112, 118, 123->125, 136, 159-162, 201, 204, 210, 226, 233, 264->269, 267, 270, 273->277, 310, 321-324, 351-354, 384, 388, 429, 453, 455, 462
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     133     78     88     15    38%   30, 99, 103, 114-130, 140, 143-158, 162, 166-167, 173-198, 207-217, 220-227, 229->234, 235, 240-280, 283
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153     12     85      6    91%   60, 68->49, 122, 179, 231-239, 335->343, 357->360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     25     20      1    43%   49, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              32      1     14      1    96%   50
nvtabular/framework_utils/torch/models.py                         45      0     28      0   100%
nvtabular/framework_utils/torch/utils.py                          75      4     30      2    94%   64, 118-120
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    131    128     13    57%   80-84, 138-188, 233-277, 308, 334-342, 350-357, 376, 398-414, 455-459, 497-507, 531-553, 557-624, 633->636, 636->632, 665-675, 684, 694, 715, 722, 728->731, 732
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87      3     58      4    95%   32-33, 84
nvtabular/inference/triton/model.py                              161    161     80      0     0%   27-311
nvtabular/inference/triton/model_config_pb2.py                   299      0      2      0   100%
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57      6     20      5    86%   22-23, 99, 103->107, 108, 110, 124
nvtabular/io/dask.py                                             183      8     72     11    93%   111, 114, 150, 398, 408, 425->428, 436, 440->442, 442->438, 447, 449
nvtabular/io/dataframe_engine.py                                  61      5     28      6    88%   19-20, 50, 69, 88->92, 92->97, 94->97, 97->116, 125
nvtabular/io/dataset.py                                          320     43    150     28    84%   44-45, 246, 248, 261, 270, 288-302, 405->475, 410-413, 418->428, 423-424, 435->433, 449->453, 464, 475->484, 534->538, 581, 703, 705, 707, 713, 717-719, 721, 781-782, 809, 816-817, 823, 829, 924-925, 1041-1046, 1052, 1117
nvtabular/io/dataset_engine.py                                    23      1      0      0    96%   45
nvtabular/io/hugectr.py                                           45      2     24      2    91%   34, 74->97, 101
nvtabular/io/parquet.py                                          492     23    156     14    94%   33-34, 92-100, 124->126, 213-215, 338-343, 381-386, 502->509, 570->575, 576-577, 697, 701, 705, 711, 743, 760, 764, 771->773, 881->exit, 891->896, 901->911, 916, 938
nvtabular/io/shuffle.py                                           31      6     16      5    77%   42, 44-45, 49, 59, 63
nvtabular/io/writer.py                                           175     13     68      5    92%   24-25, 51, 79, 125, 128, 212, 221, 224, 267, 288-290
nvtabular/io/writer_factory.py                                    18      2      8      2    85%   35, 60
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327     12    138      9    95%   142-143, 233->235, 245-249, 295-296, 335->339, 410, 414-415, 445, 550, 558
nvtabular/loader/tensorflow.py                                   155     22     50      7    85%   57, 65-68, 78, 88, 296, 332, 347-349, 378-380, 390-398, 401-404
nvtabular/loader/tf_utils.py                                      55     10     20      5    80%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70
nvtabular/loader/torch.py                                         81     13     16      2    78%   25-27, 30-36, 111, 149-150
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        32     10     18      3    62%   52-54, 58, 61-64, 83-86
nvtabular/ops/categorify.py                                      579     67    323     47    85%   230, 232, 247, 251, 259, 267, 269, 296, 315-316, 334, 345->350, 353-360, 441-442, 462-463, 539->541, 635, 653, 687, 750->753, 754-756, 763-764, 779-783, 784->748, 802, 810, 817->exit, 840, 843->846, 878, 883, 899->903, 910-913, 924, 928, 930, 937, 942-945, 1023, 1025, 1054->1077, 1060->1077, 1078-1083, 1120, 1138->1143, 1142, 1152->1149, 1157->1149, 1165, 1173-1183
nvtabular/ops/clip.py                                             18      2      6      3    79%   43, 51->53, 54
nvtabular/ops/column_similarity.py                               103     24     36      5    72%   19-20, 76->exit, 106, 178-179, 188-190, 198-214, 231->234, 235, 245
nvtabular/ops/data_stats.py                                       56      2     22      3    94%   91->93, 95, 97->87, 102
nvtabular/ops/difference_lag.py                                   25      0      8      1    97%   66->68
nvtabular/ops/dropna.py                                            8      0      0      0   100%
nvtabular/ops/fill.py                                             63      6     22      1    89%   62-66, 101, 127
nvtabular/ops/filter.py                                           20      1      6      1    92%   49
nvtabular/ops/groupby.py                                          92      4     56      6    92%   71, 80, 82, 92->94, 104->109, 180
nvtabular/ops/hash_bucket.py                                      29      2     18      2    87%   69, 99
nvtabular/ops/hashed_cross.py                                     28      3     13      3    85%   50, 63, 80
nvtabular/ops/join_external.py                                    89      7     38      6    90%   20-21, 113, 115, 117, 159, 176->178, 212
nvtabular/ops/join_groupby.py                                     87      6     32      3    92%   93, 110, 114->113, 198-199, 202-203
nvtabular/ops/lambdaop.py                                         39      6     18      6    79%   59, 63, 77, 89, 94, 103
nvtabular/ops/list_slice.py                                       63     24     26      1    56%   21-22, 52-53, 100-114, 122-133
nvtabular/ops/logop.py                                             8      0      0      0   100%
nvtabular/ops/moments.py                                          65      0     20      0   100%
nvtabular/ops/normalize.py                                        71      8     14      1    87%   69, 77-78, 111-112, 134-135, 139
nvtabular/ops/operator.py                                         27      0      0      0   100%
nvtabular/ops/rename.py                                           23      3     14      3    84%   45, 66-68
nvtabular/ops/stat_operator.py                                     8      0      0      0   100%
nvtabular/ops/target_encoding.py                                 146     11     64      5    90%   147, 167->171, 175->184, 229-230, 233-234, 243-249, 340->343
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236      1     62      1    99%   323
nvtabular/tools/dataset_inspector.py                              50      7     18      1    79%   32-39
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     43     46      8    52%   31-32, 36-37, 50, 61-62, 64-66, 69, 72, 78, 84, 90-126, 145, 149->153
nvtabular/worker.py                                               82      5     38      7    90%   24-25, 82->99, 91, 92->99, 99->102, 108, 110, 111->113
nvtabular/workflow/__init__.py                                     2      0      0      0   100%
nvtabular/workflow/node.py                                       171     23     80      5    84%   53, 87, 106, 146, 170-183, 234, 316-321
nvtabular/workflow/workflow.py                                   164     13     77      5    92%   28-29, 46, 142, 157-159, 263, 278-279, 297-298, 387
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6481   1115   2582    293    81%
Coverage XML written to file coverage.xml

Required test coverage of 70% reached. Total coverage: 80.59%
=========================== short test summary info ============================
SKIPPED [8] tests/unit/test_io.py:500: could not import 'uavro': No module named 'uavro'
SKIPPED [1] tests/unit/test_tf_dataloader.py:521: not working correctly in ci environment
========== 1167 passed, 9 skipped, 277 warnings in 1002.32s (0:16:42) ==========
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins8581678837460127317.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #1018 of commit 5a8e7978b1a4f55a7e8e06039c987800acf2428a, no merge conflicts.
Running as SYSTEM
Setting status of 5a8e7978b1a4f55a7e8e06039c987800acf2428a to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3144/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/1018/*:refs/remotes/origin/pr/1018/* # timeout=10
 > git rev-parse 5a8e7978b1a4f55a7e8e06039c987800acf2428a^{commit} # timeout=10
Checking out Revision 5a8e7978b1a4f55a7e8e06039c987800acf2428a (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 5a8e7978b1a4f55a7e8e06039c987800acf2428a # timeout=10
Commit message: "Fix a few uses of `WorkflowNode` instead of `ColumnSelector`"
 > git rev-list --no-walk 84d9f170f0fa9e734ec406b3accc4ad0851ea2ba # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins5863813606506162067.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.3)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /var/jenkins_home/.local/lib/python3.8/site-packages (0.37.0)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+24.g5a8e797 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+24.g5a8e797 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+24.g5a8e797 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.6.0+24.g5a8e797 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.6.0+24.g5a8e797 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.6.0+24.g5a8e797
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.6.0+24.g5a8e797
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:466:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:66:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-11 21:12:39.796463: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 21:12:41.165596: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-11 21:12:41.166863: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 21:12:41.168032: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-11 21:12:41.168066: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-11 21:12:41.168119: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-11 21:12:41.168158: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-11 21:12:41.168197: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-11 21:12:41.168233: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-11 21:12:41.168284: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-11 21:12:41.168321: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-11 21:12:41.168363: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-11 21:12:41.172894: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1176 items

tests/unit/test_column_selector.py ............                          [  1%]
tests/unit/test_column_similarity.py ........................            [  3%]
tests/unit/test_cpu_workflow.py ......                                   [  3%]
tests/unit/test_dask_nvt.py ............................................ [  7%]
.....................................................................    [ 13%]
tests/unit/test_dataloader_backend.py .                                  [ 13%]
tests/unit/test_io.py .................................................. [ 17%]
........................................................................ [ 23%]
........ssssssss..................................................       [ 29%]
tests/unit/test_notebooks.py ......                                      [ 29%]
tests/unit/test_ops.py ................................................. [ 33%]
........................................................................ [ 40%]
........................................................................ [ 46%]
........................................................................ [ 52%]
........................................................................ [ 58%]
........................................................................ [ 64%]
.................................                                        [ 67%]
tests/unit/test_s3.py ..                                                 [ 67%]
tests/unit/test_tf_dataloader.py ....................................... [ 70%]
.................................s                                       [ 73%]
tests/unit/test_tf_feature_columns.py .                                  [ 73%]
tests/unit/test_tf_layers.py ........................................... [ 77%]
...................................                                      [ 80%]
tests/unit/test_tools.py ......................                          [ 82%]
tests/unit/test_torch_dataloader.py .................................... [ 85%]
..............................................                           [ 89%]
tests/unit/test_torch_layers.py .                                        [ 89%]
tests/unit/test_triton_inference.py ..............................       [ 91%]
tests/unit/test_workflow.py ............................................ [ 95%]
................................................                         [ 99%]
tests/unit/test_workflow_node.py ...                                     [100%]

=============================== warnings summary ===============================
tests/unit/test_io.py: 24 warnings
tests/unit/test_torch_dataloader.py: 54 warnings
tests/unit/test_workflow_node.py: 1 warning
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/node.py:45: FutureWarning: The `["a", "b", "c"] >> ops.Operator` syntax for creating a `ColumnGroup` has been deprecated in NVTabular 21.09 and will be removed in a future version.
    warnings.warn(

tests/unit/test_io.py: 36 warnings
tests/unit/test_workflow.py: 44 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/workflow/workflow.py:87: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for execution. Please use the `client` argument to initialize a `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 52 warnings
tests/unit/test_workflow.py: 35 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dask.py:372: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler will be used for this write operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_io.py: 20 warnings
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/io/dataset.py:476: UserWarning: A global dask.distributed client has been detected, but the single-threaded scheduler is being used for this shuffle operation. Please use the `client` argument to initialize a `Dataset` and/or `Workflow` object with distributed-execution enabled.
    warnings.warn(

tests/unit/test_ops.py::test_fill_missing[True-True-parquet]
tests/unit/test_ops.py::test_fill_missing[True-False-parquet]
tests/unit/test_ops.py::test_filter[parquet-0.1-True]
  /usr/local/lib/python3.8/dist-packages/pandas/core/indexing.py:670: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    iloc._setitem_with_indexer(indexer, value)

tests/unit/test_ops.py::test_join_external[True-True-left-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-left-device-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-host-pandas-parquet]
tests/unit/test_ops.py::test_join_external[True-True-inner-device-pandas-parquet]
  /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/ops/join_external.py:171: SettingWithCopyWarning: 
  A value is trying to be set on a copy of a slice from a DataFrame
  
  See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
    _ext.drop_duplicates(ignore_index=True, inplace=True)

tests/unit/test_ops.py::test_filter[parquet-0.1-True]
tests/unit/test_ops.py::test_filter[parquet-0.1-False]
tests/unit/test_ops.py::test_groupby_op[id-True]
tests/unit/test_ops.py::test_groupby_op[id-False]
  /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg/dask/dataframe/core.py:6610: UserWarning: Insufficient elements for `head`. 1 elements requested, only 0 elements available. Try passing larger `npartitions` to `head`.
    warnings.warn(msg.format(n, len(r)))

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
examples/multi-gpu-movielens/torch_trainer.py                     65      0      6      1    99%   32->36
nvtabular/__init__.py                                             14      0      0      0   100%
nvtabular/column_selector.py                                      62      1     28      0    99%   103
nvtabular/dispatch.py                                            253     45    124     22    81%   35-38, 43-45, 51-61, 68-69, 86, 93, 101, 112, 118, 123->125, 136, 159-162, 201, 204, 210, 226, 233, 264->269, 267, 270, 273->277, 310, 321-324, 351-354, 384, 388, 429, 453, 455, 462
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     133     78     88     15    38%   30, 99, 103, 114-130, 140, 143-158, 162, 166-167, 173-198, 207-217, 220-227, 229->234, 235, 240-280, 283
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153     12     85      6    91%   60, 68->49, 122, 179, 231-239, 335->343, 357->360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     25     20      1    43%   49, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              32      1     14      1    96%   50
nvtabular/framework_utils/torch/models.py                         45      0     28      0   100%
nvtabular/framework_utils/torch/utils.py                          75      4     30      2    94%   64, 118-120
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    131    128     13    57%   80-84, 138-188, 233-277, 308, 334-342, 350-357, 376, 398-414, 455-459, 497-507, 531-553, 557-624, 633->636, 636->632, 665-675, 684, 694, 715, 722, 728->731, 732
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87      3     58      4    95%   32-33, 84
nvtabular/inference/triton/model.py                              161    161     80      0     0%   27-311
nvtabular/inference/triton/model_config_pb2.py                   299      0      2      0   100%
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57      6     20      5    86%   22-23, 99, 103->107, 108, 110, 124
nvtabular/io/dask.py                                             183      8     72     11    93%   111, 114, 150, 398, 408, 425->428, 436, 440->442, 442->438, 447, 449
nvtabular/io/dataframe_engine.py                                  61      5     28      6    88%   19-20, 50, 69, 88->92, 92->97, 94->97, 97->116, 125
nvtabular/io/dataset.py                                          320     43    150     28    84%   44-45, 246, 248, 261, 270, 288-302, 405->475, 410-413, 418->428, 423-424, 435->433, 449->453, 464, 475->484, 534->538, 581, 703, 705, 707, 713, 717-719, 721, 781-782, 809, 816-817, 823, 829, 924-925, 1041-1046, 1052, 1117
nvtabular/io/dataset_engine.py                                    23      1      0      0    96%   45
nvtabular/io/hugectr.py                                           45      2     24      2    91%   34, 74->97, 101
nvtabular/io/parquet.py                                          492     23    156     14    94%   33-34, 92-100, 124->126, 213-215, 338-343, 381-386, 502->509, 570->575, 576-577, 697, 701, 705, 711, 743, 760, 764, 771->773, 881->exit, 891->896, 901->911, 916, 938
nvtabular/io/shuffle.py                                           31      6     16      5    77%   42, 44-45, 49, 59, 63
nvtabular/io/writer.py                                           175     13     68      5    92%   24-25, 51, 79, 125, 128, 212, 221, 224, 267, 288-290
nvtabular/io/writer_factory.py                                    18      2      8      2    85%   35, 60
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327     12    138      9    95%   142-143, 233->235, 245-249, 295-296, 335->339, 410, 414-415, 445, 550, 558
nvtabular/loader/tensorflow.py                                   155     22     50      7    85%   57, 65-68, 78, 88, 296, 332, 347-349, 378-380, 390-398, 401-404
nvtabular/loader/tf_utils.py                                      55     10     20      5    80%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70
nvtabular/loader/torch.py                                         81     13     16      2    78%   25-27, 30-36, 111, 149-150
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        32     10     18      3    62%   52-54, 58, 61-64, 83-86
nvtabular/ops/categorify.py                                      579     67    323     47    85%   230, 232, 247, 251, 259, 267, 269, 296, 315-316, 334, 345->350, 353-360, 441-442, 462-463, 539->541, 635, 653, 687, 750->753, 754-756, 763-764, 779-783, 784->748, 802, 810, 817->exit, 840, 843->846, 878, 883, 899->903, 910-913, 924, 928, 930, 937, 942-945, 1023, 1025, 1054->1077, 1060->1077, 1078-1083, 1120, 1138->1143, 1142, 1152->1149, 1157->1149, 1165, 1173-1183
nvtabular/ops/clip.py                                             18      2      6      3    79%   43, 51->53, 54
nvtabular/ops/column_similarity.py                               103     24     36      5    72%   19-20, 76->exit, 106, 178-179, 188-190, 198-214, 231->234, 235, 245
nvtabular/ops/data_stats.py                                       56      2     22      3    94%   91->93, 95, 97->87, 102
nvtabular/ops/difference_lag.py                                   25      0      8      1    97%   66->68
nvtabular/ops/dropna.py                                            8      0      0      0   100%
nvtabular/ops/fill.py                                             63      6     22      1    89%   62-66, 101, 127
nvtabular/ops/filter.py                                           20      1      6      1    92%   49
nvtabular/ops/groupby.py                                          92      4     56      6    92%   71, 80, 82, 92->94, 104->109, 180
nvtabular/ops/hash_bucket.py                                      29      2     18      2    87%   69, 99
nvtabular/ops/hashed_cross.py                                     28      3     13      3    85%   50, 63, 80
nvtabular/ops/join_external.py                                    89      7     38      6    90%   20-21, 113, 115, 117, 159, 176->178, 212
nvtabular/ops/join_groupby.py                                     87      6     32      3    92%   93, 110, 114->113, 198-199, 202-203
nvtabular/ops/lambdaop.py                                         39      6     18      6    79%   59, 63, 77, 89, 94, 103
nvtabular/ops/list_slice.py                                       63     24     26      1    56%   21-22, 52-53, 100-114, 122-133
nvtabular/ops/logop.py                                             8      0      0      0   100%
nvtabular/ops/moments.py                                          65      0     20      0   100%
nvtabular/ops/normalize.py                                        71      8     14      1    87%   69, 77-78, 111-112, 134-135, 139
nvtabular/ops/operator.py                                         27      0      0      0   100%
nvtabular/ops/rename.py                                           23      3     14      3    84%   45, 66-68
nvtabular/ops/stat_operator.py                                     8      0      0      0   100%
nvtabular/ops/target_encoding.py                                 146     11     64      5    90%   147, 167->171, 175->184, 229-230, 233-234, 243-249, 340->343
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236      1     62      1    99%   323
nvtabular/tools/dataset_inspector.py                              50      7     18      1    79%   32-39
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     43     46      8    52%   31-32, 36-37, 50, 61-62, 64-66, 69, 72, 78, 84, 90-126, 145, 149->153
nvtabular/worker.py                                               82      5     38      7    90%   24-25, 82->99, 91, 92->99, 99->102, 108, 110, 111->113
nvtabular/workflow/__init__.py                                     2      0      0      0   100%
nvtabular/workflow/node.py                                       171     23     80      5    84%   53, 87, 106, 146, 170-183, 234, 316-321
nvtabular/workflow/workflow.py                                   164     13     77      5    92%   28-29, 46, 142, 157-159, 263, 278-279, 297-298, 387
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6481   1115   2582    293    81%
Coverage XML written to file coverage.xml

Required test coverage of 70% reached. Total coverage: 80.59%
=========================== short test summary info ============================
SKIPPED [8] tests/unit/test_io.py:500: could not import 'uavro': No module named 'uavro'
SKIPPED [1] tests/unit/test_tf_dataloader.py:521: not working correctly in ci environment
========== 1167 passed, 9 skipped, 277 warnings in 996.73s (0:16:36) ===========
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins8729350314824696462.sh
</pre></details>
@karlhigley - Thanks for getting this ready so quickly!  I will reserve time tomorrow morning to give a careful review.  Before then, I would like to suggest that we allow  people to continue using the `ColumnGroup` name  for tne next release, but raise a deprecation warning.  It seems like we can assume that the user wants `ColumnSelector([...])` when they use `ColumnGroup([...])`?

Feel free to push back on this if my understanding is incorrect, or if you already covered this somewhere.
@rjzamora We're actually working through a backlog of open PRs that depend on each other, so they're gonna keep coming one right after the other once I adjust them for feedback on the previous PRs. 😅 (The next one in this series is #1020.)

I did add [an alias](https://github.com/NVIDIA/NVTabular/pull/1018/files#diff-74446f303fc21b288745569a3696843a64f071e8865ee3e0aeefebfde0a022b8R32-R34) that makes `ColumnGroup` just another name for `ColumnSelector`, but I haven't figured out how to handle the deprecation warning. I guess `ColumnGroup` could be a sub-class of `ColumnSelector` whose `__init__` method raises the deprecation warning and then delegates everything else?
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit c88cc74539ac3bca140d99dce44bd973f8cef391, no merge conflicts.
Running as SYSTEM
Setting status of c88cc74539ac3bca140d99dce44bd973f8cef391 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/2977/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse c88cc74539ac3bca140d99dce44bd973f8cef391^{commit} # timeout=10
Checking out Revision c88cc74539ac3bca140d99dce44bd973f8cef391 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f c88cc74539ac3bca140d99dce44bd973f8cef391 # timeout=10
Commit message: "test_ops are all passing now"
 > git rev-list --no-walk 9fab801e0c02f90a29e557d14b1702ae0621c457 # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins1218527646991838735.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+69.gc88cc74 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+69.gc88cc74 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+69.gc88cc74 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+69.gc88cc74 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+69.gc88cc74 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+69.gc88cc74
Searching for dm-tree
Reading https://pypi.org/simple/dm-tree/
Downloading https://files.pythonhosted.org/packages/9c/60/43ee30dc849c42cb8e314cabb0dc3109d563573eee9c86c292eae04179cd/dm_tree-0.1.6-cp38-cp38-manylinux2014_x86_64.whl#sha256=f3bec40e658fe7546c3a56849c743ac9a498e620b3236e82e171801938a56679
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-cp38-cp38-manylinux2014_x86_64.whl
Installing dm_tree-0.1.6-cp38-cp38-manylinux2014_x86_64.whl to /var/jenkins_home/.local/lib/python3.8/site-packages
Adding dm-tree 0.1.6 to easy-install.pth file

Installed /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tdqm==0.0.1
Best match: tdqm 0.0.1
Adding tdqm 0.0.1 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+69.gc88cc74
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:473:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-07-26 15:49:57.480185: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-26 15:49:58.835992: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-07-26 15:49:58.837079: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-26 15:49:58.838083: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-26 15:49:58.838117: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-26 15:49:58.838164: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-07-26 15:49:58.838199: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-07-26 15:49:58.838236: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-07-26 15:49:58.838270: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-07-26 15:49:58.838319: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-07-26 15:49:58.838354: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-07-26 15:49:58.838394: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-07-26 15:49:58.842201: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import class 'column_similarity.ColumnSimilarity' from module 'nvtabular.ops'; the following exception was raised:
cannot import name 'ColumnNames' from 'nvtabular.ops.base' (/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs/./../nvtabular/ops/base.py)
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins7634949002789243225.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit b2ffc729956fceb147954de5207c5a85e66d7d15, has merge conflicts.
Running as SYSTEM
Setting status of b2ffc729956fceb147954de5207c5a85e66d7d15 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/2987/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse b2ffc729956fceb147954de5207c5a85e66d7d15^{commit} # timeout=10
Checking out Revision b2ffc729956fceb147954de5207c5a85e66d7d15 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f b2ffc729956fceb147954de5207c5a85e66d7d15 # timeout=10
Commit message: "Update nvtabular/ops/categorify.py"
 > git rev-list --no-walk 0bd5e9e1ba90204e4c593c56d6372799a05f357a # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins7521397227438696359.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+70.gb2ffc72 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+70.gb2ffc72 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+70.gb2ffc72 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+70.gb2ffc72 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+70.gb2ffc72 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+70.gb2ffc72
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tdqm==0.0.1
Best match: tdqm 0.0.1
Adding tdqm 0.0.1 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+70.gb2ffc72
Running black --check
would reformat /var/jenkins_home/workspace/nvtabular_tests/nvtabular/nvtabular/ops/categorify.py
Oh no! 💥 💔 💥
1 file would be reformatted, 111 files would be left unchanged.
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins5716423718037867983.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit 7c31882a6319fd9890eac5d288c2861cae143a8c, has merge conflicts.
Running as SYSTEM
!!! PR mergeability status has changed !!!  
PR now has NO merge conflicts
Setting status of 7c31882a6319fd9890eac5d288c2861cae143a8c to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3009/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse 7c31882a6319fd9890eac5d288c2861cae143a8c^{commit} # timeout=10
Checking out Revision 7c31882a6319fd9890eac5d288c2861cae143a8c (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 7c31882a6319fd9890eac5d288c2861cae143a8c # timeout=10
Commit message: "Apply changes from code formatter"
 > git rev-list --no-walk dded19f784d55b5aaf91e25ee3767b759af667bb # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins9012078583382874110.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+71.g7c31882 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+71.g7c31882 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+71.g7c31882 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+71.g7c31882 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+71.g7c31882 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+71.g7c31882
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tdqm==0.0.1
Best match: tdqm 0.0.1
Adding tdqm 0.0.1 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+71.g7c31882
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:467:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-07-27 22:59:08.554588: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-27 22:59:09.941574: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-07-27 22:59:09.942850: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-27 22:59:09.944031: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-27 22:59:09.944064: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-27 22:59:09.944115: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-07-27 22:59:09.944151: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-07-27 22:59:09.944191: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-07-27 22:59:09.944227: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-07-27 22:59:09.944279: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-07-27 22:59:09.944318: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-07-27 22:59:09.944361: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-07-27 22:59:09.948883: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import class 'column_similarity.ColumnSimilarity' from module 'nvtabular.ops'; the following exception was raised:
cannot import name 'ColumnNames' from 'nvtabular.ops.base' (/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs/./../nvtabular/ops/base.py)
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins2228172598984031835.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit bbf9e9372b0d69142e1e2e94ae4c3e759c7e23de, no merge conflicts.
Running as SYSTEM
Setting status of bbf9e9372b0d69142e1e2e94ae4c3e759c7e23de to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3010/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse bbf9e9372b0d69142e1e2e94ae4c3e759c7e23de^{commit} # timeout=10
Checking out Revision bbf9e9372b0d69142e1e2e94ae4c3e759c7e23de (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f bbf9e9372b0d69142e1e2e94ae4c3e759c7e23de # timeout=10
Commit message: "Resolve conflict with main"
 > git rev-list --no-walk 7c31882a6319fd9890eac5d288c2861cae143a8c # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins443184558226095691.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+78.gbbf9e93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+78.gbbf9e93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+78.gbbf9e93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+78.gbbf9e93 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+78.gbbf9e93 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+78.gbbf9e93
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+78.gbbf9e93
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:467:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-07-27 23:01:40.424027: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-27 23:01:41.809664: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-07-27 23:01:41.810752: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-27 23:01:41.811757: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-27 23:01:41.811787: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-27 23:01:41.811835: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-07-27 23:01:41.811868: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-07-27 23:01:41.811902: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-07-27 23:01:41.811932: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-07-27 23:01:41.811978: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-07-27 23:01:41.812009: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-07-27 23:01:41.812046: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-07-27 23:01:41.815832: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import class 'column_similarity.ColumnSimilarity' from module 'nvtabular.ops'; the following exception was raised:
cannot import name 'ColumnNames' from 'nvtabular.ops.base' (/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs/./../nvtabular/ops/base.py)
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins7327907357956346267.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit cb1f7ea9c4f29df4ea988c2f8d80feac6718578f, no merge conflicts.
Running as SYSTEM
Setting status of cb1f7ea9c4f29df4ea988c2f8d80feac6718578f to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3011/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse cb1f7ea9c4f29df4ea988c2f8d80feac6718578f^{commit} # timeout=10
Checking out Revision cb1f7ea9c4f29df4ea988c2f8d80feac6718578f (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f cb1f7ea9c4f29df4ea988c2f8d80feac6718578f # timeout=10
Commit message: "Fix `Columns` import in `ops/column_similarity.py`"
 > git rev-list --no-walk bbf9e9372b0d69142e1e2e94ae4c3e759c7e23de # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins8124196177829661129.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+79.gcb1f7ea -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+79.gcb1f7ea -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+79.gcb1f7ea -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+79.gcb1f7ea -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+79.gcb1f7ea is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+79.gcb1f7ea
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+79.gcb1f7ea
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:467:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-07-27 23:04:13.623714: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-27 23:04:15.004934: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-07-27 23:04:15.006228: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-27 23:04:15.007430: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-27 23:04:15.007473: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-27 23:04:15.007536: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-07-27 23:04:15.007586: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-07-27 23:04:15.007645: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-07-27 23:04:15.007694: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-07-27 23:04:15.007758: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-07-27 23:04:15.007808: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-07-27 23:04:15.007864: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-07-27 23:04:15.012440: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import class 'operator.Operator' from module 'nvtabular.ops'; the following exception was raised:
No module named 'nvtabular.ops.operator'
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins2091549096775411585.sh
</pre></details>
>     * I think we can merge the Columns class and the ColumnGroup class

I thought this too at first, but `Columns` (soon to be `ColumnSchemas`) is an expanded version of `ColumnNames`, not a conceptual parallel to `ColumnGroup` (which also has the responsibility of being a graph node in addition to collecting information about a set of columns.) I don't think we want to be passing around graph nodes into `Operators` to identify sets of columns, which would create the very weird situation where a `ColumnGroup` (node/set of columns) has an `Operator` that takes a `ColumnGroup` (set of columns/node.)

Recall also that you mentioned that you probably used `ColumnNames` instead of `ColumnGroup` in the `Operator` public methods due to the circular dependency between `Operator` and `ColumnGroup`. If we merged `Columns` and `ColumnGroup`, we'd end up exacerbating the circular dependency.

As much as I'd like to avoid having to make deeper changes to the library, this particular aspect of the code is deceptively difficult to wrangle. I'm hoping that the combination of renaming `Column` to `ColumnSchema` and `Columns` to `ColumnSchemas` will make it clearer what's going on and help us think through this. Pretty sure we're going to need to introduce a new concept somewhere in here to make it work though (possibly by splitting or clarifying the `ColumnGroup` class.)

>     * Instead of adding methods like ‘categorical_columns’ to the column_group, I think we can just use a generic select function.  We're going to allow user defined tags , so we can't have an exhaustive list of functions anyways - and it won't be all that much  more verbose

See also my [PR on Transformers4Rec](https://github.com/NVIDIA-Merlin/Transformers4Rec/pull/77) which slims down the `ColumnGroup` API and addresses the query method conundrum.



(I made a few schema-related renames and removed some extraneous changes in the preceding commits.)
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit dab2ac6894b8629d6b5f697b6efbbdead93f76c9, no merge conflicts.
Running as SYSTEM
Setting status of dab2ac6894b8629d6b5f697b6efbbdead93f76c9 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3030/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse dab2ac6894b8629d6b5f697b6efbbdead93f76c9^{commit} # timeout=10
Checking out Revision dab2ac6894b8629d6b5f697b6efbbdead93f76c9 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f dab2ac6894b8629d6b5f697b6efbbdead93f76c9 # timeout=10
Commit message: "Rename `Column` and `Columns` to `ColumnSchema` and `ColumnSchemas`"
 > git rev-list --no-walk 7f6523961359e92f85293e4345d7378105081203 # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins3003375762986747797.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+80.gdab2ac6 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+80.gdab2ac6 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+80.gdab2ac6 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+80.gdab2ac6 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+80.gdab2ac6 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+80.gdab2ac6
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+80.gdab2ac6
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:469:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-07-28 21:29:52.317109: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-28 21:29:55.026305: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-07-28 21:29:55.027611: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-28 21:29:55.028897: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-28 21:29:55.028984: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-28 21:29:55.029083: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-07-28 21:29:55.029148: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-07-28 21:29:55.029208: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-07-28 21:29:55.029269: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-07-28 21:29:55.029357: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-07-28 21:29:55.029421: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-07-28 21:29:55.029497: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-07-28 21:29:55.034189: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import class 'operator.Operator' from module 'nvtabular.ops'; the following exception was raised:
No module named 'nvtabular.ops.operator'
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins3508792554865729819.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e, no merge conflicts.
Running as SYSTEM
Setting status of ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3031/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e^{commit} # timeout=10
Checking out Revision ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e # timeout=10
Commit message: "Move `Operator` back to `operator.py` (for now)"
 > git rev-list --no-walk dab2ac6894b8629d6b5f697b6efbbdead93f76c9 # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins5588867393818801821.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+81.gac7c67f is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+81.gac7c67f
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+81.gac7c67f
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:469:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-07-28 21:35:19.116431: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-28 21:35:21.713666: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-07-28 21:35:21.715158: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-28 21:35:21.716522: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-07-28 21:35:21.716649: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-07-28 21:35:21.716772: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-07-28 21:35:21.716857: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-07-28 21:35:21.716995: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-07-28 21:35:21.717077: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-07-28 21:35:21.717187: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-07-28 21:35:21.717271: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-07-28 21:35:21.717369: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-07-28 21:35:21.722393: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1128 items / 2 errors / 1126 selected

==================================== ERRORS ====================================
________________ ERROR collecting tests/unit/test_notebooks.py _________________
ImportError while importing test module '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_notebooks.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/test_notebooks.py:29: in <module>
    from tests.unit.test_triton_inference import TRITON_SERVER_PATH, run_triton_server
tests/unit/test_triton_inference.py:15: in <module>
    from nvtabular.ops.base import Supports
E   ModuleNotFoundError: No module named 'nvtabular.ops.base'
_____________ ERROR collecting tests/unit/test_triton_inference.py _____________
ImportError while importing test module '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_triton_inference.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/test_triton_inference.py:15: in <module>
    from nvtabular.ops.base import Supports
E   ModuleNotFoundError: No module named 'nvtabular.ops.base'

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
nvtabular/__init__.py                                             12      0      0      0   100%
nvtabular/column.py                                               50     24     22      0    39%   18-19, 22, 25-32, 35, 38-42, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75
nvtabular/column_group.py                                        279    213    137      0    16%   48-85, 89, 102-131, 134, 147-163, 180-193, 208-218, 221-226, 229, 232-256, 259-264, 267, 270, 273, 276, 279, 282, 285, 288, 291, 294, 297, 300, 303, 306, 309, 312, 315-329, 332-334, 342, 346, 350-351, 358-359, 368-375, 379, 383, 387-390, 394-397, 401, 405, 409-415, 420-438, 444-472, 476-485
nvtabular/dispatch.py                                            251    187    122      1    17%   35-38, 43-45, 51-61, 68-69, 86, 92-94, 100-102, 108, 112, 116-130, 135-138, 143-146, 151-154, 159-162, 167-178, 183-186, 191-194, 199-203, 207-210, 215-218, 223-231, 235, 242-247, 259-275, 282-297, 306-314, 319-322, 326-329, 333-343, 347-356, 361-387, 399-431, 443-446, 450-455, 459-461
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     132    124     88      0     4%   27-31, 68-284
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153    130     85      0    10%   27, 31-32, 38-39, 48-75, 79-93, 103-115, 119-124, 173-185, 188-211, 214-228, 231-239, 242, 249-265, 307-311, 314-344, 347-360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     39     20      0    12%   48-52, 55-71, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              30     23     12      0    17%   36-43, 46-51, 71-79, 82-92
nvtabular/framework_utils/torch/models.py                         45     40     28      0     7%   52-82, 85-110
nvtabular/framework_utils/torch/utils.py                          75     66     30      0     9%   22, 25-33, 42-44, 47-55, 58-76, 106-140
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    298    128      0     0%   16-733
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87     87     58      0     0%   27-150
nvtabular/inference/triton/model.py                              144    144     76      0     0%   27-280
nvtabular/inference/triton/model_config_pb2.py                   299    299      2      0     0%   4-2888
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57     38     20      0    25%   22-23, 40-48, 53-60, 65-76, 79, 82, 98-126
nvtabular/io/dask.py                                             183    154     72      0    11%   48-50, 53-55, 73-97, 102-129, 148-169, 188-210, 216-229, 235-246, 268-383, 388-418, 422-428, 435-450
nvtabular/io/dataframe_engine.py                                  61     47     28      0    16%   19-20, 36-38, 42-51, 54-58, 61-65, 69, 73-125
nvtabular/io/dataset.py                                          306    248    138      0    14%   44-45, 214-302, 325-351, 355, 359, 362-367, 370-371, 398-484, 499, 531-538, 580-601, 699-829, 906-918, 936, 940, 971-979, 1027-1039, 1046-1047, 1059-1064, 1069-1072, 1075-1083, 1086-1092
nvtabular/io/dataset_engine.py                                    23      9      0      0    61%   25-32, 45
nvtabular/io/hugectr.py                                           45     35     24      0    14%   26-41, 45-58, 62-70, 73-98, 101
nvtabular/io/parquet.py                                          492    393    156      0    15%   33-34, 72-104, 109-120, 124-126, 130-132, 138, 144-190, 195-217, 228, 231, 282-428, 485-634, 640-662, 668-679, 684-692, 697, 701, 705, 708-715, 719-729, 733-739, 743, 747-755, 760, 764, 767-774, 779-782, 786, 789, 792-793, 796-797, 803-806, 809-815, 820-822, 826, 829, 835-838, 841-851, 856-864, 867-869, 875-878, 881-886, 891-896, 901-911, 916, 921, 928-938, 942-945
nvtabular/io/shuffle.py                                           31     20     16      0    23%   37-50, 56-66
nvtabular/io/writer.py                                           173    135     66      0    16%   24-25, 51, 72-116, 119-122, 125, 128, 133-156, 163-185, 195-209, 213-221, 228-233, 236-257, 261-276, 280, 283-285, 288-304
nvtabular/io/writer_factory.py                                    18     13      8      0    19%   34-38, 53-63
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327    275    138      0    11%   30, 53-60, 63, 67, 71, 74, 78-85, 92-104, 107-132, 135-143, 147-151, 154, 158-165, 191-215, 218-221, 225-227, 232-240, 244-253, 256-259, 262-267, 270-287, 290, 293-297, 312-339, 342-423, 431-434, 441-450, 481-487, 495-529, 532-559
nvtabular/loader/tensorflow.py                                   155    117     50      0    19%   39-71, 75-88, 224-253, 261-262, 270, 278-280, 292-296, 299, 306, 310, 314, 317-323, 326-328, 331-363, 372-382, 386, 390-398, 401-404, 407-411, 414-419, 427-428, 431-444
nvtabular/loader/tf_utils.py                                      55     27     20      5    44%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70, 85-90, 100-113
nvtabular/loader/torch.py                                         81     52     16      0    30%   25-27, 30-36, 87, 107, 110-112, 115-117, 120-122, 125-127, 130, 133, 137, 141, 145-154, 157, 162-167, 170-175, 178-179, 190, 193
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        33     23     18      0    20%   49-68, 72-88
nvtabular/ops/categorify.py                                      575    497    327      0     9%   220-283, 290-327, 330-331, 334, 337-362, 365, 380-381, 385-444, 447-455, 458, 464-469, 484, 504-537, 541-563, 567, 571, 626-695, 700-769, 773-778, 783-822, 827-892, 896, 900-989, 994-1004, 1022-1111, 1115-1120, 1124-1136, 1140-1143, 1147-1161, 1166-1177
nvtabular/ops/clip.py                                             19     11      6      0    32%   43-47, 51-56
nvtabular/ops/column_similarity.py                               106     76     38      0    21%   21-22, 70-76, 79-86, 90-112, 117, 120, 146-175, 184-185, 194-196, 204-220, 229-254, 258-261, 265-266
nvtabular/ops/data_stats.py                                       57     40     22      0    22%   29-33, 36, 40-78, 81-100, 103
nvtabular/ops/difference_lag.py                                   29     16      8      0    35%   57-59, 65-74, 79, 82, 85, 88
nvtabular/ops/dropna.py                                            9      3      0      0    67%   40-42
nvtabular/ops/fill.py                                             64     39     22      0    29%   45-48, 52-59, 63-67, 72-75, 95-97, 101-108, 113-114, 118-121, 128, 131-134
nvtabular/ops/filter.py                                           21     12      6      0    33%   41-44, 48-57
nvtabular/ops/groupby.py                                         115     96     68      0    10%   67-99, 105-123, 129-135, 138-164, 169-174, 180-194, 201-204, 209-212, 217-220, 225, 231-238, 244-251
nvtabular/ops/hash_bucket.py                                      30     19     18      0    23%   65-75, 79-90, 95-100
nvtabular/ops/hashed_cross.py                                     29     18     13      0    26%   49-53, 57-68, 73, 78-81
nvtabular/ops/join_external.py                                    90     73     38      0    13%   20-21, 100-117, 122-178, 181-185, 188-196, 201-203, 207-218
nvtabular/ops/join_groupby.py                                     85     64     30      0    18%   89-107, 110-138, 141-142, 145-174, 177, 182-192, 195-196, 199-200
nvtabular/ops/lambdaop.py                                         40     28     18      0    21%   58-66, 70-79, 84, 89-104
nvtabular/ops/list_slice.py                                       64     48     26      0    18%   21-22, 47-56, 60-91, 100-114, 122-133
nvtabular/ops/logop.py                                             9      1      0      0    89%   38
nvtabular/ops/moments.py                                          65     54     20      0    13%   29-61, 65-76, 80-85, 89-115
nvtabular/ops/normalize.py                                        73     39     14      0    39%   44-46, 50, 53-55, 59-67, 71, 79-80, 100-102, 108-116, 122, 129-133, 136-137, 141
nvtabular/ops/operator.py                                         53     27     18      1    38%   27, 78, 89, 92-94, 98, 103, 110, 123-140, 143, 146
nvtabular/ops/rename.py                                           24     16     12      0    22%   45-50, 53-54, 59-69
nvtabular/ops/stat_operator.py                                     9      0      0      0   100%
nvtabular/ops/target_encoding.py                                 147    123     64      0    11%   141-163, 166-205, 208-211, 214, 217-225, 228-229, 232-233, 236-237, 241-320, 324-352, 362-371
nvtabular/tag.py                                                  43      7      6      0    73%   49, 53-58
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236    191     62      0    15%   34-35, 38, 43, 46-58, 61, 71-73, 80-89, 99-125, 128-134, 139-147, 150-157, 164-172, 180-196, 205-235, 239-263, 267-285, 288-294, 298-300, 306-317, 320-323, 331-333, 349-355, 373-381, 386-388, 426-440
nvtabular/tools/dataset_inspector.py                              49     39     18      0    15%   29-38, 47, 67-108
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     63     46      7    31%   31-32, 36-37, 46, 50, 59-62, 64-66, 69, 72, 78, 84, 90-126, 143-159, 165-170
nvtabular/worker.py                                               82     67     38      0    12%   24-25, 40-41, 50-63, 73-116, 124-141
nvtabular/workflow.py                                            161    124     77      1    16%   28-29, 45, 78-86, 109-111, 127-180, 195-196, 207-233, 251-288, 292, 295-296, 299-300, 304-307, 311-337, 345, 350, 355-396
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6576   5261   2643     15    14%
Coverage XML written to file coverage.xml

FAIL Required test coverage of 70% not reached. Total coverage: 14.49%
!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!
============================== 2 errors in 12.66s ==============================
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins5134604378619478900.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit cbdd8cb113a8bcc553bedf98d0ae391354bbb20a, no merge conflicts.
Running as SYSTEM
Setting status of cbdd8cb113a8bcc553bedf98d0ae391354bbb20a to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3034/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse cbdd8cb113a8bcc553bedf98d0ae391354bbb20a^{commit} # timeout=10
Checking out Revision cbdd8cb113a8bcc553bedf98d0ae391354bbb20a (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f cbdd8cb113a8bcc553bedf98d0ae391354bbb20a # timeout=10
Commit message: "Rename `ColumnGroup` to `GraphNode`"
 > git rev-list --no-walk de7ce4d914ee5fcc27a70f2e8dbc976563f9817f # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins5027087915036608006.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+82.gcbdd8cb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+82.gcbdd8cb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+82.gcbdd8cb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+82.gcbdd8cb -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+82.gcbdd8cb is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+82.gcbdd8cb
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+82.gcbdd8cb
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:469:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import module 'column_group' from module 'nvtabular'; the following exception was raised:
No module named 'nvtabular.graph_node'
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins6796964614176219851.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit 28b46237b18d10957217c1e57fea92007db644a9, has merge conflicts.
Running as SYSTEM
Setting status of 28b46237b18d10957217c1e57fea92007db644a9 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3035/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse 28b46237b18d10957217c1e57fea92007db644a9^{commit} # timeout=10
Checking out Revision 28b46237b18d10957217c1e57fea92007db644a9 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 28b46237b18d10957217c1e57fea92007db644a9 # timeout=10
Commit message: "More renaming"
 > git rev-list --no-walk cbdd8cb113a8bcc553bedf98d0ae391354bbb20a # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins3310589112377032306.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+83.g28b4623 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+83.g28b4623 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+83.g28b4623 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+83.g28b4623 -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+83.g28b4623 is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+83.g28b4623
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+83.g28b4623
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:469:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))

Warning, treated as error:
autodoc: failed to import module 'column_group' from module 'nvtabular'; the following exception was raised:
No module named 'nvtabular.graph_node'
make: *** [Makefile:20: html] Error 2
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins2281961568309974708.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit f1d134b8b143fb35f85cb0240a605d1f1545acc8, no merge conflicts.
Running as SYSTEM
Setting status of f1d134b8b143fb35f85cb0240a605d1f1545acc8 to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3036/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse f1d134b8b143fb35f85cb0240a605d1f1545acc8^{commit} # timeout=10
Checking out Revision f1d134b8b143fb35f85cb0240a605d1f1545acc8 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f f1d134b8b143fb35f85cb0240a605d1f1545acc8 # timeout=10
Commit message: "Merge branch 'main' into 21.09/column-tagging"
 > git rev-list --no-walk 28b46237b18d10957217c1e57fea92007db644a9 # timeout=10
[nvtabular_tests] $ /bin/bash /tmp/jenkins1350445408815601361.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.1)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.0)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+90.gf1d134b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+90.gf1d134b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+90.gf1d134b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+90.gf1d134b -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+90.gf1d134b is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+90.gf1d134b
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+90.gf1d134b
Running black --check
All done! ✨ 🍰 ✨
113 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
ERROR: /var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/integration/test_nvt_hugectr_training.py Imports are incorrectly sorted and/or formatted.
Skipped 2 files
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins6829992780802054049.sh
</pre></details>
<details><summary>Click to view CI Results</summary><pre>GitHub pull request #990 of commit ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e, no merge conflicts.
Running as SYSTEM
Setting status of ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e to PENDING with url http://10.20.13.93:8080/job/nvtabular_tests/3088/ and message: 'Pending'
Using context: Jenkins Unit Test Run
Building in workspace /var/jenkins_home/workspace/nvtabular_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA/NVTabular.git
 > git init /var/jenkins_home/workspace/nvtabular_tests/nvtabular # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA/NVTabular.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA/NVTabular.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA/NVTabular.git +refs/pull/990/*:refs/remotes/origin/pr/990/* # timeout=10
 > git rev-parse ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e^{commit} # timeout=10
Checking out Revision ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f ac7c67f38d48168ba200ac0fd7bd8fd6dd96351e # timeout=10
Commit message: "Move `Operator` back to `operator.py` (for now)"
 > git rev-list --no-walk 5708e8637c8c05f5ecfcb2ea018ea2b0d6220d18 # timeout=10
First time build. Skipping changelog.
[nvtabular_tests] $ /bin/bash /tmp/jenkins8743758670715344194.sh
Installing NVTabular
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: pip in /var/jenkins_home/.local/lib/python3.8/site-packages (21.2.2)
Requirement already satisfied: setuptools in /var/jenkins_home/.local/lib/python3.8/site-packages (57.4.0)
Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.36.2)
Requirement already satisfied: pybind11 in /var/jenkins_home/.local/lib/python3.8/site-packages (2.7.1)
running develop
running egg_info
creating nvtabular.egg-info
writing nvtabular.egg-info/PKG-INFO
writing dependency_links to nvtabular.egg-info/dependency_links.txt
writing requirements to nvtabular.egg-info/requires.txt
writing top-level names to nvtabular.egg-info/top_level.txt
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'nvtabular.egg-info/SOURCES.txt'
running build_ext
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c flagcheck.cpp -o flagcheck.o -std=c++17
building 'nvtabular_cpp' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/cpp
creating build/temp.linux-x86_64-3.8/cpp/nvtabular
creating build/temp.linux-x86_64-3.8/cpp/nvtabular/inference
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/__init__.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/categorify.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o -std=c++17 -fvisibility=hidden -g0
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DVERSION_INFO=0.5.3+81.gac7c67f -I./cpp/ -I/var/jenkins_home/.local/lib/python3.8/site-packages/pybind11/include -I/usr/include/python3.8 -c cpp/nvtabular/inference/fill.cc -o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -std=c++17 -fvisibility=hidden -g0
creating build/lib.linux-x86_64-3.8
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/cpp/nvtabular/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/__init__.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/categorify.o build/temp.linux-x86_64-3.8/cpp/nvtabular/inference/fill.o -o build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.8/nvtabular_cpp.cpython-38-x86_64-linux-gnu.so -> 
Generating nvtabular/inference/triton/model_config_pb2.py from nvtabular/inference/triton/model_config.proto
Creating /var/jenkins_home/.local/lib/python3.8/site-packages/nvtabular.egg-link (link to .)
nvtabular 0.5.3+81.gac7c67f is already the active version in easy-install.pth

Installed /var/jenkins_home/workspace/nvtabular_tests/nvtabular
Processing dependencies for nvtabular==0.5.3+81.gac7c67f
Searching for pyarrow==1.0.1
Best match: pyarrow 1.0.1
Adding pyarrow 1.0.1 to easy-install.pth file
Installing plasma_store script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for tqdm==4.61.2
Best match: tqdm 4.61.2
Processing tqdm-4.61.2-py3.8.egg
tqdm 4.61.2 is already the active version in easy-install.pth
Installing tqdm script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tqdm-4.61.2-py3.8.egg
Searching for numba==0.53.1
Best match: numba 0.53.1
Adding numba 0.53.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for distributed==2021.4.1
Best match: distributed 2021.4.1
Adding distributed 2021.4.1 to easy-install.pth file
Installing dask-ssh script to /var/jenkins_home/.local/bin
Installing dask-scheduler script to /var/jenkins_home/.local/bin
Installing dask-worker script to /var/jenkins_home/.local/bin

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for dask==2021.4.1
Best match: dask 2021.4.1
Processing dask-2021.4.1-py3.8.egg
dask 2021.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dask-2021.4.1-py3.8.egg
Searching for dm-tree==0.1.6
Best match: dm-tree 0.1.6
Processing dm_tree-0.1.6-py3.8-linux-x86_64.egg
dm-tree 0.1.6 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/dm_tree-0.1.6-py3.8-linux-x86_64.egg
Searching for PyYAML==5.4.1
Best match: PyYAML 5.4.1
Processing PyYAML-5.4.1-py3.8-linux-x86_64.egg
PyYAML 5.4.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/PyYAML-5.4.1-py3.8-linux-x86_64.egg
Searching for numpy==1.20.2
Best match: numpy 1.20.2
Adding numpy 1.20.2 to easy-install.pth file
Installing f2py script to /var/jenkins_home/.local/bin
Installing f2py3 script to /var/jenkins_home/.local/bin
Installing f2py3.8 script to /var/jenkins_home/.local/bin

Using /usr/local/lib/python3.8/dist-packages
Searching for llvmlite==0.36.0
Best match: llvmlite 0.36.0
Adding llvmlite 0.36.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for setuptools==57.4.0
Best match: setuptools 57.4.0
Adding setuptools 57.4.0 to easy-install.pth file

Using /var/jenkins_home/.local/lib/python3.8/site-packages
Searching for pytz==2021.1
Best match: pytz 2021.1
Adding pytz 2021.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for toolz==0.11.1
Best match: toolz 0.11.1
Processing toolz-0.11.1-py3.8.egg
toolz 0.11.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/toolz-0.11.1-py3.8.egg
Searching for psutil==5.8.0
Best match: psutil 5.8.0
Processing psutil-5.8.0-py3.8-linux-x86_64.egg
psutil 5.8.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/psutil-5.8.0-py3.8-linux-x86_64.egg
Searching for sortedcontainers==2.4.0
Best match: sortedcontainers 2.4.0
Processing sortedcontainers-2.4.0-py3.8.egg
sortedcontainers 2.4.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/sortedcontainers-2.4.0-py3.8.egg
Searching for click==8.0.1
Best match: click 8.0.1
Processing click-8.0.1-py3.8.egg
click 8.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/click-8.0.1-py3.8.egg
Searching for cloudpickle==1.6.0
Best match: cloudpickle 1.6.0
Processing cloudpickle-1.6.0-py3.8.egg
cloudpickle 1.6.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/cloudpickle-1.6.0-py3.8.egg
Searching for tblib==1.7.0
Best match: tblib 1.7.0
Processing tblib-1.7.0-py3.8.egg
tblib 1.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tblib-1.7.0-py3.8.egg
Searching for tornado==6.1
Best match: tornado 6.1
Processing tornado-6.1-py3.8-linux-x86_64.egg
tornado 6.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg
Searching for zict==2.0.0
Best match: zict 2.0.0
Processing zict-2.0.0-py3.8.egg
zict 2.0.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/zict-2.0.0-py3.8.egg
Searching for msgpack==1.0.2
Best match: msgpack 1.0.2
Processing msgpack-1.0.2-py3.8-linux-x86_64.egg
msgpack 1.0.2 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/msgpack-1.0.2-py3.8-linux-x86_64.egg
Searching for partd==1.2.0
Best match: partd 1.2.0
Processing partd-1.2.0-py3.8.egg
partd 1.2.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/partd-1.2.0-py3.8.egg
Searching for fsspec==2021.7.0
Best match: fsspec 2021.7.0
Processing fsspec-2021.7.0-py3.8.egg
fsspec 2021.7.0 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/fsspec-2021.7.0-py3.8.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for HeapDict==1.0.1
Best match: HeapDict 1.0.1
Processing HeapDict-1.0.1-py3.8.egg
HeapDict 1.0.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/HeapDict-1.0.1-py3.8.egg
Searching for locket==0.2.1
Best match: locket 0.2.1
Processing locket-0.2.1-py3.8.egg
locket 0.2.1 is already the active version in easy-install.pth

Using /var/jenkins_home/.local/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg
Finished processing dependencies for nvtabular==0.5.3+81.gac7c67f
Running black --check
All done! ✨ 🍰 ✨
112 files would be left unchanged.
Running flake8
Running isort
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/images
  warn(f"Likely recursive symlink detected to {resolved_path}")
/usr/local/lib/python3.8/dist-packages/isort/main.py:141: UserWarning: Likely recursive symlink detected to /var/jenkins_home/workspace/nvtabular_tests/nvtabular/examples/scaling-criteo/imgs
  warn(f"Likely recursive symlink detected to {resolved_path}")
Skipped 2 files
Running bandit
Running pylint
************* Module nvtabular.ops.categorify
nvtabular/ops/categorify.py:469:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module nvtabular.ops.fill
nvtabular/ops/fill.py:67:15: I1101: Module 'nvtabular_cpp' has no 'inference' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
************* Module bench.datasets.tools.train_hugectr
bench/datasets/tools/train_hugectr.py:28:13: I1101: Module 'hugectr' has no 'solver_parser_helper' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)
bench/datasets/tools/train_hugectr.py:41:16: I1101: Module 'hugectr' has no 'optimizer' member, but source is unavailable. Consider adding this module to extension-pkg-allow-list if you want to perform analysis based on run-time introspection of living objects. (c-extension-no-member)

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Running flake8-nb
Building docs
make: Entering directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
2021-08-04 16:07:26.037475: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 16:07:28.608501: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-08-04 16:07:28.609956: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:07:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 16:07:28.611266: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 1 with properties: 
pciBusID: 0000:08:00.0 name: Tesla P100-DGXS-16GB computeCapability: 6.0
coreClock: 1.4805GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s
2021-08-04 16:07:28.611382: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-08-04 16:07:28.611502: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-08-04 16:07:28.611589: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-08-04 16:07:28.611735: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-08-04 16:07:28.611821: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-08-04 16:07:28.611931: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-08-04 16:07:28.612014: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-08-04 16:07:28.612108: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-08-04 16:07:28.617098: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0, 1
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
/usr/local/lib/python3.8/dist-packages/recommonmark/parser.py:75: UserWarning: Container node skipped: type=document
  warn("Container node skipped: type={0}".format(mdnode.t))
make: Leaving directory '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/docs'
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /var/jenkins_home/workspace/nvtabular_tests/nvtabular, configfile: pyproject.toml
plugins: cov-2.12.1, forked-1.3.0, xdist-2.3.0
collected 1128 items / 2 errors / 1126 selected

==================================== ERRORS ====================================
________________ ERROR collecting tests/unit/test_notebooks.py _________________
ImportError while importing test module '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_notebooks.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/test_notebooks.py:29: in <module>
    from tests.unit.test_triton_inference import TRITON_SERVER_PATH, run_triton_server
tests/unit/test_triton_inference.py:15: in <module>
    from nvtabular.ops.base import Supports
E   ModuleNotFoundError: No module named 'nvtabular.ops.base'
_____________ ERROR collecting tests/unit/test_triton_inference.py _____________
ImportError while importing test module '/var/jenkins_home/workspace/nvtabular_tests/nvtabular/tests/unit/test_triton_inference.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/test_triton_inference.py:15: in <module>
    from nvtabular.ops.base import Supports
E   ModuleNotFoundError: No module named 'nvtabular.ops.base'

---------- coverage: platform linux, python 3.8.10-final-0 -----------
Name                                                           Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------------------
nvtabular/__init__.py                                             12      0      0      0   100%
nvtabular/column.py                                               50     24     22      0    39%   18-19, 22, 25-32, 35, 38-42, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75
nvtabular/column_group.py                                        279    213    137      0    16%   48-85, 89, 102-131, 134, 147-163, 180-193, 208-218, 221-226, 229, 232-256, 259-264, 267, 270, 273, 276, 279, 282, 285, 288, 291, 294, 297, 300, 303, 306, 309, 312, 315-329, 332-334, 342, 346, 350-351, 358-359, 368-375, 379, 383, 387-390, 394-397, 401, 405, 409-415, 420-438, 444-472, 476-485
nvtabular/dispatch.py                                            251    187    122      1    17%   35-38, 43-45, 51-61, 68-69, 86, 92-94, 100-102, 108, 112, 116-130, 135-138, 143-146, 151-154, 159-162, 167-178, 183-186, 191-194, 199-203, 207-210, 215-218, 223-231, 235, 242-247, 259-275, 282-297, 306-314, 319-322, 326-329, 333-343, 347-356, 361-387, 399-431, 443-446, 450-455, 459-461
nvtabular/framework_utils/__init__.py                              0      0      0      0   100%
nvtabular/framework_utils/tensorflow/__init__.py                   1      0      0      0   100%
nvtabular/framework_utils/tensorflow/feature_column_utils.py     132    124     88      0     4%   27-31, 68-284
nvtabular/framework_utils/tensorflow/layers/__init__.py            4      0      0      0   100%
nvtabular/framework_utils/tensorflow/layers/embedding.py         153    130     85      0    10%   27, 31-32, 38-39, 48-75, 79-93, 103-115, 119-124, 173-185, 188-211, 214-228, 231-239, 242, 249-265, 307-311, 314-344, 347-360, 363-364, 367
nvtabular/framework_utils/tensorflow/layers/interaction.py        47     39     20      0    12%   48-52, 55-71, 74-103, 106-110, 113
nvtabular/framework_utils/tensorflow/layers/outer_product.py      30     24     10      0    15%   37-38, 41-60, 71-84, 87
nvtabular/framework_utils/torch/__init__.py                        0      0      0      0   100%
nvtabular/framework_utils/torch/layers/__init__.py                 2      0      0      0   100%
nvtabular/framework_utils/torch/layers/embeddings.py              30     23     12      0    17%   36-43, 46-51, 71-79, 82-92
nvtabular/framework_utils/torch/models.py                         45     40     28      0     7%   52-82, 85-110
nvtabular/framework_utils/torch/utils.py                          75     66     30      0     9%   22, 25-33, 42-44, 47-55, 58-76, 106-140
nvtabular/inference/__init__.py                                    0      0      0      0   100%
nvtabular/inference/triton/__init__.py                           298    298    128      0     0%   16-733
nvtabular/inference/triton/benchmarking_tools.py                  52     52     10      0     0%   2-103
nvtabular/inference/triton/data_conversions.py                    87     87     58      0     0%   27-150
nvtabular/inference/triton/model.py                              144    144     76      0     0%   27-280
nvtabular/inference/triton/model_config_pb2.py                   299    299      2      0     0%   4-2888
nvtabular/io/__init__.py                                           4      0      0      0   100%
nvtabular/io/avro.py                                              88     88     30      0     0%   16-189
nvtabular/io/csv.py                                               57     38     20      0    25%   22-23, 40-48, 53-60, 65-76, 79, 82, 98-126
nvtabular/io/dask.py                                             183    154     72      0    11%   48-50, 53-55, 73-97, 102-129, 148-169, 188-210, 216-229, 235-246, 268-383, 388-418, 422-428, 435-450
nvtabular/io/dataframe_engine.py                                  61     47     28      0    16%   19-20, 36-38, 42-51, 54-58, 61-65, 69, 73-125
nvtabular/io/dataset.py                                          306    248    138      0    14%   44-45, 214-302, 325-351, 355, 359, 362-367, 370-371, 398-484, 499, 531-538, 580-601, 699-829, 906-918, 936, 940, 971-979, 1027-1039, 1046-1047, 1059-1064, 1069-1072, 1075-1083, 1086-1092
nvtabular/io/dataset_engine.py                                    23      9      0      0    61%   25-32, 45
nvtabular/io/hugectr.py                                           45     35     24      0    14%   26-41, 45-58, 62-70, 73-98, 101
nvtabular/io/parquet.py                                          492    393    156      0    15%   33-34, 72-104, 109-120, 124-126, 130-132, 138, 144-190, 195-217, 228, 231, 282-428, 485-634, 640-662, 668-679, 684-692, 697, 701, 705, 708-715, 719-729, 733-739, 743, 747-755, 760, 764, 767-774, 779-782, 786, 789, 792-793, 796-797, 803-806, 809-815, 820-822, 826, 829, 835-838, 841-851, 856-864, 867-869, 875-878, 881-886, 891-896, 901-911, 916, 921, 928-938, 942-945
nvtabular/io/shuffle.py                                           31     20     16      0    23%   37-50, 56-66
nvtabular/io/writer.py                                           173    135     66      0    16%   24-25, 51, 72-116, 119-122, 125, 128, 133-156, 163-185, 195-209, 213-221, 228-233, 236-257, 261-276, 280, 283-285, 288-304
nvtabular/io/writer_factory.py                                    18     13      8      0    19%   34-38, 53-63
nvtabular/loader/__init__.py                                       0      0      0      0   100%
nvtabular/loader/backend.py                                      327    275    138      0    11%   30, 53-60, 63, 67, 71, 74, 78-85, 92-104, 107-132, 135-143, 147-151, 154, 158-165, 191-215, 218-221, 225-227, 232-240, 244-253, 256-259, 262-267, 270-287, 290, 293-297, 312-339, 342-423, 431-434, 441-450, 481-487, 495-529, 532-559
nvtabular/loader/tensorflow.py                                   155    117     50      0    19%   39-71, 75-88, 224-253, 261-262, 270, 278-280, 292-296, 299, 306, 310, 314, 317-323, 326-328, 331-363, 372-382, 386, 390-398, 401-404, 407-411, 414-419, 427-428, 431-444
nvtabular/loader/tf_utils.py                                      55     27     20      5    44%   29->32, 32->34, 39->41, 43, 50-51, 58-60, 66-70, 85-90, 100-113
nvtabular/loader/torch.py                                         81     52     16      0    30%   25-27, 30-36, 87, 107, 110-112, 115-117, 120-122, 125-127, 130, 133, 137, 141, 145-154, 157, 162-167, 170-175, 178-179, 190, 193
nvtabular/ops/__init__.py                                         21      0      0      0   100%
nvtabular/ops/bucketize.py                                        33     23     18      0    20%   49-68, 72-88
nvtabular/ops/categorify.py                                      575    497    327      0     9%   220-283, 290-327, 330-331, 334, 337-362, 365, 380-381, 385-444, 447-455, 458, 464-469, 484, 504-537, 541-563, 567, 571, 626-695, 700-769, 773-778, 783-822, 827-892, 896, 900-989, 994-1004, 1022-1111, 1115-1120, 1124-1136, 1140-1143, 1147-1161, 1166-1177
nvtabular/ops/clip.py                                             19     11      6      0    32%   43-47, 51-56
nvtabular/ops/column_similarity.py                               106     76     38      0    21%   21-22, 70-76, 79-86, 90-112, 117, 120, 146-175, 184-185, 194-196, 204-220, 229-254, 258-261, 265-266
nvtabular/ops/data_stats.py                                       57     40     22      0    22%   29-33, 36, 40-78, 81-100, 103
nvtabular/ops/difference_lag.py                                   29     16      8      0    35%   57-59, 65-74, 79, 82, 85, 88
nvtabular/ops/dropna.py                                            9      3      0      0    67%   40-42
nvtabular/ops/fill.py                                             64     39     22      0    29%   45-48, 52-59, 63-67, 72-75, 95-97, 101-108, 113-114, 118-121, 128, 131-134
nvtabular/ops/filter.py                                           21     12      6      0    33%   41-44, 48-57
nvtabular/ops/groupby.py                                         115     96     68      0    10%   67-99, 105-123, 129-135, 138-164, 169-174, 180-194, 201-204, 209-212, 217-220, 225, 231-238, 244-251
nvtabular/ops/hash_bucket.py                                      30     19     18      0    23%   65-75, 79-90, 95-100
nvtabular/ops/hashed_cross.py                                     29     18     13      0    26%   49-53, 57-68, 73, 78-81
nvtabular/ops/join_external.py                                    90     73     38      0    13%   20-21, 100-117, 122-178, 181-185, 188-196, 201-203, 207-218
nvtabular/ops/join_groupby.py                                     85     64     30      0    18%   89-107, 110-138, 141-142, 145-174, 177, 182-192, 195-196, 199-200
nvtabular/ops/lambdaop.py                                         40     28     18      0    21%   58-66, 70-79, 84, 89-104
nvtabular/ops/list_slice.py                                       64     48     26      0    18%   21-22, 47-56, 60-91, 100-114, 122-133
nvtabular/ops/logop.py                                             9      1      0      0    89%   38
nvtabular/ops/moments.py                                          65     54     20      0    13%   29-61, 65-76, 80-85, 89-115
nvtabular/ops/normalize.py                                        73     39     14      0    39%   44-46, 50, 53-55, 59-67, 71, 79-80, 100-102, 108-116, 122, 129-133, 136-137, 141
nvtabular/ops/operator.py                                         53     27     18      1    38%   27, 78, 89, 92-94, 98, 103, 110, 123-140, 143, 146
nvtabular/ops/rename.py                                           24     16     12      0    22%   45-50, 53-54, 59-69
nvtabular/ops/stat_operator.py                                     9      0      0      0   100%
nvtabular/ops/target_encoding.py                                 147    123     64      0    11%   141-163, 166-205, 208-211, 214, 217-225, 228-229, 232-233, 236-237, 241-320, 324-352, 362-371
nvtabular/tag.py                                                  43      7      6      0    73%   49, 53-58
nvtabular/tools/__init__.py                                        0      0      0      0   100%
nvtabular/tools/data_gen.py                                      236    191     62      0    15%   34-35, 38, 43, 46-58, 61, 71-73, 80-89, 99-125, 128-134, 139-147, 150-157, 164-172, 180-196, 205-235, 239-263, 267-285, 288-294, 298-300, 306-317, 320-323, 331-333, 349-355, 373-381, 386-388, 426-440
nvtabular/tools/dataset_inspector.py                              49     39     18      0    15%   29-38, 47, 67-108
nvtabular/tools/inspector_script.py                               46     46      0      0     0%   17-168
nvtabular/utils.py                                               102     63     46      7    31%   31-32, 36-37, 46, 50, 59-62, 64-66, 69, 72, 78, 84, 90-126, 143-159, 165-170
nvtabular/worker.py                                               82     67     38      0    12%   24-25, 40-41, 50-63, 73-116, 124-141
nvtabular/workflow.py                                            161    124     77      1    16%   28-29, 45, 78-86, 109-111, 127-180, 195-196, 207-233, 251-288, 292, 295-296, 299-300, 304-307, 311-337, 345, 350, 355-396
----------------------------------------------------------------------------------------------------------
TOTAL                                                           6576   5261   2643     15    14%
Coverage XML written to file coverage.xml

FAIL Required test coverage of 70% not reached. Total coverage: 14.49%
!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!
============================== 2 errors in 6.02s ===============================
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script  : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA/NVTabular/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" 
[nvtabular_tests] $ /bin/bash /tmp/jenkins4418523559128464021.sh
</pre></details>

Fix patch:
diff --git a/docs/source/api/columns/schema.rst b/docs/source/api/columns/schema.rst
new file mode 100644
index 00000000000..0e0fd2e19b5
--- /dev/null
+++ b/docs/source/api/columns/schema.rst
@@ -0,0 +1,10 @@
+ColumnSchema
+==============
+
+.. automodule:: nvtabular.columns.schema
+   :members:
+   :private-members:
+   :special-members:
+   :no-undoc-members:
+
+
diff --git a/docs/source/api/column_selector.rst b/docs/source/api/columns/selector.rst
similarity index 71%
rename from docs/source/api/column_selector.rst
rename to docs/source/api/columns/selector.rst
index ae21bf77f1a..ff05e407111 100644
--- a/docs/source/api/column_selector.rst
+++ b/docs/source/api/columns/selector.rst
@@ -1,7 +1,7 @@
 ColumnSelector
 ==============
 
-.. automodule:: nvtabular.column_selector
+.. automodule:: nvtabular.columns.selector
    :members:
    :private-members:
    :special-members:
diff --git a/docs/source/api/index.rst b/docs/source/api/index.rst
index 59cf09c64d3..6a50a9f0a5b 100644
--- a/docs/source/api/index.rst
+++ b/docs/source/api/index.rst
@@ -8,6 +8,7 @@ API Documentation
    WorkflowNode <workflow/workflow_node>
    Dataset <dataset>
    Operators <ops/index>
-   ColumnSelector <column_selector>
+   ColumnSelector <columns/selector>
+   ColumnSchema <columns/schema>
    Torch Dataloader <torch_dataloader>
    TensorFlow Dataloader <tensorflow_dataloader>
diff --git a/nvtabular/__init__.py b/nvtabular/__init__.py
index 21225049929..435b51895b5 100644
--- a/nvtabular/__init__.py
+++ b/nvtabular/__init__.py
@@ -15,7 +15,7 @@
 #
 import warnings
 
-from . import column_selector, io, workflow  # noqa
+from . import columns, io, workflow  # noqa
 from ._version import get_versions
 
 # suppress some warnings with cudf warning about column ordering with dlpack
@@ -25,7 +25,7 @@
 
 
 WorkflowNode = workflow.WorkflowNode
-ColumnSelector = column_selector.ColumnSelector
+ColumnSelector = columns.selector.ColumnSelector
 Workflow = workflow.Workflow
 Dataset = io.dataset.Dataset
 
diff --git a/nvtabular/columns/__init__.py b/nvtabular/columns/__init__.py
new file mode 100644
index 00000000000..c2b201b41d1
--- /dev/null
+++ b/nvtabular/columns/__init__.py
@@ -0,0 +1,18 @@
+#
+# Copyright (c) 2021, NVIDIA CORPORATION.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# flake8: noqa
+from .selector import ColumnSelector
diff --git a/nvtabular/columns/schema.py b/nvtabular/columns/schema.py
new file mode 100644
index 00000000000..bf83e8b4f41
--- /dev/null
+++ b/nvtabular/columns/schema.py
@@ -0,0 +1,106 @@
+#
+# Copyright (c) 2021, NVIDIA CORPORATION.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+from dataclasses import dataclass, field
+from typing import List, Optional, Text
+
+
+@dataclass(frozen=True)
+class ColumnSchema:
+    """A schema containing metadata of a dataframe column."""
+
+    name: Text
+    tags: Optional[List[Text]] = field(default_factory=list)
+
+    def __str__(self) -> str:
+        return self.name
+
+    def with_name(self, name) -> "ColumnSchema":
+        return ColumnSchema(name, tags=self.tags)
+
+    def with_tags(self, tags) -> "ColumnSchema":
+        if not isinstance(tags, list):
+            tags = [tags]
+
+        tags = list(set(list(self.tags) + tags))
+
+        return ColumnSchema(self.name, tags=tags)
+
+
+class DatasetSchema:
+    """A collection of column schemas for a dataset."""
+
+    def __init__(self, column_schemas=None):
+        column_schemas = column_schemas or {}
+
+        if isinstance(column_schemas, dict):
+            self.column_schemas = column_schemas
+        elif isinstance(column_schemas, list):
+            self.column_schemas = {}
+            for column_schema in column_schemas:
+                if isinstance(column_schema, str):
+                    column_schema = ColumnSchema(column_schema)
+                self.column_schemas[column_schema.name] = column_schema
+        else:
+            raise TypeError("The `column_schemas` parameter must be a list or dict.")
+
+    @property
+    def column_names(self):
+        return list(self.column_schemas.keys())
+
+    def apply(self, selector):
+        if selector:
+            return self.select_by_name(selector.names)
+        else:
+            return self
+
+    def select_by_tag(self, tags):
+        if not isinstance(tags, list):
+            tags = [tags]
+
+        selected_schemas = {}
+
+        for _, column_schema in self.column_schemas.items():
+            if all(x in column_schema.tags for x in tags):
+                selected_schemas[column_schema.name] = column_schema
+
+        return DatasetSchema(selected_schemas)
+
+    def select_by_name(self, names):
+        if isinstance(names, str):
+            names = [names]
+
+        selected_schemas = {key: self.column_schemas[key] for key in names}
+        return DatasetSchema(selected_schemas)
+
+    def __eq__(self, other):
+        if not isinstance(other, DatasetSchema):
+            return False
+
+        if len(self.column_schemas) != len(other.column_schemas):
+            return False
+
+        return all(column in other.column_schemas for column in self.column_schemas)
+
+    def __add__(self, other):
+        if not isinstance(other, DatasetSchema):
+            raise TypeError(f"unsupported operand type(s) for +: 'DatasetSchema' and {type(other)}")
+
+        overlap = [name for name in self.column_schemas.keys() if name in other.column_schemas]
+
+        if overlap:
+            raise ValueError(f"Overlapping column schemas detected during addition: {overlap}")
+
+        return DatasetSchema({**self.column_schemas, **other.column_schemas})
diff --git a/nvtabular/column_selector.py b/nvtabular/columns/selector.py
similarity index 97%
rename from nvtabular/column_selector.py
rename to nvtabular/columns/selector.py
index 11ac6cf04df..5a95b6834b2 100644
--- a/nvtabular/column_selector.py
+++ b/nvtabular/columns/selector.py
@@ -90,7 +90,9 @@ def __iter__(self):
         return iter(self.names)
 
     def __add__(self, other):
-        if isinstance(other, nvtabular.WorkflowNode):
+        if other is None:
+            return self
+        elif isinstance(other, nvtabular.WorkflowNode):
             return other + self
         elif isinstance(other, ColumnSelector):
             return ColumnSelector(self._names + other._names, self.subgroups + other.subgroups)
diff --git a/nvtabular/framework_utils/tensorflow/feature_column_utils.py b/nvtabular/framework_utils/tensorflow/feature_column_utils.py
index 315bed71418..984e5ca7a44 100644
--- a/nvtabular/framework_utils/tensorflow/feature_column_utils.py
+++ b/nvtabular/framework_utils/tensorflow/feature_column_utils.py
@@ -20,7 +20,7 @@
 from tensorflow.python.feature_column import feature_column_v2 as fc
 
 import nvtabular as nvt
-from nvtabular.column_selector import ColumnSelector
+from nvtabular.columns import ColumnSelector
 from nvtabular.ops import Bucketize, Categorify, HashBucket, HashedCross, Rename
 
 
diff --git a/nvtabular/ops/operator.py b/nvtabular/ops/operator.py
index 44ef2dc793a..375645438f9 100644
--- a/nvtabular/ops/operator.py
+++ b/nvtabular/ops/operator.py
@@ -18,7 +18,7 @@
 from enum import Flag, auto
 from typing import Any, List, Optional, Union
 
-from nvtabular.column_selector import ColumnSelector
+from nvtabular.columns import ColumnSelector
 from nvtabular.dispatch import DataFrameType
 
 
diff --git a/nvtabular/tools/dataset_inspector.py b/nvtabular/tools/dataset_inspector.py
index 7af772ff835..29bccf95f47 100644
--- a/nvtabular/tools/dataset_inspector.py
+++ b/nvtabular/tools/dataset_inspector.py
@@ -19,7 +19,7 @@
 import fsspec
 import numpy as np
 
-from nvtabular.column_selector import ColumnSelector
+from nvtabular.columns import ColumnSelector
 from nvtabular.ops import DataStats
 from nvtabular.workflow import Workflow
 
diff --git a/nvtabular/workflow/node.py b/nvtabular/workflow/node.py
index e67a1fa6e56..df6480bc8a6 100644
--- a/nvtabular/workflow/node.py
+++ b/nvtabular/workflow/node.py
@@ -18,7 +18,7 @@
 
 from dask.core import flatten
 
-from nvtabular.column_selector import ColumnSelector
+from nvtabular.columns import ColumnSelector
 from nvtabular.ops import LambdaOp, Operator
 
 


Test patch:
diff --git a/tests/unit/test_column_schemas.py b/tests/unit/test_column_schemas.py
new file mode 100644
index 00000000000..6337dbfbbcc
--- /dev/null
+++ b/tests/unit/test_column_schemas.py
@@ -0,0 +1,133 @@
+#
+# Copyright (c) 2021, NVIDIA CORPORATION.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+import pytest
+
+from nvtabular.columns.schema import ColumnSchema, DatasetSchema
+from nvtabular.columns.selector import ColumnSelector
+
+
+def test_column_schema():
+    column = ColumnSchema("name", tags=["tag-1"])
+
+    assert column.name == "name"
+    assert column.tags[0] == "tag-1"
+    assert column.with_name("a").name == "a"
+    assert set(column.with_tags("tag-2").tags) == set(["tag-1", "tag-2"])
+
+
+def test_dataset_schema_constructor():
+    schema1 = ColumnSchema("col1", tags=["a", "b", "c"])
+    schema2 = ColumnSchema("col2", tags=["c", "d", "e"])
+
+    expected = {schema1.name: schema1, schema2.name: schema2}
+
+    ds_schema_dict = DatasetSchema(expected)
+    ds_schema_list = DatasetSchema([schema1, schema2])
+
+    assert ds_schema_dict.column_schemas == expected
+    assert ds_schema_list.column_schemas == expected
+
+    with pytest.raises(TypeError) as exception_info:
+        DatasetSchema(12345)
+
+    assert "column_schemas" in str(exception_info.value)
+
+
+def test_dataset_schema_select_by_tag():
+    schema1 = ColumnSchema("col1", tags=["a", "b", "c"])
+    schema2 = ColumnSchema("col2", tags=["b", "c", "d"])
+
+    ds_schema = DatasetSchema([schema1, schema2])
+
+    selected_schema1 = ds_schema.select_by_tag("a")
+    selected_schema2 = ds_schema.select_by_tag("d")
+
+    assert selected_schema1.column_schemas == {"col1": schema1}
+    assert selected_schema2.column_schemas == {"col2": schema2}
+
+    selected_schema_both = ds_schema.select_by_tag("c")
+    selected_schema_neither = ds_schema.select_by_tag("e")
+    selected_schema_multi = ds_schema.select_by_tag(["b", "c"])
+
+    assert selected_schema_both.column_schemas == {"col1": schema1, "col2": schema2}
+    assert selected_schema_neither.column_schemas == {}
+    assert selected_schema_multi.column_schemas == {"col1": schema1, "col2": schema2}
+
+
+def test_dataset_schema_select_by_name():
+    schema1 = ColumnSchema("col1", tags=["a", "b", "c"])
+    schema2 = ColumnSchema("col2", tags=["b", "c", "d"])
+
+    ds_schema = DatasetSchema([schema1, schema2])
+
+    selected_schema1 = ds_schema.select_by_name("col1")
+    selected_schema2 = ds_schema.select_by_name("col2")
+
+    assert selected_schema1.column_schemas == {"col1": schema1}
+    assert selected_schema2.column_schemas == {"col2": schema2}
+
+    selected_schema_multi = ds_schema.select_by_name(["col1", "col2"])
+
+    assert selected_schema_multi.column_schemas == {"col1": schema1, "col2": schema2}
+
+    with pytest.raises(KeyError) as exception_info:
+        ds_schema.select_by_name("col3")
+
+    assert "col3" in str(exception_info.value)
+
+
+def test_dataset_schemas_can_be_added():
+    ds1_schema = DatasetSchema([ColumnSchema("col1"), ColumnSchema("col2")])
+    ds2_schema = DatasetSchema([ColumnSchema("col3"), ColumnSchema("col4")])
+
+    result = ds1_schema + ds2_schema
+
+    expected = DatasetSchema(
+        [ColumnSchema("col1"), ColumnSchema("col2"), ColumnSchema("col3"), ColumnSchema("col4")]
+    )
+
+    assert result == expected
+
+    with pytest.raises(ValueError) as exception_info:
+        ds1_schema + ds1_schema  # pylint: disable=pointless-statement
+
+    assert "Overlapping column schemas" in str(exception_info.value)
+
+
+def test_construct_dataset_schema_with_column_names():
+    ds_schema = DatasetSchema(["x", "y", "z"])
+    expected = DatasetSchema([ColumnSchema("x"), ColumnSchema("y"), ColumnSchema("z")])
+
+    assert ds_schema == expected
+
+
+def test_dataset_schema_column_names():
+    ds_schema = DatasetSchema(["x", "y", "z"])
+
+    assert ds_schema.column_names == ["x", "y", "z"]
+
+
+def test_applying_selector_to_schema_selects_relevant_columns():
+    schema = DatasetSchema(["a", "b", "c", "d", "e"])
+    selector = ColumnSelector(["a", "b"])
+    result = schema.apply(selector)
+
+    assert result == DatasetSchema(["a", "b"])
+
+    selector = None
+    result = schema.apply(selector)
+
+    assert result == schema
diff --git a/tests/unit/test_column_selector.py b/tests/unit/test_column_selector.py
index 50b5e8dc97e..2425b9c46dc 100644
--- a/tests/unit/test_column_selector.py
+++ b/tests/unit/test_column_selector.py
@@ -15,7 +15,7 @@
 #
 import pytest
 
-from nvtabular.column_selector import ColumnSelector
+from nvtabular.columns import ColumnSelector
 from nvtabular.workflow import WorkflowNode
 
 
@@ -120,3 +120,10 @@ def test_addition_works_with_lists_of_strings():
     combined = selector + ["d", "e", "f"]
 
     assert combined.names == ["a", "b", "c", "d", "e", "f"]
+
+
+def test_addition_works_with_none():
+    selector = ColumnSelector(["a", "b", "c"])
+    combined = selector + None
+
+    assert combined.names == ["a", "b", "c"]
diff --git a/tests/unit/test_workflow_node.py b/tests/unit/test_workflow_node.py
index 9467a26bb88..5cf884139a4 100644
--- a/tests/unit/test_workflow_node.py
+++ b/tests/unit/test_workflow_node.py
@@ -2,7 +2,7 @@
 import pytest
 
 from nvtabular import Dataset, Workflow, WorkflowNode, dispatch
-from nvtabular.column_selector import ColumnSelector
+from nvtabular.columns import ColumnSelector
 from nvtabular.ops import Categorify, Rename
 from tests.conftest import assert_eq