Well in that case you know how many regions you expect, we could catch the socket exception and then check .META. until it's done or return the call right away and keep checking .META.
J-D On Mon, Jun 20, 2011 at 3:41 PM, Ted Yu <[email protected]> wrote: > Vidhyashankar did encounter socket timeout. > I think even with HBASE-4010 implemented, 70k region table creation would > still produce socket timeout. > > On Mon, Jun 20, 2011 at 3:30 PM, Jean-Daniel Cryans > <[email protected]>wrote: > >> Could be a socket timeout, was able to get one with just 200 regions, >> then calling isTableAvailable would trigger the case that was >> described. >> >> J-D >> >> On Mon, Jun 20, 2011 at 3:28 PM, Ted Yu <[email protected]> wrote: >> > J-D: >> > What's your assessment of why isTableAvailable() was inaccurate for a >> table >> > with 70k regions ? >> > >> > Thanks >> > >> > On Mon, Jun 20, 2011 at 3:01 PM, Jean-Daniel Cryans <[email protected] >> >wrote: >> > >> >> That's not how it works, whether the createTable call is sync or not >> >> the regions are first created in .META. before the call can return. >> >> >> >> And looking at that code, it seems it's highly inefficient. We should >> >> not change the enable flag for every region, we should batch put all >> >> the .META. rows and we should not open a new HLog per new region. >> >> >> >> J-D >> >> >> >> On Mon, Jun 20, 2011 at 2:55 PM, Ted Yu <[email protected]> wrote: >> >> > From Vidhyashankar @ 20/May/11 05:53: >> >> > Hence there might be a case when all regions are indeed fully assigned >> in >> >> > META but it is just that the master is yet to populate META with the >> rest >> >> of >> >> > the regions. >> >> > >> >> > The above means scanning .META. alone wouldn't guarantee that all the >> >> > regions of the table are assigned. >> >> > >> >> >> > >> >
