phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-2556) Subqueries with nested joins may not free hash cache
Date Tue, 05 Jan 2016 05:18:39 GMT


James Taylor commented on PHOENIX-2556:

Thanks for following up on this, [~maryannxue].

The TxCheckpointIT failure is likely related to the same cause, as the test causing the failure,
testCheckpointForDeleteAndUpsert, is doing subqueries (when ignored the test passes). It's
slightly different, though, as it's doing a subquery in a delete. Could that be a slightly
different case of this bug?

Also, minor nit - would you mind adding an error message for the new assert in ConnectionQueryServicesTestImpl,
like this?
    public void close() throws SQLException {
        try {
            Set<PhoenixConnection> connections = this.connections;
            this.connections = Sets.newHashSet();
            long unfreedBytes = clearCache();
            assertEquals("Found unfreed bytes in server-side cache", 0,unfreedBytes);
        } finally {

Not sure about the other failures - I'm still on JDK 7. Would be good to file JIRAs on them
if they fail consistently, though.

> Subqueries with nested joins may not free hash cache
> ----------------------------------------------------
>                 Key: PHOENIX-2556
>                 URL:
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Maryann Xue
>             Fix For: 4.7.0
>         Attachments: PHOENIX-2556.patch, PHOENIX-2556_wip.patch
> Subqueries with nested joins are only freeing some of the server-side hash cache memory,
leading to essentially a kind of memory leak.
> This problem occurs with the existing test case in SubqueryIT:
> {code}
>  SELECT name from Join.CustomerTable 
>  WHERE "customer_id" IN 
>     (SELECT "customer_id" FROM Join.ItemTable i
>      JOIN Join.OrderTable o 
>      ON o."item_id" = i."item_id"
>      WHERE = 'T2'
>      OR quantity >
>          (SELECT avg(quantity) FROM Join.OrderTable q
>           WHERE o."item_id" = q."item_id"))
> {code}

This message was sent by Atlassian JIRA

View raw message