NSLS-II / metadatastore

DEPRECATED: Incorporated into https://github.com/NSLS-II/databroker
Other
2 stars 11 forks source link

Cache error #199

Closed danielballan closed 8 years ago

danielballan commented 8 years ago
In [1]: import metadatastore as mds

In [2]: old = mds.mds.MDSRO({'host': 'xf11id-srv1', 'port': 27017, 'database': 'datastore', 'timezone': 'US/Eastern'})

In [3]: new = mds.mds.MDSRO({'host': 'xf11id-srv1', 'port': 29000, 'database': 'datastore', 'timezone': 'US/Eastern'})

In [4]: for o, n in zip(old.find_descriptors(), new.find_descriptors()):
    if o != n:
        raise Exception
   ...:
---------------------------------------------------------------------------
OperationFailure                          Traceback (most recent call last)
<ipython-input-4-9997b6d401aa> in <module>()
----> 1 for o, n in zip(old.find_descriptors(), new.find_descriptors()):
      2     if o != n:
      3         raise Exception
      4

/home/dallan/metadatastore/metadatastore/mds.pyc in find_descriptors(self, **kwargs)
    425         gen = core.find_descriptors(self._runstart_col,
    426                                     self._RUNSTART_CACHE,
--> 427                                     self._descriptor_col,
    428                                     self._DESCRIPTOR_CACHE,
    429                                     self.config['timezone'],

/home/dallan/metadatastore/metadatastore/mds.pyc in _descriptor_col(self)
     88
     89             self.__descriptor_col.create_index([('uid', pymongo.DESCENDING)],
---> 90                                                unique=True)
     91             self.__descriptor_col.create_index(
     92                 [('run_start', pymongo.DESCENDING),

/home/dallan/mc/envs/mongo-repair/lib/python2.7/site-packages/pymongo/collection.pyc in create_index(self, keys, **kwargs)
   1161         keys = helpers._index_list(keys)
   1162         name = kwargs.setdefault("name", helpers._gen_index_name(keys))
-> 1163         self.__create_index(keys, kwargs)
   1164         return name
   1165

/home/dallan/mc/envs/mongo-repair/lib/python2.7/site-packages/pymongo/collection.pyc in __create_index(self, keys, index_options)
   1076             try:
   1077                 self._command(
-> 1078                     sock_info, cmd, read_preference=ReadPreference.PRIMARY)
   1079             except OperationFailure as exc:
   1080                 if exc.code in common.COMMAND_NOT_FOUND_CODES:

/home/dallan/mc/envs/mongo-repair/lib/python2.7/site-packages/pymongo/collection.pyc in _command(self, sock_info, command, slave_ok, read_preference, codec_options, check, allowable_errors)
    189                                  codec_options or self.codec_options,
    190                                  check,
--> 191                                  allowable_errors)
    192
    193     def __create(self, options):

/home/dallan/mc/envs/mongo-repair/lib/python2.7/site-packages/pymongo/pool.pyc in command(self, dbname, spec, slave_ok, read_preference, codec_options, check, allowable_errors)
    182             return command(self.sock, dbname, spec,
    183                            slave_ok, self.is_mongos, read_preference,
--> 184                            codec_options, check, allowable_errors)
    185         except OperationFailure:
    186             raise

/home/dallan/mc/envs/mongo-repair/lib/python2.7/site-packages/pymongo/network.pyc in command(sock, dbname, spec, slave_ok, is_mongos, read_preference, codec_options, check, allowable_errors)
     52         repr(spec).replace("%", "%%"), ns)
     53     if check:
---> 54         helpers._check_command_response(response_doc, msg, allowable_errors)
     55     return response_doc
     56

/home/dallan/mc/envs/mongo-repair/lib/python2.7/site-packages/pymongo/helpers.pyc in _check_command_response(response, msg, allowable_errors)
    186
    187             msg = msg or "%s"
--> 188             raise OperationFailure(msg % errmsg, code, response)
    189
    190

OperationFailure: command SON([('createIndexes', u'event_descriptor'), ('indexes', [{'unique': True, 'name': u'uid_-1', 'key': SON([(u'uid', -1)])}])]) on namespace datastore.$cmd failed: Index with name: uid_-1 already exists with different options

In [5]: for o, n in zip(old.find_descriptors(), new.find_descriptors()):
    if o != n:
        raise Exception
   ...:
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-5-9997b6d401aa> in <module>()
----> 1 for o, n in zip(old.find_descriptors(), new.find_descriptors()):
      2     if o != n:
      3         raise Exception
      4

/home/dallan/metadatastore/metadatastore/mds.pyc in find_descriptors(self, **kwargs)
    430                                     self.version,
    431                                     **kwargs)
--> 432         for desc in gen:
    433             yield desc
    434

/home/dallan/metadatastore/metadatastore/core.pyc in find_descriptors(start_col, start_cache, descriptor_col, descriptor_cache, tz, ver, run_start, **kwargs)
   1011     for event_descriptor in event_descriptor_objects:
   1012         yield _cache_descriptor(event_descriptor, descriptor_cache,
-> 1013                                 start_col, start_cache)
   1014
   1015

/home/dallan/metadatastore/metadatastore/core.pyc in _cache_descriptor(descriptor, descritor_cache, run_start_col, run_start_cache)
    169     descriptor = doc.Document('EventDescriptor', descriptor)
    170
--> 171     descritor_cache[descriptor['uid']] = descriptor
    172     descritor_cache[oid] = descriptor
    173     _UID_TO_OID_MAP[descriptor['uid']] = oid

/home/dallan/mc/envs/mongo-repair/lib/python2.7/site-packages/boltons/cacheutils.pyc in __setitem__(self, key, value)
    147                 root[KEY] = root[VALUE] = None
    148                 # Now update the cache dictionary.
--> 149                 del self.link_map[oldkey]
    150                 super(LRU, self).__delitem__(oldkey)
    151                 self.link_map[key] = oldroot

KeyError: u'499c27f3-307b-4abb-bf3c-8738dce98af5'
ghost commented 8 years ago

Didn't re-generating indexes get rid off this error @danielballan ?

danielballan commented 8 years ago

Yes.