Skip to content

Commit 319c72b

Browse files
authored
Merge branch 'main' into fix/wrong-py-classifiers-setup-py-6636
2 parents de81879 + 0e41493 commit 319c72b

File tree

6 files changed

+52
-27
lines changed

6 files changed

+52
-27
lines changed

catalogs/catalog-jdbc-common/src/main/java/org/apache/gravitino/catalog/jdbc/JdbcCatalogPropertiesMetadata.java

+11-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package org.apache.gravitino.catalog.jdbc;
2020

21+
import static org.apache.gravitino.connector.PropertyEntry.booleanPropertyEntry;
2122
import static org.apache.gravitino.connector.PropertyEntry.integerPropertyEntry;
2223
import static org.apache.gravitino.connector.PropertyEntry.stringOptionalPropertyEntry;
2324
import static org.apache.gravitino.connector.PropertyEntry.stringPropertyEntry;
@@ -42,7 +43,8 @@ public class JdbcCatalogPropertiesMetadata extends BaseCatalogPropertiesMetadata
4243
JdbcConfig.USERNAME.getKey(),
4344
JdbcConfig.PASSWORD.getKey(),
4445
JdbcConfig.POOL_MIN_SIZE.getKey(),
45-
JdbcConfig.POOL_MAX_SIZE.getKey());
46+
JdbcConfig.POOL_MAX_SIZE.getKey(),
47+
JdbcConfig.TEST_ON_BORROW.getKey());
4648

4749
static {
4850
List<PropertyEntry<?>> propertyEntries =
@@ -100,6 +102,14 @@ public class JdbcCatalogPropertiesMetadata extends BaseCatalogPropertiesMetadata
100102
false /* immutable */,
101103
JdbcConfig.POOL_MAX_SIZE.getDefaultValue(),
102104
true /* hidden */,
105+
false /* reserved */),
106+
booleanPropertyEntry(
107+
JdbcConfig.TEST_ON_BORROW.getKey(),
108+
JdbcConfig.TEST_ON_BORROW.getDoc(),
109+
false /* required */,
110+
false /* immutable */,
111+
JdbcConfig.TEST_ON_BORROW.getDefaultValue(),
112+
true /* hidden */,
103113
false /* reserved */));
104114
PROPERTIES_METADATA =
105115
ImmutableMap.<String, PropertyEntry<?>>builder()

catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/TestJdbcCatalogOperations.java

+23
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,20 @@
1919
package org.apache.gravitino.catalog.jdbc;
2020

2121
import com.google.common.collect.ImmutableMap;
22+
import com.google.common.collect.Maps;
23+
import java.sql.SQLException;
24+
import java.util.HashMap;
25+
import javax.sql.DataSource;
26+
import org.apache.commons.dbcp2.BasicDataSource;
2227
import org.apache.gravitino.Catalog;
2328
import org.apache.gravitino.NameIdentifier;
29+
import org.apache.gravitino.catalog.jdbc.config.JdbcConfig;
2430
import org.apache.gravitino.catalog.jdbc.converter.SqliteColumnDefaultValueConverter;
2531
import org.apache.gravitino.catalog.jdbc.converter.SqliteExceptionConverter;
2632
import org.apache.gravitino.catalog.jdbc.converter.SqliteTypeConverter;
2733
import org.apache.gravitino.catalog.jdbc.operation.SqliteDatabaseOperations;
2834
import org.apache.gravitino.catalog.jdbc.operation.SqliteTableOperations;
35+
import org.apache.gravitino.catalog.jdbc.utils.DataSourceUtils;
2936
import org.apache.gravitino.exceptions.GravitinoRuntimeException;
3037
import org.junit.jupiter.api.Assertions;
3138
import org.junit.jupiter.api.Test;
@@ -51,4 +58,20 @@ public void testTestConnection() {
5158
"comment",
5259
ImmutableMap.of()));
5360
}
61+
62+
@Test
63+
public void testConfigTestOnBorrow() throws SQLException {
64+
HashMap<String, String> properties = Maps.newHashMap();
65+
properties.put(JdbcConfig.JDBC_DRIVER.getKey(), "org.sqlite.JDBC");
66+
properties.put(JdbcConfig.JDBC_URL.getKey(), "jdbc:sqlite::memory:");
67+
properties.put(JdbcConfig.USERNAME.getKey(), "test");
68+
properties.put(JdbcConfig.PASSWORD.getKey(), "test");
69+
properties.put(JdbcConfig.TEST_ON_BORROW.getKey(), "false");
70+
71+
DataSource dataSource =
72+
Assertions.assertDoesNotThrow(() -> DataSourceUtils.createDataSource(properties));
73+
Assertions.assertTrue(dataSource instanceof org.apache.commons.dbcp2.BasicDataSource);
74+
Assertions.assertTrue(((BasicDataSource) dataSource).getTestOnBorrow() == false);
75+
((BasicDataSource) dataSource).close();
76+
}
5477
}

