Hello,

I'm experiencing really strange problem. I wrote data into cassandra
cluster. I'm trying to check if data inserted then fetched are equally to
source data (file).  Code below is the task for celery that does
the comparison with sha1(). The problem is that celery worker returning
since time to time during the comparison output like that:

2011-04-14 17:24:33,225: INFO/PoolWorker-134]
tasks.insertData[f377efdb-33a2-48f4-ab00-52b1898e216c]: [Error/EmailTest]
Email corrupted.]

If i execute the task code manually the output is correct ,[Email data test:
OK].

I thought that possible bug is in multi threading but i start celery workers
with only one thread to  remove that case.


Another problem that is occurring often is :

[2011-04-14 12:46:49,682: INFO/PoolWorker-1] Connection 17810000 (IP:9160)
in ConnectionPool (id = 15612176) failed: timed out
[2011-04-14 12:46:49,844: INFO/PoolWorker-1] Connection 17810000 (IP:9160)
in ConnectionPool (id = 15612176) failed: UnavailableException()


I'm using pycassa connection pooling  with parameters pool_size=15 (5*
number of nodes), max_retries=30, max_overflow=5, timeout=4


Any ideas where should be problems? The client is pycassa 1.0.8, and I tried
it with 1.0.6 too.


Thanks


Best,
Peter

#######

@task(ignore_result=True)
def checkData(key):


    logger = insertData.get_logger()
    logger.info("Reading email %s" % key)
    logger.info("Task id %s" %  checkData.request.id)

    f = open(key, 'r')
    sEmail = f.readlines()
    f.close()

    m = hashlib.sha1()
    m.update(''.join(sEmail))
    sHash = m.hexdigest()

    #fetch email from DB
    email = rawEmail(key)


    m = hashlib.sha1()
    m.update(email)
    dHash = m.hexdigest()

    if sHash != dHash:
        logger.info("[Error/EmailTest] Email corrupted.] < %s >" % key)
    else:
        logger.info("[Email data test: OK]")

Reply via email to