924060929 commented on code in PR #69632:
URL: https://github.com/apache/doris/pull/69632#discussion_r4384571909
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/metacache/MetaCache.java:
##########
@@ -514,7 +531,11 @@ public Optional<T> getMetaObj(String name, long id) {
return null;
}
metaObjCache.put(name, loaded);
- idToName.put(id, name);
+ if (loaded.isPresent() || retainEmptyIdentity) {
+ idToName.put(id, name);
+ } else {
+ idToName.remove(id, name);
Review Comment:
Fixed in cbd5769d982. Transient name-enumeration failures now propagate from
buildTableForInit() rather than returning confirmed absence, so the numeric
route remains recoverable. The test evicts the object, fails enumeration during
an ID lookup, refreshes names after recovery, and verifies the ID lookup loads
successfully without a named object lookup.
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java:
##########
@@ -368,8 +381,10 @@ public Map<String, SysTable> getSupportedSysTables() {
@Override
public boolean isView() {
- makeSureInitialized();
- return isView;
+ return withMissingTableRepair(() -> {
Review Comment:
Fixed in cbd5769d982. The complete properties() read now enters guarded
repair, so getComment()/status enumeration repairs before its caller can log or
swallow the failure. The getComment() unit test raises NoSuchTableException
during the later withIcebergTable() call and verifies lookup repair.
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java:
##########
@@ -479,15 +486,21 @@ public boolean supportsLatestSnapshotPreload() {
@Override
public List<Column> getFullSchema() {
- // Descriptor serialization is table-only and may follow multiple
OPTIONS aliases. Keep it
- // on a validated statement projection rather than falling back to the
neutral cache.
- return getPaimonSchemaCacheValue(
-
MvccUtil.getSnapshotForTableMetadataFromContext(this)).getSchema();
+ return withMissingTableRepair(() -> {
Review Comment:
Fixed in cbd5769d982. getFullSchema(TableScanParams) now guards its complete
OPTIONS table/schema read. The unit test first completes StatementContext
snapshot acquisition, then makes the later base-table reopen fail, and verifies
repair occurs in this schema overload rather than during the successful fence
stage.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]