[PCBC-180] PHP Warning: Couchbase::get() could not decompress value (bad content) Created: 17/Jan/13 Updated: 16/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | 1.1.1 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Andrey Nikishaev | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
CentOS 5.6
Linux CentOS-56-64-minimal 2.6.18-308.16.1.el5 #1 SMP Tue Oct 2 22:01:43 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux PHP 5.2.17 Coucbase 1.8 |
||
| Description |
|
Forum thread with bug history
http://www.couchbase.com/forums/thread/php-warning-couchbaseget-could-not-decompress-value-bad-content |
| Comments |
| Comment by Trond Norbye [ 16/Apr/13 ] |
| Could you post some code sample I could use to reproduce the error? What kind of data are you storing, do you encode them in any special way etc? |
[PCBC-164] Streamline tests Created: 14/Dec/12 Updated: 11/May/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | 1.1.0 |
| Fix Version/s: | 1.2.0 |
| Security Level: | Public |
| Type: | Task | Priority: | Critical |
| Reporter: | Mark Nunberg | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Tests right now are much slower than they should be, which also means that running them is turning into a much bigger hassle than it should be. Here are some things to do in order to make them quicker
1) Remove OO vs non-OO tests unless behavior is known to differ: Right now all our OO functions and non-OO functions traverse exactly the same code paths (not as previously when there would be different code paths for each). 2) Move slow tests into their own categories: Simple mutation functions should not be intermixed with long things like key durability ops. These should be in separate files -- thus also allowing us to exclude them somehow (either via make test, or through runwrap/phpunit) 3) Tests which are expected to fail or are inconclusive should be marked as such. |
[PCBC-220] error with "default" bucket. named bucket work OK: CouchbaseLibcouchbaseException Failed to get a value from server: Network error. Created: 13/Apr/13 Updated: 22/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | thanhbv | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | centos 6.4 x86_64. php-fpm 5.4.13-1.el6.remi.x86_64 | ||
| Description |
|
php-ext-couchbase version: https://github.com/couchbase/php-ext-couchbase/commit/ff2ed89c6255a2f364640b62d9930732ce597075
duplicates to # I use php-fpm 5.4.13-1.el6.remi.x86_64 ( with nginx-1.3.15-1.el6.ngx.x86_64). It work OK yesterday. But today: CouchbaseLibcouchbaseException Failed to get a value from server: Network error. $bk = isset($_GET['bk'])? $_GET['bk'] : 'default'; $cb = new Couchbase("$host:8091", 'user', 'password', $bk); $a = $cb->get('aaa'); //-> error here Error with /test.php (& /test.php?bk=default). But OK with /test.php?bk=mybk After: # service php-fpm restart Then all (with 'default' & with named bucket) test OK. I can not reproduce this error now. |
| Comments |
| Comment by thanhbv [ 15/Apr/13 ] |
|
yesterday, I update: php-fpm-5.4.14-1.el6.remi.x86_64, php-ext-couchbase 0f54569ebe34a80e225b85c7dcb5813ed86e351e tested OK. Now, the same error as above occur. After restart service php-fpm => OK Note: I run php-fpm (with couchbase ext) on a VMWare virtual machine and couchbase server 2.0.1 (enterprise edition build-170) on a physical machine. The VM is sometime suspended, sometime NOT connect to the server. (But when I run test, of course 2 machine is connected) |
| Comment by Matt Ingenthron [ 15/Apr/13 ] |
|
I suspect the network connection is getting dropped because of the idling time. Trond: do we need to worry about reconnect? Thanhbv: do you use persistent connections? What does your constructor for the client look like? |
| Comment by Trond Norbye [ 16/Apr/13 ] |
| I don't think you can use persistent connections in a configuration where you suspend and resume the vm so we won't look into this if thats the case. What is the output from the couchbase section of "php -i" ? |
| Comment by thanhbv [ 22/Apr/13 ] |
|
Yes, I think it use persistent connection. phpinfo(): _______________ couchbase couchbase support enabled version 1.1.4dp1 libcouchbase version 2.0.5 json support yes fastlz support yes zlib support yes Directive Local Value Master Value couchbase.compression_factor 1.3 1.3 couchbase.compression_threshold 2000 2000 couchbase.compressor none none couchbase.config_cache /var/cache/cb /var/cache/cb couchbase.durability_default_poll_interval 100000 100000 couchbase.durability_default_timeout 40000000 40000000 couchbase.instance.persistent On On couchbase.restflush On On couchbase.serializer json_array json_array couchbase.view_timeout 75 75 _______________ thank you. |
[PCBC-184] It would be nice to support the flags sections for the memcache extension Created: 22/Jan/13 Updated: 16/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Trond Norbye | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Simon Gavin [ 22/Jan/13 ] |
| I believe this is related to PCBC-180 |
| Comment by Matt Ingenthron [ 15/Apr/13 ] |
| Trond is this related to PCBC-180? In other words, is this more than an improvement? |
| Comment by Trond Norbye [ 16/Apr/13 ] |
| The intention of this RFE is to fall back to try to use the flag values as specified in the memcache extension if we fail to deserialize with the currently used flag values. |
[PCBC-227] setMulti doesn't support pure digit key Created: 30/Apr/13 Updated: 03/May/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | 1.1.2, 1.1.4 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Knee Oh | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Ubuntu 12.04 / Apache 2 / PHP5 / libcouchbase - 2.0.5 | ||
| Description |
|
This bug didn't exist in 1.1.0dp5, but I've seen it before in php-memcached. The issue is when issuing a setMulti() array into CB it doesn't like it if the key is not a string.
$key = 12345 $value = 67890 $value = json_encode($value); $array[$key] = $value; $cb_obj->setMulti($array,$expire); PHP Fatal error: Uncaught exception 'CouchbaseIllegalKeyException' with message 'Invalid key specified (not a string)' test2.php(67): Couchbase->setMulti(Array, 604800) The reference bug for php-memcached is: https://bugs.php.net/bug.php?id=59016 After experiencing the issue there I recompiled their newest version and it fixed the problem. I'm not sure if you can dovetail off of that work or not. |
| Comments |
| Comment by Knee Oh [ 30/Apr/13 ] |
| I forgot to mention, I'm loading a memcached bucket not a CB bucket. |
| Comment by Mark Nunberg [ 01/May/13 ] |
|
So the problem is here: https://github.com/couchbase/php-ext-couchbase/blob/9c1842fd5fd5c3e776ea85d85db1f7d5d5430c11/store.c#L673 Should look something like: https://github.com/couchbase/php-ext-couchbase/blob/9c1842fd5fd5c3e776ea85d85db1f7d5d5430c11/store.c#L189 The latter is smart enough to convert 'LONG' keys into strings, whereas the former just blindly complains. |
| Comment by Knee Oh [ 02/May/13 ] |
| Additional testing yields that even if I force the key to a string like strval($key); , if the string is purely digits the library will still complain. |
| Comment by Mark Nunberg [ 03/May/13 ] |
|
http://paste.scsys.co.uk/245952 I'd submit it to gerrit, but it appears to be down today. |
| Comment by Trond Norbye [ 03/May/13 ] |
| I've already got stuff for this but report in my repo.. it would probably be more efficient to synchronize with the people assigned to the bug reports before doing stuff... |
[PCBC-223] Docs: Instructions to find php.ini incorrect Created: 22/Apr/13 Updated: 11/May/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | docs |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/develop/php/current
"You will add the couchbase.so extension to your php.ini file. To find where your php.inifile is, try php -i | grep extension_dir or look at your <?php phpinfo() ?> output. Edit your php.ini to include these two lines:" Not correct..."extension_dir" should be "Configuration" and there should be another set of instructions for finding the extension directory |
| Comments |
| Comment by Karen Zeller [ 24/Apr/13 ] |
| Looks like this is broken again despite the info on JSON library for linux. Do you have the correct way to do this? |
[PCBC-125] Tests: require get validation to also ensure CAS is expected value Created: 28/Sep/12 Updated: 11/May/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
[PCBC-69] Add Pagination to the new 1.1.0 line. Created: 17/May/12 Updated: 13/May/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | 1.1.0-dp1 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | New Feature | Priority: | Major |
| Reporter: | Jan Lehnardt | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
We should bake in pagination into ext/couchbase
$result = $cb->view("ddoc", "viewname"); $pager = $result->getPager($rowsPerPage = 10); foreach($pager->nextPage() AS $page) { foreach($page->rows AS $row) { var_dump($row); } } |
| Comments |
| Comment by Matt Ingenthron [ 07/Nov/12 ] |
|
This should be implemented along with "logical" include_docs support. The idea behind logical include_docs is that when fetching a non-reduced view, if the user specifies include_docs, there is a way to access the document when iterating over the results. I'm relatively sure this may require further discussion. Grab me when you're ready to have a look at this issue. |
[PCBC-53] include windows in release Created: 22/Mar/12 Updated: 13/May/13 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | docs, library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Trond Norbye |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Once libcouchbase is in a release for Windows, there should be a PHP release to go along with it.
|
| Comments |
| Comment by Matt Ingenthron [ 07/Nov/12 ] |
| Trond: assigning to you to determine if still an issue and triage. |
| Comment by Karen Zeller [ 04/Dec/12 ] |
|
Added to RN: PHP SDK depends on Couchbase C SDK, which is not yet available on Windows. Therefore the PHP SDK is also
not on this platform. |