WatcherCleaner (Apache ZooKeeper - Server 3.7.0 API)
Date: 2021-03-17

org.apache.zookeeper.server.watch

## Class WatcherCleaner

- java.lang.Object
- - java.lang.Thread
  - - org.apache.zookeeper.server.watch.WatcherCleaner

- All Implemented Interfaces:
    Runnable

      public class WatcherCleaner
      extends Thread

  Thread used to lazily clean up the closed watcher, it will trigger the clean up when the dead watchers get certain number or some number of seconds has elapsed since last clean up. Cost of running it: - need to go through all the paths even if the watcher may only watching a single path - block in the path BitHashSet when we try to check the dead watcher which won't block other stuff

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.lang.Thread

      `Thread.State, Thread.UncaughtExceptionHandler`

  - ### Field Summary

    - ### Fields inherited from class java.lang.Thread

      `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WatcherCleaner(IDeadWatcherListener listener)`
    `WatcherCleaner(IDeadWatcherListener listener, int watcherCleanThreshold, int watcherCleanIntervalInSeconds, int watcherCleanThreadsNum, int maxInProcessingDeadWatchers)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDeadWatcher(int watcherBit)`
    `void` | `run()`
    `void` | `shutdown()`

    - ### Methods inherited from class java.lang.Thread

      `activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### WatcherCleaner

          public WatcherCleaner(IDeadWatcherListener listener)

    - #### WatcherCleaner

          public WatcherCleaner(IDeadWatcherListener listener,
                                int watcherCleanThreshold,
                                int watcherCleanIntervalInSeconds,
                                int watcherCleanThreadsNum,
                                int maxInProcessingDeadWatchers)

  - ### Method Detail

    - #### addDeadWatcher

          public void addDeadWatcher(int watcherBit)

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`
      Overrides:
        `run` in class `Thread`

    - #### shutdown

          public void shutdown()

Copyright © 2008–2021 The Apache Software Foundation. All rights reserved.