[phoenix] 10/34: PHOENIX-4854 Make LoggingPhoenixResultSet idempotent when logging metrics
This is an automated email from the ASF dual-hosted git repository. tdsilva pushed a commit to branch 4.14-HBase-1.4 in repository https://gitbox.apache.org/repos/asf/phoenix.git commit c6df225c633ad03da13b9ba559b502c216029fc1 Author: Karan Mehta AuthorDate: Mon Aug 20 10:12:37 2018 -0700 PHOENIX-4854 Make LoggingPhoenixResultSet idempotent when logging metrics --- .../monitoring/PhoenixLoggingMetricsIT.java| 49 -- .../phoenix/jdbc/LoggingPhoenixResultSet.java | 15 +-- 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java index 97b2c5d..7e56902 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java @@ -26,6 +26,7 @@ import org.junit.Test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; +import java.sql.SQLException; import java.sql.Statement; import java.util.Map; @@ -44,6 +45,8 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { private String tableName2; private LoggingPhoenixConnection loggedConn; private String loggedSql; +private int logOverAllReadRequestMetricsFuncCallCount; +private int logRequestReadMetricsFuncCallCount; @Before public void beforeTest() throws Exception { @@ -69,17 +72,7 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { public void testPhoenixMetricsLoggedOnCommit() throws Exception { // run SELECT to verify read metrics are logged String query = "SELECT * FROM " + tableName1; -Statement stmt = loggedConn.createStatement(); -ResultSet rs = stmt.executeQuery(query); -while (rs.next()) { -} -rs.close(); -assertTrue("Read metrics for not found for " + tableName1, -requestReadMetricsMap.get(tableName1).size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); - -assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +verifyQueryLevelMetricsLogging(query); // run UPSERT SELECT to verify mutation metrics are logged String upsertSelect = "UPSERT INTO " + tableName2 + " SELECT * FROM " + tableName1; @@ -117,17 +110,7 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { public void testPhoenixMetricsLoggedOnClose() throws Exception { // run SELECT to verify read metrics are logged String query = "SELECT * FROM " + tableName1; -Statement stmt = loggedConn.createStatement(); -ResultSet rs = stmt.executeQuery(query); -while (rs.next()) { -} -rs.close(); -assertTrue("Read metrics for not found for " + tableName1, -requestReadMetricsMap.get(tableName1).size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); - -assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +verifyQueryLevelMetricsLogging(query); // run UPSERT SELECT to verify mutation metrics are logged String upsertSelect = "UPSERT INTO " + tableName2 + " SELECT * FROM " + tableName1; @@ -151,6 +134,26 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { mutationReadMetricsMap.size() == 0); } +private void verifyQueryLevelMetricsLogging(String query) throws SQLException { +Statement stmt = loggedConn.createStatement(); +ResultSet rs = stmt.executeQuery(query); +while (rs.next()) { +} +rs.close(); +assertTrue("Read metrics for not found for " + tableName1, +requestReadMetricsMap.get(tableName1).size() > 0); +assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +assertTrue(logOverAllReadRequestMetricsFuncCallCount == 1); +assertTrue(logRequestReadMetricsFuncCallCount == 1); + +assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); +assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); + +rs.close(); +assertTrue(logOverAllReadRequestMetricsFuncCallCount == 1); +assertTrue(logRequestReadMetricsFuncCallCount == 1); +} + void clearAllTestMetricMaps() { overAllQueryMetricsMap.clear(); requestReadMetricsMap.clear(); @@ -165,6 +168,7 @@ public class PhoenixLoggingMetricsIT extends
[phoenix] 10/34: PHOENIX-4854 Make LoggingPhoenixResultSet idempotent when logging metrics
This is an automated email from the ASF dual-hosted git repository. tdsilva pushed a commit to branch 4.14-HBase-1.2 in repository https://gitbox.apache.org/repos/asf/phoenix.git commit f8859c82129fb56f37bc7c83a8a671b1f424cb7f Author: Karan Mehta AuthorDate: Mon Aug 20 10:12:37 2018 -0700 PHOENIX-4854 Make LoggingPhoenixResultSet idempotent when logging metrics --- .../monitoring/PhoenixLoggingMetricsIT.java| 49 -- .../phoenix/jdbc/LoggingPhoenixResultSet.java | 15 +-- 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java index 97b2c5d..7e56902 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java @@ -26,6 +26,7 @@ import org.junit.Test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; +import java.sql.SQLException; import java.sql.Statement; import java.util.Map; @@ -44,6 +45,8 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { private String tableName2; private LoggingPhoenixConnection loggedConn; private String loggedSql; +private int logOverAllReadRequestMetricsFuncCallCount; +private int logRequestReadMetricsFuncCallCount; @Before public void beforeTest() throws Exception { @@ -69,17 +72,7 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { public void testPhoenixMetricsLoggedOnCommit() throws Exception { // run SELECT to verify read metrics are logged String query = "SELECT * FROM " + tableName1; -Statement stmt = loggedConn.createStatement(); -ResultSet rs = stmt.executeQuery(query); -while (rs.next()) { -} -rs.close(); -assertTrue("Read metrics for not found for " + tableName1, -requestReadMetricsMap.get(tableName1).size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); - -assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +verifyQueryLevelMetricsLogging(query); // run UPSERT SELECT to verify mutation metrics are logged String upsertSelect = "UPSERT INTO " + tableName2 + " SELECT * FROM " + tableName1; @@ -117,17 +110,7 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { public void testPhoenixMetricsLoggedOnClose() throws Exception { // run SELECT to verify read metrics are logged String query = "SELECT * FROM " + tableName1; -Statement stmt = loggedConn.createStatement(); -ResultSet rs = stmt.executeQuery(query); -while (rs.next()) { -} -rs.close(); -assertTrue("Read metrics for not found for " + tableName1, -requestReadMetricsMap.get(tableName1).size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); - -assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +verifyQueryLevelMetricsLogging(query); // run UPSERT SELECT to verify mutation metrics are logged String upsertSelect = "UPSERT INTO " + tableName2 + " SELECT * FROM " + tableName1; @@ -151,6 +134,26 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { mutationReadMetricsMap.size() == 0); } +private void verifyQueryLevelMetricsLogging(String query) throws SQLException { +Statement stmt = loggedConn.createStatement(); +ResultSet rs = stmt.executeQuery(query); +while (rs.next()) { +} +rs.close(); +assertTrue("Read metrics for not found for " + tableName1, +requestReadMetricsMap.get(tableName1).size() > 0); +assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +assertTrue(logOverAllReadRequestMetricsFuncCallCount == 1); +assertTrue(logRequestReadMetricsFuncCallCount == 1); + +assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); +assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); + +rs.close(); +assertTrue(logOverAllReadRequestMetricsFuncCallCount == 1); +assertTrue(logRequestReadMetricsFuncCallCount == 1); +} + void clearAllTestMetricMaps() { overAllQueryMetricsMap.clear(); requestReadMetricsMap.clear(); @@ -165,6 +168,7 @@ public class PhoenixLoggingMetricsIT extends
[phoenix] 10/34: PHOENIX-4854 Make LoggingPhoenixResultSet idempotent when logging metrics
This is an automated email from the ASF dual-hosted git repository. tdsilva pushed a commit to branch 4.14-HBase-1.3 in repository https://gitbox.apache.org/repos/asf/phoenix.git commit 7dc1fbd3f0c794099d59fec3564e787d9424c096 Author: Karan Mehta AuthorDate: Mon Aug 20 10:12:37 2018 -0700 PHOENIX-4854 Make LoggingPhoenixResultSet idempotent when logging metrics --- .../monitoring/PhoenixLoggingMetricsIT.java| 49 -- .../phoenix/jdbc/LoggingPhoenixResultSet.java | 15 +-- 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java index 97b2c5d..7e56902 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java @@ -26,6 +26,7 @@ import org.junit.Test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; +import java.sql.SQLException; import java.sql.Statement; import java.util.Map; @@ -44,6 +45,8 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { private String tableName2; private LoggingPhoenixConnection loggedConn; private String loggedSql; +private int logOverAllReadRequestMetricsFuncCallCount; +private int logRequestReadMetricsFuncCallCount; @Before public void beforeTest() throws Exception { @@ -69,17 +72,7 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { public void testPhoenixMetricsLoggedOnCommit() throws Exception { // run SELECT to verify read metrics are logged String query = "SELECT * FROM " + tableName1; -Statement stmt = loggedConn.createStatement(); -ResultSet rs = stmt.executeQuery(query); -while (rs.next()) { -} -rs.close(); -assertTrue("Read metrics for not found for " + tableName1, -requestReadMetricsMap.get(tableName1).size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); - -assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +verifyQueryLevelMetricsLogging(query); // run UPSERT SELECT to verify mutation metrics are logged String upsertSelect = "UPSERT INTO " + tableName2 + " SELECT * FROM " + tableName1; @@ -117,17 +110,7 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { public void testPhoenixMetricsLoggedOnClose() throws Exception { // run SELECT to verify read metrics are logged String query = "SELECT * FROM " + tableName1; -Statement stmt = loggedConn.createStatement(); -ResultSet rs = stmt.executeQuery(query); -while (rs.next()) { -} -rs.close(); -assertTrue("Read metrics for not found for " + tableName1, -requestReadMetricsMap.get(tableName1).size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); - -assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); -assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +verifyQueryLevelMetricsLogging(query); // run UPSERT SELECT to verify mutation metrics are logged String upsertSelect = "UPSERT INTO " + tableName2 + " SELECT * FROM " + tableName1; @@ -151,6 +134,26 @@ public class PhoenixLoggingMetricsIT extends BasePhoenixMetricsIT { mutationReadMetricsMap.size() == 0); } +private void verifyQueryLevelMetricsLogging(String query) throws SQLException { +Statement stmt = loggedConn.createStatement(); +ResultSet rs = stmt.executeQuery(query); +while (rs.next()) { +} +rs.close(); +assertTrue("Read metrics for not found for " + tableName1, +requestReadMetricsMap.get(tableName1).size() > 0); +assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); +assertTrue(logOverAllReadRequestMetricsFuncCallCount == 1); +assertTrue(logRequestReadMetricsFuncCallCount == 1); + +assertTrue("Overall read metrics for not found ", overAllQueryMetricsMap.size() > 0); +assertTrue("Logged query doesn't match actual query", loggedSql.equals(query)); + +rs.close(); +assertTrue(logOverAllReadRequestMetricsFuncCallCount == 1); +assertTrue(logRequestReadMetricsFuncCallCount == 1); +} + void clearAllTestMetricMaps() { overAllQueryMetricsMap.clear(); requestReadMetricsMap.clear(); @@ -165,6 +168,7 @@ public class PhoenixLoggingMetricsIT extends