Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Core: Some refactorings have been made to avoid potential deadlocks or slowdowns on various use cases.
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ private void performBinaryCheck(Long id) {
ContentDao contentDao = tx.contentDao();

tx.binaryDao().findByCheckStatus(BinaryCheckStatus.POSTPONED).runInExistingTx(tx).forEach(binary -> {
Optional<? extends HibBinaryField> field = tx.binaryDao().findFields(binary).stream().findFirst();
Optional<? extends HibBinaryField> field = tx.binaryDao().findFields(binary).stream().findAny();

if (field.isEmpty()) {
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public boolean requiresChanges(ChangelogDao dao, Predicate<? super HighLevelChan
if (filter != null) {
stream = stream.filter(filter);
}
return stream.filter(change -> !isApplied(dao, change)).findFirst().isPresent();
return stream.filter(change -> !isApplied(dao, change)).findAny().isPresent();
});
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.gentics.mesh.core.data.service;

import java.util.Iterator;
import java.util.Optional;
import java.util.Stack;

Expand All @@ -15,7 +14,6 @@
import com.gentics.mesh.core.db.Database;
import com.gentics.mesh.core.db.Tx;
import com.gentics.mesh.core.rest.common.ContainerType;
import com.gentics.mesh.core.result.Result;
import com.gentics.mesh.core.webroot.PathPrefixUtil;
import com.gentics.mesh.path.Path;
import com.gentics.mesh.path.impl.PathImpl;
Expand Down Expand Up @@ -76,7 +74,7 @@ public Path findByProjectPath(InternalActionContext ac, String path, ContainerTy

// Handle path to project root (baseNode)
if ("/".equals(strippedPath) || strippedPath.isEmpty()) {
Optional<HibNodeFieldContainer> container = contentDao.getFieldContainers(baseNode, branch, type).stream().findFirst();
Optional<HibNodeFieldContainer> container = contentDao.getFieldContainers(baseNode, branch, type).stream().findAny();
if (container.isPresent()) {
nodePath.addSegment(new PathSegmentImpl(container.get(), null, null, "/"));
stack.push("/");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ public Optional<String> getInstanceDiskQuotaExceeded() {
} else {
return hazelcastPlugin.getHazelcastInstance().getCluster().getMembers().stream()
.filter(m -> m.getBooleanAttribute(MESH_MEMBER_DISK_QUOTA_EXCEEDED) == Boolean.TRUE)
.map(m -> m.getUuid()).findFirst();
.map(m -> m.getUuid()).findAny();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ private void electMaster() {
log.info("Locked for master election");
Optional<Member> foundMaster = cluster.getMembers().stream()
.filter(m -> isMaster(m))
.findFirst();
.findAny();
boolean hasMaster = foundMaster.isPresent();
boolean isElectible = isElectable(localMember());
if (!hasMaster && isElectible) {
Expand Down Expand Up @@ -187,7 +187,7 @@ private boolean isElectable(Member member) {

if (clusterOptions.getCoordinatorTopology() == CoordinationTopology.UNMANAGED) {
ClusterConfigResponse config = database.loadClusterConfig();
Optional<ClusterServerConfig> databaseServer = config.getServers().stream().filter(s -> s.getName().equals(name)).findFirst();
Optional<ClusterServerConfig> databaseServer = config.getServers().stream().filter(s -> s.getName().equals(name)).findAny();
if (databaseServer.isPresent()) {
// Replicas are not eligible for master election
ServerRole role = databaseServer.get().getRole();
Expand Down Expand Up @@ -274,7 +274,7 @@ protected void findCurrentMaster() {
Cluster cluster = hazelcast.get().getCluster();
Optional<Member> master = cluster.getMembers().stream()
.filter(m -> isMaster(m))
.findFirst();
.findAny();
if (master.isPresent()) {
masterMember = master.get();
log.info("Updated master member {" + masterMember.getStringAttribute(MESH_NODE_NAME_ATTR) + "}");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ protected void processHits(JsonArray hits, Map<String, String> versions) {
private Flowable<SearchRequest> diffAndSync(HibProject project, HibBranch branch, HibSchemaVersion version, ContainerType type, Optional<Pattern> indexPattern) {
// if an index pattern is given, check whether any index matches the pattern
if (indexPattern.isPresent() && !getIndexNames(project, branch, version, type).stream()
.filter(indexName -> indexPattern.orElse(MATCH_ALL).matcher(indexName).matches()).findFirst()
.filter(indexName -> indexPattern.orElse(MATCH_ALL).matcher(indexName).matches()).findAny()
.isPresent()) {
return Flowable.empty();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1214,7 +1214,7 @@ default Map<HibNode, String> getPaths(Collection<HibNode> sourceNodes, InternalA
@Override
default Map<HibNode, String> getPaths(Collection<HibNode> sourceNodes, String branchUuid, InternalActionContext ac, ContainerType type, String... languageTags) {
BranchDao branchDao = Tx.get().branchDao();
HibBranch branch = sourceNodes.stream().map(node -> branchDao.findByUuid(node.getProject(), branchUuid)).findFirst().orElse(null);
HibBranch branch = sourceNodes.stream().map(node -> branchDao.findByUuid(node.getProject(), branchUuid)).findAny().orElse(null);
return getPaths(sourceNodes, branch, ac, type, languageTags);
}

Expand Down Expand Up @@ -1265,7 +1265,7 @@ default Map<HibNode, String> getPaths(Collection<HibNode> sourceNodes, HibBranch
String fallbackPath = null;
if (containerForUrlFieldValues != null) {
fallbackPath = contentDao.getUrlFieldValues(containerForUrlFieldValues)
.findFirst()
.findAny()
.map(path -> getWithSanitizedPathPrefix(branch, builder -> builder.append(path)))
.orElse(null);
}
Expand Down Expand Up @@ -1394,7 +1394,7 @@ private String getUrlFieldPath(HibNode node, HibBranch branch, ContainerType typ
return Stream.of(languages)
.flatMap(language -> Stream.ofNullable(contentDao.getFieldContainer(node, language, branch != null ? branch.getUuid() : null, type)))
.flatMap(contentDao::getUrlFieldValues)
.findFirst()
.findAny()
.map(path -> getWithSanitizedPathPrefix(branch, builder -> builder.append(path)))
.orElse(null);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ public HibSchemaVersion findLatestSchemaVersion(HibSchema schemaContainer) {
String v1 = o1.getProperty(GraphFieldSchemaContainerVersion.VERSION_PROPERTY_KEY);
String v2 = o2.getProperty(GraphFieldSchemaContainerVersion.VERSION_PROPERTY_KEY);
return VersionUtil.compareVersions(v2, v1);
}).findFirst().orElse(null);
}).findAny().orElse(null);
return graphVersion;
}

Expand All @@ -244,7 +244,7 @@ public HibMicroschemaVersion findLatestMicroschemaVersion(HibMicroschema schemaC
String v1 = o1.getProperty(GraphFieldSchemaContainerVersion.VERSION_PROPERTY_KEY);
String v2 = o2.getProperty(GraphFieldSchemaContainerVersion.VERSION_PROPERTY_KEY);
return VersionUtil.compareVersions(v2, v1);
}).findFirst().orElse(null);
}).findAny().orElse(null);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public interface FieldSchemaContainer extends RestModel {
* @return
*/
default FieldSchema getField(String fieldName) {
return getFields().stream().filter(f -> f.getName().equals(fieldName)).findFirst().orElse(null);
return getFields().stream().filter(f -> f.getName().equals(fieldName)).findAny().orElse(null);
}

/**
Expand All @@ -90,7 +90,7 @@ default FieldSchema getField(String fieldName) {
* @return
*/
default <T> T getField(String fieldName, Class<T> classOfT) {
return classOfT.cast(getFields().stream().filter(f -> f.getName().equals(fieldName)).findFirst().orElse(null));
return classOfT.cast(getFields().stream().filter(f -> f.getName().equals(fieldName)).findAny().orElse(null));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ private LanguageOverrideUtil() {
public static void validateLanguageOverrides(JsonObject settings) {
findLanguages(settings)
.filter(unique().negate())
.findFirst()
.findAny()
.ifPresent(duplicateLanguage -> {
throw error(BAD_REQUEST, "error_language_duplicate_override", duplicateLanguage);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ default void validate() {
}
}
return false;
}).findFirst();
}).findAny();
if (firstDisallowed.isPresent()) {
FieldSchema field = firstDisallowed.get();
String typeInfo = field.getType();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ public void load() {
*/
public boolean areMappedEntitiesMissing() {
return entitiesByName.entrySet().stream().filter(entry -> mappedNames.contains(entry.getKey()))
.filter(entry -> entry.getValue() == null).findFirst().isPresent();
.anyMatch(entry -> entry.getValue() == null);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -422,8 +422,8 @@ protected HibBaseElement handleBranchSchema(DataFetchingEnvironment env) {
return handleUuidNameArgsNoPerm(env, uuid -> schemas.filter(schema -> {
HibSchema container = schema.getSchemaContainer();
return container.getUuid().equals(uuid) && userDao.hasPermission(gc.getUser(), container, READ_PERM);
}).findFirst().get(), name -> schemas.filter(schema -> schema.getName().equals(name) && userDao.hasPermission(gc.getUser(), schema
.getSchemaContainer(), READ_PERM)).findFirst().get());
}).findAny().get(), name -> schemas.filter(schema -> schema.getName().equals(name) && userDao.hasPermission(gc.getUser(), schema
.getSchemaContainer(), READ_PERM)).findAny().get());
}

protected Page<HibSchemaVersion> handleBranchSchemas(DataFetchingEnvironment env) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -607,7 +607,7 @@ public Versioned<List<GraphQLFieldDefinition>> createNodeInterfaceFields(GraphQL
return contentDao.getFieldContainers(node, tx.getBranch(gc), DRAFT).stream().filter(c -> {
String lang = c.getLanguageTag();
return lang.equals(languageTag);
}).findFirst().map(contentDao::versions).orElse(null);
}).findAny().map(contentDao::versions).orElse(null);
}).build(),

// .language
Expand Down