infiniflow/ragflow · warning · AdminException

not implement: update role: {role_name} with description: {d

Error message

not implement: update role: {role_name} with description: {description}

What it means

RoleMgr.update_role_description (admin/server/roles.py:34) is a stub that logs 'not implement: update role ...' and raises AdminException unconditionally. No role-description update ever occurs; the method exists only to reserve the API shape for a future implementation.

Source

Thrown at admin/server/roles.py:34

import logging

from typing import Dict, Any

from api.common.exceptions import AdminException


class RoleMgr:
    @staticmethod
    def create_role(role_name: str, description: str):
        error_msg = f"not implement: create role: {role_name}, description: {description}"
        logging.error(error_msg)
        raise AdminException(error_msg)

    @staticmethod
    def update_role_description(role_name: str, description: str) -> Dict[str, Any]:
        error_msg = f"not implement: update role: {role_name} with description: {description}"
        logging.error(error_msg)
        raise AdminException(error_msg)

    @staticmethod
    def delete_role(role_name: str) -> Dict[str, Any]:
        error_msg = f"not implement: drop role: {role_name}"
        logging.error(error_msg)
        raise AdminException(error_msg)

    @staticmethod
    def list_roles() -> Dict[str, Any]:
        error_msg = "not implement: list roles"
        logging.error(error_msg)
        raise AdminException(error_msg)

    @staticmethod
    def get_role_permission(role_name: str) -> Dict[str, Any]:
        error_msg = f"not implement: show role {role_name}"
        logging.error(error_msg)
        raise AdminException(error_msg)

View on GitHub (pinned to 554fb1133a)

Solutions

  1. Avoid the role APIs; use is_superuser / tenant-role fields for access control in this version.
  2. Implement the method in a fork or wait for an upstream release that fills in RoleMgr.
Defensive patterns

Strategy: try-catch

Try / catch

from api.common.exceptions import AdminException
try:
    RoleMgr.update_role_description(role, desc)
except AdminException as e:
    if str(e).startswith("not implement"):
        # feature unavailable: skip or implement in a fork
        pass
    raise

Prevention

When it happens

Trigger: Calling RoleMgr.update_role_description(role_name, description), e.g. via an admin role-management endpoint that forwards to it.

Common situations: Attempting RBAC configuration through documented-but-unimplemented role endpoints.

Related errors


AI-assisted analysis of infiniflow/ragflow@554fb1133a (2026-08-15). Data as JSON: /api/errors/fcfad78a66113693. Report an issue: GitHub.