Skip to content

Commit 683ce0c

Browse files
TEOTEO520teoteo
authored
[#6467] improve(core): Allow JDBC backend configs be configurable (#6469)
### What changes were proposed in this pull request? - Add two configurations for the Gravitino server: `gravitino.entity.store.relational.maxConnections` and `gravitino.entity.store.relational.maxWaitMillis` to control the connection pool when connecting to the JDBC storage backend. - Add docs about these configurations accordingly. ### Why are the changes needed? To support users to configure JDBC connection pool parameters Fix: #6467 ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? No need to test --------- Co-authored-by: teo <litianhang@bilibili.com> Co-authored-by: teo <litianhang@bilibili.co>
1 parent 8cc094c commit 683ce0c

File tree

14 files changed

+94
-14
lines changed

14 files changed

+94
-14
lines changed

catalogs/catalog-hadoop/src/test/java/org/apache/gravitino/catalog/hadoop/TestHadoopCatalogOperations.java

+4
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@
2020

2121
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2222
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
23+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2324
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PATH;
2526
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
2627
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_USER;
28+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2729
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2830
import static org.apache.gravitino.Configs.ENTITY_STORE;
2931
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -181,6 +183,8 @@ public static void setUp() {
181183
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_USER)).thenReturn("gravitino");
182184
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD)).thenReturn("gravitino");
183185
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
186+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
187+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
184188

185189
File f = FileUtils.getFile(STORE_PATH);
186190
f.deleteOnExit();

catalogs/catalog-kafka/src/test/java/org/apache/gravitino/catalog/kafka/TestKafkaCatalogOperations.java

+4
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121
import static org.apache.gravitino.Catalog.Type.MESSAGING;
2222
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2323
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
24+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD;
2526
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PATH;
2627
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
2728
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_USER;
29+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2830
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2931
import static org.apache.gravitino.Configs.ENTITY_STORE;
3032
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -138,6 +140,8 @@ public static void setUp() {
138140
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_USER)).thenReturn("gravitino");
139141
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD)).thenReturn("gravitino");
140142
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
143+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
144+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
141145

142146
File f = FileUtils.getFile(STORE_PATH);
143147
f.deleteOnExit();

catalogs/catalog-model/src/test/java/org/apache/gravtitino/catalog/model/TestModelCatalogOperations.java

+4
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@
2020

2121
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2222
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
23+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2324
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PATH;
2526
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
2627
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_USER;
28+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2729
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2830
import static org.apache.gravitino.Configs.ENTITY_STORE;
2931
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -106,6 +108,8 @@ public static void setUp() throws IOException {
106108
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_USER)).thenReturn("gravitino");
107109
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD)).thenReturn("gravitino");
108110
when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
111+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
112+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
109113

110114
when(config.get(VERSION_RETENTION_COUNT)).thenReturn(1L);
111115
when(config.get(STORE_TRANSACTION_MAX_SKEW_TIME)).thenReturn(1000L);

core/src/main/java/org/apache/gravitino/Configs.java

+25
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ private Configs() {}
4848
public static final String ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD_KEY =
4949
"gravitino.entity.store.relational.jdbcPassword";
5050

51+
public static final String ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTION_KEYS =
52+
"gravitino.entity.store.relational.maxConnections";
53+
54+
public static final String ENTITY_RELATIONAL_JDBC_BACKEND_MAX_WAIT_MILLIS_CONNECTION_KEY =
55+
"gravitino.entity.store.relational.maxWaitMillis";
56+
5157
public static final String ENTITY_RELATIONAL_JDBC_BACKEND_STORAGE_PATH_KEY =
5258
"gravitino.entity.store.relational.storagePath";
5359

@@ -84,6 +90,10 @@ private Configs() {}
8490

8591
public static final String DEFAULT_RELATIONAL_JDBC_BACKEND_PASSWORD = "gravitino";
8692

93+
public static final int DEFAULT_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS = 100;
94+
95+
public static final long DEFAULT_RELATIONAL_JDBC_BACKEND_MAX_WAIT_MILLISECONDS = 1000L;
96+
8797
public static final int GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT = 100;
8898
public static final long MAX_NODE_IN_MEMORY = 100000L;
8999

@@ -137,6 +147,21 @@ private Configs() {}
137147
.stringConf()
138148
.createWithDefault(DEFAULT_RELATIONAL_JDBC_BACKEND_PASSWORD);
139149

