def need_summary(self, now, max_updates, max_age):
        """
        Helper method to determine if a "summarize" record should be
        added.

        :param now: The current time.
        :param max_updates: Maximum number of updates before a
                            summarize is required.
        :param max_age: Maximum age of the last summarize record.
                        This is used in the case where a summarize
                        request has been lost by the compactor.

        :returns: True if a "summarize" record should be added, False
                  otherwise.
        """

        # Handle the case where an old summarize record exists
        if self.summarized is True and self.last_summarize_ts + max_age <= now:
            return True

        return self.summarized is False and self.updates >= max_updates