You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2015/08/12 13:42:30 UTC
svn commit: r1695483 - in /qpid/java/trunk:
bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/
broker-core/src/main/java/org/apache/qpid/server/model/
broker-core/src/main/java/org/apache/qpid/server/queue/
broker-core/src/main/java/...
Author: kwall
Date: Wed Aug 12 11:42:29 2015
New Revision: 1695483
URL: http://svn.apache.org/r1695483
Log:
QPID-6608: [Java Broker] Uncaught exceptions in the vhost now cause the broker to shutdown
work by Lorenz Quack <qu...@gmail.com> and Keith Wall
Modified:
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueRunner.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java Wed Aug 12 11:42:29 2015
@@ -57,6 +57,8 @@ import org.apache.qpid.server.transport.
import org.apache.qpid.server.txn.DtxRegistry;
import org.apache.qpid.server.virtualhost.*;
+import javax.security.auth.Subject;
+
/**
Object that represents the VirtualHost whilst the VirtualHostNode is in the replica role. The
real virtualhost will be elsewhere in the group.
@@ -129,7 +131,7 @@ public class BDBHAReplicaVirtualHostImpl
}
@Override
- public void executeTask(Runnable task)
+ public void executeTask(Runnable task, Subject subject)
{
throwUnsupportedForReplica();
}
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java Wed Aug 12 11:42:29 2015
@@ -32,6 +32,8 @@ import org.apache.qpid.server.store.Mess
import org.apache.qpid.server.transport.AMQPConnection;
import org.apache.qpid.server.virtualhost.VirtualHostConnectionListener;
+import javax.security.auth.Subject;
+
@ManagedObject( defaultType = "ProvidedStore", description = VirtualHost.CLASS_DESCRIPTION)
public interface VirtualHost<X extends VirtualHost<X, Q, E>, Q extends Queue<?>, E extends Exchange<?> > extends ConfiguredObject<X>
{
@@ -118,7 +120,7 @@ public interface VirtualHost<X extends V
@ManagedContextDefault( name = "virtualhost.enabledConnectionValidators")
String DEFAULT_ENABLED_VALIDATORS = "[]";
- void executeTask(Runnable task);
+ void executeTask(Runnable task, Subject subject);
@ManagedAttribute( defaultValue = "${virtualhost.enabledConnectionValidators}")
List<String> getEnabledConnectionValidators();
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Wed Aug 12 11:42:29 2015
@@ -278,7 +278,7 @@ public abstract class AbstractQueue<X ex
private final ConcurrentLinkedQueue<EnqueueRequest> _postRecoveryQueue = new ConcurrentLinkedQueue<>();
- private final QueueRunner _queueRunner = new QueueRunner(this);
+ private final QueueRunner _queueRunner;
private boolean _closing;
private final ConcurrentMap<String,Task<MessageFilter>> _defaultFiltersMap = new ConcurrentHashMap<>();
@@ -287,6 +287,7 @@ public abstract class AbstractQueue<X ex
super(parentsMap(virtualHost), attributes);
_virtualHost = virtualHost;
+ _queueRunner = new QueueRunner(this, _virtualHost.getPrincipal());
}
@Override
@@ -557,26 +558,23 @@ public abstract class AbstractQueue<X ex
// ------ Getters and Setters
- public void execute(Runnable runnable)
+ public void execute(Runnable runnable, Subject subject)
{
try
{
-
if (_virtualHost.getState() != State.UNAVAILABLE)
{
- _virtualHost.executeTask(runnable);
+ _virtualHost.executeTask(runnable, subject);
}
}
catch (RejectedExecutionException ree)
{
- // Ignore - SubFlusherRunner or QueueRunner submitted execution as queue was being stopped.
+ // Ignore - QueueRunner submitted execution as queue was being stopped.
if(!_stopped.get())
{
_logger.error("Unexpected rejected execution", ree);
throw ree;
-
}
-
}
}
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueRunner.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueRunner.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueRunner.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueRunner.java Wed Aug 12 11:42:29 2015
@@ -20,7 +20,7 @@
*/
package org.apache.qpid.server.queue;
-import java.security.PrivilegedAction;
+import java.security.Principal;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
@@ -56,60 +56,55 @@ public class QueueRunner implements Runn
private final AtomicLong _lastRunAgain = new AtomicLong();
private final AtomicLong _lastRunTime = new AtomicLong();
+ private final Subject _subject;
- public QueueRunner(AbstractQueue queue)
+ public QueueRunner(AbstractQueue queue, Principal principal)
{
_queue = queue;
+ _subject = SecurityManager.getSystemTaskSubject("Queue Delivery", principal);
}
+ @Override
public void run()
{
if(_scheduled.compareAndSet(SCHEDULED,RUNNING))
{
- Subject.doAs(SecurityManager.getSystemTaskSubject("Queue Delivery", _queue.getVirtualHost().getPrincipal()), new PrivilegedAction<Object>()
+ long runAgain = Long.MIN_VALUE;
+ _stateChange.set(false);
+ try
{
- @Override
- public Object run()
+ runAgain = _queue.processQueue(QueueRunner.this);
+ }
+ catch (ConnectionScopedRuntimeException | TransportException e)
+ {
+ final String errorMessage = "Problem during asynchronous delivery by " + toString();
+ if(_logger.isDebugEnabled())
{
- long runAgain = Long.MIN_VALUE;
- _stateChange.set(false);
- try
- {
- runAgain = _queue.processQueue(QueueRunner.this);
- }
- catch (ConnectionScopedRuntimeException | TransportException e)
- {
- final String errorMessage = "Problem during asynchronous delivery by " + toString();
- if(_logger.isDebugEnabled())
- {
- _logger.debug(errorMessage, e);
- }
- else
- {
- _logger.info(errorMessage + ' ' + e.getMessage());
- }
- }
- finally
+ _logger.debug(errorMessage, e);
+ }
+ else
+ {
+ _logger.info(errorMessage + ' ' + e.getMessage());
+ }
+ }
+ finally
+ {
+ _scheduled.compareAndSet(RUNNING, IDLE);
+ final long stateChangeCount = _queue.getStateChangeCount();
+ _lastRunAgain.set(runAgain);
+ _lastRunTime.set(System.nanoTime());
+ if(runAgain == 0L || runAgain != stateChangeCount || _stateChange.compareAndSet(true,false))
+ {
+ if(_scheduled.compareAndSet(IDLE, SCHEDULED))
{
- _scheduled.compareAndSet(RUNNING, IDLE);
- final long stateChangeCount = _queue.getStateChangeCount();
- _lastRunAgain.set(runAgain);
- _lastRunTime.set(System.nanoTime());
- if(runAgain == 0L || runAgain != stateChangeCount || _stateChange.compareAndSet(true,false))
- {
- if(_scheduled.compareAndSet(IDLE, SCHEDULED))
- {
- _queue.execute(QueueRunner.this);
- }
- }
+ _queue.execute(QueueRunner.this, _subject);
}
- return null;
}
-
- });
+ }
}
}
+ @Override
public String toString()
{
return "QueueRunner-" + _queue.getLogSubject().toLogString();
@@ -120,7 +115,7 @@ public class QueueRunner implements Runn
_stateChange.set(true);
if(_scheduled.compareAndSet(IDLE, SCHEDULED))
{
- _queue.execute(this);
+ _queue.execute(this, _subject);
}
}
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java Wed Aug 12 11:42:29 2015
@@ -37,6 +37,8 @@ import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.*;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
@@ -48,6 +50,7 @@ import com.google.common.util.concurrent
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
+import org.apache.qpid.server.model.Connection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -119,7 +122,7 @@ public abstract class AbstractVirtualHos
private static final int HOUSEKEEPING_SHUTDOWN_TIMEOUT = 5;
- private ScheduledThreadPoolExecutor _houseKeepingTasks;
+ private ScheduledThreadPoolExecutor _houseKeepingTaskExecutor;
private final Broker<?> _broker;
@@ -561,15 +564,15 @@ public abstract class AbstractVirtualHos
protected void shutdownHouseKeeping()
{
- if(_houseKeepingTasks != null)
+ if(_houseKeepingTaskExecutor != null)
{
- _houseKeepingTasks.shutdown();
+ _houseKeepingTaskExecutor.shutdown();
try
{
- if (!_houseKeepingTasks.awaitTermination(HOUSEKEEPING_SHUTDOWN_TIMEOUT, TimeUnit.SECONDS))
+ if (!_houseKeepingTaskExecutor.awaitTermination(HOUSEKEEPING_SHUTDOWN_TIMEOUT, TimeUnit.SECONDS))
{
- _houseKeepingTasks.shutdownNow();
+ _houseKeepingTaskExecutor.shutdownNow();
}
}
catch (InterruptedException e)
@@ -582,10 +585,10 @@ public abstract class AbstractVirtualHos
protected void removeHouseKeepingTasks()
{
- BlockingQueue<Runnable> taskQueue = _houseKeepingTasks.getQueue();
+ BlockingQueue<Runnable> taskQueue = _houseKeepingTaskExecutor.getQueue();
for (final Runnable runnable : taskQueue)
{
- _houseKeepingTasks.remove(runnable);
+ _houseKeepingTaskExecutor.remove(runnable);
}
}
@@ -597,45 +600,51 @@ public abstract class AbstractVirtualHos
*/
public void scheduleHouseKeepingTask(long period, HouseKeepingTask task)
{
- _houseKeepingTasks.scheduleAtFixedRate(task, period / 2, period,
- TimeUnit.MILLISECONDS);
+ _houseKeepingTaskExecutor.scheduleAtFixedRate(task, period / 2, period, TimeUnit.MILLISECONDS);
}
public ScheduledFuture<?> scheduleTask(long delay, Runnable task)
{
- return _houseKeepingTasks.schedule(task, delay, TimeUnit.MILLISECONDS);
+ return _houseKeepingTaskExecutor.schedule(task, delay, TimeUnit.MILLISECONDS);
}
@Override
- public void executeTask(Runnable task)
+ public void executeTask(final Runnable task, Subject subject)
{
- _houseKeepingTasks.execute(task);
+ _houseKeepingTaskExecutor.execute(new HouseKeepingTask(this, subject)
+ {
+ @Override
+ public void execute()
+ {
+ task.run();
+ }
+ });
}
public long getHouseKeepingTaskCount()
{
- return _houseKeepingTasks.getTaskCount();
+ return _houseKeepingTaskExecutor.getTaskCount();
}
public long getHouseKeepingCompletedTaskCount()
{
- return _houseKeepingTasks.getCompletedTaskCount();
+ return _houseKeepingTaskExecutor.getCompletedTaskCount();
}
public int getHouseKeepingPoolSize()
{
- return _houseKeepingTasks.getCorePoolSize();
+ return _houseKeepingTaskExecutor.getCorePoolSize();
}
public void setHouseKeepingPoolSize(int newSize)
{
- _houseKeepingTasks.setCorePoolSize(newSize);
+ _houseKeepingTaskExecutor.setCorePoolSize(newSize);
}
public int getHouseKeepingActiveCount()
{
- return _houseKeepingTasks.getActiveCount();
+ return _houseKeepingTaskExecutor.getActiveCount();
}
@Override
@@ -1208,45 +1217,20 @@ public abstract class AbstractVirtualHos
{
if (q.getState() == State.ACTIVE)
{
- if (_logger.isDebugEnabled())
- {
- _logger.debug("Checking message status for queue: "
- + q.getName());
- }
- try
- {
- q.checkMessageStatus();
- }
- catch (Exception e)
- {
- _logger.error("Exception in housekeeping for queue: " + q.getName(), e);
- //Don't throw exceptions as this will stop the
- // house keeping task from running.
- }
+ _logger.debug("Checking message status for queue: {}", q.getName());
+ q.checkMessageStatus();
}
}
for (Connection<?> connection : _connections)
{
- if (_logger.isDebugEnabled())
- {
- _logger.debug("Checking for long running open transactions on connection " + connection);
- }
+ _logger.debug("Checking for long running open transactions on connection {}", connection);
for (AMQSessionModel<?> session : connection.getUnderlyingConnection().getSessionModels())
{
- if (_logger.isDebugEnabled())
- {
- _logger.debug("Checking for long running open transactions on session " + session);
- }
- try
- {
- session.checkTransactionStatus(getStoreTransactionOpenTimeoutWarn(),
- getStoreTransactionOpenTimeoutClose(),
- getStoreTransactionIdleTimeoutWarn(),
- getStoreTransactionIdleTimeoutClose());
- } catch (Exception e)
- {
- _logger.error("Exception in housekeeping for connection: " + connection.toString(), e);
- }
+ _logger.debug("Checking for long running open transactions on session {}", session);
+ session.checkTransactionStatus(getStoreTransactionOpenTimeoutWarn(),
+ getStoreTransactionOpenTimeoutClose(),
+ getStoreTransactionIdleTimeoutWarn(),
+ getStoreTransactionIdleTimeoutClose());
}
}
}
@@ -1843,8 +1827,51 @@ public abstract class AbstractVirtualHos
final SuppressingInheritedAccessControlContextThreadFactory housekeepingThreadFactory =
new SuppressingInheritedAccessControlContextThreadFactory("virtualhost-" + getName() + "-pool",
SecurityManager.getSystemTaskSubject("Housekeeping", getPrincipal()));
- _houseKeepingTasks = new ScheduledThreadPoolExecutor(getHousekeepingThreadCount(),
- housekeepingThreadFactory);
+ _houseKeepingTaskExecutor = new ScheduledThreadPoolExecutor(getHousekeepingThreadCount(), housekeepingThreadFactory){
+ @Override
+ protected void afterExecute(Runnable r, Throwable t)
+ {
+ super.afterExecute(r, t);
+ if (t == null && r instanceof Future<?>)
+ {
+ Future future = (Future<?>) r;
+ try
+ {
+ if (future.isDone())
+ {
+ Object result = future.get();
+ }
+ }
+ catch (CancellationException ce)
+ {
+ _logger.debug("Housekeeping task got cancelled");
+ // Ignore cancellation of task
+ }
+ catch (ExecutionException ee)
+ {
+ t = ee.getCause();
+ }
+ catch (InterruptedException ie)
+ {
+ Thread.currentThread().interrupt(); // ignore/reset
+ }
+ }
+ if (t != null)
+ {
+ _logger.error("Houskeeping task threw an exception:", t);
+
+ final Thread.UncaughtExceptionHandler uncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
+ if (uncaughtExceptionHandler != null)
+ {
+ uncaughtExceptionHandler.uncaughtException(Thread.currentThread(), t);
+ }
+ else
+ {
+ Runtime.getRuntime().halt(1);
+ }
+ }
+ }
+ };
final SuppressingInheritedAccessControlContextThreadFactory connectionThreadFactory =
new SuppressingInheritedAccessControlContextThreadFactory("virtualhost-" + getName() + "-iopool",
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java Wed Aug 12 11:42:29 2015
@@ -24,24 +24,30 @@ import java.security.PrivilegedAction;
import javax.security.auth.Subject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.security.SecurityManager;
public abstract class HouseKeepingTask implements Runnable
{
- private Logger _logger = LoggerFactory.getLogger(this.getClass());
-
- private String _name;
-
+ private final String _name;
private final Subject _subject;
public HouseKeepingTask(VirtualHost vhost)
{
+ this(vhost, null);
+ }
+
+ public HouseKeepingTask(VirtualHost vhost, Subject subject)
+ {
_name = vhost.getName() + ":" + this.getClass().getSimpleName();
- _subject = SecurityManager.getSystemTaskSubject(_name, vhost.getPrincipal());
+ if (subject == null)
+ {
+ _subject = SecurityManager.getSystemTaskSubject(_name, vhost.getPrincipal());
+ }
+ else
+ {
+ _subject = subject;
+ }
}
final public void run()
@@ -56,14 +62,7 @@ public abstract class HouseKeepingTask i
@Override
public Object run()
{
- try
- {
- execute();
- }
- catch (Exception e)
- {
- _logger.warn(this.getClass().getSimpleName() + " throw exception: " + e, e);
- }
+ execute();
return null;
}
});
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java Wed Aug 12 11:42:29 2015
@@ -58,6 +58,8 @@ import org.apache.qpid.server.transport.
import org.apache.qpid.server.txn.DtxRegistry;
import org.apache.qpid.server.virtualhost.*;
+import javax.security.auth.Subject;
+
@ManagedObject( category = false, type = RedirectingVirtualHostImpl.TYPE, register = false )
class RedirectingVirtualHostImpl
extends AbstractConfiguredObject<RedirectingVirtualHostImpl>
@@ -130,7 +132,7 @@ class RedirectingVirtualHostImpl
}
@Override
- public void executeTask(Runnable task)
+ public void executeTask(Runnable task, Subject subject)
{
throwUnsupportedForRedirector();
}
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java Wed Aug 12 11:42:29 2015
@@ -23,6 +23,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.security.Principal;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@@ -67,6 +68,7 @@ public class LastValueQueueListTest exte
ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
when(virtualHost.getObjectFactory()).thenReturn(factory);
when(virtualHost.getModel()).thenReturn(factory.getModel());
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java Wed Aug 12 11:42:29 2015
@@ -24,6 +24,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.security.Principal;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@@ -68,6 +69,7 @@ public class PriorityQueueListTest exten
ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
when(virtualHost.getObjectFactory()).thenReturn(factory);
when(virtualHost.getModel()).thenReturn(factory.getModel());
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java Wed Aug 12 11:42:29 2015
@@ -23,6 +23,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.lang.reflect.Field;
+import java.security.Principal;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@@ -245,6 +246,7 @@ public abstract class QueueEntryImplTest
ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
when(virtualHost.getObjectFactory()).thenReturn(factory);
when(virtualHost.getModel()).thenReturn(factory.getModel());
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java Wed Aug 12 11:42:29 2015
@@ -24,6 +24,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.security.Principal;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@@ -57,6 +58,7 @@ public class SimpleQueueEntryImplTest ex
ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
when(virtualHost.getObjectFactory()).thenReturn(factory);
when(virtualHost.getModel()).thenReturn(factory.getModel());
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java Wed Aug 12 11:42:29 2015
@@ -24,6 +24,7 @@ import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.security.Principal;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -96,6 +97,7 @@ public class SortedQueueEntryListTest ex
ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
when(virtualHost.getObjectFactory()).thenReturn(factory);
when(virtualHost.getModel()).thenReturn(factory.getModel());
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java Wed Aug 12 11:42:29 2015
@@ -24,6 +24,7 @@ import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.security.Principal;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -66,6 +67,7 @@ public class SortedQueueEntryTest extend
ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
when(virtualHost.getObjectFactory()).thenReturn(factory);
when(virtualHost.getModel()).thenReturn(factory.getModel());
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java Wed Aug 12 11:42:29 2015
@@ -24,6 +24,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.security.Principal;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@@ -69,6 +70,7 @@ public class StandardQueueEntryListTest
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
_testQueue = new StandardQueueImpl(queueAttributes, virtualHost);
_testQueue.open();
_sqel = _testQueue.getEntries();
@@ -118,6 +120,7 @@ public class StandardQueueEntryListTest
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
when(virtualHost.getObjectFactory()).thenReturn(_factory);
when(virtualHost.getModel()).thenReturn(_factory.getModel());
+ when(virtualHost.getPrincipal()).thenReturn(mock(Principal.class));
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(virtualHost.getTaskExecutor()).thenReturn(taskExecutor);
when(virtualHost.getChildExecutor()).thenReturn(taskExecutor);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueTest.java Wed Aug 12 11:42:29 2015
@@ -20,6 +20,7 @@
*/
package org.apache.qpid.server.queue;
+import java.security.Principal;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.HashMap;
@@ -38,6 +39,8 @@ import org.apache.qpid.server.model.Queu
import org.apache.qpid.server.store.MessageEnqueueRecord;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
+import static org.mockito.Mockito.mock;
+
public class StandardQueueTest extends AbstractQueueTestBase
{
@@ -216,7 +219,7 @@ public class StandardQueueTest extends A
ConsumerImpl.Option.SEES_REQUEUES));
// process queue
- testQueue.processQueue(new QueueRunner(testQueue)
+ testQueue.processQueue(new QueueRunner(testQueue, mock(Principal.class))
{
public void run()
{
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java?rev=1695483&r1=1695482&r2=1695483&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java Wed Aug 12 11:42:29 2015
@@ -63,7 +63,6 @@ public class HouseKeepingTaskTest extend
public void execute()
{
_threadNameDuringExecution = Thread.currentThread().getName(); // store current thread name so we can assert it later
- throw new RuntimeException("deliberate exception to check that thread name still gets reverted");
}
public String getThreadNameDuringExecution()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org