Tabnine Logo
ForeignExceptionListener
Code IndexAdd Tabnine to your IDE (free)

How to use
ForeignExceptionListener
in
org.apache.hadoop.hbase.errorhandling

Best Java code snippets using org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener (Showing top 18 results out of 315)

origin: apache/hbase

/**
 * Sends an exception to all listeners.
 * @param message human readable message passed to the listener
 * @param e {@link ForeignException} containing the cause.  Can be null.
 */
private void dispatch(ForeignException e) {
 // update all the listeners with the passed error
 for (ForeignExceptionListener l: listeners) {
  l.receive(e);
 }
}
origin: apache/hbase

 @Override
 public void run() {
  // ensure we don't run this task multiple times
  synchronized (this) {
   // quick exit if we already marked the task complete
   if (TimeoutExceptionInjector.this.complete) return;
   // mark the task is run, to avoid repeats
   TimeoutExceptionInjector.this.complete = true;
  }
  long end = EnvironmentEdgeManager.currentTime();
  TimeoutException tee =  new TimeoutException(
    "Timeout caused Foreign Exception", start, end, maxTime);
  String source = "timer-" + timer;
  listener.receive(new ForeignException(source, tee));
 }
};
origin: apache/hbase

/**
 * Test that a manually triggered timer fires an exception.
 */
@Test
public void testTimerTrigger() {
 final long time = 10000000; // pick a value that is very far in the future
 ForeignExceptionListener listener = Mockito.mock(ForeignExceptionListener.class);
 TimeoutExceptionInjector timer = new TimeoutExceptionInjector(listener, time);
 timer.start();
 timer.trigger();
 Mockito.verify(listener, Mockito.times(1)).receive(Mockito.any());
}
origin: apache/hbase

/**
 * Test that a manually triggered exception with data fires with the data in receiveError.
 */
@Test
public void testTimerPassesOnErrorInfo() {
 final long time = 1000000;
 ForeignExceptionListener listener = Mockito.mock(ForeignExceptionListener.class);
 TimeoutExceptionInjector timer = new TimeoutExceptionInjector(listener, time);
 timer.start();
 timer.trigger();
 Mockito.verify(listener).receive(Mockito.any());
}
origin: apache/hbase

 /**
  * Test that the dispatcher can receive an error via the timer mechanism.
  */
 @Test
 public void testAttemptTimer() {
  ForeignExceptionListener listener1 = Mockito.mock(ForeignExceptionListener.class);
  ForeignExceptionListener listener2 = Mockito.mock(ForeignExceptionListener.class);
  ForeignExceptionDispatcher orchestrator = new ForeignExceptionDispatcher();

  // add the listeners
  orchestrator.addListener(listener1);
  orchestrator.addListener(listener2);

  // now create a timer and check for that error
  TimeoutExceptionInjector timer = new TimeoutExceptionInjector(orchestrator, 1000);
  timer.start();
  timer.trigger();
  // make sure that we got the timer error
  Mockito.verify(listener1, Mockito.times(1)).receive(Mockito.any());
  Mockito.verify(listener2, Mockito.times(1)).receive(Mockito.any());
 }
}
origin: apache/hbase

 /**
  * Demonstrate TimeoutExceptionInjector semantics -- triggering fires exception and completes
  * the timer.
  */
 @Test
 public void testStartAfterTrigger() throws InterruptedException {
  final long time = 10;
  ForeignExceptionListener listener = Mockito.mock(ForeignExceptionListener.class);
  TimeoutExceptionInjector timer = new TimeoutExceptionInjector(listener, time);
  timer.trigger();
  try {
   timer.start();
   fail("Timer should fail to start after complete.");
  } catch (IllegalStateException e) {
   LOG.debug("Correctly failed timer: " + e.getMessage());
  }
  Thread.sleep(time * 2);
  Mockito.verify(listener, Mockito.times(1)).receive(Mockito.any());
  Mockito.verifyNoMoreInteractions(listener);
 }
}
origin: apache/hbase

@Test
public void testSingleDispatcherWithTimer() {
 ForeignExceptionListener listener1 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionListener listener2 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionDispatcher monitor = new ForeignExceptionDispatcher();
 // add the listeners
 monitor.addListener(listener1);
 monitor.addListener(listener2);
 TimeoutExceptionInjector timer = new TimeoutExceptionInjector(monitor, 1000);
 timer.start();
 timer.trigger();
 assertTrue("Monitor didn't get timeout", monitor.hasException());
 // verify that that we propagated the error
 Mockito.verify(listener1).receive(Mockito.any());
 Mockito.verify(listener2).receive(Mockito.any());
}
origin: apache/hbase

