@Test @SuppressWarnings("deprecation") public void testConstructionWithRelativeOffset() { TopicPartition tp = new TopicPartition("foo", 0); long timestamp = 2340234L; int keySize = 3; int valueSize = 5; long baseOffset = 15L; long relativeOffset = 3L; Long checksum = 908923L; RecordMetadata metadata = new RecordMetadata(tp, baseOffset, relativeOffset, timestamp, checksum, keySize, valueSize); assertEquals(tp.topic(), metadata.topic()); assertEquals(tp.partition(), metadata.partition()); assertEquals(timestamp, metadata.timestamp()); assertEquals(baseOffset + relativeOffset, metadata.offset()); assertEquals(checksum.longValue(), metadata.checksum()); assertEquals(keySize, metadata.serializedKeySize()); assertEquals(valueSize, metadata.serializedValueSize()); }
@Test @SuppressWarnings("deprecation") public void testConstructionWithMissingRelativeOffset() { TopicPartition tp = new TopicPartition("foo", 0); long timestamp = 2340234L; int keySize = 3; int valueSize = 5; Long checksum = 908923L; RecordMetadata metadata = new RecordMetadata(tp, -1L, -1L, timestamp, checksum, keySize, valueSize); assertEquals(tp.topic(), metadata.topic()); assertEquals(tp.partition(), metadata.partition()); assertEquals(timestamp, metadata.timestamp()); assertFalse(metadata.hasOffset()); assertEquals(-1L, metadata.offset()); assertEquals(checksum.longValue(), metadata.checksum()); assertEquals(keySize, metadata.serializedKeySize()); assertEquals(valueSize, metadata.serializedValueSize()); }
@Override public void onCompletion(RecordMetadata metadata, Exception exception) { if (exception != null) { log.warn("Failed to produce metrics message", exception); } else { log.debug("Produced metrics message of size {} with offset {} to topic partition {}-{}", metadata.serializedValueSize(), metadata.offset(), metadata.topic(), metadata.partition()); } } });
System.out.printf("Send record partition:%d, offset:%d, keysize:%d, valuesize:%d %n", metadata.partition(), metadata.offset(), metadata.serializedKeySize(), metadata.serializedValueSize());
private void updateMetrics(RecordMetadata metadata, Exception e) { if (e == null) { metrics.markSuccessMetrics(getRoad().getName(), metadata.serializedValueSize()); } else { metrics.markFailureMetrics(getRoad().getName()); } }