Hello,
I am using SQLA 0.5rc2 on Py 2.5.2 with Elixir 0.6. I have a multithreaded
application, and each thread gets a separate session object. All of them use
the same disk based database. I get the below exception :
Exception in thread RSIHostDBSync:
Traceback (most recent call last):
File "c:\python25\lib\threading.py", line 486, in __bootstrap_inner
self.run()
File "O:\RecogSys\src\python\RSITerm\RSIHostDBSync.py", line 978, in run
InteractionsSent, InteractionsRemaining = self.SendInteractions()
File "O:\RecogSys\src\python\RSITerm\RSIHostDBSync.py", line 1366, in
SendInte
ractions
iaKeyList = list(self.rsiDB.InteractionDB().keys())
File "O:\RecogSys\src\python\RSITerm\SQLConvert\InteractionDBDict.py",
line 24
, in keys
return self.dbo.InteractionDBDict_Keys()
File "O:\RecogSys\src\python\RSITerm\SQLConvert\SqlDB.py", line 1045, in
Inter
actionDBDict_Keys
filter_by(SentFlag = 0).all():
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc2-py2.5.egg\sqlalchemy\o
rm\query.py", line 990, in all
return list(self)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc2-py2.5.egg\sqlalchemy\o
rm\query.py", line 1078, in __iter__
return self._execute_and_instances(context)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc2-py2.5.egg\sqlalchemy\o
rm\query.py", line 1081, in _execute_and_instances
result = self.session.execute(querycontext.statement,
params=self._params, m
apper=self._mapper_zero_or_none(), _state=self._refresh_state)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc2-py2.5.egg\sqlalchemy\o
rm\session.py", line 749, in execute
return self.__connection(engine, close_with_result=True).execute(
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc2-py2.5.egg\sqlalchemy\o
rm\session.py", line 716, in __connection
return self.transaction._connection_for_bind(engine)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc2-py2.5.egg\sqlalchemy\o
rm\session.py", line 309, in _connection_for_bind
self._assert_is_active()
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc2-py2.5.egg\sqlalchemy\o
rm\session.py", line 244, in _assert_is_active
"The transaction is inactive due to a rollback in a "
InvalidRequestError: The transaction is inactive due to a rollback in a
subtrans
action. Issue rollback() to cancel the transaction.
I am guarding my commits with a mutex, but the queries are unguarded. Before
I get the above exception, I dont see any other messages regarding the
transaction rollback that is mentioned here before this exception occurs.
Could this be a problem with the way I have implemented sessions? If one of
the session is committing on the database and the other one is trying to
query, would this problem arise? I am not very sure on how connection
objects are created during this scenario. Appreciate your help.
Regards,
Harish
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---