# Buggy code
def UpdateNumberOfEventSources(
    self, number_of_consumed_sources, number_of_produced_sources
):
    """Updates the number of event sources.

    Args:
      number_of_consumed_sources (int): total number of event sources consumed
          by the process.
      number_of_produced_sources (int): total number of event sources produced
          by the process.

    Returns:
      bool: True if either number of event sources has increased.

    Raises:
      ValueError: if the consumer or produced number of event sources is
          smaller than the value of the previous update.
    """
    if number_of_consumed_sources < self.number_of_consumed_sources:
        raise ValueError("Number of consumed sources smaller than previous update.")

    if number_of_produced_sources < self.number_of_produced_sources:
        raise ValueError("Number of produced sources smaller than previous update.")

    consumed_sources_delta = (
        number_of_consumed_sources - self.number_of_consumed_sources
    )

    self.number_of_consumed_sources = number_of_consumed_sources
    self.number_of_consumed_sources_delta = consumed_sources_delta

    produced_sources_delta = (
        number_of_produced_sources - self.number_of_produced_sources
    )

    self.number_of_produced_sources = number_of_produced_sources
    self.number_of_produced_sources_delta = produced_sources_delta

    return consumed_sources_delta > 0 or produced_sources_delta > 0


# Traceback (ValueError)
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.7/dist-packages/plaso-1.4.1_20160717-py2.7.egg/plaso/multi_processing/engine.py", line 688, in _StatusUpdateThreadMain
File "/usr/local/lib/python2.7/dist-packages/plaso-1.4.1_20160717-py2.7.egg/plaso/multi_processing/engine.py", line 225, in _CheckStatusWorkerProcess
File "/usr/local/lib/python2.7/dist-packages/plaso-1.4.1_20160717-py2.7.egg/plaso/multi_processing/engine.py", line 865, in _UpdateProcessingStatus
File "/usr/local/lib/python2.7/dist-packages/plaso-1.4.1_20160717-py2.7.egg/plaso/engine/processing_status.py", line 321, in UpdateWorkerStatus
File "/usr/local/lib/python2.7/dist-packages/plaso-1.4.1_20160717-py2.7.egg/plaso/engine/processing_status.py", line 236, in _UpdateProcessStatus
File "/usr/local/lib/python2.7/dist-packages/plaso-1.4.1_20160717-py2.7.egg/plaso/engine/processing_status.py", line 166, in UpdateNumberOfEventSources
ValueError: Number of produced sources smaller than previous update.

# Fixed code
def UpdateNumberOfEventSources(
    self, number_of_consumed_sources, number_of_produced_sources
):
    """Updates the number of event sources.

    Args:
      number_of_consumed_sources (int): total number of event sources consumed
          by the process.
      number_of_produced_sources (int): total number of event sources produced
          by the process.

    Returns:
      bool: True if either number of event sources has increased.

    Raises:
      ValueError: if the consumer or produced number of event sources is
          smaller than the value of the previous update.
    """
    consumed_sources_delta = 0
    if number_of_consumed_sources is not None:
        if number_of_consumed_sources < self.number_of_consumed_sources:
            raise ValueError("Number of consumed sources smaller than previous update.")

        consumed_sources_delta = (
            number_of_consumed_sources - self.number_of_consumed_sources
        )

        self.number_of_consumed_sources = number_of_consumed_sources
        self.number_of_consumed_sources_delta = consumed_sources_delta

    produced_sources_delta = 0
    if number_of_produced_sources is not None:
        if number_of_produced_sources < self.number_of_produced_sources:
            raise ValueError("Number of produced sources smaller than previous update.")

        produced_sources_delta = (
            number_of_produced_sources - self.number_of_produced_sources
        )

        self.number_of_produced_sources = number_of_produced_sources
        self.number_of_produced_sources_delta = produced_sources_delta

    return consumed_sources_delta > 0 or produced_sources_delta > 0