[
https://issues.apache.org/jira/browse/HBASE-28549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17853420#comment-17853420
]
Hudson commented on HBASE-28549:
--------------------------------
Results for branch branch-2.5
[build #545 on
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/545/]:
(x) *{color:red}-1 overall{color}*
----
details (if available):
(/) {color:green}+1 general checks{color}
-- For more information [see general
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/545/General_20Nightly_20Build_20Report/]
(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2)
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/545/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]
(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3)
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/545/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/545/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 source release artifact{color}
-- See build output for details.
(/) {color:green}+1 client integration test{color}
> Make shell commands support column qualifiers with colons
> ---------------------------------------------------------
>
> Key: HBASE-28549
> URL: https://issues.apache.org/jira/browse/HBASE-28549
> Project: HBase
> Issue Type: Bug
> Components: shell
> Reporter: Junegunn Choi
> Assignee: Junegunn Choi
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.7.0, 3.0.0-beta-2, 2.6.1, 2.5.9
>
>
> Revisiting abandonded HBASE-13788.
> h2. Problem
> Shell commands do not support column qualifiers with colons (which are
> actually quite common in practice) because the part after the first colon is
> always treated as a converter expression.
> This can be too restrictive because:
> # Converters are only used for {{get}} and {{scan}} commands. They are not
> supported anyway for other mutating commands such as {{put}}, {{delete}},
> {{incr}}, etc.
> # Converter expression should follow a specific pattern. It should either be
> a method name of the {{Bytes}} class, or should be in {{c(CLASS).METHOD}}
> format. We ignore the part after the first colon even if it does not follow
> the pattern.
> h2. Suggested solution
> I suggest applying two approaches to make the commands support column
> qualifiers with colons.
> # Do not interpret column qualifiers when using commands that don't support
> converters.
> # If the part after the first colon does not follow the pattern, treat it as
> a part of the column qualifier
> h2. Counterargument
> Depending on how you see it, this makes the commands inconsistent in how they
> handle column qualifiers. For example, a user may want to use the same column
> expression throughout the commands.
> {code}
> create 't1', 'cf'
> col = 'cf:cq:toLong'
> # Expecting incr command to automatically ignore :toLong part
> incr 't1', 'r1', col, 1
> get 't1', 'r1', COLUMNS => [col]
> {code}
> However, if we see the converter as an option that is supported by only a few
> commands, passing it to a command that doesn't support it can be considered
> to be a user error. {{help 'put'}} or {{help 'delete'}} don't mention
> anything about converters.
> h2. Alternative solution
> An alternative solution would be to add a global switch that disables the
> converter interpretation altogether.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)