You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2019/03/29 14:33:27 UTC
[phoenix] branch 4.x-HBase-1.3 updated: PHOENIX-5169 Query logger
is still initialized for each query if the log level is off
This is an automated email from the ASF dual-hosted git repository.
jaanai pushed a commit to branch 4.x-HBase-1.3
in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/4.x-HBase-1.3 by this push:
new c46cb15 PHOENIX-5169 Query logger is still initialized for each query if the log level is off
c46cb15 is described below
commit c46cb15805301de164d6f93e05ac224edbfd4cd5
Author: jaanai <ja...@apache.org>
AuthorDate: Tue Mar 26 15:32:08 2019 +0800
PHOENIX-5169 Query logger is still initialized for each query if the log level is off
---
.../org/apache/phoenix/end2end/QueryLoggerIT.java | 25 +++++++++++++---------
.../org/apache/phoenix/jdbc/PhoenixStatement.java | 5 +++++
2 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
index 618d7d9..494075a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
@@ -51,7 +51,9 @@ import org.apache.phoenix.exception.SQLExceptionCode;
import org.apache.phoenix.jdbc.PhoenixConnection;
import org.apache.phoenix.jdbc.PhoenixDriver;
import org.apache.phoenix.jdbc.PhoenixResultSet;
+import org.apache.phoenix.jdbc.PhoenixStatement;
import org.apache.phoenix.log.LogLevel;
+import org.apache.phoenix.log.QueryLogger;
import org.apache.phoenix.log.QueryStatus;
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.util.EnvironmentEdge;
@@ -63,6 +65,9 @@ import org.junit.Test;
import com.google.common.collect.Maps;
+import javax.validation.constraints.AssertFalse;
+import javax.validation.constraints.AssertTrue;
+
public class QueryLoggerIT extends BaseUniqueNamesOwnClusterIT {
@@ -225,29 +230,29 @@ public class QueryLoggerIT extends BaseUniqueNamesOwnClusterIT {
props.setProperty(QueryServices.LOG_LEVEL, LogLevel.OFF.name());
Connection conn = DriverManager.getConnection(getUrl(),props);
assertEquals(conn.unwrap(PhoenixConnection.class).getLogLevel(),LogLevel.OFF);
+
+ // delete old data
+ conn.createStatement().executeUpdate("delete from " + SYSTEM_CATALOG_SCHEMA + ".\"" + SYSTEM_LOG_TABLE + "\"");
+ conn.commit();
+
String query = "SELECT * FROM " + tableName;
-
ResultSet rs = conn.createStatement().executeQuery(query);
StatementContext context = ((PhoenixResultSet)rs).getContext();
- String queryId = context.getQueryLogger().getQueryId();
+ assertEquals(context.getQueryLogger(), QueryLogger.NO_OP_INSTANCE);
while (rs.next()) {
rs.getString(1);
rs.getString(2);
}
- String logQuery = "SELECT * FROM " + SYSTEM_CATALOG_SCHEMA + ".\"" + SYSTEM_LOG_TABLE + "\"";
+ String logQuery = "SELECT count(*) FROM " + SYSTEM_CATALOG_SCHEMA + ".\"" + SYSTEM_LOG_TABLE + "\"";
int delay = 5000;
// sleep for sometime to let query log committed
Thread.sleep(delay);
rs = conn.createStatement().executeQuery(logQuery);
- boolean foundQueryLog = false;
- while (rs.next()) {
- if (rs.getString(QUERY_ID).equals(queryId)) {
- foundQueryLog = true;
- }
- }
- assertFalse(foundQueryLog);
+ assertTrue(rs.next());
+ assertEquals(rs.getInt(1), 0);
+ assertFalse(rs.next());
conn.close();
}
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
index a42c5f8..55e2ead 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
@@ -92,6 +92,7 @@ import org.apache.phoenix.expression.RowKeyColumnExpression;
import org.apache.phoenix.iterate.MaterializedResultIterator;
import org.apache.phoenix.iterate.ParallelScanGrouper;
import org.apache.phoenix.iterate.ResultIterator;
+import org.apache.phoenix.log.LogLevel;
import org.apache.phoenix.log.QueryLogInfo;
import org.apache.phoenix.log.QueryStatus;
import org.apache.phoenix.log.QueryLogger;
@@ -1769,6 +1770,10 @@ public class PhoenixStatement implements Statement, SQLCloseable {
}
public QueryLogger createQueryLogger(CompilableStatement stmt, String sql) throws SQLException {
+ if (connection.getLogLevel() == LogLevel.OFF) {
+ return QueryLogger.NO_OP_INSTANCE;
+ }
+
boolean isSystemTable=false;
if(stmt instanceof ExecutableSelectStatement){
TableNode from = ((ExecutableSelectStatement)stmt).getFrom();