Skip to content

Commit

Permalink
ISPN-3076 Upgrade to JBoss Logging 3.2.1
Browse files Browse the repository at this point in the history
- Also migrate code to use log4j 2.x
- Bump Karaf to 3.0.4
- Bump Pax Exam to 3.5.0
- Update Hibernate dependencies
  • Loading branch information
tristantarrant authored and danberindei committed Jul 24, 2015
1 parent 02f2367 commit f05326b
Show file tree
Hide file tree
Showing 24 changed files with 518 additions and 326 deletions.
1 change: 1 addition & 0 deletions all/embedded/src/main/resources/features.xml
Expand Up @@ -18,6 +18,7 @@
<bundle>mvn:org.hibernate/hibernate-osgi/${version.hibernate.osgi}</bundle>
<bundle>mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/${version.hibernate.javax.persistence}</bundle>
<!-- hibernate's dependencies -->
<bundle>mvn:org.apache.logging.log4j/log4j-api/2.0</bundle>
<bundle>mvn:org.jboss.logging/jboss-logging/${version.jboss.logging}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${version.hibernate_dep.antlr}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${version.hibernate_dep.dom4j}</bundle>
Expand Down
4 changes: 2 additions & 2 deletions bom/pom.xml
Expand Up @@ -66,12 +66,12 @@
<version.commons.pool>1.6</version.commons.pool>
<version.gnu.getopt>1.0.13</version.gnu.getopt>
<version.hibernate.javax.persistence>1.0.0.Final</version.hibernate.javax.persistence>
<version.hibernate.core>4.3.8.Final</version.hibernate.core>
<version.hibernate.core>4.3.10.Final</version.hibernate.core>
<version.hibernate.search>5.3.0.Final</version.hibernate.search>
<version.javax.cache>1.0.0</version.javax.cache>
<version.cdi>1.0-SP4</version.cdi>
<version.jboss.marshalling>1.4.10.Final</version.jboss.marshalling>
<version.jboss.logging>3.1.4.GA</version.jboss.logging>
<version.jboss.logging>3.2.1.Final</version.jboss.logging>
<version.jgroups>3.6.4.Final</version.jgroups>
<version.jta>1.0.1.Final</version.jta>
<version.netty>4.0.25.Final</version.netty>
Expand Down
1 change: 1 addition & 0 deletions commons/src/main/resources/features.xml
Expand Up @@ -4,5 +4,6 @@
<bundle>mvn:org.infinispan/infinispan-commons/${project.version}</bundle>
<bundle>mvn:org.jboss.logging/jboss-logging/${version.jboss.logging}</bundle>
<bundle>mvn:org.jboss.marshalling/jboss-marshalling-osgi/${version.jboss.marshalling}</bundle>
<bundle>mvn:org.apache.logging.log4j/log4j-api/2.0</bundle>
</feature>
</features>
Expand Up @@ -269,7 +269,7 @@ public void handleClusterView(boolean mergeView, int newViewId) {
boolean becameCoordinator = !isCoordinator && transport.isCoordinator();
isCoordinator = transport.isCoordinator();
if (trace) {
log.tracef("Received new cluster view: %d, isCoordinator = %s, becameCoordinator = %s", newViewId,
log.tracef("Received new cluster view: %d, isCoordinator = %s, becameCoordinator = %s", (Object)newViewId,
isCoordinator, becameCoordinator);
}
mustRecoverClusterStatus |= mergeView || becameCoordinator;
Expand Down
@@ -1,23 +1,26 @@
package org.infinispan.configuration;

import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.spi.LoggingEvent;
import java.io.File;
import java.io.FilenameFilter;

import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.appender.AbstractAppender;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.test.AbstractInfinispanTest;
import org.infinispan.test.TestingUtil;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;

/**
* Tests the correctness of the supplied configuration files.
*
Expand All @@ -29,24 +32,28 @@ public class SampleConfigFilesCorrectnessTest extends AbstractInfinispanTest {

public String configRoot;
private InMemoryAppender appender;
private Level oldLevel;

@BeforeClass
public void installInMemoryAppender() {
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
final Configuration config = ctx.getConfiguration();
config.addAppender(new InMemoryAppender());
}

@BeforeMethod
public void setUpTest() {
Logger log4jLogger = Logger.getRootLogger();
oldLevel = log4jLogger.getLevel();
log4jLogger.setLevel(Level.WARN);
appender = new InMemoryAppender();
log4jLogger.addAppender(appender);
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
final Configuration config = ctx.getConfiguration();
appender = (InMemoryAppender) config.getAppender("InMemory");
appender.enable(Thread.currentThread());
ctx.updateLoggers();
configRoot = "../distribution/src/main/release/common/configs/config-samples".replace('/', File.separatorChar);
}

@AfterMethod
public void tearDownTest() {
Logger log4jLogger = Logger.getRootLogger();
log4jLogger.setLevel(oldLevel);
log4jLogger.removeAppender(appender);
appender.close();
appender.disable();

}


Expand Down Expand Up @@ -96,7 +103,15 @@ private File getRootFolder() {
return file;
}

private static class InMemoryAppender extends AppenderSkeleton {
private static class InMemoryAppender extends AbstractAppender {

/** The serialVersionUID */
private static final long serialVersionUID = 1L;

protected InMemoryAppender() {
super("InMemory", null, PatternLayout.createDefaultLayout());
}

String[] TOLERABLE_WARNINGS =
{
"Falling back to DummyTransactionManager from Infinispan",
Expand All @@ -111,41 +126,22 @@ private static class InMemoryAppender extends AppenderSkeleton {
"unable to find an address other than loopback for IP version IPv4",
"Partition handling doesn't work for replicated caches, it will be ignored"
};
String unknownWarning;
String unknownWarning = null;

/**
* As this test runs in parallel with other tests tha also log information, we should disregard other possible
* As this test runs in parallel with other tests that also log information, we should disregard other possible
* warnings from other threads and only consider warnings issues within this test class's test.
*
* @see #isExpectedThread()
*/
private Thread loggerThread = Thread.currentThread();
private Thread loggerThread = null;

@Override
protected void append(LoggingEvent event) {
if (event.getLevel().equals(Level.WARN) && isExpectedThread()) {
boolean skipPrinting = false;
for (String knownWarn : TOLERABLE_WARNINGS) {
if (event.getMessage().toString().indexOf(knownWarn) >= 0)
skipPrinting = true;
}

if (!skipPrinting) {
unknownWarning = event.getMessage().toString();
log.tracef("InMemoryAppender: %s", event.getMessage().toString());
log.tracef("TOLERABLE_WARNINGS: %s", Arrays.toString(TOLERABLE_WARNINGS));
}
}
public void disable() {
loggerThread = null;
}

@Override
public boolean requiresLayout() {
return false;
}

@Override
public void close() {
//do nothing
public void enable(Thread thread) {
loggerThread = thread;
}

public boolean isFoundUnknownWarning() {
Expand All @@ -157,7 +153,22 @@ public String unknownWarning() {
}

public boolean isExpectedThread() {
return loggerThread.equals(Thread.currentThread());
return loggerThread != null && loggerThread.equals(Thread.currentThread());
}

@Override
public void append(LogEvent event) {
if (event.getLevel().equals(Level.WARN) && isExpectedThread()) {
boolean skipPrinting = false;
for (String knownWarn : TOLERABLE_WARNINGS) {
if (event.getMessage().toString().indexOf(knownWarn) >= 0)
skipPrinting = true;
}

if (!skipPrinting) {
unknownWarning = event.getMessage().toString();
}
}
}
}
}
@@ -1,6 +1,5 @@
package org.infinispan.distribution.rehash;

import org.apache.log4j.Logger;
import org.infinispan.Cache;
import org.infinispan.distexec.DefaultExecutorService;
import org.infinispan.distexec.DistributedCallable;
Expand All @@ -9,6 +8,7 @@
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.test.AbstractInfinispanTest;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.jboss.logging.Logger;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;

Expand Down
Expand Up @@ -424,7 +424,7 @@ public void testConsistencyWhenNodeLeaves() {
assertDistribution(numOwners, chMembers);

for (Address addr : chMembers) {
log.debugf("Removing node %s" + addr);
log.debugf("Removing node %s", addr);
List<Address> addressCopy = new ArrayList<Address>(chMembers);
addressCopy.remove(addr);
DefaultConsistentHash newCH = chf.updateMembers(ch, addressCopy, null);
Expand Down
Expand Up @@ -7,13 +7,11 @@
import org.infinispan.metadata.Metadata;
import org.infinispan.statetransfer.StateTransferLock;
import org.infinispan.test.AbstractInfinispanTest;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.Callable;

import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
Expand Down Expand Up @@ -176,7 +174,7 @@ public void testSpawnedThreadBlockingNullValueTimeWait() throws InterruptedExcep

@Test
public void testSpawnedThreadBlockingException() throws InterruptedException, ExecutionException, TimeoutException {
Throwable t = mock(Throwable.class);
Throwable t = new Exception();

Future future = fork(() -> sync.get());

Expand All @@ -200,7 +198,7 @@ public void testSpawnedThreadBlockingException() throws InterruptedException, Ex

@Test
public void testSpawnedThreadBlockingExceptionTimeWait() throws InterruptedException, ExecutionException, TimeoutException {
Throwable t = mock(Throwable.class);
Throwable t = new Exception();

Future future = fork(() -> sync.get(5, TimeUnit.SECONDS));

Expand Down
Expand Up @@ -58,7 +58,7 @@ protected void killSpawnedThreads() {
protected void checkThreads() {
int activeTasks = defaultExecutorService.getActiveCount();
if (activeTasks != 0) {
log.errorf("There were %i active tasks found in the test executor service for class %s", activeTasks,
log.errorf("There were %d active tasks found in the test executor service for class %s", activeTasks,
getClass().getSimpleName());
}
}
Expand Down Expand Up @@ -445,7 +445,7 @@ public ThreadCleaner(Thread thread) {
@Override
public void close() {
if (ref.isAlive() && !ref.isInterrupted()) {
log.warnf("There was a thread % still alive after test completion - interrupted it",
log.warnf("There was a thread %s still alive after test completion - interrupted it",
ref);
ref.interrupt();
}
Expand Down

0 comments on commit f05326b

Please sign in to comment.