@louiscryan I think this can be closed ?
 @louiscryan - thanks!

Headers.set(self) and Headers.setAll(self) are inconsistent
The former will throw, the latter is a no-op.

codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java
codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java
codec-http/src/test/java/io/netty/handler/codec/http/HttpHeadersTest.java codec/src/test/java/io/netty/handler/codec/DefaultHeadersTest.java
diff --git a/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java b/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java
index 995a9268144..ead9f0a5562 100644
--- a/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java
+++ b/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java
@@ -539,7 +539,7 @@ public T setShort(K name, short value) {
     public T set(Headers<? extends K, ? extends V, ?> headers) {
         checkNotNull(headers, "headers");
         if (headers == this) {
-            throw new IllegalArgumentException("can't add to itself.");
+            return thisT();
         }
         clear();
         if (headers instanceof DefaultHeaders) {

diff --git a/codec-http/src/test/java/io/netty/handler/codec/http/HttpHeadersTest.java b/codec-http/src/test/java/io/netty/handler/codec/http/HttpHeadersTest.java
index bfd93b5143d..a4ab3eb3335 100644
--- a/codec-http/src/test/java/io/netty/handler/codec/http/HttpHeadersTest.java
+++ b/codec-http/src/test/java/io/netty/handler/codec/http/HttpHeadersTest.java
@@ -76,9 +76,11 @@ public void testAddSelf() {
         headers.add(headers);
     }
 
-    @Test(expected = IllegalArgumentException.class)
-    public void testSetSelf() {
+    @Test
+    public void testSetSelfIsNoOp() {
         HttpHeaders headers = new DefaultHttpHeaders(false);
+        headers.add("name", "value");
         headers.set(headers);
+        assertEquals(1, headers.size());
     }
 }
diff --git a/codec/src/test/java/io/netty/handler/codec/DefaultHeadersTest.java b/codec/src/test/java/io/netty/handler/codec/DefaultHeadersTest.java
index 5f8472c3854..ceee0b80be6 100644
--- a/codec/src/test/java/io/netty/handler/codec/DefaultHeadersTest.java
+++ b/codec/src/test/java/io/netty/handler/codec/DefaultHeadersTest.java
@@ -390,9 +390,11 @@ public void testAddSelf() {
         headers.add(headers);
     }
 
-    @Test(expected = IllegalArgumentException.class)
-    public void testSetSelf() {
+    @Test
+    public void testSetSelfIsNoOp() {
         TestDefaultHeaders headers = newInstance();
+        headers.add("name", "value");
         headers.set(headers);
+        assertEquals(1, headers.size());
     }
 }
