- **status**: open --> review
- **assigned_to**: Dave Brondsema
- **Comment**:

Fix on branch db/8146



---

** [tickets:#8146] Index error with mongo 3.4**

**Status:** review
**Milestone:** unreleased
**Created:** Tue Feb 28, 2017 04:18 PM UTC by Dave Brondsema
**Last Updated:** Tue Feb 28, 2017 04:18 PM UTC
**Owner:** Dave Brondsema


Running `paster setup-app` command with mongo 3.4 gives:

```
  File "/allura/Allura/allura/websetup/__init__.py", line 38, in setup_app
    bootstrap.bootstrap(command, conf, vars)
  File "/allura/Allura/allura/websetup/bootstrap.py", line 103, in bootstrap
    index.run([''])
  File 
"/allura-data/virtualenv/local/lib/python2.7/site-packages/paste/script/command.py",
 line 238, in run
    result = self.command()
  File "/allura/Allura/allura/command/show_models.py", line 240, in command
    self._update_indexes(db[name], indexes)
  File "/allura/Allura/allura/command/show_models.py", line 292, in 
_update_indexes
    collection.ensure_index(idx.index_spec, **idx.index_options)
  File 
"/allura-data/virtualenv/local/lib/python2.7/site-packages/pymongo/collection.py",
 line 1186, in ensure_index
    return self.create_index(key_or_list, cache_for, **kwargs)
  File 
"/allura-data/virtualenv/local/lib/python2.7/site-packages/pymongo/collection.py",
 line 1069, in create_index
    indexes=[index])
  File 
"/allura-data/virtualenv/local/lib/python2.7/site-packages/pymongo/database.py",
 line 439, in command
    uuid_subtype, compile_re, **kwargs)[0]
  File 
"/allura-data/virtualenv/local/lib/python2.7/site-packages/pymongo/database.py",
 line 345, in _command
    msg, allowable_errors)
  File 
"/allura-data/virtualenv/local/lib/python2.7/site-packages/pymongo/helpers.py", 
line 182, in _check_command_response
    raise OperationFailure(msg % errmsg, code, response)
OperationFailure: command SON([('createIndexes', u'basestats'), ('indexes', 
[{'sparse': False, 'unique': True, 'name': u'_id_1', 'key': SON([('_id', 
1)])}])]) on namespace allura.$cmd failed: The field 'sparse' is not valid for 
an _id index specification. Specification: { ns: "allura.basestats", v: 1, 
sparse: false, unique: true, name: "_id_1", key: { _id: 1 } }
```

https://docs.mongodb.com/manual/release-notes/3.4-compatibility/#stricter-validation-of-index-specifications
 doesn't specifically mention sparse `_id`, but looks like that is the change 
that is causing this.

So I guess we need to omit `sparse: False` on `_id` fields, or any time it's 
false.


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed 
to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is 
a mailing list, you can unsubscribe from the mailing list.

Reply via email to