Hi Stack, On Jun 17, 2011, at 5:43 PM, Stack wrote:
> On Thu, Jun 16, 2011 at 11:49 PM, Lars George <[email protected]> wrote: >> The region server is no array of strings, but just one string, so admin.rb >> should be >> >> # Closes a region >> def close_region(region_name, server = nil) >> @admin.closeRegion(region_name, server) >> end >> >> That fixes the call. > > Let me know if you would like me to file issue and commit fix for this. Yes please. > See below. > >> The next issue is, you cannot close a region that is >> not in META, although you are handing in the region name and server address, >> in the 0.90 branch: >> >> if (hostAndPort != null) { >> HServerAddress hsa = new HServerAddress(hostAndPort); >> Pair<HRegionInfo, HServerAddress> pair = >> MetaReader.getRegion(ct, regionname); >> if (pair == null || pair.getSecond() == null) { >> LOG.info("No server in .META. for " + >> Bytes.toString(regionname) + "; pair=" + pair); >> } else { >> closeRegion(hsa, pair.getFirst()); >> } >> } else { >> >> trunk has: >> >> if (hostAndPort != null) { >> Pair<HRegionInfo, ServerName> pair = MetaReader.getRegion(ct, >> regionname); >> if (pair == null || pair.getSecond() == null) { >> LOG.info("No server in .META. for " + >> Bytes.toStringBinary(regionname) + "; pair=" + pair); >> } else { >> closeRegion(pair.getSecond(), pair.getFirst()); >> } >> >> so seems to be fixed there, but would not work for a 0.90.x release. Should >> this be backported? >> > > Is this broke for trunk and meta? What if region not found by > MetaReader (not in .meta. but it is out on the RS). > > Again, let me know if you want me to file jira and fix these. This > stuff is needed doing surgery. > > St.Ack Well, with the last I am not sure of the implications, but what we discussed is that you should be able to close a region even if it is not in META, right? So trunk seems to be doing that, while 0.90 branch does not. I was wondering if that is worth backporting? Rare event though that this is needed and a RS restart also removes the region, so I would leave this as a nice to have thing, but would not spent resources on it. Lars
