From 6036faf7cd8e5734a3dfeaf7391dc11d19140f5f Mon Sep 17 00:00:00 2001 From: Remco Westerhoud Date: Mon, 17 Oct 2022 10:02:32 +0200 Subject: [PATCH 1/2] fix(exporter): add activatedElementInstanceKeys to modifcation record template (cherry picked from commit 1e2141e76d58a4e6e3737f6e2047afc3bf61001c) --- ...eebe-record-process-instance-modification-template.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/exporters/elasticsearch-exporter/src/main/resources/zeebe-record-process-instance-modification-template.json b/exporters/elasticsearch-exporter/src/main/resources/zeebe-record-process-instance-modification-template.json index a6be543514d..9199d78e210 100644 --- a/exporters/elasticsearch-exporter/src/main/resources/zeebe-record-process-instance-modification-template.json +++ b/exporters/elasticsearch-exporter/src/main/resources/zeebe-record-process-instance-modification-template.json @@ -2,7 +2,9 @@ "index_patterns": [ "zeebe-record_process-instance-modification_*" ], - "composed_of": ["zeebe-record"], + "composed_of": [ + "zeebe-record" + ], "priority": 20, "version": 1, "template": { @@ -48,6 +50,9 @@ } } } + }, + "activatedElementInstanceKeys": { + "type": "long" } } } From eaca172dcf72055aea32152e3570559e205be60a Mon Sep 17 00:00:00 2001 From: Remco Westerhoud Date: Mon, 17 Oct 2022 11:30:57 +0200 Subject: [PATCH 2/2] fix(protocol): add getActivatedElementInstanceKeys to interface This method needs to be part of the interface in order for the ElasticSearchIT to generate a record containing this field, and verifying exporting works as expected. (cherry picked from commit c3acb60847867788b2b7514a7aebd54e0704561b) --- .../ProcessInstanceModificationRecord.java | 13 +++++++------ .../ProcessInstanceModificationRecordValue.java | 3 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/protocol-impl/src/main/java/io/camunda/zeebe/protocol/impl/record/value/processinstance/ProcessInstanceModificationRecord.java b/protocol-impl/src/main/java/io/camunda/zeebe/protocol/impl/record/value/processinstance/ProcessInstanceModificationRecord.java index 142d498d6cc..58936330fc9 100644 --- a/protocol-impl/src/main/java/io/camunda/zeebe/protocol/impl/record/value/processinstance/ProcessInstanceModificationRecord.java +++ b/protocol-impl/src/main/java/io/camunda/zeebe/protocol/impl/record/value/processinstance/ProcessInstanceModificationRecord.java @@ -80,6 +80,13 @@ public List getActivateInst .toList(); } + @Override + public Set getActivatedElementInstanceKeys() { + return activatedElementInstanceKeys.stream() + .map(LongValue::getValue) + .collect(Collectors.toSet()); + } + /** Returns true if this record has terminate instructions, otherwise false. */ @JsonIgnore public boolean hasTerminateInstructions() { @@ -104,12 +111,6 @@ public ProcessInstanceModificationRecord addActivateInstruction( return this; } - public Set getActivatedElementInstanceKeys() { - return activatedElementInstanceKeys.stream() - .map(LongValue::getValue) - .collect(Collectors.toSet()); - } - public ProcessInstanceModificationRecord addActivatedElementInstanceKey(final long key) { activatedElementInstanceKeys.add().setValue(key); return this; diff --git a/protocol/src/main/java/io/camunda/zeebe/protocol/record/value/ProcessInstanceModificationRecordValue.java b/protocol/src/main/java/io/camunda/zeebe/protocol/record/value/ProcessInstanceModificationRecordValue.java index f7e892f02f1..609b154825e 100644 --- a/protocol/src/main/java/io/camunda/zeebe/protocol/record/value/ProcessInstanceModificationRecordValue.java +++ b/protocol/src/main/java/io/camunda/zeebe/protocol/record/value/ProcessInstanceModificationRecordValue.java @@ -19,6 +19,7 @@ import io.camunda.zeebe.protocol.record.RecordValue; import java.util.List; import java.util.Map; +import java.util.Set; import org.immutables.value.Value; @Value.Immutable @@ -32,6 +33,8 @@ public interface ProcessInstanceModificationRecordValue /** Returns a list of activate instructions (if available), or an empty list. */ List getActivateInstructions(); + Set getActivatedElementInstanceKeys(); + @Value.Immutable @ImmutableProtocol( builder = ImmutableProcessInstanceModificationTerminateInstructionValue.Builder.class)