[NCBC-209] Mistake in http://www.couchbase.com/develop/net/current document Created: 22/Jan/13  Updated: 03/Apr/13  Resolved: 03/Apr/13

Status: Closed
Project: Couchbase .NET client library
Component/s: docs
Affects Version/s: 1.2.0
Fix Version/s: 1.2.4

Type: Bug Priority: Major
Reporter: Vijayaraghavan Mohanasundaram Assignee: Matt Ingenthron
Resolution: Fixed Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Microsoft Windows, ,Net


 Description   
Hi Team,
   There is a bug in document, that needs to be corrected.

Document Link "http://www.couchbase.com/develop/net/current"

Issue reported : 'Instantiating the Client' section

    public static class CouchbaseManager
    {
    private readonly static CouchbaseClient _instance;
    static CouchbaseClient()
    {
    _instance = new CouchbaseClient();
    }
    public static CouchbaseClient Instance { get { return _instance; } }
    }

Error to be rectified : 4th line static CouchbaseClient() should be -> static CouchbaseManager()

 Comments   
Comment by John Zablocki [ 19/Feb/13 ]
Another fix in the latest revision for that page




[NCBC-150] Increment examples show incorrect initialization of key Created: 07/Nov/12  Updated: 06/Feb/13  Resolved: 06/Feb/13

Status: Resolved
Project: Couchbase .NET client library
Component/s: docs
Affects Version/s: 1.1.6
Fix Version/s: 1.2.1

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: John Zablocki
Resolution: Fixed Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
http://www.couchbase.com/docs/couchbase-sdk-net-1.1/couchbase-sdk-net-update-increment.html

All of the examples on this page show the default value as an integer when in reality it needs to be enclosed in quotes in order to function properly. There should also be a note/warning in the documentation warning users of this idiosyncrasy


 Comments   
Comment by John Zablocki [ 08/Jan/13 ]
The default value should be a ulong as shown in the docs. I've updated the docs (and sent a pull request) to note that it's not possible to use with Store.

https://github.com/enyim/EnyimMemcached/issues/86
Comment by Perry Krug [ 09/Jan/13 ]
Hey John, thanks for taking a look at this.

What do you mean that it's not possible to use with Store? Do you mean it's not supported to initialize a counter with store, or just that you can't use a ulong?
Comment by John Zablocki [ 09/Jan/13 ]
Well, technically (as you noted) it will work to set a string value via Store and then increment it, but I think that's unintentional behavior and works only because (as Attila pointed out in the linked issue) of the way counters are treated on the server. The correct use of the API should be to initialize a counter with Increment or Decrement by setting the default value.

Either way I think there's an intentional step imposed on the developer. I think it's better to discourage setting a value as a string to initialize a counter, since that's not very intuitive.

Thoughts?
Comment by Perry Krug [ 09/Jan/13 ]
Thanks for the clarification, makes perfect sense to me.

I do, however, think we need to make that distinction clearer in the docs, both on the increment side and the store side to let customers know what the best practices are (what to do is good, what NOT to do is even more important IMO)

Thanks
Comment by John Zablocki [ 05/Feb/13 ]
Released
Comment by Perry Krug [ 06/Feb/13 ]
Hey John, could you fill in the links of the areas that changed?

Thanks
Comment by Perry Krug [ 06/Feb/13 ]
Never mind, I see it now: http://www.couchbase.com/docs/couchbase-sdk-net-1.2/couchbase-sdk-net-update-increment.html




[NCBC-144] CreateDesignDocument() exception Created: 21/Oct/12  Updated: 18/Jan/13  Resolved: 18/Jan/13

