code: def on_failure(self, metadata):
          
          self.connection.reset()
          handler = self.handlers.get("on_failure")
          if callable(handler):
              handler(metadata)
          handler = self.handlers.get("on_summary")
          if callable(handler):
              handler()
          raise CypherError.hydrate(**metadata)
docs: Called when a FAILURE message has been received.