2016-04-19 7 views
0

私はmongodbをテストするためにycsbを使用します。
私は3000000件のドキュメントをロードした後、私は挿入ステップを実行しようが、私は以下の問題が発生した:私は負荷ステップを実行すると、各ドキュメントの_idがYCSB Mongodb _id

のように何らかの形であることがわかり

Exception while trying bulk insert with 0 com.mongodb.MongoWriteException: insertDocument :: 
caused by :: 11000 E11000 duplicate key error 
index: ycsb.usertable.$_id_ dup key: { : "user451605437247003858" } 

"_id" : "user1136", 
"_id" : "user1130" 

など。それは私が、私はたくさんの文書を挿入しようとするので、競合が理解しやすい

"_id" : ObjectId("55753c547e2596a4d07c2219"), 

のように、一般的に満たすものではありません。

どうすれば紛争を解決できますか?

答えて

0

私はあなたが以下のように確認するために使用されるキーを想定しています

"_id" : ObjectId("55753c547e2596a4d07c2219") 

はpythonのドライバpymongoによって生成されます。

YCSBのmongoモジュールは、java driverを使用します。あなたは、インサートを呼び出すと、実際にあなたが呼んでいる:あなたは同じキーを挿入する際

com.mongodb.MongoWriteException: E11000 duplicate key error collection 

をスローします

com.mongodb.client.MongoCollection<TDocument>.insertOne 

を。

ベンチマークを実行する場合は、エラーを心配する必要はありません。とにかく、エラーを見たくない場合は、ワークロードを変更して、insert by updateを置き換えてください。

関連する問題