/**
 * Tests that a dispatcher only dispatches only the first exception, and does not propagate
 * subsequent exceptions.
 */
@Test
public void testErrorPropagation() {
 ForeignExceptionListener listener1 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionListener listener2 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionDispatcher dispatcher = new ForeignExceptionDispatcher();
 // add the listeners
 dispatcher.addListener(listener1);
 dispatcher.addListener(listener2);
 // create an artificial error
 dispatcher.receive(EXTEXN);
 // make sure the listeners got the error
 Mockito.verify(listener1, Mockito.times(1)).receive(EXTEXN);
 Mockito.verify(listener2, Mockito.times(1)).receive(EXTEXN);
 // make sure that we get an exception
 try {
  dispatcher.rethrowException();
  fail("Monitor should have thrown an exception after getting error.");
 } catch (ForeignException ex) {
  assertTrue("Got an unexpected exception:" + ex, ex.getCause() == EXTEXN.getCause());
  LOG.debug("Got the testing exception!");
 }
 // push another error, which should be not be passed to listeners
 dispatcher.receive(EXTEXN2);
 Mockito.verify(listener1, Mockito.never()).receive(EXTEXN2);
 Mockito.verify(listener2, Mockito.never()).receive(EXTEXN2);
}
origin: co.cask.hbase/hbase

/**
 * Sends an exception to all listeners.
 * @param message human readable message passed to the listener
 * @param e {@link ForeignException} containing the cause.  Can be null.
 */
private void dispatch(ForeignException e) {
 // update all the listeners with the passed error
 for (ForeignExceptionListener l: listeners) {
  l.receive(e);
 }
}
origin: harbby/presto-connectors

/**
 * Sends an exception to all listeners.
 * @param message human readable message passed to the listener
 * @param e {@link ForeignException} containing the cause.  Can be null.
 */
private void dispatch(ForeignException e) {
 // update all the listeners with the passed error
 for (ForeignExceptionListener l: listeners) {
  l.receive(e);
 }
}
origin: co.cask.hbase/hbase

 @Override
 public void run() {
  // ensure we don't run this task multiple times
  synchronized (this) {
   // quick exit if we already marked the task complete
   if (TimeoutExceptionInjector.this.complete) return;
   // mark the task is run, to avoid repeats
   TimeoutExceptionInjector.this.complete = true;
  }
  long end = EnvironmentEdgeManager.currentTimeMillis();
  TimeoutException tee =  new TimeoutException(
    "Timeout caused Foreign Exception", start, end, maxTime);
  String source = "timer-" + timer;
  listener.receive(new ForeignException(source, tee));
 }
};
origin: harbby/presto-connectors

 @Override
 public void run() {
  // ensure we don't run this task multiple times
  synchronized (this) {
   // quick exit if we already marked the task complete
   if (TimeoutExceptionInjector.this.complete) return;
   // mark the task is run, to avoid repeats
   TimeoutExceptionInjector.this.complete = true;
  }
  long end = EnvironmentEdgeManager.currentTime();
  TimeoutException tee =  new TimeoutException(
    "Timeout caused Foreign Exception", start, end, maxTime);
  String source = "timer-" + timer;
  listener.receive(new ForeignException(source, tee));
 }
};
origin: org.apache.hbase/hbase-server

/**
 * Test that a manually triggered timer fires an exception.
 */
@Test
public void testTimerTrigger() {
 final long time = 10000000; // pick a value that is very far in the future
 ForeignExceptionListener listener = Mockito.mock(ForeignExceptionListener.class);
 TimeoutExceptionInjector timer = new TimeoutExceptionInjector(listener, time);
 timer.start();
 timer.trigger();
 Mockito.verify(listener, Mockito.times(1)).receive(Mockito.any());
}
origin: org.apache.hbase/hbase-server

/**
 * Test that a manually triggered exception with data fires with the data in receiveError.
 */
