Skip to content

Instantly share code, notes, and snippets.

View imasahiro's full-sized avatar

Masahiro Ide imasahiro

  • LINE Corporation
  • Tokyo Japan
View GitHub Profile
diff --git a/src/test/java/com/linecorp/armeria/common/thrift/text/TTextProtocolTest.java b/src/test/java/com/linecorp/armeria/common/thrift/text/TTextProtocolTest.java
index 63d88dd..ecab43d 100644
--- a/src/test/java/com/linecorp/armeria/common/thrift/text/TTextProtocolTest.java
+++ b/src/test/java/com/linecorp/armeria/common/thrift/text/TTextProtocolTest.java
@@ -145,6 +145,7 @@ public class TTextProtocolTest {
.setV(Letter.BETA)
.setW(TestUnion.f2(4))
.setX(ImmutableList.of(TestUnion.f2(5), TestUnion.f1(base64Encoder.decode("SGVsbG8gV29ybGQ="))))
+ .setY(Letter.ALPHA)
;
package com.linecorp.armeria.client.http;
import static org.junit.Assert.assertEquals;
import org.junit.Rule;
import org.junit.Test;
import com.linecorp.armeria.client.ClientFactory;
import com.linecorp.armeria.client.Clients;
import com.linecorp.armeria.common.http.AggregatedHttpMessage;
diff --git a/src/test/java/com/linecorp/armeria/client/thrift/ThriftOverHttpClientTest.java b/src/test/java/com/linecorp/armeria/client/thrift/ThriftOverHttpClientTest.java
index 16ef1d0..ef31c6c 100644
--- a/src/test/java/com/linecorp/armeria/client/thrift/ThriftOverHttpClientTest.java
+++ b/src/test/java/com/linecorp/armeria/client/thrift/ThriftOverHttpClientTest.java
@@ -16,6 +16,7 @@
package com.linecorp.armeria.client.thrift;
+import static org.hamcrest.Matchers.hasItems;
import static org.hamcrest.Matchers.instanceOf;
private final class Handler implements HelloService.AsyncIface {
@Override
public void hello(String name, AsyncMethodCallback resultHandler) throws TException {
setAsyncResult(resultHandler, CompletableFuture.completedFuture("hello"));
}
}
public static <T> void setAsyncResult(AsyncMethodCallback<T> resultHandler,
ListenableFuture<T> future) {
Futures.addCallback(future, new FutureCallback<T>() {
io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 16777216 byte(s) of direct memory (used: 4278190374, max: 4294967296)
at io.netty.util.internal.PlatformDependent.incrementMemoryCounter(PlatformDependent.java:585)
at io.netty.util.internal.PlatformDependent.allocateDirectNoCleaner(PlatformDependent.java:539)
at io.netty.buffer.PoolArena$DirectArena.allocateDirect(PoolArena.java:760)
at io.netty.buffer.PoolArena$DirectArena.newChunk(PoolArena.java:736)
at io.netty.buffer.PoolArena.allocateNormal(PoolArena.java:244)
at io.netty.buffer.PoolArena.allocate(PoolArena.java:226)
at io.netty.buffer.PoolArena.allocate(PoolArena.java:146)
at io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:320)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:181)
package com.linecorp.armeria.server.annotation;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.linecorp.armeria.common.DefaultHttpResponse;
import com.linecorp.armeria.common.HttpData;
import com.linecorp.armeria.common.HttpHeaderNames;
import com.linecorp.armeria.common.HttpHeaders;
import com.linecorp.armeria.common.HttpResponse;
import com.linecorp.armeria.common.HttpStatus;
public final class ExceptionHandlingHttpService extends SimpleDecoratingService<HttpRequest, HttpResponse> {
@Value(staticConstructor = "of")
private static class ExceptionHandler {
Class<? extends Throwable> exceptionType;
BiFunction<HttpRequest, Throwable, HttpResponse> exceptionHandler;
}
private final ExceptionHandler defaultExceptionHandler =
ExceptionHandler.of(Throwable.class, ExceptionHandlingHttpService::error);
import com.linecorp.armeria.client.ClientFactory;
import com.linecorp.armeria.client.ClientFactoryBuilder;
import com.linecorp.armeria.client.HttpClient;
import com.linecorp.armeria.client.HttpClientBuilder;
import com.linecorp.armeria.client.metric.MetricCollectingClient;
import com.linecorp.armeria.common.AggregatedHttpMessage;
import com.linecorp.armeria.common.HttpResponse;
import com.linecorp.armeria.common.SessionProtocol;
import com.linecorp.armeria.common.metric.MeterIdPrefixFunction;
import com.linecorp.armeria.common.metric.PrometheusMeterRegistries;
"Thread-7" #205 daemon prio=5 os_prio=0 tid=0x00007f4b6007f000 nid=0x1a641 runnable [0x00007f4c38fba000]
java.lang.Thread.State: RUNNABLE
at org.LatencyUtils.TimeCappedMovingAverageIntervalEstimator.determineNumberOfWindowPositionsOutsideOfTimeCap(TimeCappedMovingAverageIntervalEstimator.java:266)
at org.LatencyUtils.TimeCappedMovingAverageIntervalEstimator.determineEarliestQualifyingTimeInWindow(TimeCappedMovingAverageIntervalEstimator.java:228)
at org.LatencyUtils.TimeCappedMovingAverageIntervalEstimator.getEstimatedInterval(TimeCappedMovingAverageIntervalEstimator.java:107)
- locked <0x00000001da96b688> (a org.LatencyUtils.TimeCappedMovingAverageIntervalEstimator)
at org.LatencyUtils.LatencyStats.recordDetectedPause(LatencyStats.java:402)
- locked <0x00000001da960c30> (a org.LatencyUtils.LatencyStats)
at org.LatencyUtils.LatencyStats.access$600(LatencyStats.java:69)
at org.LatencyUtils.LatencyStats$PauseTracker.handlePauseEvent(LatencyStats.java:480)
{
"rawData": {
"fortune": {},
"plaintext": {
"netty": [
{
"latencyAvg": "15.21ms",
"latencyMax": "271.43ms",
"latencyStdev": "13.85ms",
"totalRequests": 2590928,