Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Couchbase&x2B;Scala+;Java SDK:IndexOutOfBounds_Java_Scala_Couchbase - Fatal编程技术网

Couchbase&x2B;Scala+;Java SDK:IndexOutOfBounds

Couchbase&x2B;Scala+;Java SDK:IndexOutOfBounds,java,scala,couchbase,Java,Scala,Couchbase,我对scala和couchbase都比较陌生,但我需要快速学习。最近,在尝试通过Scala使用Java couchbase SDK运行示例应用程序时,我遇到了以下问题 [cb-core-3-2] WARN com.couchbase.client.core.CouchbaseCore - Exception while Handling Request Events RequestEvent{request=null} java.lang.IndexOutOfBoundsException: I

我对scala和couchbase都比较陌生,但我需要快速学习。最近,在尝试通过Scala使用Java couchbase SDK运行示例应用程序时,我遇到了以下问题

[cb-core-3-2] WARN com.couchbase.client.core.CouchbaseCore - Exception while Handling Request Events RequestEvent{request=null}
java.lang.IndexOutOfBoundsException: Index: 1854, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at com.couchbase.client.core.config.DefaultCouchbaseBucketConfig.nodeIndexForMaster(DefaultCouchbaseBucketConfig.java:135)
    at com.couchbase.client.core.node.locate.KeyValueLocator.calculateNodeId(KeyValueLocator.java:165)
    at com.couchbase.client.core.node.locate.KeyValueLocator.locateForCouchbaseBucket(KeyValueLocator.java:124)
    at com.couchbase.client.core.node.locate.KeyValueLocator.locateAndDispatch(KeyValueLocator.java:84)
    at com.couchbase.client.core.RequestHandler.dispatchRequest(RequestHandler.java:219)
    at com.couchbase.client.core.RequestHandler.onEvent(RequestHandler.java:176)
    at com.couchbase.client.core.RequestHandler.onEvent(RequestHandler.java:71)
    at com.couchbase.client.deps.com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:129)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)
[error] (run-main-0) java.lang.RuntimeException: java.util.concurrent.TimeoutException
java.lang.RuntimeException: java.util.concurrent.TimeoutException
    at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:71)
    at com.couchbase.client.java.CouchbaseBucket.upsert(CouchbaseBucket.java:354)
    at com.couchbase.client.java.CouchbaseBucket.upsert(CouchbaseBucket.java:349)
    at App$.main(Application.scala:28)
    at App.main(Application.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
Caused by: java.util.concurrent.TimeoutException
    at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:71)
    at com.couchbase.client.java.CouchbaseBucket.upsert(CouchbaseBucket.java:354)
    at com.couchbase.client.java.CouchbaseBucket.upsert(CouchbaseBucket.java:349)
    at App$.main(Application.scala:28)
    at App.main(Application.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
[trace] Stack trace suppressed: run last compile:run for the full output.
[cb-core-3-1] WARN com.couchbase.client.core.CouchbaseCore - Exception while Handling Response Events null
java.lang.InterruptedException
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048)
    at com.couchbase.client.deps.com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
    at com.couchbase.client.deps.com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
    at com.couchbase.client.deps.com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:124)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)
[cb-core-3-2] WARN com.couchbase.client.core.CouchbaseCore - Exception while Handling Request Events RequestEvent{request=null}
java.lang.InterruptedException
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048)
    at com.couchbase.client.deps.com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
    at com.couchbase.client.deps.com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
    at com.couchbase.client.deps.com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:124)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)
java.lang.RuntimeException: Nonzero exit code: 1
    at scala.sys.package$.error(package.scala:27)
这就是产生错误的代码

import com.couchbase.client.java._
import com.couchbase.client.core.time._
import com.couchbase.client.java.document._
import com.couchbase.client.java.document.json._
import com.couchbase.client.java.query._
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment

object App {
  def main(args: Array[String]): Unit = {
    // Initialize the Connection
    // Connects to localhost
    val env = DefaultCouchbaseEnvironment.builder()
  .connectTimeout(5000)
  .bootstrapCarrierEnabled(false)
  .build()

val cluster = CouchbaseCluster.create(env, "127.0.0.1")
// Opens the "default" bucket
val bucket = cluster.openBucket("default")

// Create a JSON Document
val user: JsonObject = JsonObject.create()
  .put("firstname", "Walter")
  .put("lastname", "White")
  .put("job", "chemistry teacher")
  .put("age", 50)

 val stored: JsonDocument = bucket.upsert(JsonDocument.create("walter", user));

// Load the Document and print it
// Prints Content and Metadata of the stored Document
println(bucket.get("walter"))

// Just close a single bucket
bucket.close();

// Disconnect and close all buckets
cluster.disconnect();
}
}
编辑:

我对此有点陌生,但以下是我从调试器中获得的信息

