diff --git a/fsspec/implementations/http.py b/fsspec/implementations/http.py index e7fef2f1b..204a0a7ee 100644 --- a/fsspec/implementations/http.py +++ b/fsspec/implementations/http.py @@ -123,7 +123,7 @@ def close_session(loop, session): try: sync(loop, session.close, timeout=0.1) return - except (TimeoutError, FSTimeoutError): + except (TimeoutError, FSTimeoutError, NotImplementedError): pass connector = getattr(session, "_connector", None) if connector is not None: diff --git a/fsspec/implementations/reference.py b/fsspec/implementations/reference.py index 8753b2d13..a93a6f503 100644 --- a/fsspec/implementations/reference.py +++ b/fsspec/implementations/reference.py @@ -417,6 +417,11 @@ def write(self, field, record, base_url=None, storage_options=None): raws = np.full(self.record_size, np.nan, dtype="O") for j, data in partition.items(): if isinstance(data, list): + if ( + str(paths.dtype) == "category" + and data[0] not in paths.dtype.categories + ): + paths = paths.add_categories(data[0]) paths[j] = data[0] if len(data) > 1: offsets[j] = data[1]