Таблица с OData кодом failed refresh

Inostranka_02
Reactions: 114
Сообщения: 508
Зарегистрирован: Пт авг 26, 2022 8:59 pm
Откуда: SF, CA

Таблица с OData кодом failed refresh

Сообщение Inostranka_02 »

Скорее всего вопрос не по теме раздела, но попробую:
Дали пофиксить Power BI отчет - в нем несколько таблиц с OData кодом.
Одна таблица 90MB, имеет 30 штук OData feeds.
И она все время failed refresh.

Выдается сообщение:
"OLE DB or ODBC error: [DataSource.Error] OData: Unable to read data from the transport connection:
An existing connection was forcibly closed by the remote host.."

To есть, после где-то 10 мин медленного Refresh, происходит "... existing connection was forcibly closed by the remote host ..."
После разнообразных попыток изменения кода, изучения его (я ОData не знаю, дали быстро разобраться и сделать хоть что-то;
и - как бы учиться на ходу) - попыталась добавить фильтр по дате - [Текушая Дата] - 24 мес, ситуация особо не изменилась.

В итоге - я временно отключила 18 OData feeds - и, когда размер таблицы понизился до 42MB, она теперь грузится.
Можно отчет публиковать и делать scheduled refresh - работает !!!

Но - всякие VP хотят все 30 работающих проектов - то есть чтобы были в идеале все 30 OData feeds - и побыстрее -))

Не знаю, что можно сделать, чтобы она со всеми проектами работала ...
Знающие люди посоветовали добавить parameters в data source - чтобы таблица грузилась как бы частями, а не целиком сразу
Но как именно так сделать, они не знают (забыли и тд).


Вобщем, если кто-то что-то может посоветовать - пишите!
Inostranka_02
Reactions: 114
Сообщения: 508
Зарегистрирован: Пт авг 26, 2022 8:59 pm
Откуда: SF, CA

Re: Таблица с OData кодом failed refresh

Сообщение Inostranka_02 »

ПС -
Есть долгосрочный вариант -
- Создать Fabric Dataflow, куда зафигачить все 30 API calls
- Дальше - как-то разобраться с етим кодом и привести новую загруженную таблицу в вид такои же как теперешняя
(с теми же полями). Не уверена как точно так сделать - в Ms Fabric там язык PySpark, а у меня тут OData
Но мб получится после днеи возни.
- Переустановить связи в Модели Данных - добавив ету новую таблицу (она Fact - главная)
Ну и пере-создать measures сучествуюшие в старои версии отчета
- Оттестировать

Но ето как самое последнее средство уже
Не охота возиться с чужим отчетом так сложно и долго!

Хорошо бы что-то побыстрее, что может уменьшить размер ее / ускорить время Refresh...
Аватара пользователя
Mad Hatter
⭐ Top 5 most interesting users
Reactions: 1483
Сообщения: 7845
Зарегистрирован: Пн июн 13, 2022 7:22 am

Re: Таблица с OData кодом failed refresh

Сообщение Mad Hatter »

То есть в причине почему не работает внешний источник данных вы так и не разобрались....
Аватара пользователя
self
Reactions: 960
Сообщения: 5393
Зарегистрирован: Пт июн 17, 2022 9:21 am

Re: Таблица с OData кодом failed refresh

Сообщение self »

Inostranka_02 писал(а): Сб апр 13, 2024 12:29 am
"OLE DB or ODBC error: [DataSource.Error] OData: Unable to read data from the transport connection:
An existing connection was forcibly closed by the remote host.."
Sounds like a firewall issue
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
elpresidente*
Site Admin
Reactions: 849
Сообщения: 2904
Зарегистрирован: Сб май 14, 2022 5:03 pm

Re: Таблица с OData кодом failed refresh

Сообщение elpresidente* »

OData это протокол (REST API), проблема скорее всего в том что ваш конкретный запрос timeout или еще что-то в этом духе.
Надо смотреть логи на сервере, выяснить что именно происходит, в идеале посмотреть какое именно запросы падают и почему.
Возможно надо добавить индексы где-то.
Попробуйте добавить к запросу pagination и вытаскивать данные постранично.
Аватара пользователя
assassello
Reactions: 1169
Сообщения: 4915
Зарегистрирован: Пн июн 13, 2022 6:46 pm

Re: Таблица с OData кодом failed refresh

Сообщение assassello »

В предмете не рублю, но размеры какие-то удивительные. 90MB - это же вообще ни о чем.

Попробуйте экспериментально найти сколько фидов максимум еще работают. Потом добавить еще один и увеличьте ConnectionTimeout для odbc connection.

