From f0ec7e14d4fee44f588af6191e6b00168a0d1555 Mon Sep 17 00:00:00 2001
From: Justin M <63619224+JustinMDotNet@users.noreply.github.com>
Date: Tue, 8 Sep 2020 14:05:45 -0700
Subject: [PATCH] 3702 Changed CancelQuery to use ExecuteControlCommand instead
of ExecuteQuery in KustoDataSource. Fixed runtime error in NodePathGenerator
for loading TreeNodeDefinition.xml (#1069)
---
.../DataSource/KustoDataSource.cs | 12 +++---------
.../DataSourceModel/NodePathGenerator.cs | 2 +-
2 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/src/Microsoft.Kusto.ServiceLayer/DataSource/KustoDataSource.cs b/src/Microsoft.Kusto.ServiceLayer/DataSource/KustoDataSource.cs
index 29ef5f13..31ca487a 100644
--- a/src/Microsoft.Kusto.ServiceLayer/DataSource/KustoDataSource.cs
+++ b/src/Microsoft.Kusto.ServiceLayer/DataSource/KustoDataSource.cs
@@ -228,7 +228,7 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
{
cancellationToken.Register(() => CancelQuery(clientRequestProperties.ClientRequestId));
}
-
+
IDataReader origReader = KustoQueryProvider.ExecuteQuery(
KustoQueryUtils.IsClusterLevelQuery(query) ? "" : databaseName,
query,
@@ -239,14 +239,8 @@ namespace Microsoft.Kusto.ServiceLayer.DataSource
private void CancelQuery(string clientRequestId)
{
- var query = ".cancel query " + clientRequestId;
- CancellationTokenSource source = new CancellationTokenSource();
- CancellationToken token = source.Token;
-
- using (var reader = ExecuteQuery(query, token))
- {
- // No-op
- }
+ var query = $".cancel query \"{clientRequestId}\"";
+ ExecuteControlCommand(query);
}
///
diff --git a/src/Microsoft.Kusto.ServiceLayer/ObjectExplorer/DataSourceModel/NodePathGenerator.cs b/src/Microsoft.Kusto.ServiceLayer/ObjectExplorer/DataSourceModel/NodePathGenerator.cs
index 0f72d04e..059fce41 100644
--- a/src/Microsoft.Kusto.ServiceLayer/ObjectExplorer/DataSourceModel/NodePathGenerator.cs
+++ b/src/Microsoft.Kusto.ServiceLayer/ObjectExplorer/DataSourceModel/NodePathGenerator.cs
@@ -24,7 +24,7 @@ namespace Microsoft.Kusto.ServiceLayer.ObjectExplorer.DataSourceModel
}
var assembly = typeof(ObjectExplorerService).Assembly;
- var resource = assembly.GetManifestResourceStream("Microsoft.Kusto.ServiceLayer.ObjectExplorer.SmoModel.TreeNodeDefinition.xml");
+ var resource = assembly.GetManifestResourceStream("Microsoft.Kusto.ServiceLayer.ObjectExplorer.DataSourceModel.TreeNodeDefinition.xml");
var serializer = new XmlSerializer(typeof(ServerExplorerTree));
NodeTypeDictionary = new Dictionary>();
using (var reader = new StreamReader(resource))