The service has encountered an error processing your request. Please try again. Error code 4815

Még egy Stream Analytics hiba, amire magunktól nem jöttünk rá (MS Support kellett hozzá), úgyhogy leírom ide a megoldást tanulságul azoknak akiknek nincs Azure támogatási szerződésük:

The service has encountered an error processing your request. Please try again. Error code 4815.

A Stream Analytics/SQL Azure akkor dobta ezt a hibát, amikor az üzenet egy mezője nem fért be az SQL Azure tábla egy oszlopába. Magyarul kisebbre volt definiálva az oszlop hossza, mint az üzenet és ezért a Stream Analytics nem tudta betölteni. Teledobálta a logot „Azure SQL DB Failed to write 58 events” és „The service has encountered an error processing your request. Please try again. Error code 4815” üzenetekkel, majd degraded állapotba került.

Ami kellemetlen volt a hibában, hogy a tesztek során nem vettük észre. Nem jött egy olyan rekord sem, ami hosszabb lett volna mint a specifikációban szereplő hossz. A teszten tehát minden ment majd élesben azt vettük észre, hogy egyszer csak degraded állapotba kerül a job. Gondoltunk mindenre, átnéztünk mindent, kivéve a hosszokat :-(

Szintén kellemetlen volt a hibában, hogy az SQL Azure-on bekapcsoltunk minden monitorozási lehetőséget, átnéztünk minden logot, de azok nem jeleztek semmilyen hibát. Úgyhogy sokáig a Stream Analytics-et tartottuk bűnösnek, a Steam Analytics-ben kerestük a hibát, pedig az SQL Azure környékén kellett volna...

Hogyan lehetne elkerülni az ilyen hibákat?

  • Vagy mindent nvarchar(max) típusba kell tölteni az SQL Azure-ban (ami ugye nem szerencsés)
  • vagy olyan Stream Analytics lekérdezést kell írni, amely
    • a SUBSTRING() függvénnyel lecsonkolja az input események hosszát az SQL Azure tábla oszlopainak hosszára és
    • ezzel párhuzamosan a hibás sorokat kiküldi egy nvarchar(max) os hibatáblába, vagy egy hibafájlba a blob storage-on

Kővári Attila - BI projekt

Új hozzászólás