jarredhj0214 commented on PR #12482: URL: https://github.com/apache/gravitino/pull/12482#issuecomment-5338775022
> > he > > But the real problem is: we need speculative probe (non-existent table) and real auth failure (existing table) to behave differently, and the client can't tell them apart today since both return 403. Iceberg REST server already does this with allowCheckExistence — so there's precedent. But open to other ideas if you want to avoid the server-side change. That matches my concern too. If both speculative missing-table probes and real authorization failures keep returning 403 from the server, the Flink connector cannot reliably distinguish them. The Flink-side `TableForbiddenException extends TableNotExistException` approach can improve the message, but it cannot fully solve the behavior difference between missing probes and existing unauthorized tables. Given that Iceberg REST already has `allowCheckExistence`, I’m leaning toward keeping the server-side fix unless we decide that the metadata-existence leakage concern should take priority. -- 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]
