45
45
import io .airbyte .commons .lang .MoreBooleans ;
46
46
import io .airbyte .config .persistence .ConfigNotFoundException ;
47
47
import io .airbyte .validation .json .JsonValidationException ;
48
+ import io .airbyte .workers .helper .ConnectionHelper ;
48
49
import io .airbyte .workers .worker_run .TemporalWorkerRunFactory ;
49
50
import java .io .IOException ;
50
51
import java .util .ArrayList ;
@@ -71,6 +72,7 @@ public class WebBackendConnectionsHandler {
71
72
private final OperationsHandler operationsHandler ;
72
73
private final FeatureFlags featureFlags ;
73
74
private final TemporalWorkerRunFactory temporalWorkerRunFactory ;
75
+ private final ConnectionHelper connectionHelper ;
74
76
75
77
public WebBackendConnectionReadList webBackendListConnectionsForWorkspace (final WorkspaceIdRequestBody workspaceIdRequestBody )
76
78
throws ConfigNotFoundException , IOException , JsonValidationException {
@@ -255,23 +257,31 @@ public WebBackendConnectionRead webBackendUpdateConnection(final WebBackendConne
255
257
throws ConfigNotFoundException , IOException , JsonValidationException {
256
258
final List <UUID > operationIds = updateOperations (webBackendConnectionUpdate );
257
259
final ConnectionUpdate connectionUpdate = toConnectionUpdate (webBackendConnectionUpdate , operationIds );
258
- final ConnectionRead connectionRead = connectionsHandler .updateConnection (connectionUpdate );
259
260
260
- if (MoreBooleans .isTruthy (webBackendConnectionUpdate .getWithRefreshedCatalog ())) {
261
- final ConnectionIdRequestBody connectionId = new ConnectionIdRequestBody ().connectionId (webBackendConnectionUpdate .getConnectionId ());
262
-
263
- if (featureFlags .usesNewScheduler ()) {
264
- temporalWorkerRunFactory .synchronousResetConnection (webBackendConnectionUpdate .getConnectionId ());
265
-
266
- temporalWorkerRunFactory .startNewManualSync (webBackendConnectionUpdate .getConnectionId ());
267
- } else {
261
+ ConnectionRead connectionRead ;
262
+ boolean needReset = MoreBooleans .isTruthy (webBackendConnectionUpdate .getWithRefreshedCatalog ());
263
+ if (!featureFlags .usesNewScheduler ()) {
264
+ connectionRead = connectionsHandler .updateConnection (connectionUpdate );
265
+ if (needReset ) {
266
+ final ConnectionIdRequestBody connectionId = new ConnectionIdRequestBody ().connectionId (webBackendConnectionUpdate .getConnectionId ());
268
267
// wait for this to execute
269
268
schedulerHandler .resetConnection (connectionId );
270
269
271
270
// just create the job
272
271
schedulerHandler .syncConnection (connectionId );
273
272
}
273
+ } else {
274
+ connectionRead = connectionsHandler .updateConnection (connectionUpdate , !needReset );
275
+
276
+ if (needReset ) {
277
+ temporalWorkerRunFactory .synchronousResetConnection (webBackendConnectionUpdate .getConnectionId ());
278
+
279
+ temporalWorkerRunFactory .startNewManualSync (webBackendConnectionUpdate .getConnectionId ());
280
+
281
+ connectionRead = connectionHelper .buildConnectionRead (connectionUpdate .getConnectionId ());
282
+ }
274
283
}
284
+
275
285
return buildWebBackendConnectionRead (connectionRead );
276
286
}
277
287
0 commit comments