You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by go...@apache.org on 2021/10/06 09:05:49 UTC
[incubator-streampipes] 03/03: fixed issue with offloading target
selection
This is an automated email from the ASF dual-hosted git repository.
gomm pushed a commit to branch edge-extensions
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
commit 4e57275424c2a11d9cad9514d878aa6fde903f15
Author: daniel-gomm <da...@outlook.de>
AuthorDate: Wed Oct 6 11:00:58 2021 +0200
fixed issue with offloading target selection
---
.../offloading/strategies/selection/RandomSelectionStrategy.java | 6 +++++-
.../streampipes/manager/migration/MigrationPipelineGenerator.java | 2 ++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/streampipes-node-controller/src/main/java/org/apache/streampipes/node/controller/management/offloading/strategies/selection/RandomSelectionStrategy.java b/streampipes-node-controller/src/main/java/org/apache/streampipes/node/controller/management/offloading/strategies/selection/RandomSelectionStrategy.java
index e1de78c..f89c9b5 100644
--- a/streampipes-node-controller/src/main/java/org/apache/streampipes/node/controller/management/offloading/strategies/selection/RandomSelectionStrategy.java
+++ b/streampipes-node-controller/src/main/java/org/apache/streampipes/node/controller/management/offloading/strategies/selection/RandomSelectionStrategy.java
@@ -19,16 +19,20 @@
package org.apache.streampipes.node.controller.management.offloading.strategies.selection;
import org.apache.streampipes.model.base.InvocableStreamPipesEntity;
+import org.apache.streampipes.model.graph.DataProcessorInvocation;
import org.apache.streampipes.node.controller.management.pe.storage.RunningInvocableInstances;
import java.util.List;
import java.util.Random;
+import java.util.stream.Collectors;
public class RandomSelectionStrategy implements SelectionStrategy{
@Override
public InvocableStreamPipesEntity select(List<InvocableStreamPipesEntity> blacklistedEntities) {
- List<InvocableStreamPipesEntity> instances = RunningInvocableInstances.INSTANCE.getAll();
+ //Sinks cannot be migrated atm
+ List<InvocableStreamPipesEntity> instances = RunningInvocableInstances.INSTANCE.getAll().stream().
+ filter(e -> e instanceof DataProcessorInvocation).collect(Collectors.toList());
if(instances.size() == 0)
return null;
return instances.get(new Random().nextInt(instances.size()));
diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/migration/MigrationPipelineGenerator.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/migration/MigrationPipelineGenerator.java
index 586b89d..dba5c7b 100644
--- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/migration/MigrationPipelineGenerator.java
+++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/migration/MigrationPipelineGenerator.java
@@ -144,6 +144,8 @@ public class MigrationPipelineGenerator {
.filter(dp -> dp.getDeploymentRunningInstanceId().equals(entityToMigrate.getDeploymentRunningInstanceId()))
.findFirst();
+ if (!originalInvocation.isPresent())
+ return null;
int index = correspondingPipeline.getSepas().indexOf(originalInvocation.get());
Pipeline targetPipeline;