aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server-common
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2018-07-20 11:36:47 +0200
committerSonarTech <sonartech@sonarsource.com>2018-07-21 20:21:15 +0200
commit9cb8739c465cbd26842fff6eb03d05a75f77a9c8 (patch)
treec215394be94c3a443d442ec1c4c5981668e2686f /server/sonar-server-common
parent94d19361e79451ca22da50229bff94769fae79ef (diff)
downloadsonarqube-9cb8739c465cbd26842fff6eb03d05a75f77a9c8.tar.gz
sonarqube-9cb8739c465cbd26842fff6eb03d05a75f77a9c8.zip
SONAR-11062 Analysis task fails when thread failed previously with OOM
Diffstat (limited to 'server/sonar-server-common')
-rw-r--r--server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProviderImpl.java4
-rw-r--r--server/sonar-server-common/src/test/java/org/sonar/server/organization/DefaultOrganizationProviderImplTest.java25
2 files changed, 15 insertions, 14 deletions
diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProviderImpl.java b/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProviderImpl.java
index 72ef09bed1f..75caebe851c 100644
--- a/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProviderImpl.java
+++ b/server/sonar-server-common/src/main/java/org/sonar/server/organization/DefaultOrganizationProviderImpl.java
@@ -70,10 +70,6 @@ public class DefaultOrganizationProviderImpl implements DefaultOrganizationProvi
@Override
public void load() {
- checkState(
- CACHE.get() == null,
- "load called twice for thread '%s' or state wasn't cleared last time it was used",
- Thread.currentThread().getName());
CACHE.set(new Cache());
}
diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/organization/DefaultOrganizationProviderImplTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/organization/DefaultOrganizationProviderImplTest.java
index 75ef3d76540..cc3f33da32b 100644
--- a/server/sonar-server-common/src/test/java/org/sonar/server/organization/DefaultOrganizationProviderImplTest.java
+++ b/server/sonar-server-common/src/test/java/org/sonar/server/organization/DefaultOrganizationProviderImplTest.java
@@ -19,6 +19,7 @@
*/
package org.sonar.server.organization;
+import org.junit.After;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -29,7 +30,6 @@ import org.sonar.db.DbTester;
import org.sonar.db.organization.OrganizationDto;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.sonar.db.organization.OrganizationTesting.newOrganizationDto;
@@ -54,6 +54,11 @@ public class DefaultOrganizationProviderImplTest {
private DefaultOrganizationProviderImpl underTest = new DefaultOrganizationProviderImpl(dbClient);
+ @After
+ public void tearDown() {
+ underTest.unload();
+ }
+
@Test
public void get_fails_with_ISE_if_default_organization_internal_property_does_not_exist() {
expectISENoDefaultOrganizationUuid();
@@ -116,17 +121,17 @@ public class DefaultOrganizationProviderImplTest {
}
@Test
- public void load_fails_with_ISE_when_called_twice_without_unload_in_between() {
+ public void load_resets_thread_local_when_called_twice() {
+ insertOrganization(ORGANIZATION_DTO_1, DATE_1);
+ dbClient.internalPropertiesDao().save(dbSession, DEFAULT_ORGANIZATION, ORGANIZATION_DTO_1.getUuid());
+ dbSession.commit();
+
underTest.load();
+ DefaultOrganization org1 = underTest.get();
- try {
- underTest.load();
- fail("A IllegalStateException should have been raised");
- } catch (IllegalStateException e) {
- assertThat(e).hasMessage("load called twice for thread '" + Thread.currentThread().getName() + "' or state wasn't cleared last time it was used");
- } finally {
- underTest.unload();
- }
+ underTest.load();
+ DefaultOrganization org2 = underTest.get();
+ assertThat(org1).isNotSameAs(org2);
}
@Test