This is an automated email from the ASF dual-hosted git repository.
justinchen pushed a commit to branch pipe_auth
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/pipe_auth by this push:
new d8f187cb341 fix
d8f187cb341 is described below
commit d8f187cb34170d5ee8dc289f01e841156082ffb2
Author: Caideyipi <[email protected]>
AuthorDate: Mon Dec 1 18:34:05 2025 +0800
fix
---
.../iotdb/pipe/it/single/IoTDBPipePermissionIT.java | 17 +++++++----------
.../InformationSchemaContentSupplierFactory.java | 6 ++++--
.../plan/execution/config/TableConfigTaskVisitor.java | 1 -
3 files changed, 11 insertions(+), 13 deletions(-)
diff --git
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipePermissionIT.java
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipePermissionIT.java
index 33ab3d7a6a6..49154de16e2 100644
---
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipePermissionIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipePermissionIT.java
@@ -19,8 +19,6 @@
package org.apache.iotdb.pipe.it.single;
-import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
-import org.apache.iotdb.confignode.rpc.thrift.TShowPipeReq;
import org.apache.iotdb.db.it.utils.TestUtils;
import org.apache.iotdb.it.framework.IoTDBTestRunner;
import org.apache.iotdb.itbase.category.MultiClusterIT1;
@@ -33,6 +31,7 @@ import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import java.sql.Connection;
+import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
@@ -156,14 +155,12 @@ public class IoTDBPipePermissionIT extends
AbstractPipeSingleIT {
}
// A user shall only see its own pipe
- try (final SyncConfigNodeIServiceClient client =
- (SyncConfigNodeIServiceClient) env.getLeaderConfigNodeConnection()) {
- Assert.assertEquals(
- 1,
- client
- .showPipe(new
TShowPipeReq().setIsTableModel(true).setUserName("thulab"))
- .pipeInfoList
- .size());
+ try (final Connection connection =
+ env.getConnection("thulab", "passwd", BaseEnv.TABLE_SQL_DIALECT);
+ final Statement statement = connection.createStatement()) {
+ final ResultSet result = statement.executeQuery("show pipes");
+ Assert.assertTrue(result.next());
+ Assert.assertFalse(result.next());
} catch (Exception e) {
fail(e.getMessage());
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
index 51c8c72e894..d7a6e1767a9 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
@@ -143,7 +143,7 @@ public class InformationSchemaContentSupplierFactory {
case InformationSchema.PIPES:
return new PipeSupplier(dataTypes, userEntity.getUsername());
case InformationSchema.PIPE_PLUGINS:
- return new PipePluginSupplier(dataTypes);
+ return new PipePluginSupplier(dataTypes, userEntity);
case InformationSchema.TOPICS:
return new TopicSupplier(dataTypes, userEntity);
case InformationSchema.SUBSCRIPTIONS:
@@ -603,8 +603,10 @@ public class InformationSchemaContentSupplierFactory {
private static class PipePluginSupplier extends TsBlockSupplier {
private final Iterator<PipePluginMeta> iterator;
- private PipePluginSupplier(final List<TSDataType> dataTypes) throws
Exception {
+ private PipePluginSupplier(final List<TSDataType> dataTypes, final
UserEntity entity)
+ throws Exception {
super(dataTypes);
+ accessControl.checkUserGlobalSysPrivilege(entity);
try (final ConfigNodeClient client =
ConfigNodeClientManager.getInstance().borrowClient(ConfigNodeInfo.CONFIG_REGION_ID))
{
iterator =
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
index 417e65d4fe4..b7fe3f7eb68 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
@@ -1270,7 +1270,6 @@ public class TableConfigTaskVisitor extends
AstVisitor<IConfigTask, MPPQueryCont
@Override
protected IConfigTask visitShowPipes(ShowPipes node, MPPQueryContext
context) {
context.setQueryType(QueryType.READ);
- accessControl.checkUserGlobalSysPrivilege(context);
return new ShowPipeTask(node, context.getSession().getUserName());
}