WSO2 API 管理器抛出无法将事件发送到端点错误

WSO2 API Manager throw Unable to send events to the endpoint errors

在我们的部署中(WSO2 API manager 2.0.0 All-in-One 2 node clustered with separate WSO2 DAS server),由于 SVN 存储库已损坏,depsync 出现问题。该问题已解决,但现在我们注意到 wso2carbon.log 中重复出现以下错误。

[2017-02-08 02:55:43,229] ERROR - DataEndpoint Unable to send events to the endpoint. 
org.wso2.carbon.databridge.agent.exception.DataEndpointException: Cannot send Events
    at org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint.send(ThriftDataEndpoint.java:83)
    at org.wso2.carbon.databridge.agent.endpoint.DataEndpoint$EventPublisher.publish(DataEndpoint.java:330)
    at org.wso2.carbon.databridge.agent.endpoint.DataEndpoint$EventPublisher.run(DataEndpoint.java:283)
    at java.lang.Thread.run(Thread.java:745)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketTimeoutException: Read timed out
    at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:129)
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
    at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
    at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
    at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
    at org.wso2.carbon.databridge.commons.thrift.service.general.ThriftEventTransmissionService$Client.recv_publish(ThriftEventTransmissionService.java:168)
    at org.wso2.carbon.databridge.commons.thrift.service.general.ThriftEventTransmissionService$Client.publish(ThriftEventTransmissionService.java:155)
    at org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint.send(ThriftDataEndpoint.java:76)
    ... 8 more
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
    at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)
    ... 16 more

因此我不确定是否与 SVN 存储库损坏有关,但是这个问题是我们在事件发生后观察到的。

澄清一下,这是指本地 thrift 服务器:

tcp        0      0 0.0.0.0:7611            0.0.0.0:*               LISTEN      1549/java
tcp        0      0 0.0.0.0:7711            0.0.0.0:*               LISTEN      1549/java 

或 DAS thrift 服务器?

tcp        0      0 0.0.0.0:7612            0.0.0.0:*               LISTEN      1560/java       
tcp        0      0 0.0.0.0:7712            0.0.0.0:*               LISTEN      1560/java       

两者似乎都可用。

这个错误对系统有什么影响?

感谢任何帮助。谢谢

这是数据发布到DAS。检查从 APIM 到 DAS 节点的连接。如果 thrift 绑定 IP 与请求的 IP 不同,就会发生这种情况。

影响是数据没有发布到 DAS。