Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[gpuCI] Forward-merge branch-22.10 to branch-22.12 [skip gpuci] #11776

Merged
merged 1 commit into from
Sep 26, 2022

Commits on Sep 26, 2022

  1. Fix issue with set-item incase of list and struct types (#11760)

    Fixes: #11721 
    This PR:
    - [x] Fixes: #11721, by not going through the fill & fill_inplace APIs which don't support `struct` and `list` columns.
    - [x] Fixes an issue in caching while constructing a `struct` or `list` scalar as `list` & `dict` objects are not hashable and we were running into the following errors:
    ```python
    In [9]: i = cudf.Scalar([10, 11])
    ---------------------------------------------------------------------------
    KeyError                                  Traceback (most recent call last)
    File /nvme/0/pgali/envs/cudfdev/lib/python3.9/site-packages/cudf/core/scalar.py:51, in CachedScalarInstanceMeta.__call__(self, value, dtype)
         49 try:
         50     # try retrieving an instance from the cache:
    ---> 51     self.__instances.move_to_end(cache_key)
         52     return self.__instances[cache_key]
    
    KeyError: ([10, 11], <class 'list'>, None, <class 'NoneType'>)
    
    During handling of the above exception, another exception occurred:
    
    TypeError                                 Traceback (most recent call last)
    Cell In [9], line 1
    ----> 1 i = cudf.Scalar([10, 11])
    
    File /nvme/0/pgali/envs/cudfdev/lib/python3.9/site-packages/cudf/core/scalar.py:57, in CachedScalarInstanceMeta.__call__(self, value, dtype)
         53 except KeyError:
         54     # if an instance couldn't be found in the cache,
         55     # construct it and add to cache:
         56     obj = super().__call__(value, dtype=dtype)
    ---> 57     self.__instances[cache_key] = obj
         58     if len(self.__instances) > self.__maxsize:
         59         self.__instances.popitem(last=False)
    
    TypeError: unhashable type: 'list'
    ```
    
    Authors:
      - GALI PREM SAGAR (https://github.com/galipremsagar)
    
    Approvers:
      - Matthew Roeschke (https://github.com/mroeschke)
    
    URL: #11760
    galipremsagar authored Sep 26, 2022
    Configuration menu
    Copy the full SHA
    11156cc View commit details
    Browse the repository at this point in the history