phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Swaroopa Kadam (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-3178) Row count incorrect for UPSERT SELECT when auto commit is false
Date Tue, 28 Aug 2018 22:54:00 GMT

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

Swaroopa Kadam updated PHOENIX-3178:
------------------------------------
    Attachment: PHOENIX-3178.patch
                PHOENIX-3178-master.patch

> Row count incorrect for UPSERT SELECT when auto commit is false
> ---------------------------------------------------------------
>
>                 Key: PHOENIX-3178
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3178
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Swaroopa Kadam
>            Priority: Major
>              Labels: newbie
>             Fix For: 4.15.0
>
>         Attachments: PHOENIX-3178-master.patch, PHOENIX-3178.patch
>
>
> To reproduce, use the following test:
> {code:java}
>     @Test
>     public void testRowCountWithNoAutoCommitOnUpsertSelect() throws Exception {
>         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
>         props.setProperty(QueryServices.MUTATE_BATCH_SIZE_ATTRIB, Integer.toString(3));
>         props.setProperty(QueryServices.SCAN_CACHE_SIZE_ATTRIB, Integer.toString(3));
>         props.setProperty(QueryServices.SCAN_RESULT_CHUNK_SIZE, Integer.toString(3));
>         Connection conn = DriverManager.getConnection(getUrl(), props);
>         conn.setAutoCommit(false);
>         conn.createStatement().execute("CREATE SEQUENCE keys");
>         String tableName = generateRandomString();
>         conn.createStatement().execute(
>             "CREATE TABLE " + tableName + " (pk INTEGER PRIMARY KEY, val INTEGER)");
>         conn.createStatement().execute(
>             "UPSERT INTO " + tableName + " VALUES (NEXT VALUE FOR keys,1)");
>         conn.commit();
>         for (int i=0; i<6; i++) {
>             Statement stmt = conn.createStatement();
>             int upsertCount = stmt.executeUpdate(
>                 "UPSERT INTO " + tableName + " SELECT NEXT VALUE FOR keys, val FROM "
+ tableName);
>             conn.commit();
>             assertEquals((int)Math.pow(2, i), upsertCount);
>         }
>         conn.close();
>     }
> {code}



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

Mime
View raw message