Сбой задания U-SQL Azure Data Lake из-за ошибки: JM_FinalMetadataOperationUserError

Я выполнял задания U-SQL в Azure Data Lake, которые обновляют секционированные таблицы, и они выполняются успешно, но завершаются ошибкой на этапе "Завершение" с ошибкой "JM_FinalMetadataOperationUserError", трассировка стека выглядит следующим образом:

Object ec2d8ab3-6df5-48eb-9169-daec48bf27a6.DeployedLogs.dbo.ConcurrentRecord__1__System.DateTime.FromBinary
(5246322962427387904 /* 2012-02-01T12:00:00.0000000Z */) 
already exists at Scope.MetadataService.Client.WcfBasedMetadataClient.ExecuteMetadataJob(MetadataJob mdJob) 
at MetaDataExecutor.RealMetaDataExecutor.Execute(MetadataJob job) 
at MetaDataExecutor.Committer.Commit(MetadataJob job)

В сообщении об ошибке говорится:

Failed to write job meta-data due to user error

Что может вызвать эту проблему? Это связано с тем, что значения добавляются/усекаются из таблицы?

Был бы признателен за помощь.


person Tayyab Anwar    schedule 01.06.2016    source источник


Ответы (1)


Причина ошибки в том, что вы запустили два задания одновременно, чтобы создать один и тот же раздел. Один сценарий завершился, а второй потерпел неудачу, когда обнаружил, что раздел создан.

В настоящее время мы изучаем, как мы можем улучшить сообщение об ошибке и уменьшить вероятность таких условий гонки.

[Добавлено] Вот подробности из истории работы и доказательства состояния гонки (анонимное имя учетной записи):

  1. Эта вакансия составлена ​​31.05.2016 00:56:06.100. В то время раздела не существовало, поэтому операция CreateEntityOperation для этого раздела включена в алгебру. Журналы: d, 31.05.2016 00:56:06.100, ScopeMetadataService, GetMetaEntity, SrcFile="" SrcFunc="" SrcLine="0" Pid="17072" Tid="16548" TS="0x01D1BB11E2999697" String1=" Начать получать информацию о метаобъекте ec2d8ab3-6df5-48eb-9169-daec48bf27a6.DeployedLogs.dbo.ConcurrentRecord__1__System.DateTime.FromBinary(5246322962427387904 /* 2012-02-01T12:00:00.0000000Z */)"

  2. Раздел, созданный другим заданием 31.05.2016 01:07:53.766 (после компиляции неудачного задания, но до выполнения операции с метаданными неудачного задания). URL-адрес вакансии: https://b******.azuredataalakeanalytics.net/Jobs/909c4680-fd90-452a-93b0-fcc7860de504?api-version. =2015-02-12 Журнал: d, 31/05/2016 01:07:53.766,ScopeMetadataService,CreateEntity,SrcFile="" SrcFunc="" SrcLine="0" Pid="17608" Tid="20028" TS= "0x01D1BB138866CD29" String1="entity ec2d8ab3-6df5-48eb-9169-daec48bf27a6.DeployedLogs.dbo.ConcurrentRecord__1__System.DateTime.FromBinary(5246322962427387904 /* 2012-02-01T12:00:00) успешно создан.

  3. Сбой пользовательского задания при выполнении операции метаданных для создания раздела 31.05.2016 02:17:57.241, поскольку раздел создан другим заданием. Журналы: e, 31.05.2016 02:17:57.241, ScopeMetadataService, неожиданное исключение SMS при фиксации задачи метаданных, SrcFile="" SrcFunc="" SrcLine="0" Pid="17072" Tid="20972" TS= "0x01D1BB1D51DE3815" String1="Scope.MetadataService.Contract.FaultContract.AlreadyExistException: Object ec2d8ab3-6df5-48eb-9169-daec48bf27a6.DeployedLogs.dbo.ConcurrentRecord__1__System.DateTime.FromBinary(5246322962427387904 /* 2012-02-01T12:00:00.0000000Z */) уже существует.

Пожалуйста, свяжитесь со мной по адресу mrys в Microsoft, если вы хотите получить более подробную информацию.

person Michael Rys    schedule 02.06.2016
comment
Эй, Майкл. Боюсь, что это не так, каждое задание запускается отдельным слайсом, запущенным в ADF, и один слайс не запускается до тех пор, пока не завершится ранее запланированный, поэтому одновременно выполняется только одно задание. - person Tayyab Anwar; 03.06.2016
comment
Хммм... наш DRI просмотрел историю вакансий и обнаружил условие гонки (анонимное имя учетной записи). Отредактирован исходный ответ, так как он слишком длинный для комментария... - person Michael Rys; 03.06.2016
comment
Вы правы, этот след от моей работы. Я, однако, не могу понять, почему может возникнуть такая ситуация, когда всем этим управляет АДС. - person Tayyab Anwar; 06.06.2016
comment
К сожалению, я не специалист по АПД. Но я бы посоветовал посмотреть, как настроены ваши конвейеры. Возможно, они пропустили точку синхронизации. - person Michael Rys; 06.06.2016
comment
Ребята, я также получаю ту же ошибку при планировании двух разных конвейеров ADF, которые выполняют некоторое задание U-SQL примерно в одно и то же время. так есть ли работа, чтобы исправить это? - person Vaijinath Harbak; 22.07.2019