From 2a76bff6b87adb849d5243d4f0cde8430eb57b8c Mon Sep 17 00:00:00 2001 From: wuhan1 Date: Fri, 10 May 2024 14:42:29 +0800 Subject: [PATCH] Fix protobuf unkown protocol. --- hbase/client/region.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/hbase/client/region.py b/hbase/client/region.py index 49fd95e..5864d51 100644 --- a/hbase/client/region.py +++ b/hbase/client/region.py @@ -245,15 +245,16 @@ def _remove_from_cache(self, region_or_meta_key): pass def _region_lookup(self, meta_key): + #Fix from https://github.com/3601314/hbase-python/issues/3 column = protobuf.Column() column.family = b'info' - req = protobuf.GetRequest() - req.get.row = meta_key.encode() - req.get.column.extend([column]) - req.get.closest_row_before = True + req = protobuf.ScanRequest() + req.scan.column.extend([column]) + req.scan.start_row = meta_key.encode() + req.scan.reversed = True req.region.type = 1 req.region.value = b'hbase:meta,,1' - + req.number_of_rows = 1 try: resp = self._meta_service.request(req) except exceptions.RegionError: @@ -264,7 +265,10 @@ def _region_lookup(self, meta_key): break except exceptions.RegionError: continue - cells = resp.result.cell + cells = [] + for result in resp.results: + cells = result.cell + break if len(cells) == 0: return None