This is an automated email from the ASF dual-hosted git repository.
Aias00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new 23944812cc [type:fix] page the instance info list query in the
database (#6807) (#7216)
23944812cc is described below
commit 23944812ccd09a71eb2639e91abe4fabb47d8f27
Author: HY-love-sleep <[email protected]>
AuthorDate: Sat Sep 26 07:17:27 2026 +0800
[type:fix] page the instance info list query in the database (#6807) (#7216)
---
.../shenyu/admin/service/impl/InstanceInfoServiceImpl.java | 2 ++
.../apache/shenyu/admin/service/InstanceInfoServiceTest.java | 11 +++++++++++
2 files changed, 13 insertions(+)
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/InstanceInfoServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/InstanceInfoServiceImpl.java
index 62fcf2dd9c..4a6ee389a6 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/InstanceInfoServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/InstanceInfoServiceImpl.java
@@ -17,6 +17,7 @@
package org.apache.shenyu.admin.service.impl;
+import org.apache.shenyu.admin.aspect.annotation.Pageable;
import org.apache.shenyu.admin.mapper.InstanceInfoMapper;
import org.apache.shenyu.admin.model.entity.InstanceInfoDO;
import org.apache.shenyu.admin.model.page.CommonPager;
@@ -77,6 +78,7 @@ public class InstanceInfoServiceImpl implements
InstanceInfoService {
instanceInfoMapper.updateById(infoDO);
}
+ @Pageable
@Override
public CommonPager<InstanceInfoVO> listByPage(final InstanceQuery
instanceQuery) {
List<InstanceInfoDO> instanceInfoDOList =
instanceInfoMapper.selectByQuery(instanceQuery);
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/InstanceInfoServiceTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/InstanceInfoServiceTest.java
index 59ca4e3254..2b0aa293f7 100644
---
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/InstanceInfoServiceTest.java
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/InstanceInfoServiceTest.java
@@ -17,6 +17,7 @@
package org.apache.shenyu.admin.service;
+import org.apache.shenyu.admin.aspect.annotation.Pageable;
import org.apache.shenyu.admin.mapper.InstanceInfoMapper;
import org.apache.shenyu.admin.model.entity.InstanceInfoDO;
import org.apache.shenyu.admin.model.page.CommonPager;
@@ -31,6 +32,7 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
+import java.lang.reflect.Method;
import java.sql.Timestamp;
import java.util.Collections;
import java.util.List;
@@ -38,6 +40,7 @@ import java.util.List;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasSize;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.mockito.ArgumentMatchers.any;
@@ -129,6 +132,14 @@ public final class InstanceInfoServiceTest {
return v;
}
+ @Test
+ public void testListByPageIsPageable() throws NoSuchMethodException {
+ // instance_info is a TEXT column holding the whole instance metadata
JSON, so without
+ // @Pageable one list request loads every row of the namespace into
memory
+ Method listByPage =
InstanceInfoServiceImpl.class.getDeclaredMethod("listByPage",
InstanceQuery.class);
+ assertTrue(listByPage.isAnnotationPresent(Pageable.class));
+ }
+
private InstanceInfoDO buildDO() {
InstanceInfoDO d = new InstanceInfoDO();
d.setId("id-1");