microsoft/qlib · error · KeyError
Unknown meta keyword
Error message
Unknown meta keyword
What it means
Error "Unknown meta keyword" thrown in microsoft/qlib.
Source
Thrown at qlib/data/cache.py:235
@staticmethod
def reset_lock():
r = get_redis_connection()
redis_lock.reset_all(r)
@staticmethod
def visit(cache_path: Union[str, Path]):
# FIXME: Because read_lock was canceled when reading the cache, multiple processes may have read and write exceptions here
try:
cache_path = Path(cache_path)
meta_path = cache_path.with_suffix(".meta")
with meta_path.open("rb") as f:
d = restricted_pickle_load(f)
with meta_path.open("wb") as f:
try:
d["meta"]["last_visit"] = str(time.time())
d["meta"]["visits"] = d["meta"]["visits"] + 1
except KeyError as key_e:
raise KeyError("Unknown meta keyword") from key_e
pickle.dump(d, f, protocol=C.dump_protocol_version)
except Exception as e:
get_module_logger("CacheUtils").warning(f"visit {cache_path} cache error: {e}")
@staticmethod
def acquire(lock, lock_name):
try:
lock.acquire()
except redis_lock.AlreadyAcquired as lock_acquired:
raise QlibCacheException(
f"""It sees the key(lock:{repr(lock_name)[1:-1]}-wlock) of the redis lock has existed in your redis db now.
You can use the following command to clear your redis keys and rerun your commands:
$ redis-cli
> select {C.redis_task_db}
> del "lock:{repr(lock_name)[1:-1]}-wlock"
> quit
If the issue is not resolved, use "keys *" to find if multiple keys exist. If so, try using "flushall" to clear all the keys.
"""View on GitHub (pinned to 79633dd950)
Solutions
- Remove the unknown keyword from the cache meta call; only supported meta keywords are accepted.
- Check the spelling of the meta keyword against the cache API documentation.
When it happens
Trigger: This error is raised at qlib/data/cache.py:235 when the guard condition fails: "Unknown meta keyword". It triggers when the code path receives input or a state that violates the precondition checked at this point — e.g. an unimplemented abstract method being called, an unsupported argument type/value, or an invalid configuration. To avoid it, satisfy the documented precondition before this call: implement the required method in your subclass, or pass a supported value of the expected type as described by the message.
Common situations: See trigger scenarios.
AI-assisted analysis of microsoft/qlib@79633dd950 (2026-08-15).
Data as JSON: /api/errors/5ea9a091a79e143a.
Report an issue: GitHub.