2012-06-11 3 views
0

Я загружаю несколько файлов каждый день, и примерно половина из них успешна. Некоторые задания возвращают ошибку ...Идентификатор stateless устарел

BigQuery error in load operation: Token invalid - Invalid token: Stateless token expired 

Я использую формат даты IST на моем сервере (если это имеет значение)

date 

Mon Jun 11 11:14:23 IST 2012 

Соответствующий журнал успешной работы заключается в следующем:

Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (1s) Current status: PENDING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (4s) Current status: PENDING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (7s) Current status: PENDING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (10s) Current status: PENDING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (14s) Current status: PENDING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (17s) Current status: RUNNING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (20s) Current status: RUNNING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (23s) Current status: RUNNING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (26s) Current status: RUNNING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (29s) Current status: RUNNING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (32s) Current status: RUNNING 
Waiting on job_9847e7bb715f40d994becff8e5f4ac1a ... (33s) Current status: DONE 

Почему возникает ошибка только для некоторых загружаемых файлов?

+0

Привет там, Пожалуйста, убедитесь, что вы используете последнюю версию нашего Java API Client Lib (если вы используете Java). Две вещи: 1. Как вы обрабатываете свой доступ и обновляете управление токеном? Вы запрашиваете новый токен доступа, используя текущий токен обновления? 2. Убедитесь, что часы вашего сервера верны и синхронизированы с сервером NTP. –

+0

Я не обновляю токен. Я использую команду ##/home/bigquery/bq load --max_bad_record = 30000 -F '^' company.junelog1 /data/2012061108.log.gz oneid: STRING, ativeid: STRING, ip: STRING, cbd: STRING, country: STRING ... $$ Если я попытаюсь снова, иногда я могу успешно загрузить данные, не получив ошибку с истекшим временем. – shantanuo

+0

Когда вы получаете ошибку в операции загрузки bq, действительно ли задание действительно выполняется, или клиент просто дает ошибку? Например, если вы выполняете 'bq show -j ', показывает ли это задание как успешное или неудачное? Моя догадка заключается в том, что цикл, выполняющийся для проверки состояния задания, терпит неудачу, но работа может быть успешно завершена. –

ответ

2

еще один Googler указал мне на эту потенциальную проблему - это по существу условие гонки в клиентской библиотеке Python (на котором основан инструмент bq). Точки доступа Google OAuth 2.0 в настоящий момент действительны в течение 1 часа, после чего клиентская библиотека (или bq) пытается захватить новую, используя сохраненный токен обновления. Однако, если вы начнете новую загрузку данных вблизи границы 1 часа, токен станет недействительным.

Согласно этой теме, мы очень скоро выталкиваем новую версию лежащей в основе библиотеки python, и это должно решить проблему в новых версиях инструмента командной строки bq.

См: https://groups.google.com/forum/?fromgroups#!topic/youtube-api-gdata/n3dZqmHMyp0