Fredy Wijaya has uploaded a new patch set (#7). ( 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/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 C fe/src/main/java/org/apache/impala/authorization/AuthorizationPolicyReaderException.java R fe/src/main/java/org/apache/impala/authorization/AuthorizationProxy.java D fe/src/main/java/org/apache/impala/authorization/AuthorizeableUri.java A fe/src/main/java/org/apache/impala/authorization/Authorizer.java R fe/src/main/java/org/apache/impala/authorization/AuthorizerUnavailableException.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/SentryAuthorizer.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryConfig.java R fe/src/main/java/org/apache/impala/authorization/sentry/SentryUtil.java M fe/src/main/java/org/apache/impala/catalog/AuthorizationPolicy.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/local/CatalogdMetaProvider.java D fe/src/main/java/org/apache/impala/common/SentryPolicyReaderException.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/AnalysisSessionFixture.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/AuthorizationProxyTest.java R fe/src/test/java/org/apache/impala/authorization/sentry/ImpalaActionFactoryTest.java M fe/src/test/java/org/apache/impala/common/FrontendTestBase.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/SentryServicePinger.java M fe/src/test/resources/authz-policy.ini.template M tests/authorization/test_authorization.py 58 files changed, 1,545 insertions(+), 1,132 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/20/12020/7 -- 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: 7 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: Philip Zeyliger <phi...@cloudera.com> Gerrit-Reviewer: Todd Lipcon <t...@apache.org>