diff --git a/qiskit_aer/backends/aerbackend.py b/qiskit_aer/backends/aerbackend.py index 859cb986da..13315acf1d 100644 --- a/qiskit_aer/backends/aerbackend.py +++ b/qiskit_aer/backends/aerbackend.py @@ -458,7 +458,7 @@ def _execute_circuits_job(self, circuits, noise_model, config, job_id="", format for result in output["results"]: if "header" not in result: continue - result["header"]["metadata"] = metadata_map[result["circuit"]] + result["header"]["metadata"] = metadata_map[result.pop("circuit")] # Add execution time output["time_taken"] = time.time() - start diff --git a/releasenotes/notes/remove_aer_circuit_from_metadata-e4fe09029c1a3a3c.yaml b/releasenotes/notes/remove_aer_circuit_from_metadata-e4fe09029c1a3a3c.yaml new file mode 100644 index 0000000000..9d5a5bb0ee --- /dev/null +++ b/releasenotes/notes/remove_aer_circuit_from_metadata-e4fe09029c1a3a3c.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Results of ``backend.run()`` were not serializable because they include :class:`.AerCircuit`\ s. + This commit makes the results serializable by removing :class:`.AerCircuit`\ s from metadata. diff --git a/test/terra/backends/aer_simulator/test_circuit.py b/test/terra/backends/aer_simulator/test_circuit.py index e5d22c16c0..cd4c0f7806 100644 --- a/test/terra/backends/aer_simulator/test_circuit.py +++ b/test/terra/backends/aer_simulator/test_circuit.py @@ -13,6 +13,7 @@ AerSimulator Integration Tests """ from math import sqrt +from copy import deepcopy from ddt import ddt import numpy as np from qiskit import ClassicalRegister, QuantumCircuit, QuantumRegister, assemble @@ -190,7 +191,7 @@ def test_metadata_protected(self): self.assertEqual(circuit.metadata["foo"], "bar") self.assertEqual(circuit.metadata["object"], object) - job.result() + deepcopy(job.result()) def test_run_qobj(self): """Test qobj run"""