phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samarth Jain (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-4265) NPE when hinting index on table with ROW_TIMESTAMP
Date Tue, 03 Oct 2017 09:14:00 GMT

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

Samarth Jain updated PHOENIX-4265:
----------------------------------
    Attachment: PHOENIX-4265_v1.patch

Patch that makes sure we always use the PLong codec when we are generating scan ranges with
row timestamp column. It also makes sure that the random values returned by PLong.getSampleValue()
are always positive.

> NPE when hinting index on table with ROW_TIMESTAMP
> --------------------------------------------------
>
>                 Key: PHOENIX-4265
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4265
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: James Taylor
>         Attachments: PHOENIX-4265_v1.patch
>
>
> See email discussion here: https://lists.apache.org/thread.html/d87a508e5b4e2fc6b7110d861b71209d2385adaecd0152b790ee00e9@%3Cuser.phoenix.apache.org%3E
> I'm not able to repro with this unit test:
> {code}
>     @Test
>     public void testIndexHintOnTableWithRowTimestamp() throws Exception {
>         Connection conn = DriverManager.getConnection(getUrl());
>         try {
>             conn.createStatement().execute("CREATE IMMUTABLE TABLE t1 (k1 TIMESTAMP not
null, k2 bigint not null, v bigint, constraint pk primary key (k1 row_timestamp,k2 ))");
>             conn.createStatement().execute("CREATE INDEX idx ON t1 (v)");
>             conn.createStatement().execute("SELECT /*+ INDEX(T1 IDX) */ K1,K2,V FROM
t1 WHERE v = 5");
>         } finally {
>             conn.close();
>         }
>     }
> {code}
> FYI, due to the inability to keep an index in sync when there's a ROW_TIMESTAMP column,
as of 4.12 we're disallowing the creation of mutable secondary indexes when a table has a
ROW_TIMESTAMP column. Usually, since the timestamp is part of the row key, the data table
can be declared IMMUTABLE. In this case, the index would still be allowed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message