[ https://issues.apache.org/jira/browse/CASSANDRA-2938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Cathy Daw updated CASSANDRA-2938: --------------------------------- Attachment: t910.py > NotFoundException doing a quick succession of insert/get's on the same CF or > rowkey > ----------------------------------------------------------------------------------- > > Key: CASSANDRA-2938 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2938 > Project: Cassandra > Issue Type: Bug > Affects Versions: 0.8.0 > Reporter: Cathy Daw > Priority: Minor > Attachments: t910.py > > > *Issue* > * A customer complained about pycassa.cassandra.c08.ttypes.NotFoundException: > NotFoundException() > * This issue is related to a quick succession of insert/get's. See: > [http://support.datastax.com/tickets/910] > * Customer's AWS instance on EBS: 1 row with 10K columns, with sleep code: > fails 1/10 inserts > * Rackspace: > ** We could not reproduce this with the sleep code left in. This was tested > with the SimpleStrategy and NetworkTopologyStrategy. > ** 1 row with 10K columns, without sleep code: fails 1/500 inserts > ** 10K row with 1 column, without sleep code: Script passes 2 in 5 attempts. > When it fails, it is at about the 4000-5000th insert. > *Stack* > {code} > Traceback (most recent call last): > File "t910.py", line 56, in <module> > test() > File "t910.py", line 43, in test > db.get('testraw', columns=[key, ]) > File > "/usr/local/lib/python2.6/dist-packages/pycassa-1.1.0-py2.6.egg/pycassa/columnfamily.py", > line 391, in get > read_consistency_level or self.read_consistency_level) > File > "/usr/local/lib/python2.6/dist-packages/pycassa-1.1.0-py2.6.egg/pycassa/pool.py", > line 380, in new_f > result = getattr(super(ConnectionWrapper, self), f.__name__)(*args, > **kwargs) > File > "/usr/local/lib/python2.6/dist-packages/pycassa-1.1.0-py2.6.egg/pycassa/cassandra/c08/Cassandra.py", > line 422, in get > return self.recv_get() > File > "/usr/local/lib/python2.6/dist-packages/pycassa-1.1.0-py2.6.egg/pycassa/cassandra/c08/Cassandra.py", > line 449, in recv_get > raise result.nfe > pycassa.cassandra.c08.ttypes.NotFoundException: NotFoundException() > {code} > *Script - also attached* > {code} > #!/usr/bin/python > import time > import pycassa > from pycassa import system_manager > from pycassa.system_manager import * > def test(): > m = pycassa.system_manager.SystemManager('cathy1:9160') > pool = pycassa.pool.ConnectionPool('testraw', > server_list=['cathy1:9160', ], timeout=5, pool_size=16, > max_overflow=0, prefill=False, pool_timeout=30, max_retries=8) > kspaces = m.list_keyspaces() > if not 'testraw' in kspaces: > m.create_keyspace('testraw', 3) > cfs = m.get_keyspace_column_families('testraw') > if 'testraw' not in cfs: > m.create_column_family('testraw', 'testraw', > comparator_type=system_manager.BYTES_TYPE, > default_validation_class=system_manager.BYTES_TYPE, > row_cache_size=1024 * 1024, key_cache_size=0) > db = pycassa.ColumnFamily(pool, 'testraw', > read_consistency_level=pycassa.ConsistencyLevel.QUORUM, > write_consistency_level=pycassa.ConsistencyLevel.QUORUM) > try: > for i in range(10000): > print 'Inserting %d' % i > # The following code generates 1 row with 10K columns > key = str(i) > db.insert('testraw', {key: ''}) > db.get('testraw', columns=[key, ]) > # The following code generates 10K rows with 1 columns > #key = 'key' + str(i) > #db.insert(key, {str(i) : ''}) > #db.get(key, columns=[str(i), ]) > # time.sleep(.1) > finally: > print 'Done' > m.drop_keyspace('testraw') > if __name__ == '__main__': > test() > {code} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira