@InterfaceAudience.Public @InterfaceStability.Unstable public class DFSInotifyEventInputStream extends Object
|Modifier and Type
|Field and Description
|Modifier and Type
|Method and Description
Return a estimate of how many transaction IDs behind the NameNode's current state this stream is.
Returns the next batch of events in the stream or null if no new batches are currently available.
Returns the next event batch in the stream, waiting up to the specified amount of time for a new batch.
Returns the next batch of events in the stream, waiting indefinitely if a new batch is not immediately available.
public EventBatch poll() throws IOException, MissingEventsException
IOException - because of network error or edit log
corruption. Also possible if JournalNodes are unresponsive in the
QJM setting (even one unresponsive JournalNode is enough in rare cases),
so catching this exception and retrying at least a few times is
MissingEventsException - if we cannot return the next batch in the
stream because the data for the events (and possibly some subsequent
events) has been deleted (generally because this stream is a very large
number of transactions behind the current state of the NameNode). It is
safe to continue reading from the stream after this exception is thrown
The next available batch of events will be returned.
public long getTxidsBehindEstimate()
A return value of -1 indicates that an estimate could not be produced, and should be ignored. The value returned by this method is really only useful when compared to previous or subsequent returned values.
public EventBatch poll(long time, TimeUnit tu) throws IOException, InterruptedException, MissingEventsException
public EventBatch take() throws IOException, InterruptedException, MissingEventsException
Copyright © 2023 Apache Software Foundation. All rights reserved.