2012-01-04 4 views
0

나는 GAE의 transaction 잠금에 관한 한 가지를 확인하고 싶습니다. 문서에서는이 말했다 : 그래서 잠시 appengine 거래 잠금

트랜잭션이 하나의 그룹 거래의 경우 같은 개체 그룹에 개체에 작동해야 트랜잭션의 모든 데이터 저장소 작업

, ...

txn이 실행 중일 때 단일 엔티티 그룹의 모든 항목 만 잠그고 트랜잭션에서 사용되는 모델의 모든 항목을 잠그지 않습니다. 맞아?

답변

3

GAE는 거래에서 아무 것도 잠그지 않고 마지막 업데이트 시간을 확인하고 거래를 시작한 후에 예외를 발생시키고 데이터를 롤백합니다. 'What Can Be Done In a Transaction'

+2

그러나 원래 질문에 답하는 것은 잘못 표현한 것입니다. 경합은 주어진 모델의 모든 엔티티가 아닌 동일한 엔티티 그룹의 엔티티에만 적용됩니다. –

+0

오, 그래, 네가 맞다. 나는 이것을 놓쳤다. –

+0

'트랜잭션에서 수행 할 수있는 것'링크가 죽었으며, Google 데이터 스토어의 타임 스탬프 기반 낙관적 잠금에 대한 참조를 찾을 수 없다. 더 이상하지 않습니까? – 1977