summaryrefslogtreecommitdiff
path: root/happybase/connection.py
diff options
context:
space:
mode:
Diffstat (limited to 'happybase/connection.py')
-rw-r--r--happybase/connection.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/happybase/connection.py b/happybase/connection.py
index e52d256..4ca7278 100644
--- a/happybase/connection.py
+++ b/happybase/connection.py
@@ -6,12 +6,13 @@ HappyBase connection module.
import logging
-from thrift.transport.TSocket import TSocket
-from thrift.transport.TTransport import TBufferedTransport, TFramedTransport
-from thrift.protocol import TBinaryProtocol, TCompactProtocol
+from thriftpy.thrift import TClient
+from thriftpy.transport import TBufferedTransport, TFramedTransport, TSocket
+from thriftpy.protocol import TBinaryProtocol
+# TODO: https://github.com/eleme/thriftpy/issues/187
+# from thriftpy.protocol import TCompactProtocol
-from .hbase import Hbase
-from .hbase.ttypes import ColumnDescriptor
+from .Hbase_thrift import Hbase, ColumnDescriptor
from .table import Table
from .util import pep8_to_camel_case
@@ -23,8 +24,9 @@ THRIFT_TRANSPORTS = dict(
framed=TFramedTransport,
)
THRIFT_PROTOCOLS = dict(
- binary=TBinaryProtocol.TBinaryProtocolAccelerated,
- compact=TCompactProtocol.TCompactProtocol,
+ binary=TBinaryProtocol,
+ # compact=TCompactProtocol,
+ compact=None, # TODO: https://github.com/eleme/thriftpy/issues/187
)
DEFAULT_HOST = 'localhost'
@@ -78,8 +80,8 @@ class Connection(object):
since otherwise you might see non-obvious connection errors or
program hangs when making a connection. ``TCompactProtocol`` is
a more compact binary format that is typically more efficient to
- process as well. ``TBinaryAccelerated`` is the default protocol that
- happybase uses.
+ process as well. ``TBinaryProtocol`` is the default protocol that
+ Happybase uses.
.. versionadded:: 0.9
`protocol` argument
@@ -148,11 +150,11 @@ class Connection(object):
"""Refresh the Thrift socket, transport, and client."""
socket = TSocket(self.host, self.port)
if self.timeout is not None:
- socket.setTimeout(self.timeout)
+ socket.set_timeout(self.timeout)
self.transport = self._transport_class(socket)
protocol = self._protocol_class(self.transport)
- self.client = Hbase.Client(protocol)
+ self.client = TClient(Hbase, protocol)
def _table_name(self, name):
"""Construct a table name by optionally adding a table name prefix."""
@@ -166,7 +168,7 @@ class Connection(object):
This method opens the underlying Thrift transport (TCP connection).
"""
- if self.transport.isOpen():
+ if self.transport.is_open():
return
logger.debug("Opening Thrift transport to %s:%d", self.host, self.port)
@@ -177,7 +179,7 @@ class Connection(object):
This method closes the underlying Thrift transport (TCP connection).
"""
- if not self.transport.isOpen():
+ if not self.transport.is_open():
return
if logger is not None: