[jira] [Commented] (HBASE-16627) AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table exists
[ https://issues.apache.org/jira/browse/HBASE-16627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15487858#comment-15487858 ] stack commented on HBASE-16627: --- Not a blocker. Warn sounds better but if not an issue can we save spew in log. Am Fi e waiting till am further along > AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table > exists > > > Key: HBASE-16627 > URL: https://issues.apache.org/jira/browse/HBASE-16627 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Assignee: Stephen Yuan Jiang >Priority: Minor > > [~stack] first reported this issue when he played with backup feature. > The following exception can be observed in backup unit tests: > {code} > 2016-09-13 16:21:57,661 ERROR [ProcedureExecutor-3] > master.TableStateManager(134): Unable to get table hbase:backup state > org.apache.hadoop.hbase.TableNotFoundException: hbase:backup > at > org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:174) > at > org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:131) > at > org.apache.hadoop.hbase.master.AssignmentManager.isDisabledorDisablingRegionInRIT(AssignmentManager.java:1221) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:739) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1567) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1546) > at > org.apache.hadoop.hbase.util.ModifyRegionUtils.assignRegions(ModifyRegionUtils.java:254) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.assignRegions(CreateTableProcedure.java:430) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:127) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:57) > at > org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:119) > at > org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:452) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1066) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:855) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:808) > {code} > AssignmentManager#isDisabledorDisablingRegionInRIT should take table > existence into account. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-16627) AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table exists
[ https://issues.apache.org/jira/browse/HBASE-16627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15487829#comment-15487829 ] Stephen Yuan Jiang commented on HBASE-16627: That is true, {{isTableState()}} 'eats' the TableNotFoundException exception from {{getTableState()}} and log an ERROR. {noformat} @NonNull public TableState.State getTableState(TableName tableName) throws IOException { TableState currentState = readMetaState(tableName); if (currentState == null) { throw new TableNotFoundException(tableName); } return currentState.getState(); } {noformat} Now, I think we should lower the log level to WARN - this is not error, as caller could legally ask for a non-existing table. > AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table > exists > > > Key: HBASE-16627 > URL: https://issues.apache.org/jira/browse/HBASE-16627 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Assignee: Stephen Yuan Jiang >Priority: Minor > > [~stack] first reported this issue when he played with backup feature. > The following exception can be observed in backup unit tests: > {code} > 2016-09-13 16:21:57,661 ERROR [ProcedureExecutor-3] > master.TableStateManager(134): Unable to get table hbase:backup state > org.apache.hadoop.hbase.TableNotFoundException: hbase:backup > at > org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:174) > at > org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:131) > at > org.apache.hadoop.hbase.master.AssignmentManager.isDisabledorDisablingRegionInRIT(AssignmentManager.java:1221) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:739) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1567) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1546) > at > org.apache.hadoop.hbase.util.ModifyRegionUtils.assignRegions(ModifyRegionUtils.java:254) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.assignRegions(CreateTableProcedure.java:430) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:127) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:57) > at > org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:119) > at > org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:452) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1066) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:855) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:808) > {code} > AssignmentManager#isDisabledorDisablingRegionInRIT should take table > existence into account. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-16627) AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table exists
[ https://issues.apache.org/jira/browse/HBASE-16627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15487812#comment-15487812 ] Matteo Bertozzi commented on HBASE-16627: - we don't throw exception up, TableStateManager try to ask for the state of the table, and table is not found (because we are creating it), so we get that the table is not in that state. {code} public boolean isTableState(TableName tableName, TableState.State... states) { try { TableState.State tableState = getTableState(tableName); return TableState.isInStates(tableState, states); } catch (IOException e) { LOG.error("Unable to get table " + tableName + " state", e); return false; } } {code} > AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table > exists > > > Key: HBASE-16627 > URL: https://issues.apache.org/jira/browse/HBASE-16627 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Assignee: Stephen Yuan Jiang >Priority: Minor > > [~stack] first reported this issue when he played with backup feature. > The following exception can be observed in backup unit tests: > {code} > 2016-09-13 16:21:57,661 ERROR [ProcedureExecutor-3] > master.TableStateManager(134): Unable to get table hbase:backup state > org.apache.hadoop.hbase.TableNotFoundException: hbase:backup > at > org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:174) > at > org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:131) > at > org.apache.hadoop.hbase.master.AssignmentManager.isDisabledorDisablingRegionInRIT(AssignmentManager.java:1221) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:739) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1567) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1546) > at > org.apache.hadoop.hbase.util.ModifyRegionUtils.assignRegions(ModifyRegionUtils.java:254) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.assignRegions(CreateTableProcedure.java:430) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:127) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:57) > at > org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:119) > at > org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:452) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1066) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:855) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:808) > {code} > AssignmentManager#isDisabledorDisablingRegionInRIT should take table > existence into account. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-16627) AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table exists
[ https://issues.apache.org/jira/browse/HBASE-16627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15487806#comment-15487806 ] Ted Yu commented on HBASE-16627: Backup tests can pass. This is not blocker for backup / restore. Thanks, Stephen. > AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table > exists > > > Key: HBASE-16627 > URL: https://issues.apache.org/jira/browse/HBASE-16627 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Assignee: Stephen Yuan Jiang >Priority: Minor > > [~stack] first reported this issue when he played with backup feature. > The following exception can be observed in backup unit tests: > {code} > 2016-09-13 16:21:57,661 ERROR [ProcedureExecutor-3] > master.TableStateManager(134): Unable to get table hbase:backup state > org.apache.hadoop.hbase.TableNotFoundException: hbase:backup > at > org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:174) > at > org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:131) > at > org.apache.hadoop.hbase.master.AssignmentManager.isDisabledorDisablingRegionInRIT(AssignmentManager.java:1221) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:739) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1567) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1546) > at > org.apache.hadoop.hbase.util.ModifyRegionUtils.assignRegions(ModifyRegionUtils.java:254) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.assignRegions(CreateTableProcedure.java:430) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:127) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:57) > at > org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:119) > at > org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:452) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1066) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:855) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:808) > {code} > AssignmentManager#isDisabledorDisablingRegionInRIT should take table > existence into account. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-16627) AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table exists
[ https://issues.apache.org/jira/browse/HBASE-16627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15487795#comment-15487795 ] Stephen Yuan Jiang commented on HBASE-16627: It is interesting. This is common code path for creating a table. We should not throw exception (otherwise, all table creation would fail). [~tedyu] and [~stack], can this be easily repro by just creating backup table? Assignment manager code is in the middle of updating. Unless this is a easy repro and block your testing, let me hold this bug for now and I will do more investigation later. If this is a blocker, I will spend some time to unblock you in the backup branch. > AssignmentManager#isDisabledorDisablingRegionInRIT should check whether table > exists > > > Key: HBASE-16627 > URL: https://issues.apache.org/jira/browse/HBASE-16627 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Assignee: Stephen Yuan Jiang >Priority: Minor > > [~stack] first reported this issue when he played with backup feature. > The following exception can be observed in backup unit tests: > {code} > 2016-09-13 16:21:57,661 ERROR [ProcedureExecutor-3] > master.TableStateManager(134): Unable to get table hbase:backup state > org.apache.hadoop.hbase.TableNotFoundException: hbase:backup > at > org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:174) > at > org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:131) > at > org.apache.hadoop.hbase.master.AssignmentManager.isDisabledorDisablingRegionInRIT(AssignmentManager.java:1221) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:739) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1567) > at > org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1546) > at > org.apache.hadoop.hbase.util.ModifyRegionUtils.assignRegions(ModifyRegionUtils.java:254) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.assignRegions(CreateTableProcedure.java:430) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:127) > at > org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:57) > at > org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:119) > at > org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:452) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1066) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:855) > at > org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:808) > {code} > AssignmentManager#isDisabledorDisablingRegionInRIT should take table > existence into account. -- This message was sent by Atlassian JIRA (v6.3.4#6332)