[
https://issues.apache.org/jira/browse/PHOENIX-1315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Taylor updated PHOENIX-1315:
----------------------------------
Attachment: PHOENIX-1315.patch
Something like this. Do we need to read/write the PhoenixInputSplit objects? If
so, there's a bit more work to do to serialize a Scan. I'll commit the core
part of this.
> Remove queryPlan.iterators() call in PhoenixInputFormat if not necessary
> ------------------------------------------------------------------------
>
> Key: PHOENIX-1315
> URL: https://issues.apache.org/jira/browse/PHOENIX-1315
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: maghamravikiran
> Fix For: 4.2, 3.2
>
> Attachments: PHOENIX-1315.patch
>
>
> I came across this with a recent change I was making. Why is the call to
> queryPlan.iterators() necessary in PhoenixInputFormat?
> {code}
> private QueryPlan getQueryPlan(final JobContext context) throws
> IOException {
> Preconditions.checkNotNull(context);
> if(queryPlan == null) {
> try{
> final Connection connection = getConnection();
> final String selectStatement = getConf().getSelectStatement();
> Preconditions.checkNotNull(selectStatement);
> final Statement statement = connection.createStatement();
> final PhoenixStatement pstmt =
> statement.unwrap(PhoenixStatement.class);
> this.queryPlan = pstmt.compileQuery(selectStatement);
> // FIXME: why is getting the iterator necessary here, as it
> will
> // cause the query to run.
> this.queryPlan.iterator();
> } catch(Exception exception) {
> LOG.error(String.format("Failed to get the query plan with
> error [%s]",exception.getMessage()));
> throw new RuntimeException(exception);
> }
> }
> return queryPlan;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)