This is an automated email from the ASF dual-hosted git repository.
jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new b9d3c063a8a Make JDBC's log implementation optional (#24087)
b9d3c063a8a is described below
commit b9d3c063a8acad209cd17a5880f2f667a1999b39
Author: ChenJiaHao <[email protected]>
AuthorDate: Fri Feb 10 14:26:48 2023 +0800
Make JDBC's log implementation optional (#24087)
* Remove dependency to logging module in JDBC
* Fix UT
* Disable refreshLogger and make refreshRootLogger only work on Proxy
---
infra/context/pom.xml | 5 -----
.../infra/context/kernel/KernelProcessor.java | 19 +------------------
.../infra/context/kernel/KernelProcessorTest.java | 2 --
jdbc/core/pom.xml | 10 +++++-----
.../logging/rule/builder/LoggingRuleBuilder.java | 4 ++--
mode/core/pom.xml | 5 -----
.../mode/metadata/MetaDataContexts.java | 18 ------------------
.../ConfigurationChangedSubscriberTest.java | 4 +---
proxy/backend/pom.xml | 5 +++++
.../distsql/ral/updatable/SetDistVariableHandler.java | 15 +++++++++++++++
10 files changed, 29 insertions(+), 58 deletions(-)
diff --git a/infra/context/pom.xml b/infra/context/pom.xml
index 4d953c382e4..a4b50e2a140 100644
--- a/infra/context/pom.xml
+++ b/infra/context/pom.xml
@@ -48,11 +48,6 @@
<artifactId>shardingsphere-authority-core</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-logging-core</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-core</artifactId>
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
index fcf2756b9f7..4b0d918f111 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
@@ -30,12 +30,6 @@ import
org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry;
import org.apache.shardingsphere.infra.rewrite.engine.result.SQLRewriteResult;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.engine.SQLRouteEngine;
-import org.apache.shardingsphere.logging.constant.LoggingConstants;
-import org.apache.shardingsphere.logging.logger.ShardingSphereLogger;
-import org.apache.shardingsphere.logging.utils.LoggingUtils;
-
-import java.util.Optional;
-import java.util.Properties;
/**
* Kernel processor.
@@ -77,19 +71,8 @@ public final class KernelProcessor {
}
private void logSQL(final QueryContext queryContext, final
ShardingSphereRuleMetaData globalRuleMetaData, final ConfigurationProperties
props, final ExecutionContext executionContext) {
- Optional<ShardingSphereLogger> sqlLogger =
LoggingUtils.getSQLLogger(globalRuleMetaData);
- if (sqlLogger.isPresent() &&
sqlLogger.get().getProps().containsKey(LoggingConstants.SQL_LOG_ENABLE)) {
- logSQL(queryContext, executionContext, sqlLogger.get());
- } else if (props.<Boolean>getValue(ConfigurationPropertyKey.SQL_SHOW))
{
+ if (props.<Boolean>getValue(ConfigurationPropertyKey.SQL_SHOW)) {
SQLLogger.logSQL(queryContext,
props.<Boolean>getValue(ConfigurationPropertyKey.SQL_SIMPLE), executionContext);
}
}
-
- private void logSQL(final QueryContext queryContext, final
ExecutionContext executionContext, final ShardingSphereLogger sqlLogger) {
- Properties loggerProps = sqlLogger.getProps();
- if (loggerProps.containsKey(LoggingConstants.SQL_LOG_ENABLE) &&
Boolean.parseBoolean(loggerProps.get(LoggingConstants.SQL_LOG_ENABLE).toString()))
{
- SQLLogger.logSQL(queryContext,
loggerProps.containsKey(LoggingConstants.SQL_LOG_SIMPLE) &&
Boolean.parseBoolean(loggerProps.get(LoggingConstants.SQL_SIMPLE).toString()),
- executionContext);
- }
- }
}
diff --git
a/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
b/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
index e93b24365a3..b3abfcccb8b 100644
---
a/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
+++
b/infra/context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.logging.rule.LoggingRule;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
@@ -67,7 +66,6 @@ public final class KernelProcessorTest {
private Collection<ShardingSphereRule> mockShardingSphereRule() {
Collection<ShardingSphereRule> result = new LinkedList<>();
result.add(mock(SQLTranslatorRule.class));
- result.add(mock(LoggingRule.class, RETURNS_DEEP_STUBS));
return result;
}
}
diff --git a/jdbc/core/pom.xml b/jdbc/core/pom.xml
index b8d153a48da..34cb1d09730 100644
--- a/jdbc/core/pom.xml
+++ b/jdbc/core/pom.xml
@@ -80,11 +80,6 @@
<artifactId>shardingsphere-authority-core</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-logging-core</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-single-core</artifactId>
@@ -175,6 +170,11 @@
<artifactId>shardingsphere-parser-core</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-logging-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
diff --git
a/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
b/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
index da8e313899e..ebec18cebc1 100644
---
a/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
+++
b/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/rule/builder/LoggingRuleBuilder.java
@@ -35,8 +35,8 @@ public final class LoggingRuleBuilder implements
GlobalRuleBuilder<LoggingRuleCo
@Override
public LoggingRule build(final LoggingRuleConfiguration ruleConfig, final
Map<String, ShardingSphereDatabase> databases, final ConfigurationProperties
props) {
LoggingUtils.syncLoggingConfig(ruleConfig, props);
- // TODO skip this while instance type is JDBC
- LoggingUtils.refreshLogger(ruleConfig);
+ // TODO Make it only work on Proxy
+ // LoggingUtils.refreshLogger(ruleConfig);
return new LoggingRule(ruleConfig);
}
diff --git a/mode/core/pom.xml b/mode/core/pom.xml
index 1b82cd6480f..ffe959ef76f 100644
--- a/mode/core/pom.xml
+++ b/mode/core/pom.xml
@@ -33,11 +33,6 @@
<artifactId>shardingsphere-infra-context</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <scope>compile</scope>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
index 107908806b1..4d8d65bdac0 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
@@ -17,11 +17,7 @@
package org.apache.shardingsphere.mode.metadata;
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.Logger;
-import ch.qos.logback.classic.LoggerContext;
import lombok.Getter;
-import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import
org.apache.shardingsphere.infra.database.type.dialect.OpenGaussDatabaseType;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.data.ShardingSphereData;
@@ -32,11 +28,9 @@ import
org.apache.shardingsphere.infra.metadata.data.builder.ShardingSphereDataB
import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
-import org.slf4j.LoggerFactory;
import java.util.Map.Entry;
import java.util.Optional;
-import java.util.Properties;
/**
* Meta data contexts.
@@ -68,8 +62,6 @@ public final class MetaDataContexts implements AutoCloseable {
Optional<ShardingSphereData> loadedShardingSphereData =
Optional.ofNullable(persistService.getShardingSphereDataPersistService())
.flatMap(shardingSphereDataPersistService ->
shardingSphereDataPersistService.load(metaData));
loadedShardingSphereData.ifPresent(optional ->
useLoadedToReplaceInit(result, optional));
- // TODO skip this while instance type is JDBC
- refreshRootLogger(metaData.getProps().getProps());
return result;
}
@@ -97,16 +89,6 @@ public final class MetaDataContexts implements AutoCloseable
{
}
}
- private void refreshRootLogger(final Properties props) {
- LoggerContext loggerContext = (LoggerContext)
LoggerFactory.getILoggerFactory();
- Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
- renewRootLoggerLevel(rootLogger, props);
- }
-
- private void renewRootLoggerLevel(final Logger rootLogger, final
Properties props) {
-
rootLogger.setLevel(Level.valueOf(props.getOrDefault(ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getKey(),
ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getDefaultValue()).toString()));
- }
-
@Override
public void close() {
persistService.getRepository().close();
diff --git
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
index 816209442ae..05498434500 100644
---
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
+++
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ConfigurationChangedSubscriberTest.java
@@ -37,7 +37,6 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
-import org.apache.shardingsphere.logging.rule.LoggingRule;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
import
org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder;
@@ -155,11 +154,10 @@ public final class ConfigurationChangedSubscriberTest {
GlobalRuleConfigurationsChangedEvent event = new
GlobalRuleConfigurationsChangedEvent(getChangedGlobalRuleConfigurations());
subscriber.renew(event);
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
not(globalRuleMetaData));
-
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().size(),
is(4));
+
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().size(),
is(3));
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
-> each instanceof AuthorityRule).count(), is(1L));
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
-> each instanceof TransactionRule).count(), is(1L));
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
-> each instanceof SQLTranslatorRule).count(), is(1L));
-
assertThat(contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules().stream().filter(each
-> each instanceof LoggingRule).count(), is(1L));
}
private Collection<RuleConfiguration> getChangedGlobalRuleConfigurations()
{
diff --git a/proxy/backend/pom.xml b/proxy/backend/pom.xml
index c68dacbe35a..4628f29d12d 100644
--- a/proxy/backend/pom.xml
+++ b/proxy/backend/pom.xml
@@ -198,6 +198,11 @@
<artifactId>shardingsphere-logging-core</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <scope>compile</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
diff --git
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
index d727ee70621..4e3eec286e8 100644
---
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
+++
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableHandler.java
@@ -17,6 +17,9 @@
package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.Logger;
+import ch.qos.logback.classic.LoggerContext;
import org.apache.commons.lang3.BooleanUtils;
import
org.apache.shardingsphere.distsql.parser.statement.ral.updatable.SetDistVariableStatement;
import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
@@ -33,6 +36,7 @@ import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.UpdatableRALB
import
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.common.enums.VariableEnum;
import org.apache.shardingsphere.proxy.backend.util.SystemPropertyUtil;
import org.apache.shardingsphere.transaction.api.TransactionType;
+import org.slf4j.LoggerFactory;
import java.util.Properties;
@@ -68,6 +72,7 @@ public final class SetDistVariableHandler extends
UpdatableRALBackendHandler<Set
props.putAll(metaDataContexts.getMetaData().getProps().getProps());
props.put(propertyKey.getKey(), getValue(propertyKey, value));
contextManager.getInstanceContext().getModeContextManager().alterProperties(props);
+ refreshRootLogger(props);
syncSQLShowToLoggingRule(propertyKey, metaDataContexts, value);
syncSQLSimpleToLoggingRule(propertyKey, metaDataContexts, value);
}
@@ -81,6 +86,16 @@ public final class SetDistVariableHandler extends
UpdatableRALBackendHandler<Set
}
}
+ private void refreshRootLogger(final Properties props) {
+ LoggerContext loggerContext = (LoggerContext)
LoggerFactory.getILoggerFactory();
+ Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
+ renewRootLoggerLevel(rootLogger, props);
+ }
+
+ private void renewRootLoggerLevel(final Logger rootLogger, final
Properties props) {
+
rootLogger.setLevel(Level.valueOf(props.getOrDefault(ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getKey(),
ConfigurationPropertyKey.SYSTEM_LOG_LEVEL.getDefaultValue()).toString()));
+ }
+
private void syncSQLShowToLoggingRule(final ConfigurationPropertyKey
propertyKey, final MetaDataContexts metaDataContexts, final String value) {
if (LoggingConstants.SQL_SHOW.equalsIgnoreCase(propertyKey.getKey())) {
LoggingUtils.getSQLLogger(metaDataContexts.getMetaData().getGlobalRuleMetaData()).ifPresent(option
-> {