Status: Closed
Project: Couchbase .NET client library
Component/s: library
Affects Version/s: 1.2 Beta
Fix Version/s: 1.2.1

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: Perry Krug
Resolution: Fixed Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
On a Windows 7 x64 VM, single node cluster, Couchbase 2.0 beta, freshly downloaded and installed, I am getting the following exception:
System.Net.WebException was unhandled
  HResult=-2146233079
  Message=The remote server returned an error: (500) Internal Server Error.
  Source=System
  StackTrace:
       at System.Net.HttpWebRequest.GetResponse()
       at Couchbase.Helpers.HttpHelper.doRequest(Uri uri, String verb, String username, String password, String postData, String contentType) in c:\Cloud\Platform\PlatformSpike\Reference Assemblies\Couchbase\Couchbase\Helpers\HttpHelper.cs:line 77
       at Couchbase.Helpers.HttpHelper.Put(Uri uri, String username, String password, String postData, String contentType) in c:\Cloud\Platform\PlatformSpike\Reference Assemblies\Couchbase\Couchbase\Helpers\HttpHelper.cs:line 42
       at Couchbase.Management.CouchbaseCluster.CreateDesignDocument(String bucket, String name, String document) in c:\Cloud\Platform\PlatformSpike\Reference Assemblies\Couchbase\Couchbase\Management\CouchbaseCluster.cs:line 115
       at Platform.Data.Couchbase.Provisioning.CouchbaseProvisioning.CreateDesignDocument(String bucketName, String name, DesignDocument document) in c:\Cloud\Platform\PlatformSpike\Platform.Data.Couchbase.Provisioning\ProvisioningClient.cs:line 217
       at Platform.Data.Couchbase.Provisioning.CouchbaseProvisioning.Execute() in c:\Cloud\Platform\PlatformSpike\Platform.Data.Couchbase.Provisioning\ProvisioningClient.cs:line 56
       at CouchbaseUpdater.Program.Main(String[] args) in c:\Cloud\Platform\PlatformSpike\CouchbaseUpdater\Program.cs:line 26
  InnerException:
 
The server log contains the following entry, but I'm not sure if it is related:
Client-side error-report for user "admin" on node 'ns_1@192.168.54.178':
User-Agent:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Got unhandled error: Object doesn't support this action
At: http://192.168.54.178:8091/js/cells.js:64
Backtrace:
Function: collectBacktraceViaCaller
Args:
---------
Function: appOnError
Args:
"Object doesn't support this action"
"http://192.168.54.178:8091/js/cells.js"
64
30
---------
Function: (function () {throw e;})
Args:
---------
(repeated 1 times)
 
Those are the parameters to the doRequest() method:
uri = http://192.168.54.178:8092/tenants/_design/tenant_views
verb = PUT
contentType = application/json
username = admin
password = password
postData =
{
  "views": {
    "tenants_all": {
      "map": "function(doc,meta) \r\n{\r\n\tif (doc.Schema === \"tenant\") \r\n\t{ \r\n\t\temit(meta.id, null); \r\n\t} \r\n}"
    },
    "tenants_by_status": {
      "map": "function (doc,meta) \r\n{ \r\n\tif (doc.Schema === \"tenant\" && doc.Status) \r\n\t{ \r\n\t\temit(doc.Status, null); \r\n\t} \r\n}"
    },
    "tenants_by_user_application_instance": {
      "map": "function(doc,meta) \r\n{\r\n\tif (doc.Schema === \"tenant\" && doc.UserId && doc.TenantIdentifiers && identifier.Status === 1) \r\n\t{ \r\n\t\tfor (var i = 0; i < doc.TenantIdentifiers.length; i++) \r\n\t\t{\r\n\t\t\tvar identifier = doc.TenantIdentifiers[i];\r\n\t\t\tif (identifier.ApplicationInstanceId)\r\n\t\t\t{\r\n\t\t\t\temit([doc.UserId, identifier.ApplicationInstanceId], null); \r\n\t\t\t}\r\n\t\t}\r\n\t} \r\n}"
    }
  }
}
 
On the client I am using the compiled latest .NET source code from GitHub with no modifications.

 Comments   
Comment by John Zablocki [ 22/Oct/12 ]
Could we get a code snippet for the call that was made for this failure? I've used the client recently with Win7 64 and CBS Beta and haven't had any issues.

