{"action":"created","issue":{"url":"https://api.github.com/repos/mhjort/clj-gatling/issues/51","repository_url":"https://api.github.com/repos/mhjort/clj-gatling","labels_url":"https://api.github.com/repos/mhjort/clj-gatling/issues/51/labels{/name}","comments_url":"https://api.github.com/repos/mhjort/clj-gatling/issues/51/comments","events_url":"https://api.github.com/repos/mhjort/clj-gatling/issues/51/events","html_url":"https://github.com/mhjort/clj-gatling/issues/51","id":246332619,"number":51,"title":"IndexOutOfBoundsException when :concurrency is 1800+","user":{"login":"ivos","id":389192,"avatar_url":"https://avatars3.githubusercontent.com/u/389192?v=4","gravatar_id":"","url":"https://api.github.com/users/ivos","html_url":"https://github.com/ivos","followers_url":"https://api.github.com/users/ivos/followers","following_url":"https://api.github.com/users/ivos/following{/other_user}","gists_url":"https://api.github.com/users/ivos/gists{/gist_id}","starred_url":"https://api.github.com/users/ivos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivos/subscriptions","organizations_url":"https://api.github.com/users/ivos/orgs","repos_url":"https://api.github.com/users/ivos/repos","events_url":"https://api.github.com/users/ivos/events{/privacy}","received_events_url":"https://api.github.com/users/ivos/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-07-28T12:24:54Z","updated_at":"2017-08-03T08:47:40Z","closed_at":null,"body":"Runs ok with :concurrency 1700 or less. With :concurrency 1800 or above throws on startup:\r\n\r\n```\r\nException in thread \"main\" java.lang.IndexOutOfBoundsException\r\n\tat clojure.lang.PersistentVector.assocN(PersistentVector.java:188)\r\n\tat clojure.lang.PersistentVector.assocN(PersistentVector.java:22)\r\n\tat clojure.lang.APersistentVector.assoc(APersistentVector.java:343)\r\n\tat clojure.lang.APersistentVector.assoc(APersistentVector.java:18)\r\n\tat clojure.lang.RT.assoc(RT.java:792)\r\n\tat clojure.core$assoc__4371.invokeStatic(core.clj:191)\r\n\tat clojure.core$update.invokeStatic(core.clj:5960)\r\n\tat clojure.core$update.invoke(core.clj:5952)\r\n\tat clj_gatling.simulation_util$split_to_buckets_with_sizes$fn__8097.invoke(simulation_util.clj:52)\r\n\tat clojure.lang.LongRange.reduce(LongRange.java:233)\r\n\tat clojure.core$reduce.invokeStatic(core.clj:6544)\r\n\tat clojure.core$reduce.invoke(core.clj:6527)\r\n\tat clj_gatling.simulation_util$split_to_buckets_with_sizes.invokeStatic(simulation_util.clj:51)\r\n\tat clj_gatling.simulation_util$split_to_buckets_with_sizes.invoke(simulation_util.clj:50)\r\n\tat clj_gatling.simulation_util$weighted_scenarios.invokeStatic(simulation_util.clj:77)\r\n\tat clj_gatling.simulation_util$weighted_scenarios.invoke(simulation_util.clj:68)\r\n\tat clj_gatling.simulation$run.invokeStatic(simulation.clj:153)\r\n\tat clj_gatling.simulation$run.invoke(simulation.clj:142)\r\n\tat clj_gatling.core$run.invokeStatic(core.clj:52)\r\n\tat clj_gatling.core$run.invoke(core.clj:44)\r\n\tat net.company.project.load.core$_main.invokeStatic(core.clj:24)\r\n\tat net.company.project.load.core$_main.invoke(core.clj:9)\r\n\tat clojure.lang.AFn.applyToHelper(AFn.java:160)\r\n\tat clojure.lang.AFn.applyTo(AFn.java:144)\r\n\tat net.company.project.load.core.main(Unknown Source)\r\n```\r\n\r\n(Thanks for the Clojure wrapper around Gatling!)\r\n"},"comment":{"url":"https://api.github.com/repos/mhjort/clj-gatling/issues/comments/319908096","html_url":"https://github.com/mhjort/clj-gatling/issues/51#issuecomment-319908096","issue_url":"https://api.github.com/repos/mhjort/clj-gatling/issues/51","id":319908096,"user":{"login":"ivos","id":389192,"avatar_url":"https://avatars3.githubusercontent.com/u/389192?v=4","gravatar_id":"","url":"https://api.github.com/users/ivos","html_url":"https://github.com/ivos","followers_url":"https://api.github.com/users/ivos/followers","following_url":"https://api.github.com/users/ivos/following{/other_user}","gists_url":"https://api.github.com/users/ivos/gists{/gist_id}","starred_url":"https://api.github.com/users/ivos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivos/subscriptions","organizations_url":"https://api.github.com/users/ivos/orgs","repos_url":"https://api.github.com/users/ivos/repos","events_url":"https://api.github.com/users/ivos/events{/privacy}","received_events_url":"https://api.github.com/users/ivos/received_events","type":"User","site_admin":false},"created_at":"2017-08-03T08:47:40Z","updated_at":"2017-08-03T08:47:40Z","body":"There it is:\r\n\r\n```\r\n(ns net.company.project.load.simulations\r\n  (:require [clojure.core.async :refer [chan go >!]]\r\n            [org.httpkit.client :as http]\r\n            ))\r\n\r\n(defn create-pairing\r\n  []\r\n  {:name    \"Customer: Create pairing\"\r\n   :request (fn [_]\r\n              (let [response (chan)\r\n                    process-result (fn [{:keys [status]}]\r\n                                     (go\r\n                                       (>! response [(and status (<= 200 status 299))])\r\n                                       ))]\r\n                (http/request {:method :post\r\n                               :url    \"http://localhost:8080/api/v1/pairings\"}\r\n                              process-result)\r\n                response))})\r\n\r\n(def purchase-simulation\r\n  {:name      \"Purchase simulation\"\r\n   :scenarios [\r\n               {:name   \"Happy purchase\"\r\n                :weight 100\r\n                :steps  [\r\n                         (create-pairing)\r\n                         ]}\r\n               {:name   \"Canceled purchase\"\r\n                :weight 1\r\n                :steps  [\r\n                         (create-pairing)\r\n                         ]}\r\n               {:name   \"Customer rejected purchase\"\r\n                :weight 1\r\n                :steps  [\r\n                         (create-pairing)\r\n                         ]}\r\n               {:name   \"Balance rejected purchase\"\r\n                :weight 1\r\n                :steps  [\r\n                         (create-pairing)\r\n                         ]}\r\n               ]})\r\n\r\n(def simulations\r\n  {\r\n   :purchase purchase-simulation\r\n   })\r\n```\r\n\r\nI tried to cut down irrelevant things as much as possible. So e.g. those four \"different\" scenarios are meaningful, when I cut one out, the error goes away.\r\n"}}
{"actor":{"display_login":"ivos"}}