Skip to content

Commit

Permalink
Fix stress create tree file number
Browse files Browse the repository at this point in the history
### What changes are proposed in this pull request?

Fix one miss used variable, create tree correctly now

### Why are the changes needed?

Previously create tree run incorrectly

### Does this PR introduce any user facing changes?

No

pr-link: #17136
change-id: cid-ade1ce2b614a7a0596e2de2404f94471f789496f
  • Loading branch information
voddle committed Mar 29, 2023
1 parent a95d3de commit 88c88b7
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 20 deletions.
Expand Up @@ -272,7 +272,8 @@ private void runInternal() throws IOException, AlluxioException {
break;
}
localCounter = mContext.getOperationCounter(0).getAndIncrement();
if (mParameters.mOperation == Operation.CREATE_TREE && localCounter >= mTreeTotalCount) {
if (mParameters.mOperation == Operation.CREATE_TREE
&& localCounter >= mTreeTotalNodeCount) {
break;
}
if (mParameters.mOperation == Operation.LOAD_METADATA
Expand Down
Expand Up @@ -16,6 +16,7 @@
import alluxio.client.file.FileOutStream;
import alluxio.client.file.URIStatus;
import alluxio.exception.AlluxioException;
import alluxio.exception.FileAlreadyExistsException;
import alluxio.exception.UnexpectedAlluxioException;
import alluxio.grpc.Bits;
import alluxio.grpc.CreateDirectoryPOptions;
Expand Down Expand Up @@ -79,9 +80,9 @@ public abstract class StressMasterBenchBase
protected final String mFixedDir = "fixed";

// vars for createTestTree
protected int[] mPathRecord;
protected int[] mTreeLevelQuant;
protected int mTreeTotalCount;
protected int[] mPathNodeIds;
protected int[] mTreeLevelNodeCount;
protected int mTreeTotalNodeCount;

/**
* Creates instance.
Expand Down Expand Up @@ -242,13 +243,14 @@ protected final class BenchContext {
mBasePaths = new Path[operations.length];
mFixedBasePaths = new Path[operations.length];

mPathRecord = new int[mParameters.mTreeDepth];
mTreeLevelQuant = new int[mParameters.mTreeDepth];
mTreeLevelQuant[mParameters.mTreeDepth - 1] = mParameters.mTreeWidth;
for (int i = mTreeLevelQuant.length - 2; i >= 0; i--) {
mTreeLevelQuant[i] = mTreeLevelQuant[i + 1] * mParameters.mTreeWidth;
mPathNodeIds = new int[mParameters.mTreeDepth];
mTreeLevelNodeCount = new int[mParameters.mTreeDepth];
mTreeLevelNodeCount[mParameters.mTreeDepth - 1] = mParameters.mTreeWidth;
for (int levelCount = mTreeLevelNodeCount.length - 2; levelCount >= 0; levelCount--) {
mTreeLevelNodeCount[levelCount] =
mTreeLevelNodeCount[levelCount + 1] * mParameters.mTreeWidth;
}
mTreeTotalCount = mTreeLevelQuant[0] * mParameters.mTreeThreads;
mTreeTotalNodeCount = mTreeLevelNodeCount[0] * mParameters.mTreeThreads;

for (int i = 0; i < operations.length; i++) {
mOperationCounters[i] = new AtomicLong();
Expand Down Expand Up @@ -486,17 +488,22 @@ protected void applyNativeOperation(
.setLoadMetadataOnly(true).build());
break;
case CREATE_TREE:
String p = "";
int redundent = (int) counter;
for (int i = 0; i < mParameters.mTreeWidth; i++) {
mPathRecord[i] = redundent / mTreeLevelQuant[i];
redundent = redundent % mTreeLevelQuant[i];
p += "/";
p += mPathRecord[i];
String nodePath = "";
int nodeNumber = (int) counter;
for (int levelCount = 0; levelCount < mParameters.mTreeDepth; levelCount++) {
mPathNodeIds[levelCount] = nodeNumber / mTreeLevelNodeCount[levelCount];
nodeNumber = nodeNumber % mTreeLevelNodeCount[levelCount];
nodePath += "/";
nodePath += mPathNodeIds[levelCount];
}
for (int i = 0; i < mParameters.mTreeFiles; i++) {
fs.createFile(new AlluxioURI((basePath + p + "/" + redundent + "/" + i + ".txt")),
CreateFilePOptions.newBuilder().setRecursive(true).build()).close();
for (int fileNumber = 0; fileNumber < mParameters.mTreeFiles; fileNumber++) {
try {
fs.createFile(new AlluxioURI((basePath + nodePath + "/"
+ nodeNumber + "/" + fileNumber + ".txt")),
CreateFilePOptions.newBuilder().setRecursive(true).build()).close();
} catch (FileAlreadyExistsException e) {
break;
}
}
break;
default:
Expand Down

0 comments on commit 88c88b7

Please sign in to comment.