Если у вас сложный запрос со всякими кроосс-джойнами - попробуйте его упростить, оптимизировать.
2 Изображение
Слава Украине, слава нации! и пиздец - Российской Федерации.
Игнор-лист: JamesBond, Kurpa, Bobeg, BarBoss, Кокос
Аватара пользователя
Mad Hatter
⭐ Top 5 most interesting users
Reactions: 1483
Сообщения: 7845
Зарегистрирован: Пн июн 13, 2022 7:22 am

Re: Таблица с OData кодом failed refresh

Сообщение Mad Hatter »

Как бывает с продукцией M$… сообщение об ошибке может совершенно не информативным:

https://community.fabric.microsoft.com/ ... -p/2528045

Поэтому я люблю Питон, там хоть понятно в чем причина если не работает 😎
Inostranka_02
Reactions: 114
Сообщения: 508
Зарегистрирован: Пт авг 26, 2022 8:59 pm
Откуда: SF, CA

Re: Таблица с OData кодом failed refresh

Сообщение Inostranka_02 »

self писал(а): Сб апр 13, 2024 5:23 am
Inostranka_02 писал(а): Сб апр 13, 2024 12:29 am
"OLE DB or ODBC error: [DataSource.Error] OData: Unable to read data from the transport connection:
An existing connection was forcibly closed by the remote host.."
Sounds like a firewall issue
И что нужно делать? КудЫ бежать с этим?
Inostranka_02
Reactions: 114
Сообщения: 508
Зарегистрирован: Пт авг 26, 2022 8:59 pm
Откуда: SF, CA

Re: Таблица с OData кодом failed refresh

Сообщение Inostranka_02 »

elpresidente* писал(а): Сб апр 13, 2024 11:09 am OData это протокол (REST API), проблема скорее всего в том что ваш конкретный запрос timeout или еще что-то в этом духе.
Надо смотреть логи на сервере, выяснить что именно происходит, в идеале посмотреть какое именно запросы падают и почему.
Возможно надо добавить индексы где-то.
Попробуйте добавить к запросу pagination и вытаскивать данные постранично.
На всякий случай, напишу чуть подробнее что у меня -
Вот мои дата source - Катринка 1

И то, что внутри - Картинка 2, 3
Т.е там 30 OData Feeds (я убрала большинство, тк не влезает в скриншот)

Я пробовала менять код, но если хоть что-то меняю (добавляю параметры например) - тогда Refresh не возможен и выходит следуюшее сообшение
"This dataset includes a dynamic data source. Since dynamic data sources aren't refreshed in the Power BI service, this dataset won't be refreshed. Learn more: https://aka.ms/dynamic-data-sources.
Please try again later or contact support. If you contact support, please provide these details."

Если идти по ссылке, то обьясняют тем что не понимает не прямых обрашений, как я поняла.
Так что я не уверена что pagination поможет (в смысле, если что-то изменить в коде)

Если я что-то не так тут написала - не судите строго - dealing with this 2nd time in my life, after 4 months break.
Я даже не знаю как именно добавить pagination
Вложения
Pic1.png
Pic1.png (126.98 КБ) 165 просмотров
Pic2.png
Pic2.png (131.84 КБ) 165 просмотров
Pic3.png
Pic3.png (55.63 КБ) 165 просмотров
Inostranka_02
Reactions: 114
Сообщения: 508
Зарегистрирован: Пт авг 26, 2022 8:59 pm
Откуда: SF, CA

Re: Таблица с OData кодом failed refresh

Сообщение Inostranka_02 »

assassello писал(а): Сб апр 13, 2024 11:15 am В предмете не рублю, но размеры какие-то удивительные. 90MB - это же вообще ни о чем.

Попробуйте экспериментально найти сколько фидов максимум еще работают. Потом добавить еще один и увеличьте ConnectionTimeout для odbc connection.

Если у вас сложный запрос со всякими кроосс-джойнами - попробуйте его упростить, оптимизировать.
Если в SQL то да ни о чем...
А тут я ниже привела data source и фиды ети напрямую из API...если я правильно сказала...? и идут в PowerBI

