[PCBC-212] make persistent connections on by default Created: 17/Mar/13 Updated: 17/Mar/13 Resolved: 17/Mar/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Trond Norbye |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
I think it's time to make the switch.
See: http://stackoverflow.com/questions/15451560/couchbase-php-sdk-slow-establishing-connection-to/15455411?noredirect=1#comment21878658_15455411 |
[PCBC-204] Persistent connections should be indexed on server list contents, not their order. Created: 13/Feb/13 Updated: 14/Feb/13 Resolved: 14/Feb/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | 1.0.4, 1.1.2 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Trond Norbye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
In the current state, we simply treat the connection parameter as a string.
An example use case may be of several clients trying to load-balance between various entry points nodes (EPTs). Such a strategy ensures that they aren't all hitting the same node for configuration requests. However when attempting to use this in conjunction with persistent connections, we have the consequence that each permutation of the "Server List" is treated as a separate key when using persistent connections; therefore something like: $base_list = array("1.1.1.1", "2.2.2.2", "3.3.3.3", "4.4.4.4"); for ($i = 0; $i < 1000; $i++) { $cur_list = $base_list; shuffle($cur_list); $cb = new Couchbase($cur_list, "", "", "", true); $cb->set("foo", "bar"); // other operations } In a nutshell, this code has a "base" set of four servers. In the "normal" initialization code, the list is copied and then shuffled around, so that the first server in the list is always something else. Since the first server in the list ends up becoming the EPT (unless the server is down, in which case the next node is used, etc.) this enables some kind of cheap load balancing. However this also means the order of the array is different, which means the "canonical connection key" is different, which means that when considering whether an existing connection is available, a new one is created. Since we have 4 servers in the list, there is a potential of having 4*4=16 different client objects per process. These objects will never die. The solution is then to "deconstruct" the connection string in such a way that the server list itself is always alphabetically sorted. The effective list (When actually connecting) will remain the same, but for indexing purposes, it shall be sorted. |
[PCBC-181] The documentation is wrong for get() in couchbase-api.php Created: 17/Jan/13 Updated: 18/Jan/13 Resolved: 18/Jan/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | docs |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Michael Nitschinger | Assignee: | Trond Norbye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | MacOS X, PHP 5.4 | ||
| Description |
|
I just discovered this while fixing a bug in Basement.
The $cas variable callback is not working on get() but works on getMulti(). Simple example: Works: $client->set("foo", "bar"); $cas = null; var_dump($client->getMulti(array("foo"), $cas)); var_dump($cas); array(1) { ["foo"]=> string(3) "bar" } array(1) { ["foo"]=> string(20) "11699665754086047744" } Doesn't work: $client->set("foo", "bar"); $cas = null; var_dump($client->get("foo", $cas)); var_dump($cas); string(3) "bar" NULL The doc gets returned properly, but the cas value is not set. Also, when you set $cas to "" or false (not null), then it complains with a dubios error: Warning: Couchbase::get() expects parameter 2 to be a valid callback, no array or string given in /Users/michael/Webserver/basement-test/index.php on line 10 Note that its a warning and not an exception on the OOP interface! |
| Comments |
| Comment by Michael Nitschinger [ 17/Jan/13 ] |
|
Okay after more investigation of course the notation is:
get(key, callback, cas) then only the documentation needs to be updated here: https://github.com/couchbase/php-ext-couchbase/blob/master/example/couchbase-api.php#L320 |
| Comment by Trond Norbye [ 18/Jan/13 ] |
| http://review.couchbase.org/#/c/24053/ |
[PCBC-177] inconsistent parameter setup for createBucket and modifyBucket Created: 02/Jan/13 Updated: 03/Jan/13 Resolved: 03/Jan/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Trond Norbye | Assignee: | Trond Norbye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
There is an inconsistency between the ZEND macros and the implementation
|
| Comments |
| Comment by Trond Norbye [ 02/Jan/13 ] |
| http://review.couchbase.org/#/c/23636/2 |
| Comment by Matt Ingenthron [ 02/Jan/13 ] |
| Can you add some additional detail. I can understand that there may be a bug in the macros, but the underlying change looks like we're just changing the API. I'm still confused by this one. Sorry to be slow. |
| Comment by Trond Norbye [ 03/Jan/13 ] |
| The macros say we take multiple parameters, but the implementation takes two where the first one is the name, the second is the properties |
[PCBC-175] released bundle should contain the example php ini file and the couchbase api file Created: 01/Jan/13 Updated: 03/Jan/13 Resolved: 03/Jan/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Trond Norbye | Assignee: | Trond Norbye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Trond Norbye [ 01/Jan/13 ] |
| http://review.couchbase.org/#/c/23645/1 |
[PCBC-174] Create a php file with "javadoc-style" comments describing the api Created: 31/Dec/12 Updated: 03/Jan/13 Resolved: 03/Jan/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Trond Norbye | Assignee: | Trond Norbye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
This allows users to add it to their IDE and get code completion and help (at least in NetBeans)
|
[PCBC-173] The php extension should have an example .ini file describing the tunables Created: 31/Dec/12 Updated: 18/Jan/13 Resolved: 18/Jan/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | 1.1.1 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Trond Norbye | Assignee: | Trond Norbye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
It is easier for people to edit a template than writing their own file ;)
|
| Comments |
| Comment by Trond Norbye [ 31/Dec/12 ] |
| http://review.couchbase.org/#/c/23634/ |
[PCBC-161] update tutorial to be based on sample database Created: 06/Dec/12 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase PHP client library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Blocker |
| Reporter: | Matt Ingenthron | Assignee: | Matt Ingenthron |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Update the PHP sample with a simple app that covers three things:
CRUD (just get/set is fine) JSON (PHP has this built in) querying views Optionally, do this with Twitter Bootstrap (as Michael and Sergey are using). Not required. It should be a webapp though. This should pick up after the getting started guide which Karen is updating. |
| Comments |
| Comment by Michael Nitschinger [ 22/Jan/13 ] |
| I lost track on this, but is this considered finished with my tutorial? |
| Comment by Trond Norbye [ 10/May/13 ] |
| Closing this issue with now that we have Michaels tutorial. Create a new one if we need more examples |
[PCBC-156] PHP GA Content Created: 04/Dec/12 Updated: 10/Jan/13 Resolved: 10/Jan/13 |
|
| Status: | Closed |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Epic | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Karen Zeller |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
1. Release Notes - prio two.
- Incidents under PCBC: http://www.couchbase.com/issues/secure/ReleaseNote.jspa?projectId=10049&version=10242 - Matt will have some more items to add. - .net and Java - check out look at front matter, especially java 2. Getting Starting: at develop/php/next - top prio. -- create content in getting-started.xml - grab subset and put into Drupal, renumber - Matt to get me Drupal access - Get the install from the develop page on PHP from. Matt - will send. - Model the content after Ruby 1.2 for install: develop/ruby/next - Model the "try it out" after .net at develop/net/next to introduce JSON 3. note API methods signatures put by MC **(Item still outstanding - Beer App in PHP should be available as of week of 12/10) 4. Tutorial: Priority 3. Issue is webchat -Beer app in .net, ruby, and java -Reuse two-phase commit? No. -Leave existing Webchat application up for now -Matt is talking to Trond about minimal crud and views. Check in with Matt |
| Comments |
| Comment by Karen Zeller [ 06/Dec/12 ] |
|
After you log in, you'll have a black bar across the top for some
administrative kinds of capabilities. Don't worry about that too much. Mostly, you'll want to head to: http://www.couchbase.com/develop/php/next When you're there, you'll be able to edit the page. Go here: http://www.couchbase.com/user IMPORTANT!! Make sure any edits are done as a revision. We always have review before publishing. In this case, we can probably publish straight away, but you'll still want review. Notes: modeled after the ruby page for steps 0 & 1 since the steps are similar modeled after the .NET page for step 2 where it covers bootstrapping, basic CRUD, introduces JSON and using JSON, then introduces views ****Add info about removing old C library before you get new one....) |
| Comment by Karen Zeller [ 10/Jan/13 ] |
| completed end of december |
| Comment by Karen Zeller [ 10/Jan/13 ] |
| completed end of december |
[PCBC-146] Create a windows php-5.3.17-Win32-VC9-x86 thread-safe build of the current 1.1 tree Created: 12/Nov/12 Updated: 02/Apr/13 Resolved: 02/Apr/13 |
|
| Status: | Closed |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Task | Priority: | Critical |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
Please create what's in the summary line, and simply attach it here.
|
| Comments |
| Comment by Matt Ingenthron [ 12/Nov/12 ] |
| Please |
| Comment by Matt Ingenthron [ 12/Nov/12 ] |
|
Whoops. Premature enter key.
Richard: please let us know how this binary works out for you. Thanks! |
| Comment by Richard Wharton [ 13/Nov/12 ] |
|
Thanks. I am now up and running.
PHP Version => 5.3.17 Compiler => MSVC9 (Visual C++ 2008) Thread Safety => enabled Host => i386-pc-win32 couchbase support => enabled couchbase.compression_factor => 1.3 => 1.3 couchbase.compression_threshold => 2000 => 2000 couchbase.compressor => none => none couchbase.durability_default_poll_interval => 100000 => 100000 couchbase.durability_default_timeout => 4000000 => 4000000 couchbase.serializer => php => php |
| Comment by Mark Nunberg [ 13/Nov/12 ] |
| reopening to upload modified binary |
| Comment by Trond Norbye [ 14/Nov/12 ] |
|
Mark: could you post information about:
1. the php source code used 2. the configure options THat'll make it easier to reproduce the setup |
| Comment by Mark Nunberg [ 14/Nov/12 ] |
|
http://windows.php.net/downloads/releases/php-5.3.18-src.zip
configure options: --disable-all --enable-cli --with-couchbase=shared --with-json (or is it --enable-json). I needed to modify the php couchbase source to compile json (changeset pending) on win32; as the normal header/config checking did not do the trick. |
| Comment by Trond Norbye [ 02/Apr/13 ] |
| This is obsolete (and a duplicate of the one we've got to support windows) |
[PCBC-133] connection options needs updating in 1.1 docs Created: 08/Oct/12 Updated: 18/Feb/13 Resolved: 18/Feb/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | 1.1.0-dp4 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Matt Ingenthron | Assignee: | MC Brown |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
For 1.0.5, we updated the connection options about redundant connections. We need to bring those changes over to the 1.1. documentation as well.
|
| Comments |
| Comment by Matt Ingenthron [ 08/Oct/12 ] |
|
Also, note the API docs says the API call to new Couchbase() is : new Couchbase($url, $username, $password [, $persistent ]) .... but it's actually, $url, $username,$password, $bucket, $persisten..
See: http://www.couchbase.com/docs/couchbase-sdk-php-1.1/api-reference-connection.html |
| Comment by Karen Zeller [ 15/Feb/13 ] |
| MC is handling updates to the C library as well as PHP library in metadocs. |
| Comment by MC Brown [ 18/Feb/13 ] |
| I've updated the API reference, narrative, and default options to show the correct values and connection options. I've also added the information on redundant connections and examples |
[PCBC-130] Remove mention of pecl-memcache and pecl-memcached from http://www.couchbase.com/develop Created: 14/Jun/12 Updated: 16/Apr/13 Resolved: 16/Apr/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | docs |
| Affects Version/s: | 1.1.0 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Matt Ingenthron |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | customer | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Is this docs or client library?
Anyway, a customer somehow missed the big "PHP 1.0" link at the top of the page and thought that he had to use pecl-memcache*. let's remove those now that we have native PHP support. |
| Comments |
| Comment by Matt Ingenthron [ 15/Oct/12 ] |
|
The reason I did that is I wanted to communicate that we're compatible there, since pecl-memcache (not so much memcached, since we're compatible there) is so popular.
I think I'd rather leave it, but make it more clear some other way. Do you think an additional sentence or two would do it? |
| Comment by Matt Ingenthron [ 16/Apr/13 ] |
| With recent website changes, it got worse so I just removed them. Also, we're now in PECL, with plans to fully be in PECL soon. |
[PCBC-126] Tests: Make view helper script in PHP Created: 28/Sep/12 Updated: 12/Mar/13 Resolved: 12/Mar/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | library |
| Affects Version/s: | 1.1.0-dp5, 1.1.0 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Task | Priority: | Minor |
| Reporter: | Mark Nunberg | Assignee: | Mark Nunberg |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
It currently uses a short perl script to create the view and design doc. This should be done in PHP if possible
|
| Comments |
| Comment by Mark Nunberg [ 12/Mar/13 ] |
| I believe this has already been completed by trond. |
[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-105] Update the docs to show all PHP methods options Created: 27/Aug/12 Updated: 30/Jan/13 Resolved: 30/Jan/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | docs |
| Affects Version/s: | 1.0.5, 1.1.0-dp2 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Sergey Avseyev | Assignee: | MC Brown |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/docs/couchbase-sdk-php-1.0/api-reference-update.html#table-couchbase-sdk_php_increment
Here is the output of 'grep proto couchbase.c' on both branches: https://gist.github.com/26f376a604ad62fe2d89 |
| Comments |
| Comment by Matt Ingenthron [ 12/Nov/12 ] |
| MC: Can you help Karen get what she needs to be able to get this in place this week? Thanks! |
| Comment by MC Brown [ 30/Jan/13 ] |
| All of the PHP options have now been added to the documentation, and their information and detail expanded to cover supplied values, returned values, errors and exceptions. |
[PCBC-102] Provide Consistent Order of Parameters Created: 24/Aug/12 Updated: 16/Dec/12 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Karen Zeller | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Provide consistent, predictable order for method parameters as other SDKS.
|
[PCBC-101] Provide Standardized Logging Created: 24/Aug/12 Updated: 16/Dec/12 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Karen Zeller | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Provides the consistent level of logging provided by other SDKs. Provide more information on configuring logging for developers.
|
[PCBC-96] Create compatibility layer for flags in PHP Created: 10/Aug/12 Updated: 16/Dec/12 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | 1.1.0 |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
In |
[PCBC-84] Add experimental replica read command Created: 12/Jul/12 Updated: 02/Apr/13 Resolved: 02/Apr/13 |
|
| Status: | Resolved |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Trond Norbye |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Implement a simple replica read command
|
| Comments |
| Comment by Matt Ingenthron [ 18/Sep/12 ] |
| This is not a required feature for 1.1, but it would be nice to have. |
[PCBC-24] deploying to download locations directly from CI Created: 12/Jan/12 Updated: 16/Dec/12 |
|
| Status: | Open |
| Project: | Couchbase PHP client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Security Level: | Public |
| Type: | Task | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The idea here is that non-releases should automatically upload deploy to one location, and releases should automatically deploy to a different location.
|