[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584587#comment-16584587 ] Hadoop QA commented on HBASE-21066: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 10s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange} 0m 0s{color} | {color:orange} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 13s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 59s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 29s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 25s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 20s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 44s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 48s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 14s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 59s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 33s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 33s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 28s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 22s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 7m 55s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 3s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 47s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}141m 38s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 6m 27s{color} | {color:red} hbase-rsgroup in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 44s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}189m 58s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.master.procedure.TestTruncateTableProcedure | | | hadoop.hbase.master.procedure.TestMasterFailoverWithProcedures | | | hadoop.hbase.master.procedure.TestCloneSnapshotProcedure | | | hadoop.hbase.master.procedure.TestCreateTableProcedure | | | hadoop.hbase.rsgroup.TestRSGroups | | | hadoop.hbase.rsgroup.TestRSGroupsWithACL | | | hadoop.hbase.rsgroup.TestRSGroupsOfflineMode | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21066 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12936092/HBASE-210
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584550#comment-16584550 ] stack commented on HBASE-21066: --- [~xucang] should we resolve as won't fix then? Thanks > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0, 1.3.0, 2.0.0 >Reporter: Xu Cang >Priority: Minor > Attachments: HBASE-21066.master.001.patch, > HBASE-21066.master.002.patch > > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584538#comment-16584538 ] Xu Cang commented on HBASE-21066: - Reviewed HBASE-7767 and the ways we are using this method. I changed my mind and thinking catching exception here and return false is a good solution. The semantic for #isTableState is: "Return true if the table is in these states, otherwise return false." For method #isTableDisabled, it's similar, "Return true when the table is indeed disabled, return false when table state is not disabled. (could be enabled or unknown)" I am canceling the patch for this issue. Though HBASE-20690 is still valid, possible to improve something for that. > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0, 1.3.0, 2.0.0 >Reporter: Xu Cang >Priority: Minor > Attachments: HBASE-21066.master.001.patch, > HBASE-21066.master.002.patch > > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584531#comment-16584531 ] stack commented on HBASE-21066: --- Thanks for working in this. Is it right though converting all ioes into tablenotfoundexception? At least add the ioe as the cause to the tnfe when throwing it? > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0, 1.3.0, 2.0.0 >Reporter: Xu Cang >Assignee: Xu Cang >Priority: Minor > Attachments: HBASE-21066.master.001.patch, > HBASE-21066.master.002.patch > > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584294#comment-16584294 ] Xu Cang commented on HBASE-21066: - That's correct. I added 1.0 and 2.0 to affected versions. The reason I created this new Jira is to fix this method and review the impact on all callers and modify related unit tests to accommodate this change. I plan to finish this patch and then the HBASE-20690 will be resolved. I will make sure all related branches are covered. Thanks, [~apurtell] Please let me know if you think I need to adjust something else. > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0, 1.3.0, 2.0.0 >Reporter: Xu Cang >Assignee: Xu Cang >Priority: Minor > Attachments: HBASE-21066.master.001.patch > > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584259#comment-16584259 ] Andrew Purtell commented on HBASE-21066: Correct me if I'm wrong but this is an improvement that impacts RSGroups (I came here from HBASE-20690 Moving table to target rsgroup needs to handle TableStateNotFoundException), which is also in branch-1, so we should figure out something there too. > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0 >Reporter: Xu Cang >Assignee: Xu Cang >Priority: Minor > Attachments: HBASE-21066.master.001.patch > > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16584108#comment-16584108 ] Xu Cang commented on HBASE-21066: - some unit tests are failing, fixing... > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0 >Reporter: Xu Cang >Assignee: Xu Cang >Priority: Minor > Attachments: HBASE-21066.master.001.patch > > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16583933#comment-16583933 ] Hadoop QA commented on HBASE-21066: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 12s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange} 0m 0s{color} | {color:orange} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 1m 15s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 12s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 30s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 28s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 14s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 4s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 53s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 16s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 36s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 18s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 18s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 24s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 4m 16s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 8m 1s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 54s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red}129m 33s{color} | {color:red} hbase-server in the patch failed. {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 5m 39s{color} | {color:red} hbase-rsgroup in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 43s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}179m 55s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.master.procedure.TestTruncateTableProcedure | | | hadoop.hbase.master.procedure.TestCreateTableProcedure | | | hadoop.hbase.master.procedure.TestMasterFailoverWithProcedures | | | hadoop.hbase.master.procedure.TestCloneSnapshotProcedure | | | hadoop.hbase.rsgroup.TestRSGroupsOfflineMode | | | hadoop.hbase.rsgroup.TestRSGroups | | | hadoop.hbase.rsgroup.TestRSGroupsWithACL | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21066 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12935998/HBASE-210
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16583595#comment-16583595 ] Xu Cang commented on HBASE-21066: - I plan to propagate possible IOException to callers of this method and let callers decide how to handle it. > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0 >Reporter: Xu Cang >Assignee: Xu Cang >Priority: Minor > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21066) Improve isTableState() method to ensure caller gets correct info
[ https://issues.apache.org/jira/browse/HBASE-21066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16583589#comment-16583589 ] Xu Cang commented on HBASE-21066: - related to : HBASE-20690 > Improve isTableState() method to ensure caller gets correct info > > > Key: HBASE-21066 > URL: https://issues.apache.org/jira/browse/HBASE-21066 > Project: HBase > Issue Type: Improvement >Affects Versions: 3.0.0 >Reporter: Xu Cang >Assignee: Xu Cang >Priority: Minor > > > {code:java} > public boolean isTableState(TableName tableName, TableState.State... states) { > try { > TableState tableState = getTableState(tableName); > return tableState.isInStates(states); > } catch (IOException e) { > LOG.error("Unable to get table " + tableName + " state", e); > // XXX: is it safe to just return false here? > return false; > } > } > > {code} > > When cannot get table state, returning false is not always safe or correct. -- This message was sent by Atlassian JIRA (v7.6.3#76005)