[
https://issues.apache.org/jira/browse/HCATALOG-17?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13028391#comment-13028391
]
Alan Gates commented on HCATALOG-17:
------------------------------------
When checking if the field name already exists its doing a linear search.
Since it will do this for every field you add, that means we have sum(1..n)
comparison operations every time we build a schema. Assuming memory isn't at a
premium here (we should only be keeping one copy of the schema for each
partition), we should have a separate hash that stores the field names so we
can do n comparison operations instead.
> Shouldn't be able to add an HCatFieldSchema with the same name as existing
> --------------------------------------------------------------------------
>
> Key: HCATALOG-17
> URL: https://issues.apache.org/jira/browse/HCATALOG-17
> Project: HCatalog
> Issue Type: Bug
> Reporter: Jakob Homan
> Assignee: Jakob Homan
> Attachments: dupe_fields.patch
>
>
> (cloning from https://github.com/yahoo/howl/pull/6)
> As noted in HowlSchema.java, one should not be able to append an a field
> schema with the same name. The code says that this requires Comparable, which
> is not correct, since we're not doing ordering. Technically, this requires a
> correct equals, but since we don't want multiple fields with the same name in
> a schema (particularly since we index it via the name in the accompanying
> map), the correct check is just based on the name. This adds the check and
> throws a HowlException if this occurs.
> Unit test to verify is included.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira