2016-01-14 157 views
1

目前我們在ubuntu 14.04上使用Cassandra Python 3.0.0驅動程序,並且我們遇到了「IndexError:Buffer slice outbounds 「當檢索到的行包含大地圖時。Cassandra Python驅動程序3.0.0「IndexError:緩衝區溢出」異常

>>> query = 'SELECT "user_id", "data" FROM users WHERE user_id IN (bb47d269-73a6-475a-9283-0002e2a0872a, 81258ffd-fbb0-47e6-8a5e-0003208880ba)' 
    >>> future = store.session.execute_async(query) 
    >>> future.result() <- exception generated here 
    Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "cassandra/cluster.py", line 3122, in cassandra.cluster.ResponseFuture.result (cassandra/cluster.c:59993) 
    IndexError: Buffer slice out of bounds 

該數據是地圖,包含約3000條目。

回答

2

這看起來與已經打開的問題非常相似,位於此處。

https://datastax-oss.atlassian.net/browse/PYTHON-459

解決方法是尚未在主要版本,但它應該是3.1。在此期間,您可以通過使用--no-cython標誌安裝驅動程序來解決此問題。你可能會看到一個小小的成績,但它應該解決你的問題。

如果您使用pip進行安裝,則必須運行surefire方法禁用cython安裝。

「CASS_DRIVER_NO_CYTHON = 1點卡桑德拉安裝的驅動程序」

確保在重新安裝之前卸載。

+0

謝謝你的回答,但我現在懷疑這個問題可能是由以下問題引起的:https://github.com/datastax/python-driver/pull/456 –

+0

拉請求(456)看起來像它與被引用的問題(PYTHON-459)有關,除非我錯過了一些東西。 –