2012-02-02 3 views
2

데이터 저장소 쿼리가 얼마나 빨리 만료됩니까? 나는 봤지만 문서에서 번호를 찾지 못했습니다.데이터 저장소 쿼리의 유효 기간은 얼마나됩니까?

코드 예외 :

com.google.appengine.api.datastore.DatastoreFailureException: query has expired or is invalid. Please restart it with the last cursor to read more results. 

답변

6

30 초입니다.

구글 직원이 bugtracking 시스템 here으로 준 공식 답변을주었습니다.

2

쿼리 커서는 시간을 지속 할 수있다. 처음으로 쿼리를 수행 한 후 짧은 시간 내에이 오류가 계속 발생하면 커서 문자열이 잘못되었거나 잘못된 쿼리와 함께 커서를 사용하고있는 것일 수 있습니다. 쿼리는 커서를 생성하는 데 사용 된 쿼리와 동일해야합니다.

쿼리 성능을 높이는 복합 인덱스의 구성을 변경하면 기존의 모든 커서가 무효화됩니다. The docs은 (App Engine 팀에서) 기본 구현을 변경하면 커서가 무효화 될 수도 있음을 알립니다.

+0

30 초 후에도 일관성이 있습니다. 단지 그것에 대한 공식적인 정보를보고 싶었습니다. 하지만 내가 (이 질문을 게시 한 후) 내가 발견 한 것은 bugtracking 시스템에서 [이 주석] (https://code.google.com/p/googleappengine/issues/detail?id=4432)입니다. – expert

+1

나는 당신이 커서라고 불리는 두 가지 다른 것들에 대해 혼란스럽게 이야기하고 있다고 생각합니다. Dan은 UI 페이지 매김에 사용할 수있는 커서를 언급하고 있습니다. 실제로 수명에 제한이 없습니다. 키가 삭제되거나 삽입 될 때 시간이 지남에 따라 정확도가 떨어집니다. 그러나 30 초 제한 시간은 단일 쿼리의 연속 배치를 함께 묶는 "내부 커서"를 참조 할 가능성이 큽니다. Appstats를 사용하고 있다면 이것은 RunQuery - Next - Next 등입니다. 문제 4432의 주석을 참조하십시오. 어쩌면 너는 긴 배경 일을하고있을거야? –

관련 문제