Skip to content

Commit d7ab7b8

Browse files
author
Mike Kobyakov
committed
fix emit() behavior to return false if an error occurred; fix testReconnectAfterBufferFull() to flush at the end, rather then emit a new event and then flush
1 parent 5409db8 commit d7ab7b8

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/main/java/org/fluentd/logger/sender/RawSocketSender.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ private synchronized boolean send(byte[] bytes) {
171171
// send pending data
172172
flush();
173173

174-
return true;
174+
return reconnector.isErrorHistoryEmpty();
175175
}
176176

177177
@Override

src/test/java/org/fluentd/logger/sender/TestRawSocketSender.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ public void run() {
390390
}
391391
else {
392392
// Flush the sender's buffer after the fluentd starts
393-
sender.emit(tag, record);
393+
sender.flush();
394394
break;
395395
}
396396
}
@@ -408,4 +408,21 @@ public void run() {
408408
assertEquals(0, bufferFull.getCount());
409409
assertEquals(i, elist.size());
410410
}
411+
412+
@Test
413+
public void testError() throws Exception {
414+
// in this test we will not start a MockFluentd instance and expect to get a false value for emit()
415+
416+
// start sender
417+
int port = MockFluentd.randomPort();
418+
Sender sender = new RawSocketSender("localhost", port);
419+
String tag = "tag";
420+
Map<String, Object> record = new HashMap<String, Object>();
421+
record.put("num", port);
422+
423+
// send and check that the value is false
424+
assertTrue(!sender.emit(tag, record));
425+
426+
sender.close();
427+
}
411428
}

0 commit comments

Comments
 (0)