Skip to content

Commit 45d0640

Browse files
author
Nathan Marz
committed
give absolute piddir to subprocesses (so that relative paths can be used for storm local dir)
1 parent 21f82a3 commit 45d0640

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/jvm/backtype/storm/task/TopologyContext.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
11
package backtype.storm.task;
22

3-
import backtype.storm.Config;
4-
import backtype.storm.generated.ComponentCommon;
53
import backtype.storm.generated.GlobalStreamId;
64
import backtype.storm.generated.Grouping;
75
import backtype.storm.generated.StormTopology;
8-
import backtype.storm.generated.StreamInfo;
96
import backtype.storm.hooks.ITaskHook;
107
import backtype.storm.state.ISubscribedState;
118
import backtype.storm.tuple.Fields;
12-
import backtype.storm.utils.ThriftTopologyUtils;
139
import backtype.storm.utils.Utils;
10+
import java.io.File;
11+
import java.io.IOException;
1412
import java.util.ArrayList;
1513
import java.util.Collection;
1614
import java.util.Collections;
17-
import java.util.HashMap;
1815
import java.util.List;
1916
import java.util.Map;
2017
import java.util.Set;
2118
import org.apache.commons.lang.NotImplementedException;
22-
import org.json.simple.JSONValue;
2319

2420
/**
2521
* A TopologyContext is given to bolts and spouts in their "prepare" and "open"
@@ -45,7 +41,11 @@ public TopologyContext(StormTopology topology, Map stormConf,
4541
super(topology, stormConf, taskToComponent, stormId);
4642
_workerPort = workerPort;
4743
_taskId = taskId;
48-
_pidDir = pidDir;
44+
try {
45+
_pidDir = new File(pidDir).getCanonicalPath();
46+
} catch (IOException e) {
47+
throw new RuntimeException("Could not get canonical path for " + _pidDir, e);
48+
}
4949
_codeDir = codeDir;
5050
_workerTasks = new ArrayList<Integer>(workerTasks);
5151
Collections.sort(_workerTasks);

0 commit comments

Comments
 (0)