FrankChen021 / bithon

An observability platform mainly for Java
Apache License 2.0
14 stars 4 forks source link

Concurrent exception #798

Closed FrankChen021 closed 3 weeks ago

FrankChen021 commented 4 weeks ago

caused by #797

org.bithon.component.commons.exception.HttpMappableException: Unexpected exception occurred
    at org.bithon.server.web.service.datasource.api.impl.DataSourceApi.list(DataSourceApi.java:177)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)

Caused by: java.util.ConcurrentModificationException
    at java.base/java.util.ArrayList.replaceAllRange(ArrayList.java:1797)
    at java.base/java.util.ArrayList.replaceAll(ArrayList.java:1785)
    at org.bithon.component.commons.expression.optimzer.ExpressionOptimizer$AbstractOptimizer.visit(ExpressionOptimizer.java:55)
    at org.bithon.component.commons.expression.optimzer.ExpressionOptimizer$AbstractOptimizer.visit(ExpressionOptimizer.java:47)
    at org.bithon.component.commons.expression.LogicalExpression.accept(LogicalExpression.java:95)
    at org.bithon.component.commons.expression.optimzer.ExpressionOptimizer$AbstractOptimizer.lambda$visit$0(ExpressionOptimizer.java:55)
    at java.base/java.util.ArrayList.replaceAllRange(ArrayList.java:1795)
    at java.base/java.util.ArrayList.replaceAll(ArrayList.java:1785)
    at org.bithon.component.commons.expression.optimzer.ExpressionOptimizer$AbstractOptimizer.visit(ExpressionOptimizer.java:55)
    at org.bithon.component.commons.expression.optimzer.ExpressionOptimizer$AbstractOptimizer.visit(ExpressionOptimizer.java:47)
    at org.bithon.component.commons.expression.LogicalExpression.accept(LogicalExpression.java:95)
    at org.bithon.server.storage.jdbc.clickhouse.ClickHouseSqlDialect.transform(ClickHouseSqlDialect.java:117)
    at org.bithon.server.storage.jdbc.common.dialect.Expression2Sql.from(Expression2Sql.java:39)
    at org.bithon.server.storage.jdbc.common.dialect.Expression2Sql.from(Expression2Sql.java:32)
    at org.bithon.server.storage.jdbc.metric.MetricJdbcReader.select(MetricJdbcReader.java:157)
    at org.bithon.server.web.service.datasource.api.impl.DataSourceApi.lambda$list$2(DataSourceApi.java:165)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
    at org.bithon.agent.plugin.jdk.thread.utils.ObservedTask.runWithTracing(ObservedTask.java:72)
    at org.bithon.agent.plugin.jdk.thread.utils.ObservedTask.run(ObservedTask.java:59)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    ... 1 more