@Override
    public ProcNodeInterface lookup(String beIdStr) throws AnalysisException {
        if (Strings.isNullOrEmpty(beIdStr)) {
            throw new AnalysisException("Backend id is null");
        }

        long backendId = -1L;
        try {
            backendId = Long.parseLong(beIdStr);
        } catch (NumberFormatException e) {
            throw new AnalysisException("Invalid backend id format: " + beIdStr);
        }

        Backend backend = clusterInfoService.getBackend(backendId);
        if (backend == null) {
            throw new AnalysisException("Backend[" + backendId + "] does not exist.");
        }

        return new BackendProcNode(backend);
    }
@Test
    public void testLookupInvalid() {
        BackendsProcDir dir = new BackendsProcDir(systemInfoService);
        ExceptionChecker.expectThrows(AnalysisException.class, () -> dir.lookup(null));
        ExceptionChecker.expectThrows(AnalysisException.class, () -> dir.lookup(""));
    }