150+
public static final ConfigEntry<Integer> ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS =
151+
new ConfigBuilder(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTION_KEYS)
152+
.doc("The maximum number of connections for the JDBC Backend connection pool")
153+
.version(ConfigConstants.VERSION_0_9_0)
154+
.intConf()
155+
.createWithDefault(DEFAULT_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS);
156+
157+
public static final ConfigEntry<Long> ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS =
158+
new ConfigBuilder(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_WAIT_MILLIS_CONNECTION_KEY)
159+
.doc(
160+
"The maximum wait time in milliseconds for a connection from the JDBC Backend connection pool")
161+
.version(ConfigConstants.VERSION_0_9_0)
162+
.longConf()
163+
.createWithDefault(DEFAULT_RELATIONAL_JDBC_BACKEND_MAX_WAIT_MILLISECONDS);
164+
140165
public static final ConfigEntry<String> ENTITY_RELATIONAL_JDBC_BACKEND_PATH =
141166
new ConfigBuilder(ENTITY_RELATIONAL_JDBC_BACKEND_STORAGE_PATH_KEY)
142167
.doc(

core/src/main/java/org/apache/gravitino/storage/relational/session/SqlSessionFactoryHelper.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,9 @@ public void init(Config config) {
8989
dataSource.setPassword(config.get(Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD));
9090
// Close the auto commit, so that we can control the transaction manual commit
9191
dataSource.setDefaultAutoCommit(false);
92-
dataSource.setMaxWaitMillis(1000L);
93-
dataSource.setMaxTotal(20);
92+
dataSource.setMaxWaitMillis(
93+
config.get(Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS));
94+
dataSource.setMaxTotal(config.get(Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS));
9495
dataSource.setMaxIdle(5);
9596
dataSource.setMinIdle(0);
9697
dataSource.setLogAbandoned(true);

core/src/test/java/org/apache/gravitino/authorization/TestAccessControlManager.java

+4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
import static org.apache.gravitino.Configs.CATALOG_CACHE_EVICTION_INTERVAL_MS;
2222
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2323
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
24+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
26+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2527
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2628
import static org.apache.gravitino.Configs.ENTITY_STORE;
2729
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -122,6 +124,8 @@ public static void setUp() throws Exception {
122124
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_URL))
123125
.thenReturn(String.format("jdbc:h2:file:%s;DB_CLOSE_DELAY=-1;MODE=MYSQL", DB_DIR));
124126
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
127+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
128+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
125129
Mockito.when(config.get(STORE_TRANSACTION_MAX_SKEW_TIME)).thenReturn(1000L);
126130
Mockito.when(config.get(STORE_DELETE_AFTER_TIME)).thenReturn(20 * 60 * 1000L);
127131
Mockito.when(config.get(VERSION_RETENTION_COUNT)).thenReturn(1L);

core/src/test/java/org/apache/gravitino/authorization/TestOwnerManager.java

+4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
import static org.apache.gravitino.Configs.CATALOG_CACHE_EVICTION_INTERVAL_MS;
2222
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2323
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
24+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
26+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2527
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2628
import static org.apache.gravitino.Configs.ENTITY_STORE;
2729
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -95,6 +97,8 @@ public static void setUp() throws IOException, IllegalAccessException {
9597
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_URL))
9698
.thenReturn(String.format("jdbc:h2:file:%s;DB_CLOSE_DELAY=-1;MODE=MYSQL", DB_DIR));
9799
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
100+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
101+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
98102
Mockito.when(config.get(STORE_TRANSACTION_MAX_SKEW_TIME)).thenReturn(1000L);
99103
Mockito.when(config.get(STORE_DELETE_AFTER_TIME)).thenReturn(20 * 60 * 1000L);
100104
Mockito.when(config.get(VERSION_RETENTION_COUNT)).thenReturn(1L);

core/src/test/java/org/apache/gravitino/hook/TestFilesetHookDispatcher.java

+5
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
import static org.apache.gravitino.Configs.CATALOG_CACHE_EVICTION_INTERVAL_MS;
2222
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2323
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
24+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
26+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2527
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2628
import static org.apache.gravitino.Configs.ENTITY_STORE;
2729
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -107,6 +109,9 @@ public void testDropAuthorizationPrivilege() {
107109
String.format("jdbc:h2:file:%s;DB_CLOSE_DELAY=-1;MODE=MYSQL", "/tmp/testdb"));
108110
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER))
109111
.thenReturn("org.h2.Driver");
112+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
113+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS))
114+
.thenReturn(1000L);
110115
Mockito.when(config.get(STORE_TRANSACTION_MAX_SKEW_TIME)).thenReturn(1000L);
111116
Mockito.when(config.get(STORE_DELETE_AFTER_TIME)).thenReturn(20 * 60 * 1000L);
112117
Mockito.when(config.get(VERSION_RETENTION_COUNT)).thenReturn(1L);

