You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by jm...@apache.org on 2011/08/10 09:54:05 UTC
svn commit: r1156056 - in /incubator/flume/trunk/flume-core/src:
main/java/com/cloudera/flume/handlers/avro/
main/java/com/cloudera/flume/handlers/thrift/
test/java/com/cloudera/flume/handlers/avro/
test/java/com/cloudera/flume/handlers/thrift/
Author: jmhsieh
Date: Wed Aug 10 07:54:04 2011
New Revision: 1156056
URL: http://svn.apache.org/viewvc?rev=1156056&view=rev
Log:
FLUME-719: Flume attribute field map from Avro|ThriftEventConvertUtil.toFlumeEvent() should be mutable
Modified:
incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/avro/AvroEventConvertUtil.java
incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/thrift/ThriftEventConvertUtil.java
incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/avro/TestAvroEventConvertUtil.java
incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/thrift/TestThriftEventConvertUtil.java
Modified: incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/avro/AvroEventConvertUtil.java
URL: http://svn.apache.org/viewvc/incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/avro/AvroEventConvertUtil.java?rev=1156056&r1=1156055&r2=1156056&view=diff
==============================================================================
--- incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/avro/AvroEventConvertUtil.java (original)
+++ incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/avro/AvroEventConvertUtil.java Wed Aug 10 07:54:04 2011
@@ -143,7 +143,7 @@ public class AvroEventConvertUtil {
private static Map<String, byte[]> getAttrs(
Map<CharSequence, ByteBuffer> fields) {
if (fields == null) {
- return Collections.<String, byte[]> emptyMap();
+ return new HashMap<String, byte[]>();
}
HashMap<String, byte[]> tempMap = new HashMap<String, byte[]>();
for (CharSequence u : fields.keySet()) {
Modified: incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/thrift/ThriftEventConvertUtil.java
URL: http://svn.apache.org/viewvc/incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/thrift/ThriftEventConvertUtil.java?rev=1156056&r1=1156055&r2=1156056&view=diff
==============================================================================
--- incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/thrift/ThriftEventConvertUtil.java (original)
+++ incubator/flume/trunk/flume-core/src/main/java/com/cloudera/flume/handlers/thrift/ThriftEventConvertUtil.java Wed Aug 10 07:54:04 2011
@@ -150,7 +150,7 @@ class ThriftEventConvertUtil {
private static Map<String, byte[]> getAttrs(ThriftFlumeEvent evt) {
if (evt.fields == null) {
- return Collections.<String, byte[]> emptyMap();
+ return new HashMap<String, byte[]>();
}
Map<String, ByteBuffer> tempMap = Collections.unmodifiableMap(evt.fields);
Map<String, byte[]> returnMap = new HashMap<String, byte[]>();
@@ -158,7 +158,7 @@ class ThriftEventConvertUtil {
ByteBuffer buf = tempMap.get(key);
returnMap.put(key, buf.array());
}
- return Collections.unmodifiableMap(returnMap);
+ return returnMap;
}
}
Modified: incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/avro/TestAvroEventConvertUtil.java
URL: http://svn.apache.org/viewvc/incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/avro/TestAvroEventConvertUtil.java?rev=1156056&r1=1156055&r2=1156056&view=diff
==============================================================================
--- incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/avro/TestAvroEventConvertUtil.java (original)
+++ incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/avro/TestAvroEventConvertUtil.java Wed Aug 10 07:54:04 2011
@@ -112,4 +112,19 @@ public class TestAvroEventConvertUtil {
EventImpl.select(e);
}
+ /**
+ * Test to make sure when a avro event is converted into a flume event,
+ * the event can be extended with new attributes.
+ */
+ @Test
+ public void testAddAttr() {
+ AvroFlumeEvent afe = AvroEventConvertUtil.toAvroEvent(testEvent);
+ Event e = AvroEventConvertUtil.toFlumeEvent(afe);
+ e.set("test", "data".getBytes());
+
+ AvroFlumeEvent afeNull = new AvroFlumeEvent();
+ Event e2 = AvroEventConvertUtil.toFlumeEvent(afeNull);
+ e2.set("test", "data".getBytes());
+ }
+
}
Modified: incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/thrift/TestThriftEventConvertUtil.java
URL: http://svn.apache.org/viewvc/incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/thrift/TestThriftEventConvertUtil.java?rev=1156056&r1=1156055&r2=1156056&view=diff
==============================================================================
--- incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/thrift/TestThriftEventConvertUtil.java (original)
+++ incubator/flume/trunk/flume-core/src/test/java/com/cloudera/flume/handlers/thrift/TestThriftEventConvertUtil.java Wed Aug 10 07:54:04 2011
@@ -29,6 +29,8 @@ import org.junit.Test;
import com.cloudera.flume.conf.FlumeConfiguration;
import com.cloudera.flume.core.Event;
import com.cloudera.flume.core.EventImpl;
+import com.cloudera.flume.handlers.avro.AvroEventConvertUtil;
+import com.cloudera.flume.handlers.avro.AvroFlumeEvent;
public class TestThriftEventConvertUtil {
@@ -102,4 +104,18 @@ public class TestThriftEventConvertUtil
EventImpl.select(e);
}
+ /**
+ * Test to make sure when a thrift event is converted into a flume event,
+ * the event can be extended with new attributes.
+ */
+ @Test
+ public void testAddAttr() {
+ ThriftFlumeEvent tfe = ThriftEventConvertUtil.toThriftEvent(testEvent);
+ Event e = ThriftEventConvertUtil.toFlumeEvent(tfe);
+ e.set("test", "data".getBytes());
+
+ ThriftFlumeEvent tfeNull = new ThriftFlumeEvent();
+ Event e2 = ThriftEventConvertUtil.toFlumeEvent(tfeNull);
+ e2.set("test", "data".getBytes());
+ }
}