Другие разработчики писали мне что были такие же issues, побеждались они Ms Fabric Data Flow и pipelines - то что я писала во 2м своем посте :( ...

<... Если у вас сложный запрос со всякими кроосс-джойнами - попробуйте его упростить, оптимизировать. ...>
Увы, я не вижу никаких там JOIN - вижу только OData feeds - 30 штук, и еше какои то код см картинку выше


<Попробуйте экспериментально найти сколько фидов максимум еще работают. Потом добавить еще один и увеличьте ConnectionTimeout для odbc connection.>
Не работали 2 фида из 30 - было на них сообшение "Time out".
Но, после их отключения, все равно весь отчет точно так же медленно refresh - 10 min, часто time out (не всегда)
И самое главное - когда его Publish и Schedule Refresh то тоже валится с сообшением -
"There was an error when processing the data in the dataset.
Please try again later or contact support. If you contact support, please provide these details."
Inostranka_02
Reactions: 114
Сообщения: 508
Зарегистрирован: Пт авг 26, 2022 8:59 pm
Откуда: SF, CA

Re: Таблица с OData кодом failed refresh

Сообщение Inostranka_02 »

Вот что PBI Community Forum предлагает -
https://learn.microsoft.com/en-us/power ... odata-feed

Добавить в фид параметер какои-то (то что мне наш DBA предлагал но забыл как)
Попробую вечером
Аватара пользователя
self
Reactions: 960
Сообщения: 5393
Зарегистрирован: Пт июн 17, 2022 9:21 am

Re: Таблица с OData кодом failed refresh

Сообщение self »

Mad Hatter писал(а): Сб апр 13, 2024 11:16 am Как бывает с продукцией M$… сообщение об ошибке может совершенно не информативным:

https://community.fabric.microsoft.com/ ... -p/2528045

Поэтому я люблю Питон, там хоть понятно в чем причина если не работает 😎
Приведенное сообщение - from TCP/IP stack. В Питоне оно будет точно таким же.
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
Аватара пользователя
self
Reactions: 960
Сообщения: 5393
Зарегистрирован: Пт июн 17, 2022 9:21 am

Re: Таблица с OData кодом failed refresh

Сообщение self »

Если у вас нормально работает без 18 фидов, то добавляйте по одному, пока не получите ошибку.
Попробуйте вызвать сбойный фид отдельно.
Если получите такую же ошибку - обращайтесь в ваш IT/network support
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
Аватара пользователя
Mad Hatter
⭐ Top 5 most interesting users
Reactions: 1483
Сообщения: 7845
Зарегистрирован: Пн июн 13, 2022 7:22 am

Re: Таблица с OData кодом failed refresh

Сообщение Mad Hatter »

self писал(а): Сб апр 13, 2024 2:18 pm
Mad Hatter писал(а): Сб апр 13, 2024 11:16 am Как бывает с продукцией M$… сообщение об ошибке может совершенно не информативным:

https://community.fabric.microsoft.com/ ... -p/2528045

Поэтому я люблю Питон, там хоть понятно в чем причина если не работает 😎
Приведенное сообщение - from TCP/IP stack. В Питоне оно будет точно таким же.
А почитать ссылочку слабо? Там народ пишет, что проблема совсем в другом. А сообщение типа об отрыве соединения.
Аватара пользователя
Mad Hatter
⭐ Top 5 most interesting users
Reactions: 1483
Сообщения: 7845
Зарегистрирован: Пн июн 13, 2022 7:22 am

Re: Таблица с OData кодом failed refresh

Сообщение Mad Hatter »

self писал(а): Сб апр 13, 2024 2:21 pm Если у вас нормально работает без 18 фидов, то добавляйте по одному, пока не получите ошибку.
Попробуйте вызвать сбойный фид отдельно.
Если получите такую же ошибку - обращайтесь в ваш IT/network support
Или в Спортлото.
Аватара пользователя
self
Reactions: 960
Сообщения: 5393
Зарегистрирован: Пт июн 17, 2022 9:21 am

Re: Таблица с OData кодом failed refresh

Сообщение self »

Mad Hatter писал(а): Сб апр 13, 2024 4:51 pm
self писал(а): Сб апр 13, 2024 2:18 pm

Приведенное сообщение - from TCP/IP stack. В Питоне оно будет точно таким же.
А почитать ссылочку слабо? Там народ пишет, что проблема совсем в другом. А сообщение типа об отрыве соединения.
У народа очевидно есть хрустальный шарик. А я смотрю на сообщение, и именно таких сообщений я в свой практике видел немало. И все они почему-то были связаны с тем, что на корпоративных файроволах надо было что-то за вайтлистить/открыть порты для указанных хостов и т.д. и т.п.
Таймауты в выполнении запросов (по любым причинам) как правило разрыву соединений не приводят. И уж точно, соединения с Ажуром так себя не ведут. И с MS SQL сервером тоже.
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
Аватара пользователя
self
Reactions: 960
Сообщения: 5393
Зарегистрирован: Пт июн 17, 2022 9:21 am

Re: Таблица с OData кодом failed refresh

Сообщение self »

Я бы начал с этой таблицы

https://learn.microsoft.com/en-us/azure ... tabs=IP-V4
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
Аватара пользователя
Mad Hatter
⭐ Top 5 most interesting users
Reactions: 1483
Сообщения: 7845
Зарегистрирован: Пн июн 13, 2022 7:22 am

Re: Таблица с OData кодом failed refresh

Сообщение Mad Hatter »

self писал(а): Сб апр 13, 2024 5:05 pm
Mad Hatter писал(а): Сб апр 13, 2024 4:51 pm
А почитать ссылочку слабо? Там народ пишет, что проблема совсем в другом. А сообщение типа об отрыве соединения.
У народа очевидно есть хрустальный шарик. А я смотрю на сообщение, и именно таких сообщений я в свой практике видел немало. И все они почему-то были связаны с тем, что на корпоративных файроволах надо было что-то за вайтлистить/открыть порты для указанных хостов и т.д. и т.п.
Таймауты в выполнении запросов (по любым причинам) как правило разрыву соединений не приводят. И уж точно, соединения с Ажуром так себя не ведут. И с MS SQL сервером тоже.
Киса, скажите как художник художнику, вы рисовать программировать умеете?

Если да, то вы должны знать, что ошибка и сообщение об ошибке могут быть совершенно разными. К примеру не так давно пришлось дебажить питоновский код, который вытаскивал данные из облачного Splunk и в какой-то момент стал падать с совершенно невразумительным сообщением (exception). Причём у разных людей по разному. У кого-то вообще не падал, у кого-то падал, но редко, а у меня падал 50/50. На первый взгляд была проблема с авторизацией прокси, а выяснилось, что совсем совсем другая.
Аватара пользователя
self
Reactions: 960
Сообщения: 5393
Зарегистрирован: Пт июн 17, 2022 9:21 am

Re: Таблица с OData кодом failed refresh

Сообщение self »

Mad Hatter писал(а): Сб апр 13, 2024 6:47 pm
self писал(а): Сб апр 13, 2024 5:05 pm

У народа очевидно есть хрустальный шарик. А я смотрю на сообщение, и именно таких сообщений я в свой практике видел немало. И все они почему-то были связаны с тем, что на корпоративных файроволах надо было что-то за вайтлистить/открыть порты для указанных хостов и т.д. и т.п.
Таймауты в выполнении запросов (по любым причинам) как правило разрыву соединений не приводят. И уж точно, соединения с Ажуром так себя не ведут. И с MS SQL сервером тоже.
Киса, скажите как художник художнику, вы рисовать программировать умеете?

Если да, то вы должны знать, что ошибка и сообщение об ошибке могут быть совершенно разными. К примеру не так давно пришлось дебажить питоновский код, который вытаскивал данные из облачного Splunk и в какой-то момент стал падать с совершенно невразумительным сообщением (exception). Причём у разных людей по разному. У кого-то вообще не падал, у кого-то падал, но редко, а у меня падал 50/50. На первый взгляд была проблема с авторизацией прокси, а выяснилось, что совсем совсем другая.
бла-бла-бла
Разберитесь сначала чем network/transport layer отличается от application layer, потом будете втирать мне как вы написали hello world на питоне.
"existing connection was forcibly closed by the remote host" - это стандартное сообщение Windows sockets. Сообщение транспортного уровня, которое говорит, что не удалось установить TCP/IP соединение.
"Те, кто стараются жить только своей жизнью, часто умирают не своей смертью"
alex_127
Reactions: 949
Сообщения: 4497
Зарегистрирован: Ср июн 15, 2022 9:44 am

Re: Таблица с OData кодом failed refresh

Сообщение alex_127 »

self писал(а): Сб апр 13, 2024 8:45 pm
Mad Hatter писал(а): Сб апр 13, 2024 6:47 pm
Киса, скажите как художник художнику, вы рисовать программировать умеете?

Если да, то вы должны знать, что ошибка и сообщение об ошибке могут быть совершенно разными. К примеру не так давно пришлось дебажить питоновский код, который вытаскивал данные из облачного Splunk и в какой-то момент стал падать с совершенно невразумительным сообщением (exception). Причём у разных людей по разному. У кого-то вообще не падал, у кого-то падал, но редко, а у меня падал 50/50. На первый взгляд была проблема с авторизацией прокси, а выяснилось, что совсем совсем другая.
бла-бла-бла
Разберитесь сначала чем network/transport layer отличается от application layer, потом будете втирать мне как вы написали hello world на питоне.
"existing connection was forcibly closed by the remote host" - это стандартное сообщение Windows sockets. Сообщение транспортного уровня, которое говорит, что не удалось установить TCP/IP соединение.
Обычно таки что существующее соединение было разорвано - как это детали (r с другой стороны, etc)
В таких случаях вы нам не про размер говорите а про время через сколько ошибка вылазит - таймауты там всякие они круглые цифры и буквы
орган размножения сумчатых грибов, три буквы.
Ответить