mirror of https://gitee.com/bigwinds/arangodb
Bug fix/jobs indexes (#9107)
This commit is contained in:
parent
b442f3f6ec
commit
27112a3486
|
@ -1,6 +1,8 @@
|
|||
devel
|
||||
-----
|
||||
|
||||
* The system collection '_jobs' will from now on be created with non-unique, non-sparse indexes.
|
||||
|
||||
* Bugfix for smart graph traversals with uniqueVertices: path, which could
|
||||
sometimes lead to erroneous traversal results
|
||||
|
||||
|
|
|
@ -298,15 +298,15 @@ bool UpgradeTasks::createJobsIndex(TRI_vocbase_t& vocbase,
|
|||
"_jobs", // collection name
|
||||
arangodb::Index::TRI_IDX_TYPE_SKIPLIST_INDEX, // index type
|
||||
{"queue", "status", "delayUntil"},
|
||||
/*unique*/ true,
|
||||
/*sparse*/ true);
|
||||
/*unique*/ false,
|
||||
/*sparse*/ false);
|
||||
::createIndex(
|
||||
vocbase, // collection vocbase
|
||||
"_jobs", // collection name
|
||||
arangodb::Index::TRI_IDX_TYPE_SKIPLIST_INDEX, // index type
|
||||
{"status", "queue", "delayUntil"},
|
||||
/*unique*/ true,
|
||||
/*sparse*/ true);
|
||||
/*unique*/ false,
|
||||
/*sparse*/ false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*global assertEqual, assertNotEqual, assertFalse, fail */
|
||||
/*global assertEqual, assertNotEqual, assertNotUndefined, assertFalse, fail */
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test foxx queues
|
||||
|
@ -87,6 +87,30 @@ function foxxQueuesSuite () {
|
|||
var queue = queues.create(qn);
|
||||
assertEqual(qn, queues.get(qn).name);
|
||||
},
|
||||
|
||||
testCheckJobIndexes : function () {
|
||||
let indexes = db._jobs.getIndexes();
|
||||
assertEqual(indexes.length, 3);
|
||||
indexes.forEach(idx => {
|
||||
switch(idx.type) {
|
||||
case "primary":
|
||||
break;
|
||||
case "skiplist":
|
||||
assertNotUndefined(idx.fields);
|
||||
assertFalse(idx.unique, idx);
|
||||
assertFalse(idx.sparse);
|
||||
assertEqual(idx.fields.length, 3);
|
||||
if (idx.fields[0] === "queue") {
|
||||
assertEqual(idx.fields, ["queue", "status", "delayUntil"]);
|
||||
} else {
|
||||
assertEqual(idx.fields, ["status", "queue", "delayUntil"]);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
fail();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
testCreateDelayedJob : function () {
|
||||
var delay = { delayUntil: Date.now() + 1000 * 86400 };
|
||||
|
|
Loading…
Reference in New Issue