this = {DefaultCouchbaseBucketConfig@2385} "DefaultCouchbaseBucketConfig{name='testBucket', locator=VBUCKET, uri='/pools/default/buckets/testBucket?bucket_uuid=54c1356c57dea1d640837c678f87d5e4', streamingUri='/pools/default/bucketsStreaming/testBucket?bucket_uuid=54c1356c57dea1d640837c678f87d5e4', nodeInfo=[NodeInfo{, hostname=localhost/127.0.0.1, configPort=0, directServices={CONFIG=8091, QUERY=8093, VIEW=8092, BINARY=11210}, sslServices={CONFIG=18091, QUERY=18093, VIEW=18092, BINARY=11207}}], partitionInfo=PartitionInfo{numberOfReplicas=1, partitionHosts=[localhost], partitions=[], tainted=false}, tainted=false, rev=23}"
 partitionInfo = {CouchbasePartitionInfo@2391} "PartitionInfo{numberOfReplicas=1, partitionHosts=[localhost], partitions=[], tainted=false}"
  numberOfReplicas = 1
  partitionHosts = {String[1]@2428} 
  partitions = {ArrayList@2390}  size = 0
  forwardPartitions = null
  tainted = false
 partitionHosts = {ArrayList@2396}  size = 1
  0 = {DefaultNodeInfo@2425} "NodeInfo{, hostname=localhost/127.0.0.1, configPort=8091, directServices={CONFIG=8091, BINARY=11210, VIEW=8092}, sslServices={}}"
 nodesWithPrimaryPartitions = {HashSet@2397}  size = 0
 tainted = false
 rev = 23
 name = "testBucket"
  value = {char[10]@2422} 
  hash = 1241531676
 password = ""
  value = {char[0]@2421} 
  hash = 0
 locator = {BucketNodeLocator@2400} "VBUCKET"
  name = "VBUCKET"
  ordinal = 0
 uri = "/pools/default/buckets/testBucket?bucket_uuid=54c1356c57dea1d640837c678f87d5e4"
  value = {char[78]@2411} 
  hash = 0
 streamingUri = "/pools/default/bucketsStreaming/testBucket?bucket_uuid=54c1356c57dea1d640837c678f87d5e4"
  value = {char[87]@2420} 
  hash = 0
 nodeInfo = {ArrayList@2403}  size = 1
  0 = {DefaultNodeInfo@2408} "NodeInfo{, hostname=localhost/127.0.0.1, configPort=0, directServices={CONFIG=8091, QUERY=8093, VIEW=8092, BINARY=11210}, sslServices={CONFIG=18091, QUERY=18093, VIEW=18092, BINARY=11207}}"
 enabledServices = 15
partition = 7620
useFastForward = false
编辑2:

我看了一下Couchbase控制台日志,不断得到以下信息

Service 'memcached' exited with status 1. Restarting. Messages: Failed to open library "/Users/luishreis/Downloads/couchbase-server-enterprise_4/Couchbase Server.app/Contents/Resources/couchbase-core/lib/memcached/stdin_term_handler.so": dlopen(/Users/luishreis/Downloads/couchbase-server-enterprise_4/Couchbase Server.app/Contents/Resources/couchbase-core/lib/memcached/stdin_term_handler.dylib, 6): image not found
Unable to load extension /Users/luishreis/Downloads/couchbase-server-enterprise_4/Couchbase Server.app/Contents/Resources/couchbase-core/lib/memcached/stdin_term_handler.so using the config 
在此问题上如有任何帮助,将不胜感激


非常感谢。

这很奇怪,它似乎表明1)SDK对vBucket的密钥进行了哈希运算,该vBucket太大(1894而不是1024),2)集群映射为空。能否尝试在异常上设置断点,并查看
nodeIndexForMaster
中使用了哪些参数?(值得注意的是
useFastForward
)@SimonBasléI用您要求的信息更新了问题,尽管我不确定这是否是您要求的信息。我在couchbase jdk中该函数的返回语句上放置了一个断点。现在您也提到了它,IndexOutOfBounds错误会定期抛出一个不同的索引。通常是
java.lang.IndexOutOfBoundsException:Index:7620,Size:0
您的couchbase安装似乎有问题。。。我会尝试一次完全的重新安装,这很奇怪,它似乎表明1)SDK散列了一个vBucket的密钥,这个vBucket太大了(1894而不是1024),2)集群映射是空的。能否尝试在异常上设置断点,并查看
nodeIndexForMaster
中使用了哪些参数?(值得注意的是
useFastForward
)@SimonBasléI用您要求的信息更新了问题,尽管我不确定这是否是您要求的信息。我在couchbase jdk中该函数的返回语句上放置了一个断点。现在您也提到了它,IndexOutOfBounds错误会定期抛出一个不同的索引。通常是
java.lang.IndexOutOfBoundsException:Index:7620,Size:0
您的couchbase安装似乎有问题。。。我会尝试完全重新安装