dev/docker/hive/start.sh

+12
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ if [[ -n "$SERVICE_ACCOUNT_FILE" ]]; then
6969
sed -i "s|SERVICE_ACCOUNT_FILE|${SERVICE_ACCOUNT_FILE}|g" ${HIVE_CONF_DIR}/hive-site.xml
7070
fi
7171

72+
sed -i "s/useSSL=false/useSSL=false\&amp;characterEncoding=utf8\&amp;useUnicode=true/g" ${HIVE_CONF_DIR}/hive-site.xml
73+
7274
# Link mysql-connector-java after deciding where HIVE_HOME symbolic link points to.
7375
ln -s /opt/mysql-connector-java-${MYSQL_JDBC_DRIVER_VERSION}/mysql-connector-java-${MYSQL_JDBC_DRIVER_VERSION}.jar ${HIVE_HOME}/lib
7476

@@ -168,6 +170,16 @@ echo """
168170
# start hive
169171
echo "Starting Hive..."
170172
${HIVE_HOME}/bin/schematool -initSchema -dbType mysql
173+
echo """
174+
alter table DBS modify column \`DESC\` varchar(4000) character set utf8mb4 collate utf8mb4_bin;
175+
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8mb4 collate utf8mb4_bin;
176+
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8mb4 collate utf8mb4_bin;
177+
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8mb4 collate utf8mb4_bin;
178+
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8mb4 collate utf8mb4_bin;
179+
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8mb4 collate utf8mb4_bin;
180+
alter table PARTITIONS modify column PART_NAME varchar(757) character set utf8mb4 collate utf8mb4_bin;
181+
""" | mysql --user=root --password=${MYSQL_PWD} -Dmetastore_db
182+
171183
${HIVE_HOME}/bin/hive --service hiveserver2 > /dev/null 2>&1 &
172184
${HIVE_HOME}/bin/hive --service metastore > /dev/null 2>&1 &
173185

flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/catalog/BaseCatalog.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,14 @@ protected BaseCatalog(
104104
protected abstract AbstractCatalog realCatalog();
105105

106106
@Override
107-
public void open() throws CatalogException {}
107+
public void open() throws CatalogException {
108+
realCatalog().open();
109+
}
108110

109111
@Override
110-
public void close() throws CatalogException {}
112+
public void close() throws CatalogException {
113+
realCatalog().close();
114+
}
111115

112116
@Override
113117
public List<String> listDatabases() throws CatalogException {

flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/hive/GravitinoHiveCatalog.java

-13
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.util.Optional;
2222
import javax.annotation.Nullable;
2323
import org.apache.flink.table.catalog.AbstractCatalog;
24-
import org.apache.flink.table.catalog.exceptions.CatalogException;
2524
import org.apache.flink.table.catalog.hive.HiveCatalog;
2625
import org.apache.flink.table.factories.Factory;
2726
import org.apache.gravitino.flink.connector.PartitionConverter;
@@ -48,18 +47,6 @@ public class GravitinoHiveCatalog extends BaseCatalog {
4847
this.hiveCatalog = new HiveCatalog(catalogName, defaultDatabase, hiveConf, hiveVersion);
4948
}
5049

51-
@Override
52-
public void open() throws CatalogException {
53-
super.open();
54-
hiveCatalog.open();
55-
}
56-
57-
@Override
58-
public void close() throws CatalogException {
59-
super.close();
60-
hiveCatalog.close();
61-
}
62-
6350
public HiveConf getHiveConf() {
6451
return hiveCatalog.getHiveConf();
6552
}

flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/iceberg/GravitinoIcebergCatalog.java

-11
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.util.Map;
2222
import java.util.Optional;
2323
import org.apache.flink.table.catalog.AbstractCatalog;
24-
import org.apache.flink.table.catalog.exceptions.CatalogException;
2524
import org.apache.flink.table.factories.Factory;
2625
import org.apache.gravitino.flink.connector.PartitionConverter;
2726
import org.apache.gravitino.flink.connector.PropertiesConverter;
@@ -45,16 +44,6 @@ protected GravitinoIcebergCatalog(
4544
this.icebergCatalog = (FlinkCatalog) flinkCatalogFactory.createCatalog(catalogName, properties);
4645
}
4746

48-
@Override
49-
public void open() throws CatalogException {
50-
icebergCatalog.open();
51-
}
52-
53-
@Override
54-
public void close() throws CatalogException {
55-
icebergCatalog.close();
56-
}
57-
5847
@Override
5948
public Optional<Factory> getFactory() {
6049
return icebergCatalog.getFactory();

0 commit comments

Comments
 (0)