多个场景使用同一个feeder时Gatling feeder会崩溃

Gatling feeder will crash when using the same feeder for multiple scenarios

我正在使用以下生成两个随机 UUID 的馈线

Iterator<Map<String, Object>> postRequestDataFeeder =
  Stream.generate((Supplier<Map<String, Object>>) () -> {
      String id = java.util.UUID.randomUUID().toString();
      String version =  java.util.UUID.randomUUID().toString();
      return Map.of("id", id, "version", version);
    }
  ).iterator();

我将在 5-6 个场景中重复使用馈线,以下是示例场景

public static ScenarioBuilder dataCreationForPostRequest =
    scenario("Data creation for post request")
        .feed(postRequestDataFeeder)
        .exec(//)
        .exec(session -> {
            // save generated data to a list
            return session;
        })

Gatling 文档说

Every time a virtual user reaches this step, it will pop a record out of the Feeder, which will be injected into the user’s session, resulting in a new Session instance.

但是当我 运行 模拟时它会崩溃,说 Feeder 是空的

虚拟用户每到这一步就弹出一条记录,feeder怎么会是空的? 无法在多个场景中重复使用馈线?

这确实是 Gatling 的 Java DSL 中的 bug。它将在 Gatling 3.8.0 中修复。