I have a partially completed demo app @ https://github.com/jzablocki/couchbase-beer.net/blob/master/src/CouchbaseBeersWeb/Models/WebRepositoryBase%271.cs#L140 that creates views.
Comment by John Zablocki [ 18/Jan/13 ]
Perry - haven't heard back on this issue. The 500 error was likely due to a bad view name or something similar. Closing this issue for now. The fix for NCBC-165 means better error handling.




[NCBC-143] Provide UpdateBucket functionality Created: 21/Oct/12  Updated: 21/Nov/12  Resolved: 21/Nov/12

Status: Closed
Project: Couchbase .NET client library
Component/s: library
Affects Version/s: 1.2 Beta
Fix Version/s: 1.2 Beta-2

Type: Improvement Priority: Major
Reporter: Perry Krug Assignee: John Zablocki
Resolution: Fixed Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Customer request to enhance cluster management capabilities with UpdateBucket.

 Comments   
Comment by John Zablocki [ 21/Nov/12 ]
Published and tagged




[NCBC-142] ListBuckets/ListBuckets do not map the complete bucket JSON to an Object graph. Created: 21/Oct/12  Updated: 21/Nov/12  Resolved: 21/Nov/12

Status: Closed
Project: Couchbase .NET client library
Component/s: library
Affects Version/s: 1.2 Beta
Fix Version/s: 1.2 Beta-2

Type: Improvement Priority: Major
Reporter: Perry Krug Assignee: John Zablocki
Resolution: Fixed Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Customer request to map the rest of the properties.

 Comments   
Comment by John Zablocki [ 21/Nov/12 ]
Published and tagged




[NCBC-140] .NET client unavailable to service operations without connection to streaming API Created: 25/Apr/12  Updated: 07/Dec/12  Resolved: 30/Oct/12

Status: Closed
Project: Couchbase .NET client library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.2.0

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: John Zablocki
Resolution: Duplicate Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
When the client is configured with just one address (an HA proxy for example), and receives a timeout. Because this is the only server in the list, the client waits a full second before attempting to reconnect. During this time, all operations fail until it reconnects. There is another enhancement pending (http://www.couchbase.com/issues/browse/NCBC-36) to improve some of that behavior.

However, this bug is for the larger problem of not being able to service requests without a connection to the streaming API even though the vbucket map is still valid.

 Comments   
Comment by John Zablocki [ 30/Oct/12 ]
Similar problem as described in NCBC-134.




[NCBC-44] Optimize multiple set (multi-set or mset bulk update) with setq Created: 21/May/12  Updated: 05/Oct/12

Status: Open
Project: Couchbase .NET client library
Component/s: library
Affects Version/s: 1.1
Fix Version/s: 1.3

Type: New Feature Priority: Major
Reporter: Tim Smith Assignee: John Zablocki
Resolution: Unresolved Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The Java client, and others, implement a more efficient bulk loading feature when multiple updates are sent to the cluster at one time. They use setq to send multiple requests without needing to round-trip the result after each one.

The .NET client does not implement this; it only implements a multi-get operation. The multi-set is important for efficiently loading data.

This probaby doesn't have to be Couchbase-specific, but would apply to vanilla memcached servers, too.

 Comments   
Comment by Tim Smith [ 21/May/12 ]
To be clear, I'm talking about the kind of optimization described here:

http://dustin.github.com/2009/09/23/spymemcached-optimizations.html

Thanks,

Tim




[NCBC-34] Separate timeouts for HTTP connections and data connections Created: 30/Mar/12  Updated: 21/Nov/12  Resolved: 21/Nov/12

Status: Closed
Project: Couchbase .NET client library
Component/s: library
Affects Version/s: 0.9
Fix Version/s: 1.2 Beta-2

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: John Zablocki
Resolution: Fixed Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The current timeout values are applied equally to both the HTTP and data connections. However, these have different performance characteristics and need to be configured separately.

 Comments   
Comment by John Zablocki [ 21/Nov/12 ]
Published and tagged




Generated at Sat May 18 13:53:36 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.