[ 
https://issues.apache.org/jira/browse/PHOENIX-4870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Swaroopa Kadam updated PHOENIX-4870:
------------------------------------
    Attachment:     (was: PHOENIX-4870-4.x-HBase-1.4.patch)

> 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)

Reply via email to