mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-09-17 14:21:39 +00:00
REPO-4969: - merge branch 'master' into support/SP/7.N
This commit is contained in:
@@ -32,6 +32,12 @@ jobs:
|
|||||||
- curl -LJO https://github.com/whitesource/unified-agent-distribution/raw/master/standAlone/wss-unified-agent.jar
|
- curl -LJO https://github.com/whitesource/unified-agent-distribution/raw/master/standAlone/wss-unified-agent.jar
|
||||||
# Run WhiteSource Unified Agent
|
# Run WhiteSource Unified Agent
|
||||||
- java -jar wss-unified-agent.jar -apiKey ${WHITESOURCE_API_KEY} -c .wss-unified-agent.config
|
- java -jar wss-unified-agent.jar -apiKey ${WHITESOURCE_API_KEY} -c .wss-unified-agent.config
|
||||||
|
- name: "Source Clear Scan"
|
||||||
|
# only on SP branches or master and if it is not a PR
|
||||||
|
if: fork = false AND (branch = master OR branch =~ /support\/SP\/.*/) AND type != pull_request
|
||||||
|
script: skip
|
||||||
|
addons:
|
||||||
|
srcclr: true
|
||||||
- stage: release
|
- stage: release
|
||||||
name: "Push to Nexus"
|
name: "Push to Nexus"
|
||||||
if: fork = false AND (branch = master OR branch =~ /support\/.*/) AND type != pull_request AND commit_message !~ /\[no-release\]/
|
if: fork = false AND (branch = master OR branch =~ /support\/.*/) AND type != pull_request AND commit_message !~ /\[no-release\]/
|
||||||
|
57
pom.xml
57
pom.xml
@@ -26,8 +26,8 @@
|
|||||||
</distributionManagement>
|
</distributionManagement>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<dependency.spring.version>5.1.8.RELEASE</dependency.spring.version>
|
<dependency.spring.version>5.2.3.RELEASE</dependency.spring.version>
|
||||||
<dependency.surf.version>7.9</dependency.surf.version>
|
<dependency.surf.version>8.1</dependency.surf.version>
|
||||||
<maven.build.sourceVersion>11</maven.build.sourceVersion>
|
<maven.build.sourceVersion>11</maven.build.sourceVersion>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
@@ -35,12 +35,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-codec</groupId>
|
<groupId>commons-codec</groupId>
|
||||||
<artifactId>commons-codec</artifactId>
|
<artifactId>commons-codec</artifactId>
|
||||||
<version>1.13</version>
|
<version>1.14</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>commons-collections</groupId>
|
|
||||||
<artifactId>commons-collections</artifactId>
|
|
||||||
<version>3.2.2</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-httpclient</groupId>
|
<groupId>commons-httpclient</groupId>
|
||||||
@@ -68,22 +63,6 @@
|
|||||||
<version>2.0.0</version>
|
<version>2.0.0</version>
|
||||||
<classifier>asl</classifier>
|
<classifier>asl</classifier>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.mybatis</groupId>
|
|
||||||
<artifactId>mybatis</artifactId>
|
|
||||||
<version>3.3.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mybatis</groupId>
|
|
||||||
<artifactId>mybatis-spring</artifactId>
|
|
||||||
<version>1.2.5</version>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>org.mybatis</groupId>
|
|
||||||
<artifactId>mybatis</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>log4j</groupId>
|
<groupId>log4j</groupId>
|
||||||
<artifactId>log4j</artifactId>
|
<artifactId>log4j</artifactId>
|
||||||
@@ -112,15 +91,10 @@
|
|||||||
<artifactId>spring-context</artifactId>
|
<artifactId>spring-context</artifactId>
|
||||||
<version>${dependency.spring.version}</version>
|
<version>${dependency.spring.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework</groupId>
|
|
||||||
<artifactId>spring-context-support</artifactId>
|
|
||||||
<version>${dependency.spring.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.quartz-scheduler</groupId>
|
<groupId>org.quartz-scheduler</groupId>
|
||||||
<artifactId>quartz</artifactId>
|
<artifactId>quartz</artifactId>
|
||||||
<version>2.3.1</version>
|
<version>2.3.2</version>
|
||||||
<!-- exclude c3p0 -->
|
<!-- exclude c3p0 -->
|
||||||
<!-- see https://issues.alfresco.com/jira/browse/REPO-3447 -->
|
<!-- see https://issues.alfresco.com/jira/browse/REPO-3447 -->
|
||||||
<exclusions>
|
<exclusions>
|
||||||
@@ -163,12 +137,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>joda-time</groupId>
|
<groupId>joda-time</groupId>
|
||||||
<artifactId>joda-time</artifactId>
|
<artifactId>joda-time</artifactId>
|
||||||
<version>2.10.4</version>
|
<version>2.10.5</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.httpcomponents</groupId>
|
|
||||||
<artifactId>httpclient</artifactId>
|
|
||||||
<version>4.5.10</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- provided dependencies -->
|
<!-- provided dependencies -->
|
||||||
@@ -183,25 +152,19 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-log4j12</artifactId>
|
<artifactId>slf4j-log4j12</artifactId>
|
||||||
<version>1.7.28</version>
|
<version>1.7.30</version>
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework</groupId>
|
|
||||||
<artifactId>spring-test</artifactId>
|
|
||||||
<version>${dependency.spring.version}</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
<version>4.12</version>
|
<version>4.13</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.mockito</groupId>
|
<groupId>org.mockito</groupId>
|
||||||
<artifactId>mockito-all</artifactId>
|
<artifactId>mockito-core</artifactId>
|
||||||
<version>1.10.19</version>
|
<version>3.2.4</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -228,7 +191,7 @@
|
|||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
<version>3.1.2</version>
|
<version>3.2.0</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
|
@@ -21,6 +21,8 @@ package org.alfresco.util.shard;
|
|||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Common ACL based index sharding behaviour for SOLR and the repository
|
* Common ACL based index sharding behaviour for SOLR and the repository
|
||||||
*
|
*
|
||||||
@@ -67,6 +69,13 @@ public class ExplicitShardingPolicy
|
|||||||
{
|
{
|
||||||
if (test % numNodes == nodeInstance - 1)
|
if (test % numNodes == nodeInstance - 1)
|
||||||
{
|
{
|
||||||
|
// This algorithm fails for some sets of parameters. (See SEARCH-1785)
|
||||||
|
if (shardIds.contains(shard % numShards))
|
||||||
|
{
|
||||||
|
throw new AlfrescoRuntimeException("Sharding configuration not supported - unable to create shard list for node " + nodeInstance
|
||||||
|
+ " (shards:" + numShards + ", replication:" + replicationFactor + ", nodes:" + numNodes + ")."
|
||||||
|
+ " Please set up the shards manually or use a different sharding configuration.");
|
||||||
|
}
|
||||||
shardIds.add(shard % numShards);
|
shardIds.add(shard % numShards);
|
||||||
}
|
}
|
||||||
test++;
|
test++;
|
||||||
|
@@ -36,6 +36,7 @@ import org.springframework.transaction.CannotCreateTransactionException;
|
|||||||
import org.springframework.transaction.NoTransactionException;
|
import org.springframework.transaction.NoTransactionException;
|
||||||
import org.springframework.transaction.PlatformTransactionManager;
|
import org.springframework.transaction.PlatformTransactionManager;
|
||||||
import org.springframework.transaction.TransactionDefinition;
|
import org.springframework.transaction.TransactionDefinition;
|
||||||
|
import org.springframework.transaction.TransactionManager;
|
||||||
import org.springframework.transaction.TransactionStatus;
|
import org.springframework.transaction.TransactionStatus;
|
||||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||||
import org.springframework.transaction.interceptor.TransactionAttribute;
|
import org.springframework.transaction.interceptor.TransactionAttribute;
|
||||||
@@ -410,8 +411,15 @@ public class SpringAwareUserTransaction
|
|||||||
// begin a transaction
|
// begin a transaction
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
TransactionManager tm = getTransactionManager();
|
||||||
|
|
||||||
|
if (tm != null && !(tm instanceof PlatformTransactionManager))
|
||||||
|
{
|
||||||
|
throw new IllegalStateException("Specified transaction manager is not a PlatformTransactionManager: " + tm);
|
||||||
|
}
|
||||||
|
|
||||||
internalTxnInfo = createTransactionIfNecessary(
|
internalTxnInfo = createTransactionIfNecessary(
|
||||||
getTransactionManager(), getTransactionAttribute(null, null), getName());
|
(PlatformTransactionManager) tm, getTransactionAttribute(null, null), getName());
|
||||||
}
|
}
|
||||||
catch (CannotCreateTransactionException e)
|
catch (CannotCreateTransactionException e)
|
||||||
{
|
{
|
||||||
|
@@ -20,8 +20,11 @@ package org.alfresco.util.shard;
|
|||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -117,6 +120,20 @@ public class ExplicitShardingPolicyTest
|
|||||||
buildAndTest(10, 2, 4);
|
buildAndTest(10, 2, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** ExplicitShardingPolicy algorithm fails for 2 shards, 3 replicas, 3 nodes. (See SEARCH-1785) */
|
||||||
|
@Test(expected = AlfrescoRuntimeException.class)
|
||||||
|
public void search1785_233()
|
||||||
|
{
|
||||||
|
buildAndTest(2, 3, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** ExplicitShardingPolicy algorithm fails for 4 shards, 3 replicas, 6 nodes. (See SEARCH-1785) */
|
||||||
|
@Test (expected = AlfrescoRuntimeException.class)
|
||||||
|
public void search1785_436()
|
||||||
|
{
|
||||||
|
buildAndTest(4, 3, 6);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void check_10_2()
|
public void check_10_2()
|
||||||
{
|
{
|
||||||
@@ -163,7 +180,8 @@ public class ExplicitShardingPolicyTest
|
|||||||
int[] found = new int[numShards];
|
int[] found = new int[numShards];
|
||||||
for (int i = 0; i < numNodes; i++)
|
for (int i = 0; i < numNodes; i++)
|
||||||
{
|
{
|
||||||
List<Integer> shardIds = policy.getShardIdsForNode(i + 1);
|
// Convert to a set to remove any duplicates.
|
||||||
|
Set<Integer> shardIds = new HashSet<>(policy.getShardIdsForNode(i + 1));
|
||||||
assertEquals(numShards * replicationFactor / numNodes, shardIds.size());
|
assertEquals(numShards * replicationFactor / numNodes, shardIds.size());
|
||||||
for (Integer shardId : shardIds)
|
for (Integer shardId : shardIds)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user