jerqi commented on issue #9518: URL: https://github.com/apache/gravitino/issues/9518#issuecomment-3691079870
> After addressing the aforementioned issue, my main approach is as follows: > > Adding batch operations to EntityStore is necessary. We could start by implementing batch operations for certain metadata types—such as tables—but we must carefully consider how to ensure that the cache results remain consistent with those from individual requests. > > Next, before performing concurrent authorization in org.apache.gravitino.server.authorization.MetadataAuthzHelper#doFilter, we can invoke a single batch operation on EntityStore to preload all relevant metadata IDs into the cache, thereby ensuring they are available during subsequent parallel authorization checks. > > <img alt="Image" width="1680" height="788" src="https://private-user-images.githubusercontent.com/35210666/529452218-1591309d-5e92-41f7-b0f0-f4ac9adb8505.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjY2NDgyNDcsIm5iZiI6MTc2NjY0Nzk0NywicGF0aCI6Ii8zNTIxMDY2Ni81Mjk0NTIyMTgtMTU5MTMwOWQtNWU5Mi00MWY3LWIwZjAtZjRhYzlhZGI4NTA1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTEyMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMjI1VDA3MzIyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFmNTFmYjg0MDYxZjlhMzE3ZTQ4NTFhMWMzODc5ODc1YTlhN2Y4MDA0NTQ0ODdjNjNlYWZmMTQ5NWY4MGMzZDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.EL7QPfEAQiPgIpj8HaaP2faPXPbpkPMIwr_fbhYfxlI"> If they are already cached, we don't need to optimized it. We need to implement that our batch operations can reuse the cache capability. -- 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]
