8000 Feature/abort traversals by hkernbach · Pull Request #21765 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content

Feature/abort traversals #21765

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8000 Draft
wants to merge 23 commits into
base: devel
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
532d00b
arangodb release 3.12.4
KVS85 Jan 23, 2025
af6afa9
first draft, added cancel of traversal in one sided enumerator, and t…
hkernbach Apr 28, 2025
4cfc171
added bidirectionalCircle as new graph in graph test suite
hkernbach May 6, 2025
db7f093
added hugeCompleteGraph
hkernbach May 6, 2025
a03dc03
added query cancel observer to twosided enumerator as well, so kpaths…
hkernbach May 13, 2025
a250d68
merge main into feature branch
hkernbach May 14, 2025
7692de9
only print debug creation info if set manually in constructor
hkernbach May 14, 2025
7ef978f
revert changelog merge issue
hkernbach May 14, 2025
67f8176
added additional check for cancelation of query in the twosidedenumer…
hkernbach May 14, 2025
8e05284
Merge remote-tracking branch 'origin/devel' into feature/abort-traver…
hkernbach May 14, 2025
2de1512
eslint
hkernbach May 14, 2025
aa29f4e
eslint
hkernbach May 16, 2025
8000
6f21c2f
clang format
hkernbach May 16, 2025
af166b8
clang format
hkernbach May 16, 2025
f35a566
Merge remote-tracking branch 'origin/devel' into feature/abort-traver…
hkernbach May 16, 2025
e22c7c3
batchwise verted and edge insertion during fillGraph (integration tests)
hkernbach May 19, 2025
48c95dc
Merge remote-tracking branch 'origin/devel' into feature/abort-traver…
hkernbach May 19, 2025
033326a
try to help garbage collection v8
hkernbach May 19, 2025
2b79028
slightly increased timeout to 10s in clsuter, 5s in single server
hkernbach May 19, 2025
7a04512
added early exit to weighted two sided enumerator, yens still missing
hkernbach May 19, 2025
cc7991d
debug flag on
hkernbach May 19, 2025
5c4cb55
no need to call clear manually. will be called in destructor automat…
hkernbach May 20, 2025
7ff7f4f
format
hkernbach May 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
added hugeCompleteGraph
  • Loading branch information
hkernbach committed May 6, 2025
commit db7f093669fc51a7206804b3a7c404686b6d373a
Original file line number Diff line number Diff line change
Expand Up @@ -841,6 +841,73 @@ protoGraphs.completeGraph = new ProtoGraph("completeGraph", [
]
);

// Generate node names
const generateNodeNames = (count) => {
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const nodes = [];

// First add single letter nodes
for (let i = 0; i < Math.min(count, alphabet.length); i++) {
nodes.push(alphabet[i]);
}

// If we need more nodes, add two-letter combinations
if (count > alphabet.length) {
for (let i = 0; i < alphabet.length && nodes.length < count; i++) {
for (let j = 0; j < alphabet.length && nodes.length < count; j++) {
nodes.push(alphabet[i] + alphabet[j]);
}
}
}

return nodes;
};

// Generate edges for complete graph
const generateCompleteGraphEdges = (nodes) => {
const edges = [];
for (let i = 0; i < nodes.length; i++) {
for (let j = 0; j < nodes.length; j++) {
if (i !== j) { // Don't create self-loops
// Generate random weight between 1 and 5
const weight = Math.floor(Math.random() * 5) + 1;
edges.push([nodes[i], nodes[j], weight]);
}
}
}
return edges;
};

// Create the huge complete graph with 100 nodes
/*
* B
* ↙↗ ↑ ↖↘
* A ← → C // Demonstration of the complete graph
* ↖↘ ↓ ↙↗ // Note: Consists out of 100 nodes
* D
*/
const hugeCompleteGraphNodes = generateNodeNames(100);
const hugeCompleteGraphEdges = generateCompleteGraphEdges(hugeCompleteGraphNodes);

protoGraphs.hugeCompleteGraph = new ProtoGraph("hugeCompleteGraph",
hugeCompleteGraphEdges,
[1, 2, 5],
[
{
numberOfShards: 1,
vertexSharding: hugeCompleteGraphNodes.map((node, index) => [node, 0])
},
{
numberOfShards: 2,
vertexSharding: hugeCompleteGraphNodes.map((node, index) => [node, index % 2])
},
{
numberOfShards: 5,
vertexSharding: hugeCompleteGraphNodes.map((node, index) => [node, index % 5])
}
]
);

/*
*
*
Expand Down
0