You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2016/04/05 06:27:25 UTC

[jira] [Commented] (PHOENIX-2819) Remove problematic method ValueSchemaBuilder.addField(Field)

    [ https://issues.apache.org/jira/browse/PHOENIX-2819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225665#comment-15225665 ] 

James Taylor commented on PHOENIX-2819:
---------------------------------------

+1, but one question here, don't you need the commas as separators?
{code}
-                        + (saltBuckets == null || splits != null ? "" : (",salt_buckets=" + saltBuckets)
-                        + (saltBuckets != null || splits == null ? "" : ",splits=" + splits));
+                        + (multiTenant ? " MULTI_TENANT=true" : "")
+                        + (saltBuckets == null || splits != null ? "" : (" salt_buckets=" + saltBuckets)
+                        + (saltBuckets != null || splits == null ? "" : (" splits=" + splits)));
{code}
If not, that's actually better, but I thought they were required, no?

> Remove problematic method ValueSchemaBuilder.addField(Field)
> ------------------------------------------------------------
>
>                 Key: PHOENIX-2819
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2819
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.7.0
>            Reporter: Maryann Xue
>            Assignee: Maryann Xue
>              Labels: secondary_index
>             Fix For: 4.8.0
>
>         Attachments: PHOENIX-2819.patch
>
>
> We should discard the method "ValueSchemaBuilder.addField(Field)" and use the other method signature instead, since this method might add more fields than wanted.
> {code}
>         public ValueSchemaBuilder addField(Field field) {
>             fields.add(field);
>             return this;
>         }
> {code}
> If {{field.size}} is larger than 1, the above statement {{fields.add(field)}} will add more than one field into the list while the caller is expecting to add only ONE.
> The only caller of this method is IndexMaintainer.generateIndexRowKeySchema() and it might generate a wrong row-key-schema as a result.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)