提交 d1431cad 编写于 作者: wu-sheng's avatar wu-sheng

fix publish missing

上级 340dd221
...@@ -40,8 +40,8 @@ public class StorageListener implements SpanStorageListener { ...@@ -40,8 +40,8 @@ public class StorageListener implements SpanStorageListener {
@Override @Override
public boolean storage(RequestSpan requestSpan) { public boolean storage(RequestSpan requestSpan) {
long sequence = requestSpanRingBuffer.next(); // Grab the next sequence
try { try {
long sequence = requestSpanRingBuffer.next(); // Grab the next sequence
RequestSpanData data = requestSpanRingBuffer.get(sequence); RequestSpanData data = requestSpanRingBuffer.get(sequence);
data.setRequestSpan(requestSpan); data.setRequestSpan(requestSpan);
...@@ -51,13 +51,15 @@ public class StorageListener implements SpanStorageListener { ...@@ -51,13 +51,15 @@ public class StorageListener implements SpanStorageListener {
logger.error("RequestSpan trace-id[{}] store failure..", requestSpan.getTraceId(), e); logger.error("RequestSpan trace-id[{}] store failure..", requestSpan.getTraceId(), e);
HealthCollector.getCurrentHeathReading("StorageListener").updateData(HeathReading.ERROR, "RequestSpan store failure."); HealthCollector.getCurrentHeathReading("StorageListener").updateData(HeathReading.ERROR, "RequestSpan store failure.");
return false; return false;
} finally{
requestSpanRingBuffer.publish(sequence);
} }
} }
@Override @Override
public boolean storage(AckSpan ackSpan) { public boolean storage(AckSpan ackSpan) {
long sequence = ackSpanRingBuffer.next(); // Grab the next sequence
try { try {
long sequence = ackSpanRingBuffer.next(); // Grab the next sequence
AckSpanData data = ackSpanRingBuffer.get(sequence); AckSpanData data = ackSpanRingBuffer.get(sequence);
data.setAckSpan(ackSpan); data.setAckSpan(ackSpan);
...@@ -67,6 +69,8 @@ public class StorageListener implements SpanStorageListener { ...@@ -67,6 +69,8 @@ public class StorageListener implements SpanStorageListener {
logger.error("AckSpan trace-id[{}] store failure..", ackSpan.getTraceId(), e); logger.error("AckSpan trace-id[{}] store failure..", ackSpan.getTraceId(), e);
HealthCollector.getCurrentHeathReading("StorageListener").updateData(HeathReading.ERROR, "AckSpan store failure."); HealthCollector.getCurrentHeathReading("StorageListener").updateData(HeathReading.ERROR, "AckSpan store failure.");
return false; return false;
} finally{
requestSpanRingBuffer.publish(sequence);
} }
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册