diff --git a/backend/src/main/java/com/bakdata/conquery/io/mina/NetworkSession.java b/backend/src/main/java/com/bakdata/conquery/io/mina/NetworkSession.java index e5d4f91673..c82b8f5dfa 100644 --- a/backend/src/main/java/com/bakdata/conquery/io/mina/NetworkSession.java +++ b/backend/src/main/java/com/bakdata/conquery/io/mina/NetworkSession.java @@ -13,25 +13,29 @@ import lombok.extern.slf4j.Slf4j; import org.apache.mina.core.future.WriteFuture; import org.apache.mina.core.session.IoSession; +import org.jetbrains.annotations.NotNull; @RequiredArgsConstructor @Slf4j public class NetworkSession implements MessageSender> { + public static final int MAX_MESSAGE_LENGTH = 30; + public static final int MAX_QUEUE_LENGTH = 20; @Getter private final IoSession session; - private final LinkedBlockingQueue> queuedMessages = new LinkedBlockingQueue<>(20); + private final LinkedBlockingQueue> queuedMessages = new LinkedBlockingQueue<>(MAX_QUEUE_LENGTH); @Override public WriteFuture send(final NetworkMessage message) { try { while (!queuedMessages.offer(message, 2, TimeUnit.MINUTES)) { - log.debug( - "Waiting for full writing queue for {}\n\tcurrently filled by: {}", - message, - new ArrayList<>(queuedMessages) - .stream() - .map(Objects::toString) - .collect(Collectors.joining("\n\t\t")) + log.debug("Waiting for full writing queue for {} currently filled by:\n\t- {}", + message, + log.isTraceEnabled() + ? new ArrayList<>(queuedMessages).stream() + .map(Objects::toString) + .map(NetworkSession::shorten) + .collect(Collectors.joining("\n\t\t- ")) + : "%s messages".formatted(queuedMessages.size()) ); } } @@ -45,6 +49,16 @@ public WriteFuture send(final NetworkMessage message) { return future; } + @NotNull + private static String shorten(String desc) { + if (desc.length() <= MAX_MESSAGE_LENGTH) { + return desc; + } + + return desc.substring(0, MAX_MESSAGE_LENGTH) + "…"; + + } + @Override public void trySend(final NetworkMessage message) { if (isConnected()) {