Skip to content

Commit bb63006

Browse files
authored
Remove sync destination logic (#1096)
CLI is now in charge of synchronisation
1 parent e2adc6d commit bb63006

File tree

12 files changed

+17
-320
lines changed

12 files changed

+17
-320
lines changed

packages/databricks-vscode/src/configuration/ConnectionManager.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,6 @@ export class ConnectionManager implements Disposable {
284284
authProvider
285285
);
286286
this._workspaceClient = authProvider.getWorkspaceClient();
287-
await this._databricksWorkspace.optionalEnableFilesInReposPopup(
288-
this._workspaceClient
289-
);
290287
await this.configModel.set(
291288
"authProfile",
292289
authProvider.toJSON().profile as string | undefined

packages/databricks-vscode/src/configuration/DatabricksWorkspace.ts

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import {WorkspaceClient, iam, logging} from "@databricks/databricks-sdk";
22
import {Cluster, WorkspaceConf, WorkspaceConfProps} from "../sdk-extensions";
33
import {context, Context} from "@databricks/databricks-sdk";
4-
import {Uri, window, env} from "vscode";
4+
import {Uri} from "vscode";
55
import {Loggers} from "../logger";
6-
import {workspaceConfigs} from "../vscode-objs/WorkspaceConfigs";
76
import {AuthProvider} from "./auth/AuthProvider";
87
import {RemoteUri} from "../sync/SyncDestination";
98

@@ -15,13 +14,10 @@ export class DatabricksWorkspace {
1514
) {}
1615

1716
/**
18-
* The current root for sync destination folders. Return a Workspace path or a Repo path
19-
* depending on whether files in workspace is enabled for VSCode UI.
17+
* The current root for sync destination folders.
2018
*/
2119
get currentFsRoot(): RemoteUri {
22-
return workspaceConfigs.enableFilesInWorkspace
23-
? this.workspaceFsRoot
24-
: this.repoRoot;
20+
return this.workspaceFsRoot;
2521
}
2622

2723
get workspaceFsRoot(): RemoteUri {
@@ -117,35 +113,4 @@ export class DatabricksWorkspace {
117113

118114
return new DatabricksWorkspace(authProvider, me, state);
119115
}
120-
121-
public async optionalEnableFilesInReposPopup(
122-
workspaceClient: WorkspaceClient
123-
) {
124-
if (
125-
workspaceConfigs.syncDestinationType === "repo" &&
126-
(!this.isReposEnabled || !this.isFilesInReposEnabled)
127-
) {
128-
let message = "";
129-
if (!this.isReposEnabled) {
130-
message =
131-
"Repos are not enabled for this workspace. Please enable it in the Databricks UI.";
132-
} else if (!this.isFilesInReposEnabled) {
133-
message =
134-
"Files in Repos is not enabled for this workspace. Please enable it in the Databricks UI.";
135-
}
136-
logging.NamedLogger.getOrCreate("Extension").error(message);
137-
const result = await window.showWarningMessage(
138-
message,
139-
"Open Databricks UI"
140-
);
141-
if (result === "Open Databricks UI") {
142-
const host = await workspaceClient.apiClient.host;
143-
await env.openExternal(
144-
Uri.parse(
145-
host.toString() + "#setting/accounts/workspace-settings"
146-
)
147-
);
148-
}
149-
}
150-
}
151116
}

packages/databricks-vscode/src/extension.ts

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ import {logging} from "@databricks/databricks-sdk";
2424
import {workspaceConfigs} from "./vscode-objs/WorkspaceConfigs";
2525
import {FileUtils, PackageJsonUtils, UtilsCommands} from "./utils";
2626
import {ConfigureAutocomplete} from "./language/ConfigureAutocomplete";
27-
import {
28-
WorkspaceFsAccessVerifier,
29-
WorkspaceFsCommands,
30-
WorkspaceFsDataProvider,
31-
} from "./workspace-fs";
27+
import {WorkspaceFsCommands, WorkspaceFsDataProvider} from "./workspace-fs";
3228
import {CustomWhenContext} from "./vscode-objs/CustomWhenContext";
3329
import {StateStorage} from "./vscode-objs/StateStorage";
3430
import path from "node:path";
@@ -224,19 +220,14 @@ export async function activate(
224220
bundleRemoteStateModel,
225221
configModel,
226222
connectionManager,
227-
connectionManager.onDidChangeState(async (state) => {
223+
connectionManager.onDidChangeState(async () => {
228224
telemetry.setMetadata(
229225
Metadata.USER,
230226
await toUserMetadata(connectionManager)
231227
);
232228
telemetry.recordEvent(Events.CONNECTION_STATE_CHANGED, {
233229
newState: connectionManager.state,
234230
});
235-
if (state === "CONNECTED") {
236-
telemetry.recordEvent(Events.SYNC_DESTINATION, {
237-
destination: workspaceConfigs.syncDestinationType,
238-
});
239-
}
240231
})
241232
);
242233

@@ -299,14 +290,6 @@ export async function activate(
299290

300291
const clusterModel = new ClusterModel(connectionManager);
301292

302-
const wsfsAccessVerifier = new WorkspaceFsAccessVerifier(
303-
connectionManager,
304-
stateStorage,
305-
telemetry
306-
);
307-
308-
context.subscriptions.push(wsfsAccessVerifier);
309-
310293
const dbConnectInstallPrompt = new DbConnectInstallPrompt(
311294
stateStorage,
312295
pythonExtensionWrapper
@@ -594,13 +577,11 @@ export async function activate(
594577
connectionManager,
595578
configModel,
596579
bundleCommands,
597-
context,
598-
wsfsAccessVerifier
580+
context
599581
);
600582
const debugWorkflowFactory = new DatabricksWorkflowDebugAdapterFactory(
601583
connectionManager,
602584
configModel,
603-
wsfsAccessVerifier,
604585
context,
605586
bundleCommands
606587
);

packages/databricks-vscode/src/run/DatabricksDebugAdapter.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import {
2020
ExtensionContext,
2121
} from "vscode";
2222
import {ConnectionManager} from "../configuration/ConnectionManager";
23-
import {WorkspaceFsAccessVerifier} from "../workspace-fs";
2423
import {DatabricksRuntime} from "./DatabricksRuntime";
2524
import {Subject} from "./Subject";
2625
import {BundleCommands} from "../ui/bundle-resource-explorer/BundleCommands";
@@ -50,8 +49,7 @@ export class DatabricksDebugAdapterFactory
5049
private connection: ConnectionManager,
5150
private configModel: ConfigModel,
5251
private bundleCommands: BundleCommands,
53-
private context: ExtensionContext,
54-
private wsfsAccessVerifier: WorkspaceFsAccessVerifier
52+
private context: ExtensionContext
5553
) {}
5654

5755
dispose() {}
@@ -62,8 +60,7 @@ export class DatabricksDebugAdapterFactory
6260
this.connection,
6361
this.configModel,
6462
this.bundleCommands,
65-
this.context,
66-
this.wsfsAccessVerifier
63+
this.context
6764
)
6865
);
6966
}
@@ -78,17 +75,15 @@ export class DatabricksDebugSession extends LoggingDebugSession {
7875
connection: ConnectionManager,
7976
configModel: ConfigModel,
8077
bundleCommands: BundleCommands,
81-
context: ExtensionContext,
82-
wsfsAccessVerifier: WorkspaceFsAccessVerifier
78+
context: ExtensionContext
8379
) {
8480
super();
8581

8682
this.runtime = new DatabricksRuntime(
8783
connection,
8884
configModel,
8985
bundleCommands,
90-
context,
91-
wsfsAccessVerifier
86+
context
9287
);
9388

9489
this.disposables.push(

packages/databricks-vscode/src/run/DatabricksRuntime.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import {
2828
import * as fs from "node:fs/promises";
2929
import {parseErrorResult} from "./ErrorParser";
3030
import path from "node:path";
31-
import {WorkspaceFsAccessVerifier} from "../workspace-fs";
3231
import {Time, TimeUnits} from "@databricks/databricks-sdk";
3332
import {BundleCommands} from "../ui/bundle-resource-explorer/BundleCommands";
3433
import {ConfigModel} from "../configuration/models/ConfigModel";
@@ -100,8 +99,7 @@ export class DatabricksRuntime implements Disposable {
10099
private connection: ConnectionManager,
101100
private readonly configModel: ConfigModel,
102101
private bundleCommands: BundleCommands,
103-
private context: ExtensionContext,
104-
private wsfsAccessVerifier: WorkspaceFsAccessVerifier
102+
private context: ExtensionContext
105103
) {}
106104

107105
/**
@@ -151,8 +149,6 @@ export class DatabricksRuntime implements Disposable {
151149
return this._onErrorEmitter.fire(undefined);
152150
}
153151

154-
await this.wsfsAccessVerifier.verifyCluster(cluster);
155-
await this.wsfsAccessVerifier.verifyWorkspaceConfigs();
156152
if (!["RUNNING", "RESIZING"].includes(cluster.state)) {
157153
this._onErrorEmitter.fire(undefined);
158154
promptForClusterStart();

packages/databricks-vscode/src/run/DatabricksWorkflowDebugAdapter.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import {
2828
promptForClusterStart,
2929
} from "./prompts";
3030
import {LocalUri} from "../sync/SyncDestination";
31-
import {WorkspaceFsAccessVerifier} from "../workspace-fs";
3231
import {FileUtils} from "../utils";
3332
import {BundleCommands} from "../ui/bundle-resource-explorer/BundleCommands";
3433
import {ConfigModel} from "../configuration/models/ConfigModel";
@@ -58,7 +57,6 @@ export class DatabricksWorkflowDebugAdapterFactory
5857
constructor(
5958
private connection: ConnectionManager,
6059
private configModel: ConfigModel,
61-
private wsfsAccessVerifier: WorkspaceFsAccessVerifier,
6260
context: ExtensionContext,
6361
bundleCommands: BundleCommands
6462
) {
@@ -78,8 +76,7 @@ export class DatabricksWorkflowDebugAdapterFactory
7876
new DatabricksWorkflowDebugSession(
7977
this.connection,
8078
this.configModel,
81-
this.workflowRunner,
82-
this.wsfsAccessVerifier
79+
this.workflowRunner
8380
)
8481
);
8582
}
@@ -93,8 +90,7 @@ export class DatabricksWorkflowDebugSession extends LoggingDebugSession {
9390
constructor(
9491
private connection: ConnectionManager,
9592
private configModel: ConfigModel,
96-
private workflowRunner: WorkflowRunner,
97-
private wsfsAccessVerifier: WorkspaceFsAccessVerifier
93+
private workflowRunner: WorkflowRunner
9894
) {
9995
super();
10096
}
@@ -203,8 +199,6 @@ export class DatabricksWorkflowDebugSession extends LoggingDebugSession {
203199
}
204200

205201
await cluster.refresh();
206-
await this.wsfsAccessVerifier.verifyCluster(cluster);
207-
await this.wsfsAccessVerifier.verifyWorkspaceConfigs();
208202
if (!["RUNNING", "RESIZING"].includes(cluster.state)) {
209203
promptForClusterStart();
210204
return this.onError();

packages/databricks-vscode/src/run/WorkflowRunner.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import {WorkflowOutputPanel} from "./WorkflowOutputPanel";
1616
import Convert from "ansi-to-html";
1717
import {ConnectionManager} from "../configuration/ConnectionManager";
1818
import {WorkspaceFsWorkflowWrapper} from "../workspace-fs/WorkspaceFsWorkflowWrapper";
19-
import {workspaceConfigs} from "../vscode-objs/WorkspaceConfigs";
2019
import {BundleCommands} from "../ui/bundle-resource-explorer/BundleCommands";
2120

2221
export class WorkflowRunner implements Disposable {
@@ -136,10 +135,7 @@ export class WorkflowRunner implements Disposable {
136135
if (notebookType) {
137136
let remoteFilePath: string =
138137
syncDestinationMapper.localToRemoteNotebook(program).path;
139-
if (
140-
workspaceConfigs.enableFilesInWorkspace &&
141-
syncDestinationMapper.remoteUri.type === "workspace"
142-
) {
138+
if (syncDestinationMapper.remoteUri.type === "workspace") {
143139
const wrappedFile = await new WorkspaceFsWorkflowWrapper(
144140
this.connectionManager,
145141
this.context
@@ -170,7 +166,6 @@ export class WorkflowRunner implements Disposable {
170166
const originalFileUri =
171167
syncDestinationMapper.localToRemote(program);
172168
const wrappedFile =
173-
workspaceConfigs.enableFilesInWorkspace &&
174169
syncDestinationMapper.remoteUri.type === "workspace"
175170
? await new WorkspaceFsWorkflowWrapper(
176171
this.connectionManager,

packages/databricks-vscode/src/vscode-objs/WorkspaceConfigs.ts

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import {ConfigurationTarget, workspace} from "vscode";
2-
import {SyncDestinationType} from "../sync/SyncDestination";
32
import {Time, TimeUnits} from "@databricks/databricks-sdk";
43

54
export const workspaceConfigs = {
@@ -38,27 +37,7 @@ export const workspaceConfigs = {
3837
.get<boolean>("clusters.onlyShowAccessibleClusters") ?? false
3938
);
4039
},
41-
get syncDestinationType() {
42-
return (
43-
workspace
44-
.getConfiguration("databricks")
45-
.get<SyncDestinationType>("sync.destinationType") ?? "workspace"
46-
);
47-
},
48-
49-
get enableFilesInWorkspace() {
50-
return this.syncDestinationType === "workspace";
51-
},
5240

53-
async setSyncDestinationType(destinationType: SyncDestinationType) {
54-
await workspace
55-
.getConfiguration("databricks")
56-
.update(
57-
"sync.destinationType",
58-
destinationType,
59-
ConfigurationTarget.Workspace
60-
);
61-
},
6241
get databrickscfgLocation() {
6342
const config = workspace
6443
.getConfiguration("databricks")

0 commit comments

Comments
 (0)