You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by dj...@apache.org on 2013/04/22 08:44:33 UTC
svn commit: r1470397 - in
/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager:
AbstractComponentManager.java ComponentContextImpl.java
DependencyManager.java ImmediateComponentManager.java
RegistrationManager.java
Author: djencks
Date: Mon Apr 22 06:44:33 2013
New Revision: 1470397
URL: http://svn.apache.org/r1470397
Log:
FELIX-4020 improve logging consistency
Modified:
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegistrationManager.java
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java?rev=1470397&r1=1470396&r2=1470397&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java Mon Apr 22 06:44:33 2013
@@ -187,6 +187,7 @@ public abstract class AbstractComponentM
catch ( InterruptedException e )
{
Thread.currentThread().interrupt();
+ dumpThreads();
//TODO this is so wrong
throw new IllegalStateException( "Could not obtain lock (Reason: " + e + ")" );
}
@@ -217,11 +218,11 @@ public abstract class AbstractComponentM
try
{
String dump = new ThreadDump().call();
- log( LogService.LOG_ERROR, dump, null );
+ log( LogService.LOG_DEBUG, dump, null );
}
catch ( Throwable t )
{
- log( LogService.LOG_ERROR, "Could not dump threads", t );
+ log( LogService.LOG_DEBUG, "Could not dump threads", t );
}
}
@@ -280,6 +281,7 @@ public abstract class AbstractComponentM
catch ( InterruptedException e )
{
Thread.currentThread().interrupt();
+ dumpThreads();
}
}
}
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java?rev=1470397&r1=1470396&r2=1470397&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java Mon Apr 22 06:44:33 2013
@@ -188,6 +188,7 @@ public class ComponentContextImpl<S> imp
catch ( InterruptedException e )
{
Thread.currentThread().interrupt();
+ getComponentManager().dumpThreads();
return null;
}
return null;
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java?rev=1470397&r1=1470396&r2=1470397&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java Mon Apr 22 06:44:33 2013
@@ -1638,7 +1638,7 @@ public class DependencyManager<S, T> imp
{
if (!info.getOpenLatch().await( getLockTimeout(), TimeUnit.MILLISECONDS ))
{
- m_componentManager.log( LogService.LOG_WARNING,
+ m_componentManager.log( LogService.LOG_ERROR,
"DependencyManager : invokeUpdatedMethod : timeout on open latch {0}", new Object[] {getName()}, null );
m_componentManager.dumpThreads();
}
@@ -1646,6 +1646,8 @@ public class DependencyManager<S, T> imp
catch ( InterruptedException e )
{
Thread.currentThread().interrupt();
+ m_componentManager.dumpThreads();
+ //ignore
}
if ( !getServiceObject( m_bindMethods.getUpdated(), refPair ))
{
@@ -1699,7 +1701,7 @@ public class DependencyManager<S, T> imp
{
if (!info.getCloseLatch().await( getLockTimeout(), TimeUnit.MILLISECONDS ) )
{
- m_componentManager.log( LogService.LOG_WARNING,
+ m_componentManager.log( LogService.LOG_ERROR,
"DependencyManager : invokeUnbindMethod : timeout on close latch {0}", new Object[] {getName()}, null );
m_componentManager.dumpThreads();
}
@@ -1707,6 +1709,7 @@ public class DependencyManager<S, T> imp
catch ( InterruptedException e )
{
Thread.currentThread().interrupt();
+ m_componentManager.dumpThreads();
//ignore
}
}
@@ -1724,7 +1727,9 @@ public class DependencyManager<S, T> imp
}
catch ( InterruptedException e )
{
- // TODO Auto-generated catch block
+ Thread.currentThread().interrupt();
+ m_componentManager.dumpThreads();
+ //ignore
}
if (refPair == null)
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java?rev=1470397&r1=1470396&r2=1470397&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java Mon Apr 22 06:44:33 2013
@@ -284,7 +284,7 @@ public class ImmediateComponentManager<S
// containing the exception with the Log Service and activation fails
for ( DependencyManager md: getReversedDependencyManagers() )
{
- md.close( implementationObject, null );
+ md.close( implementationObject, componentContext.getEdgeInfo( md ) );
}
// make sure the implementation object is not available
@@ -295,6 +295,8 @@ public class ImmediateComponentManager<S
else
{
componentContext.setImplementationAccessible( true );
+ m_circularReferences.remove();
+ //this may cause a getService as properties now match a filter.
setServiceProperties( result );
}
@@ -718,6 +720,8 @@ public class ImmediateComponentManager<S
{
if (m_circularReferences.get() != null)
{
+ log( LogService.LOG_ERROR, "Circular reference detected, getService returning null", null );
+ dumpThreads();
return false;
}
m_circularReferences.set( Boolean.TRUE );
@@ -775,6 +779,7 @@ public class ImmediateComponentManager<S
}
finally
{
+ //normally this will have been done after object becomes accessible. This is double-checking.
m_circularReferences.remove();
}
}
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegistrationManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegistrationManager.java?rev=1470397&r1=1470396&r2=1470397&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegistrationManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegistrationManager.java Mon Apr 22 06:44:33 2013
@@ -181,6 +181,7 @@ abstract class RegistrationManager<T>
Thread.currentThread().interrupt();
log( LogService.LOG_ERROR, "Interrupted exception waiting for reg change to complete {0}", new Object[]
{rsw.getRegState()}, null);
+ reportTimeout();
}
}
}