@Test
public void testTimerPassesOnErrorInfo() {
 final long time = 1000000;
 ForeignExceptionListener listener = Mockito.mock(ForeignExceptionListener.class);
 TimeoutExceptionInjector timer = new TimeoutExceptionInjector(listener, time);
 timer.start();
 timer.trigger();
 Mockito.verify(listener).receive(Mockito.any());
}
origin: org.apache.hbase/hbase-server

 /**
  * Test that the dispatcher can receive an error via the timer mechanism.
  */
 @Test
 public void testAttemptTimer() {
  ForeignExceptionListener listener1 = Mockito.mock(ForeignExceptionListener.class);
  ForeignExceptionListener listener2 = Mockito.mock(ForeignExceptionListener.class);
  ForeignExceptionDispatcher orchestrator = new ForeignExceptionDispatcher();

  // add the listeners
  orchestrator.addListener(listener1);
  orchestrator.addListener(listener2);

  // now create a timer and check for that error
  TimeoutExceptionInjector timer = new TimeoutExceptionInjector(orchestrator, 1000);
  timer.start();
  timer.trigger();
  // make sure that we got the timer error
  Mockito.verify(listener1, Mockito.times(1)).receive(Mockito.any());
  Mockito.verify(listener2, Mockito.times(1)).receive(Mockito.any());
 }
}
origin: org.apache.hbase/hbase-server

 /**
  * Demonstrate TimeoutExceptionInjector semantics -- triggering fires exception and completes
  * the timer.
  */
 @Test
 public void testStartAfterTrigger() throws InterruptedException {
  final long time = 10;
  ForeignExceptionListener listener = Mockito.mock(ForeignExceptionListener.class);
  TimeoutExceptionInjector timer = new TimeoutExceptionInjector(listener, time);
  timer.trigger();
  try {
   timer.start();
   fail("Timer should fail to start after complete.");
  } catch (IllegalStateException e) {
   LOG.debug("Correctly failed timer: " + e.getMessage());
  }
  Thread.sleep(time * 2);
  Mockito.verify(listener, Mockito.times(1)).receive(Mockito.any());
  Mockito.verifyNoMoreInteractions(listener);
 }
}
origin: org.apache.hbase/hbase-server

/**
 * Tests that a dispatcher only dispatches only the first exception, and does not propagate
 * subsequent exceptions.
 */
@Test
public void testErrorPropagation() {
 ForeignExceptionListener listener1 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionListener listener2 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionDispatcher dispatcher = new ForeignExceptionDispatcher();
 // add the listeners
 dispatcher.addListener(listener1);
 dispatcher.addListener(listener2);
 // create an artificial error
 dispatcher.receive(EXTEXN);
 // make sure the listeners got the error
 Mockito.verify(listener1, Mockito.times(1)).receive(EXTEXN);
 Mockito.verify(listener2, Mockito.times(1)).receive(EXTEXN);
 // make sure that we get an exception
 try {
  dispatcher.rethrowException();
  fail("Monitor should have thrown an exception after getting error.");
 } catch (ForeignException ex) {
  assertTrue("Got an unexpected exception:" + ex, ex.getCause() == EXTEXN.getCause());
  LOG.debug("Got the testing exception!");
 }
 // push another error, which should be not be passed to listeners
 dispatcher.receive(EXTEXN2);
 Mockito.verify(listener1, Mockito.never()).receive(EXTEXN2);
 Mockito.verify(listener2, Mockito.never()).receive(EXTEXN2);
}
origin: org.apache.hbase/hbase-server

@Test
public void testSingleDispatcherWithTimer() {
 ForeignExceptionListener listener1 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionListener listener2 = Mockito.mock(ForeignExceptionListener.class);
 ForeignExceptionDispatcher monitor = new ForeignExceptionDispatcher();
 // add the listeners
 monitor.addListener(listener1);
 monitor.addListener(listener2);
 TimeoutExceptionInjector timer = new TimeoutExceptionInjector(monitor, 1000);
 timer.start();
 timer.trigger();
 assertTrue("Monitor didn't get timeout", monitor.hasException());
 // verify that that we propagated the error
 Mockito.verify(listener1).receive(Mockito.any());
 Mockito.verify(listener2).receive(Mockito.any());
}
org.apache.hadoop.hbase.errorhandlingForeignExceptionListener

Javadoc

The ForeignExceptionListener is an interface for objects that can receive a ForeignException.

Implementations must be thread-safe, because this is expected to be used to propagate exceptions from foreign threads.

Most used methods

  • receive
    Receive a ForeignException. Implementers must ensure that this method is thread-safe.

Popular in Java

  • Updating database using SQL prepared statement
  • onCreateOptionsMenu (Activity)
  • setRequestProperty (URLConnection)
  • onRequestPermissionsResult (Fragment)
  • HttpServer (com.sun.net.httpserver)
    This class implements a simple HTTP server. A HttpServer is bound to an IP address and port number a
  • FlowLayout (java.awt)
    A flow layout arranges components in a left-to-right flow, much like lines of text in a paragraph. F
  • InputStream (java.io)
    A readable source of bytes.Most clients will use input streams that read data from the file system (
  • GregorianCalendar (java.util)
    GregorianCalendar is a concrete subclass of Calendarand provides the standard calendar used by most
  • ReentrantLock (java.util.concurrent.locks)
    A reentrant mutual exclusion Lock with the same basic behavior and semantics as the implicit monitor
  • Location (org.springframework.beans.factory.parsing)
    Class that models an arbitrary location in a Resource.Typically used to track the location of proble
  • Best IntelliJ plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now