@Override
    public Table getTable(String dbName, String tblName) {
        TableIdentifier identifier = TableIdentifier.of(dbName, tblName);
        if (tables.containsKey(identifier)) {
            return tables.get(identifier);
        }

        try {
            org.apache.iceberg.Table icebergTable = icebergCatalog.getTable(dbName, tblName);
            IcebergCatalogType catalogType = icebergCatalog.getIcebergCatalogType();
            // Hive/Glue catalog table name is case-insensitive, normalize it to lower case
            if (catalogType == IcebergCatalogType.HIVE_CATALOG || catalogType == IcebergCatalogType.GLUE_CATALOG) {
                dbName = dbName.toLowerCase();
                tblName = tblName.toLowerCase();
            }
            Table table = IcebergApiConverter.toIcebergTable(icebergTable, catalogName, dbName, tblName, catalogType.name());
            table.setComment(icebergTable.properties().getOrDefault(COMMENT, ""));

            tables.put(identifier, table);
            return table;
        } catch (StarRocksConnectorException e) {
            LOG.error("Failed to get iceberg table {}", identifier, e);
            return null;
        } catch (NoSuchTableException e) {
            return getView(dbName, tblName);
        }
    }
@Test
    public void testNotExistTable(@Mocked IcebergHiveCatalog icebergHiveCatalog,
                                  @Mocked HiveTableOperations hiveTableOperations) {
        new Expectations() {
            {
                icebergHiveCatalog.getTable("db", "tbl");
                result = new BaseTable(hiveTableOperations, "tbl");
                minTimes = 0;

                icebergHiveCatalog.getTable("db", "tbl2");
                result = new StarRocksConnectorException("not found");
            }
        };

        IcebergMetadata metadata = new IcebergMetadata(CATALOG_NAME, HDFS_ENVIRONMENT, icebergHiveCatalog,
                Executors.newSingleThreadExecutor(), Executors.newSingleThreadExecutor(), null);
        Assert.assertNull(metadata.getTable("db", "tbl2"));
    }