components/memcached/patches/02-memcached-items-c.patch
author Rich Burridge <rich.burridge@oracle.com>
Fri, 12 Jul 2013 09:49:41 -0700
branchs11-update
changeset 2675 fd073a927804
parent 2578 e11df23929df
permissions -rw-r--r--
17073718 Remove three incorrect "set name=com.oracle.info.tpno" lines.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2578
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     1
This patch fixes the memcached bug
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     2
https://code.google.com/p/memcached/issues/detail?id=306,
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     3
which is not yet fixed upstream as of memcached v1.4.15.
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     4
When we upgrade to an upstream version which fixes this problem,
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     5
we can delete this patch.
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     6
Part of the fix comes from the above bug location. 
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     7
The full fix is here:
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     8
http://debian.2.n7.nabble.com/attachment/2851013/0/memcached_1.4.13-0.2.debdiff
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
     9
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    10
--- memcached-1.4.5-orig/items.c	2010-04-03 00:07:16.000000000 -0700
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    11
+++ memcached-1.4.5/items.c	2013-03-15 16:26:17.095818000 -0700
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    12
@@ -468,9 +468,17 @@ item *do_item_get(const char *key, const
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    13
 
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    14
     if (settings.verbose > 2) {
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    15
         if (it == NULL) {
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    16
-            fprintf(stderr, "> NOT FOUND %s", key);
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    17
+            int ii;
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    18
+            fprintf(stderr, "> NOT FOUND ");
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    19
+            for (ii = 0; ii < nkey; ++ii) {
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    20
+                fprintf(stderr, "%c", key[ii]);
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    21
+            }
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    22
         } else {
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    23
-            fprintf(stderr, "> FOUND KEY %s", ITEM_key(it));
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    24
+            int ii;
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    25
+            fprintf(stderr, "> FOUND KEY ");
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    26
+            for (ii = 0; ii < it->nkey; ++ii) {
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    27
+                fprintf(stderr, "%c", ITEM_key(it)[ii]);
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    28
+            }
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    29
             was_found++;
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    30
         }
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    31
     }
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    32
--- memcached-1.4.5-orig/memcached.c	2010-04-03 12:51:29.000000000 -0700
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    33
+++ memcached-1.4.5/memcached.c	2013-01-15 17:30:53.964483000 -0800
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    34
@@ -2001,7 +2001,12 @@ static void process_bin_delete(conn *c)
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    35
     assert(c != NULL);
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    36
 
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    37
     if (settings.verbose > 1) {
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    38
-        fprintf(stderr, "Deleting %s\n", key);
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    39
+        int ii;
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    40
+        fprintf(stderr, "Deleting ");
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    41
+        for (ii = 0; ii < nkey; ++ii) {
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    42
+            fprintf(stderr, "%c", key[ii]);
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    43
+        }
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    44
+        fprintf(stderr, "\n");
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    45
     }
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    46
 
e11df23929df 16173842 problem in DATABASE/MEMCACHED
April Chin <april.chin@oracle.com>
parents:
diff changeset
    47
     if (settings.detail_enabled) {