summaryrefslogtreecommitdiff
path: root/jstests/core/geo_update_btree.js
blob: 6aa127336545d06770059e270a44ebabc3bf7157 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Tests whether the geospatial search is stable under btree updates
//
// @tags: [
//   assumes_write_concern_unchanged,
//   requires_non_retryable_writes,
// ]

var coll = db.getCollection("jstests_geo_update_btree");
coll.drop();

coll.ensureIndex({loc: '2d'});

var big = new Array(3000).toString();

if (testingReplication) {
    coll.setWriteConcern({w: 2});
}

Random.setRandomSeed();

var parallelInsert = startParallelShell(
    "Random.setRandomSeed();" + "for ( var i = 0; i < 1000; i++ ) {" +
    "    var doc = { loc: [ Random.rand() * 180, Random.rand() * 180 ], v: '' };" +
    "    db.jstests_geo_update_btree.insert(doc);" + "}");

for (i = 0; i < 1000; i++) {
    coll.update({
        loc:
            {$within: {$center: [[Random.rand() * 180, Random.rand() * 180], Random.rand() * 50]}}
    },
                {$set: {v: big}},
                false,
                true);

    if (i % 10 == 0)
        print(i);
}

parallelInsert();