44
44
45
45
import static org .opensearch .flowframework .common .CommonValue .DEPROVISION_WORKFLOW_THREAD_POOL ;
46
46
import static org .opensearch .flowframework .common .CommonValue .PROVISIONING_PROGRESS_FIELD ;
47
- import static org .opensearch .flowframework .common .CommonValue .PROVISION_START_TIME_FIELD ;
47
+ import static org .opensearch .flowframework .common .CommonValue .PROVISION_END_TIME_FIELD ;
48
48
import static org .opensearch .flowframework .common .CommonValue .RESOURCES_CREATED_FIELD ;
49
49
import static org .opensearch .flowframework .common .CommonValue .STATE_FIELD ;
50
50
import static org .opensearch .flowframework .common .WorkflowResources .getDeprovisionStepByWorkflowStep ;
51
51
import static org .opensearch .flowframework .common .WorkflowResources .getResourceByWorkflowStep ;
52
+ import static org .opensearch .flowframework .util .ParseUtils .getUserContext ;
52
53
53
54
/**
54
55
* Transport Action to deprovision a workflow from a stored use case template
@@ -224,18 +225,13 @@ private void updateWorkflowState(
224
225
ActionListener <WorkflowResponse > listener
225
226
) {
226
227
if (remainingResources .isEmpty ()) {
227
- // Successful deprovision
228
- flowFrameworkIndicesHandler .updateFlowFrameworkSystemIndexDoc (
228
+ // Successful deprovision, reset state to initial
229
+ flowFrameworkIndicesHandler .putInitialStateToWorkflowState (
229
230
workflowId ,
230
- Map .ofEntries (
231
- Map .entry (STATE_FIELD , State .NOT_STARTED ),
232
- Map .entry (PROVISIONING_PROGRESS_FIELD , ProvisioningProgress .NOT_STARTED ),
233
- Map .entry (PROVISION_START_TIME_FIELD , Instant .now ().toEpochMilli ()),
234
- Map .entry (RESOURCES_CREATED_FIELD , Collections .emptyList ())
235
- ),
236
- ActionListener .wrap (updateResponse -> {
237
- logger .info ("updated workflow {} state to NOT_STARTED" , workflowId );
238
- }, exception -> { logger .error ("Failed to update workflow state" , exception ); })
231
+ getUserContext (client ),
232
+ ActionListener .wrap (indexResponse -> {
233
+ logger .info ("Reset workflow {} state to NOT_STARTED" , workflowId );
234
+ }, exception -> { logger .error ("Failed to reset to initial workflow state for {}" , workflowId , exception ); })
239
235
);
240
236
// return workflow ID
241
237
listener .onResponse (new WorkflowResponse (workflowId ));
@@ -246,7 +242,7 @@ private void updateWorkflowState(
246
242
Map .ofEntries (
247
243
Map .entry (STATE_FIELD , State .COMPLETED ),
248
244
Map .entry (PROVISIONING_PROGRESS_FIELD , ProvisioningProgress .DONE ),
249
- Map .entry (PROVISION_START_TIME_FIELD , Instant .now ().toEpochMilli ()),
245
+ Map .entry (PROVISION_END_TIME_FIELD , Instant .now ().toEpochMilli ()),
250
246
Map .entry (RESOURCES_CREATED_FIELD , remainingResources )
251
247
),
252
248
ActionListener .wrap (updateResponse -> {
0 commit comments