[JCBC-280] Provision for auth failure in case of calling createBucket in the same txn twice and adding updateBucket functionality Created: 04/Apr/13 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Deepti Dawar | Assignee: | Deepti Dawar |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
There are three ways using which we are creating connection in the java client to the server.
1) ClusterManager 2) BucketTool Both of these classes internally call the ClusterManager.createBucket for creation of the bucket. Now if I am using all the three instances of the above classes in a single function, the bucket information is overridden without any checks. Ideally using any of the connection classes if I have created a SASL bucket with some information like bucket name = 'SaslBucket', bucket password = 'password', I should not be allowed to change the password using instance of another class. There should be auth failure error being returned the second time client tries to connect to the same bucket. Server supports this because there is an Edit Bucket functionality at the server for the same. There should be a means of distinction in the request that we want to create the bucket or update. In case of bucket creation duplicity should be checked where as in case of update this should be allowed as is. Also, the expectation is that, the user might update the bucket information if he requires to change the password or other details, by explicitly calling updateBucket method which is currently not available. |
| Comments |
| Comment by Deepti Dawar [ 05/Apr/13 ] |
|
Alright.
Consider the following piece of code : public void testCreateSaslBktBadPswd() throws Exception { manager.createNamedBucket(BucketType.COUCHBASE, "bucket1", 100, 0, "password", false); List<URI> uris = new LinkedList<URI>(); uris.add(URI.create("http://" + TestConfig.IPV4_ADDR + ":8091/pools")); new CouchbaseConnectionFactory(uris, "bucket1", "password12"); new CouchbaseClient(uris, "bucket1", "password123"); BucketTool bt = new BucketTool(); bt.createSaslBucket("bucket1", BucketType.COUCHBASE, 1, 2, true); } Here, using cluster manager instance, we create a SASL bucket i.e. bucket1 with password as password. Next you would see the usage of CouchbaseConnectionFactory instance which is trying to manipulate the same bucket, bucket1. It overrides the password to password12. Here it internally calls createBucket again without checking whether such a bucket already exists or not. Another attempt is made to connect using the CouchbaseClient instance. The bucket password is again changed. Similarly, the bucket tool instance also does the same. Instead, there should be auth failure error being returned the second time client tries to connect to the same bucket. Also, the expectation is that, the user might update the bucket information if he requires to change the password or other details, by explicitly calling updateBucket method which is currently not available. |
| Comment by Michael Nitschinger [ 24/Apr/13 ] |
|
Is this still an issue?
|
| Comment by Deepti Dawar [ 25/Apr/13 ] |
| You mean there has been a fix entered for this ? |
| Comment by Michael Nitschinger [ 25/Apr/13 ] |
|
No, because I think the ticket is somewhat misleading. The Factory and the Client have nothing to do with Bucket creation. The Manager should be used for clients and the bucket tool is an internal tool used in our testing environment. I still don't get whats the problem here? Just pick one of these depending on the thing you want to do. |
| Comment by Deepti Dawar [ 25/Apr/13 ] |
|
The problem here is that, lets say there are two users - User 1 and User 2. User 1 created the instance using CouchbaseConnectionFactory and provided a password to the default bucket as 'password' User 2 created the instance using CouchbaseClient and provided a password as 'password2' As both internally go and create the bucket, don't you think the two users are overriding each other's bucket information ? Shouldn't the second user be returned an auth failure for the same ? |
| Comment by Michael Nitschinger [ 25/Apr/13 ] |
|
Hi Deepti, I'm not sure I can follow you. Neither CouchbaseConnectionFactory nor the CouchbaseClient class creates a bucket by any means. The user has to explicitly use the Manager to create a bucket! And the BucketTool uses the Manager underneath as well, it just provides some convenience methods. |
| Comment by Deepti Dawar [ 25/Apr/13 ] |
|
Ok. I see that the conflict is between - manager.createNamedBucket bucketTool.createSaslBucket both of which call the same createBucket method. |
| Comment by Michael Nitschinger [ 25/Apr/13 ] |
|
Ok so now that we pinned that down. Can you please 1) clarify whats the issue between those methods and what needs to be fixed 2) update the title and description of the ticket to reflect those changes? Thanks! |
[JCBC-274] Jenkins test results failing. Created: 16/Mar/13 Updated: 13/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Deepti Dawar | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||
| Issue Links: |
|
||||
| Description |
|
When the jenkins job for java build is run with the latest source in Git and the tests are run, 6 tests are failing. Those are very obvious errors and can be fixed. Screenshot attached.
|
| Comments |
| Comment by Deepti Dawar [ 18/Mar/13 ] |
|
Michael, kindly check why the NPEs are coming in these results. Thanks Deepti. |
| Comment by Deepti Dawar [ 04/Apr/13 ] |
|
Please review few fixes at : http://review.couchbase.org/#/c/25482/ |
[JCBC-266] NPE in ConfigurationProviderHTTP needs to be handled. Created: 12/Mar/13 Updated: 18/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Deepti Dawar | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Description |
|
NPE in ConfigurationProviderHTTP needs to be handled.
This is seen at quite a lot of places. Please refer to the integration test results at : https://docs.google.com/a/globallogic.com/spreadsheet/ccc?key=0AmLvaJ8oRZ-TdHJBNHJ0eGZfbjBaenBSVGM2VS1oNlE#gid=0 Stack Trace : SDKD: Mar 12, 2013 1:55:39 AM com.couchbase.client.CouchbaseConnectionFactory$Resubscriber run SDKD: WARNING: Resubscribe attempt failed: SDKD: java.lang.NullPointerException SDKD: at com.couchbase.client.vbucket.ConfigurationProviderHTTP.getBucketConfiguration(ConfigurationProviderHTTP.java:149) SDKD: at com.couchbase.client.vbucket.ConfigurationProviderHTTP.subscribe(ConfigurationProviderHTTP.java:319) SDKD: at com.couchbase.client.CouchbaseConnectionFactory$Resubscriber.run(CouchbaseConnectionFactory.java:405) SDKD: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) SDKD: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) SDKD: at java.lang.Thread.run(Thread.java:619) SDKD: Mar 12, 2013 1:55:39 AM com.couchbase.client.CouchbaseConnectionFactory$Resubscriber run |
[JCBC-289] Document manipulation of the designdoc/view interface Created: 22/Apr/13 Updated: 22/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.5 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The library already supports programmatic creation of design docs and views, need to supply documentation around it.
|
[JCBC-290] Support for publishing view from dev to prod Created: 22/Apr/13 Updated: 22/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.5 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Matt Ingenthron [ 22/Apr/13 ] |
| "publishing" isn't a real action, it's just moving the same design document in under a different name. This should definitely be done, but as documentation about how to go from development to published. |
[JCBC-283] Document how best to use expiry with times >30 days Created: 12/Apr/13 Updated: 12/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.5 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Really needed across all languages...do you want me to file separate issues?
We have some documentation on how to use expiration with relative values, but nothing clearly showing how we recommend calculating a timestamp and sending it to the operation. |
[JCBC-282] Add new junit tests as per additions in the Test Plan Created: 09/Apr/13 Updated: 09/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Deepti Dawar | Assignee: | Deepti Dawar |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Description |
|
Add new junit tests as per additions in the Test Plan
|
| Comments |
| Comment by Deepti Dawar [ 09/Apr/13 ] |
| Two tests added for connection refused and network un-reachable. |
[JCBC-281] Document working with the cluster manager in java manual Created: 08/Apr/13 Updated: 08/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.5 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/autodocs/couchbase-java-client-1.1.5/com/couchbase/client/ClusterManager.html
This is in the Java docs, but not yet in the manual. |
[JCBC-279] Docs: Cross-link bulk loading and blocking queue documentation with async commands Created: 02/Apr/13 Updated: 02/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.4 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Just had a customer potentially running >1M touch() operations all at once and not checking the return code nor having them in a blocking queue. I think it would be worthwhile to make sure that everyone realizes the importance of proper handling of async operations and it's not obvious when just looking at the API reference for an individual operation.
|
[JCBC-277] Provide warnings when dependencies don't match expected versions Created: 26/Mar/13 Updated: 26/Mar/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | 1.1.4 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Recent issues with netty dependencies would be easier caught if we had logging when dependencies are mismatched from what we expect.
|
[JCBC-275] Slow performance in virtualized environments Created: 18/Mar/13 Updated: 20/Mar/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
This is a placeholder bug meant to indicate that there are disproportionate performance impacts in the Java client when running under a virtualized environment. There are no obvious bottlenecks but it is something we've seen in multiple situations and should be investigated.
In short, there is no specific CPU, network, or disk bottleneck being hit, but performance still seems to drop significantly. Will update with specific stats later on. |
[JCBC-273] Unknown Host Exception should be caught Created: 15/Mar/13 Updated: 15/Mar/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Deepti Dawar | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Encountered these errors while running on Jenkins. These need to be handled.
Stack Trace : [junit] Testcase: testMessageReceived took 0.173 sec [junit] Testsuite: com.couchbase.client.vbucket.ConfigurationProviderHTTPDownNodeTest [junit] 2013-03-15 04:07:54.268 WARN com.couchbase.client.vbucket.ConfigurationProviderHTTP: Connection problems with URI http://bogus:8091/pools ...skipping [junit] java.net.UnknownHostException: bogus [junit] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175) [junit] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) [junit] at java.net.Socket.connect(Socket.java:546) [junit] at sun.net.NetworkClient.doConnect(NetworkClient.java:173) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:409) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) [junit] at sun.net.www.http.HttpClient.<init>(HttpClient.java:240) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:321) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:338) [junit] at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935) [junit] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876) [junit] at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801) [junit] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readToString(ConfigurationProviderHTTP.java:417) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readPools(ConfigurationProviderHTTP.java:210) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.getBucketConfiguration(ConfigurationProviderHTTP.java:147) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTPDownNodeTest.testGetBucketConfiguration(ConfigurationProviderHTTPDownNodeTest.java:67) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [junit] at java.lang.reflect.Method.invoke(Method.java:616) [junit] at junit.framework.TestCase.runTest(TestCase.java:168) [junit] at junit.framework.TestCase.runBare(TestCase.java:134) [junit] at junit.framework.TestResult$1.protect(TestResult.java:110) [junit] at junit.framework.TestResult.runProtected(TestResult.java:128) [junit] at junit.framework.TestResult.run(TestResult.java:113) [junit] at junit.framework.TestCase.run(TestCase.java:124) [junit] at junit.framework.TestSuite.runTest(TestSuite.java:232) [junit] at junit.framework.TestSuite.run(TestSuite.java:227) [junit] at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) [junit] at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:420) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:911) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:768) [junit] 2013-03-15 04:07:54.724 WARN com.couchbase.client.vbucket.ConfigurationProviderHTTP: Connection problems with URI http://bogustoo:8091/pools ...skipping [junit] java.net.UnknownHostException: bogustoo [junit] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175) [junit] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) [junit] at java.net.Socket.connect(Socket.java:546) [junit] at sun.net.NetworkClient.doConnect(NetworkClient.java:173) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:409) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) [junit] at sun.net.www.http.HttpClient.<init>(HttpClient.java:240) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:321) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:338) [junit] at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935) [junit] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876) [junit] at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801) [junit] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readToString(ConfigurationProviderHTTP.java:417) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readPools(ConfigurationProviderHTTP.java:210) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.getBucketConfiguration(ConfigurationProviderHTTP.java:147) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTPDownNodeTest.testGetBucketConfiguration(ConfigurationProviderHTTPDownNodeTest.java:67) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [junit] at java.lang.reflect.Method.invoke(Method.java:616) [junit] at junit.framework.TestCase.runTest(TestCase.java:168) [junit] at junit.framework.TestCase.runBare(TestCase.java:134) [junit] at junit.framework.TestResult$1.protect(TestResult.java:110) [junit] at junit.framework.TestResult.runProtected(TestResult.java:128) [junit] at junit.framework.TestResult.run(TestResult.java:113) [junit] at junit.framework.TestCase.run(TestCase.java:124) [junit] at junit.framework.TestSuite.runTest(TestSuite.java:232) [junit] at junit.framework.TestSuite.run(TestSuite.java:227) [junit] at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) [junit] at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:420) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:911) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:768) [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.991 sec [junit] ------------- Standard Error ----------------- [junit] 2013-03-15 04:07:54.268 WARN com.couchbase.client.vbucket.ConfigurationProviderHTTP: Connection problems with URI http://bogus:8091/pools ...skipping [junit] java.net.UnknownHostException: bogus [junit] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175) [junit] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) [junit] at java.net.Socket.connect(Socket.java:546) [junit] at sun.net.NetworkClient.doConnect(NetworkClient.java:173) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:409) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) [junit] at sun.net.www.http.HttpClient.<init>(HttpClient.java:240) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:321) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:338) [junit] at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935) [junit] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876) [junit] at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801) [junit] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readToString(ConfigurationProviderHTTP.java:417) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readPools(ConfigurationProviderHTTP.java:210) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.getBucketConfiguration(ConfigurationProviderHTTP.java:147) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTPDownNodeTest.testGetBucketConfiguration(ConfigurationProviderHTTPDownNodeTest.java:67) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [junit] at java.lang.reflect.Method.invoke(Method.java:616) [junit] at junit.framework.TestCase.runTest(TestCase.java:168) [junit] at junit.framework.TestCase.runBare(TestCase.java:134) [junit] at junit.framework.TestResult$1.protect(TestResult.java:110) [junit] at junit.framework.TestResult.runProtected(TestResult.java:128) [junit] at junit.framework.TestResult.run(TestResult.java:113) [junit] at junit.framework.TestCase.run(TestCase.java:124) [junit] at junit.framework.TestSuite.runTest(TestSuite.java:232) [junit] at junit.framework.TestSuite.run(TestSuite.java:227) [junit] at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) [junit] at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:420) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:911) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:768) [junit] 2013-03-15 04:07:54.724 WARN com.couchbase.client.vbucket.ConfigurationProviderHTTP: Connection problems with URI http://bogustoo:8091/pools ...skipping [junit] java.net.UnknownHostException: bogustoo [junit] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175) [junit] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) [junit] at java.net.Socket.connect(Socket.java:546) [junit] at sun.net.NetworkClient.doConnect(NetworkClient.java:173) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:409) [junit] at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) [junit] at sun.net.www.http.HttpClient.<init>(HttpClient.java:240) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:321) [junit] at sun.net.www.http.HttpClient.New(HttpClient.java:338) [junit] at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935) [junit] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876) [junit] at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801) [junit] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readToString(ConfigurationProviderHTTP.java:417) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.readPools(ConfigurationProviderHTTP.java:210) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.getBucketConfiguration(ConfigurationProviderHTTP.java:147) [junit] at com.couchbase.client.vbucket.ConfigurationProviderHTTPDownNodeTest.testGetBucketConfiguration(ConfigurationProviderHTTPDownNodeTest.java:67) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [junit] at java.lang.reflect.Method.invoke(Method.java:616) [junit] at junit.framework.TestCase.runTest(TestCase.java:168) [junit] at junit.framework.TestCase.runBare(TestCase.java:134) [junit] at junit.framework.TestResult$1.protect(TestResult.java:110) [junit] at junit.framework.TestResult.runProtected(TestResult.java:128) [junit] at junit.framework.TestResult.run(TestResult.java:113) [junit] at junit.framework.TestCase.run(TestCase.java:124) [junit] at junit.framework.TestSuite.runTest(TestSuite.java:232) [junit] at junit.framework.TestSuite.run(TestSuite.java:227) [junit] at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) [junit] at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:420) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:911) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:768) |
| Comments |
| Comment by Michael Nitschinger [ 15/Mar/13 ] |
| Why should it be caught? The UnknownHostException is semantically 100% spot on. |
| Comment by Deepti Dawar [ 15/Mar/13 ] |
| If it is not caught, it should be handled in the junit test such that the junit test should expect that exception otherwise the test fails. |
[JCBC-263] memcached connection fails with "Attempting to overwrite channel" Created: 11/Mar/13 Updated: 11/Mar/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
This is a "run of the mill" memcached instance. I have not particularly been able to reproduce it though - nevertheless I am placing it in here so that it may be noted.
Server version is 2.0.0 |
||
| Description |
|
In this case, multiple CouchbaseClient objects are being connected. At the 14th instance, this is printed to the screen and the application hangs.
[SDKD(WARNING) 5.49 cbsdk.sdkd.remote remote.py:266] WARNING: URIs: [http://10.2.1.102:8091/pools?#] [SDKD(WARNING) 5.51 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM com.couchbase.sdkd.cbclient.Handle makeViewTimeout [SDKD(WARNING) 5.51 cbsdk.sdkd.remote remote.py:266] WARNING: [SDKD(WARNING) 5.51 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection createConnections [SDKD(WARNING) 5.51 cbsdk.sdkd.remote remote.py:266] INFO: Added {QA sa=/10.2.1.102:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection createConnections [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] INFO: Added {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM com.couchbase.client.CouchbaseClient <init> [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] INFO: viewmode property isn't defined. Setting viewmode to production mode [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection handleIO [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] INFO: Connection state changed for sun.nio.ch.SelectionKeyImpl@6d79953c [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection handleIO [SDKD(WARNING) 5.53 cbsdk.sdkd.remote remote.py:266] INFO: Connection state changed for sun.nio.ch.SelectionKeyImpl@4934ce4a [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection queueReconnect [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] WARNING: Closing, and reopening {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=8}, attempt 1. [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection handleIO [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] INFO: Reconnecting due to failure to connect to {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=Cmd: 10 Opaque: 55, toWrite=0, interested=0} [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] java.net.ConnectException: Could not send noop upon connect! This may indicate a running, but not responding memcached instance. [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:439) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.CouchbaseMemcachedConnection.run(CouchbaseMemcachedConnection.java:158) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection queueReconnect [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] WARNING: Closing, and reopening {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=Cmd: 10 Opaque: 55, toWrite=0, interested=0}, attempt 1. [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection queueReconnect [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] WARNING: Closing, and reopening {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=Cmd: 10 Opaque: 55, toWrite=0, interested=0}, attempt 3. [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.MemcachedConnection queueReconnect [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] INFO: The channel or socket was null for {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=Cmd: 10 Opaque: 55, toWrite=0, interested=0} [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] Exception in thread "SDK Handle-14" java.lang.NullPointerException [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at net.spy.memcached.MemcachedConnection.queueReconnect(MemcachedConnection.java:589) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.CouchbaseMemcachedConnection.reconfigure(CouchbaseMemcachedConnection.java:132) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.CouchbaseClient.reconfigure(CouchbaseClient.java:273) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.vbucket.ReconfigurableObserver.update(ReconfigurableObserver.java:54) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at java.util.Observable.notifyObservers(Observable.java:159) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.vbucket.BucketMonitor.setBucket(BucketMonitor.java:258) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.vbucket.BucketMonitor.startMonitor(BucketMonitor.java:188) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.vbucket.ConfigurationProviderHTTP.subscribe(ConfigurationProviderHTTP.java:288) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.CouchbaseClient.<init>(CouchbaseClient.java:246) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.sdkd.SdkdConfig.getClient(SdkdConfig.java:99) [SDKD(WARNING) 5.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.sdkd.cbclient.Handle.<init>(Handle.java:159) [SDKD(WARNING) 5.59 cbsdk.sdkd.remote remote.py:266] at com.couchbase.sdkd.server.SdkServer.executeCommand(SdkServer.java:104) [SDKD(WARNING) 5.59 cbsdk.sdkd.remote remote.py:266] at com.couchbase.sdkd.server.SdkServer.handleRequest(SdkServer.java:189) [SDKD(WARNING) 5.59 cbsdk.sdkd.remote remote.py:266] at com.couchbase.sdkd.server.SdkServer.run(SdkServer.java:245) [SDKD(WARNING) 5.59 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:20 PM net.spy.memcached.auth.AuthThread$1 receivedStatus [SDKD(WARNING) 5.59 cbsdk.sdkd.remote remote.py:266] INFO: Authenticated to /10.2.1.102:11210 [SDKD(WARNING) 13.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:28 PM net.spy.memcached.MemcachedConnection attemptReconnects [SDKD(WARNING) 13.55 cbsdk.sdkd.remote remote.py:266] INFO: Reconnecting {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=Cmd: 10 Opaque: 55, toWrite=0, interested=0} [SDKD(WARNING) 13.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:28 PM net.spy.memcached.MemcachedConnection handleIO [SDKD(WARNING) 13.55 cbsdk.sdkd.remote remote.py:266] INFO: Connection state changed for sun.nio.ch.SelectionKeyImpl@79884a40 [SDKD(WARNING) 13.56 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:28 PM net.spy.memcached.auth.AuthThread$1 receivedStatus [SDKD(WARNING) 13.56 cbsdk.sdkd.remote remote.py:266] INFO: Authenticated to /10.2.1.101:11210 [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] Mar 8, 2013 5:39:36 PM net.spy.memcached.MemcachedConnection attemptReconnects [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] INFO: Reconnecting {QA sa=/10.2.1.101:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] Exception in thread "Memcached IO over {MemcachedConnection to /10.2.1.102:11210 /10.2.1.101:11210}" java.lang.AssertionError: Attempting to overwrite channel [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] at net.spy.memcached.protocol.TCPMemcachedNodeImpl.setChannel(TCPMemcachedNodeImpl.java:496) [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] at net.spy.memcached.protocol.TCPMemcachedNodeImpl.registerChannel(TCPMemcachedNodeImpl.java:484) [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] at net.spy.memcached.MemcachedConnection.attemptReconnects(MemcachedConnection.java:680) [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:262) [SDKD(WARNING) 21.55 cbsdk.sdkd.remote remote.py:266] at com.couchbase.client.CouchbaseMemcachedConnection.run(CouchbaseMemcachedConnection.java:158) |
[JCBC-264] create a unit test for ensuring couchbase client configuration works with memcached bucket type Created: 11/Mar/13 Updated: 11/Mar/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
With a recent bug, we had the config's lack of warmup throwing off the configuration provider. This should be unit-testable since we have unit tests for the configuration provider.
|
| Comments |
| Comment by Matt Ingenthron [ 11/Mar/13 ] |
| Opened on the wrong project. I'll fix it. |
[JCBC-262] Transcoder error not reported correctly Created: 11/Mar/13 Updated: 11/Mar/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | 1.1.3 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
When a custom transcoder has an error, certain CAS operations fail with an error about the operation being cancelled, which is misleading and doesn't point to the transcoder as a problem.
Logs: Mar 7, 2013 10:20:37 AM net.spy.memcached.protocol.TCPMemcachedNodeImpl setupResend WARNING: Discarding partially completed op: Cmd: 0 Opaque: 120 Key: ***** Mar 7, 2013 10:20:40 AM net.spy.memcached.auth.AuthThread$1 receivedStatus INFO: Authenticated to 127.0.0.1/127.0.0.1:11210 The error occurs on the get on the future. It is in fact a marshalling error in the transcoder but that never gets reported. Code: OperationFuture<CASValue<documentType>> future = this.client.asyncGets(key, transcoder); return future.get(5, TimeUnit.SECONDS); Transcoder (incorrect): @Component public class TranscoderImpl<T> implements Transcoder<T> { @Autowired @Qualifier("JSON") Marshaller marshaler; @Autowired @Qualifier("JSON") Unmarshaller unmarshaler; @Override public boolean asyncDecode(CachedData arg0) { // TODO Auto-generated method stub return false; } @Override public T decode(CachedData arg0) { // TODO Auto-generated method stub StreamSource str = new StreamSource(new java.io.ByteArrayInputStream(arg0.getData())); Object obj; try { obj = unmarshaler.unmarshal(str); } catch (Exception e) { // TODO Auto-generated catch block throw new RuntimeException(e); } return (T)obj; } @Override public CachedData encode(T arg0) { // TODO Auto-generated method stub ByteArrayOutputStream sink = new ByteArrayOutputStream(); try { marshaler.marshal(arg0, new StreamResult(sink)); } catch (Exception e) { // TODO Auto-generated catch block throw new RuntimeException(e); } return new CachedData(0, sink.toByteArray(), getMaxSize()); } @Override public int getMaxSize() { // TODO Auto-generated method stub return CachedData.MAX_SIZE; } } |
[JCBC-259] String starting with number converted to number only in setKey for views Created: 06/Mar/13 Updated: 06/Mar/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | 1.1.3 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | James Mauss | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
If a key of "3abc" is passed in to a setKey for a view query, it will convert this into just 3.
Looking at /src/main/java/com/couchbase/client/protocol/views/Query.java:558 it looks like NumberFormat.getInstance().parse(value.toString()).toString(); will convert 3abc to 3. This is because NumberFormat.parse is define to "Parses text from the beginning of the given string to produce a number. The method may not use the entire text of the given string." so if the string starts with a number it will not fail out and just be used as a string. |
[JCBC-255] improve warmup handing Created: 27/Feb/13 Updated: 27/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | 1.1.3 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
With the integration of There are scenarios where this isn't ideal. For example, if someone were to cut off power to a datacenter, the app servers will start up much faster than the Couchbase cluster will. Unfortunately, this means someone will need to go around and restart the app servers after the DB cluster is up. This process should be improved and bootstrapping should no longer block construction. It should block operations (there is a latch for that), but not construction. |
[JCBC-246] Docs: No CAS+durability in API reference table Created: 12/Feb/13 Updated: 12/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The table here: http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-summary.html
Doesn't contain CAS methods with durability constraints. |
[JCBC-239] Docs: Document "paginator" Created: 06/Feb/13 Updated: 06/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Docs still point to library version 1.1...will that be updated?
I see reference to a paginator (http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-rn_1-1-0c.html) but can't find any further documentation on how to use it |
| Comments |
| Comment by Michael Nitschinger [ 06/Feb/13 ] |
|
Library version is 1.1.2? Docs for the paginator will be added soon! |
[JCBC-295] Spring Connector Guide Created: 02/May/13 Updated: 06/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Story | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | info-request | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Phase 1:
-Need intended user/audience from SME -Need suggested topics for TOC from SME |
| Comments |
| Comment by Michael Nitschinger [ 05/May/13 ] |
|
Hi Karen, let's put this on hold for now. We may think about moving the documentation to the springsource environment (alongside with the code), but we need to work this out. I want to avoid duplicate work for this! |
| Comment by Karen Zeller [ 06/May/13 ] |
| This is not currently work in progress. |
[JCBC-301] Strange Logic in CouchbaseClient observePoll method Created: 09/May/13 Updated: 09/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | .next |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Henri Chen | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
At CouchbaseClient.java line 2192 and line 2196
They both call replicaPersistedTo++; it means when r.getValue() == ObserveResponse.NOT_FOUND_PERSISTED) && !isMaster, replicaPersistedTo will be called twice. Is that intensional. Looks odd to me. |
| Comments |
| Comment by Henri Chen [ 09/May/13 ] |
| BTW, The code is based on Github master. |
[JCBC-303] javadoc builds must include spymemcached Created: 14/May/13 Updated: 15/May/13 |
|
| Status: | In Progress |
| Project: | Couchbase Java Client |
| Component/s: | infrastructure |
| Affects Version/s: | 1.1.6 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Phil Labee | Assignee: | Phil Labee |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
Current javadoc build process does not include the spymemcached docs, which were included in previous releases. The documentation:
http://hub.internal.couchbase.com/confluence/display/techpubs/Using+Existing+Docs+System+%28WIP%29 does not mention how to include, nor is there evidence of how it was done before. Need to have: * a process that includes correct third-party documentation, when required. * one that is not tied to a particular host * is fully documented |
| Comments |
| Comment by Phil Labee [ 15/May/13 ] |
|
I modified the couchbase-java-client/build.xml file to also use the source files under ../spymemcached/src/main/java/ for generating javadocs, but I'm getting errors: package org.apache.log4j does not exist package org.springframework.beans.factory does not exist so it looks like a classpath issue. |
| Comment by Michael Nitschinger [ 15/May/13 ] |
|
Hi Phil, normally log4j and spring beans are configured as "provided", so you should not need them during runtime in spy. maybe just run "ant jar" once in the directory so it fetches the dependencies in the right directories? |
[JCBC-294] OOME on ViewResponse for very large view Created: 02/May/13 Updated: 02/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | 1.1.5 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Tug Grall | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Java application with large view | ||
| Description |
|
We had some complain from developer that are using large view for example 500k elements. (with small content id+url for example). The total size of the view is in this case around 52Mb.
The result out of memory. 2013-05-01 16:47:06.536 INFO com.couchbase.client.http.AsyncConnectionManager$ConnRequestCallback: /192.168.63.99:8092 - Session request successful Exception in thread "I/O dispatcher 3" java.lang.OutOfMemoryError: Java heap space at org.apache.http.util.CharArrayBuffer.expand(CharArrayBuffer.java:61) at org.apache.http.util.CharArrayBuffer.append(CharArrayBuffer.java:91) at org.apache.http.util.EntityUtils.toString(EntityUtils.java:200) at org.apache.http.util.EntityUtils.toString(EntityUtils.java:221) at com.couchbase.client.protocol.views.HttpOperationImpl.getEntityString(Http OperationImpl.java:106) at com.couchbase.client.protocol.views.ViewOperationImpl.handleResponse(ViewO perationImpl.java:60) Note from our community member After digging into the SDK and apache code, it occurred that the viewResponse actually contains Strings (the json objects). I think the "problem" lies in handleResponse method in ViewOperationImpl. Here the SDK are using the apache http core to get the json String via the call String json = getEntityString(response); Would it be smarter to give back a InputStream instead? This could quite easily be fixed because the response could give back a HttpEntity that again could give the developer a InputStream. In this way the SDK did not have to copy each Char, which it actually does in the apache http core library (see expand in CharArrayBufffer.class ). It does the following: char newbuffer[] = new char[Math.max(this.buffer.length << 1, newlen)]; I think it kind of chokes when it get 52MB it have to copy from Char to a String and then deliver it back. BTW: I've tried calling the same view and operating on it form node.js (using baseview and the official sdk), it just worked like a charm. And this is prob. because you get a stream of data chunks that you can work on, which seems more effective. |
[JCBC-240] Add the total number of rows in the ViewResponce Created: 07/Feb/13 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | library |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Tug Grall | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
It will be great to have the total number of rows in the ViewResponse object when calling a view.
This is the value present in the JSON attribute "total_rows" of a response {"total_rows":1412,"rows":[ This enhancement request comes from the community forum: http://www.couchbase.com/forums/thread/recommend-including-totalrows-value-java-client-viewresponse-class |
| Comments |
| Comment by Michael Nitschinger [ 12/Mar/13 ] |
| http://review.couchbase.com/#/c/25027/ |
| Comment by Steffen Larsen [ 17/May/13 ] |
| PS: The SDK version that was used was 1.1.5 |
[JCBC-285] Memcached connection disconnects in case of single node server instance. Created: 16/Apr/13 Updated: 22/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Minor |
| Reporter: | Deepti Dawar | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | needs-info | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
When I tried to establish a Memcached Connection with a single node server - either 1.8.1 or 2.0.1, following errors were received :
2013-04-16 18:27:01.247 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue Created a MemcachedClient with port 11211 2013-04-16 18:27:01.251 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@1ffb3754 2013-04-16 18:27:01.263 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000001cbc. 2013-04-16 18:27:01.266 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=2, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:27:01.267 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=2, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 1. 2013-04-16 18:27:01.268 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:27:01.268 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: add Key: Emp0000000001cbc Flags: 0 Exp: 0 Data Length: 52 Deepti Exception 1 java.util.concurrent.ExecutionException: java.util.concurrent.CancellationException: Cancelled 2013-04-16 18:27:01.269 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000002cbc. Deepti Exception 1 java.lang.RuntimeException: Timed out waiting for operation 2013-04-16 18:27:03.772 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000003cbc. 2013-04-16 18:27:05.271 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=2, #iq=0, topRop=null, topWop=Cmd: add Key: Emp0000000002cbc Flags: 0 Exp: 0 Data Length: 52, toWrite=0, interested=0} 2013-04-16 18:27:05.273 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@30b42a7e 2013-04-16 18:27:05.275 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=2, #Wops=0, #iq=0, topRop=Cmd: add Key: Emp0000000003cbc Flags: 0 Exp: 0 Data Length: 52, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:27:05.278 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=2, #Wops=0, #iq=0, topRop=Cmd: add Key: Emp0000000003cbc Flags: 0 Exp: 0 Data Length: 52, topWop=null, toWrite=0, interested=8}, attempt 2. 2013-04-16 18:27:05.279 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: add Key: Emp0000000003cbc Flags: 0 Exp: 0 Data Length: 52 Deepti Exception 1 java.util.concurrent.ExecutionException: java.util.concurrent.CancellationException: Cancelled 2013-04-16 18:27:05.281 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:27:05.281 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000004cbc. Deepti Exception 1 java.lang.RuntimeException: Timed out waiting for operation 2013-04-16 18:27:07.783 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000005cbc. Deepti Exception 1 java.lang.RuntimeException: Timed out waiting for operation 2013-04-16 18:27:10.286 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000006cbc. Deepti Exception 1 java.lang.RuntimeException: Timed out waiting for operation 2013-04-16 18:27:12.788 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000007cbc. 2013-04-16 18:27:13.281 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=4, #iq=0, topRop=null, topWop=Cmd: add Key: Emp0000000004cbc Flags: 0 Exp: 0 Data Length: 52, toWrite=0, interested=0} 2013-04-16 18:27:13.283 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@1a23b006 2013-04-16 18:27:13.286 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=2, #Wops=0, #iq=0, topRop=Cmd: add Key: Emp0000000007cbc Flags: 0 Exp: 0 Data Length: 52, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:27:13.289 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=2, #Wops=0, #iq=0, topRop=Cmd: add Key: Emp0000000007cbc Flags: 0 Exp: 0 Data Length: 52, topWop=null, toWrite=0, interested=8}, attempt 3. 2013-04-16 18:27:13.291 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: add Key: Emp0000000007cbc Flags: 0 Exp: 0 Data Length: 52 Deepti Exception 1 java.util.concurrent.ExecutionException: java.util.concurrent.CancellationException: Cancelled 2013-04-16 18:27:13.292 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:27:13.293 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000008cbc. Deepti Exception 1 java.lang.RuntimeException: Timed out waiting for operation 2013-04-16 18:27:15.796 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000009cbc. Deepti Exception 1 java.lang.RuntimeException: Timed out waiting for operation 2013-04-16 18:27:18.298 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for Emp0000000010cbc. Deepti Exception 1 java.lang.RuntimeException: Timed out waiting for operation 2013-04-16 18:27:29.302 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=3, #iq=0, topRop=null, topWop=Cmd: add Key: Emp0000000008cbc Flags: 0 Exp: 0 Data Length: 52, toWrite=0, interested=0} 2013-04-16 18:27:29.304 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@3bb59c1b 2013-04-16 18:27:29.306 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:27:29.306 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 4. 2013-04-16 18:27:29.307 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:27:59.338 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:27:59.340 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@7685dfcf 2013-04-16 18:27:59.342 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:27:59.344 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 5. 2013-04-16 18:27:59.346 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:28:29.376 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:28:29.378 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@606145c5 2013-04-16 18:28:29.380 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:28:29.382 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 6. 2013-04-16 18:28:29.384 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:28:59.414 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:28:59.416 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@15fac189 2013-04-16 18:28:59.417 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:28:59.419 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 7. 2013-04-16 18:28:59.420 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:29:29.451 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:29:29.453 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@6520b476 2013-04-16 18:29:29.454 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:29:29.456 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 8. 2013-04-16 18:29:29.457 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:29:59.485 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:29:59.487 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@3ebbe4b0 2013-04-16 18:29:59.488 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:29:59.490 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 9. 2013-04-16 18:29:59.491 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:30:29.521 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:30:29.523 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@14220a0c 2013-04-16 18:30:29.524 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:30:29.526 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 10. 2013-04-16 18:30:29.527 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:30:59.557 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:30:59.559 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@2d64ff8f 2013-04-16 18:30:59.561 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:30:59.562 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 11. 2013-04-16 18:30:59.564 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version 2013-04-16 18:31:29.582 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 2013-04-16 18:31:29.584 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@59799a64 2013-04-16 18:31:29.585 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8} java.io.IOException: Disconnected unexpected, will reconnect. at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:526) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:430) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247) at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915) 2013-04-16 18:31:29.587 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=1, #Wops=0, #iq=0, topRop=Cmd: version, topWop=null, toWrite=0, interested=8}, attempt 12. 2013-04-16 18:31:29.588 WARN net.spy.memcached.protocol.ascii.AsciiMemcachedNodeImpl: Discarding partially completed op: Cmd: version Memcached connection is trying to re-distribute the data on other nodes in a cluster which is why the connection is not getting established. |
| Comments |
| Comment by Michael Nitschinger [ 16/Apr/13 ] |
| Can you please post the code you used to initialize? |
| Comment by Deepti Dawar [ 17/Apr/13 ] |
| You can test this using the attached java file. |
| Comment by Michael Nitschinger [ 19/Apr/13 ] |
|
You need to authenticate correctly in order to connect to a bucket like this: AuthDescriptor authDescriptor = new AuthDescriptor(new String[]{"PLAIN"}, new PlainCallbackHandler("cache", "cache")); ConnectionFactory fact = new ConnectionFactoryBuilder() .setProtocol(ConnectionFactoryBuilder.Protocol.BINARY) .setAuthDescriptor(authDescriptor) .build(); MemcachedClient client = new MemcachedClient(fact, Arrays.asList(new InetSocketAddress("127.0.0.1", 11210))); client.set("foo", 0, "value"); System.out.println(client.get("foo")); client.shutdown(); |
| Comment by Michael Nitschinger [ 19/Apr/13 ] |
| also make sure to use binary with sasl. |
| Comment by Deepti Dawar [ 22/Apr/13 ] |
|
Its working fine after the authentication, but don't you think the behavior should be in sync for the single node and the 4 nodes cluster. Before handling the authentication, I was able to connect to only a 4 node cluster. Why is that so ? |
[JCBC-244] Sample Application : fix the welcome file and gitignore Created: 12/Feb/13 Updated: 02/May/13 |
|
| Status: | In Progress |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Minor |
| Reporter: | Tug Grall | Assignee: | Tug Grall |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
1- the Welcome auto redirect in Jetty does not work correctly.
2- Update the gitignore to handle IDE and OS |
| Comments |
| Comment by Michael Nitschinger [ 26/Mar/13 ] |
| Hey tug, is this still ongoing? |
| Comment by Michael Nitschinger [ 15/Apr/13 ] |
| Tug, did you fix this recently? |
[JCBC-247] ViewReponse: Provide a way to return the JSON as it is Created: 14/Feb/13 Updated: 07/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Tug Grall | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The Java API provide most of the time access to the JSON document (as string):
- get commands - view command using the ViewRow.getDocument When we call a view the result is a ViewResponse, but it is not possible to get the JSON document out of it, and the view engine returned a JSON doc. It could be interesting for some development, to be able to do a viewResponse.toJSON() that returns the exact result of the view. (this function may not be compliant with the includesDoc(true) option) The use case is simple, suppose I am creating a REST API and I would like to call the view and return the result to the user it would be good to do something like : @GET @Produces({ "application/json"}) @Path("/person/") public String getPersons( ) { View view = client.getView(PERSON_DSGN_DOC, PERSON_BY_NAME_VIEW); Query query = new Query(); ViewResponse viewResponse = client.query(view, query); return viewResponse.toJSON(); } Today I have to loop on each result and create a new object/document |
[JCBC-300] Add as Example: Java/NoSQL Tricks Created: 28/Mar/13 Updated: 09/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Karen Zeller | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.infoworld.com/d/application-development/how-teach-java-ee-app-new-nosql-tricks-215277
|
| Comments |
| Comment by Karen Zeller [ 09/May/13 ] |
|
I'm not sure i would take this request as high priority, but back in March, someone (I can't remember) sent me an email saying we should add this type of content to our doc set. I would just keep this in your queue for now. It might just be more informational/inspirational......My suspicions is this is a priority 2. |
[JCBC-302] Small issue in release note 1.1.6 Created: 13/May/13 Updated: 13/May/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.6 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Minor |
| Reporter: | Tug Grall | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
In the release note :
http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-rn_1-1-6a.html Small typo: "(wthout the quotes) " should be "without" |
[JCBC-292] Missing documentation about delete method with durability option Created: 25/Apr/13 Updated: 25/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Java Client |
| Component/s: | docs |
| Affects Version/s: | 1.1.5 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Trivial |
| Reporter: | Tug Grall | Assignee: | Michael Nitschinger |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The Delete chapter of the documentation does not mention the methods with durability parameter (persistedto and replicatedto)
http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-delete.html#table-couchbase-sdk_java_delete We need to put the same type of content that the one used for the store operation: http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-durability.html may be "join/merge" the store and delete? |