Hi, I'm having a problem where the results of session.flush() vary from one run to another of my test suite. The unit of work transaction dump is significantly different from one run to the next, similar to the issue in ticket 461. I haven't managed to make a test case small enough to post to the list yet, and I think I need to delve a little further into the code to find out why it's failing.
(This is with both 0.3.5 and rev2416) The logs from the UOWTransaction on a failing run and a passing run are below. As well as the ordering being different, there is at least one class (ReleaseLine) that doesn't appear in the bad run. Unfortunately I don't know how to go about debugging this. I think I need to see exactly what is going on in the dependency sort. Do you have any suggestions for suitable places to add some extra logging? This is a failing run: INFO:sqlalchemy.orm.unitofwork.UOWTransaction.0x..30:Task dump: UOWTask(0x184b2b0, Component/component/None) (save/update phase) | |- UOWTask(0x184bb50, User/user/None) (save/update phase) | |- Save User(0x1851870) | | |- Process User(0x1851870).branches | | |- Process User(0x1851870).reviews | | |- Process User(0x1851870).labels | | |- Process Branch(0x17ee310).user | | |- Process Branch(0x184b190).user | | | |- UOWTask(0x184bb70, ChangeOrigin/change_origin/None) (save/update phase) | | | |- Process Branch(0x17ee310).change_origin | | | |- Process Branch(0x184b190).change_origin | | | | | |- UOWTask(0x184b590, Label/label/None) (save/update phase) | | | | | | | |- UOWTask(0x184b1b0, Branch/branch/None) (save/update phase) | | | | |- Save Branch(0x17ee310) | | | | |- Save Branch(0x184b190) | | | | | |- Process Branch(0x17ee310).review | | | | | |- Process Branch(0x184b190).review | | | | | | | | | |- UOWTask(0x183f470, Review/review/None) (save/update phase) | | | | | |---- | | | | | | | | | | | | | | |- UOWTask(0x184bb30, <sqlalchemy.orm.dependency.MapperStub object at 0x0183FDF0>) (save/update phase) | | | | | | |- Process Branch(0x17ee310).label | | | | | | |- Process Branch(0x184b190).label | | | | | |---- | | | | | | | | | |---- | | | | | | | | | | | |- UOWTask(0x184bfb0, Counter/counter/None) (save/update phase) | | | | |- Save Counter(0x184b0f0) | | | | |---- | | | | | | | |---- | | | | | |---- | | | |---- | | |- UOWTask(0x184bb50, User/user/None) (delete phase) | | | |- UOWTask(0x184bb70, ChangeOrigin/change_origin/None) (delete phase) | | | | | |- UOWTask(0x184b590, Label/label/None) (delete phase) | | | | | | | |- UOWTask(0x184b1b0, Branch/branch/None) (delete phase) | | | | | | | | | |- UOWTask(0x183f470, Review/review/None) (delete phase) | | | | | |---- | | | | | | | | | | | | | | |- UOWTask(0x184bb30, <sqlalchemy.orm.dependency.MapperStub object at 0x0183FDF0>) (delete phase) | | | | | |---- | | | | | | | | | |---- | | | | | | | | | | | |- UOWTask(0x184bfb0, Counter/counter/None) (delete phase) | | | | |---- | | | | | | | |---- | | | | | |---- | | | |---- | |---- And on a good run looks like this: INFO:sqlalchemy.orm.unitofwork.UOWTransaction.0x..f0:Task dump: UOWTask(0x17f2610, User/user/None) (save/update phase) |- Save User(0x17fe9f0) | |- Process User(0x17fe9f0).labels | |- Process Branch(0x17caa10).user | |- Process Branch(0x17f2470).user | |- Process User(0x17fe9f0).reviews | |- Process User(0x17fe9f0).branches | |- UOWTask(0x17f2a50, ChangeOrigin/change_origin/None) (save/update phase) | | |- Process Branch(0x17caa10).change_origin | | |- Process Branch(0x17f2470).change_origin | | | |- UOWTask(0x17f29f0, Component/component/None) (save/update phase) | | | | | |- UOWTask(0x17f2ad0, ReleaseLine/release_line/None) (save/update phase) | | | | |- Process Branch(0x17caa10).release_line | | | | |- Process Branch(0x17f2470).release_line | | | | |- Process Counter(0x17fed10).release_line | | | | | | | |- UOWTask(0x17f2430, Counter/counter/None) (save/update phase) | | | | |- Save Counter(0x17fed10) | | | | |---- | | | | | | | | | | | |- UOWTask(0x17f2450, Branch/branch/None) (save/update phase) | | | | |- Save Branch(0x17caa10) | | | | |- Save Branch(0x17f2470) | | | | | |- Process Branch(0x17caa10).review | | | | | |- Process Branch(0x17f2470).review | | | | | | | | | |- UOWTask(0x17faf70, Review/review/None) (save/update phase) | | | | | |---- | | | | | | | | | | | | | | |- UOWTask(0x17f2810, <sqlalchemy.orm.dependency.MapperStub object at 0x017DF590>) (save/update phase) | | | | | | |- Process Branch(0x17caa10).label | | | | | | |- Process Branch(0x17f2470).label | | | | | |---- | | | | | | | | | |---- | | | | | | | |---- | | | | | |---- | | | |---- | | |- UOWTask(0x17f2a50, ChangeOrigin/change_origin/None) (delete phase) | | | |- UOWTask(0x17f29f0, Component/component/None) (delete phase) | | | | | |- UOWTask(0x17f2ad0, ReleaseLine/release_line/None) (delete phase) | | | | | | | |- UOWTask(0x17f2430, Counter/counter/None) (delete phase) | | | | |---- | | | | | | | | | | | |- UOWTask(0x17f2450, Branch/branch/None) (delete phase) | | | | | | | | | |- UOWTask(0x17faf70, Review/review/None) (delete phase) | | | | | |---- | | | | | | | | | | | | | | |- UOWTask(0x17f2810, <sqlalchemy.orm.dependency.MapperStub object at 0x017DF590>) (delete phase) | | | | | |---- | | | | | | | | | |---- | | | | | | | |---- | | | | | |---- | | | |---- | |---- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---