Jeff,

Apologies, but I don't see an answer to Ted's earlier question about
what version of HBase you're making use of?



On Wed, Apr 26, 2017 at 2:50 PM, jeff saremi <[email protected]> wrote:
> i created this
> https://issues.apache.org/jira/browse/HBASE-17966
>
> to track this issue
>
> Overall, none of this should have pushed out to the User. HBase should have 
> transparently take care of inconsistency in the zookeeper. However i didn't 
> make this ticket as comprehensive to include what I just said. Let's get 
> tableExists and createTable the same for now
>
> ________________________________
> From: jeff saremi <[email protected]>
> Sent: Wednesday, April 26, 2017 8:31:23 AM
> To: [email protected]
> Subject: Re: Baffling situation with tableExists and createTable
>
> yes i had to go to zookeeper and manually delete a node under Tables
>
> my question is why there are multiple standards in how tables are handled
>
> The same logic that is in tableExists() should exist in createTable() and 
> vice versa
>
>
> ________________________________
> From: ashish singhi <[email protected]>
> Sent: Wednesday, April 26, 2017 2:29:49 AM
> To: [email protected]
> Subject: RE: Baffling situation with tableExists and createTable
>
> This is already handled through Procedure-V2 code in HBase 1.1+ versions.
>
> Regards,
> Ashish
>
> -----Original Message-----
> From: Anoop John [mailto:[email protected]]
> Sent: 26 April 2017 15:31
> To: [email protected]
> Subject: Re: Baffling situation with tableExists and createTable
>
> Ur earlier attempt to create this table would have failed in btw..  So the 
> status of the table in zk and in master may be diff.. Table exist might be 
> checking one and the next steps of crate table another..
> Sorry forgot that area of code.. But have seen this kind of situation.
>   Not sure whether in some latest versions, these kind of probs are solved or 
> not.
>
> -Anoop-
>
> On Wed, Apr 26, 2017 at 6:12 AM, Ted Yu <[email protected]> wrote:
>> Which hbase release are you using ?
>>
>> Can you check master log to see if there is some clue w.r.t. LoadTest ?
>>
>> Using "hbase zkcli", you can inspect the znode status. Below is a sample:
>>
>> [zk: cn011.x.com:2181,cn013.x.com:2181,cn012.x.com:2181(CONNECTED) 2]
>> ls /hbase-unsecure/table [hbase:meta, hbase:namespace,
>> IntegrationTestBigLinkedList, datatsv, usertable, hbase:backup,
>> TestTable, t2]
>> [zk: cn011.x.com:2181,cn013.x.com:2181,cn012.x.com:2181(CONNECTED) 3]
>> ls
>> /hbase-unsecure/table/2
>> Node does not exist: /hbase-unsecure/table/2
>> [zk: cn011.x.com:2181,cn013.x.com:2181,cn012.x.com:2181(CONNECTED) 4]
>> ls
>> /hbase-unsecure/table/t2
>> []
>> [zk: cn011.x.com:2181,cn013.x.com:2181,cn012.x.com:2181(CONNECTED) 5]
>> get
>> /hbase-unsecure/table/t2
>>  master:16000K  W , PBUF
>> cZxid = 0x1000a7f01
>> ctime = Mon Mar 27 16:50:52 UTC 2017
>> mZxid = 0x1000a7f17
>> mtime = Mon Mar 27 16:50:52 UTC 2017
>> pZxid = 0x1000a7f01
>> cversion = 0
>> dataVersion = 2
>>
>> On Tue, Apr 25, 2017 at 4:09 PM, jeff saremi <[email protected]> wrote:
>>
>>> BTW on the page
>>> http://localhost:16010/master-status#userTables
>>> there is no sign of the supposedly existing table either
>>>
>>> ________________________________
>>> From: jeff saremi <[email protected]>
>>> Sent: Tuesday, April 25, 2017 4:05:56 PM
>>> To: [email protected]
>>> Subject: Baffling situation with tableExists and createTable
>>>
>>> I have a super simple piece of code which tries to create a test
>>> table if it does not exist
>>>
>>> calling admin.tableExists(TableName.valueOf(table)) returns false
>>> causing the control to be passed to the line that creates it 
>>> admin.createTable(tableDescriptor).
>>> Then i get an exception that the table exists!
>>>
>>> Exception in thread "main" org.apache.hadoop.hbase.TableExistsException:
>>> LoadTest
>>>
>>>
>>> String table = config.tableName;
>>> ...
>>> Connection conn = ConnectionFactory.createConnection(hbaseconf);
>>> Admin admin = conn.getAdmin();
>>> if(!admin.tableExists(TableName.valueOf(table))) {
>>>     Log.info("table " + table + " does not exist. Creating it...");
>>>     HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.
>>> valueOf(table));
>>>     tableDescriptor.addFamily(new HColumnDescriptor(config.FAMILY));
>>>     admin.createTable(tableDescriptor);
>>> }
>>>
>>> Jeff
>>>



-- 
Sean

Reply via email to