You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by tm...@apache.org on 2017/06/07 19:29:03 UTC
svn commit: r1797988 -
/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java
Author: tmaret
Date: Wed Jun 7 19:29:03 2017
New Revision: 1797988
URL: http://svn.apache.org/viewvc?rev=1797988&view=rev
Log:
SLING-6939 - sling distribution leaks jcr sessions
* ImportingDistributionPackageProcessor does not release resource resolver
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java?rev=1797988&r1=1797987&r2=1797988&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java Wed Jun 7 19:29:03 2017
@@ -67,14 +67,15 @@ class ImportingDistributionPackageProces
@Override
public void process(DistributionPackage distributionPackage) {
final long startTime = System.currentTimeMillis();
+ ResourceResolver agentResourceResolver = null;
try {
// set up original calling RR
- ResourceResolver resourceResolver = DistributionUtils.getResourceResolver(callingUser, authenticationInfo.getAgentService(),
+ agentResourceResolver = DistributionUtils.getResourceResolver(callingUser, authenticationInfo.getAgentService(),
authenticationInfo.getSlingRepository(), authenticationInfo.getSubServiceName(),
authenticationInfo.getResourceResolverFactory());
// perform importing
- distributionPackageImporter.importPackage(resourceResolver, distributionPackage);
+ distributionPackageImporter.importPackage(agentResourceResolver, distributionPackage);
// collect stats
packagesSize.addAndGet(distributionPackage.getSize());
@@ -90,6 +91,8 @@ class ImportingDistributionPackageProces
} catch (DistributionException e) {
log.error("an error happened during package import", e);
allResponses.add(new SimpleDistributionResponse(DistributionRequestState.DROPPED, e.toString()));
+ } finally {
+ DistributionUtils.ungetResourceResolver(agentResourceResolver);
}
}