Skip to content

Commit c073182

Browse files
author
Owen Duncan
committed
Adding node movement article.
1 parent 7163781 commit c073182

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

articles/analysis-services/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
href: analysis-services-connect.md
4040
- name: High availability
4141
href: analysis-services-bcdr.md
42+
- name: Understanding node movements
43+
href: analysis-services-node-movement.md
4244
- name: Supported data sources
4345
href: analysis-services-datasource.md
4446
- name: How-to
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Understanding node movements in Azure Analysis Services | Microsoft Docs
3+
description: This article describes assuring reliable refresh operations during node movement.
4+
author: minewiskan
5+
ms.service: analysis-services
6+
ms.topic: conceptual
7+
ms.date: 04/14/2020
8+
ms.author: owend
9+
10+
---
11+
# Understanding node movements
12+
13+
In Azure Analysis Services, a *node* represents a set amount of processor, memory, and storage resources. A server resource runs within the context of a node. Some operations such as long running queries, refresh operations, and query scale-out synchronization can fail if a server resource moves to a different node. Common error messages in this scenario include:
14+
15+
- "An error has occurred while trying to locate a long running XMLA request. The request might have been interrupted by service upgrade or server restart."
16+
- "Job with ID '<guid>for model '<database>' was cancelled due to service error (inactivity) with message 'Cancelling the refresh request since it was stuck without any updates. This is an internal service issue. Please resubmit the job or file a ticket to get help if this issue happens repeatedly."
17+
18+
There are many reasons why long running operations can fail. For example, updates must be performed in every cloud service, such as:
19+
- Operating System patches
20+
- Security updates
21+
- Azure Analysis Services service updates
22+
- Service Fabric updates. Service Fabric is a platform component used by a number of Microsoft cloud services, including Azure Analysis Services.
23+
24+
Besides updates that occur in the service, there is a natural movement of services across nodes due to load balancing. Node movements are an expected part of a cloud service. Azure Analysis Services tries to minimize impacts from node movements, but it's impossible to eliminate them entirely.
25+
26+
In addition to node movements, there are other failures that can occur. For example, a data source database system might be offline or network connectivity is lost. If during refresh, a partition has 10 million rows and a failure occurs at the 9 millionth row, there is no way to restart refresh at the point of failure. The service has to start again from the beginning.
27+
28+
## Refresh REST API
29+
30+
Service interruptions can be challenging for long running operations like data refresh. Azure Analysis Services includes a REST API to help mitigate negative impacts from service interruptions. To learn more, see [Asynchronous refresh with the REST API](analysis-services-async-refresh.md) .
31+
32+
Besides the REST API, there are other approaches you can use to minimize potential issues during long running refresh operations. The main goal is to avoid having to restart the refresh operation from the beginning, and instead perform refreshes in smaller batches that can be committed in stages.
33+
34+
The REST API allows for such restart, but it doesn't allow for full flexibility of partition creation and deletion. If a scenario requires complex data management operations, your solution should include some form of batching in its logic. For example, by using transactions to process data in multiple, separate batches allows for a failure to not require restart from the beginning, but instead from an intermediate checkpoint.
35+
36+
## Scale-out query replicas
37+
38+
Whether using REST or custom logic, client application queries can still return inconsistent or intermediate results while batches are being processed. If consistent data returned by client application queries is required while processing is happening, and model data is in an intermediate state, you can use [scale-out](analysis-services-scale-out.md) with read-only query replicas.
39+
40+
By using read-only query replicas, while refreshes are being performed in batches, client application users can continue to query the old snapshot of data on the read-only replicas. Once refreshes are finished, a Synch operation can be performed to bring the read-only replicas up to date.
41+
42+
43+
## See also
44+
45+
[Asynchronous refresh with the REST API](analysis-services-async-refresh.md)
46+
[Azure Analysis Services scale-out](analysis-services-scale-out.md)
47+
[Analysis Services high availability](analysis-services-bcdr.md)
48+
[Retry guidance for Azure services](https://docs.microsoft.com/azure/architecture/best-practices/retry-service-specific)
49+

0 commit comments

Comments
 (0)