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

Reply via email to