You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Swaroopa Kadam (JIRA)" <ji...@apache.org> on 2018/08/29 17:24:00 UTC

[jira] [Commented] (PHOENIX-4870) LoggingPhoenixConnection should log metrics when AutoCommit is set to True.

    [ https://issues.apache.org/jira/browse/PHOENIX-4870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16596623#comment-16596623 ] 

Swaroopa Kadam commented on PHOENIX-4870:
-----------------------------------------

Got you!
Modified the title. 

Thank you.

> LoggingPhoenixConnection should log metrics when AutoCommit is set to True.
> ---------------------------------------------------------------------------
>
>                 Key: PHOENIX-4870
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4870
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.14.0
>            Reporter: Swaroopa Kadam
>            Assignee: Swaroopa Kadam
>            Priority: Major
>         Attachments: PHOENIX-4870-4.x-HBase-1.4.patch, PHOENIX-4870.patch
>
>
> When LoggingPhoenixConnection calls commit or close, metrics logs are written properly, however, when LoggingPhoenixConnection is explicitly set with AutoCommit as true, metrics don't get logged at all. This bug can also be tested by adding the following test scenario in PhoenixLoggingMetricsIT.java class. 
> {code:java}
> @Test
> public void testPhoenixMetricsLoggedOnAutoCommit() throws Exception {
>     // Autocommit is turned on explicitly
>     loggedConn.setAutoCommit(true);
>     //with executeUpdate() method
>     // run SELECT to verify read metrics are logged
>     String query = "SELECT * FROM " + tableName1;
>     verifyQueryLevelMetricsLogging(query);
>     // run UPSERT SELECT to verify mutation metrics are logged
>     String upsertSelect = "UPSERT INTO " + tableName2 + " SELECT * FROM " + tableName1;
>     loggedConn.createStatement().executeUpdate(upsertSelect);
>     // Autocommit is turned on explicitly
>     // Hence mutation metrics are expected during implicit commit
>     assertTrue("Mutation write metrics are not logged for " + tableName2,
>             mutationWriteMetricsMap.size()  > 0);
>     assertTrue("Mutation read metrics for not found for " + tableName1,
>             mutationReadMetricsMap.get(tableName1).size() > 0);
>     //with execute() method
>     loggedConn.createStatement().execute(upsertSelect);
>     // Autocommit is turned on explicitly
>     // Hence mutation metrics are expected during implicit commit
>     assertTrue("Mutation write metrics are not logged for " + tableName2,
>             mutationWriteMetricsMap.size()  > 0);
>     assertTrue("Mutation read metrics for not found for " + tableName1,
>             mutationReadMetricsMap.get(tableName1).size() > 0);
>     clearAllTestMetricMaps();
> }
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)