Closed jushiyuan closed 6 years ago
You seem to be trying to use a v0.12 plugin with a v1.1 fluentd gem. What fluentd distribution are you using?
@igorpeshansky Thanks for your reply. I install fluentd with <gem install fluentd -v "~> 0.12.0" --no-ri --no-rdoc> , and "fluentd --version" return "fluentd 1.1.0"
@jushiyuan, so you're installing the gems individually? What's the installation order? What are all the gems you install on top of a vanilla Ruby package? Can you reproduce this issue on a brand new VM?
If I remove
<match docker.**>
@type detect_exceptions
languages java
</match>
Fluentd would run successfully, Is there a problem in the config?
I run fluent in the docker,my Docker file:
FROM alpine:3.5
RUN apk update && apk upgrade && \
apk add ruby-json ruby-irb && \
apk add build-base ruby-dev && \
apk add python && \
apk add lsof && \
apk add ca-certificates wget && \
gem install fluentd -v "~> 0.12.0" --no-ri --no-rdoc && \
gem install fluent-plugin-elasticsearch --no-ri --no-rdoc && \
gem install fluent-plugin-detect-exceptions --no-ri --no-rdoc && \
gem install gelf -v "~> 3.0.0" --no-ri --no-rdoc && \
gem install aliyun_sls_sdk -v ">=0.0.9" --no-ri --no-rdoc && \
gem install remote_syslog_logger -v ">=1.0.1" --no-ri --no-rdoc && \
gem install fluent-plugin-remote_syslog -v ">=0.2.1" --no-ri --no-rdoc && \
gem install fluent-plugin-kafka --no-ri --no-rdoc && \
apk del build-base ruby-dev && \
rm -rf /root/.gem
COPY plugins/ /etc/fluentd/plugins/
VOLUME /etc/fluentd/conf.d
COPY pilot fluentd.tpl entrypoint config.default /pilot/
VOLUME /pilot/pos
EXPOSE 24224
WORKDIR /pilot/
#CMD exec fluentd -c /fluentd/etc/$FLUENTD_CONF -p /fluentd/plugins $FLUENTD_OPT
CMD /pilot/entrypoint
@igorpeshansky The log above may not be very clear.This is my fluentd.conf
.
@include` conf.d/*.conf
<match docker.**>
@type detect_exceptions
languages java
</match>
<match docker.**>
@type elasticsearch
hosts http://elasticsearch-logging:9200
reconnect_on_error true
target_index_key @target
type_name fluentd
flush_mode immediate
</match>
If I remove the detect_exceptions
part, Fluentd would be fine, so I think my detect_exceptions
config is not right. I am sorry I am new to Fluentd.
It certainly looks like something is pulling in fluentd v1.1.0. Can you provide the output of gem list --all
? How about gem dependency fluentd --reverse-dependencies
?
@igorpeshansky
/etc/fluentd # gem list --all
*** LOCAL GEMS ***
addressable (2.5.2)
aliyun_sls_sdk (0.0.9)
beefcake (0.5.0)
connection_pool (2.2.1)
cool.io (1.5.3)
did_you_mean (1.0.0)
dig_rb (1.0.1)
elasticsearch (6.0.0)
elasticsearch-api (6.0.0)
elasticsearch-transport (6.0.0)
excon (0.60.0)
faraday (0.13.1)
file-tail (0.1.4)
fluent-plugin-detect-exceptions (0.0.8)
fluent-plugin-elasticsearch (2.4.1)
fluent-plugin-kafka (0.6.6)
fluent-plugin-remote_syslog (1.0.0)
fluentd (1.1.0, 0.12.42)
gelf (3.0.0)
http_parser.rb (0.6.0)
json (1.8.3.1)
ltsv (0.1.0)
msgpack (1.2.2)
multi_json (1.13.1)
multipart-post (2.0.0)
net-http-persistent (3.0.0)
net-telnet (0.1.1)
power_assert (0.2.6)
psych (2.1.0.1)
public_suffix (3.0.1)
remote_syslog_logger (1.0.3)
remote_syslog_sender (1.2.1)
ruby-hmac (0.4.0)
ruby-kafka (0.5.2)
serverengine (2.0.6)
sigdump (0.2.4)
string-scrub (0.0.5)
strptime (0.2.3)
syslog_protocol (0.9.2)
test-unit (3.1.5)
thread_safe (0.3.6)
tzinfo (1.2.4)
tzinfo-data (1.2017.3)
yajl-ruby (1.3.1)
/etc/fluentd # gem dependency fluentd --reverse-dependencies
Gem fluentd-0.12.42
cool.io (< 2.0.0, >= 1.2.2)
flexmock (~> 2.0, development)
http_parser.rb (< 0.7.0, >= 0.5.1)
json (>= 1.4.3)
msgpack (< 2, >= 0.5.11)
oj (~> 2.14, development)
parallel_tests (~> 0.15.3, development)
rake (>= 0.9.2, development)
rr (~> 1.0, development)
sigdump (~> 0.2.2)
simplecov (~> 0.7, development)
string-scrub (<= 0.0.5, >= 0.0.3)
test-unit (~> 3.2, development)
test-unit-rr (~> 1.0, development)
timecop (~> 0.3, development)
tzinfo (>= 1.0.0)
tzinfo-data (>= 1.0.0)
yajl-ruby (~> 1.0)
Used by
fluent-plugin-detect-exceptions-0.0.8 (fluentd (~> 0.10))
fluent-plugin-kafka-0.6.6 (fluentd (< 2, >= 0.10.58))
fluent-plugin-remote_syslog-1.0.0 (fluentd (>= 0))
Gem fluentd-1.1.0
cool.io (< 2.0.0, >= 1.4.5)
dig_rb (~> 1.0.0)
flexmock (~> 2.0, development)
http_parser.rb (< 0.7.0, >= 0.5.1)
msgpack (< 2.0.0, >= 0.7.0)
oj (~> 2.14, development)
parallel_tests (~> 0.15.3, development)
rake (~> 11.0, development)
rr (~> 1.0, development)
serverengine (< 3.0.0, >= 2.0.4)
sigdump (~> 0.2.2)
simplecov (~> 0.7, development)
strptime (< 1.0.0, >= 0.2.2)
test-unit (~> 3.2, development)
test-unit-rr (~> 1.0, development)
timecop (~> 0.3, development)
tzinfo (~> 1.0)
tzinfo-data (~> 1.0)
yajl-ruby (~> 1.0)
Used by
fluent-plugin-elasticsearch-2.4.1 (fluentd (>= 0.14.8))
fluent-plugin-kafka-0.6.6 (fluentd (< 2, >= 0.10.58))
fluent-plugin-remote_syslog-1.0.0 (fluentd (>= 0))
Ok, looks like the newer version of fluentd is actually pulled in by fluent-plugin-elasticsearch
, but it's this plugin that's holding on to the old (v0.12) version. The latter is #21, and is fixed by 0.0.9. Can you pull in that version of fluent-plugin-detect-exceptions
and try again?
@igorpeshansky It has a new error
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:159:in `emit_events'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:96:in `emit_stream'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:87:in `emit'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:97:in `block (2 levels) in process_record'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/exception_detector.rb:276:in `update_buffer'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/exception_detector.rb:226:in `push'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:101:in `block in process_record'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:133:in `synchronize'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:88:in `process_record'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:80:in `block in emit'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:193:in `block in each'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:192:in `each'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:192:in `each'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:79:in `emit'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/compat/output.rb:164:in `process'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/output.rb:760:in `emit_sync'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:159:in `emit_events'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:96:in `emit_stream'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:87:in `emit'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:97:in `block (2 levels) in process_record'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/exception_detector.rb:276:in `update_buffer'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/exception_detector.rb:226:in `push'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:101:in `block in process_record'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:133:in `synchronize'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:88:in `process_record'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:80:in `block in emit'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:193:in `block in each'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:192:in `each'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:192:in `each'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:79:in `emit'
2018-01-20 09:02:02 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/compat/output.rb:164:in `process'
That's just the stack trace. Where's the error?
@igorpeshansky My error log
5921843 [http-nio-8080-exec-167] 2018-01-16 17:40:40,345 ERROR c.***.controller.***Controller - error
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:356)
at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:815)
at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:720)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:391)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:369)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96)
at com.***.controller.***Controller.getTileImg(***Controller.java:99)
at com.***.controller.***Controller$$FastClassBySpringCGLIB$$d6e66a9c.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:101)
at com.***.aspect.LogAspect.around(LogAspect.java:46)
at sun.reflect.GeneratedMethodAccessor216.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:643)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:632)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
at com.***.controller.***Controller$$EnhancerBySpringCGLIB$$5c7aab02.getTileImg(<generated>)
at sun.reflect.GeneratedMethodAccessor221.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:869)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:775)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:981)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:915)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:870)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:123)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:119)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:108)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:115)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:59)
at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:90)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134)
at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157)
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1267)
at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:670)
at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:450)
at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:388)
at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:644)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:123)
at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:235)
at org.apache.coyote.Response.doWrite(Response.java:541)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:351)
... 97 common frames omitted
Info log
491190720 [http-nio-8080-exec-183] 2018-01-22 08:28:29,222 INFO c.t.interceptor.AllInterceptor - accessToken = ZgZ6zz1RM1PNaGDeuJjYLg==,userId = 10000977,clientType = 7,userType = 0
491190720 [http-nio-8080-exec-183] 2018-01-22 08:28:29,222 INFO c.t.interceptor.AllInterceptor - redisKey = ACCESS_TOKEN_0_7_10000977
491190722 [http-nio-8080-exec-183] 2018-01-22 08:28:29,224 INFO c.t.interceptor.AllInterceptor - head accessToken = ZgZ6zz1RM1PNaGDeuJjYLg==
491190722 [http-nio-8080-exec-183] 2018-01-22 08:28:29,224 INFO c.t.interceptor.AllInterceptor - redis accessToken = ZgZ6zz1RM1PNaGDeuJjYLg==
491190722 [http-nio-8080-exec-183] 2018-01-22 08:28:29,224 INFO com.***.aspect.LogAspect - getMedicalByClient|/mrs/mrtypes/2,3,4|GET|***|***|***|{"clienttype":"7","referer":"https://***.***.com/home","x-forwarded-proto":"https","clientversion":"0","accept-language":"zh-CN,zh;q=0.9","deviceos":"0","origin":"https://***.***.com","x-forwarded-port":"443","usertype":"0","x-forwarded-for":"***","phonenum":"***","userid":"10000977","accept":"application/json, text/plain, */*","token":"ZgZ6zz1RM1PNaGDeuJjYLg==","x-real-ip":"***","x-forwarded-host":"***.***.com","deviceosversion":"0","host":"***.***.com","x-original-uri":"/mrs/mrtypes/2,3,4","connection":"close","x-scheme":"https","accept-encoding":"gzip, deflate, br","user-agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"}|null|0|***
access log
getMedicalByClient|/mrs/mrtypes/2,3,4|GET|***|***|***|{"clienttype":"7","referer":"https://***.***.com/home","x-forwarded-proto":"https","clientversion":"0","accept-language":"zh-CN,zh;q=0.9","deviceos":"0","origin":"https://***.***.com","x-forwarded-port":"443","usertype":"0","x-forwarded-for":"***","phonenum":"***","userid":"10000977","accept":"application/json, text/plain, */*","token":"ZgZ6zz1RM1PNaGDeuJjYLg==","x-real-ip":"***","x-forwarded-host":"***.***.com","deviceosversion":"0","host":"***.***.com","x-original-uri":"/mrs/mrtypes/2,3,4","connection":"close","x-scheme":"https","accept-encoding":"gzip, deflate, br","user-agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"}|null|0|***
search4Involved|/process/dealtTasks|GET|***|***|***|{"clienttype":"7","referer":"https://***.***.com/login","x-forwarded-proto":"https","clientversion":"0","accept-language":"zh-CN,zh;q=0.9","deviceos":"0","origin":"https://***.***.com","x-forwarded-port":"443","usertype":"0","x-forwarded-for":"***","phonenum":"***","userid":"10000977","accept":"application/json, text/plain, */*","token":"ZgZ6zz1RM1PNaGDeuJjYLg==","x-real-ip":"***","x-forwarded-host":"***.***.com","deviceosversion":"0","host":"***.***.com","x-original-uri":"/process/dealtTasks?startTime=&endTime=&pgIndex=0&pgCnt=10&status=&hospitalId=&medicalType=&keyword=","connection":"close","x-scheme":"https","accept-encoding":"gzip, deflate, br","user-agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"}|{"medicalType":"","hospitalId":"","pgCnt":"10","startTime":"","endTime":"","keyword":"","pgIndex":"0","status":""}|0|***
Thanks.
@jushiyuan Sorry to have been unclear. Your earlier comment about the new error showed a Ruby exception trace, but not the first line, which has the actual exception info. I'd need that first line to figure out what's going on.
@igorpeshansky I'm sorry to misunderstand what you mean. the logs:
2018-01-22 02:05:40 +0000 [error]: #0 unexpected error error_class=SystemStackError error="stack level too deep"
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:309:in `rescue in expand'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:298:in `expand'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:146:in `block in expand_placeholders'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:145:in `each_pair'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:145:in `expand_placeholders'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:135:in `reform'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:101:in `block in filter_stream'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:193:in `block in each'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:192:in `each'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event.rb:192:in `each'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/plugin/filter_record_transformer.rb:96:in `filter_stream'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:177:in `block in filter_stream'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:177:in `each'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:177:in `reduce'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:177:in `filter_stream'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:158:in `emit_events'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:96:in `emit_stream'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluentd-1.1.0/lib/fluent/event_router.rb:87:in `emit'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:97:in `block (2 levels) in process_record'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/exception_detector.rb:276:in `update_buffer'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/exception_detector.rb:226:in `push'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:101:in `block in process_record'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:133:in `synchronize'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:88:in `process_record'
2018-01-22 02:05:40 +0000 [error]: #0 /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-detect-exceptions-0.0.9/lib/fluent/plugin/out_detect_exceptions.rb:80:in `block in emit'
error log
fluentd config