Fredy Wijaya has uploaded a new patch set (#9). ( http://gerrit.cloudera.org:8080/12020 )
Change subject: IMPALA-7917 (Part 1): Decouple Sentry from Impala ...................................................................... IMPALA-7917 (Part 1): Decouple Sentry from Impala The first part of this patch is to provide an initial work to decouple Sentry from Impala by creating a generic authorization provider interface that Sentry implements. The idea is to allow more authorization providers in the future. The patch updates the following: - Renamed Authorizeable to Authorizable to fix typographical error. - Moved any clases that uses Sentry specific code to org.apache.impala.authorization.sentry package and created interfaces when necessary. - Moved all generic authorization related classes to org.apache.impala.authorization package. - Minor clean up on authorization related code. In this patch, switching the authorization provider implementation still requires updating the code in many different places. A follow up patch will make it easy to switch an authorization provider implementation. Testing: - Ran all FE tests - Ran all E2E authorization tests Change-Id: If1fd1df0b38ddd7cfa41299e95f5827f8a9e9c1f --- M fe/src/main/java/org/apache/impala/analysis/AnalysisContext.java M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/analysis/AuthorizationStmt.java M fe/src/main/java/org/apache/impala/analysis/CreateFunctionStmtBase.java M fe/src/main/java/org/apache/impala/analysis/DropFunctionStmt.java M fe/src/main/java/org/apache/impala/analysis/HdfsUri.java M fe/src/main/java/org/apache/impala/analysis/ResetMetadataStmt.java R fe/src/main/java/org/apache/impala/authorization/Authorizable.java M fe/src/main/java/org/apache/impala/authorization/AuthorizationChecker.java M fe/src/main/java/org/apache/impala/authorization/AuthorizationConfig.java R fe/src/main/java/org/apache/impala/authorization/AuthorizationException.java R fe/src/main/java/org/apache/impala/authorization/AuthorizationPolicy.java C fe/src/main/java/org/apache/impala/authorization/AuthorizationProvider.java D fe/src/main/java/org/apache/impala/authorization/AuthorizeableUri.java M fe/src/main/java/org/apache/impala/authorization/Privilege.java M fe/src/main/java/org/apache/impala/authorization/PrivilegeRequest.java M fe/src/main/java/org/apache/impala/authorization/PrivilegeRequestBuilder.java A fe/src/main/java/org/apache/impala/authorization/sentry/ImpalaAction.java R fe/src/main/java/org/apache/impala/authorization/sentry/ImpalaActionFactory.java R fe/src/main/java/org/apache/impala/authorization/sentry/ImpalaPrivilegeModel.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthProvider.java A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizable.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableColumn.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableDb.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableFn.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableServer.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableTable.java A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableUri.java A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizationChecker.java A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizationConfig.java A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizationPolicy.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryConfig.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryPolicyReaderException.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryPolicyService.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryProxy.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryUnavailableException.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryUtil.java M fe/src/main/java/org/apache/impala/catalog/Catalog.java M fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java M fe/src/main/java/org/apache/impala/catalog/FeCatalog.java M fe/src/main/java/org/apache/impala/catalog/ImpaladCatalog.java M fe/src/main/java/org/apache/impala/catalog/PrincipalPrivilege.java M fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java M fe/src/main/java/org/apache/impala/catalog/local/DirectMetaProvider.java M fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java M fe/src/main/java/org/apache/impala/catalog/local/MetaProvider.java M fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java M fe/src/main/java/org/apache/impala/service/Frontend.java M fe/src/main/java/org/apache/impala/service/JniCatalog.java M fe/src/main/java/org/apache/impala/service/JniFrontend.java M fe/src/test/java/org/apache/impala/analysis/AnalyzeAuthStmtsTest.java M fe/src/test/java/org/apache/impala/analysis/AuditingTest.java M fe/src/test/java/org/apache/impala/analysis/AuthorizationStmtTest.java M fe/src/test/java/org/apache/impala/analysis/AuthorizationTest.java M fe/src/test/java/org/apache/impala/analysis/StmtMetadataLoaderTest.java R fe/src/test/java/org/apache/impala/authorization/sentry/ImpalaActionFactoryTest.java R fe/src/test/java/org/apache/impala/authorization/sentry/SentryProxyTest.java M fe/src/test/java/org/apache/impala/catalog/CatalogTest.java M fe/src/test/java/org/apache/impala/common/FrontendFixture.java M fe/src/test/java/org/apache/impala/common/FrontendTestBase.java M fe/src/test/java/org/apache/impala/common/QueryFixture.java M fe/src/test/java/org/apache/impala/testutil/CatalogServiceTestCatalog.java M fe/src/test/java/org/apache/impala/testutil/ImpaladTestCatalog.java M fe/src/test/java/org/apache/impala/testutil/PlannerTestCaseLoader.java M fe/src/test/java/org/apache/impala/testutil/SentryServicePinger.java M fe/src/test/resources/authz-policy.ini.template 66 files changed, 1,159 insertions(+), 814 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/20/12020/9 -- To view, visit http://gerrit.cloudera.org:8080/12020 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If1fd1df0b38ddd7cfa41299e95f5827f8a9e9c1f Gerrit-Change-Number: 12020 Gerrit-PatchSet: 9 Gerrit-Owner: Fredy Wijaya <fwij...@cloudera.com> Gerrit-Reviewer: Bharath Vissapragada <bhara...@cloudera.com> Gerrit-Reviewer: Fredy Wijaya <fwij...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Paul Rogers <prog...@cloudera.com> Gerrit-Reviewer: Todd Lipcon <t...@apache.org>