jepsen-io / mongodb Goto Github PK
View Code? Open in Web Editor NEWMongoDB Jepsen tests
License: Eclipse Public License 2.0
MongoDB Jepsen tests
License: Eclipse Public License 2.0
I am running a Jepsen test from Jepsen-io/mongodb and using [jepsen "0.3.1-SNAPSHOT"], I am seeing this error below. Can anyone help? Thanks
lein run test-all -w list-append -n n1 -n n2 -n n3 -n n4 -n n5 -n n6 -n n7 -n n8 -n n9 -r 1000 --concurrency 3n --time-limit 240 --max-writes-per-key 128 --read-concern majority --write-concern majority --txn-read-concern snapshot --txn-write-concern majority --nemesis-interval 1 --nemesis partition --test-count 1
[2023/09/11 18:15:56.577] INFO [2023-09-11 18:15:56,577] jepsen test runner - jepsen.core Running test:
[2023/09/11 18:15:56.577] {:remote
[2023/09/11 18:15:56.577] #jepsen.control.retry.Remote{:remote #jepsen.control.scp.Remote{:cmd-remote #jepsen.control.sshj.SSHJRemote{:concurrency-limit 6,
[2023/09/11 18:15:56.577] :conn-spec nil,
[2023/09/11 18:15:56.577] :client nil,
[2023/09/11 18:15:56.577] :semaphore nil},
[2023/09/11 18:15:56.577] :conn-spec nil},
[2023/09/11 18:15:56.577] :conn nil}
[2023/09/11 18:15:56.577] :read-concern "majority"
[2023/09/11 18:15:56.577] :max-txn-length 4
[2023/09/11 18:15:56.577] :concurrency 27
[2023/09/11 18:15:56.577] :txn-read-concern "snapshot"
[2023/09/11 18:15:56.577] :singleton-txns false
[2023/09/11 18:15:56.577] :db
[2023/09/11 18:15:56.577] #jepsen.mongodb.db.ShardedDB{:mongos #jepsen.mongodb.db.Mongos{:config-str "rs_config/n1:27019,n2:27019,n3:27019",
[2023/09/11 18:15:56.577] :shard-strs ("rs_shard1/n4:27018"
[2023/09/11 18:15:56.577] "rs_shard2/n7:27018")},
[2023/09/11 18:15:56.577] :shards ({:name "config",
[2023/09/11 18:15:56.577] :nodes ("n1" "n2" "n3"),
[2023/09/11 18:15:56.577] :db #object[jepsen.mongodb.db$replica_set_db$reify__2069
[2023/09/11 18:15:56.577] "0x438a2337"
[2023/09/11 18:15:56.577] "jepsen.mongodb.db$replica_set_db$reify__2069@438a2337"]}
[2023/09/11 18:15:56.577] {:name "shard1",
[2023/09/11 18:15:56.577] :nodes ("n4" "n5" "n6"),
[2023/09/11 18:15:56.577] :db #object[jepsen.mongodb.db$replica_set_db$reify__2069
[2023/09/11 18:15:56.577] "0x593d5f39"
[2023/09/11 18:15:56.577] "jepsen.mongodb.db$replica_set_db$reify__2069@593d5f39"]}
[2023/09/11 18:15:56.577] {:name "shard2",
[2023/09/11 18:15:56.577] :nodes ("n7" "n8" "n9"),
[2023/09/11 18:15:56.577] :db #object[jepsen.mongodb.db$replica_set_db$reify__2069
[2023/09/11 18:15:56.577] "0x5e537465"
[2023/09/11 18:15:56.577] "jepsen.mongodb.db$replica_set_db$reify__2069@5e537465"]}),
[2023/09/11 18:15:56.577] :tcpdump #object[jepsen.db$tcpdump$reify__8903
[2023/09/11 18:15:56.577] "0x5128efc"
[2023/09/11 18:15:56.577] "jepsen.db$tcpdump$reify__8903@5128efc"]}
[2023/09/11 18:15:56.577] :max-writes-per-key 128
[2023/09/11 18:15:56.577] :leave-db-running? false
[2023/09/11 18:15:56.577] :name
[2023/09/11 18:15:56.577] "mongodb 7.0.0-rc8 list-append w:majority r:majority tw:majority tr:snapshot partition"
[2023/09/11 18:15:56.577] :logging-json? false
[2023/09/11 18:15:56.577] :write-concern "majority"
[2023/09/11 18:15:56.577] :start-time
[2023/09/11 18:15:56.577] #object[org.joda.time.DateTime "0x4f27643d" "2023-09-11T18:15:56.464Z"]
[2023/09/11 18:15:56.577] :nemesis-interval 1
[2023/09/11 18:15:56.577] :net
[2023/09/11 18:15:56.577] #object[jepsen.net$reify__12440
[2023/09/11 18:15:56.577] "0x5d267575"
[2023/09/11 18:15:56.577] "jepsen.net$reify__12440@5d267575"]
[2023/09/11 18:15:56.577] :client #jepsen.mongodb.list_append.Client{:conn nil}
[2023/09/11 18:15:56.577] :barrier
[2023/09/11 18:15:56.577] #object[java.util.concurrent.CyclicBarrier
[2023/09/11 18:15:56.577] "0x6e512d7f"
[2023/09/11 18:15:56.577] "java.util.concurrent.CyclicBarrier@6e512d7f"]
[2023/09/11 18:15:56.577] :pure-generators true
[2023/09/11 18:15:56.577] :ssh
[2023/09/11 18:15:56.577] {:dummy? false,
[2023/09/11 18:15:56.577] :username "root",
[2023/09/11 18:15:56.577] :password "root",
[2023/09/11 18:15:56.577] :strict-host-key-checking false,
[2023/09/11 18:15:56.577] :private-key-path nil}
[2023/09/11 18:15:56.577] :rate 1000
[2023/09/11 18:15:56.577] :lazyfs false
[2023/09/11 18:15:56.577] :checker
[2023/09/11 18:15:56.577] #object[jepsen.checker$compose$reify__11881
[2023/09/11 18:15:56.577] "0x2be49c8c"
[2023/09/11 18:15:56.577] "jepsen.checker$compose$reify__11881@2be49c8c"]
[2023/09/11 18:15:56.577] :argv
[2023/09/11 18:15:56.577] ("test-all"
[2023/09/11 18:15:56.577] "-w"
[2023/09/11 18:15:56.577] "list-append"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n1"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n2"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n3"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n4"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n5"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n6"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n7"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n8"
[2023/09/11 18:15:56.577] "-n"
[2023/09/11 18:15:56.577] "n9"
[2023/09/11 18:15:56.577] "-r"
[2023/09/11 18:15:56.577] "1000"
[2023/09/11 18:15:56.577] "--concurrency"
[2023/09/11 18:15:56.577] "3n"
[2023/09/11 18:15:56.577] "--time-limit"
[2023/09/11 18:15:56.577] "240"
[2023/09/11 18:15:56.577] "--max-writes-per-key"
[2023/09/11 18:15:56.577] "128"
[2023/09/11 18:15:56.577] "--read-concern"
[2023/09/11 18:15:56.577] "majority"
[2023/09/11 18:15:56.577] "--write-concern"
[2023/09/11 18:15:56.577] "majority"
[2023/09/11 18:15:56.577] "--txn-read-concern"
[2023/09/11 18:15:56.577] "snapshot"
[2023/09/11 18:15:56.577] "--txn-write-concern"
[2023/09/11 18:15:56.577] "majority"
[2023/09/11 18:15:56.577] "--nemesis-interval"
[2023/09/11 18:15:56.577] "1"
[2023/09/11 18:15:56.577] "--nemesis"
[2023/09/11 18:15:56.577] "partition"
[2023/09/11 18:15:56.577] "--test-count"
[2023/09/11 18:15:56.577] "1")
[2023/09/11 18:15:56.577] :logging
[2023/09/11 18:15:56.577] {:overrides {"org.mongodb.driver.client" :error,
[2023/09/11 18:15:56.577] "org.mongodb.driver.cluster" :error,
[2023/09/11 18:15:56.577] "org.mongodb.driver.connection" :error}}
[2023/09/11 18:15:56.577] :nemesis
[2023/09/11 18:15:56.577] #unprintable "jepsen.mongodb.nemesis$shard_nemesis$reify__3217@5f160341"
[2023/09/11 18:15:56.577] :read-preference nil
[2023/09/11 18:15:56.577] :no-read-only-txn-write-concern false
[2023/09/11 18:15:56.577] :nodes ["n1" "n2" "n3" "n4" "n5" "n6" "n7" "n8" "n9"]
[2023/09/11 18:15:56.577] :test-count 1
[2023/09/11 18:15:56.577] :hidden 0
[2023/09/11 18:15:56.577] :sharded true
[2023/09/11 18:15:56.577] :generator
[2023/09/11 18:15:56.577] ((jepsen.generator.Synchronize
[2023/09/11 18:15:56.577] {:gen (jepsen.generator.TimeLimit
[2023/09/11 18:15:56.577] {:limit 240000000000,
[2023/09/11 18:15:56.577] :cutoff nil,
[2023/09/11 18:15:56.577] :gen (jepsen.generator.Any
[2023/09/11 18:15:56.577] {:gens [(jepsen.generator.OnThreads
[2023/09/11 18:15:56.577] {:f #{:nemesis},
[2023/09/11 18:15:56.577] :context-filter #object[jepsen.generator.context$make_thread_filter$lazy_filter__9167
[2023/09/11 18:15:56.577] "0x61f62b80"
[2023/09/11 18:15:56.577] "jepsen.generator.context$make_thread_filter$lazy_filter__9167@61f62b80"],
[2023/09/11 18:15:56.577] :gen ((jepsen.generator.Synchronize
[2023/09/11 18:15:56.577] {:gen {:type :sleep, :value 10}})
[2023/09/11 18:15:56.577] (jepsen.generator.Synchronize
[2023/09/11 18:15:56.577] {:gen (jepsen.generator.Delay
[2023/09/11 18:15:56.577] {:dt 1000000000,
[2023/09/11 18:15:56.577] :next-time nil,
[2023/09/11 18:15:56.577] :gen (jepsen.generator.Mix
[2023/09/11 18:15:56.577] {:i 1,
[2023/09/11 18:15:56.577] :gens [(jepsen.generator.Map
[2023/09/11 18:15:56.577] {:f #object[jepsen.mongodb.nemesis$shard_generator$fn__3212$fn__3213
[2023/09/11 18:15:56.577] "0x387bbd7a"
[2023/09/11 18:15:56.577] "jepsen.mongodb.nemesis$shard_generator$fn__3212$fn__3213@387bbd7a"],
[2023/09/11 18:15:56.577] :gen (jepsen.generator.Stagger
[2023/09/11 18:15:56.577] {:dt 0,
[2023/09/11 18:15:56.577] :next-time nil,
[2023/09/11 18:15:56.577] :gen (jepsen.generator.FlipFlop
[2023/09/11 18:15:56.577] {:gens [#object[jepsen.nemesis.combined$partition_package$start__3164
[2023/09/11 18:15:56.577] "0x22cf6c9c"
[2023/09/11 18:15:56.577] "jepsen.nemesis.combined$partition_package$start__3164@22cf6c9c"]
[2023/09/11 18:15:56.577] ({:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] ...)],
[2023/09/11 18:15:56.577] :i 0})})})
[2023/09/11 18:15:56.577] (jepsen.generator.Map
[2023/09/11 18:15:56.577] {:f #object[jepsen.mongodb.nemesis$shard_generator$fn__3212$fn__3213
[2023/09/11 18:15:56.577] "0x15932faf"
[2023/09/11 18:15:56.577] "jepsen.mongodb.nemesis$shard_generator$fn__3212$fn__3213@15932faf"],
[2023/09/11 18:15:56.577] :gen (jepsen.generator.Stagger
[2023/09/11 18:15:56.577] {:dt 0,
[2023/09/11 18:15:56.577] :next-time nil,
[2023/09/11 18:15:56.577] :gen (jepsen.generator.FlipFlop
[2023/09/11 18:15:56.577] {:gens [#object[jepsen.nemesis.combined$partition_package$start__3164
[2023/09/11 18:15:56.577] "0x7066c00a"
[2023/09/11 18:15:56.577] "jepsen.nemesis.combined$partition_package$start__3164@7066c00a"]
[2023/09/11 18:15:56.577] ({:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] ...)],
[2023/09/11 18:15:56.577] :i 0})})})
[2023/09/11 18:15:56.577] (jepsen.generator.Map
[2023/09/11 18:15:56.577] {:f #object[jepsen.mongodb.nemesis$shard_generator$fn__3212$fn__3213
[2023/09/11 18:15:56.577] "0x2914f916"
[2023/09/11 18:15:56.577] "jepsen.mongodb.nemesis$shard_generator$fn__3212$fn__3213@2914f916"],
[2023/09/11 18:15:56.577] :gen (jepsen.generator.Stagger
[2023/09/11 18:15:56.577] {:dt 0,
[2023/09/11 18:15:56.577] :next-time nil,
[2023/09/11 18:15:56.577] :gen (jepsen.generator.FlipFlop
[2023/09/11 18:15:56.577] {:gens [#object[jepsen.nemesis.combined$partition_package$start__3164
[2023/09/11 18:15:56.577] "0x2140de63"
[2023/09/11 18:15:56.577] "jepsen.nemesis.combined$partition_package$start__3164@2140de63"]
[2023/09/11 18:15:56.577] ({:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] {:type :info,
[2023/09/11 18:15:56.577] :f :stop-partition,
[2023/09/11 18:15:56.577] :value nil}
[2023/09/11 18:15:56.577] ...)],
[2023/09/11 18:15:56.577] :i 0})})})]})})}))})
[2023/09/11 18:15:56.577] (jepsen.generator.OnThreads
[2023/09/11 18:15:56.577] {:f #jepsen.generator.context.AllBut{:element :nemesis},
[2023/09/11 18:15:56.577] :context-filter #object[jepsen.generator.context$make_thread_filter$lazy_filter__9167
[2023/09/11 18:15:56.577] "0x2da273b3"
[2023/09/11 18:15:56.577] "jepsen.generator.context$make_thread_filter$lazy_filter__9167@2da273b3"],
[2023/09/11 18:15:56.577] :gen (jepsen.generator.Stagger
[2023/09/11 18:15:56.577] {:dt 2000000,
[2023/09/11 18:15:56.577] :next-time nil,
[2023/09/11 18:15:56.577] :gen ({:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:append 9 1]
[2023/09/11 18:15:56.577] [:r 9 nil]
[2023/09/11 18:15:56.577] [:r 7 nil]]}
[2023/09/11 18:15:56.577] {:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:r 7 nil]
[2023/09/11 18:15:56.577] [:append 6 1]
[2023/09/11 18:15:56.577] [:append 4 1]]}
[2023/09/11 18:15:56.577] {:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:r 7 nil]
[2023/09/11 18:15:56.577] [:append 7 1]
[2023/09/11 18:15:56.577] [:r 8 nil]
[2023/09/11 18:15:56.577] [:append 8 1]]}
[2023/09/11 18:15:56.577] {:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:r 9 nil]
[2023/09/11 18:15:56.577] [:append 9 2]
[2023/09/11 18:15:56.577] [:r 9 nil]]}
[2023/09/11 18:15:56.577] {:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:append 9 3]
[2023/09/11 18:15:56.577] [:append 5 1]
[2023/09/11 18:15:56.577] [:append 8 2]]}
[2023/09/11 18:15:56.577] {:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:append 9 4]
[2023/09/11 18:15:56.577] [:append 9 5]
[2023/09/11 18:15:56.577] [:r 9 nil]
[2023/09/11 18:15:56.577] [:r 9 nil]]}
[2023/09/11 18:15:56.577] {:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:append 9 6]]}
[2023/09/11 18:15:56.577] {:type :invoke,
[2023/09/11 18:15:56.577] :f :txn,
[2023/09/11 18:15:56.577] :value [[:r 9 nil]]}
[2023/09/11 18:15:56.577] ...)})})]})})}))
[2023/09/11 18:15:56.577] :os
[2023/09/11 18:15:56.577] #object[jepsen.os.debian.Debian
[2023/09/11 18:15:56.577] "0x424461ad"
[2023/09/11 18:15:56.577] "jepsen.os.debian.Debian@424461ad"]
[2023/09/11 18:15:56.577] :time-limit 240
[2023/09/11 18:15:56.577] :version "7.0.0-rc8"
[2023/09/11 18:15:56.577] :workload :list-append
[2023/09/11 18:15:56.577] :txn-write-concern "majority"}
[2023/09/11 18:30:54.784] at jepsen.util$await_fn.invokeStatic(util.clj:463)
[2023/09/11 18:30:54.784] at jepsen.util$await_fn.invoke(util.clj:441)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$await_open_STAR_.invokeStatic(client.clj:140)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$await_open_STAR_.invoke(client.clj:130)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$await_open.invokeStatic(client.clj:178)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$await_open.invoke(client.clj:174)
[2023/09/11 18:30:54.784] at jepsen.mongodb.db$join_BANG_.invokeStatic(db.clj:219)
[2023/09/11 18:30:54.784] at jepsen.mongodb.db$join_BANG_.invoke(db.clj:212)
[2023/09/11 18:30:54.784] at jepsen.mongodb.db$replica_set_db$reify__2069.setup_BANG_(db.clj:274)
[2023/09/11 18:30:54.784] at jepsen.mongodb.db.ShardedDB.setup_BANG_(db.clj:435)
[2023/09/11 18:30:54.784] at jepsen.db$fn__8729$G__8723__8733.invoke(db.clj:12)
[2023/09/11 18:30:54.784] at jepsen.db$fn__8729$G__8722__8738.invoke(db.clj:12)
[2023/09/11 18:30:54.784] at clojure.core$partial$fn__5908.invoke(core.clj:2642)
[2023/09/11 18:30:54.784] at jepsen.control$on_nodes$fn__8599.invoke(control.clj:314)
[2023/09/11 18:30:54.784] at clojure.lang.AFn.applyToHelper(AFn.java:154)
[2023/09/11 18:30:54.784] at clojure.lang.AFn.applyTo(AFn.java:144)
[2023/09/11 18:30:54.784] at clojure.core$apply.invokeStatic(core.clj:667)
[2023/09/11 18:30:54.784] at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1990)
[2023/09/11 18:30:54.784] at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1990)
[2023/09/11 18:30:54.784] at clojure.lang.RestFn.applyTo(RestFn.java:142)
[2023/09/11 18:30:54.784] at clojure.core$apply.invokeStatic(core.clj:671)
[2023/09/11 18:30:54.784] at clojure.core$bound_fn_STAR_$fn__5818.doInvoke(core.clj:2020)
[2023/09/11 18:30:54.784] at clojure.lang.RestFn.invoke(RestFn.java:408)
[2023/09/11 18:30:54.784] at dom_top.core$real_pmap_helper$build_thread__211$fn__212.invoke(core.clj:163)
[2023/09/11 18:30:54.784] at clojure.lang.AFn.applyToHelper(AFn.java:152)
[2023/09/11 18:30:54.784] at clojure.lang.AFn.applyTo(AFn.java:144)
[2023/09/11 18:30:54.784] at clojure.core$apply.invokeStatic(core.clj:667)
[2023/09/11 18:30:54.784] at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1990)
[2023/09/11 18:30:54.784] at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1990)
[2023/09/11 18:30:54.784] at clojure.lang.RestFn.invoke(RestFn.java:425)
[2023/09/11 18:30:54.784] at clojure.lang.AFn.applyToHelper(AFn.java:156)
[2023/09/11 18:30:54.784] at clojure.lang.RestFn.applyTo(RestFn.java:132)
[2023/09/11 18:30:54.784] at clojure.core$apply.invokeStatic(core.clj:671)
[2023/09/11 18:30:54.784] at clojure.core$bound_fn_STAR_$fn__5818.doInvoke(core.clj:2020)
[2023/09/11 18:30:54.784] at clojure.lang.RestFn.invoke(RestFn.java:397)
[2023/09/11 18:30:54.784] at clojure.lang.AFn.run(AFn.java:22)
[2023/09/11 18:30:54.784] at java.base/java.lang.Thread.run(Thread.java:829)
[2023/09/11 18:30:54.784] Caused by: clojure.lang.ExceptionInfo: throw+: {:type :jepsen.mongodb.client/timed-out-awaiting-connection, :node "n9", :port 27018}
[2023/09/11 18:30:54.784] at slingshot.support$stack_trace.invoke(support.clj:201)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$await_open_STAR_$conn__1735.invoke(client.clj:156)
[2023/09/11 18:30:54.784] at jepsen.util$await_fn$fn__4358.invoke(util.clj:464)
[2023/09/11 18:30:54.784] ... 37 common frames omitted
[2023/09/11 18:30:54.784] Caused by: com.mongodb.MongoTimeoutException: Timed out after 1000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=n9:27018, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]
[2023/09/11 18:30:54.784] at com.mongodb.internal.connection.BaseCluster.getDescription(BaseCluster.java:180)
[2023/09/11 18:30:54.784] at com.mongodb.internal.connection.SingleServerCluster.getDescription(SingleServerCluster.java:44)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoClientDelegate.getConnectedClusterDescription(MongoClientDelegate.java:144)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoClientDelegate.createClientSession(MongoClientDelegate.java:101)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.getClientSession(MongoClientDelegate.java:291)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:183)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoDatabaseImpl.executeCommand(MongoDatabaseImpl.java:195)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:164)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:159)
[2023/09/11 18:30:54.784] at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:149)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$command_BANG_.invokeStatic(client.clj:589)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$command_BANG_.invoke(client.clj:586)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$admin_command_BANG_.invokeStatic(client.clj:594)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$admin_command_BANG_.invoke(client.clj:591)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$ping.invokeStatic(client.clj:599)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$ping.invoke(client.clj:596)
[2023/09/11 18:30:54.784] at jepsen.mongodb.client$await_open_STAR_$conn__1735.invoke(client.clj:147)
[2023/09/11 18:30:54.784] ... 38 common frames omitted
[2023/09/11 18:30:54.785] # Crashed tests
[2023/09/11 18:30:54.785] store/mongodb 7.0.0-rc8 list-append w:majority r:majority tw:majority tr:snapshot partition/20230911T182547.757Z
[2023/09/11 18:30:57.829] 0 successes
[2023/09/11 18:30:57.829] 0 unknown
[2023/09/11 18:30:57.829] 1 crashed
[2023/09/11 18:30:57.829] 0 failures
I'm trying to run the tests, but not sure if there is an example ~/nodes file I can use to run them locally.
java.io.FileNotFoundException: /Users/username/nodes (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method) ~[na:na]
at java.base/java.io.FileInputStream.open(FileInputStream.java:219) ~[na:na]
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:158) ~[na:na]
at clojure.java.io$fn__11466.invokeStatic(io.clj:229) ~[clojure-1.10.0.jar:na]
at clojure.java.io$fn__11466.invoke(io.clj:229) ~[clojure-1.10.0.jar:na]
at clojure.java.io$fn__11379$G__11372__11386.invoke(io.clj:69) ~[clojure-1.10.0.jar:na]
at clojure.java.io$fn__11478.invokeStatic(io.clj:258) ~[clojure-1.10.0.jar:na]
at clojure.java.io$fn__11478.invoke(io.clj:254) ~[clojure-1.10.0.jar:na]
at clojure.java.io$fn__11379$G__11372__11386.invoke(io.clj:69) ~[clojure-1.10.0.jar:na]
at clojure.java.io$fn__11440.invokeStatic(io.clj:165) ~[clojure-1.10.0.jar:na]
at clojure.java.io$fn__11440.invoke(io.clj:165) ~[clojure-1.10.0.jar:na]
I notice you mentioned that in your test report for MongoDB 3.6.4
We implemented a new kind of Jepsen test to check causal consistency, adapted from Bouajjani, Enea, Guerraoui, and Hamza’s techniques On Verifying Causal Consistency.
I have read the paper On Verifying Causal Consistency and found that there are several variants of causal consistency, including Causal Consistency (CC) , Causal Memory (CM) , and Causal Convergence (CCv) . Bouajjani et. al. have proposed checking algorithm for each variant but I can not tell which variant of causal consistency are you testing against for MongoDB by the code in causal.clj.
Can you give me some more specific information?
Sincerely,
Young
I tried to test MongoDB by Jepsen in docker-compose which introduced in tutorial
I can run etcdemo successfully. But I failed in this case
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000004c0000000, 12884901888, 0) failed; error='Cannot allocate memory' (errno=12)
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 12884901888 bytes for committing reserved memory.
It confused me whether it's my machine's problem or maybe I should buy Jepsen cluster from the AWS Marketplace?
Here are some issues I faced while getting this MongoDB jepsen suite running locally with docker. Information about the code that I am using
Jepsen : commit a2bcad59f0df5bd39cea1e61d9b64376c479df9c (HEAD -> main)
MongoDB : commit 83548bb8e054170ecc4b8fda70390e40fcca5e30 (origin/master, origin/HEAD)
Initially I had an issue of not enough nodes (by default Jepsen starts 5 nodes in docker) as evident by this function jepsen.mongodb.db/shard-node-plan
I fixed that by adding 2 more nodes.
Then I hit another roadblock, while installing mongoDB on each node, it error'd out saying that a required dependency can't be found, specifically libcurl3
So apparently, libcurl4
and libcurl3
don't work well together and in-spite of efforts I wasn't able to get libcurl3
and mongo running. So I changed the way Jepsen was installing MongoDB and followed the official documentation that installs Mongo 4.2. That worked.
But now I am still unable to run the tests as every time there seems to be some SSH related exception saying the control node cant reach the DB nodes.
I changed the installation instructions for MongoDB since the default instructions in setup! were error'ing out due to a libcurl3 dependency. Instructions that I have coded into setup! instead
(defn install!
[test]
"Installs MongoDB on the current node."
(c/su
(c/exec :mkdir :-p "/tmp/jepsen")
(let [version (:version test)
m-version (str/join "." (butlast (str/split "4.2.10" #"\.")))
versioner #(keyword (str "mongodb-" %1 "=" version))]
(c/exec :dpkg :--configure :-a)
(c/exec :apt :-y :--fix-broken :install)
()
(c/exec :apt-get :install :gnupg)
(c/exec :wget :-qO :-
(str "https://www.mongodb.org/static/pgp/server-" m-version ".asc")
:| :apt-key :add :-)
(c/exec :echo (str "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/" m-version " multiverse") :| :tee (str "/etc/apt/sources.list.d/mongodb-org-" m-version ".list"))
(c/exec :apt-get :update)
(c/exec :apt-get :install :-y
(versioner "org")
(versioner "org-server")
(versioner "org-shell")
(versioner "org-mongos"))
(c/exec :systemctl :daemon-reload))))
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.