松田です。
お疲れ様です。
JavaSDKを使って複数スレッドで、各スレッドごと
client = new CouchbaseClient(nodes,"ycsb","");
client.shutdown()
とすると、以下の様なログが出ますが、原因についてなにかご存知の方はいらっしゃらないでしょうか?
2013-04-03 09:02:11.613 INFO com.couchbase.client.ViewConnection: Suppressing duplicate attempt to shut down
java.lang.IllegalStateException: Shutting down
at net.spy.memcached.MemcachedConnection.checkState(MemcachedConnection.java:903)
at net.spy.memcached.MemcachedConnection.enqueueOperation(MemcachedConnection.java:719)
at net.spy.memcached.MemcachedClient.asyncStore(MemcachedClient.java:302)
at net.spy.memcached.MemcachedClient.set(MemcachedClient.java:745)
at com.yahoo.ycsb.db.CouchbaseServerClient.insert(CouchbaseServerClient.java:91)
at com.yahoo.ycsb.DBWrapper.insert(DBWrapper.java:148)
at com.yahoo.ycsb.workloads.CoreWorkload.doTransactionInsert(CoreWorkload.java:639)
at com.yahoo.ycsb.workloads.CoreWorkload.doTransaction(CoreWorkload.java:487)
at com.yahoo.ycsb.ClientThread.run(Client.java:233)
具体的には、YCSBを走らせる際、
「couchbaseと接続, (set, getなど) shutdown()」
という処理を各スレッドごとにしているのですが、
1スレッドでは問題ないのですが、2スレッド以上になると上記のようなエラーが出ます。
データ等は正しく書き込まれているのですが、最後の接続を切る部分でエラーが出ているようです。
couchbase関係なく、単なるJavaの知識不足かもですが、何かアイデアがありましたらご教授下さい。
よろしくお願いします。