[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 #PCBC-169, but with php 5.4

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.




Generated at Thu May 23 16:40:22 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.