author | Rich Burridge <rich.burridge@oracle.com> |
Fri, 12 Jul 2013 09:49:41 -0700 | |
branch | s11-update |
changeset 2675 | fd073a927804 |
parent 2578 | e11df23929df |
permissions | -rw-r--r-- |
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) { |