Page MenuHomeSoftware Heritage

Jenkins > .tox.py3.lib.python3.7.site-packages.swh.storage.tests.test_backfill::test_backfiller
Failed

TEST RESULT

Run At
Aug 19 2020, 2:32 PM
Details
swh_storage_backend_config = {'cls': 'local', 'db': 'postgresql://postgres@127.0.0.1:32257/tests', 'journal_writer': {'brokers': ['127.0.0.1:47263'], 'client_id': 'kafka_writer-1', 'cls': 'kafka', 'prefix': 'qlznmylmjf-1'}, 'objstorage': {'args': {}, 'cls': 'memory'}} kafka_prefix = 'qlznmylmjf', kafka_consumer_group = 'test-consumer-qlznmylmjf' kafka_server = '127.0.0.1:47263' @patch("swh.storage.backfill.RANGE_GENERATORS", RANGE_GENERATORS) def test_backfiller( swh_storage_backend_config, kafka_prefix: str, kafka_consumer_group: str, kafka_server: str, ): prefix1 = f"{kafka_prefix}-1" prefix2 = f"{kafka_prefix}-2" journal1 = { "cls": "kafka", "brokers": [kafka_server], "client_id": "kafka_writer-1", "prefix": prefix1, } swh_storage_backend_config["journal_writer"] = journal1 storage = get_storage(**swh_storage_backend_config) # fill the storage and the journal (under prefix1) for object_type, objects in TEST_OBJECTS.items(): method = getattr(storage, object_type + "_add") method(objects) # now apply the backfiller on the storage to fill the journal under prefix2 backfiller_config = { "brokers": [kafka_server], "client_id": "kafka_writer-2", "prefix": prefix2, "storage_dbconn": swh_storage_backend_config["db"], } # Backfilling backfiller = JournalBackfiller(backfiller_config) for object_type in TEST_OBJECTS: > backfiller.run(object_type, None, None) .tox/py3/lib/python3.7/site-packages/swh/storage/tests/test_backfill.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .tox/py3/lib/python3.7/site-packages/swh/storage/backfill.py:538: in run for obj in fetch(db, object_type, start=range_start, end=range_end,): .tox/py3/lib/python3.7/site-packages/swh/storage/backfill.py:441: in fetch record = converter(db, record) .tox/py3/lib/python3.7/site-packages/swh/storage/backfill.py:225: in revision_converter revision = db_to_revision(revision_d) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ db_revision = {'author_email': b'', 'author_fullname': b'foo', 'author_id': 1, 'author_name': b'foo', ...} def db_to_revision(db_revision: Dict[str, Any]) -> Optional[Revision]: """Convert a database representation of a revision to its swh-model representation.""" if db_revision["type"] is None: assert all( v is None for (k, v) in db_revision.items() if k not in ("id", "parents") ) return None author = db_to_author( db_revision["author_fullname"], db_revision["author_name"], db_revision["author_email"], ) date = db_to_date( db_revision["date"], db_revision["date_offset"], db_revision["date_neg_utc_offset"], ) committer = db_to_author( db_revision["committer_fullname"], db_revision["committer_name"], db_revision["committer_email"], ) committer_date = db_to_date( db_revision["committer_date"], db_revision["committer_date_offset"], db_revision["committer_date_neg_utc_offset"], ) assert author, "author is None" assert committer, "committer is None" parents = [] if "parents" in db_revision: for parent in db_revision["parents"]: if parent: parents.append(parent) metadata = db_revision["metadata"] > extra_headers = db_revision["extra_headers"] E KeyError: 'extra_headers' .tox/py3/lib/python3.7/site-packages/swh/storage/converters.py:225: KeyError