{"record":{"id":"5ea9a091a79e143a","repo":"microsoft/qlib","slug":"unknown-meta-keyword","errorCode":null,"errorMessage":"Unknown meta keyword","messagePattern":"Unknown meta keyword","errorType":"exception","errorClass":"KeyError","httpStatus":null,"severity":"error","filePath":"qlib/data/cache.py","lineNumber":235,"sourceCode":"    @staticmethod\n    def reset_lock():\n        r = get_redis_connection()\n        redis_lock.reset_all(r)\n\n    @staticmethod\n    def visit(cache_path: Union[str, Path]):\n        # FIXME: Because read_lock was canceled when reading the cache, multiple processes may have read and write exceptions here\n        try:\n            cache_path = Path(cache_path)\n            meta_path = cache_path.with_suffix(\".meta\")\n            with meta_path.open(\"rb\") as f:\n                d = restricted_pickle_load(f)\n            with meta_path.open(\"wb\") as f:\n                try:\n                    d[\"meta\"][\"last_visit\"] = str(time.time())\n                    d[\"meta\"][\"visits\"] = d[\"meta\"][\"visits\"] + 1\n                except KeyError as key_e:\n                    raise KeyError(\"Unknown meta keyword\") from key_e\n                pickle.dump(d, f, protocol=C.dump_protocol_version)\n        except Exception as e:\n            get_module_logger(\"CacheUtils\").warning(f\"visit {cache_path} cache error: {e}\")\n\n    @staticmethod\n    def acquire(lock, lock_name):\n        try:\n            lock.acquire()\n        except redis_lock.AlreadyAcquired as lock_acquired:\n            raise QlibCacheException(\n                f\"\"\"It sees the key(lock:{repr(lock_name)[1:-1]}-wlock) of the redis lock has existed in your redis db now.\n                    You can use the following command to clear your redis keys and rerun your commands:\n                    $ redis-cli\n                    > select {C.redis_task_db}\n                    > del \"lock:{repr(lock_name)[1:-1]}-wlock\"\n                    > quit\n                    If the issue is not resolved, use \"keys *\" to find if multiple keys exist. If so, try using \"flushall\" to clear all the keys.\n                \"\"\"","sourceCodeStart":217,"sourceCodeEnd":253,"githubUrl":"https://github.com/microsoft/qlib/blob/79633dd9506ea689e5400dea0197717b5b3d74b7/qlib/data/cache.py#L217-L253","documentation":"Error \"Unknown meta keyword\" thrown in microsoft/qlib.","triggerScenarios":"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.","commonSituations":"See trigger scenarios.","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."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"79633dd9506ea689e5400dea0197717b5b3d74b7","analyzedAt":"2026-08-15T07:01:27.511Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}