[
https://issues.apache.org/jira/browse/PHOENIX-2698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Taylor updated PHOENIX-2698:
----------------------------------
Description:
See FIXME in BaseResultIterators.initializeScan():
{code}
// FIXME: we only enter this if the number of column families
is 1 because otherwise
// local indexes break because it appears that the column
families in the PTable do
// not match the actual column families of the table (which is
bad).
if (keyOnlyFilter && table.getColumnFamilies().size() == 1) {
// Project the one column family. We must project a column
family since it's possible
// that there are other non declared column families that
we need to ignore.
scan.addFamily(table.getColumnFamilies().get(0).getName().getBytes());
} else {
{code}
The following *should* work, but doesn't when a local index is used:
{code}
if (keyOnlyFilter && table.getColumnFamilies().size() <= 1) {
// Project the one column family. We must project a column
family since it's possible
// that there are other non declared column families that
we need to ignore.
scan.addFamily(SchemaUtil.getEmptyColumnFamily(table));
} else {
{code}
This can be tested by running the IndexIT test suite (you'll see failures when
local indexes are used about a column family not being found).
was:
See FIXME here:
{code}
// FIXME: we only enter this if the number of column families
is 1 because otherwise
// local indexes break because it appears that the column
families in the PTable do
// not match the actual column families of the table (which is
bad).
if (keyOnlyFilter && table.getColumnFamilies().size() == 1) {
// Project the one column family. We must project a column
family since it's possible
// that there are other non declared column families that
we need to ignore.
scan.addFamily(table.getColumnFamilies().get(0).getName().getBytes());
} else {
{code}
The following *should* work, but doesn't when a local index is used:
{code}
if (keyOnlyFilter && table.getColumnFamilies().size() <= 1) {
// Project the one column family. We must project a column
family since it's possible
// that there are other non declared column families that
we need to ignore.
scan.addFamily(SchemaUtil.getEmptyColumnFamily(table));
} else {
{code}
This can be tested by running the IndexIT test suite (you'll see failures when
local indexes are used about a column family not being found).
> Local index column family structure doesn't match PTable
> --------------------------------------------------------
>
> Key: PHOENIX-2698
> URL: https://issues.apache.org/jira/browse/PHOENIX-2698
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: Rajeshbabu Chintaguntla
>
> See FIXME in BaseResultIterators.initializeScan():
> {code}
> // FIXME: we only enter this if the number of column families
> is 1 because otherwise
> // local indexes break because it appears that the column
> families in the PTable do
> // not match the actual column families of the table (which
> is bad).
> if (keyOnlyFilter && table.getColumnFamilies().size() == 1) {
> // Project the one column family. We must project a
> column family since it's possible
> // that there are other non declared column families that
> we need to ignore.
>
> scan.addFamily(table.getColumnFamilies().get(0).getName().getBytes());
> } else {
> {code}
> The following *should* work, but doesn't when a local index is used:
> {code}
> if (keyOnlyFilter && table.getColumnFamilies().size() <= 1) {
> // Project the one column family. We must project a
> column family since it's possible
> // that there are other non declared column families that
> we need to ignore.
> scan.addFamily(SchemaUtil.getEmptyColumnFamily(table));
> } else {
> {code}
> This can be tested by running the IndexIT test suite (you'll see failures
> when local indexes are used about a column family not being found).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)