Hi!

I think I've stepped on the same or similar bug.

I have a software which uses zodb transactions to synchronize operations in
two databases. In the end, the two databases are the same (we are using the
exact same postgresql connection url for both). The software runs fine if
only one instance is launched.

But... if I launch more than one instance at a time, there is a great
possibility that I get an Exception like this:

Traceback (most recent call last):
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/brownthrower/dispatcher/static/__init__.py",
line 238, in _run_job
    transaction.commit()
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/transaction/_manager.py",
line 111, in commit
    return self.get().commit()
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/transaction/_transaction.py",
line 280, in commit
    reraise(t, v, tb)
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/transaction/_transaction.py",
line 271, in commit
    self._commitResources()
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/transaction/_transaction.py",
line 417, in _commitResources
    reraise(t, v, tb)
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/transaction/_transaction.py",
line 394, in _commitResources
    rm.tpc_vote(self)
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/zope/sqlalchemy/datamanager.py",
line 153, in tpc_vote
    self.tx.prepare()
  File
"/nfs/pau/PAUdm/codes/tonello/ENV/packaging_test/lib/python2.6/site-packages/sqlalchemy/orm/session.py",
line 313, in prepare
    if self._parent is not None or not self.session.twophase:
AttributeError: 'NoneType' object has no attribute 'twophase'

I'm completely lost on this :(

Any clues?

BTW, sessions are created like this:

    engine = create_engine('postgresql://foo')

    session_maker = scoped_session(sessionmaker(
        bind = engine,
        twophase = True,
        extension = ZopeTransactionExtension()
    ))

Thank you very much in advance :)

Pau.

2013/2/20 Michael Bayer <[email protected]>

> you'd have to illustrate a working example of the code that causes that.
>
>
> On Feb 20, 2013, at 6:18 AM, Christian Démolis <[email protected]>
> wrote:
>
> Hi,
>
> AttributeError: 'NoneType' object has no attribute 'twophase'
>
>
>
> 243.
> 244.
> 245.
> 246.
> 247.
> 248.
>
> 249.
> 250.
> 251.
> 252.
>
>
>                         "Session already has a Connection associated for the "
>                         "given Connection's Engine")
>
>
>             else:
>                 conn = bind.contextual_connect()
>
>
>         if self.session.twophase and self._parent is None:
>
>
>             transaction = conn.begin_twophase()
>         elif self.nested:
>
>
>             transaction = conn.begin_nested()
>         else:
>
>
> Anybody understand this error ?
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
----------------------------------
Pau Tallada Crespí
Dep. d'Astrofísica i Cosmologia
Port d'Informació Científica (PIC)
Tel: +34 93 586 8233
----------------------------------

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to