Python 为什么Cassandra对字节键(对Lazyboy)表现得很奇怪?

Python 为什么Cassandra对字节键(对Lazyboy)表现得很奇怪?,python,cassandra,uuid,Python,Cassandra,Uuid,我为测试Cassandra编写了一个测试程序,但在读取数据时遇到了问题。看起来卡桑德拉有时会把一把钥匙换成另一把钥匙 这是我的测试程序: from lazyboy import * from lazyboy.key import Key import uuid import random class TestItemKey(Key): def __init__(self, key=None): Key.__init__(self, "TestMX", "TestCF", ke

我为测试Cassandra编写了一个测试程序,但在读取数据时遇到了问题。看起来卡桑德拉有时会把一把钥匙换成另一把钥匙

这是我的测试程序:

from lazyboy import *
from lazyboy.key import Key
import uuid
import random

class TestItemKey(Key):
    def __init__(self, key=None):
     Key.__init__(self, "TestMX", "TestCF", key)

class TestItem(record.Record):
    def __init__(self, *args, **kwargs):
        record.Record.__init__(self, *args, **kwargs)
        self.key = TestItemKey(uuid.uuid1().bytes)

connection.add_pool('TestMX', ['localhost:9160'])

t1 = TestItem({'test':'foo'})
t1.key = TestItemKey(uuid.UUID('3cead15a-a54e-11df-87a2-000c298d2724').bytes)
t2 = TestItem({'test':'bar'})
t2.key = TestItemKey(uuid.UUID('3cebc15a-a54e-11df-87a2-000c298d2724').bytes)
t1.save()
t2.save()

print TestItem().load(t1.key.clone())
print TestItem().load(t2.key.clone())
(所选UUID是导致问题的UUID的一个示例)

以下是此脚本的输出:

root@ubuntu:/mnt/hgfs/TestMX# python test.py 
TestItem: {'test': 'foo'}
TestItem: {'test': 'foo'}
而不是预期的结果:

root@ubuntu:/mnt/hgfs/TestMX# python test.py 
TestItem: {'test': 'foo'}
TestItem: {'test': 'bar'}

请注意,该脚本通常适用于其他随机选择的UUID,但有时不…

听起来很像您正在使用的UUID,它在0.6分支中已修复,将在下一个稳定版本0.6.5中使用。

我将补充说,我尝试使用Pycasa而不是Lazyboy,结果完全相同。t1.key和t2.key是相同的,或者我错过了一些基本的东西?它们非常接近,但不一样<代码>3cead…对于第一个,而
3cebc…
对于第二个。Tkanks。它特别解决了这两个键的问题。但仍然可以找到非工作的,如
936a87e2-a5fc-11df-82c1-000c29f73b23
936ae9e4-a5fc-11df-82c1-000c29f73b23
。同样的结果……好吧,那么你可能又碰到了另一个bug(在irc#cassandra讨论后添加的评论)