@@ -607,18 +607,25 @@ class TablesBlockSource : public ISource
607607 if (columns_mask[src_index++])
608608 {
609609 bool inserted = false ;
610- // Extract from specific DataLake metadata if suitable
611- if (auto * obj = dynamic_cast <StorageObjectStorageCluster *>(table.get ()))
610+ try
612611 {
613- if (auto * dl_meta = obj->getExternalMetadata (context))
612+ // Extract from specific DataLake metadata if suitable
613+ if (auto * obj = dynamic_cast <StorageObjectStorageCluster *>(table.get ()))
614614 {
615- if (auto p = dl_meta-> partitionKey (context); p. has_value ( ))
615+ if (auto * dl_meta = obj-> getExternalMetadata (context))
616616 {
617- res_columns[res_index++]->insert (*p);
618- inserted = true ;
617+ if (auto p = dl_meta->partitionKey (context); p.has_value ())
618+ {
619+ res_columns[res_index++]->insert (*p);
620+ inserted = true ;
621+ }
619622 }
620623 }
621-
624+ }
625+ catch (const Exception &)
626+ {
627+ // / Failed to get info from Iceberg. It's not critical, just log it.
628+ tryLogCurrentException (" StorageSystemTables" );
622629 }
623630
624631 if (!inserted)
@@ -634,18 +641,26 @@ class TablesBlockSource : public ISource
634641 {
635642 bool inserted = false ;
636643
637- // Extract from specific DataLake metadata if suitable
638- if (auto * obj = dynamic_cast <StorageObjectStorageCluster *>(table.get ()))
644+ try
639645 {
640- if (auto * dl_meta = obj->getExternalMetadata (context))
646+ // Extract from specific DataLake metadata if suitable
647+ if (auto * obj = dynamic_cast <StorageObjectStorageCluster *>(table.get ()))
641648 {
642- if (auto p = dl_meta-> sortingKey (context); p. has_value ( ))
649+ if (auto * dl_meta = obj-> getExternalMetadata (context))
643650 {
644- res_columns[res_index++]->insert (*p);
645- inserted = true ;
651+ if (auto p = dl_meta->sortingKey (context); p.has_value ())
652+ {
653+ res_columns[res_index++]->insert (*p);
654+ inserted = true ;
655+ }
646656 }
647657 }
648658 }
659+ catch (const Exception &)
660+ {
661+ // / Failed to get info from Iceberg. It's not critical, just log it.
662+ tryLogCurrentException (" StorageSystemTables" );
663+ }
649664
650665 if (!inserted)
651666 {
0 commit comments