This is an automated email from the ASF dual-hosted git repository. vvivekiyer pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push: new 1cc3cef28a Remove deprecated hasDataAccess method. (#13574) 1cc3cef28a is described below commit 1cc3cef28a0bda95dc152f08764d2cda45d7eb59 Author: Abhishek Sharma <abhishek.sha...@spothero.com> AuthorDate: Mon Jul 15 16:48:29 2024 -0400 Remove deprecated hasDataAccess method. (#13574) * Remove deprecated lang3 RandomUtils usage. * Changes as per the PR comment. * Remove deprecated method hasDataAccess. * Changes as per the PR Comments. * Updated the endpointUrl to QUERY. * Fix linting issue. --- .../pinot/controller/api/access/AccessControl.java | 21 ++------------------- .../api/access/AllowAllAccessFactory.java | 2 +- .../api/access/BasicAuthAccessControlFactory.java | 5 ----- .../api/access/ZkBasicAuthAccessControlFactory.java | 5 ----- .../api/resources/PinotQueryResource.java | 3 ++- .../PinotSegmentUploadDownloadRestletResource.java | 2 +- 6 files changed, 6 insertions(+), 32 deletions(-) diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AccessControl.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AccessControl.java index fe9018ebd0..b2834e2e25 100644 --- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AccessControl.java +++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AccessControl.java @@ -31,21 +31,6 @@ public interface AccessControl extends FineGrainedAccessControl { String WORKFLOW_NONE = "NONE"; String WORKFLOW_BASIC = "BASIC"; - /** - * Return whether the client has data access to the given table. - * - * Note: This method is only used fore read access. It's being deprecated and its usage will be replaced by - * `hasAccess` method with AccessType.READ. - * - * @param httpHeaders HTTP headers containing requester identity - * @param tableName Name of the table to be accessed - * @return Whether the client has data access to the table - */ - @Deprecated - default boolean hasDataAccess(HttpHeaders httpHeaders, String tableName) { - return hasAccess(tableName, AccessType.READ, httpHeaders, null); - } - /** * Return whether the client has permission to the given table * @@ -55,10 +40,8 @@ public interface AccessControl extends FineGrainedAccessControl { * @param endpointUrl the request url for which this access control is called * @return whether the client has permission */ - default boolean hasAccess(@Nullable String tableName, AccessType accessType, HttpHeaders httpHeaders, - @Nullable String endpointUrl) { - return true; - } + boolean hasAccess(@Nullable String tableName, AccessType accessType, HttpHeaders httpHeaders, + @Nullable String endpointUrl); /** * Return whether the client has permission to access the endpoints with are not table level diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AllowAllAccessFactory.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AllowAllAccessFactory.java index eca054a87b..7d37c5fdb0 100644 --- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AllowAllAccessFactory.java +++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AllowAllAccessFactory.java @@ -24,7 +24,7 @@ import javax.ws.rs.core.HttpHeaders; public class AllowAllAccessFactory implements AccessControlFactory { private static final AccessControl ALLOW_ALL_ACCESS = new AccessControl() { @Override - public boolean hasDataAccess(HttpHeaders httpHeaders, String tableName) { + public boolean hasAccess(String tableName, AccessType accessType, HttpHeaders httpHeaders, String endpointUrl) { return true; } }; diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/BasicAuthAccessControlFactory.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/BasicAuthAccessControlFactory.java index 7e08d289e6..8147ac3675 100644 --- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/BasicAuthAccessControlFactory.java +++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/BasicAuthAccessControlFactory.java @@ -76,11 +76,6 @@ public class BasicAuthAccessControlFactory implements AccessControlFactory { return false; } - @Override - public boolean hasDataAccess(HttpHeaders httpHeaders, String tableName) { - return getPrincipal(httpHeaders).filter(p -> p.hasTable(tableName)).isPresent(); - } - @Override public boolean hasAccess(String tableName, AccessType accessType, HttpHeaders httpHeaders, String endpointUrl) { return getPrincipal(httpHeaders) diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/ZkBasicAuthAccessControlFactory.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/ZkBasicAuthAccessControlFactory.java index 6553ff931d..8d109837cd 100644 --- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/ZkBasicAuthAccessControlFactory.java +++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/access/ZkBasicAuthAccessControlFactory.java @@ -78,11 +78,6 @@ public class ZkBasicAuthAccessControlFactory implements AccessControlFactory { return false; } - @Override - public boolean hasDataAccess(HttpHeaders httpHeaders, String tableName) { - return getPrincipal(httpHeaders).filter(p -> p.hasTable(tableName)).isPresent(); - } - @Override public boolean hasAccess(String tableName, AccessType accessType, HttpHeaders httpHeaders, String endpointUrl) { return getPrincipal(httpHeaders).filter( diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotQueryResource.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotQueryResource.java index 8bcbf96b48..d86dc7faed 100644 --- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotQueryResource.java +++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotQueryResource.java @@ -66,6 +66,7 @@ import org.apache.pinot.controller.api.access.AccessControl; import org.apache.pinot.controller.api.access.AccessControlFactory; import org.apache.pinot.controller.api.access.AccessType; import org.apache.pinot.controller.helix.core.PinotHelixResourceManager; +import org.apache.pinot.core.auth.Actions; import org.apache.pinot.core.auth.ManualAuthorization; import org.apache.pinot.core.query.executor.sql.SqlQueryExecutor; import org.apache.pinot.query.QueryEnvironment; @@ -292,7 +293,7 @@ public class PinotQueryResource { // Validate data access AccessControl accessControl = _accessControlFactory.create(); - if (!accessControl.hasDataAccess(httpHeaders, rawTableName)) { + if (!accessControl.hasAccess(rawTableName, AccessType.READ, httpHeaders, Actions.Table.QUERY)) { return QueryException.ACCESS_DENIED_ERROR.toString(); } diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotSegmentUploadDownloadRestletResource.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotSegmentUploadDownloadRestletResource.java index 20b00a3cc3..156a3e9095 100644 --- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotSegmentUploadDownloadRestletResource.java +++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotSegmentUploadDownloadRestletResource.java @@ -159,7 +159,7 @@ public class PinotSegmentUploadDownloadRestletResource { boolean hasDataAccess; try { AccessControl accessControl = _accessControlFactory.create(); - hasDataAccess = accessControl.hasDataAccess(httpHeaders, tableName); + hasDataAccess = accessControl.hasAccess(tableName, AccessType.READ, httpHeaders, Actions.Table.DOWNLOAD_SEGMENT); } catch (Exception e) { throw new ControllerApplicationException(LOGGER, "Caught exception while validating access to table: " + tableName, Response.Status.INTERNAL_SERVER_ERROR, e); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org