[
https://issues.apache.org/jira/browse/PHOENIX-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jan Fernando resolved PHOENIX-2310.
-----------------------------------
Resolution: Fixed
> PhoenixConfigurationUtil.getUpsertColumnMetadataList() in Phoenix Mapreduce
> integration generates incorrect upsert statement for view immediately after
> issue view DDL
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-2310
> URL: https://issues.apache.org/jira/browse/PHOENIX-2310
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.5.2
> Reporter: Jan Fernando
> Assignee: Jan Fernando
> Fix For: 4.5.3
>
> Attachments: PHOENIX-2310-4.5.patch, PHOENIX-2310-v1.patch,
> PHOENIX-2310_v2.patch
>
>
> We ran into what I believe is a corner case that was causing a M/R job using
> the Phoenix / Pig integration to fail by virtue of a incorrect UPSERT
> statement being generated.
> The issue was intermittent. The bug is that the UPSERT statement generated by
> PhoenixConfigurationUtil.getUpsertColumnMetadataList() when invoked from
> PhoenixRecordWriter would, instead of the cf.column_name, would contain for
> certain columns the result class name + hashcode as generated by Java's
> Object.toString(). Since this was not a valid column name the Pig Script
> would blow-up.
> This only occurs if we are attempting to insert data into a Phoenix View and
> the DDL for the Phoenix View was issued recently such that the MetadataClient
> cache was for this view was populated by MetaDataClient.createTable().
> What is occurring is in this case we wrap the PColumn in a Delegate at lines
> 1898 and 1909. The DelegateColumn class used to wrap PColumn doesn't
> implement toString() and so the default Object toString() is used. If you
> restart the JVM and force Phoenix to re-read the metadata from SYSTEM.CATALOG
> this doesn't occur as in this case we don't wrap the PColumn instance.
> I have a test to repro and a possible patch I'll attach shortly.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)