core/src/test/java/org/apache/gravitino/hook/TestTableHookDispatcher.java

+5
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
import static org.apache.gravitino.Configs.CATALOG_CACHE_EVICTION_INTERVAL_MS;
2222
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2323
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
24+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
26+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2527
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2628
import static org.apache.gravitino.Configs.ENTITY_STORE;
2729
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -151,6 +153,9 @@ public void testDropAuthorizationPrivilege() {
151153
String.format("jdbc:h2:file:%s;DB_CLOSE_DELAY=-1;MODE=MYSQL", "/tmp/testdb"));
152154
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER))
153155
.thenReturn("org.h2.Driver");
156+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
157+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS))
158+
.thenReturn(1000L);
154159
Mockito.when(config.get(STORE_TRANSACTION_MAX_SKEW_TIME)).thenReturn(1000L);
155160
Mockito.when(config.get(STORE_DELETE_AFTER_TIME)).thenReturn(20 * 60 * 1000L);
156161
Mockito.when(config.get(VERSION_RETENTION_COUNT)).thenReturn(1L);

core/src/test/java/org/apache/gravitino/storage/TestEntityStorage.java

+10
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121

2222
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2323
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
24+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD;
2526
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PATH;
2627
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
2728
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_USER;
29+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2830
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2931
import static org.apache.gravitino.Configs.ENTITY_STORE;
3032
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -132,6 +134,8 @@ private void init(String type, Config config) {
132134
Mockito.when(config.get(ENTITY_STORE)).thenReturn(RELATIONAL_ENTITY_STORE);
133135
Mockito.when(config.get(ENTITY_RELATIONAL_STORE)).thenReturn(DEFAULT_ENTITY_RELATIONAL_STORE);
134136
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PATH)).thenReturn(DB_DIR);
137+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
138+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
135139
Mockito.when(config.get(STORE_DELETE_AFTER_TIME)).thenReturn(20 * 60 * 1000L);
136140
Mockito.when(config.get(VERSION_RETENTION_COUNT)).thenReturn(1L);
137141
BaseIT baseIT = new BaseIT();
@@ -146,6 +150,9 @@ private void init(String type, Config config) {
146150
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_USER)).thenReturn("gravitino");
147151
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD)).thenReturn("gravitino");
148152
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
153+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
154+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS))
155+
.thenReturn(1000L);
149156

150157
FieldUtils.writeStaticField(
151158
SQLExceptionConverterFactory.class, "converter", new H2ExceptionConverter(), true);
@@ -157,6 +164,9 @@ private void init(String type, Config config) {
157164
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD)).thenReturn("root");
158165
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER))
159166
.thenReturn("com.mysql.cj.jdbc.Driver");
167+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
168+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS))
169+
.thenReturn(1000L);
160170

161171
FieldUtils.writeStaticField(
162172
SQLExceptionConverterFactory.class, "converter", new MySQLExceptionConverter(), true);

core/src/test/java/org/apache/gravitino/storage/relational/TestJDBCBackend.java

+4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020

2121
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2222
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
23+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2324
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
2526
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_USER;
27+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2628
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2729
import static org.apache.gravitino.Configs.ENTITY_STORE;
2830
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -120,6 +122,8 @@ public static void setup() {
120122
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_USER)).thenReturn("root");
121123
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD)).thenReturn("123456");
122124
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
125+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
126+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
123127

124128
String backendName = config.get(ENTITY_RELATIONAL_STORE);
125129
String className =

core/src/test/java/org/apache/gravitino/storage/relational/session/TestSqlSession.java

+4
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@
2121

2222
import static org.apache.gravitino.Configs.DEFAULT_ENTITY_RELATIONAL_STORE;
2323
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER;
24+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS;
2425
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD;
2526
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_URL;
2627
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_USER;
28+
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS;
2729
import static org.apache.gravitino.Configs.ENTITY_RELATIONAL_STORE;
2830
import static org.apache.gravitino.Configs.ENTITY_STORE;
2931
import static org.apache.gravitino.Configs.RELATIONAL_ENTITY_STORE;
@@ -72,6 +74,8 @@ public static void setUp() {
7274
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_USER)).thenReturn("root");
7375
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_PASSWORD)).thenReturn("123");
7476
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_DRIVER)).thenReturn("org.h2.Driver");
77+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_MAX_CONNECTIONS)).thenReturn(100);
78+
Mockito.when(config.get(ENTITY_RELATIONAL_JDBC_BACKEND_WAIT_MILLISECONDS)).thenReturn(1000L);
7579
}
7680

7781
@BeforeEach

0 commit comments

Comments
 (0)